diff --git a/.mapping.json b/.mapping.json old mode 100644 new mode 100755 index 8b4e536..91d697d --- a/.mapping.json +++ b/.mapping.json @@ -1 +1 @@ -{"source/main.ptx": ["my-great-book"], "source/frontmatter.ptx": ["frontmatter", "front-colophon"], "source/ch-Probability.ptx": ["ch-Probability", "sec-Set-Theory", "sec-Probability", "sec-Conditional-Probability", "sec-Independent-Events"], "source/ch-Random-Variables.ptx": ["ch-Random-Variables", "sec-Discrete-RVs", "sec-Continuous-RVs"], "source/ch-Expected-Value.ptx": ["ch-Expected-Value", "sec-Expected-Value", "sec-Variance", "sec-Covariance"], "source/ch-Confidence-Intervals.ptx": ["ch-Confidence-Intervals", "sec-CLT", "sec-Confidence-Intervals"], "source/ch-Hypothesis-Testing.ptx": ["ch-Hypothesis-Testing", "sec-One-Sample-Tests", "sec-Two-Sample-Tests", "sec-Power", "sec-Chi-Squared"], "source/ch-Linear-Regression.ptx": ["ch-Linear-Regression", "sec-Correlation", "sec-Linear-Regression"], "source/backmatter.ptx": ["backmatter"]} \ No newline at end of file +{"source/main.ptx": ["my-great-book"], "source/frontmatter.ptx": ["frontmatter", "front-colophon"], "source/ch-Introduction.ptx": ["ch-Introduction", "sec-Introduction"], "source/ch-Probability.ptx": ["ch-Probability", "sec-Set-Theory", "sec-Probability", "sec-Conditional-Probability", "sec-Independent-Events"], "source/ch-Random-Variables.ptx": ["ch-Random-Variables", "sec-Discrete-RVs", "sec-Continuous-RVs", "sec-Joint-Distributions"], "source/ch-Expected-Value.ptx": ["ch-Expected-Value", "sec-Expected-Value", "sec-Variance", "sec-Covariance"], "source/ch-Confidence-Intervals.ptx": ["ch-Confidence-Intervals", "sec-CLT", "sec-Confidence-Intervals"], "source/ch-Hypothesis-Testing.ptx": ["ch-Hypothesis-Testing", "sec-One-Sample-Tests", "sec-Two-Sample-Tests", "sec-Power", "sec-Chi-Squared"], "source/ch-Linear-Regression.ptx": ["ch-Linear-Regression", "sec-Correlation", "sec-Linear-Regression"], "source/backmatter.ptx": ["backmatter"]} \ No newline at end of file diff --git a/_static/._009b407a9881be10.ttf b/_static/._009b407a9881be10.ttf old mode 100644 new mode 100755 diff --git a/_static/._009b407a9881be10.ttf.gz b/_static/._009b407a9881be10.ttf.gz old mode 100644 new mode 100755 diff --git a/_static/._126.a976f62852f30b51.js b/_static/._126.a976f62852f30b51.js old mode 100644 new mode 100755 diff --git a/_static/._126.a976f62852f30b51.js.gz b/_static/._126.a976f62852f30b51.js.gz old mode 100644 new mode 100755 diff --git a/_static/._126.a976f62852f30b51.js.map b/_static/._126.a976f62852f30b51.js.map old mode 100644 new mode 100755 diff --git a/_static/._126.a976f62852f30b51.js.map.gz b/_static/._126.a976f62852f30b51.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/._128.5bed857c54ac4e8b.js b/_static/._128.5bed857c54ac4e8b.js old mode 100644 new mode 100755 diff --git a/_static/._128.5bed857c54ac4e8b.js.gz b/_static/._128.5bed857c54ac4e8b.js.gz old mode 100644 new mode 100755 diff --git a/_static/._128.5bed857c54ac4e8b.js.map b/_static/._128.5bed857c54ac4e8b.js.map old mode 100644 new mode 100755 diff --git a/_static/._128.5bed857c54ac4e8b.js.map.gz b/_static/._128.5bed857c54ac4e8b.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/._131.ee437eeefadd750d.js b/_static/._131.ee437eeefadd750d.js old mode 100644 new mode 100755 diff --git a/_static/._131.ee437eeefadd750d.js.gz b/_static/._131.ee437eeefadd750d.js.gz old mode 100644 new mode 100755 diff --git a/_static/._131.ee437eeefadd750d.js.map b/_static/._131.ee437eeefadd750d.js.map old mode 100644 new mode 100755 diff --git a/_static/._131.ee437eeefadd750d.js.map.gz b/_static/._131.ee437eeefadd750d.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/._168.fe63e6dec2d06468.js b/_static/._168.fe63e6dec2d06468.js old mode 100644 new mode 100755 diff --git a/_static/._168.fe63e6dec2d06468.js.gz b/_static/._168.fe63e6dec2d06468.js.gz old mode 100644 new mode 100755 diff --git a/_static/._168.fe63e6dec2d06468.js.map b/_static/._168.fe63e6dec2d06468.js.map old mode 100644 new mode 100755 diff --git a/_static/._168.fe63e6dec2d06468.js.map.gz b/_static/._168.fe63e6dec2d06468.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/._186.be52164d57f4b7e4.js b/_static/._186.be52164d57f4b7e4.js old mode 100644 new mode 100755 diff --git a/_static/._186.be52164d57f4b7e4.js.gz b/_static/._186.be52164d57f4b7e4.js.gz old mode 100644 new mode 100755 diff --git a/_static/._186.be52164d57f4b7e4.js.map b/_static/._186.be52164d57f4b7e4.js.map old mode 100644 new mode 100755 diff --git a/_static/._186.be52164d57f4b7e4.js.map.gz b/_static/._186.be52164d57f4b7e4.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/._249.7ec032cf0b3ede9a.js b/_static/._249.7ec032cf0b3ede9a.js old mode 100644 new mode 100755 diff --git a/_static/._249.7ec032cf0b3ede9a.js.LICENSE.txt b/_static/._249.7ec032cf0b3ede9a.js.LICENSE.txt old mode 100644 new mode 100755 diff --git a/_static/._249.7ec032cf0b3ede9a.js.LICENSE.txt.gz b/_static/._249.7ec032cf0b3ede9a.js.LICENSE.txt.gz old mode 100644 new mode 100755 diff --git a/_static/._249.7ec032cf0b3ede9a.js.gz b/_static/._249.7ec032cf0b3ede9a.js.gz old mode 100644 new mode 100755 diff --git a/_static/._249.7ec032cf0b3ede9a.js.map b/_static/._249.7ec032cf0b3ede9a.js.map old mode 100644 new mode 100755 diff --git a/_static/._249.7ec032cf0b3ede9a.js.map.gz b/_static/._249.7ec032cf0b3ede9a.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/._115.648ff4b5650f4c7c.js b/_static/._268.0659406f2c053718.js old mode 100644 new mode 100755 similarity index 100% rename from _static/._115.648ff4b5650f4c7c.js rename to _static/._268.0659406f2c053718.js diff --git a/_static/._115.648ff4b5650f4c7c.js.gz b/_static/._268.0659406f2c053718.js.gz old mode 100644 new mode 100755 similarity index 100% rename from _static/._115.648ff4b5650f4c7c.js.gz rename to _static/._268.0659406f2c053718.js.gz diff --git a/_static/._115.648ff4b5650f4c7c.js.map b/_static/._268.0659406f2c053718.js.map old mode 100644 new mode 100755 similarity index 100% rename from _static/._115.648ff4b5650f4c7c.js.map rename to _static/._268.0659406f2c053718.js.map diff --git a/_static/._115.648ff4b5650f4c7c.js.map.gz b/_static/._268.0659406f2c053718.js.map.gz old mode 100644 new mode 100755 similarity index 100% rename from _static/._115.648ff4b5650f4c7c.js.map.gz rename to _static/._268.0659406f2c053718.js.map.gz diff --git a/_static/._28.bb005543f41af5fb.js b/_static/._28.bb005543f41af5fb.js old mode 100644 new mode 100755 diff --git a/_static/._28.bb005543f41af5fb.js.LICENSE.txt b/_static/._28.bb005543f41af5fb.js.LICENSE.txt old mode 100644 new mode 100755 diff --git a/_static/._28.bb005543f41af5fb.js.gz b/_static/._28.bb005543f41af5fb.js.gz old mode 100644 new mode 100755 diff --git a/_static/._28.bb005543f41af5fb.js.map b/_static/._28.bb005543f41af5fb.js.map old mode 100644 new mode 100755 diff --git a/_static/._28.bb005543f41af5fb.js.map.gz b/_static/._28.bb005543f41af5fb.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/._296.37eb8c05642d8ef9.js b/_static/._296.37eb8c05642d8ef9.js old mode 100644 new mode 100755 diff --git a/_static/._296.37eb8c05642d8ef9.js.gz b/_static/._296.37eb8c05642d8ef9.js.gz old mode 100644 new mode 100755 diff --git a/_static/._296.37eb8c05642d8ef9.js.map b/_static/._296.37eb8c05642d8ef9.js.map old mode 100644 new mode 100755 diff --git a/_static/._296.37eb8c05642d8ef9.js.map.gz b/_static/._296.37eb8c05642d8ef9.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/._340.c525bd899366c5f9.js b/_static/._340.c525bd899366c5f9.js old mode 100644 new mode 100755 diff --git a/_static/._340.c525bd899366c5f9.js.gz b/_static/._340.c525bd899366c5f9.js.gz old mode 100644 new mode 100755 diff --git a/_static/._340.c525bd899366c5f9.js.map b/_static/._340.c525bd899366c5f9.js.map old mode 100644 new mode 100755 diff --git a/_static/._340.c525bd899366c5f9.js.map.gz b/_static/._340.c525bd899366c5f9.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/._357.a6fa55aea0c38a63.js b/_static/._357.a6fa55aea0c38a63.js old mode 100644 new mode 100755 diff --git a/_static/._357.a6fa55aea0c38a63.js.LICENSE.txt b/_static/._357.a6fa55aea0c38a63.js.LICENSE.txt old mode 100644 new mode 100755 diff --git a/_static/._357.a6fa55aea0c38a63.js.LICENSE.txt.gz b/_static/._357.a6fa55aea0c38a63.js.LICENSE.txt.gz old mode 100644 new mode 100755 diff --git a/_static/._357.a6fa55aea0c38a63.js.gz b/_static/._357.a6fa55aea0c38a63.js.gz old mode 100644 new mode 100755 diff --git a/_static/._357.a6fa55aea0c38a63.js.map b/_static/._357.a6fa55aea0c38a63.js.map old mode 100644 new mode 100755 diff --git a/_static/._357.a6fa55aea0c38a63.js.map.gz b/_static/._357.a6fa55aea0c38a63.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/._39.dc45aaf5abca8027.js b/_static/._39.dc45aaf5abca8027.js old mode 100644 new mode 100755 diff --git a/_static/._39.dc45aaf5abca8027.js.LICENSE.txt b/_static/._39.dc45aaf5abca8027.js.LICENSE.txt old mode 100644 new mode 100755 diff --git a/_static/._39.dc45aaf5abca8027.js.gz b/_static/._39.dc45aaf5abca8027.js.gz old mode 100644 new mode 100755 diff --git a/_static/._39.dc45aaf5abca8027.js.map b/_static/._39.dc45aaf5abca8027.js.map old mode 100644 new mode 100755 diff --git a/_static/._39.dc45aaf5abca8027.js.map.gz b/_static/._39.dc45aaf5abca8027.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/._412.5965503d81003593.js b/_static/._412.5965503d81003593.js old mode 100644 new mode 100755 diff --git a/_static/._412.5965503d81003593.js.gz b/_static/._412.5965503d81003593.js.gz old mode 100644 new mode 100755 diff --git a/_static/._412.5965503d81003593.js.map b/_static/._412.5965503d81003593.js.map old mode 100644 new mode 100755 diff --git a/_static/._412.5965503d81003593.js.map.gz b/_static/._412.5965503d81003593.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/._420.8dae5ad08a4e52ad.js b/_static/._420.8dae5ad08a4e52ad.js old mode 100644 new mode 100755 diff --git a/_static/._420.8dae5ad08a4e52ad.js.LICENSE.txt b/_static/._420.8dae5ad08a4e52ad.js.LICENSE.txt old mode 100644 new mode 100755 diff --git a/_static/._420.8dae5ad08a4e52ad.js.gz b/_static/._420.8dae5ad08a4e52ad.js.gz old mode 100644 new mode 100755 diff --git a/_static/._420.8dae5ad08a4e52ad.js.map b/_static/._420.8dae5ad08a4e52ad.js.map old mode 100644 new mode 100755 diff --git a/_static/._420.8dae5ad08a4e52ad.js.map.gz b/_static/._420.8dae5ad08a4e52ad.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/._442.f48919e396acaa18.js b/_static/._442.f48919e396acaa18.js old mode 100644 new mode 100755 diff --git a/_static/._442.f48919e396acaa18.js.gz b/_static/._442.f48919e396acaa18.js.gz old mode 100644 new mode 100755 diff --git a/_static/._442.f48919e396acaa18.js.map b/_static/._442.f48919e396acaa18.js.map old mode 100644 new mode 100755 diff --git a/_static/._442.f48919e396acaa18.js.map.gz b/_static/._442.f48919e396acaa18.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/._460.bae9001422d7a484.js b/_static/._460.bae9001422d7a484.js old mode 100644 new mode 100755 diff --git a/_static/._460.bae9001422d7a484.js.gz b/_static/._460.bae9001422d7a484.js.gz old mode 100644 new mode 100755 diff --git a/_static/._460.bae9001422d7a484.js.map b/_static/._460.bae9001422d7a484.js.map old mode 100644 new mode 100755 diff --git a/_static/._460.bae9001422d7a484.js.map.gz b/_static/._460.bae9001422d7a484.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/._466.4e1a3fb09520281a.js b/_static/._466.4e1a3fb09520281a.js old mode 100644 new mode 100755 diff --git a/_static/._466.4e1a3fb09520281a.js.gz b/_static/._466.4e1a3fb09520281a.js.gz old mode 100644 new mode 100755 diff --git a/_static/._466.4e1a3fb09520281a.js.map b/_static/._466.4e1a3fb09520281a.js.map old mode 100644 new mode 100755 diff --git a/_static/._466.4e1a3fb09520281a.js.map.gz b/_static/._466.4e1a3fb09520281a.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/._486.78d96ffc5c65634b.js b/_static/._486.78d96ffc5c65634b.js old mode 100644 new mode 100755 diff --git a/_static/._486.78d96ffc5c65634b.js.gz b/_static/._486.78d96ffc5c65634b.js.gz old mode 100644 new mode 100755 diff --git a/_static/._486.78d96ffc5c65634b.js.map b/_static/._486.78d96ffc5c65634b.js.map old mode 100644 new mode 100755 diff --git a/_static/._486.78d96ffc5c65634b.js.map.gz b/_static/._486.78d96ffc5c65634b.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/._4ba85deaf3670942.woff b/_static/._4ba85deaf3670942.woff old mode 100644 new mode 100755 diff --git a/_static/._529.115400ffea03835d.js b/_static/._529.115400ffea03835d.js old mode 100644 new mode 100755 diff --git a/_static/._529.115400ffea03835d.js.gz b/_static/._529.115400ffea03835d.js.gz old mode 100644 new mode 100755 diff --git a/_static/._529.115400ffea03835d.js.map b/_static/._529.115400ffea03835d.js.map old mode 100644 new mode 100755 diff --git a/_static/._529.115400ffea03835d.js.map.gz b/_static/._529.115400ffea03835d.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/._566.0e38ac5442cc38c2.js b/_static/._566.0e38ac5442cc38c2.js old mode 100644 new mode 100755 diff --git a/_static/._566.0e38ac5442cc38c2.js.gz b/_static/._566.0e38ac5442cc38c2.js.gz old mode 100644 new mode 100755 diff --git a/_static/._566.0e38ac5442cc38c2.js.map b/_static/._566.0e38ac5442cc38c2.js.map old mode 100644 new mode 100755 diff --git a/_static/._566.0e38ac5442cc38c2.js.map.gz b/_static/._566.0e38ac5442cc38c2.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/._576.f923ab1e9910a1be.js b/_static/._576.f923ab1e9910a1be.js old mode 100644 new mode 100755 diff --git a/_static/._576.f923ab1e9910a1be.js.gz b/_static/._576.f923ab1e9910a1be.js.gz old mode 100644 new mode 100755 diff --git a/_static/._576.f923ab1e9910a1be.js.map b/_static/._576.f923ab1e9910a1be.js.map old mode 100644 new mode 100755 diff --git a/_static/._576.f923ab1e9910a1be.js.map.gz b/_static/._576.f923ab1e9910a1be.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/._580.f387819ad2e14f0a.js b/_static/._580.f387819ad2e14f0a.js old mode 100644 new mode 100755 diff --git a/_static/._580.f387819ad2e14f0a.js.gz b/_static/._580.f387819ad2e14f0a.js.gz old mode 100644 new mode 100755 diff --git a/_static/._580.f387819ad2e14f0a.js.map b/_static/._580.f387819ad2e14f0a.js.map old mode 100644 new mode 100755 diff --git a/_static/._580.f387819ad2e14f0a.js.map.gz b/_static/._580.f387819ad2e14f0a.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/._616.89f80a32caf41aef.js b/_static/._616.89f80a32caf41aef.js old mode 100644 new mode 100755 diff --git a/_static/._616.89f80a32caf41aef.js.gz b/_static/._616.89f80a32caf41aef.js.gz old mode 100644 new mode 100755 diff --git a/_static/._616.89f80a32caf41aef.js.map b/_static/._616.89f80a32caf41aef.js.map old mode 100644 new mode 100755 diff --git a/_static/._616.89f80a32caf41aef.js.map.gz b/_static/._616.89f80a32caf41aef.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/._625.120987bdd5293ae3.js b/_static/._625.120987bdd5293ae3.js old mode 100644 new mode 100755 diff --git a/_static/._625.120987bdd5293ae3.js.LICENSE.txt b/_static/._625.120987bdd5293ae3.js.LICENSE.txt old mode 100644 new mode 100755 diff --git a/_static/._625.120987bdd5293ae3.js.LICENSE.txt.gz b/_static/._625.120987bdd5293ae3.js.LICENSE.txt.gz old mode 100644 new mode 100755 diff --git a/_static/._625.120987bdd5293ae3.js.gz b/_static/._625.120987bdd5293ae3.js.gz old mode 100644 new mode 100755 diff --git a/_static/._625.120987bdd5293ae3.js.map b/_static/._625.120987bdd5293ae3.js.map old mode 100644 new mode 100755 diff --git a/_static/._625.120987bdd5293ae3.js.map.gz b/_static/._625.120987bdd5293ae3.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/._640.cbc8d3a34deb8837.js b/_static/._640.cbc8d3a34deb8837.js old mode 100644 new mode 100755 diff --git a/_static/._640.cbc8d3a34deb8837.js.map b/_static/._640.cbc8d3a34deb8837.js.map old mode 100644 new mode 100755 diff --git a/_static/._640.cbc8d3a34deb8837.js.map.gz b/_static/._640.cbc8d3a34deb8837.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/._662.1bb5065279414751.js b/_static/._662.1bb5065279414751.js old mode 100644 new mode 100755 diff --git a/_static/._662.1bb5065279414751.js.gz b/_static/._662.1bb5065279414751.js.gz old mode 100644 new mode 100755 diff --git a/_static/._662.1bb5065279414751.js.map b/_static/._662.1bb5065279414751.js.map old mode 100644 new mode 100755 diff --git a/_static/._662.1bb5065279414751.js.map.gz b/_static/._662.1bb5065279414751.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/._669.05a3639d12541567.js b/_static/._669.05a3639d12541567.js old mode 100644 new mode 100755 diff --git a/_static/._669.05a3639d12541567.js.LICENSE.txt b/_static/._669.05a3639d12541567.js.LICENSE.txt old mode 100644 new mode 100755 diff --git a/_static/._669.05a3639d12541567.js.gz b/_static/._669.05a3639d12541567.js.gz old mode 100644 new mode 100755 diff --git a/_static/._669.05a3639d12541567.js.map b/_static/._669.05a3639d12541567.js.map old mode 100644 new mode 100755 diff --git a/_static/._669.05a3639d12541567.js.map.gz b/_static/._669.05a3639d12541567.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/._680.ec85c3ce31480628.js b/_static/._680.ec85c3ce31480628.js old mode 100644 new mode 100755 diff --git a/_static/._680.ec85c3ce31480628.js.gz b/_static/._680.ec85c3ce31480628.js.gz old mode 100644 new mode 100755 diff --git a/_static/._680.ec85c3ce31480628.js.map b/_static/._680.ec85c3ce31480628.js.map old mode 100644 new mode 100755 diff --git a/_static/._680.ec85c3ce31480628.js.map.gz b/_static/._680.ec85c3ce31480628.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/._759.f27ff66e7ad33076.js b/_static/._759.f27ff66e7ad33076.js old mode 100644 new mode 100755 diff --git a/_static/._759.f27ff66e7ad33076.js.gz b/_static/._759.f27ff66e7ad33076.js.gz old mode 100644 new mode 100755 diff --git a/_static/._759.f27ff66e7ad33076.js.map b/_static/._759.f27ff66e7ad33076.js.map old mode 100644 new mode 100755 diff --git a/_static/._759.f27ff66e7ad33076.js.map.gz b/_static/._759.f27ff66e7ad33076.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/._764.c33a81cafe63d2b6.js b/_static/._764.c33a81cafe63d2b6.js old mode 100644 new mode 100755 diff --git a/_static/._764.c33a81cafe63d2b6.js.LICENSE.txt b/_static/._764.c33a81cafe63d2b6.js.LICENSE.txt old mode 100644 new mode 100755 diff --git a/_static/._764.c33a81cafe63d2b6.js.LICENSE.txt.gz b/_static/._764.c33a81cafe63d2b6.js.LICENSE.txt.gz old mode 100644 new mode 100755 diff --git a/_static/._764.c33a81cafe63d2b6.js.gz b/_static/._764.c33a81cafe63d2b6.js.gz old mode 100644 new mode 100755 diff --git a/_static/._764.c33a81cafe63d2b6.js.map b/_static/._764.c33a81cafe63d2b6.js.map old mode 100644 new mode 100755 diff --git a/_static/._764.c33a81cafe63d2b6.js.map.gz b/_static/._764.c33a81cafe63d2b6.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/._770.7bd6d39128dde910.js b/_static/._770.7bd6d39128dde910.js old mode 100644 new mode 100755 diff --git a/_static/._770.7bd6d39128dde910.js.LICENSE.txt b/_static/._770.7bd6d39128dde910.js.LICENSE.txt old mode 100644 new mode 100755 diff --git a/_static/._770.7bd6d39128dde910.js.LICENSE.txt.gz b/_static/._770.7bd6d39128dde910.js.LICENSE.txt.gz old mode 100644 new mode 100755 diff --git a/_static/._770.7bd6d39128dde910.js.gz b/_static/._770.7bd6d39128dde910.js.gz old mode 100644 new mode 100755 diff --git a/_static/._770.7bd6d39128dde910.js.map b/_static/._770.7bd6d39128dde910.js.map old mode 100644 new mode 100755 diff --git a/_static/._770.7bd6d39128dde910.js.map.gz b/_static/._770.7bd6d39128dde910.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/._7a0f4b092e86cb52.eot b/_static/._7a0f4b092e86cb52.eot old mode 100644 new mode 100755 diff --git a/_static/._817.3438cd0f1b0f98bc.js b/_static/._817.3438cd0f1b0f98bc.js old mode 100644 new mode 100755 diff --git a/_static/._817.3438cd0f1b0f98bc.js.gz b/_static/._817.3438cd0f1b0f98bc.js.gz old mode 100644 new mode 100755 diff --git a/_static/._817.3438cd0f1b0f98bc.js.map b/_static/._817.3438cd0f1b0f98bc.js.map old mode 100644 new mode 100755 diff --git a/_static/._817.3438cd0f1b0f98bc.js.map.gz b/_static/._817.3438cd0f1b0f98bc.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/._819.3e20e27de12f3abf.js b/_static/._819.fa7785b520e523a5.js old mode 100644 new mode 100755 similarity index 100% rename from _static/._819.3e20e27de12f3abf.js rename to _static/._819.fa7785b520e523a5.js diff --git a/_static/._819.3e20e27de12f3abf.js.gz b/_static/._819.fa7785b520e523a5.js.gz old mode 100644 new mode 100755 similarity index 100% rename from _static/._819.3e20e27de12f3abf.js.gz rename to _static/._819.fa7785b520e523a5.js.gz diff --git a/_static/._819.3e20e27de12f3abf.js.map b/_static/._819.fa7785b520e523a5.js.map old mode 100644 new mode 100755 similarity index 100% rename from _static/._819.3e20e27de12f3abf.js.map rename to _static/._819.fa7785b520e523a5.js.map diff --git a/_static/._819.3e20e27de12f3abf.js.map.gz b/_static/._819.fa7785b520e523a5.js.map.gz old mode 100644 new mode 100755 similarity index 100% rename from _static/._819.3e20e27de12f3abf.js.map.gz rename to _static/._819.fa7785b520e523a5.js.map.gz diff --git a/_static/._824.4343b78afc34c12f.js b/_static/._824.4343b78afc34c12f.js old mode 100644 new mode 100755 diff --git a/_static/._824.4343b78afc34c12f.js.gz b/_static/._824.4343b78afc34c12f.js.gz old mode 100644 new mode 100755 diff --git a/_static/._824.4343b78afc34c12f.js.map b/_static/._824.4343b78afc34c12f.js.map old mode 100644 new mode 100755 diff --git a/_static/._824.4343b78afc34c12f.js.map.gz b/_static/._824.4343b78afc34c12f.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/._85f0466cb4ab3a4d.svg b/_static/._85f0466cb4ab3a4d.svg old mode 100644 new mode 100755 diff --git a/_static/._85f0466cb4ab3a4d.svg.gz b/_static/._85f0466cb4ab3a4d.svg.gz old mode 100644 new mode 100755 diff --git a/_static/._877.fc49cc812ccc4937.js b/_static/._877.fc49cc812ccc4937.js old mode 100644 new mode 100755 diff --git a/_static/._877.fc49cc812ccc4937.js.gz b/_static/._877.fc49cc812ccc4937.js.gz old mode 100644 new mode 100755 diff --git a/_static/._877.fc49cc812ccc4937.js.map b/_static/._877.fc49cc812ccc4937.js.map old mode 100644 new mode 100755 diff --git a/_static/._877.fc49cc812ccc4937.js.map.gz b/_static/._877.fc49cc812ccc4937.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/._915.8f500bccc86f901d.js b/_static/._915.8f500bccc86f901d.js old mode 100644 new mode 100755 diff --git a/_static/._915.8f500bccc86f901d.js.gz b/_static/._915.8f500bccc86f901d.js.gz old mode 100644 new mode 100755 diff --git a/_static/._915.8f500bccc86f901d.js.map b/_static/._915.8f500bccc86f901d.js.map old mode 100644 new mode 100755 diff --git a/_static/._915.8f500bccc86f901d.js.map.gz b/_static/._915.8f500bccc86f901d.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/._919.237aced0c044e4b6.js b/_static/._919.237aced0c044e4b6.js old mode 100644 new mode 100755 diff --git a/_static/._919.237aced0c044e4b6.js.gz b/_static/._919.237aced0c044e4b6.js.gz old mode 100644 new mode 100755 diff --git a/_static/._919.237aced0c044e4b6.js.map b/_static/._919.237aced0c044e4b6.js.map old mode 100644 new mode 100755 diff --git a/_static/._919.237aced0c044e4b6.js.map.gz b/_static/._919.237aced0c044e4b6.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/._b70781972ce7320b.woff2 b/_static/._b70781972ce7320b.woff2 old mode 100644 new mode 100755 diff --git a/_static/._prefix-131.b184379d0dc5871b.css b/_static/._prefix-131.b184379d0dc5871b.css old mode 100644 new mode 100755 diff --git a/_static/._prefix-131.b184379d0dc5871b.css.gz b/_static/._prefix-131.b184379d0dc5871b.css.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-131.b184379d0dc5871b.css.map b/_static/._prefix-131.b184379d0dc5871b.css.map old mode 100644 new mode 100755 diff --git a/_static/._prefix-131.b184379d0dc5871b.css.map.gz b/_static/._prefix-131.b184379d0dc5871b.css.map.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-168.1c4deaed00ca1f5e.css b/_static/._prefix-168.1c4deaed00ca1f5e.css old mode 100644 new mode 100755 diff --git a/_static/._prefix-168.1c4deaed00ca1f5e.css.gz b/_static/._prefix-168.1c4deaed00ca1f5e.css.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-168.1c4deaed00ca1f5e.css.map b/_static/._prefix-168.1c4deaed00ca1f5e.css.map old mode 100644 new mode 100755 diff --git a/_static/._prefix-168.1c4deaed00ca1f5e.css.map.gz b/_static/._prefix-168.1c4deaed00ca1f5e.css.map.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-186.0d47de180767fda9.css b/_static/._prefix-186.0d47de180767fda9.css old mode 100644 new mode 100755 diff --git a/_static/._prefix-186.0d47de180767fda9.css.map b/_static/._prefix-186.0d47de180767fda9.css.map old mode 100644 new mode 100755 diff --git a/_static/._prefix-186.0d47de180767fda9.css.map.gz b/_static/._prefix-186.0d47de180767fda9.css.map.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-198.86b6b2a70a576922.css b/_static/._prefix-198.86b6b2a70a576922.css old mode 100644 new mode 100755 diff --git a/_static/._prefix-198.86b6b2a70a576922.css.gz b/_static/._prefix-198.86b6b2a70a576922.css.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-198.86b6b2a70a576922.css.map b/_static/._prefix-198.86b6b2a70a576922.css.map old mode 100644 new mode 100755 diff --git a/_static/._prefix-198.86b6b2a70a576922.css.map.gz b/_static/._prefix-198.86b6b2a70a576922.css.map.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-249.6ca19da539a8ed1a.css b/_static/._prefix-249.6ca19da539a8ed1a.css old mode 100644 new mode 100755 diff --git a/_static/._prefix-249.6ca19da539a8ed1a.css.gz b/_static/._prefix-249.6ca19da539a8ed1a.css.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-249.6ca19da539a8ed1a.css.map b/_static/._prefix-249.6ca19da539a8ed1a.css.map old mode 100644 new mode 100755 diff --git a/_static/._prefix-249.6ca19da539a8ed1a.css.map.gz b/_static/._prefix-249.6ca19da539a8ed1a.css.map.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-115.83df5da0966564d5.css b/_static/._prefix-268.c9e33e1350d18af9.css old mode 100644 new mode 100755 similarity index 100% rename from _static/._prefix-115.83df5da0966564d5.css rename to _static/._prefix-268.c9e33e1350d18af9.css diff --git a/_static/._prefix-115.83df5da0966564d5.css.gz b/_static/._prefix-268.c9e33e1350d18af9.css.gz old mode 100644 new mode 100755 similarity index 100% rename from _static/._prefix-115.83df5da0966564d5.css.gz rename to _static/._prefix-268.c9e33e1350d18af9.css.gz diff --git a/_static/._prefix-115.83df5da0966564d5.css.map b/_static/._prefix-268.c9e33e1350d18af9.css.map old mode 100644 new mode 100755 similarity index 100% rename from _static/._prefix-115.83df5da0966564d5.css.map rename to _static/._prefix-268.c9e33e1350d18af9.css.map diff --git a/_static/._prefix-115.83df5da0966564d5.css.map.gz b/_static/._prefix-268.c9e33e1350d18af9.css.map.gz old mode 100644 new mode 100755 similarity index 100% rename from _static/._prefix-115.83df5da0966564d5.css.map.gz rename to _static/._prefix-268.c9e33e1350d18af9.css.map.gz diff --git a/_static/._prefix-294.986bf74bfa4ccbd4.css b/_static/._prefix-294.986bf74bfa4ccbd4.css old mode 100644 new mode 100755 diff --git a/_static/._prefix-294.986bf74bfa4ccbd4.css.gz b/_static/._prefix-294.986bf74bfa4ccbd4.css.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-294.986bf74bfa4ccbd4.css.map b/_static/._prefix-294.986bf74bfa4ccbd4.css.map old mode 100644 new mode 100755 diff --git a/_static/._prefix-294.986bf74bfa4ccbd4.css.map.gz b/_static/._prefix-294.986bf74bfa4ccbd4.css.map.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-350.dbca9271f6e2dfbf.css b/_static/._prefix-350.dbca9271f6e2dfbf.css old mode 100644 new mode 100755 diff --git a/_static/._prefix-350.dbca9271f6e2dfbf.css.gz b/_static/._prefix-350.dbca9271f6e2dfbf.css.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-350.dbca9271f6e2dfbf.css.map b/_static/._prefix-350.dbca9271f6e2dfbf.css.map old mode 100644 new mode 100755 diff --git a/_static/._prefix-350.dbca9271f6e2dfbf.css.map.gz b/_static/._prefix-350.dbca9271f6e2dfbf.css.map.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-380.67748940131a4a84.css b/_static/._prefix-380.67748940131a4a84.css old mode 100644 new mode 100755 diff --git a/_static/._prefix-380.67748940131a4a84.css.map b/_static/._prefix-380.67748940131a4a84.css.map old mode 100644 new mode 100755 diff --git a/_static/._prefix-380.67748940131a4a84.css.map.gz b/_static/._prefix-380.67748940131a4a84.css.map.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-39.89cf817b9a35aeca.css b/_static/._prefix-39.89cf817b9a35aeca.css old mode 100644 new mode 100755 diff --git a/_static/._prefix-39.89cf817b9a35aeca.css.gz b/_static/._prefix-39.89cf817b9a35aeca.css.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-39.89cf817b9a35aeca.css.map b/_static/._prefix-39.89cf817b9a35aeca.css.map old mode 100644 new mode 100755 diff --git a/_static/._prefix-39.89cf817b9a35aeca.css.map.gz b/_static/._prefix-39.89cf817b9a35aeca.css.map.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-412.25f3c4ff23eb9893.css b/_static/._prefix-412.25f3c4ff23eb9893.css old mode 100644 new mode 100755 diff --git a/_static/._prefix-412.25f3c4ff23eb9893.css.gz b/_static/._prefix-412.25f3c4ff23eb9893.css.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-412.25f3c4ff23eb9893.css.map b/_static/._prefix-412.25f3c4ff23eb9893.css.map old mode 100644 new mode 100755 diff --git a/_static/._prefix-412.25f3c4ff23eb9893.css.map.gz b/_static/._prefix-412.25f3c4ff23eb9893.css.map.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-442.6ae0ea584f8e75c5.css b/_static/._prefix-442.6ae0ea584f8e75c5.css old mode 100644 new mode 100755 diff --git a/_static/._prefix-442.6ae0ea584f8e75c5.css.gz b/_static/._prefix-442.6ae0ea584f8e75c5.css.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-442.6ae0ea584f8e75c5.css.map b/_static/._prefix-442.6ae0ea584f8e75c5.css.map old mode 100644 new mode 100755 diff --git a/_static/._prefix-442.6ae0ea584f8e75c5.css.map.gz b/_static/._prefix-442.6ae0ea584f8e75c5.css.map.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-460.7c0b70502d117f7d.css b/_static/._prefix-460.7c0b70502d117f7d.css old mode 100644 new mode 100755 diff --git a/_static/._prefix-460.7c0b70502d117f7d.css.map b/_static/._prefix-460.7c0b70502d117f7d.css.map old mode 100644 new mode 100755 diff --git a/_static/._prefix-486.990aca82e7ba3e1c.css b/_static/._prefix-486.990aca82e7ba3e1c.css old mode 100644 new mode 100755 diff --git a/_static/._prefix-486.990aca82e7ba3e1c.css.gz b/_static/._prefix-486.990aca82e7ba3e1c.css.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-486.990aca82e7ba3e1c.css.map b/_static/._prefix-486.990aca82e7ba3e1c.css.map old mode 100644 new mode 100755 diff --git a/_static/._prefix-486.990aca82e7ba3e1c.css.map.gz b/_static/._prefix-486.990aca82e7ba3e1c.css.map.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-576.9b1852878840651d.css b/_static/._prefix-576.9b1852878840651d.css old mode 100644 new mode 100755 diff --git a/_static/._prefix-576.9b1852878840651d.css.gz b/_static/._prefix-576.9b1852878840651d.css.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-576.9b1852878840651d.css.map b/_static/._prefix-576.9b1852878840651d.css.map old mode 100644 new mode 100755 diff --git a/_static/._prefix-576.9b1852878840651d.css.map.gz b/_static/._prefix-576.9b1852878840651d.css.map.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-580.22958d4327b0425a.css b/_static/._prefix-580.22958d4327b0425a.css old mode 100644 new mode 100755 diff --git a/_static/._prefix-580.22958d4327b0425a.css.gz b/_static/._prefix-580.22958d4327b0425a.css.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-580.22958d4327b0425a.css.map b/_static/._prefix-580.22958d4327b0425a.css.map old mode 100644 new mode 100755 diff --git a/_static/._prefix-580.22958d4327b0425a.css.map.gz b/_static/._prefix-580.22958d4327b0425a.css.map.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-616.5c78f604ddad1ec0.css b/_static/._prefix-616.5c78f604ddad1ec0.css old mode 100644 new mode 100755 diff --git a/_static/._prefix-616.5c78f604ddad1ec0.css.gz b/_static/._prefix-616.5c78f604ddad1ec0.css.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-616.5c78f604ddad1ec0.css.map b/_static/._prefix-616.5c78f604ddad1ec0.css.map old mode 100644 new mode 100755 diff --git a/_static/._prefix-616.5c78f604ddad1ec0.css.map.gz b/_static/._prefix-616.5c78f604ddad1ec0.css.map.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-621.8c109e297bdd8ce7.css b/_static/._prefix-621.8c109e297bdd8ce7.css old mode 100644 new mode 100755 diff --git a/_static/._prefix-621.8c109e297bdd8ce7.css.gz b/_static/._prefix-621.8c109e297bdd8ce7.css.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-621.8c109e297bdd8ce7.css.map b/_static/._prefix-621.8c109e297bdd8ce7.css.map old mode 100644 new mode 100755 diff --git a/_static/._prefix-621.8c109e297bdd8ce7.css.map.gz b/_static/._prefix-621.8c109e297bdd8ce7.css.map.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-723.3bccd435914aa0ff.css b/_static/._prefix-723.3bccd435914aa0ff.css old mode 100644 new mode 100755 diff --git a/_static/._prefix-723.3bccd435914aa0ff.css.gz b/_static/._prefix-723.3bccd435914aa0ff.css.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-723.3bccd435914aa0ff.css.map b/_static/._prefix-723.3bccd435914aa0ff.css.map old mode 100644 new mode 100755 diff --git a/_static/._prefix-723.3bccd435914aa0ff.css.map.gz b/_static/._prefix-723.3bccd435914aa0ff.css.map.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-723.3e6434f80549315a.bundle.js b/_static/._prefix-723.3e6434f80549315a.bundle.js old mode 100644 new mode 100755 diff --git a/_static/._prefix-723.3e6434f80549315a.bundle.js.LICENSE.txt b/_static/._prefix-723.3e6434f80549315a.bundle.js.LICENSE.txt old mode 100644 new mode 100755 diff --git a/_static/._prefix-723.3e6434f80549315a.bundle.js.LICENSE.txt.gz b/_static/._prefix-723.3e6434f80549315a.bundle.js.LICENSE.txt.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-723.3e6434f80549315a.bundle.js.gz b/_static/._prefix-723.3e6434f80549315a.bundle.js.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-723.3e6434f80549315a.bundle.js.map b/_static/._prefix-723.3e6434f80549315a.bundle.js.map old mode 100644 new mode 100755 diff --git a/_static/._prefix-723.3e6434f80549315a.bundle.js.map.gz b/_static/._prefix-723.3e6434f80549315a.bundle.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-737.cf869b6ea8bfad2f.css b/_static/._prefix-737.cf869b6ea8bfad2f.css old mode 100644 new mode 100755 diff --git a/_static/._prefix-737.cf869b6ea8bfad2f.css.gz b/_static/._prefix-737.cf869b6ea8bfad2f.css.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-737.cf869b6ea8bfad2f.css.map b/_static/._prefix-737.cf869b6ea8bfad2f.css.map old mode 100644 new mode 100755 diff --git a/_static/._prefix-737.cf869b6ea8bfad2f.css.map.gz b/_static/._prefix-737.cf869b6ea8bfad2f.css.map.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-824.271ae6cff6401ed5.css b/_static/._prefix-824.271ae6cff6401ed5.css old mode 100644 new mode 100755 diff --git a/_static/._prefix-824.271ae6cff6401ed5.css.gz b/_static/._prefix-824.271ae6cff6401ed5.css.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-824.271ae6cff6401ed5.css.map b/_static/._prefix-824.271ae6cff6401ed5.css.map old mode 100644 new mode 100755 diff --git a/_static/._prefix-824.271ae6cff6401ed5.css.map.gz b/_static/._prefix-824.271ae6cff6401ed5.css.map.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-819.6edefe408d7482c2.css b/_static/._prefix-850.e86d03c2cec75438.css old mode 100644 new mode 100755 similarity index 100% rename from _static/._prefix-819.6edefe408d7482c2.css rename to _static/._prefix-850.e86d03c2cec75438.css diff --git a/_static/._prefix-819.6edefe408d7482c2.css.gz b/_static/._prefix-850.e86d03c2cec75438.css.gz old mode 100644 new mode 100755 similarity index 100% rename from _static/._prefix-819.6edefe408d7482c2.css.gz rename to _static/._prefix-850.e86d03c2cec75438.css.gz diff --git a/_static/._prefix-819.6edefe408d7482c2.css.map b/_static/._prefix-850.e86d03c2cec75438.css.map old mode 100644 new mode 100755 similarity index 100% rename from _static/._prefix-819.6edefe408d7482c2.css.map rename to _static/._prefix-850.e86d03c2cec75438.css.map diff --git a/_static/._prefix-819.6edefe408d7482c2.css.map.gz b/_static/._prefix-850.e86d03c2cec75438.css.map.gz old mode 100644 new mode 100755 similarity index 100% rename from _static/._prefix-819.6edefe408d7482c2.css.map.gz rename to _static/._prefix-850.e86d03c2cec75438.css.map.gz diff --git a/_static/._prefix-877.fa7c46f756cd5a82.css b/_static/._prefix-877.fa7c46f756cd5a82.css old mode 100644 new mode 100755 diff --git a/_static/._prefix-877.fa7c46f756cd5a82.css.gz b/_static/._prefix-877.fa7c46f756cd5a82.css.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-877.fa7c46f756cd5a82.css.map b/_static/._prefix-877.fa7c46f756cd5a82.css.map old mode 100644 new mode 100755 diff --git a/_static/._prefix-877.fa7c46f756cd5a82.css.map.gz b/_static/._prefix-877.fa7c46f756cd5a82.css.map.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-915.882512b642b7fffa.css b/_static/._prefix-915.882512b642b7fffa.css old mode 100644 new mode 100755 diff --git a/_static/._prefix-915.882512b642b7fffa.css.gz b/_static/._prefix-915.882512b642b7fffa.css.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-915.882512b642b7fffa.css.map b/_static/._prefix-915.882512b642b7fffa.css.map old mode 100644 new mode 100755 diff --git a/_static/._prefix-915.882512b642b7fffa.css.map.gz b/_static/._prefix-915.882512b642b7fffa.css.map.gz old mode 100644 new mode 100755 diff --git a/_static/._prefix-runestone.7e141ad8414abf4a.bundle.js b/_static/._prefix-runestone.1c010553c35c544c.bundle.js old mode 100644 new mode 100755 similarity index 100% rename from _static/._prefix-runestone.7e141ad8414abf4a.bundle.js rename to _static/._prefix-runestone.1c010553c35c544c.bundle.js diff --git a/_static/._prefix-runestone.7e141ad8414abf4a.bundle.js.LICENSE.txt b/_static/._prefix-runestone.1c010553c35c544c.bundle.js.LICENSE.txt old mode 100644 new mode 100755 similarity index 100% rename from _static/._prefix-runestone.7e141ad8414abf4a.bundle.js.LICENSE.txt rename to _static/._prefix-runestone.1c010553c35c544c.bundle.js.LICENSE.txt diff --git a/_static/._prefix-runestone.7e141ad8414abf4a.bundle.js.LICENSE.txt.gz b/_static/._prefix-runestone.1c010553c35c544c.bundle.js.LICENSE.txt.gz old mode 100644 new mode 100755 similarity index 100% rename from _static/._prefix-runestone.7e141ad8414abf4a.bundle.js.LICENSE.txt.gz rename to _static/._prefix-runestone.1c010553c35c544c.bundle.js.LICENSE.txt.gz diff --git a/_static/._prefix-runestone.7e141ad8414abf4a.bundle.js.gz b/_static/._prefix-runestone.1c010553c35c544c.bundle.js.gz old mode 100644 new mode 100755 similarity index 100% rename from _static/._prefix-runestone.7e141ad8414abf4a.bundle.js.gz rename to _static/._prefix-runestone.1c010553c35c544c.bundle.js.gz diff --git a/_static/._prefix-runestone.7e141ad8414abf4a.bundle.js.map b/_static/._prefix-runestone.1c010553c35c544c.bundle.js.map old mode 100644 new mode 100755 similarity index 100% rename from _static/._prefix-runestone.7e141ad8414abf4a.bundle.js.map rename to _static/._prefix-runestone.1c010553c35c544c.bundle.js.map diff --git a/_static/._prefix-runestone.7e141ad8414abf4a.bundle.js.map.gz b/_static/._prefix-runestone.1c010553c35c544c.bundle.js.map.gz old mode 100644 new mode 100755 similarity index 100% rename from _static/._prefix-runestone.7e141ad8414abf4a.bundle.js.map.gz rename to _static/._prefix-runestone.1c010553c35c544c.bundle.js.map.gz diff --git a/_static/._prefix-runestone.f4ab138da65f4203.css b/_static/._prefix-runestone.677a75a9120449ff.css old mode 100644 new mode 100755 similarity index 100% rename from _static/._prefix-runestone.f4ab138da65f4203.css rename to _static/._prefix-runestone.677a75a9120449ff.css diff --git a/_static/._prefix-runestone.f4ab138da65f4203.css.gz b/_static/._prefix-runestone.677a75a9120449ff.css.gz old mode 100644 new mode 100755 similarity index 100% rename from _static/._prefix-runestone.f4ab138da65f4203.css.gz rename to _static/._prefix-runestone.677a75a9120449ff.css.gz diff --git a/_static/._prefix-runestone.f4ab138da65f4203.css.map b/_static/._prefix-runestone.677a75a9120449ff.css.map old mode 100644 new mode 100755 similarity index 100% rename from _static/._prefix-runestone.f4ab138da65f4203.css.map rename to _static/._prefix-runestone.677a75a9120449ff.css.map diff --git a/_static/._prefix-runestone.f4ab138da65f4203.css.map.gz b/_static/._prefix-runestone.677a75a9120449ff.css.map.gz old mode 100644 new mode 100755 similarity index 100% rename from _static/._prefix-runestone.f4ab138da65f4203.css.map.gz rename to _static/._prefix-runestone.677a75a9120449ff.css.map.gz diff --git a/_static/._prefix-runtime.42217a82c75796c8.bundle.js b/_static/._prefix-runtime.991c135ccf182bf5.bundle.js old mode 100644 new mode 100755 similarity index 100% rename from _static/._prefix-runtime.42217a82c75796c8.bundle.js rename to _static/._prefix-runtime.991c135ccf182bf5.bundle.js diff --git a/_static/._prefix-runtime.42217a82c75796c8.bundle.js.gz b/_static/._prefix-runtime.991c135ccf182bf5.bundle.js.gz old mode 100644 new mode 100755 similarity index 100% rename from _static/._prefix-runtime.42217a82c75796c8.bundle.js.gz rename to _static/._prefix-runtime.991c135ccf182bf5.bundle.js.gz diff --git a/_static/._prefix-runtime.42217a82c75796c8.bundle.js.map b/_static/._prefix-runtime.991c135ccf182bf5.bundle.js.map old mode 100644 new mode 100755 similarity index 100% rename from _static/._prefix-runtime.42217a82c75796c8.bundle.js.map rename to _static/._prefix-runtime.991c135ccf182bf5.bundle.js.map diff --git a/_static/._prefix-runtime.42217a82c75796c8.bundle.js.map.gz b/_static/._prefix-runtime.991c135ccf182bf5.bundle.js.map.gz old mode 100644 new mode 100755 similarity index 100% rename from _static/._prefix-runtime.42217a82c75796c8.bundle.js.map.gz rename to _static/._prefix-runtime.991c135ccf182bf5.bundle.js.map.gz diff --git a/_static/._sql-wasm.wasm b/_static/._sql-wasm.wasm old mode 100644 new mode 100755 diff --git a/_static/._sql-wasm.wasm.gz b/_static/._sql-wasm.wasm.gz old mode 100644 new mode 100755 diff --git a/_static/._webpack_static_imports.json b/_static/._webpack_static_imports.json old mode 100644 new mode 100755 diff --git a/_static/._webpack_static_imports.json.gz b/_static/._webpack_static_imports.json.gz old mode 100644 new mode 100755 diff --git a/_static/._webpack_static_imports.xml b/_static/._webpack_static_imports.xml old mode 100644 new mode 100755 diff --git a/_static/009b407a9881be10.ttf b/_static/009b407a9881be10.ttf old mode 100644 new mode 100755 diff --git a/_static/009b407a9881be10.ttf.gz b/_static/009b407a9881be10.ttf.gz old mode 100644 new mode 100755 diff --git a/_static/115.648ff4b5650f4c7c.js.gz b/_static/115.648ff4b5650f4c7c.js.gz deleted file mode 100644 index e56520e..0000000 Binary files a/_static/115.648ff4b5650f4c7c.js.gz and /dev/null differ diff --git a/_static/115.648ff4b5650f4c7c.js.map b/_static/115.648ff4b5650f4c7c.js.map deleted file mode 100644 index 4f5259a..0000000 --- a/_static/115.648ff4b5650f4c7c.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"115.648ff4b5650f4c7c.js","mappings":"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","sources":["webpack://WebComponents/./runestone/matching/js/timed_matching.js","webpack://WebComponents/./runestone/timed/js/timed.js","webpack://WebComponents/./runestone/shortanswer/js/shortanswer.js","webpack://WebComponents/./runestone/shortanswer/js/timed_shortanswer.js"],"sourcesContent":["import {MatchingProblem} from \"./matching.js\";\n\nexport default class TimedMatching extends MatchingProblem {\n constructor(opts) {\n super(opts);\n this.renderTimedIcon(this.containerDiv);\n this.hideButtons();\n this.needsReinitialization = true;\n }\n\n hideButtons() {\n this.gradeBtn.style.display = \"none\";\n this.helpBtn.style.display = \"none\";\n }\n\n renderTimedIcon(component) {\n // renders the clock icon on timed components. The component parameter\n // is the element that the icon should be appended to.\n var timeIconDiv = document.createElement(\"div\");\n var timeIcon = document.createElement(\"img\");\n timeIcon.src = \"../_static/clock.png\";\n timeIcon.style.width = \"15px\";\n timeIcon.style.height = \"15px\";\n\n timeIconDiv.className = \"timeTip\";\n timeIconDiv.title = \"\";\n timeIconDiv.appendChild(timeIcon);\n component.prepend(timeIconDiv);\n }\n\n checkCorrectTimed() {\n // Returns if the question was correct, incorrect, or skipped (return null in the last case)\n switch (this.correct) {\n case true:\n return \"T\";\n case false:\n return \"F\";\n default:\n return null;\n }\n }\n\n hideFeedback() {\n this.connList.style.display = \"none\";\n }\n\n reinitializeListeners() {\n // maybe need to reinitialize the listeners\n }\n}\n\nif (typeof window.component_factory === \"undefined\") {\n window.component_factory = {};\n}\nwindow.component_factory.matching = function (opts) {\n if (opts.timed) {\n return new TimedMatching(opts);\n }\n return new MatchingProblem(opts);\n};\n","/*==========================================\n======== Master timed.js =========\n============================================\n=== This file contains the JS for ===\n=== the Runestone timed component. ===\n============================================\n=== Created By ===\n=== Kirby Olson ===\n=== 6/11/15 ===\n==========================================*/\n\"use strict\";\n\nimport RunestoneBase from \"../../common/js/runestonebase.js\";\nimport TimedFITB from \"../../fitb/js/timedfitb.js\";\nimport TimedMC from \"../../mchoice/js/timedmc.js\";\nimport TimedShortAnswer from \"../../shortanswer/js/timed_shortanswer.js\";\nimport ACFactory from \"../../activecode/js/acfactory.js\";\nimport TimedClickableArea from \"../../clickableArea/js/timedclickable\";\nimport TimedDragNDrop from \"../../dragndrop/js/timeddnd.js\";\nimport TimedParsons from \"../../parsons/js/timedparsons.js\";\nimport TimedMatching from \"../../matching/js/timed_matching.js\";\nimport SelectOne from \"../../selectquestion/js/selectone\";\nimport \"../css/timed.less\";\n\n// Timed constructor\nexport default class Timed extends RunestoneBase {\n constructor(opts) {\n super(opts);\n var orig = opts.orig;\n this.origElem = orig; // the entire element of this timed assessment and all of its children\n this.divid = orig.id;\n this.children = this.origElem.childNodes;\n this.visited = [];\n this.timeLimit = 0;\n this.limitedTime = false;\n if (!isNaN($(this.origElem).data(\"time\"))) {\n this.timeLimit = parseInt($(this.origElem).data(\"time\"), 10) * 60; // time in seconds to complete the exam\n this.startingTime = this.timeLimit;\n this.limitedTime = true;\n }\n this.showFeedback = true;\n if (this.origElem.hasAttribute(\"data-no-feedback\")) {\n this.showFeedback = false;\n }\n // check for attribute data-show-feedback = yes\n if (this.origElem.hasAttribute(\"data-show-feedback\")) {\n if (this.origElem.getAttribute(\"data-show-feedback\") === \"yes\") {\n this.showFeedback = true;\n } else {\n this.showFeedback = false;\n }\n }\n this.showResults = false;\n if (this.origElem.hasAttribute(\"data-result\")) {\n this.showResults = false;\n }\n this.random = false;\n if (this.origElem.hasAttribute(\"data-random\")) {\n this.random = true;\n }\n this.showTimer = true;\n if (this.origElem.hasAttribute(\"data-no-timer\")) {\n this.showTimer = false;\n }\n if (this.origElem.hasAttribute(\"data-timer\")) {\n if (\n this.origElem.getAttribute(\"data-timer\") === \"yes\"\n ) {\n this.showTimer = true;\n } else {\n this.showTimer = false;\n }\n }\n this.fullwidth = false;\n if (this.origElem.hasAttribute(\"data-fullwidth\")) {\n this.fullwidth = true;\n }\n this.nopause = false;\n if (this.origElem.hasAttribute(\"data-no-pause\")) {\n this.nopause = true;\n }\n if (this.origElem.hasAttribute(\"data-pause\")) {\n if (this.origElem.getAttribute(\"data-pause\") === \"yes\") {\n this.nopause = false;\n } else {\n this.nopause = true;\n }\n }\n eBookConfig.enableScratchAC = false;\n this.running = 0;\n this.paused = 0;\n this.done = 0;\n this.taken = 0;\n this.score = 0;\n this.incorrect = 0;\n this.correctStr = \"\";\n this.incorrectStr = \"\";\n this.skippedStr = \"\";\n this.skipped = 0;\n this.currentQuestionIndex = 0; // Which question is currently displaying on the page\n this.renderedQuestionArray = []; // list of all problems\n this.getNewChildren();\n // One small step to eliminate students from doing view source\n // this won't stop anyone with determination but may prevent casual peeking\n if (!eBookConfig.enableDebug) {\n document.body.oncontextmenu = function () {\n return false;\n };\n }\n this.checkAssessmentStatus().then(\n function () {\n this.renderTimedAssess();\n }.bind(this)\n );\n }\n\n getNewChildren() {\n this.newChildren = [];\n let runestoneChildren = this.origElem.querySelectorAll(\".runestone\");\n for (var i = 0; i < runestoneChildren.length; i++) {\n this.newChildren.push(runestoneChildren[i]);\n }\n }\n\n async checkAssessmentStatus() {\n // Has the user taken this exam? Inquiring minds want to know\n // If a user has not taken this exam then we want to make sure\n // that if a question has been seen by the student before we do\n // not populate previous answers.\n let sendInfo = {\n div_id: this.divid,\n course_name: eBookConfig.course,\n };\n console.log(sendInfo);\n if (eBookConfig.useRunestoneServices) {\n let request = new Request(\n `${eBookConfig.new_server_prefix}/assessment/tookTimedAssessment`,\n {\n method: \"POST\",\n headers: this.jsonHeaders,\n body: JSON.stringify(sendInfo),\n }\n );\n let response = await fetch(request);\n let data = await response.json();\n data = data.detail;\n this.taken = data.tookAssessment;\n this.assessmentTaken = this.taken;\n if (!this.taken) {\n localStorage.clear();\n }\n console.log(\"done with check status\");\n return response;\n } else {\n this.taken = false;\n this.assessmentTaken = false;\n return Promise.resolve();\n }\n }\n\n /*===============================\n === Generating new Timed HTML ===\n ===============================*/\n async renderTimedAssess() {\n console.log(\"rendering timed \");\n // create renderedQuestionArray returns a promise\n //\n this.createRenderedQuestionArray();\n if (this.random) {\n this.randomizeRQA();\n }\n this.renderContainer();\n this.renderTimer();\n await this.renderControlButtons();\n // If we decide to disable cut/copy/paste, uncomment the line below \n // this.disableCutCopyPaste();\n this.containerDiv.appendChild(this.timedDiv); // This can't be appended in renderContainer because then it renders above the timer and control buttons.\n if (this.renderedQuestionArray.length > 1) this.renderNavControls();\n this.renderSubmitButton();\n this.renderFeedbackContainer();\n this.useRunestoneServices = eBookConfig.useRunestoneServices;\n // Replace intermediate HTML with rendered HTML\n $(this.origElem).replaceWith(this.containerDiv);\n // check if already taken and if so show results\n this.styleExamElements(); // rename to renderPossibleResults\n this.checkServer(\"timedExam\", true);\n }\n\n disableCutCopyPaste() {\n document.addEventListener(\"cut\", function (e) {\n e.preventDefault();\n });\n document.addEventListener(\"copy\", function (e) {\n e.preventDefault();\n });\n document.addEventListener(\"paste\", function (e) {\n e.preventDefault();\n });\n }\n\n renderContainer() {\n this.containerDiv = document.createElement(\"div\"); // container for the entire Timed Component\n if (this.fullwidth) {\n // allow the container to fill the width - barb\n $(this.containerDiv).attr({\n style: \"max-width:none\",\n });\n }\n this.containerDiv.classList.add(\"runestone-sphinx\");\n this.containerDiv.id = this.divid;\n this.timedDiv = document.createElement(\"div\"); // div that will hold the questions for the timed assessment\n this.navDiv = document.createElement(\"div\"); // For navigation control\n $(this.navDiv).attr({\n style: \"text-align:center\",\n });\n this.flagDiv = document.createElement(\"div\"); // div that will hold the \"Flag Question\" button\n $(this.flagDiv).attr({\n style: \"text-align: center\",\n });\n this.switchContainer = document.createElement(\"div\");\n this.switchContainer.classList.add(\"switchcontainer\");\n this.switchDiv = document.createElement(\"div\"); // is replaced by the questions\n this.timedDiv.appendChild(this.navDiv);\n this.timedDiv.appendChild(this.flagDiv); // add flagDiv to timedDiv, which holds components for navigation and questions for timed assessment\n this.timedDiv.appendChild(this.switchContainer);\n this.switchContainer.appendChild(this.switchDiv);\n $(this.timedDiv).attr({\n id: \"timed_Test\",\n style: \"display:none\",\n });\n }\n\n renderTimer() {\n this.wrapperDiv = document.createElement(\"div\");\n this.timerContainer = document.createElement(\"P\");\n this.wrapperDiv.id = this.divid + \"-startWrapper\";\n this.timerContainer.id = this.divid + \"-output\";\n this.wrapperDiv.appendChild(this.timerContainer);\n this.showTime();\n }\n\n renderControlButtons() {\n this.controlDiv = document.createElement(\"div\");\n $(this.controlDiv).attr({\n id: \"controls\",\n style: \"text-align: center\",\n });\n this.startBtn = document.createElement(\"button\");\n this.pauseBtn = document.createElement(\"button\");\n $(this.startBtn).attr({\n class: \"btn btn-success\",\n id: \"start\",\n tabindex: \"0\",\n role: \"button\",\n });\n this.startBtn.textContent = \"Start\";\n this.startBtn.addEventListener(\n \"click\",\n async function () {\n $(this.finishButton).hide(); // hide the finish button for now\n $(this.flagButton).show();\n let mess = document.createElement(\"p\");\n mess.innerHTML =\n \"Warning: You will not be able to continue the exam if you close this tab, close the window, or navigate away from this page! Make sure you click the Finish Exam button when you are done to submit your work!\";\n this.controlDiv.appendChild(mess);\n mess.classList.add(\"examwarning\");\n await this.renderTimedQuestion();\n this.startAssessment();\n }.bind(this),\n false\n );\n $(this.pauseBtn).attr({\n class: \"btn btn-default\",\n id: \"pause\",\n disabled: \"true\",\n tabindex: \"0\",\n role: \"button\",\n });\n this.pauseBtn.textContent = \"Pause\";\n this.pauseBtn.addEventListener(\n \"click\",\n function () {\n this.pauseAssessment();\n }.bind(this),\n false\n );\n if (!this.taken) {\n this.controlDiv.appendChild(this.startBtn);\n }\n if (!this.nopause) {\n this.controlDiv.appendChild(this.pauseBtn);\n }\n this.containerDiv.appendChild(this.wrapperDiv);\n this.containerDiv.appendChild(this.controlDiv);\n }\n\n renderNavControls() {\n // making \"Prev\" button\n this.pagNavList = document.createElement(\"ul\");\n $(this.pagNavList).addClass(\"pagination\");\n this.leftContainer = document.createElement(\"li\");\n this.leftNavButton = document.createElement(\"button\");\n this.leftNavButton.innerHTML = \"‹ Prev\";\n $(this.leftNavButton).attr(\"aria-label\", \"Previous\");\n $(this.leftNavButton).attr(\"tabindex\", \"0\");\n $(this.leftNavButton).attr(\"role\", \"button\");\n $(this.rightNavButton).attr(\"id\", \"prev\");\n $(this.leftNavButton).css(\"cursor\", \"pointer\");\n this.leftContainer.appendChild(this.leftNavButton);\n this.pagNavList.appendChild(this.leftContainer);\n // making \"Flag Question\" button\n this.flaggingPlace = document.createElement(\"ul\");\n $(this.flaggingPlace).addClass(\"pagination\");\n this.flagContainer = document.createElement(\"li\");\n this.flagButton = document.createElement(\"button\");\n $(this.flagButton).addClass(\"flagBtn\");\n this.flagButton.innerHTML = \"Flag Question\"; // name on button\n $(this.flagButton).attr(\"aria-labelledby\", \"Flag\");\n $(this.flagButton).attr(\"tabindex\", \"5\");\n $(this.flagButton).attr(\"role\", \"button\");\n $(this.flagButton).attr(\"id\", \"flag\");\n $(this.flagButton).css(\"cursor\", \"pointer\");\n this.flagContainer.appendChild(this.flagButton); // adding button to container\n this.flaggingPlace.appendChild(this.flagContainer); // adding container to flaggingPlace\n // making \"Next\" button\n this.rightContainer = document.createElement(\"li\");\n this.rightNavButton = document.createElement(\"button\");\n $(this.rightNavButton).attr(\"aria-label\", \"Next\");\n $(this.rightNavButton).attr(\"tabindex\", \"0\");\n $(this.rightNavButton).attr(\"role\", \"button\");\n $(this.rightNavButton).attr(\"id\", \"next\");\n this.rightNavButton.innerHTML = \"Next ›\";\n $(this.rightNavButton).css(\"cursor\", \"pointer\");\n this.rightContainer.appendChild(this.rightNavButton);\n this.pagNavList.appendChild(this.rightContainer);\n this.ensureButtonSafety();\n this.navDiv.appendChild(this.pagNavList);\n this.flagDiv.appendChild(this.flaggingPlace); // adds flaggingPlace to the flagDiv\n this.break = document.createElement(\"br\");\n this.navDiv.appendChild(this.break);\n // render the question number jump buttons\n this.qNumList = document.createElement(\"ul\");\n $(this.qNumList).attr(\"id\", \"pageNums\");\n this.qNumWrapperList = document.createElement(\"ul\");\n $(this.qNumWrapperList).addClass(\"pagination\");\n var tmpLi, tmpA;\n for (var i = 0; i < this.renderedQuestionArray.length; i++) {\n tmpLi = document.createElement(\"li\");\n tmpA = document.createElement(\"a\");\n tmpA.innerHTML = i + 1;\n $(tmpA).css(\"cursor\", \"pointer\");\n if (i === 0) {\n $(tmpLi).addClass(\"active\");\n }\n tmpLi.appendChild(tmpA);\n this.qNumWrapperList.appendChild(tmpLi);\n }\n this.qNumList.appendChild(this.qNumWrapperList);\n this.navDiv.appendChild(this.qNumList);\n this.navBtnListeners();\n this.flagBtnListener(); // listens for click on flag button\n $(this.flagButton).hide();\n }\n\n // when moving off of a question in an active exam:\n // 1. show that the question has been seen, or mark it broken if it is in error.\n // 2. check and log the current answer\n async navigateAway() {\n if (\n this.renderedQuestionArray[this.currentQuestionIndex].state ==\n \"broken_exam\"\n ) {\n $(\n \"ul#pageNums > ul > li:eq(\" + this.currentQuestionIndex + \")\"\n ).addClass(\"broken\");\n }\n if (\n this.renderedQuestionArray[this.currentQuestionIndex].state ==\n \"exam_ended\"\n ) {\n $(\n \"ul#pageNums > ul > li:eq(\" + this.currentQuestionIndex + \")\"\n ).addClass(\"toolate\");\n }\n if (\n this.renderedQuestionArray[this.currentQuestionIndex].question\n .isAnswered\n ) {\n $(\n \"ul#pageNums > ul > li:eq(\" + this.currentQuestionIndex + \")\"\n ).addClass(\"answered\");\n await this.renderedQuestionArray[\n this.currentQuestionIndex\n ].question.checkCurrentAnswer();\n if (!this.done) {\n await this.renderedQuestionArray[\n this.currentQuestionIndex\n ].question.logCurrentAnswer();\n }\n }\n }\n async handleNextPrev(event) {\n if (!this.taken) {\n await this.navigateAway();\n }\n var target = $(event.target).text();\n if (target.match(/Next/)) {\n // checks given text to match \"Next\"\n if ($(this.rightContainer).hasClass(\"disabled\")) {\n return;\n }\n this.currentQuestionIndex++;\n } else if (target.match(/Prev/)) {\n // checks given text to match \"Prev\"\n if ($(this.leftContainer).hasClass(\"disabled\")) {\n return;\n }\n this.currentQuestionIndex--;\n }\n await this.renderTimedQuestion();\n this.ensureButtonSafety();\n for (var i = 0; i < this.qNumList.childNodes.length; i++) {\n for (\n var j = 0;\n j < this.qNumList.childNodes[i].childNodes.length;\n j++\n ) {\n $(this.qNumList.childNodes[i].childNodes[j]).removeClass(\n \"active\"\n );\n }\n }\n $(\n \"ul#pageNums > ul > li:eq(\" + this.currentQuestionIndex + \")\"\n ).addClass(\"active\");\n if (\n $(\n \"ul#pageNums > ul > li:eq(\" + this.currentQuestionIndex + \")\"\n ).hasClass(\"flagcolor\")\n ) {\n // checking for class\n this.flagButton.innerHTML = \"Unflag Question\"; // changes text on button\n } else {\n this.flagButton.innerHTML = \"Flag Question\"; // changes text on button\n }\n }\n\n async handleFlag(event) {\n // called when flag button is clicked\n var target = $(event.target).text();\n if (target.match(/Flag Question/)) {\n $(\n \"ul#pageNums > ul > li:eq(\" + this.currentQuestionIndex + \")\"\n ).addClass(\"flagcolor\"); // class will change color of question block\n this.flagButton.innerHTML = \"Unflag Question\";\n } else {\n $(\n \"ul#pageNums > ul > li:eq(\" + this.currentQuestionIndex + \")\"\n ).removeClass(\"flagcolor\"); // will restore current color of question block\n this.flagButton.innerHTML = \"Flag Question\"; // also sets name back\n }\n }\n\n async handleNumberedNav(event) {\n if (!this.taken) {\n await this.navigateAway();\n }\n for (var i = 0; i < this.qNumList.childNodes.length; i++) {\n for (\n var j = 0;\n j < this.qNumList.childNodes[i].childNodes.length;\n j++\n ) {\n $(this.qNumList.childNodes[i].childNodes[j]).removeClass(\n \"active\"\n );\n }\n }\n\n var target = $(event.target).text();\n let oldIndex = this.currentQuestionIndex;\n this.currentQuestionIndex = parseInt(target) - 1;\n if (this.currentQuestionIndex > this.renderedQuestionArray.length) {\n console.log(`Error: bad index for ${target}`);\n this.currentQuestionIndex = oldIndex;\n }\n $(\n \"ul#pageNums > ul > li:eq(\" + this.currentQuestionIndex + \")\"\n ).addClass(\"active\");\n if (\n $(\n \"ul#pageNums > ul > li:eq(\" + this.currentQuestionIndex + \")\" // checking for flagcolor class\n ).hasClass(\"flagcolor\")\n ) {\n this.flagButton.innerHTML = \"Unflag Question\";\n } else {\n this.flagButton.innerHTML = \"Flag Question\";\n }\n await this.renderTimedQuestion();\n this.ensureButtonSafety();\n }\n\n // set up events for navigation\n navBtnListeners() {\n // Next and Prev Listener\n this.pagNavList.addEventListener(\n \"click\",\n this.handleNextPrev.bind(this),\n false\n );\n\n // Numbered Listener\n this.qNumList.addEventListener(\n \"click\",\n this.handleNumberedNav.bind(this),\n false\n );\n }\n\n // set up event for flag\n flagBtnListener() {\n this.flaggingPlace.addEventListener(\n \"click\",\n this.handleFlag.bind(this), // calls this to take action\n false\n );\n }\n\n renderSubmitButton() {\n this.buttonContainer = document.createElement(\"div\");\n $(this.buttonContainer).attr({\n style: \"text-align:center\",\n });\n this.finishButton = document.createElement(\"button\");\n $(this.finishButton).attr({\n id: \"finish\",\n class: \"btn btn-primary\",\n });\n this.finishButton.textContent = \"Finish Exam\";\n this.finishButton.addEventListener(\n \"click\",\n async function () {\n let skipped =\n this.renderedQuestionArray.filter((x) => !x.question.isAnswered).length;\n let skipstr = skipped > 0 ? `You have skipped ${skipped} question(s).` : \"\";\n if (\n window.confirm(\n `${skipstr} Clicking OK means you are ready to submit your answers and are finished with this assessment.`\n )\n ) {\n await this.finishAssessment();\n $(this.flagButton).hide();\n }\n }.bind(this),\n false\n );\n this.controlDiv.appendChild(this.finishButton);\n $(this.finishButton).hide();\n this.timedDiv.appendChild(this.buttonContainer);\n }\n ensureButtonSafety() {\n if (this.currentQuestionIndex === 0) {\n if (this.renderedQuestionArray.length != 1) {\n $(this.rightContainer).removeClass(\"disabled\");\n }\n $(this.leftContainer).addClass(\"disabled\");\n }\n if (\n this.currentQuestionIndex >=\n this.renderedQuestionArray.length - 1\n ) {\n if (this.renderedQuestionArray.length != 1) {\n $(this.leftContainer).removeClass(\"disabled\");\n }\n $(this.rightContainer).addClass(\"disabled\");\n }\n if (\n this.currentQuestionIndex > 0 &&\n this.currentQuestionIndex < this.renderedQuestionArray.length - 1\n ) {\n $(this.rightContainer).removeClass(\"disabled\");\n $(this.leftContainer).removeClass(\"disabled\");\n }\n }\n renderFeedbackContainer() {\n this.scoreDiv = document.createElement(\"P\");\n if (this.taken) {\n this.scoreDiv.innerHTML = \"

You have already taken this exam

\";\n this.scoreDiv.style.display = \"block\";\n } else {\n this.scoreDiv.id = this.divid + \"results\";\n this.scoreDiv.style.display = \"none\";\n }\n this.containerDiv.appendChild(this.scoreDiv);\n }\n\n createRenderedQuestionArray() {\n // this finds all the assess questions in this timed assessment\n // We need to make a list of all the questions up front so we can set up navigation\n // but we do not want to render the questions until the student has navigated\n // Also adds them to this.renderedQuestionArray\n\n // todo: This needs to be updated to account for the runestone div wrapper.\n\n // To accommodate the selectquestion type -- which is async! we need to wrap\n // all of this in a promise, so that we don't continue to render the timed\n // exam until all of the questions have been realized.\n var opts;\n for (var i = 0; i < this.newChildren.length; i++) {\n var tmpChild = this.newChildren[i];\n opts = {\n state: \"prepared\",\n orig: tmpChild,\n question: {},\n useRunestoneServices: eBookConfig.useRunestoneServices,\n timed: true,\n assessmentTaken: this.taken,\n timedWrapper: this.divid,\n initAttempts: 0,\n };\n if ($(tmpChild).children(\"[data-component]\").length > 0) {\n tmpChild = $(tmpChild).children(\"[data-component]\")[0];\n opts.orig = tmpChild;\n }\n if ($(tmpChild).is(\"[data-component]\")) {\n this.renderedQuestionArray.push(opts);\n }\n }\n }\n\n randomizeRQA() {\n var currentIndex = this.renderedQuestionArray.length,\n temporaryValue,\n randomIndex;\n // While there remain elements to shuffle...\n while (currentIndex !== 0) {\n // Pick a remaining element...\n randomIndex = Math.floor(Math.random() * currentIndex);\n currentIndex -= 1;\n // And swap it with the current element.\n temporaryValue = this.renderedQuestionArray[currentIndex];\n this.renderedQuestionArray[currentIndex] =\n this.renderedQuestionArray[randomIndex];\n this.renderedQuestionArray[randomIndex] = temporaryValue;\n }\n }\n\n async renderTimedQuestion() {\n if (this.currentQuestionIndex >= this.renderedQuestionArray.length) {\n // sometimes the user clicks in the event area for the qNumList\n // But misses a number in that case the text is the concatenation\n // of all the numbers in the list!\n return;\n }\n // check the renderedQuestionArray to see if it has been rendered.\n let opts = this.renderedQuestionArray[this.currentQuestionIndex];\n let currentQuestion;\n if (\n opts.state === \"prepared\" ||\n opts.state === \"forreview\" ||\n (opts.state === \"broken_exam\" && opts.initAttempts < 3)\n ) {\n let tmpChild = opts.orig;\n if ($(tmpChild).is(\"[data-component=selectquestion]\")) {\n if (this.done && opts.state == \"prepared\") {\n this.renderedQuestionArray[\n this.currentQuestionIndex\n ].state = \"exam_ended\";\n } else {\n // SelectOne is async and will replace itself in this array with\n // the actual selected question\n opts.rqa = this.renderedQuestionArray;\n let newq = new SelectOne(opts);\n this.renderedQuestionArray[this.currentQuestionIndex] = {\n question: newq,\n };\n try {\n await newq.initialize();\n if (opts.state == \"broken_exam\") {\n // remove the broken class from this question if we get here.\n $(\n `ul#pageNums > ul > li:eq(${this.currentQuestionIndex})`\n ).removeClass(\"broken\");\n }\n } catch (e) {\n opts.state = \"broken_exam\";\n this.renderedQuestionArray[this.currentQuestionIndex] =\n opts;\n console.log(\n `Error initializing question: Details ${e}`\n );\n }\n }\n } else if ($(tmpChild).is(\"[data-component]\")) {\n let componentKind = $(tmpChild).data(\"component\");\n this.renderedQuestionArray[this.currentQuestionIndex] = {\n question: window.component_factory[componentKind](opts),\n state: opts.state,\n };\n }\n } else if (opts.state === \"broken_exam\") {\n return;\n }\n\n currentQuestion =\n this.renderedQuestionArray[this.currentQuestionIndex].question;\n if (opts.state === \"forreview\") {\n await currentQuestion.component_ready_promise;\n await currentQuestion.checkCurrentAnswer();\n currentQuestion.renderFeedback();\n currentQuestion.disableInteraction();\n }\n\n if (!this.visited.includes(this.currentQuestionIndex)) {\n this.visited.push(this.currentQuestionIndex);\n if (\n this.visited.length === this.renderedQuestionArray.length &&\n !this.done\n ) {\n $(this.finishButton).show();\n }\n }\n\n if (currentQuestion.containerDiv) {\n if (\n currentQuestion.containerDiv.classList.contains(\"runestone\") ==\n false\n ) {\n currentQuestion.containerDiv.classList.add(\"runestone\");\n }\n $(this.switchDiv).replaceWith(currentQuestion.containerDiv);\n this.switchDiv = currentQuestion.containerDiv;\n }\n\n // If the timed component has listeners, those might need to be reinitialized\n // This flag will only be set in the elements that need it--it will be undefined in the others and thus evaluate to false\n if (currentQuestion.needsReinitialization) {\n currentQuestion.reinitializeListeners(this.taken);\n }\n }\n\n /*=================================\n === Timer and control Functions ===\n =================================*/\n handlePrevAssessment() {\n $(this.startBtn).hide();\n $(this.pauseBtn).attr(\"disabled\", true);\n $(this.finishButton).attr(\"disabled\", true);\n this.running = 0;\n this.done = 1;\n // showFeedback sand showResults should both be true before we show the\n // questions and their state of correctness.\n if (this.showResults && this.showFeedback) {\n $(this.timedDiv).show();\n this.restoreAnsweredQuestions(); // do not log these results\n } else {\n $(this.pauseBtn).hide();\n $(this.timerContainer).hide();\n }\n }\n startAssessment() {\n if (!this.taken) {\n $(\"#relations-next\").hide(); // hide the next page button for now\n $(\"#relations-prev\").hide(); // hide the previous button for now\n $(this.startBtn).hide();\n $(this.pauseBtn).attr(\"disabled\", false);\n if (this.running === 0 && this.paused === 0) {\n this.running = 1;\n this.lastTime = Date.now();\n $(this.timedDiv).show();\n this.increment();\n this.logBookEvent({\n event: \"timedExam\",\n act: \"start\",\n div_id: this.divid,\n });\n var timeStamp = new Date();\n var storageObj = {\n answer: [0, 0, this.renderedQuestionArray.length, 0],\n timestamp: timeStamp,\n };\n localStorage.setItem(\n this.localStorageKey(),\n JSON.stringify(storageObj)\n );\n }\n $(window).on(\n \"beforeunload\",\n function (event) {\n // this actual value gets ignored by newer browsers\n if (this.done) {\n return;\n }\n event.preventDefault();\n event.returnValue =\n \"Are you sure you want to leave? Your work will be lost! And you will need your instructor to reset the exam!\";\n return \"Are you sure you want to leave? Your work will be lost!\";\n }.bind(this)\n );\n window.addEventListener(\n \"pagehide\",\n async function (event) {\n if (!this.done) {\n await this.finishAssessment();\n console.log(\"Exam exited by leaving page\");\n }\n }.bind(this)\n );\n } else {\n this.handlePrevAssessment();\n }\n }\n pauseAssessment() {\n if (this.done === 0) {\n if (this.running === 1) {\n this.logBookEvent({\n event: \"timedExam\",\n act: \"pause\",\n div_id: this.divid,\n });\n this.running = 0;\n this.paused = 1;\n this.pauseBtn.innerHTML = \"Resume\";\n $(this.timedDiv).hide();\n } else {\n this.logBookEvent({\n event: \"timedExam\",\n act: \"resume\",\n div_id: this.divid,\n });\n this.running = 1;\n this.paused = 0;\n this.increment();\n this.pauseBtn.innerHTML = \"Pause\";\n $(this.timedDiv).show();\n }\n }\n }\n\n showTime() {\n if (this.showTimer) {\n var mins = Math.floor(this.timeLimit / 60);\n var secs = Math.floor(this.timeLimit) % 60;\n var minsString = mins;\n var secsString = secs;\n if (mins < 10) {\n minsString = \"0\" + mins;\n }\n if (secs < 10) {\n secsString = \"0\" + secs;\n }\n var beginning = \"Time Remaining \";\n if (!this.limitedTime) {\n beginning = \"Time Taken \";\n }\n var timeString = beginning + minsString + \":\" + secsString;\n if (this.done || this.taken) {\n var minutes = Math.floor(this.timeTaken / 60);\n var seconds = Math.floor(this.timeTaken % 60);\n if (minutes < 10) {\n minutes = \"0\" + minutes;\n }\n if (seconds < 10) {\n seconds = \"0\" + seconds;\n }\n timeString = \"Time taken: \" + minutes + \":\" + seconds;\n }\n this.timerContainer.innerHTML = timeString;\n var timeTips = document.getElementsByClassName(\"timeTip\");\n for (var i = 0; i <= timeTips.length - 1; i++) {\n timeTips[i].title = timeString;\n }\n } else {\n $(this.timerContainer).hide();\n }\n }\n\n increment() {\n // if running (not paused) and not taken\n if (this.running === 1 && !this.taken) {\n setTimeout(\n function () {\n // When a browser loses focus, setTimeout may not be called on the\n // schedule expected. Browsers are free to save power by lengthening\n // the interval to some longer time. So we cannot just subtract 1\n // from the timeLimit we need to measure the elapsed time from the last\n // call to the current call and subtract that number of seconds.\n let currentTime = Date.now();\n if (this.limitedTime) {\n // If there's a time limit, count down to 0\n this.timeLimit =\n this.timeLimit -\n Math.floor((currentTime - this.lastTime) / 1000);\n } else {\n // Else count up to keep track of how long it took to complete\n this.timeLimit =\n this.timeLimit +\n Math.floor((currentTime - this.lastTime) / 1000);\n }\n this.lastTime = currentTime;\n localStorage.setItem(\n eBookConfig.email + \":\" + this.divid + \"-time\",\n this.timeLimit\n );\n this.showTime();\n if (this.timeLimit > 0) {\n this.increment();\n // ran out of time\n } else {\n $(this.startBtn).attr({\n disabled: \"true\",\n });\n $(this.finishButton).attr({\n disabled: \"true\",\n });\n this.running = 0;\n this.done = 1;\n if (!this.taken) {\n this.taken = true;\n // embed the message in the page -- an alert actually prevents\n // the answers from being submitted and if a student closes their\n // laptop then the answers will not be submitted ever! Even when they\n // reopen the laptop their session cookie is likely invalid.\n let mess = document.createElement(\"h1\");\n mess.innerHTML =\n \"Sorry but you ran out of time. Your answers are being submitted\";\n this.controlDiv.appendChild(mess);\n this.finishAssessment();\n }\n }\n }.bind(this),\n 1000\n );\n }\n }\n\n styleExamElements() {\n // Checks if this exam has been taken before\n $(this.timerContainer).css({\n width: \"50%\",\n margin: \"0 auto\",\n \"background-color\": \"#DFF0D8\",\n \"text-align\": \"center\",\n border: \"2px solid #DFF0D8\",\n \"border-radius\": \"25px\",\n });\n $(this.scoreDiv).css({\n width: \"50%\",\n margin: \"0 auto\",\n \"background-color\": \"#DFF0D8\",\n \"text-align\": \"center\",\n border: \"2px solid #DFF0D8\",\n \"border-radius\": \"25px\",\n });\n $(\".tooltipTime\").css({\n margin: \"0\",\n padding: \"0\",\n \"background-color\": \"black\",\n color: \"white\",\n });\n }\n\n async finishAssessment() {\n $(\"#relations-next\").show(); // show the next page button for now\n $(\"#relations-prev\").show(); // show the previous button for now\n if (!this.showFeedback) {\n // bje - changed from showResults\n $(this.timedDiv).hide();\n $(this.pauseBtn).hide();\n $(this.timerContainer).hide();\n }\n this.findTimeTaken();\n this.running = 0;\n this.done = 1;\n this.taken = 1;\n await this.finalizeProblems();\n this.checkScore();\n this.displayScore();\n this.storeScore();\n this.logScore();\n $(this.pauseBtn).attr(\"disabled\", true);\n this.finishButton.disabled = true;\n $(window).off(\"beforeunload\");\n // turn off the pagehide listener\n let assignment_id = this.divid;\n setTimeout(function () {\n jQuery.ajax({\n url: eBookConfig.app + \"/assignments/student_autograde\",\n type: \"POST\",\n dataType: \"JSON\",\n data: {\n assignment_id: assignment_id,\n is_timed: true,\n },\n success: function (retdata) {\n if (retdata.success == false) {\n console.log(retdata.message);\n } else {\n console.log(\"Autograder completed\");\n }\n },\n });\n }, 2000);\n }\n\n // finalizeProblems\n // ----------------\n async finalizeProblems() {\n // Because we have submitted each question as we navigate we only need to\n // send the final version of the question the student is on when they press the\n // finish exam button.\n\n var currentQuestion =\n this.renderedQuestionArray[this.currentQuestionIndex].question;\n await currentQuestion.checkCurrentAnswer();\n await currentQuestion.logCurrentAnswer();\n currentQuestion.renderFeedback();\n currentQuestion.disableInteraction();\n\n for (var i = 0; i < this.renderedQuestionArray.length; i++) {\n let currentQuestion = this.renderedQuestionArray[i];\n // set the state to forreview so we know that feedback may be appropriate\n if (currentQuestion.state !== \"broken_exam\") {\n currentQuestion.state = \"forreview\";\n currentQuestion.question.disableInteraction();\n }\n }\n\n if (!this.showFeedback) {\n this.hideTimedFeedback();\n }\n }\n\n // restoreAnsweredQuestions\n // ------------------------\n restoreAnsweredQuestions() {\n for (var i = 0; i < this.renderedQuestionArray.length; i++) {\n var currentQuestion = this.renderedQuestionArray[i];\n if (currentQuestion.state === \"prepared\") {\n currentQuestion.state = \"forreview\";\n }\n }\n }\n\n // hideTimedFeedback\n // -----------------\n hideTimedFeedback() {\n for (var i = 0; i < this.renderedQuestionArray.length; i++) {\n var currentQuestion = this.renderedQuestionArray[i].question;\n currentQuestion.hideFeedback();\n }\n }\n\n // checkScore\n // ----------\n // This is a simple all or nothing score of one point per question for\n // that includes our best guess if a question was skipped.\n checkScore() {\n this.correctStr = \"\";\n this.skippedStr = \"\";\n this.incorrectStr = \"\";\n // Gets the score of each problem\n for (var i = 0; i < this.renderedQuestionArray.length; i++) {\n var correct =\n this.renderedQuestionArray[i].question.checkCorrectTimed();\n if (correct == \"T\") {\n this.score++;\n this.correctStr = this.correctStr + (i + 1) + \", \";\n } else if (correct == \"F\") {\n this.incorrect++;\n this.incorrectStr = this.incorrectStr + (i + 1) + \", \";\n } else if (correct === null || correct === \"I\") {\n this.skipped++;\n this.skippedStr = this.skippedStr + (i + 1) + \", \";\n } else {\n // ignored question; just do nothing\n }\n }\n // remove extra comma and space at end if any\n if (this.correctStr.length > 0)\n this.correctStr = this.correctStr.substring(\n 0,\n this.correctStr.length - 2\n );\n else this.correctStr = \"None\";\n if (this.skippedStr.length > 0)\n this.skippedStr = this.skippedStr.substring(\n 0,\n this.skippedStr.length - 2\n );\n else this.skippedStr = \"None\";\n if (this.incorrectStr.length > 0)\n this.incorrectStr = this.incorrectStr.substring(\n 0,\n this.incorrectStr.length - 2\n );\n else this.incorrectStr = \"None\";\n }\n findTimeTaken() {\n if (this.limitedTime) {\n this.timeTaken = this.startingTime - this.timeLimit;\n } else {\n this.timeTaken = this.timeLimit;\n }\n }\n storeScore() {\n var storage_arr = [];\n storage_arr.push(\n this.score,\n this.correctStr,\n this.incorrect,\n this.incorrectStr,\n this.skipped,\n this.skippedStr,\n this.timeTaken\n );\n var timeStamp = new Date();\n var storageObj = JSON.stringify({\n answer: storage_arr,\n timestamp: timeStamp,\n });\n localStorage.setItem(this.localStorageKey(), storageObj);\n }\n // _`timed exam endpoint parameters`\n //----------------------------------\n logScore() {\n this.logBookEvent({\n event: \"timedExam\",\n act: \"finish\",\n div_id: this.divid,\n correct: this.score,\n incorrect: this.incorrect,\n skipped: this.skipped,\n time_taken: this.timeTaken,\n });\n }\n shouldUseServer(data) {\n // We override the RunestoneBase version because there is no \"correct\" attribute, and there are 2 possible localStorage schemas\n // --we also want to default to local storage because it contains more information specifically which questions are correct, incorrect, and skipped.\n var storageDate;\n if (localStorage.length === 0) return true;\n var storageObj = localStorage.getItem(this.localStorageKey());\n if (storageObj === null) return true;\n try {\n var storedData = JSON.parse(storageObj).answer;\n if (storedData.length == 4) {\n if (\n data.correct == storedData[0] &&\n data.incorrect == storedData[1] &&\n data.skipped == storedData[2] &&\n data.timeTaken == storedData[3]\n )\n return true;\n } else if (storedData.length == 7) {\n if (\n data.correct == storedData[0] &&\n data.incorrect == storedData[2] &&\n data.skipped == storedData[4] &&\n data.timeTaken == storedData[6]\n ) {\n return false; // In this case, because local storage has more info, we want to use that if it's consistent\n }\n }\n storageDate = new Date(JSON.parse(storageObj[1]).timestamp);\n } catch (err) {\n // error while parsing; likely due to bad value stored in storage\n console.log(err.message);\n localStorage.removeItem(this.localStorageKey());\n return true;\n }\n var serverDate = new Date(data.timestamp);\n if (serverDate < storageDate) {\n this.logScore();\n return false;\n }\n return true;\n }\n\n checkLocalStorage() {\n var len = localStorage.length;\n if (len > 0) {\n if (localStorage.getItem(this.localStorageKey()) !== null) {\n this.taken = 1;\n this.restoreAnswers(\"\");\n } else {\n this.taken = 0;\n }\n } else {\n this.taken = 0;\n }\n }\n async restoreAnswers(data) {\n this.taken = 1;\n var tmpArr;\n if (data === \"\") {\n try {\n tmpArr = JSON.parse(\n localStorage.getItem(this.localStorageKey())\n ).answer;\n } catch (err) {\n // error while parsing; likely due to bad value stored in storage\n console.log(err.message);\n localStorage.removeItem(this.localStorageKey());\n this.taken = 0;\n return;\n }\n } else {\n // Parse results from the database\n tmpArr = [\n parseInt(data.correct),\n parseInt(data.incorrect),\n parseInt(data.skipped),\n parseInt(data.time_taken),\n data.reset,\n ];\n this.setLocalStorage(tmpArr);\n }\n if (tmpArr.length == 1) {\n // Exam was previously reset\n this.reset = true;\n this.taken = 0;\n return;\n }\n if (tmpArr.length == 4) {\n // Accidental Reload OR Database Entry\n this.score = tmpArr[0];\n this.incorrect = tmpArr[1];\n this.skipped = tmpArr[2];\n this.timeTaken = tmpArr[3];\n } else if (tmpArr.length == 5) {\n this.score = tmpArr[0];\n this.incorrect = tmpArr[1];\n this.skipped = tmpArr[2];\n this.timeTaken = tmpArr[3];\n } else if (tmpArr.length == 7) {\n // Loaded Completed Exam\n this.score = tmpArr[0];\n this.correctStr = tmpArr[1];\n this.incorrect = tmpArr[2];\n this.incorrectStr = tmpArr[3];\n this.skipped = tmpArr[4];\n this.skippedStr = tmpArr[5];\n this.timeTaken = tmpArr[6];\n } else {\n // Set localStorage in case of \"accidental\" reload\n this.score = 0;\n this.incorrect = 0;\n this.skipped = this.renderedQuestionArray.length;\n this.timeTaken = 0;\n }\n if (this.taken) {\n if (this.skipped === this.renderedQuestionArray.length) {\n this.showFeedback = false;\n }\n this.handlePrevAssessment();\n }\n await this.renderTimedQuestion();\n this.displayScore();\n this.showTime();\n }\n setLocalStorage(parsedData) {\n var timeStamp = new Date();\n var storageObj = {\n answer: parsedData,\n timestamp: timeStamp,\n };\n localStorage.setItem(\n this.localStorageKey(),\n JSON.stringify(storageObj)\n );\n }\n displayScore() {\n if (this.showResults) {\n var scoreString = \"\";\n var numQuestions;\n var percentCorrect;\n // if we have some information\n if (\n this.correctStr.length > 0 ||\n this.incorrectStr.length > 0 ||\n this.skippedStr.length > 0\n ) {\n scoreString = `Num Correct: ${this.score}. Questions: ${this.correctStr}
Num Wrong: ${this.incorrect}. Questions: ${this.incorrectStr}
Num Skipped: ${this.skipped}. Questions: ${this.skippedStr}
`;\n numQuestions = this.score + this.incorrect + this.skipped;\n percentCorrect = (this.score / numQuestions) * 100;\n scoreString +=\n \"Percent Correct: \" + percentCorrect.toFixed(2) + \"%\";\n $(this.scoreDiv).html(scoreString);\n this.scoreDiv.style.display = \"block\";\n } else {\n scoreString = `Num Correct: ${this.score}
Num Wrong: ${this.incorrect}
Num Skipped: ${this.skipped}
`;\n numQuestions = this.score + this.incorrect + this.skipped;\n percentCorrect = (this.score / numQuestions) * 100;\n scoreString +=\n \"Percent Correct: \" + percentCorrect.toFixed(2) + \"%\";\n $(this.scoreDiv).html(scoreString);\n this.scoreDiv.style.display = \"block\";\n }\n this.highlightNumberedList();\n } else {\n $(this.scoreDiv).html(\n \"Thank you for taking the exam. Your answers have been recorded.\"\n );\n this.scoreDiv.style.display = \"block\";\n }\n }\n highlightNumberedList() {\n var correctCount = this.correctStr;\n var incorrectCount = this.incorrectStr;\n var skippedCount = this.skippedStr;\n correctCount = correctCount.replace(/ /g, \"\").split(\",\");\n incorrectCount = incorrectCount.replace(/ /g, \"\").split(\",\");\n skippedCount = skippedCount.replace(/ /g, \"\").split(\",\");\n $(function () {\n var numberedBtns = $(\"ul#pageNums > ul > li\");\n if (numberedBtns.hasClass(\"answered\")) {\n numberedBtns.removeClass(\"answered\");\n }\n for (var i = 0; i < correctCount.length; i++) {\n var test = parseInt(correctCount[i]) - 1;\n numberedBtns\n .eq(parseInt(correctCount[i]) - 1)\n .addClass(\"correctCount\");\n }\n for (var j = 0; j < incorrectCount.length; j++) {\n numberedBtns\n .eq(parseInt(incorrectCount[j]) - 1)\n .addClass(\"incorrectCount\");\n }\n for (var k = 0; k < skippedCount.length; k++) {\n numberedBtns\n .eq(parseInt(skippedCount[k]) - 1)\n .addClass(\"skippedCount\");\n }\n });\n }\n}\n\n/*=======================================================\n=== Function that calls the constructors on page load ===\n=======================================================*/\n$(document).on(\"runestone:login-complete\", function () {\n $(\"[data-component=timedAssessment]\").each(function (index) {\n window.componentMap[this.id] = new Timed({\n orig: this,\n useRunestoneServices: eBookConfig.useRunestoneServices,\n });\n });\n});\n","/*==========================================\n======= Master shortanswer.js ========\n============================================\n=== This file contains the JS for ===\n=== the Runestone shortanswer component. ===\n============================================\n=== Created by ===\n=== Isaiah Mayerchak ===\n=== 7/2/15 ===\n=== Brad Miller ===\n=== 2019 ===\n==========================================*/\n\nimport RunestoneBase from \"../../common/js/runestonebase.js\";\nimport { looksLikeLatexMath } from \"../../common/js/bookfuncs.js\";\nimport \"./../css/shortanswer.css\";\n\nexport default class ShortAnswer extends RunestoneBase {\n constructor(opts) {\n super(opts);\n if (opts) {\n var orig = opts.orig; // entire

element that will be replaced by new HTML\n this.useRunestoneServices =\n opts.useRunestoneServices || eBookConfig.useRunestoneServices;\n this.origElem = orig;\n this.divid = orig.id;\n this.question = this.origElem.innerHTML;\n this.optional = false;\n this.attachURL = opts.attachURL;\n if (this.origElem.hasAttribute(\"data-optional\")) {\n this.optional = true;\n }\n if (this.origElem.hasAttribute(\"data-attachment\")) {\n this.attachment = true;\n }\n this.placeholder =\n this.origElem.getAttribute(\"data-placeholder\") ||\n \"Write your answer here\";\n this.renderHTML();\n this.caption = \"shortanswer\";\n this.addCaption(\"runestone\");\n this.checkServer(\"shortanswer\", true);\n if (typeof Prism !== \"undefined\") {\n Prism.highlightAllUnder(this.containerDiv);\n }\n if (this.attachment) {\n this.getAttachmentName();\n }\n }\n }\n\n renderHTML() {\n this.containerDiv = document.createElement(\"div\");\n this.containerDiv.id = this.divid;\n this.containerDiv.classList.add(...(this.origElem.getAttribute(\"class\") || \"\").split(\" \").filter(Boolean));\n this.newForm = document.createElement(\"form\");\n this.newForm.id = this.divid + \"_journal\";\n this.newForm.name = this.newForm.id;\n this.newForm.action = \"\";\n this.containerDiv.appendChild(this.newForm);\n this.fieldSet = document.createElement(\"fieldset\");\n this.newForm.appendChild(this.fieldSet);\n this.firstLegendDiv = document.createElement(\"div\");\n this.firstLegendDiv.innerHTML = this.question;\n this.firstLegendDiv.classList.add(\"journal-question\");\n this.firstLegendDiv.classList.add(\"exercise-statement\");\n this.fieldSet.appendChild(this.firstLegendDiv);\n this.jInputDiv = document.createElement(\"div\");\n this.jInputDiv.id = this.divid + \"_journal_input\";\n this.fieldSet.appendChild(this.jInputDiv);\n this.jOptionsDiv = document.createElement(\"div\");\n this.jOptionsDiv.classList.add(\"journal-options\");\n this.jInputDiv.appendChild(this.jOptionsDiv);\n this.jTextArea = document.createElement(\"textarea\");\n let self = this;\n this.jTextArea.onchange = function () {\n self.isAnswered = true;\n };\n this.jTextArea.id = this.divid + \"_solution\";\n this.jTextArea.setAttribute(\"aria-label\", \"textarea\");\n this.jTextArea.placeholder = this.placeholder;\n this.jTextArea.style.display = \"inline\";\n this.jTextArea.style.width = \"530px\";\n this.jTextArea.classList.add(\"form-control\");\n this.jTextArea.rows = 4;\n this.jTextArea.cols = 50;\n this.jOptionsDiv.appendChild(this.jTextArea);\n this.jTextArea.onchange = function () {\n this.isAnswered = true;\n if (this.isTimed) {\n this.feedbackDiv.innerHTML = \"Your answer is automatically saved.\";\n } else {\n this.feedbackDiv.innerHTML = \"Your answer has not been saved yet!\";\n }\n this.feedbackDiv.classList.remove(\"alert-success\");\n this.feedbackDiv.classList.add(\"alert\", \"alert-danger\");\n }.bind(this);\n this.jTextArea.addEventListener(\"input\", () => {\n this.jTextArea.style.height = \"auto\";\n this.jTextArea.style.height = `${this.jTextArea.scrollHeight}px`;\n this.renderMath(this.jTextArea.value);\n });\n this.buttonDiv = document.createElement(\"div\");\n this.fieldSet.appendChild(this.buttonDiv);\n this.submitButton = document.createElement(\"button\");\n this.submitButton.classList.add(\"btn\", \"btn-success\");\n this.submitButton.type = \"button\";\n this.submitButton.textContent = \"Save\";\n this.submitButton.onclick = function () {\n this.checkCurrentAnswer();\n this.logCurrentAnswer();\n this.renderFeedback();\n }.bind(this);\n this.buttonDiv.appendChild(this.submitButton);\n\n this.otherOptionsDiv = document.createElement(\"div\");\n this.otherOptionsDiv.style.paddingLeft = \"20px\";\n this.otherOptionsDiv.classList.add(\"journal-options\");\n this.fieldSet.appendChild(this.otherOptionsDiv);\n // add a feedback div to give user feedback\n this.feedbackDiv = document.createElement(\"div\");\n this.feedbackDiv.style.width = \"530px\";\n this.feedbackDiv.style.fontStyle = \"italic\";\n this.feedbackDiv.id = this.divid + \"_feedback\";\n this.feedbackDiv.style.display = \"none\";\n this.fieldSet.appendChild(this.feedbackDiv);\n if (this.attachment) {\n let attachDiv = document.createElement(\"div\")\n this.attachDiv = attachDiv;\n if (this.graderactive) {\n // If in grading mode make a button to create a popup with the image\n let viewButton = document.createElement(\"button\")\n viewButton.type = \"button\"\n viewButton.innerHTML = \"View Attachment\"\n viewButton.onclick = this.viewFile.bind(this);\n attachDiv.appendChild(viewButton);\n } else {\n // Otherwise make a button for the student to select a file to upload.\n this.fileUpload = document.createElement(\"input\")\n this.fileUpload.type = \"file\";\n this.fileUpload.id = `${this.divid}_fileme`;\n attachDiv.appendChild(this.fileUpload);\n }\n this.containerDiv.appendChild(attachDiv);\n }\n this.origElem.replaceWith(this.containerDiv);\n // This is a stopgap measure for when MathJax is not loaded at all. There is another\n // more difficult case that when MathJax is loaded asynchronously we will get here\n // before MathJax is loaded. In that case we will need to implement something\n // like `the solution described here `_\n if (typeof MathJax !== \"undefined\") {\n this.queueMathJax(this.containerDiv);\n }\n }\n\n renderMath(value) {\n if (looksLikeLatexMath(value)) {\n if (!this.renderedAnswer) {\n this.renderedAnswerLabel = document.createElement(\"label\");\n this.renderedAnswerLabel.innerHTML = \"Rendered Answer:\";\n this.renderedAnswerLabel.id = this.divid + \"_rendered_answer_label\";\n this.renderedAnswerLabel.style.display = \"none\";\n this.fieldSet.appendChild(this.renderedAnswerLabel);\n\n this.renderedAnswer = document.createElement(\"div\");\n this.renderedAnswer.classList.add(\"latexoutput\");\n this.renderedAnswer.setAttribute('aria-labelledby', this.renderedAnswerLabel.id);\n this.renderedAnswer.setAttribute('aria-live', \"polite\");\n this.renderedAnswer.style.display = \"none\";\n this.fieldSet.appendChild(this.renderedAnswer);\n }\n value = value.replace(/\\$\\$(.*?)\\$\\$/g, \"\\\\[ $1 \\\\]\");\n value = value.replace(/\\$(.*?)\\$/g, \"\\\\( $1 \\\\)\");\n value = value.replace(/\\n/g, \"
\");\n this.renderedAnswer.innerHTML = value;\n\n this.renderedAnswer.style.display = \"block\";\n this.renderedAnswerLabel.style.display = \"block\";\n this.queueMathJax(this.renderedAnswer);\n\n } else {\n if (this.renderedAnswer) {\n this.renderedAnswer.style.display = \"none\";\n this.renderedAnswerLabel.style.display = \"none\";\n }\n }\n }\n\n async checkCurrentAnswer() {\n let value = document.getElementById(this.divid + \"_solution\").value;\n this.renderMath(value);\n this.setLocalStorage({\n answer: value,\n timestamp: new Date(),\n });\n }\n\n async logCurrentAnswer(sid) {\n let value = document.getElementById(this.divid + \"_solution\").value;\n this.renderMath(value);\n this.setLocalStorage({\n answer: value,\n timestamp: new Date(),\n });\n let data = {\n event: \"shortanswer\",\n act: value,\n answer: value,\n div_id: this.divid,\n };\n if (typeof sid !== \"undefined\") {\n data.sid = sid;\n }\n await this.logBookEvent(data);\n if (this.attachment) {\n await this.uploadFile();\n }\n }\n\n renderFeedback() {\n this.feedbackDiv.innerHTML = \"Your answer has been saved.\";\n this.feedbackDiv.classList.remove(\"alert-danger\");\n this.feedbackDiv.classList.add(\"alert\", \"alert-success\");\n this.feedbackDiv.style.display = \"block\";\n }\n setLocalStorage(data) {\n if (!this.graderactive) {\n let key = this.localStorageKey();\n localStorage.setItem(key, JSON.stringify(data));\n }\n }\n checkLocalStorage() {\n // Repopulates the short answer text\n // which was stored into local storage.\n var answer = \"\";\n if (this.graderactive) {\n return;\n }\n var len = localStorage.length;\n if (len > 0) {\n var ex = localStorage.getItem(this.localStorageKey());\n if (ex !== null) {\n try {\n var storedData = JSON.parse(ex);\n answer = storedData.answer;\n } catch (err) {\n // error while parsing; likely due to bad value stored in storage\n console.log(err.message);\n localStorage.removeItem(this.localStorageKey());\n return;\n }\n let solution = document.getElementById(this.divid + \"_solution\");\n if (solution) {\n solution.value = answer;\n }\n this.renderMath(answer);\n }\n }\n }\n restoreAnswers(data) {\n // Restore answers from storage retrieval done in RunestoneBase\n // sometimes data.answer can be null\n if (!data.answer) {\n data.answer = \"\";\n }\n this.answer = data.answer;\n this.jTextArea.value = this.answer;\n this.renderMath(this.answer);\n\n let p = document.createElement(\"p\");\n p.classList.add(\"shortanswer__timestamp\");\n this.jInputDiv.appendChild(p);\n var tsString = \"\";\n if (data.timestamp) {\n tsString = new Date(data.timestamp).toLocaleString();\n } else {\n tsString = \"\";\n }\n p.textContent = tsString;\n this.jTextArea.style.height = \"auto\";\n this.jTextArea.style.height = `${this.jTextArea.scrollHeight}px`;\n\n if (data.last_answer) {\n this.current_answer = \"ontime\";\n let toggle_answer_button = document.createElement(\"button\");\n toggle_answer_button.type = \"button\";\n toggle_answer_button.textContent = \"Show Late Answer\";\n toggle_answer_button.classList.add(\"btn\", \"btn-warning\");\n toggle_answer_button.style.marginLeft = \"5px\";\n\n toggle_answer_button.addEventListener(\n \"click\",\n function () {\n var display_timestamp, button_text;\n if (this.current_answer === \"ontime\") {\n this.jTextArea.value = data.last_answer;\n this.answer = data.last_answer;\n display_timestamp = new Date(\n data.last_timestamp\n ).toLocaleString();\n button_text = \"Show on-Time Answer\";\n this.current_answer = \"late\";\n } else {\n this.jTextArea.value = data.answer;\n this.answer = data.answer;\n display_timestamp = tsString;\n button_text = \"Show Late Answer\";\n this.current_answer = \"ontime\";\n }\n this.renderMath(this.answer);\n p.textContent = `Submitted: ${display_timestamp}`;\n toggle_answer_button.textContent = button_text;\n }.bind(this)\n );\n\n this.buttonDiv.appendChild(toggle_answer_button);\n }\n let feedbackStr = \"\";\n if (typeof data.score !== \"undefined\") {\n feedbackStr = `Score: ${data.score}`;\n }\n if (data.comment) {\n feedbackStr += ` -- ${data.comment}`;\n }\n if (feedbackStr !== \"\") {\n this.feedbackDiv.innerHTML = feedbackStr;\n this.feedbackDiv.style.display = \"block\";\n this.feedbackDiv.classList.add(\"alert\", \"alert-success\");\n }\n }\n\n disableInteraction() {\n this.jTextArea.disabled = true;\n }\n\n async getAttachmentName() {\n // Get the attachment name from the /ns/assessment/has_attachment endpoint\n let requestUrl = `/ns/assessment/has_attachment/${this.divid}`;\n if (this.sid) {\n requestUrl += `?sid=${this.sid}`;\n }\n const response = await fetch(requestUrl);\n if (!response.ok) {\n console.error(\"Error fetching attachment name:\", response.statusText);\n return null;\n }\n const obj = await response.json();\n if (obj.detail.hasAttachment) {\n // Return the S3 key for the attachment\n let filename = obj.detail.hasAttachment;\n // filename is everthing after the last slash\n filename = filename.substring(filename.lastIndexOf(\"/\") + 1);\n let fmess = document.createElement(\"span\");\n fmess.innerHTML = `Attachment: ${filename}`;\n this.attachDiv.appendChild(fmess);\n }\n }\n\n async uploadFile() {\n const files = this.fileUpload.files\n // get the suffix from the file name\n const fileName = files[0].name;\n const suffix = fileName.split('.').pop();\n // if the suffix is not in the list of allowed suffixes, return\n if (!['jpg', 'jpeg', 'png', 'gif', 'pdf'].includes(suffix)) {\n alert(\"File type not allowed. Please upload a jpg, jpeg, png, gif, or pdf file.\");\n return;\n }\n // if the file size is greater than 5MB, return\n if (files[0].size > 5 * 1024 * 1024) {\n alert(\"File size exceeds 5MB limit. Please upload a smaller file.\");\n return;\n }\n const data = new FormData()\n if (this.fileUpload.files.length > 0) {\n data.append('file', files[0])\n fetch(`/ns/logger/upload/${this.divid}`, {\n method: 'POST',\n body: data\n })\n .then(response => response.json())\n .then(data => {\n console.log(data)\n })\n .catch(error => {\n console.error(error)\n })\n }\n }\n\n viewFile() {\n // Get the URL from the S3 API -- saved when we display in grader mode\n if (this.attachURL) {\n //window.open(this.attachURL, \"_blank\");\n //\n //switch to \n const image_window = window.open(\"\", \"_blank\")\n if (this.attachURL.indexOf('.pdf?') !== -1) {\n const embed = image_window.document.createElement(\"object\");\n embed.setAttribute(\"data\", this.attachURL);\n embed.setAttribute(\"type\", \"application/pdf\");\n embed.setAttribute(\"width\", \"800px\");\n embed.setAttribute(\"height\", \"1040px\");\n image_window.document.body.appendChild(embed);\n let alt = image_window.document.createElement(\"a\");\n alt.setAttribute(\"href\", this.attachURL);\n alt.innerText = \"Download PDF\";\n embed.appendChild(alt);\n }\n else {\n const img = image_window.document.createElement(\"img\");\n img.setAttribute(\"src\", this.attachURL);\n img.setAttribute(\"style\", \"width:100%; height:auto;\");\n image_window.document.body.appendChild(img);\n }\n } else {\n alert(\"No attachment for this student.\")\n }\n }\n}\n\n/*=================================\n== Find the custom HTML tags and ==\n== execute our code on them ==\n=================================*/\ndocument.addEventListener(\"runestone:login-complete\", function () {\n document.querySelectorAll(\"[data-component=shortanswer]\").forEach(function (el) {\n // If this element exists within a timed component, don't render it here\n if (!el.closest(\"[data-component=timedAssessment]\")) {\n try {\n window.componentMap[el.id] = new ShortAnswer({\n orig: el,\n useRunestoneServices: eBookConfig.useRunestoneServices,\n });\n } catch (err) {\n console.log(`Error rendering ShortAnswer Problem ${el.id}\n Details: ${err}`);\n }\n }\n });\n});\n","import ShortAnswer from \"./shortanswer.js\";\n\nexport default class TimedShortAnswer extends ShortAnswer {\n constructor(opts) {\n super(opts);\n this.renderTimedIcon(this.containerDiv);\n this.isTimed = true;\n this.hideButtons();\n }\n hideButtons() {\n if (this.submitButton) {\n this.submitButton.style.display = \"none\";\n }\n }\n renderTimedIcon(component) {\n // renders the clock icon on timed components. The component parameter\n // is the element that the icon should be appended to.\n var timeIconDiv = document.createElement(\"div\");\n var timeIcon = document.createElement(\"img\");\n\n timeIcon.src = \"../_static/clock.png\";\n timeIcon.style.width = \"15px\";\n timeIcon.style.height = \"15px\";\n\n timeIconDiv.className = \"timeTip\";\n timeIconDiv.title = \"\";\n timeIconDiv.appendChild(timeIcon);\n\n // If firstChild is null, insertBefore acts like appendChild\n component.insertBefore(timeIconDiv, component.firstChild);\n }\n checkCorrectTimed() {\n return \"I\"; // we ignore this in the grading\n }\n hideFeedback() {\n if (this.feedbackDiv) {\n this.feedbackDiv.style.display = \"none\";\n }\n }\n}\n\nif (typeof window.component_factory === \"undefined\") {\n window.component_factory = {};\n}\n\nwindow.component_factory.shortanswer = function (opts) {\n if (opts.timed) {\n return new TimedShortAnswer(opts);\n }\n return new ShortAnswer(opts);\n};\n"],"names":["TimedMatching","MatchingProblem","constructor","opts","super","this","renderTimedIcon","containerDiv","hideButtons","needsReinitialization","gradeBtn","style","display","helpBtn","component","timeIconDiv","document","createElement","timeIcon","src","width","height","className","title","appendChild","prepend","checkCorrectTimed","correct","hideFeedback","connList","reinitializeListeners","window","component_factory","matching","timed","Timed","orig","origElem","divid","id","children","childNodes","visited","timeLimit","limitedTime","isNaN","$","data","parseInt","startingTime","showFeedback","hasAttribute","getAttribute","showResults","random","showTimer","fullwidth","nopause","eBookConfig","enableScratchAC","running","paused","done","taken","score","incorrect","correctStr","incorrectStr","skippedStr","skipped","currentQuestionIndex","renderedQuestionArray","getNewChildren","enableDebug","body","oncontextmenu","checkAssessmentStatus","then","renderTimedAssess","bind","newChildren","runestoneChildren","querySelectorAll","i","length","push","sendInfo","div_id","course_name","course","console","log","useRunestoneServices","request","Request","new_server_prefix","method","headers","jsonHeaders","JSON","stringify","response","fetch","json","detail","tookAssessment","assessmentTaken","localStorage","clear","Promise","resolve","createRenderedQuestionArray","randomizeRQA","renderContainer","renderTimer","renderControlButtons","timedDiv","renderNavControls","renderSubmitButton","renderFeedbackContainer","replaceWith","styleExamElements","checkServer","disableCutCopyPaste","addEventListener","e","preventDefault","attr","classList","add","navDiv","flagDiv","switchContainer","switchDiv","wrapperDiv","timerContainer","showTime","controlDiv","startBtn","pauseBtn","class","tabindex","role","textContent","async","finishButton","hide","flagButton","show","mess","innerHTML","renderTimedQuestion","startAssessment","disabled","pauseAssessment","tmpLi","tmpA","pagNavList","addClass","leftContainer","leftNavButton","rightNavButton","css","flaggingPlace","flagContainer","rightContainer","ensureButtonSafety","break","qNumList","qNumWrapperList","navBtnListeners","flagBtnListener","navigateAway","state","question","isAnswered","checkCurrentAnswer","logCurrentAnswer","handleNextPrev","event","target","text","match","hasClass","j","removeClass","handleFlag","handleNumberedNav","oldIndex","buttonContainer","filter","x","skipstr","confirm","finishAssessment","scoreDiv","tmpChild","timedWrapper","initAttempts","is","temporaryValue","randomIndex","currentIndex","Math","floor","currentQuestion","rqa","newq","initialize","componentKind","component_ready_promise","renderFeedback","disableInteraction","includes","contains","handlePrevAssessment","restoreAnsweredQuestions","lastTime","Date","now","increment","logBookEvent","act","timeStamp","storageObj","answer","timestamp","setItem","localStorageKey","on","returnValue","mins","secs","minsString","secsString","beginning","timeString","minutes","timeTaken","seconds","timeTips","getElementsByClassName","setTimeout","currentTime","email","margin","border","padding","color","findTimeTaken","finalizeProblems","checkScore","displayScore","storeScore","logScore","off","assignment_id","jQuery","ajax","url","app","type","dataType","is_timed","success","retdata","message","hideTimedFeedback","substring","storage_arr","time_taken","shouldUseServer","storageDate","getItem","storedData","parse","err","removeItem","checkLocalStorage","restoreAnswers","tmpArr","reset","setLocalStorage","parsedData","numQuestions","scoreString","toFixed","html","highlightNumberedList","correctCount","incorrectCount","skippedCount","replace","split","numberedBtns","eq","k","each","index","componentMap","ShortAnswer","optional","attachURL","attachment","placeholder","renderHTML","caption","addCaption","Prism","highlightAllUnder","getAttachmentName","Boolean","newForm","name","action","fieldSet","firstLegendDiv","jInputDiv","jOptionsDiv","jTextArea","self","onchange","setAttribute","rows","cols","isTimed","feedbackDiv","remove","scrollHeight","renderMath","value","buttonDiv","submitButton","onclick","otherOptionsDiv","paddingLeft","fontStyle","attachDiv","graderactive","viewButton","viewFile","fileUpload","MathJax","queueMathJax","renderedAnswer","renderedAnswerLabel","getElementById","sid","uploadFile","key","ex","solution","p","tsString","toLocaleString","last_answer","current_answer","toggle_answer_button","marginLeft","display_timestamp","button_text","last_timestamp","feedbackStr","comment","requestUrl","ok","error","statusText","obj","hasAttachment","filename","lastIndexOf","fmess","files","suffix","pop","alert","size","FormData","append","catch","image_window","open","indexOf","embed","alt","innerText","img","forEach","el","closest","TimedShortAnswer","insertBefore","firstChild","shortanswer"],"sourceRoot":""} \ No newline at end of file diff --git a/_static/115.648ff4b5650f4c7c.js.map.gz b/_static/115.648ff4b5650f4c7c.js.map.gz deleted file mode 100644 index ea7b758..0000000 Binary files a/_static/115.648ff4b5650f4c7c.js.map.gz and /dev/null differ diff --git a/_static/126.a976f62852f30b51.js b/_static/126.a976f62852f30b51.js old mode 100644 new mode 100755 diff --git a/_static/126.a976f62852f30b51.js.gz b/_static/126.a976f62852f30b51.js.gz old mode 100644 new mode 100755 diff --git a/_static/126.a976f62852f30b51.js.map b/_static/126.a976f62852f30b51.js.map old mode 100644 new mode 100755 diff --git a/_static/126.a976f62852f30b51.js.map.gz b/_static/126.a976f62852f30b51.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/128.5bed857c54ac4e8b.js b/_static/128.5bed857c54ac4e8b.js old mode 100644 new mode 100755 diff --git a/_static/128.5bed857c54ac4e8b.js.gz b/_static/128.5bed857c54ac4e8b.js.gz old mode 100644 new mode 100755 diff --git a/_static/128.5bed857c54ac4e8b.js.map b/_static/128.5bed857c54ac4e8b.js.map old mode 100644 new mode 100755 diff --git a/_static/128.5bed857c54ac4e8b.js.map.gz b/_static/128.5bed857c54ac4e8b.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/131.ee437eeefadd750d.js b/_static/131.ee437eeefadd750d.js old mode 100644 new mode 100755 diff --git a/_static/131.ee437eeefadd750d.js.gz b/_static/131.ee437eeefadd750d.js.gz old mode 100644 new mode 100755 diff --git a/_static/131.ee437eeefadd750d.js.map b/_static/131.ee437eeefadd750d.js.map old mode 100644 new mode 100755 diff --git a/_static/131.ee437eeefadd750d.js.map.gz b/_static/131.ee437eeefadd750d.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/168.fe63e6dec2d06468.js b/_static/168.fe63e6dec2d06468.js old mode 100644 new mode 100755 diff --git a/_static/168.fe63e6dec2d06468.js.gz b/_static/168.fe63e6dec2d06468.js.gz old mode 100644 new mode 100755 diff --git a/_static/168.fe63e6dec2d06468.js.map b/_static/168.fe63e6dec2d06468.js.map old mode 100644 new mode 100755 diff --git a/_static/168.fe63e6dec2d06468.js.map.gz b/_static/168.fe63e6dec2d06468.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/186.be52164d57f4b7e4.js b/_static/186.be52164d57f4b7e4.js old mode 100644 new mode 100755 diff --git a/_static/186.be52164d57f4b7e4.js.gz b/_static/186.be52164d57f4b7e4.js.gz old mode 100644 new mode 100755 diff --git a/_static/186.be52164d57f4b7e4.js.map b/_static/186.be52164d57f4b7e4.js.map old mode 100644 new mode 100755 diff --git a/_static/186.be52164d57f4b7e4.js.map.gz b/_static/186.be52164d57f4b7e4.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/249.7ec032cf0b3ede9a.js b/_static/249.7ec032cf0b3ede9a.js old mode 100644 new mode 100755 diff --git a/_static/249.7ec032cf0b3ede9a.js.LICENSE.txt b/_static/249.7ec032cf0b3ede9a.js.LICENSE.txt old mode 100644 new mode 100755 diff --git a/_static/249.7ec032cf0b3ede9a.js.LICENSE.txt.gz b/_static/249.7ec032cf0b3ede9a.js.LICENSE.txt.gz old mode 100644 new mode 100755 diff --git a/_static/249.7ec032cf0b3ede9a.js.gz b/_static/249.7ec032cf0b3ede9a.js.gz old mode 100644 new mode 100755 diff --git a/_static/249.7ec032cf0b3ede9a.js.map b/_static/249.7ec032cf0b3ede9a.js.map old mode 100644 new mode 100755 diff --git a/_static/249.7ec032cf0b3ede9a.js.map.gz b/_static/249.7ec032cf0b3ede9a.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/115.648ff4b5650f4c7c.js b/_static/268.0659406f2c053718.js old mode 100644 new mode 100755 similarity index 70% rename from _static/115.648ff4b5650f4c7c.js rename to _static/268.0659406f2c053718.js index 7a7615a..fae7a31 --- a/_static/115.648ff4b5650f4c7c.js +++ b/_static/268.0659406f2c053718.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkWebComponents=self.webpackChunkWebComponents||[]).push([[115,198,294,350,380,621,737,819],{46424:(t,e,i)=>{i.r(e),i.d(e,{default:()=>o});var s=i(78673),n=(i(64466),i(9919),i(48819),i(73565),i(58529),i(56759),i(52420),i(14566));class r extends n.MatchingProblem{constructor(t){super(t),this.renderTimedIcon(this.containerDiv),this.hideButtons(),this.needsReinitialization=!0}hideButtons(){this.gradeBtn.style.display="none",this.helpBtn.style.display="none"}renderTimedIcon(t){var e=document.createElement("div"),i=document.createElement("img");i.src="../_static/clock.png",i.style.width="15px",i.style.height="15px",e.className="timeTip",e.title="",e.appendChild(i),t.prepend(e)}checkCorrectTimed(){switch(this.correct){case!0:return"T";case!1:return"F";default:return null}}hideFeedback(){this.connList.style.display="none"}reinitializeListeners(){}}void 0===window.component_factory&&(window.component_factory={}),window.component_factory.matching=function(t){return t.timed?new r(t):new n.MatchingProblem(t)};var a=i(10662);class o extends s.A{constructor(t){super(t);var e=t.orig;this.origElem=e,this.divid=e.id,this.children=this.origElem.childNodes,this.visited=[],this.timeLimit=0,this.limitedTime=!1,isNaN($(this.origElem).data("time"))||(this.timeLimit=60*parseInt($(this.origElem).data("time"),10),this.startingTime=this.timeLimit,this.limitedTime=!0),this.showFeedback=!0,this.origElem.hasAttribute("data-no-feedback")&&(this.showFeedback=!1),this.origElem.hasAttribute("data-show-feedback")&&("yes"===this.origElem.getAttribute("data-show-feedback")?this.showFeedback=!0:this.showFeedback=!1),this.showResults=!1,this.origElem.hasAttribute("data-result")&&(this.showResults=!1),this.random=!1,this.origElem.hasAttribute("data-random")&&(this.random=!0),this.showTimer=!0,this.origElem.hasAttribute("data-no-timer")&&(this.showTimer=!1),this.origElem.hasAttribute("data-timer")&&("yes"===this.origElem.getAttribute("data-timer")?this.showTimer=!0:this.showTimer=!1),this.fullwidth=!1,this.origElem.hasAttribute("data-fullwidth")&&(this.fullwidth=!0),this.nopause=!1,this.origElem.hasAttribute("data-no-pause")&&(this.nopause=!0),this.origElem.hasAttribute("data-pause")&&("yes"===this.origElem.getAttribute("data-pause")?this.nopause=!1:this.nopause=!0),eBookConfig.enableScratchAC=!1,this.running=0,this.paused=0,this.done=0,this.taken=0,this.score=0,this.incorrect=0,this.correctStr="",this.incorrectStr="",this.skippedStr="",this.skipped=0,this.currentQuestionIndex=0,this.renderedQuestionArray=[],this.getNewChildren(),eBookConfig.enableDebug||(document.body.oncontextmenu=function(){return!1}),this.checkAssessmentStatus().then(function(){this.renderTimedAssess()}.bind(this))}getNewChildren(){this.newChildren=[];let t=this.origElem.querySelectorAll(".runestone");for(var e=0;e1&&this.renderNavControls(),this.renderSubmitButton(),this.renderFeedbackContainer(),this.useRunestoneServices=eBookConfig.useRunestoneServices,$(this.origElem).replaceWith(this.containerDiv),this.styleExamElements(),this.checkServer("timedExam",!0)}disableCutCopyPaste(){document.addEventListener("cut",(function(t){t.preventDefault()})),document.addEventListener("copy",(function(t){t.preventDefault()})),document.addEventListener("paste",(function(t){t.preventDefault()}))}renderContainer(){this.containerDiv=document.createElement("div"),this.fullwidth&&$(this.containerDiv).attr({style:"max-width:none"}),this.containerDiv.classList.add("runestone-sphinx"),this.containerDiv.id=this.divid,this.timedDiv=document.createElement("div"),this.navDiv=document.createElement("div"),$(this.navDiv).attr({style:"text-align:center"}),this.flagDiv=document.createElement("div"),$(this.flagDiv).attr({style:"text-align: center"}),this.switchContainer=document.createElement("div"),this.switchContainer.classList.add("switchcontainer"),this.switchDiv=document.createElement("div"),this.timedDiv.appendChild(this.navDiv),this.timedDiv.appendChild(this.flagDiv),this.timedDiv.appendChild(this.switchContainer),this.switchContainer.appendChild(this.switchDiv),$(this.timedDiv).attr({id:"timed_Test",style:"display:none"})}renderTimer(){this.wrapperDiv=document.createElement("div"),this.timerContainer=document.createElement("P"),this.wrapperDiv.id=this.divid+"-startWrapper",this.timerContainer.id=this.divid+"-output",this.wrapperDiv.appendChild(this.timerContainer),this.showTime()}renderControlButtons(){this.controlDiv=document.createElement("div"),$(this.controlDiv).attr({id:"controls",style:"text-align: center"}),this.startBtn=document.createElement("button"),this.pauseBtn=document.createElement("button"),$(this.startBtn).attr({class:"btn btn-success",id:"start",tabindex:"0",role:"button"}),this.startBtn.textContent="Start",this.startBtn.addEventListener("click",async function(){$(this.finishButton).hide(),$(this.flagButton).show();let t=document.createElement("p");t.innerHTML="Warning: You will not be able to continue the exam if you close this tab, close the window, or navigate away from this page! Make sure you click the Finish Exam button when you are done to submit your work!",this.controlDiv.appendChild(t),t.classList.add("examwarning"),await this.renderTimedQuestion(),this.startAssessment()}.bind(this),!1),$(this.pauseBtn).attr({class:"btn btn-default",id:"pause",disabled:"true",tabindex:"0",role:"button"}),this.pauseBtn.textContent="Pause",this.pauseBtn.addEventListener("click",function(){this.pauseAssessment()}.bind(this),!1),this.taken||this.controlDiv.appendChild(this.startBtn),this.nopause||this.controlDiv.appendChild(this.pauseBtn),this.containerDiv.appendChild(this.wrapperDiv),this.containerDiv.appendChild(this.controlDiv)}renderNavControls(){var t,e;this.pagNavList=document.createElement("ul"),$(this.pagNavList).addClass("pagination"),this.leftContainer=document.createElement("li"),this.leftNavButton=document.createElement("button"),this.leftNavButton.innerHTML="‹ Prev",$(this.leftNavButton).attr("aria-label","Previous"),$(this.leftNavButton).attr("tabindex","0"),$(this.leftNavButton).attr("role","button"),$(this.rightNavButton).attr("id","prev"),$(this.leftNavButton).css("cursor","pointer"),this.leftContainer.appendChild(this.leftNavButton),this.pagNavList.appendChild(this.leftContainer),this.flaggingPlace=document.createElement("ul"),$(this.flaggingPlace).addClass("pagination"),this.flagContainer=document.createElement("li"),this.flagButton=document.createElement("button"),$(this.flagButton).addClass("flagBtn"),this.flagButton.innerHTML="Flag Question",$(this.flagButton).attr("aria-labelledby","Flag"),$(this.flagButton).attr("tabindex","5"),$(this.flagButton).attr("role","button"),$(this.flagButton).attr("id","flag"),$(this.flagButton).css("cursor","pointer"),this.flagContainer.appendChild(this.flagButton),this.flaggingPlace.appendChild(this.flagContainer),this.rightContainer=document.createElement("li"),this.rightNavButton=document.createElement("button"),$(this.rightNavButton).attr("aria-label","Next"),$(this.rightNavButton).attr("tabindex","0"),$(this.rightNavButton).attr("role","button"),$(this.rightNavButton).attr("id","next"),this.rightNavButton.innerHTML="Next ›",$(this.rightNavButton).css("cursor","pointer"),this.rightContainer.appendChild(this.rightNavButton),this.pagNavList.appendChild(this.rightContainer),this.ensureButtonSafety(),this.navDiv.appendChild(this.pagNavList),this.flagDiv.appendChild(this.flaggingPlace),this.break=document.createElement("br"),this.navDiv.appendChild(this.break),this.qNumList=document.createElement("ul"),$(this.qNumList).attr("id","pageNums"),this.qNumWrapperList=document.createElement("ul"),$(this.qNumWrapperList).addClass("pagination");for(var i=0;i ul > li:eq("+this.currentQuestionIndex+")").addClass("broken"),"exam_ended"==this.renderedQuestionArray[this.currentQuestionIndex].state&&$("ul#pageNums > ul > li:eq("+this.currentQuestionIndex+")").addClass("toolate"),this.renderedQuestionArray[this.currentQuestionIndex].question.isAnswered&&($("ul#pageNums > ul > li:eq("+this.currentQuestionIndex+")").addClass("answered"),await this.renderedQuestionArray[this.currentQuestionIndex].question.checkCurrentAnswer(),this.done||await this.renderedQuestionArray[this.currentQuestionIndex].question.logCurrentAnswer())}async handleNextPrev(t){this.taken||await this.navigateAway();var e=$(t.target).text();if(e.match(/Next/)){if($(this.rightContainer).hasClass("disabled"))return;this.currentQuestionIndex++}else if(e.match(/Prev/)){if($(this.leftContainer).hasClass("disabled"))return;this.currentQuestionIndex--}await this.renderTimedQuestion(),this.ensureButtonSafety();for(var i=0;i ul > li:eq("+this.currentQuestionIndex+")").addClass("active"),$("ul#pageNums > ul > li:eq("+this.currentQuestionIndex+")").hasClass("flagcolor")?this.flagButton.innerHTML="Unflag Question":this.flagButton.innerHTML="Flag Question"}async handleFlag(t){$(t.target).text().match(/Flag Question/)?($("ul#pageNums > ul > li:eq("+this.currentQuestionIndex+")").addClass("flagcolor"),this.flagButton.innerHTML="Unflag Question"):($("ul#pageNums > ul > li:eq("+this.currentQuestionIndex+")").removeClass("flagcolor"),this.flagButton.innerHTML="Flag Question")}async handleNumberedNav(t){this.taken||await this.navigateAway();for(var e=0;ethis.renderedQuestionArray.length&&(console.log(`Error: bad index for ${s}`),this.currentQuestionIndex=n),$("ul#pageNums > ul > li:eq("+this.currentQuestionIndex+")").addClass("active"),$("ul#pageNums > ul > li:eq("+this.currentQuestionIndex+")").hasClass("flagcolor")?this.flagButton.innerHTML="Unflag Question":this.flagButton.innerHTML="Flag Question",await this.renderTimedQuestion(),this.ensureButtonSafety()}navBtnListeners(){this.pagNavList.addEventListener("click",this.handleNextPrev.bind(this),!1),this.qNumList.addEventListener("click",this.handleNumberedNav.bind(this),!1)}flagBtnListener(){this.flaggingPlace.addEventListener("click",this.handleFlag.bind(this),!1)}renderSubmitButton(){this.buttonContainer=document.createElement("div"),$(this.buttonContainer).attr({style:"text-align:center"}),this.finishButton=document.createElement("button"),$(this.finishButton).attr({id:"finish",class:"btn btn-primary"}),this.finishButton.textContent="Finish Exam",this.finishButton.addEventListener("click",async function(){let t=this.renderedQuestionArray.filter((t=>!t.question.isAnswered)).length,e=t>0?`You have skipped ${t} question(s).`:"";window.confirm(`${e} Clicking OK means you are ready to submit your answers and are finished with this assessment.`)&&(await this.finishAssessment(),$(this.flagButton).hide())}.bind(this),!1),this.controlDiv.appendChild(this.finishButton),$(this.finishButton).hide(),this.timedDiv.appendChild(this.buttonContainer)}ensureButtonSafety(){0===this.currentQuestionIndex&&(1!=this.renderedQuestionArray.length&&$(this.rightContainer).removeClass("disabled"),$(this.leftContainer).addClass("disabled")),this.currentQuestionIndex>=this.renderedQuestionArray.length-1&&(1!=this.renderedQuestionArray.length&&$(this.leftContainer).removeClass("disabled"),$(this.rightContainer).addClass("disabled")),this.currentQuestionIndex>0&&this.currentQuestionIndexYou have already taken this exam",this.scoreDiv.style.display="block"):(this.scoreDiv.id=this.divid+"results",this.scoreDiv.style.display="none"),this.containerDiv.appendChild(this.scoreDiv)}createRenderedQuestionArray(){for(var t,e=0;e0&&(i=$(i).children("[data-component]")[0],t.orig=i),$(i).is("[data-component]")&&this.renderedQuestionArray.push(t)}}randomizeRQA(){for(var t,e,i=this.renderedQuestionArray.length;0!==i;)e=Math.floor(Math.random()*i),i-=1,t=this.renderedQuestionArray[i],this.renderedQuestionArray[i]=this.renderedQuestionArray[e],this.renderedQuestionArray[e]=t}async renderTimedQuestion(){if(this.currentQuestionIndex>=this.renderedQuestionArray.length)return;let t,e=this.renderedQuestionArray[this.currentQuestionIndex];if("prepared"===e.state||"forreview"===e.state||"broken_exam"===e.state&&e.initAttempts<3){let t=e.orig;if($(t).is("[data-component=selectquestion]"))if(this.done&&"prepared"==e.state)this.renderedQuestionArray[this.currentQuestionIndex].state="exam_ended";else{e.rqa=this.renderedQuestionArray;let t=new a.default(e);this.renderedQuestionArray[this.currentQuestionIndex]={question:t};try{await t.initialize(),"broken_exam"==e.state&&$(`ul#pageNums > ul > li:eq(${this.currentQuestionIndex})`).removeClass("broken")}catch(t){e.state="broken_exam",this.renderedQuestionArray[this.currentQuestionIndex]=e,console.log(`Error initializing question: Details ${t}`)}}else if($(t).is("[data-component]")){let i=$(t).data("component");this.renderedQuestionArray[this.currentQuestionIndex]={question:window.component_factory[i](e),state:e.state}}}else if("broken_exam"===e.state)return;t=this.renderedQuestionArray[this.currentQuestionIndex].question,"forreview"===e.state&&(await t.component_ready_promise,await t.checkCurrentAnswer(),t.renderFeedback(),t.disableInteraction()),this.visited.includes(this.currentQuestionIndex)||(this.visited.push(this.currentQuestionIndex),this.visited.length!==this.renderedQuestionArray.length||this.done||$(this.finishButton).show()),t.containerDiv&&(0==t.containerDiv.classList.contains("runestone")&&t.containerDiv.classList.add("runestone"),$(this.switchDiv).replaceWith(t.containerDiv),this.switchDiv=t.containerDiv),t.needsReinitialization&&t.reinitializeListeners(this.taken)}handlePrevAssessment(){$(this.startBtn).hide(),$(this.pauseBtn).attr("disabled",!0),$(this.finishButton).attr("disabled",!0),this.running=0,this.done=1,this.showResults&&this.showFeedback?($(this.timedDiv).show(),this.restoreAnsweredQuestions()):($(this.pauseBtn).hide(),$(this.timerContainer).hide())}startAssessment(){if(this.taken)this.handlePrevAssessment();else{if($("#relations-next").hide(),$("#relations-prev").hide(),$(this.startBtn).hide(),$(this.pauseBtn).attr("disabled",!1),0===this.running&&0===this.paused){this.running=1,this.lastTime=Date.now(),$(this.timedDiv).show(),this.increment(),this.logBookEvent({event:"timedExam",act:"start",div_id:this.divid});var t=new Date,e={answer:[0,0,this.renderedQuestionArray.length,0],timestamp:t};localStorage.setItem(this.localStorageKey(),JSON.stringify(e))}$(window).on("beforeunload",function(t){if(!this.done)return t.preventDefault(),t.returnValue="Are you sure you want to leave? Your work will be lost! And you will need your instructor to reset the exam!","Are you sure you want to leave? Your work will be lost!"}.bind(this)),window.addEventListener("pagehide",async function(t){this.done||(await this.finishAssessment(),console.log("Exam exited by leaving page"))}.bind(this))}}pauseAssessment(){0===this.done&&(1===this.running?(this.logBookEvent({event:"timedExam",act:"pause",div_id:this.divid}),this.running=0,this.paused=1,this.pauseBtn.innerHTML="Resume",$(this.timedDiv).hide()):(this.logBookEvent({event:"timedExam",act:"resume",div_id:this.divid}),this.running=1,this.paused=0,this.increment(),this.pauseBtn.innerHTML="Pause",$(this.timedDiv).show()))}showTime(){if(this.showTimer){var t=Math.floor(this.timeLimit/60),e=Math.floor(this.timeLimit)%60,i=t,s=e;t<10&&(i="0"+t),e<10&&(s="0"+e);var n="Time Remaining ";this.limitedTime||(n="Time Taken ");var r=n+i+":"+s;if(this.done||this.taken){var a=Math.floor(this.timeTaken/60),o=Math.floor(this.timeTaken%60);a<10&&(a="0"+a),o<10&&(o="0"+o),r="Time taken: "+a+":"+o}this.timerContainer.innerHTML=r;for(var h=document.getElementsByClassName("timeTip"),d=0;d<=h.length-1;d++)h[d].title=r}else $(this.timerContainer).hide()}increment(){1!==this.running||this.taken||setTimeout(function(){let t=Date.now();if(this.limitedTime?this.timeLimit=this.timeLimit-Math.floor((t-this.lastTime)/1e3):this.timeLimit=this.timeLimit+Math.floor((t-this.lastTime)/1e3),this.lastTime=t,localStorage.setItem(eBookConfig.email+":"+this.divid+"-time",this.timeLimit),this.showTime(),this.timeLimit>0)this.increment();else if($(this.startBtn).attr({disabled:"true"}),$(this.finishButton).attr({disabled:"true"}),this.running=0,this.done=1,!this.taken){this.taken=!0;let t=document.createElement("h1");t.innerHTML="Sorry but you ran out of time. Your answers are being submitted",this.controlDiv.appendChild(t),this.finishAssessment()}}.bind(this),1e3)}styleExamElements(){$(this.timerContainer).css({width:"50%",margin:"0 auto","background-color":"#DFF0D8","text-align":"center",border:"2px solid #DFF0D8","border-radius":"25px"}),$(this.scoreDiv).css({width:"50%",margin:"0 auto","background-color":"#DFF0D8","text-align":"center",border:"2px solid #DFF0D8","border-radius":"25px"}),$(".tooltipTime").css({margin:"0",padding:"0","background-color":"black",color:"white"})}async finishAssessment(){$("#relations-next").show(),$("#relations-prev").show(),this.showFeedback||($(this.timedDiv).hide(),$(this.pauseBtn).hide(),$(this.timerContainer).hide()),this.findTimeTaken(),this.running=0,this.done=1,this.taken=1,await this.finalizeProblems(),this.checkScore(),this.displayScore(),this.storeScore(),this.logScore(),$(this.pauseBtn).attr("disabled",!0),this.finishButton.disabled=!0,$(window).off("beforeunload");let t=this.divid;setTimeout((function(){jQuery.ajax({url:eBookConfig.app+"/assignments/student_autograde",type:"POST",dataType:"JSON",data:{assignment_id:t,is_timed:!0},success:function(t){0==t.success?console.log(t.message):console.log("Autograder completed")}})}),2e3)}async finalizeProblems(){var t=this.renderedQuestionArray[this.currentQuestionIndex].question;await t.checkCurrentAnswer(),await t.logCurrentAnswer(),t.renderFeedback(),t.disableInteraction();for(var e=0;e0?this.correctStr=this.correctStr.substring(0,this.correctStr.length-2):this.correctStr="None",this.skippedStr.length>0?this.skippedStr=this.skippedStr.substring(0,this.skippedStr.length-2):this.skippedStr="None",this.incorrectStr.length>0?this.incorrectStr=this.incorrectStr.substring(0,this.incorrectStr.length-2):this.incorrectStr="None"}findTimeTaken(){this.limitedTime?this.timeTaken=this.startingTime-this.timeLimit:this.timeTaken=this.timeLimit}storeScore(){var t=[];t.push(this.score,this.correctStr,this.incorrect,this.incorrectStr,this.skipped,this.skippedStr,this.timeTaken);var e=new Date,i=JSON.stringify({answer:t,timestamp:e});localStorage.setItem(this.localStorageKey(),i)}logScore(){this.logBookEvent({event:"timedExam",act:"finish",div_id:this.divid,correct:this.score,incorrect:this.incorrect,skipped:this.skipped,time_taken:this.timeTaken})}shouldUseServer(t){var e;if(0===localStorage.length)return!0;var i=localStorage.getItem(this.localStorageKey());if(null===i)return!0;try{var s=JSON.parse(i).answer;if(4==s.length){if(t.correct==s[0]&&t.incorrect==s[1]&&t.skipped==s[2]&&t.timeTaken==s[3])return!0}else if(7==s.length&&t.correct==s[0]&&t.incorrect==s[2]&&t.skipped==s[4]&&t.timeTaken==s[6])return!1;e=new Date(JSON.parse(i[1]).timestamp)}catch(t){return console.log(t.message),localStorage.removeItem(this.localStorageKey()),!0}return!(new Date(t.timestamp)0&&null!==localStorage.getItem(this.localStorageKey())?(this.taken=1,this.restoreAnswers("")):this.taken=0}async restoreAnswers(t){var e;if(this.taken=1,""===t)try{e=JSON.parse(localStorage.getItem(this.localStorageKey())).answer}catch(t){return console.log(t.message),localStorage.removeItem(this.localStorageKey()),void(this.taken=0)}else e=[parseInt(t.correct),parseInt(t.incorrect),parseInt(t.skipped),parseInt(t.time_taken),t.reset],this.setLocalStorage(e);if(1==e.length)return this.reset=!0,void(this.taken=0);4==e.length||5==e.length?(this.score=e[0],this.incorrect=e[1],this.skipped=e[2],this.timeTaken=e[3]):7==e.length?(this.score=e[0],this.correctStr=e[1],this.incorrect=e[2],this.incorrectStr=e[3],this.skipped=e[4],this.skippedStr=e[5],this.timeTaken=e[6]):(this.score=0,this.incorrect=0,this.skipped=this.renderedQuestionArray.length,this.timeTaken=0),this.taken&&(this.skipped===this.renderedQuestionArray.length&&(this.showFeedback=!1),this.handlePrevAssessment()),await this.renderTimedQuestion(),this.displayScore(),this.showTime()}setLocalStorage(t){var e={answer:t,timestamp:new Date};localStorage.setItem(this.localStorageKey(),JSON.stringify(e))}displayScore(){if(this.showResults){var t,e="";this.correctStr.length>0||this.incorrectStr.length>0||this.skippedStr.length>0?(e=`Num Correct: ${this.score}. Questions: ${this.correctStr}
Num Wrong: ${this.incorrect}. Questions: ${this.incorrectStr}
Num Skipped: ${this.skipped}. Questions: ${this.skippedStr}
`,t=this.score+this.incorrect+this.skipped,e+="Percent Correct: "+(this.score/t*100).toFixed(2)+"%",$(this.scoreDiv).html(e),this.scoreDiv.style.display="block"):(e=`Num Correct: ${this.score}
Num Wrong: ${this.incorrect}
Num Skipped: ${this.skipped}
`,t=this.score+this.incorrect+this.skipped,e+="Percent Correct: "+(this.score/t*100).toFixed(2)+"%",$(this.scoreDiv).html(e),this.scoreDiv.style.display="block"),this.highlightNumberedList()}else $(this.scoreDiv).html("Thank you for taking the exam. Your answers have been recorded."),this.scoreDiv.style.display="block"}highlightNumberedList(){var t=this.correctStr,e=this.incorrectStr,i=this.skippedStr;t=t.replace(/ /g,"").split(","),e=e.replace(/ /g,"").split(","),i=i.replace(/ /g,"").split(","),$((function(){var s=$("ul#pageNums > ul > li");s.hasClass("answered")&&s.removeClass("answered");for(var n=0;n{i.r(e),i.d(e,{default:()=>a});var s=i(78673),n=i(83057);class r extends s.A{constructor(t){if(super(t),t){var e=t.orig;this.useRunestoneServices=t.useRunestoneServices||eBookConfig.useRunestoneServices,this.origElem=e,this.divid=e.id,this.question=this.origElem.innerHTML,this.optional=!1,this.attachURL=t.attachURL,this.origElem.hasAttribute("data-optional")&&(this.optional=!0),this.origElem.hasAttribute("data-attachment")&&(this.attachment=!0),this.placeholder=this.origElem.getAttribute("data-placeholder")||"Write your answer here",this.renderHTML(),this.caption="shortanswer",this.addCaption("runestone"),this.checkServer("shortanswer",!0),"undefined"!=typeof Prism&&Prism.highlightAllUnder(this.containerDiv),this.attachment&&this.getAttachmentName()}}renderHTML(){this.containerDiv=document.createElement("div"),this.containerDiv.id=this.divid,this.containerDiv.classList.add(...(this.origElem.getAttribute("class")||"").split(" ").filter(Boolean)),this.newForm=document.createElement("form"),this.newForm.id=this.divid+"_journal",this.newForm.name=this.newForm.id,this.newForm.action="",this.containerDiv.appendChild(this.newForm),this.fieldSet=document.createElement("fieldset"),this.newForm.appendChild(this.fieldSet),this.firstLegendDiv=document.createElement("div"),this.firstLegendDiv.innerHTML=this.question,this.firstLegendDiv.classList.add("journal-question"),this.firstLegendDiv.classList.add("exercise-statement"),this.fieldSet.appendChild(this.firstLegendDiv),this.jInputDiv=document.createElement("div"),this.jInputDiv.id=this.divid+"_journal_input",this.fieldSet.appendChild(this.jInputDiv),this.jOptionsDiv=document.createElement("div"),this.jOptionsDiv.classList.add("journal-options"),this.jInputDiv.appendChild(this.jOptionsDiv),this.jTextArea=document.createElement("textarea");let t=this;if(this.jTextArea.onchange=function(){t.isAnswered=!0},this.jTextArea.id=this.divid+"_solution",this.jTextArea.setAttribute("aria-label","textarea"),this.jTextArea.placeholder=this.placeholder,this.jTextArea.style.display="inline",this.jTextArea.style.width="530px",this.jTextArea.classList.add("form-control"),this.jTextArea.rows=4,this.jTextArea.cols=50,this.jOptionsDiv.appendChild(this.jTextArea),this.jTextArea.onchange=function(){this.isAnswered=!0,this.isTimed?this.feedbackDiv.innerHTML="Your answer is automatically saved.":this.feedbackDiv.innerHTML="Your answer has not been saved yet!",this.feedbackDiv.classList.remove("alert-success"),this.feedbackDiv.classList.add("alert","alert-danger")}.bind(this),this.jTextArea.addEventListener("input",(()=>{this.jTextArea.style.height="auto",this.jTextArea.style.height=`${this.jTextArea.scrollHeight}px`,this.renderMath(this.jTextArea.value)})),this.buttonDiv=document.createElement("div"),this.fieldSet.appendChild(this.buttonDiv),this.submitButton=document.createElement("button"),this.submitButton.classList.add("btn","btn-success"),this.submitButton.type="button",this.submitButton.textContent="Save",this.submitButton.onclick=function(){this.checkCurrentAnswer(),this.logCurrentAnswer(),this.renderFeedback()}.bind(this),this.buttonDiv.appendChild(this.submitButton),this.otherOptionsDiv=document.createElement("div"),this.otherOptionsDiv.style.paddingLeft="20px",this.otherOptionsDiv.classList.add("journal-options"),this.fieldSet.appendChild(this.otherOptionsDiv),this.feedbackDiv=document.createElement("div"),this.feedbackDiv.style.width="530px",this.feedbackDiv.style.fontStyle="italic",this.feedbackDiv.id=this.divid+"_feedback",this.feedbackDiv.style.display="none",this.fieldSet.appendChild(this.feedbackDiv),this.attachment){let t=document.createElement("div");if(this.attachDiv=t,this.graderactive){let e=document.createElement("button");e.type="button",e.innerHTML="View Attachment",e.onclick=this.viewFile.bind(this),t.appendChild(e)}else this.fileUpload=document.createElement("input"),this.fileUpload.type="file",this.fileUpload.id=`${this.divid}_fileme`,t.appendChild(this.fileUpload);this.containerDiv.appendChild(t)}this.origElem.replaceWith(this.containerDiv),"undefined"!=typeof MathJax&&this.queueMathJax(this.containerDiv)}renderMath(t){(0,n.u)(t)?(this.renderedAnswer||(this.renderedAnswerLabel=document.createElement("label"),this.renderedAnswerLabel.innerHTML="Rendered Answer:",this.renderedAnswerLabel.id=this.divid+"_rendered_answer_label",this.renderedAnswerLabel.style.display="none",this.fieldSet.appendChild(this.renderedAnswerLabel),this.renderedAnswer=document.createElement("div"),this.renderedAnswer.classList.add("latexoutput"),this.renderedAnswer.setAttribute("aria-labelledby",this.renderedAnswerLabel.id),this.renderedAnswer.setAttribute("aria-live","polite"),this.renderedAnswer.style.display="none",this.fieldSet.appendChild(this.renderedAnswer)),t=(t=(t=t.replace(/\$\$(.*?)\$\$/g,"\\[ $1 \\]")).replace(/\$(.*?)\$/g,"\\( $1 \\)")).replace(/\n/g,"
"),this.renderedAnswer.innerHTML=t,this.renderedAnswer.style.display="block",this.renderedAnswerLabel.style.display="block",this.queueMathJax(this.renderedAnswer)):this.renderedAnswer&&(this.renderedAnswer.style.display="none",this.renderedAnswerLabel.style.display="none")}async checkCurrentAnswer(){let t=document.getElementById(this.divid+"_solution").value;this.renderMath(t),this.setLocalStorage({answer:t,timestamp:new Date})}async logCurrentAnswer(t){let e=document.getElementById(this.divid+"_solution").value;this.renderMath(e),this.setLocalStorage({answer:e,timestamp:new Date});let i={event:"shortanswer",act:e,answer:e,div_id:this.divid};void 0!==t&&(i.sid=t),await this.logBookEvent(i),this.attachment&&await this.uploadFile()}renderFeedback(){this.feedbackDiv.innerHTML="Your answer has been saved.",this.feedbackDiv.classList.remove("alert-danger"),this.feedbackDiv.classList.add("alert","alert-success"),this.feedbackDiv.style.display="block"}setLocalStorage(t){if(!this.graderactive){let e=this.localStorageKey();localStorage.setItem(e,JSON.stringify(t))}}checkLocalStorage(){var t="";if(!this.graderactive&&localStorage.length>0){var e=localStorage.getItem(this.localStorageKey());if(null!==e){try{t=JSON.parse(e).answer}catch(t){return console.log(t.message),void localStorage.removeItem(this.localStorageKey())}let i=document.getElementById(this.divid+"_solution");i&&(i.value=t),this.renderMath(t)}}}restoreAnswers(t){t.answer||(t.answer=""),this.answer=t.answer,this.jTextArea.value=this.answer,this.renderMath(this.answer);let e=document.createElement("p");e.classList.add("shortanswer__timestamp"),this.jInputDiv.appendChild(e);var i;if(i=t.timestamp?new Date(t.timestamp).toLocaleString():"",e.textContent=i,this.jTextArea.style.height="auto",this.jTextArea.style.height=`${this.jTextArea.scrollHeight}px`,t.last_answer){this.current_answer="ontime";let s=document.createElement("button");s.type="button",s.textContent="Show Late Answer",s.classList.add("btn","btn-warning"),s.style.marginLeft="5px",s.addEventListener("click",function(){var n,r;"ontime"===this.current_answer?(this.jTextArea.value=t.last_answer,this.answer=t.last_answer,n=new Date(t.last_timestamp).toLocaleString(),r="Show on-Time Answer",this.current_answer="late"):(this.jTextArea.value=t.answer,this.answer=t.answer,n=i,r="Show Late Answer",this.current_answer="ontime"),this.renderMath(this.answer),e.textContent=`Submitted: ${n}`,s.textContent=r}.bind(this)),this.buttonDiv.appendChild(s)}let s="";void 0!==t.score&&(s=`Score: ${t.score}`),t.comment&&(s+=` -- ${t.comment}`),""!==s&&(this.feedbackDiv.innerHTML=s,this.feedbackDiv.style.display="block",this.feedbackDiv.classList.add("alert","alert-success"))}disableInteraction(){this.jTextArea.disabled=!0}async getAttachmentName(){let t=`/ns/assessment/has_attachment/${this.divid}`;this.sid&&(t+=`?sid=${this.sid}`);const e=await fetch(t);if(!e.ok)return console.error("Error fetching attachment name:",e.statusText),null;const i=await e.json();if(i.detail.hasAttachment){let t=i.detail.hasAttachment;t=t.substring(t.lastIndexOf("/")+1);let e=document.createElement("span");e.innerHTML=`Attachment: ${t}`,this.attachDiv.appendChild(e)}}async uploadFile(){const t=this.fileUpload.files,e=t[0].name.split(".").pop();if(!["jpg","jpeg","png","gif","pdf"].includes(e))return void alert("File type not allowed. Please upload a jpg, jpeg, png, gif, or pdf file.");if(t[0].size>5242880)return void alert("File size exceeds 5MB limit. Please upload a smaller file.");const i=new FormData;this.fileUpload.files.length>0&&(i.append("file",t[0]),fetch(`/ns/logger/upload/${this.divid}`,{method:"POST",body:i}).then((t=>t.json())).then((t=>{console.log(t)})).catch((t=>{console.error(t)})))}viewFile(){if(this.attachURL){const t=window.open("","_blank");if(-1!==this.attachURL.indexOf(".pdf?")){const e=t.document.createElement("object");e.setAttribute("data",this.attachURL),e.setAttribute("type","application/pdf"),e.setAttribute("width","800px"),e.setAttribute("height","1040px"),t.document.body.appendChild(e);let i=t.document.createElement("a");i.setAttribute("href",this.attachURL),i.innerText="Download PDF",e.appendChild(i)}else{const e=t.document.createElement("img");e.setAttribute("src",this.attachURL),e.setAttribute("style","width:100%; height:auto;"),t.document.body.appendChild(e)}}else alert("No attachment for this student.")}}document.addEventListener("runestone:login-complete",(function(){document.querySelectorAll("[data-component=shortanswer]").forEach((function(t){if(!t.closest("[data-component=timedAssessment]"))try{window.componentMap[t.id]=new r({orig:t,useRunestoneServices:eBookConfig.useRunestoneServices})}catch(e){console.log(`Error rendering ShortAnswer Problem ${t.id}\n Details: ${e}`)}}))}));class a extends r{constructor(t){super(t),this.renderTimedIcon(this.containerDiv),this.isTimed=!0,this.hideButtons()}hideButtons(){this.submitButton&&(this.submitButton.style.display="none")}renderTimedIcon(t){var e=document.createElement("div"),i=document.createElement("img");i.src="../_static/clock.png",i.style.width="15px",i.style.height="15px",e.className="timeTip",e.title="",e.appendChild(i),t.insertBefore(e,t.firstChild)}checkCorrectTimed(){return"I"}hideFeedback(){this.feedbackDiv&&(this.feedbackDiv.style.display="none")}}void 0===window.component_factory&&(window.component_factory={}),window.component_factory.shortanswer=function(t){return t.timed?new a(t):new r(t)}}}]); -//# sourceMappingURL=115.648ff4b5650f4c7c.js.map \ No newline at end of file +"use strict";(self.webpackChunkWebComponents=self.webpackChunkWebComponents||[]).push([[198,268,294,350,380,621,737,850],{46424:(t,e,i)=>{i.r(e),i.d(e,{default:()=>o});var s=i(78673),n=(i(64466),i(9919),i(48819),i(73565),i(58529),i(56759),i(52420),i(14566));class r extends n.MatchingProblem{constructor(t){super(t),this.renderTimedIcon(this.containerDiv),this.hideButtons(),this.needsReinitialization=!0}hideButtons(){this.gradeBtn.style.display="none",this.helpBtn.style.display="none"}renderTimedIcon(t){var e=document.createElement("div"),i=document.createElement("img");i.src="../_static/clock.png",i.style.width="15px",i.style.height="15px",e.className="timeTip",e.title="",e.appendChild(i),t.prepend(e)}checkCorrectTimed(){switch(this.correct){case!0:return"T";case!1:return"F";default:return null}}hideFeedback(){this.connList.style.display="none"}reinitializeListeners(){}}void 0===window.component_factory&&(window.component_factory={}),window.component_factory.matching=function(t){return t.timed?new r(t):new n.MatchingProblem(t)};var a=i(10662);class o extends s.A{constructor(t){super(t);var e=t.orig;this.origElem=e,this.divid=e.id,this.children=this.origElem.childNodes,this.visited=[],this.timeLimit=0,this.limitedTime=!1,isNaN($(this.origElem).data("time"))||(this.timeLimit=60*parseInt($(this.origElem).data("time"),10),this.startingTime=this.timeLimit,this.limitedTime=!0),this.showFeedback=!0,this.origElem.hasAttribute("data-no-feedback")&&(this.showFeedback=!1),this.origElem.hasAttribute("data-show-feedback")&&("yes"===this.origElem.getAttribute("data-show-feedback")?this.showFeedback=!0:this.showFeedback=!1),this.showResults=!1,this.origElem.hasAttribute("data-result")&&(this.showResults=!1),this.random=!1,this.origElem.hasAttribute("data-random")&&(this.random=!0),this.showTimer=!0,this.origElem.hasAttribute("data-no-timer")&&(this.showTimer=!1),this.origElem.hasAttribute("data-timer")&&("yes"===this.origElem.getAttribute("data-timer")?this.showTimer=!0:this.showTimer=!1),this.fullwidth=!1,this.origElem.hasAttribute("data-fullwidth")&&(this.fullwidth=!0),this.nopause=!1,this.origElem.hasAttribute("data-no-pause")&&(this.nopause=!0),this.origElem.hasAttribute("data-pause")&&("yes"===this.origElem.getAttribute("data-pause")?this.nopause=!1:this.nopause=!0),eBookConfig.enableScratchAC=!1,this.running=0,this.paused=0,this.done=0,this.taken=0,this.score=0,this.incorrect=0,this.correctStr="",this.incorrectStr="",this.skippedStr="",this.skipped=0,this.currentQuestionIndex=0,this.renderedQuestionArray=[],this.getNewChildren(),eBookConfig.enableDebug||(document.body.oncontextmenu=function(){return!1}),this.checkAssessmentStatus().then(function(){this.renderTimedAssess()}.bind(this))}getNewChildren(){this.newChildren=[];let t=this.origElem.querySelectorAll(".runestone");for(var e=0;e1&&this.renderNavControls(),this.renderSubmitButton(),this.renderFeedbackContainer(),this.useRunestoneServices=eBookConfig.useRunestoneServices,$(this.origElem).replaceWith(this.containerDiv),this.styleExamElements(),this.checkServer("timedExam",!0)}disableCutCopyPaste(){document.addEventListener("cut",(function(t){t.preventDefault()})),document.addEventListener("copy",(function(t){t.preventDefault()})),document.addEventListener("paste",(function(t){t.preventDefault()}))}renderContainer(){this.containerDiv=document.createElement("div"),this.fullwidth&&$(this.containerDiv).attr({style:"max-width:none"}),this.containerDiv.classList.add("runestone-sphinx"),this.containerDiv.id=this.divid,this.timedDiv=document.createElement("div"),this.navDiv=document.createElement("div"),$(this.navDiv).attr({style:"text-align:center"}),this.flagDiv=document.createElement("div"),$(this.flagDiv).attr({style:"text-align: center"}),this.switchContainer=document.createElement("div"),this.switchContainer.classList.add("switchcontainer"),this.switchDiv=document.createElement("div"),this.timedDiv.appendChild(this.navDiv),this.timedDiv.appendChild(this.flagDiv),this.timedDiv.appendChild(this.switchContainer),this.switchContainer.appendChild(this.switchDiv),$(this.timedDiv).attr({id:"timed_Test",style:"display:none"})}renderTimer(){this.wrapperDiv=document.createElement("div"),this.timerContainer=document.createElement("P"),this.wrapperDiv.id=this.divid+"-startWrapper",this.timerContainer.id=this.divid+"-output",this.wrapperDiv.appendChild(this.timerContainer),this.showTime()}renderControlButtons(){this.controlDiv=document.createElement("div"),$(this.controlDiv).attr({id:"controls",style:"text-align: center"}),this.startBtn=document.createElement("button"),this.pauseBtn=document.createElement("button"),$(this.startBtn).attr({class:"btn btn-success",id:"start",tabindex:"0",role:"button"}),this.startBtn.textContent="Start",this.startBtn.addEventListener("click",async function(){$(this.finishButton).hide(),$(this.flagButton).show();let t=document.createElement("p");t.innerHTML="Warning: You will not be able to continue the exam if you close this tab, close the window, or navigate away from this page! Make sure you click the Finish Exam button when you are done to submit your work!",this.controlDiv.appendChild(t),t.classList.add("examwarning"),await this.renderTimedQuestion(),this.startAssessment()}.bind(this),!1),$(this.pauseBtn).attr({class:"btn btn-default",id:"pause",disabled:"true",tabindex:"0",role:"button"}),this.pauseBtn.textContent="Pause",this.pauseBtn.addEventListener("click",function(){this.pauseAssessment()}.bind(this),!1),this.taken||this.controlDiv.appendChild(this.startBtn),this.nopause||this.controlDiv.appendChild(this.pauseBtn),this.containerDiv.appendChild(this.wrapperDiv),this.containerDiv.appendChild(this.controlDiv)}renderNavControls(){var t,e;this.pagNavList=document.createElement("ul"),$(this.pagNavList).addClass("pagination"),this.leftContainer=document.createElement("li"),this.leftNavButton=document.createElement("button"),this.leftNavButton.innerHTML="‹ Prev",$(this.leftNavButton).attr("aria-label","Previous"),$(this.leftNavButton).attr("tabindex","0"),$(this.leftNavButton).attr("role","button"),$(this.rightNavButton).attr("id","prev"),$(this.leftNavButton).css("cursor","pointer"),this.leftContainer.appendChild(this.leftNavButton),this.pagNavList.appendChild(this.leftContainer),this.flaggingPlace=document.createElement("ul"),$(this.flaggingPlace).addClass("pagination"),this.flagContainer=document.createElement("li"),this.flagButton=document.createElement("button"),$(this.flagButton).addClass("flagBtn"),this.flagButton.innerHTML="Flag Question",$(this.flagButton).attr("aria-labelledby","Flag"),$(this.flagButton).attr("tabindex","5"),$(this.flagButton).attr("role","button"),$(this.flagButton).attr("id","flag"),$(this.flagButton).css("cursor","pointer"),this.flagContainer.appendChild(this.flagButton),this.flaggingPlace.appendChild(this.flagContainer),this.rightContainer=document.createElement("li"),this.rightNavButton=document.createElement("button"),$(this.rightNavButton).attr("aria-label","Next"),$(this.rightNavButton).attr("tabindex","0"),$(this.rightNavButton).attr("role","button"),$(this.rightNavButton).attr("id","next"),this.rightNavButton.innerHTML="Next ›",$(this.rightNavButton).css("cursor","pointer"),this.rightContainer.appendChild(this.rightNavButton),this.pagNavList.appendChild(this.rightContainer),this.ensureButtonSafety(),this.navDiv.appendChild(this.pagNavList),this.flagDiv.appendChild(this.flaggingPlace),this.break=document.createElement("br"),this.navDiv.appendChild(this.break),this.qNumList=document.createElement("ul"),$(this.qNumList).attr("id","pageNums"),this.qNumWrapperList=document.createElement("ul"),$(this.qNumWrapperList).addClass("pagination");for(var i=0;i ul > li:eq("+this.currentQuestionIndex+")").addClass("broken"),"exam_ended"==this.renderedQuestionArray[this.currentQuestionIndex].state&&$("ul#pageNums > ul > li:eq("+this.currentQuestionIndex+")").addClass("toolate"),this.renderedQuestionArray[this.currentQuestionIndex].question.isAnswered&&($("ul#pageNums > ul > li:eq("+this.currentQuestionIndex+")").addClass("answered"),await this.renderedQuestionArray[this.currentQuestionIndex].question.checkCurrentAnswer(),this.done||await this.renderedQuestionArray[this.currentQuestionIndex].question.logCurrentAnswer())}async handleNextPrev(t){this.taken||await this.navigateAway();var e=$(t.target).text();if(e.match(/Next/)){if($(this.rightContainer).hasClass("disabled"))return;this.currentQuestionIndex++}else if(e.match(/Prev/)){if($(this.leftContainer).hasClass("disabled"))return;this.currentQuestionIndex--}await this.renderTimedQuestion(),this.ensureButtonSafety();for(var i=0;i ul > li:eq("+this.currentQuestionIndex+")").addClass("active"),$("ul#pageNums > ul > li:eq("+this.currentQuestionIndex+")").hasClass("flagcolor")?this.flagButton.innerHTML="Unflag Question":this.flagButton.innerHTML="Flag Question"}async handleFlag(t){$(t.target).text().match(/Flag Question/)?($("ul#pageNums > ul > li:eq("+this.currentQuestionIndex+")").addClass("flagcolor"),this.flagButton.innerHTML="Unflag Question"):($("ul#pageNums > ul > li:eq("+this.currentQuestionIndex+")").removeClass("flagcolor"),this.flagButton.innerHTML="Flag Question")}async handleNumberedNav(t){this.taken||await this.navigateAway();for(var e=0;ethis.renderedQuestionArray.length&&(console.log(`Error: bad index for ${s}`),this.currentQuestionIndex=n),$("ul#pageNums > ul > li:eq("+this.currentQuestionIndex+")").addClass("active"),$("ul#pageNums > ul > li:eq("+this.currentQuestionIndex+")").hasClass("flagcolor")?this.flagButton.innerHTML="Unflag Question":this.flagButton.innerHTML="Flag Question",await this.renderTimedQuestion(),this.ensureButtonSafety()}navBtnListeners(){this.pagNavList.addEventListener("click",this.handleNextPrev.bind(this),!1),this.qNumList.addEventListener("click",this.handleNumberedNav.bind(this),!1)}flagBtnListener(){this.flaggingPlace.addEventListener("click",this.handleFlag.bind(this),!1)}renderSubmitButton(){this.buttonContainer=document.createElement("div"),$(this.buttonContainer).attr({style:"text-align:center"}),this.finishButton=document.createElement("button"),$(this.finishButton).attr({id:"finish",class:"btn btn-primary"}),this.finishButton.textContent="Finish Exam",this.finishButton.addEventListener("click",async function(){let t=this.renderedQuestionArray.filter((t=>!t.question.isAnswered)).length,e=t>0?`You have skipped ${t} question(s).`:"";window.confirm(`${e} Clicking OK means you are ready to submit your answers and are finished with this assessment.`)&&(await this.finishAssessment(),$(this.flagButton).hide())}.bind(this),!1),this.controlDiv.appendChild(this.finishButton),$(this.finishButton).hide(),this.timedDiv.appendChild(this.buttonContainer)}ensureButtonSafety(){0===this.currentQuestionIndex&&(1!=this.renderedQuestionArray.length&&$(this.rightContainer).removeClass("disabled"),$(this.leftContainer).addClass("disabled")),this.currentQuestionIndex>=this.renderedQuestionArray.length-1&&(1!=this.renderedQuestionArray.length&&$(this.leftContainer).removeClass("disabled"),$(this.rightContainer).addClass("disabled")),this.currentQuestionIndex>0&&this.currentQuestionIndexYou have already taken this exam",this.scoreDiv.style.display="block"):(this.scoreDiv.id=this.divid+"results",this.scoreDiv.style.display="none"),this.containerDiv.appendChild(this.scoreDiv)}createRenderedQuestionArray(){for(var t,e=0;e0&&(i=$(i).children("[data-component]")[0],t.orig=i),$(i).is("[data-component]")&&this.renderedQuestionArray.push(t)}}randomizeRQA(){for(var t,e,i=this.renderedQuestionArray.length;0!==i;)e=Math.floor(Math.random()*i),i-=1,t=this.renderedQuestionArray[i],this.renderedQuestionArray[i]=this.renderedQuestionArray[e],this.renderedQuestionArray[e]=t}async renderTimedQuestion(){if(this.currentQuestionIndex>=this.renderedQuestionArray.length)return;let t,e=this.renderedQuestionArray[this.currentQuestionIndex];if("prepared"===e.state||"forreview"===e.state||"broken_exam"===e.state&&e.initAttempts<3){let t=e.orig;if($(t).is("[data-component=selectquestion]"))if(this.done&&"prepared"==e.state)this.renderedQuestionArray[this.currentQuestionIndex].state="exam_ended";else{e.rqa=this.renderedQuestionArray;let t=new a.default(e);this.renderedQuestionArray[this.currentQuestionIndex]={question:t};try{await t.initialize(),"broken_exam"==e.state&&$(`ul#pageNums > ul > li:eq(${this.currentQuestionIndex})`).removeClass("broken")}catch(t){e.state="broken_exam",this.renderedQuestionArray[this.currentQuestionIndex]=e,console.log(`Error initializing question: Details ${t}`)}}else if($(t).is("[data-component]")){let i=$(t).data("component");this.renderedQuestionArray[this.currentQuestionIndex]={question:window.component_factory[i](e),state:e.state}}}else if("broken_exam"===e.state)return;t=this.renderedQuestionArray[this.currentQuestionIndex].question,"forreview"===e.state&&(await t.component_ready_promise,await t.checkCurrentAnswer(),t.renderFeedback(),t.disableInteraction()),this.visited.includes(this.currentQuestionIndex)||(this.visited.push(this.currentQuestionIndex),this.visited.length!==this.renderedQuestionArray.length||this.done||$(this.finishButton).show()),t.containerDiv&&(0==t.containerDiv.classList.contains("runestone")&&t.containerDiv.classList.add("runestone"),$(this.switchDiv).replaceWith(t.containerDiv),this.switchDiv=t.containerDiv),t.needsReinitialization&&t.reinitializeListeners(this.taken)}handlePrevAssessment(){$(this.startBtn).hide(),$(this.pauseBtn).attr("disabled",!0),$(this.finishButton).attr("disabled",!0),this.running=0,this.done=1,this.showResults&&this.showFeedback?($(this.timedDiv).show(),this.restoreAnsweredQuestions()):($(this.pauseBtn).hide(),$(this.timerContainer).hide())}startAssessment(){if(this.taken)this.handlePrevAssessment();else{if($("#relations-next").hide(),$("#relations-prev").hide(),$(this.startBtn).hide(),$(this.pauseBtn).attr("disabled",!1),0===this.running&&0===this.paused){this.running=1,this.lastTime=Date.now(),$(this.timedDiv).show(),this.increment(),this.logBookEvent({event:"timedExam",act:"start",div_id:this.divid});var t=new Date,e={answer:[0,0,this.renderedQuestionArray.length,0],timestamp:t};localStorage.setItem(this.localStorageKey(),JSON.stringify(e))}$(window).on("beforeunload",function(t){if(!this.done)return t.preventDefault(),t.returnValue="Are you sure you want to leave? Your work will be lost! And you will need your instructor to reset the exam!","Are you sure you want to leave? Your work will be lost!"}.bind(this)),window.addEventListener("pagehide",async function(t){this.done||(await this.finishAssessment(),console.log("Exam exited by leaving page"))}.bind(this))}}pauseAssessment(){0===this.done&&(1===this.running?(this.logBookEvent({event:"timedExam",act:"pause",div_id:this.divid}),this.running=0,this.paused=1,this.pauseBtn.innerHTML="Resume",$(this.timedDiv).hide()):(this.logBookEvent({event:"timedExam",act:"resume",div_id:this.divid}),this.running=1,this.paused=0,this.increment(),this.pauseBtn.innerHTML="Pause",$(this.timedDiv).show()))}showTime(){if(this.showTimer){var t=Math.floor(this.timeLimit/60),e=Math.floor(this.timeLimit)%60,i=t,s=e;t<10&&(i="0"+t),e<10&&(s="0"+e);var n="Time Remaining ";this.limitedTime||(n="Time Taken ");var r=n+i+":"+s;if(this.done||this.taken){var a=Math.floor(this.timeTaken/60),o=Math.floor(this.timeTaken%60);a<10&&(a="0"+a),o<10&&(o="0"+o),r="Time taken: "+a+":"+o}this.timerContainer.innerHTML=r;for(var h=document.getElementsByClassName("timeTip"),d=0;d<=h.length-1;d++)h[d].title=r}else $(this.timerContainer).hide()}increment(){1!==this.running||this.taken||setTimeout(function(){let t=Date.now();if(this.limitedTime?this.timeLimit=this.timeLimit-Math.floor((t-this.lastTime)/1e3):this.timeLimit=this.timeLimit+Math.floor((t-this.lastTime)/1e3),this.lastTime=t,localStorage.setItem(eBookConfig.email+":"+this.divid+"-time",this.timeLimit),this.showTime(),this.timeLimit>0)this.increment();else if($(this.startBtn).attr({disabled:"true"}),$(this.finishButton).attr({disabled:"true"}),this.running=0,this.done=1,!this.taken){this.taken=!0;let t=document.createElement("h1");t.innerHTML="Sorry but you ran out of time. Your answers are being submitted",this.controlDiv.appendChild(t),this.finishAssessment()}}.bind(this),1e3)}styleExamElements(){$(this.timerContainer).css({width:"50%",margin:"0 auto","background-color":"#DFF0D8","text-align":"center",border:"2px solid #DFF0D8","border-radius":"25px"}),$(this.scoreDiv).css({width:"50%",margin:"0 auto","background-color":"#DFF0D8","text-align":"center",border:"2px solid #DFF0D8","border-radius":"25px"}),$(".tooltipTime").css({margin:"0",padding:"0","background-color":"black",color:"white"})}async finishAssessment(){$("#relations-next").show(),$("#relations-prev").show(),this.showFeedback||($(this.timedDiv).hide(),$(this.pauseBtn).hide(),$(this.timerContainer).hide()),this.findTimeTaken(),this.running=0,this.done=1,this.taken=1,await this.finalizeProblems(),this.checkScore(),this.displayScore(),this.storeScore(),this.logScore(),$(this.pauseBtn).attr("disabled",!0),this.finishButton.disabled=!0,$(window).off("beforeunload");let t=this.divid;setTimeout((function(){jQuery.ajax({url:eBookConfig.app+"/assignments/student_autograde",type:"POST",dataType:"JSON",data:{assignment_id:t,is_timed:!0},success:function(t){0==t.success?console.log(t.message):console.log("Autograder completed")}})}),2e3)}async finalizeProblems(){var t=this.renderedQuestionArray[this.currentQuestionIndex].question;await t.checkCurrentAnswer(),await t.logCurrentAnswer(),t.renderFeedback(),t.disableInteraction();for(var e=0;e0?this.correctStr=this.correctStr.substring(0,this.correctStr.length-2):this.correctStr="None",this.skippedStr.length>0?this.skippedStr=this.skippedStr.substring(0,this.skippedStr.length-2):this.skippedStr="None",this.incorrectStr.length>0?this.incorrectStr=this.incorrectStr.substring(0,this.incorrectStr.length-2):this.incorrectStr="None"}findTimeTaken(){this.limitedTime?this.timeTaken=this.startingTime-this.timeLimit:this.timeTaken=this.timeLimit}storeScore(){var t=[];t.push(this.score,this.correctStr,this.incorrect,this.incorrectStr,this.skipped,this.skippedStr,this.timeTaken);var e=new Date,i=JSON.stringify({answer:t,timestamp:e});localStorage.setItem(this.localStorageKey(),i)}logScore(){this.logBookEvent({event:"timedExam",act:"finish",div_id:this.divid,correct:this.score,incorrect:this.incorrect,skipped:this.skipped,time_taken:this.timeTaken})}shouldUseServer(t){var e;if(0===localStorage.length)return!0;var i=localStorage.getItem(this.localStorageKey());if(null===i)return!0;try{var s=JSON.parse(i).answer;if(4==s.length){if(t.correct==s[0]&&t.incorrect==s[1]&&t.skipped==s[2]&&t.timeTaken==s[3])return!0}else if(7==s.length&&t.correct==s[0]&&t.incorrect==s[2]&&t.skipped==s[4]&&t.timeTaken==s[6])return!1;e=new Date(JSON.parse(i[1]).timestamp)}catch(t){return console.log(t.message),localStorage.removeItem(this.localStorageKey()),!0}return!(new Date(t.timestamp)0&&null!==localStorage.getItem(this.localStorageKey())?(this.taken=1,this.restoreAnswers("")):this.taken=0}async restoreAnswers(t){var e;if(this.taken=1,""===t)try{e=JSON.parse(localStorage.getItem(this.localStorageKey())).answer}catch(t){return console.log(t.message),localStorage.removeItem(this.localStorageKey()),void(this.taken=0)}else e=[parseInt(t.correct),parseInt(t.incorrect),parseInt(t.skipped),parseInt(t.time_taken),t.reset],this.setLocalStorage(e);if(1==e.length)return this.reset=!0,void(this.taken=0);4==e.length||5==e.length?(this.score=e[0],this.incorrect=e[1],this.skipped=e[2],this.timeTaken=e[3]):7==e.length?(this.score=e[0],this.correctStr=e[1],this.incorrect=e[2],this.incorrectStr=e[3],this.skipped=e[4],this.skippedStr=e[5],this.timeTaken=e[6]):(this.score=0,this.incorrect=0,this.skipped=this.renderedQuestionArray.length,this.timeTaken=0),this.taken&&(this.skipped===this.renderedQuestionArray.length&&(this.showFeedback=!1),this.handlePrevAssessment()),await this.renderTimedQuestion(),this.displayScore(),this.showTime()}setLocalStorage(t){var e={answer:t,timestamp:new Date};localStorage.setItem(this.localStorageKey(),JSON.stringify(e))}displayScore(){if(this.showResults){var t,e="";this.correctStr.length>0||this.incorrectStr.length>0||this.skippedStr.length>0?(e=`Num Correct: ${this.score}. Questions: ${this.correctStr}
Num Wrong: ${this.incorrect}. Questions: ${this.incorrectStr}
Num Skipped: ${this.skipped}. Questions: ${this.skippedStr}
`,t=this.score+this.incorrect+this.skipped,e+="Percent Correct: "+(this.score/t*100).toFixed(2)+"%",$(this.scoreDiv).html(e),this.scoreDiv.style.display="block"):(e=`Num Correct: ${this.score}
Num Wrong: ${this.incorrect}
Num Skipped: ${this.skipped}
`,t=this.score+this.incorrect+this.skipped,e+="Percent Correct: "+(this.score/t*100).toFixed(2)+"%",$(this.scoreDiv).html(e),this.scoreDiv.style.display="block"),this.highlightNumberedList()}else $(this.scoreDiv).html("Thank you for taking the exam. Your answers have been recorded."),this.scoreDiv.style.display="block"}highlightNumberedList(){var t=this.correctStr,e=this.incorrectStr,i=this.skippedStr;t=t.replace(/ /g,"").split(","),e=e.replace(/ /g,"").split(","),i=i.replace(/ /g,"").split(","),$((function(){var s=$("ul#pageNums > ul > li");s.hasClass("answered")&&s.removeClass("answered");for(var n=0;n 1) this.renderNavControls();\n this.renderSubmitButton();\n this.renderFeedbackContainer();\n this.useRunestoneServices = eBookConfig.useRunestoneServices;\n // Replace intermediate HTML with rendered HTML\n $(this.origElem).replaceWith(this.containerDiv);\n // check if already taken and if so show results\n this.styleExamElements(); // rename to renderPossibleResults\n this.checkServer(\"timedExam\", true);\n }\n\n disableCutCopyPaste() {\n document.addEventListener(\"cut\", function (e) {\n e.preventDefault();\n });\n document.addEventListener(\"copy\", function (e) {\n e.preventDefault();\n });\n document.addEventListener(\"paste\", function (e) {\n e.preventDefault();\n });\n }\n\n renderContainer() {\n this.containerDiv = document.createElement(\"div\"); // container for the entire Timed Component\n if (this.fullwidth) {\n // allow the container to fill the width - barb\n $(this.containerDiv).attr({\n style: \"max-width:none\",\n });\n }\n this.containerDiv.classList.add(\"runestone-sphinx\");\n this.containerDiv.id = this.divid;\n this.timedDiv = document.createElement(\"div\"); // div that will hold the questions for the timed assessment\n this.navDiv = document.createElement(\"div\"); // For navigation control\n $(this.navDiv).attr({\n style: \"text-align:center\",\n });\n this.flagDiv = document.createElement(\"div\"); // div that will hold the \"Flag Question\" button\n $(this.flagDiv).attr({\n style: \"text-align: center\",\n });\n this.switchContainer = document.createElement(\"div\");\n this.switchContainer.classList.add(\"switchcontainer\");\n this.switchDiv = document.createElement(\"div\"); // is replaced by the questions\n this.timedDiv.appendChild(this.navDiv);\n this.timedDiv.appendChild(this.flagDiv); // add flagDiv to timedDiv, which holds components for navigation and questions for timed assessment\n this.timedDiv.appendChild(this.switchContainer);\n this.switchContainer.appendChild(this.switchDiv);\n $(this.timedDiv).attr({\n id: \"timed_Test\",\n style: \"display:none\",\n });\n }\n\n renderTimer() {\n this.wrapperDiv = document.createElement(\"div\");\n this.timerContainer = document.createElement(\"P\");\n this.wrapperDiv.id = this.divid + \"-startWrapper\";\n this.timerContainer.id = this.divid + \"-output\";\n this.wrapperDiv.appendChild(this.timerContainer);\n this.showTime();\n }\n\n renderControlButtons() {\n this.controlDiv = document.createElement(\"div\");\n $(this.controlDiv).attr({\n id: \"controls\",\n style: \"text-align: center\",\n });\n this.startBtn = document.createElement(\"button\");\n this.pauseBtn = document.createElement(\"button\");\n $(this.startBtn).attr({\n class: \"btn btn-success\",\n id: \"start\",\n tabindex: \"0\",\n role: \"button\",\n });\n this.startBtn.textContent = \"Start\";\n this.startBtn.addEventListener(\n \"click\",\n async function () {\n $(this.finishButton).hide(); // hide the finish button for now\n $(this.flagButton).show();\n let mess = document.createElement(\"p\");\n mess.innerHTML =\n \"Warning: You will not be able to continue the exam if you close this tab, close the window, or navigate away from this page! Make sure you click the Finish Exam button when you are done to submit your work!\";\n this.controlDiv.appendChild(mess);\n mess.classList.add(\"examwarning\");\n await this.renderTimedQuestion();\n this.startAssessment();\n }.bind(this),\n false\n );\n $(this.pauseBtn).attr({\n class: \"btn btn-default\",\n id: \"pause\",\n disabled: \"true\",\n tabindex: \"0\",\n role: \"button\",\n });\n this.pauseBtn.textContent = \"Pause\";\n this.pauseBtn.addEventListener(\n \"click\",\n function () {\n this.pauseAssessment();\n }.bind(this),\n false\n );\n if (!this.taken) {\n this.controlDiv.appendChild(this.startBtn);\n }\n if (!this.nopause) {\n this.controlDiv.appendChild(this.pauseBtn);\n }\n this.containerDiv.appendChild(this.wrapperDiv);\n this.containerDiv.appendChild(this.controlDiv);\n }\n\n renderNavControls() {\n // making \"Prev\" button\n this.pagNavList = document.createElement(\"ul\");\n $(this.pagNavList).addClass(\"pagination\");\n this.leftContainer = document.createElement(\"li\");\n this.leftNavButton = document.createElement(\"button\");\n this.leftNavButton.innerHTML = \"‹ Prev\";\n $(this.leftNavButton).attr(\"aria-label\", \"Previous\");\n $(this.leftNavButton).attr(\"tabindex\", \"0\");\n $(this.leftNavButton).attr(\"role\", \"button\");\n $(this.rightNavButton).attr(\"id\", \"prev\");\n $(this.leftNavButton).css(\"cursor\", \"pointer\");\n this.leftContainer.appendChild(this.leftNavButton);\n this.pagNavList.appendChild(this.leftContainer);\n // making \"Flag Question\" button\n this.flaggingPlace = document.createElement(\"ul\");\n $(this.flaggingPlace).addClass(\"pagination\");\n this.flagContainer = document.createElement(\"li\");\n this.flagButton = document.createElement(\"button\");\n $(this.flagButton).addClass(\"flagBtn\");\n this.flagButton.innerHTML = \"Flag Question\"; // name on button\n $(this.flagButton).attr(\"aria-labelledby\", \"Flag\");\n $(this.flagButton).attr(\"tabindex\", \"5\");\n $(this.flagButton).attr(\"role\", \"button\");\n $(this.flagButton).attr(\"id\", \"flag\");\n $(this.flagButton).css(\"cursor\", \"pointer\");\n this.flagContainer.appendChild(this.flagButton); // adding button to container\n this.flaggingPlace.appendChild(this.flagContainer); // adding container to flaggingPlace\n // making \"Next\" button\n this.rightContainer = document.createElement(\"li\");\n this.rightNavButton = document.createElement(\"button\");\n $(this.rightNavButton).attr(\"aria-label\", \"Next\");\n $(this.rightNavButton).attr(\"tabindex\", \"0\");\n $(this.rightNavButton).attr(\"role\", \"button\");\n $(this.rightNavButton).attr(\"id\", \"next\");\n this.rightNavButton.innerHTML = \"Next ›\";\n $(this.rightNavButton).css(\"cursor\", \"pointer\");\n this.rightContainer.appendChild(this.rightNavButton);\n this.pagNavList.appendChild(this.rightContainer);\n this.ensureButtonSafety();\n this.navDiv.appendChild(this.pagNavList);\n this.flagDiv.appendChild(this.flaggingPlace); // adds flaggingPlace to the flagDiv\n this.break = document.createElement(\"br\");\n this.navDiv.appendChild(this.break);\n // render the question number jump buttons\n this.qNumList = document.createElement(\"ul\");\n $(this.qNumList).attr(\"id\", \"pageNums\");\n this.qNumWrapperList = document.createElement(\"ul\");\n $(this.qNumWrapperList).addClass(\"pagination\");\n var tmpLi, tmpA;\n for (var i = 0; i < this.renderedQuestionArray.length; i++) {\n tmpLi = document.createElement(\"li\");\n tmpA = document.createElement(\"a\");\n tmpA.innerHTML = i + 1;\n $(tmpA).css(\"cursor\", \"pointer\");\n if (i === 0) {\n $(tmpLi).addClass(\"active\");\n }\n tmpLi.appendChild(tmpA);\n this.qNumWrapperList.appendChild(tmpLi);\n }\n this.qNumList.appendChild(this.qNumWrapperList);\n this.navDiv.appendChild(this.qNumList);\n this.navBtnListeners();\n this.flagBtnListener(); // listens for click on flag button\n $(this.flagButton).hide();\n }\n\n // when moving off of a question in an active exam:\n // 1. show that the question has been seen, or mark it broken if it is in error.\n // 2. check and log the current answer\n async navigateAway() {\n if (\n this.renderedQuestionArray[this.currentQuestionIndex].state ==\n \"broken_exam\"\n ) {\n $(\n \"ul#pageNums > ul > li:eq(\" + this.currentQuestionIndex + \")\"\n ).addClass(\"broken\");\n }\n if (\n this.renderedQuestionArray[this.currentQuestionIndex].state ==\n \"exam_ended\"\n ) {\n $(\n \"ul#pageNums > ul > li:eq(\" + this.currentQuestionIndex + \")\"\n ).addClass(\"toolate\");\n }\n if (\n this.renderedQuestionArray[this.currentQuestionIndex].question\n .isAnswered\n ) {\n $(\n \"ul#pageNums > ul > li:eq(\" + this.currentQuestionIndex + \")\"\n ).addClass(\"answered\");\n await this.renderedQuestionArray[\n this.currentQuestionIndex\n ].question.checkCurrentAnswer();\n if (!this.done) {\n await this.renderedQuestionArray[\n this.currentQuestionIndex\n ].question.logCurrentAnswer();\n }\n }\n }\n async handleNextPrev(event) {\n if (!this.taken) {\n await this.navigateAway();\n }\n var target = $(event.target).text();\n if (target.match(/Next/)) {\n // checks given text to match \"Next\"\n if ($(this.rightContainer).hasClass(\"disabled\")) {\n return;\n }\n this.currentQuestionIndex++;\n } else if (target.match(/Prev/)) {\n // checks given text to match \"Prev\"\n if ($(this.leftContainer).hasClass(\"disabled\")) {\n return;\n }\n this.currentQuestionIndex--;\n }\n await this.renderTimedQuestion();\n this.ensureButtonSafety();\n for (var i = 0; i < this.qNumList.childNodes.length; i++) {\n for (\n var j = 0;\n j < this.qNumList.childNodes[i].childNodes.length;\n j++\n ) {\n $(this.qNumList.childNodes[i].childNodes[j]).removeClass(\n \"active\"\n );\n }\n }\n $(\n \"ul#pageNums > ul > li:eq(\" + this.currentQuestionIndex + \")\"\n ).addClass(\"active\");\n if (\n $(\n \"ul#pageNums > ul > li:eq(\" + this.currentQuestionIndex + \")\"\n ).hasClass(\"flagcolor\")\n ) {\n // checking for class\n this.flagButton.innerHTML = \"Unflag Question\"; // changes text on button\n } else {\n this.flagButton.innerHTML = \"Flag Question\"; // changes text on button\n }\n }\n\n async handleFlag(event) {\n // called when flag button is clicked\n var target = $(event.target).text();\n if (target.match(/Flag Question/)) {\n $(\n \"ul#pageNums > ul > li:eq(\" + this.currentQuestionIndex + \")\"\n ).addClass(\"flagcolor\"); // class will change color of question block\n this.flagButton.innerHTML = \"Unflag Question\";\n } else {\n $(\n \"ul#pageNums > ul > li:eq(\" + this.currentQuestionIndex + \")\"\n ).removeClass(\"flagcolor\"); // will restore current color of question block\n this.flagButton.innerHTML = \"Flag Question\"; // also sets name back\n }\n }\n\n async handleNumberedNav(event) {\n if (!this.taken) {\n await this.navigateAway();\n }\n for (var i = 0; i < this.qNumList.childNodes.length; i++) {\n for (\n var j = 0;\n j < this.qNumList.childNodes[i].childNodes.length;\n j++\n ) {\n $(this.qNumList.childNodes[i].childNodes[j]).removeClass(\n \"active\"\n );\n }\n }\n\n var target = $(event.target).text();\n let oldIndex = this.currentQuestionIndex;\n this.currentQuestionIndex = parseInt(target) - 1;\n if (this.currentQuestionIndex > this.renderedQuestionArray.length) {\n console.log(`Error: bad index for ${target}`);\n this.currentQuestionIndex = oldIndex;\n }\n $(\n \"ul#pageNums > ul > li:eq(\" + this.currentQuestionIndex + \")\"\n ).addClass(\"active\");\n if (\n $(\n \"ul#pageNums > ul > li:eq(\" + this.currentQuestionIndex + \")\" // checking for flagcolor class\n ).hasClass(\"flagcolor\")\n ) {\n this.flagButton.innerHTML = \"Unflag Question\";\n } else {\n this.flagButton.innerHTML = \"Flag Question\";\n }\n await this.renderTimedQuestion();\n this.ensureButtonSafety();\n }\n\n // set up events for navigation\n navBtnListeners() {\n // Next and Prev Listener\n this.pagNavList.addEventListener(\n \"click\",\n this.handleNextPrev.bind(this),\n false\n );\n\n // Numbered Listener\n this.qNumList.addEventListener(\n \"click\",\n this.handleNumberedNav.bind(this),\n false\n );\n }\n\n // set up event for flag\n flagBtnListener() {\n this.flaggingPlace.addEventListener(\n \"click\",\n this.handleFlag.bind(this), // calls this to take action\n false\n );\n }\n\n renderSubmitButton() {\n this.buttonContainer = document.createElement(\"div\");\n $(this.buttonContainer).attr({\n style: \"text-align:center\",\n });\n this.finishButton = document.createElement(\"button\");\n $(this.finishButton).attr({\n id: \"finish\",\n class: \"btn btn-primary\",\n });\n this.finishButton.textContent = \"Finish Exam\";\n this.finishButton.addEventListener(\n \"click\",\n async function () {\n let skipped =\n this.renderedQuestionArray.filter((x) => !x.question.isAnswered).length;\n let skipstr = skipped > 0 ? `You have skipped ${skipped} question(s).` : \"\";\n if (\n window.confirm(\n `${skipstr} Clicking OK means you are ready to submit your answers and are finished with this assessment.`\n )\n ) {\n await this.finishAssessment();\n $(this.flagButton).hide();\n }\n }.bind(this),\n false\n );\n this.controlDiv.appendChild(this.finishButton);\n $(this.finishButton).hide();\n this.timedDiv.appendChild(this.buttonContainer);\n }\n ensureButtonSafety() {\n if (this.currentQuestionIndex === 0) {\n if (this.renderedQuestionArray.length != 1) {\n $(this.rightContainer).removeClass(\"disabled\");\n }\n $(this.leftContainer).addClass(\"disabled\");\n }\n if (\n this.currentQuestionIndex >=\n this.renderedQuestionArray.length - 1\n ) {\n if (this.renderedQuestionArray.length != 1) {\n $(this.leftContainer).removeClass(\"disabled\");\n }\n $(this.rightContainer).addClass(\"disabled\");\n }\n if (\n this.currentQuestionIndex > 0 &&\n this.currentQuestionIndex < this.renderedQuestionArray.length - 1\n ) {\n $(this.rightContainer).removeClass(\"disabled\");\n $(this.leftContainer).removeClass(\"disabled\");\n }\n }\n renderFeedbackContainer() {\n this.scoreDiv = document.createElement(\"P\");\n if (this.taken) {\n this.scoreDiv.innerHTML = \"

You have already taken this exam

\";\n this.scoreDiv.style.display = \"block\";\n } else {\n this.scoreDiv.id = this.divid + \"results\";\n this.scoreDiv.style.display = \"none\";\n }\n this.containerDiv.appendChild(this.scoreDiv);\n }\n\n createRenderedQuestionArray() {\n // this finds all the assess questions in this timed assessment\n // We need to make a list of all the questions up front so we can set up navigation\n // but we do not want to render the questions until the student has navigated\n // Also adds them to this.renderedQuestionArray\n\n // todo: This needs to be updated to account for the runestone div wrapper.\n\n // To accommodate the selectquestion type -- which is async! we need to wrap\n // all of this in a promise, so that we don't continue to render the timed\n // exam until all of the questions have been realized.\n var opts;\n for (var i = 0; i < this.newChildren.length; i++) {\n var tmpChild = this.newChildren[i];\n opts = {\n state: \"prepared\",\n orig: tmpChild,\n question: {},\n useRunestoneServices: eBookConfig.useRunestoneServices,\n timed: true,\n assessmentTaken: this.taken,\n timedWrapper: this.divid,\n initAttempts: 0,\n };\n if ($(tmpChild).children(\"[data-component]\").length > 0) {\n tmpChild = $(tmpChild).children(\"[data-component]\")[0];\n opts.orig = tmpChild;\n }\n if ($(tmpChild).is(\"[data-component]\")) {\n this.renderedQuestionArray.push(opts);\n }\n }\n }\n\n randomizeRQA() {\n var currentIndex = this.renderedQuestionArray.length,\n temporaryValue,\n randomIndex;\n // While there remain elements to shuffle...\n while (currentIndex !== 0) {\n // Pick a remaining element...\n randomIndex = Math.floor(Math.random() * currentIndex);\n currentIndex -= 1;\n // And swap it with the current element.\n temporaryValue = this.renderedQuestionArray[currentIndex];\n this.renderedQuestionArray[currentIndex] =\n this.renderedQuestionArray[randomIndex];\n this.renderedQuestionArray[randomIndex] = temporaryValue;\n }\n }\n\n async renderTimedQuestion() {\n if (this.currentQuestionIndex >= this.renderedQuestionArray.length) {\n // sometimes the user clicks in the event area for the qNumList\n // But misses a number in that case the text is the concatenation\n // of all the numbers in the list!\n return;\n }\n // check the renderedQuestionArray to see if it has been rendered.\n let opts = this.renderedQuestionArray[this.currentQuestionIndex];\n let currentQuestion;\n if (\n opts.state === \"prepared\" ||\n opts.state === \"forreview\" ||\n (opts.state === \"broken_exam\" && opts.initAttempts < 3)\n ) {\n let tmpChild = opts.orig;\n if ($(tmpChild).is(\"[data-component=selectquestion]\")) {\n if (this.done && opts.state == \"prepared\") {\n this.renderedQuestionArray[\n this.currentQuestionIndex\n ].state = \"exam_ended\";\n } else {\n // SelectOne is async and will replace itself in this array with\n // the actual selected question\n opts.rqa = this.renderedQuestionArray;\n let newq = new SelectOne(opts);\n this.renderedQuestionArray[this.currentQuestionIndex] = {\n question: newq,\n };\n try {\n await newq.initialize();\n if (opts.state == \"broken_exam\") {\n // remove the broken class from this question if we get here.\n $(\n `ul#pageNums > ul > li:eq(${this.currentQuestionIndex})`\n ).removeClass(\"broken\");\n }\n } catch (e) {\n opts.state = \"broken_exam\";\n this.renderedQuestionArray[this.currentQuestionIndex] =\n opts;\n console.log(\n `Error initializing question: Details ${e}`\n );\n }\n }\n } else if ($(tmpChild).is(\"[data-component]\")) {\n let componentKind = $(tmpChild).data(\"component\");\n this.renderedQuestionArray[this.currentQuestionIndex] = {\n question: window.component_factory[componentKind](opts),\n state: opts.state,\n };\n }\n } else if (opts.state === \"broken_exam\") {\n return;\n }\n\n currentQuestion =\n this.renderedQuestionArray[this.currentQuestionIndex].question;\n if (opts.state === \"forreview\") {\n await currentQuestion.component_ready_promise;\n await currentQuestion.checkCurrentAnswer();\n currentQuestion.renderFeedback();\n currentQuestion.disableInteraction();\n }\n\n if (!this.visited.includes(this.currentQuestionIndex)) {\n this.visited.push(this.currentQuestionIndex);\n if (\n this.visited.length === this.renderedQuestionArray.length &&\n !this.done\n ) {\n $(this.finishButton).show();\n }\n }\n\n if (currentQuestion.containerDiv) {\n if (\n currentQuestion.containerDiv.classList.contains(\"runestone\") ==\n false\n ) {\n currentQuestion.containerDiv.classList.add(\"runestone\");\n }\n $(this.switchDiv).replaceWith(currentQuestion.containerDiv);\n this.switchDiv = currentQuestion.containerDiv;\n }\n\n // If the timed component has listeners, those might need to be reinitialized\n // This flag will only be set in the elements that need it--it will be undefined in the others and thus evaluate to false\n if (currentQuestion.needsReinitialization) {\n currentQuestion.reinitializeListeners(this.taken);\n }\n }\n\n /*=================================\n === Timer and control Functions ===\n =================================*/\n handlePrevAssessment() {\n $(this.startBtn).hide();\n $(this.pauseBtn).attr(\"disabled\", true);\n $(this.finishButton).attr(\"disabled\", true);\n this.running = 0;\n this.done = 1;\n // showFeedback sand showResults should both be true before we show the\n // questions and their state of correctness.\n if (this.showResults && this.showFeedback) {\n $(this.timedDiv).show();\n this.restoreAnsweredQuestions(); // do not log these results\n } else {\n $(this.pauseBtn).hide();\n $(this.timerContainer).hide();\n }\n }\n startAssessment() {\n if (!this.taken) {\n $(\"#relations-next\").hide(); // hide the next page button for now\n $(\"#relations-prev\").hide(); // hide the previous button for now\n $(this.startBtn).hide();\n $(this.pauseBtn).attr(\"disabled\", false);\n if (this.running === 0 && this.paused === 0) {\n this.running = 1;\n this.lastTime = Date.now();\n $(this.timedDiv).show();\n this.increment();\n this.logBookEvent({\n event: \"timedExam\",\n act: \"start\",\n div_id: this.divid,\n });\n var timeStamp = new Date();\n var storageObj = {\n answer: [0, 0, this.renderedQuestionArray.length, 0],\n timestamp: timeStamp,\n };\n localStorage.setItem(\n this.localStorageKey(),\n JSON.stringify(storageObj)\n );\n }\n $(window).on(\n \"beforeunload\",\n function (event) {\n // this actual value gets ignored by newer browsers\n if (this.done) {\n return;\n }\n event.preventDefault();\n event.returnValue =\n \"Are you sure you want to leave? Your work will be lost! And you will need your instructor to reset the exam!\";\n return \"Are you sure you want to leave? Your work will be lost!\";\n }.bind(this)\n );\n window.addEventListener(\n \"pagehide\",\n async function (event) {\n if (!this.done) {\n await this.finishAssessment();\n console.log(\"Exam exited by leaving page\");\n }\n }.bind(this)\n );\n } else {\n this.handlePrevAssessment();\n }\n }\n pauseAssessment() {\n if (this.done === 0) {\n if (this.running === 1) {\n this.logBookEvent({\n event: \"timedExam\",\n act: \"pause\",\n div_id: this.divid,\n });\n this.running = 0;\n this.paused = 1;\n this.pauseBtn.innerHTML = \"Resume\";\n $(this.timedDiv).hide();\n } else {\n this.logBookEvent({\n event: \"timedExam\",\n act: \"resume\",\n div_id: this.divid,\n });\n this.running = 1;\n this.paused = 0;\n this.increment();\n this.pauseBtn.innerHTML = \"Pause\";\n $(this.timedDiv).show();\n }\n }\n }\n\n showTime() {\n if (this.showTimer) {\n var mins = Math.floor(this.timeLimit / 60);\n var secs = Math.floor(this.timeLimit) % 60;\n var minsString = mins;\n var secsString = secs;\n if (mins < 10) {\n minsString = \"0\" + mins;\n }\n if (secs < 10) {\n secsString = \"0\" + secs;\n }\n var beginning = \"Time Remaining \";\n if (!this.limitedTime) {\n beginning = \"Time Taken \";\n }\n var timeString = beginning + minsString + \":\" + secsString;\n if (this.done || this.taken) {\n var minutes = Math.floor(this.timeTaken / 60);\n var seconds = Math.floor(this.timeTaken % 60);\n if (minutes < 10) {\n minutes = \"0\" + minutes;\n }\n if (seconds < 10) {\n seconds = \"0\" + seconds;\n }\n timeString = \"Time taken: \" + minutes + \":\" + seconds;\n }\n this.timerContainer.innerHTML = timeString;\n var timeTips = document.getElementsByClassName(\"timeTip\");\n for (var i = 0; i <= timeTips.length - 1; i++) {\n timeTips[i].title = timeString;\n }\n } else {\n $(this.timerContainer).hide();\n }\n }\n\n increment() {\n // if running (not paused) and not taken\n if (this.running === 1 && !this.taken) {\n setTimeout(\n function () {\n // When a browser loses focus, setTimeout may not be called on the\n // schedule expected. Browsers are free to save power by lengthening\n // the interval to some longer time. So we cannot just subtract 1\n // from the timeLimit we need to measure the elapsed time from the last\n // call to the current call and subtract that number of seconds.\n let currentTime = Date.now();\n if (this.limitedTime) {\n // If there's a time limit, count down to 0\n this.timeLimit =\n this.timeLimit -\n Math.floor((currentTime - this.lastTime) / 1000);\n } else {\n // Else count up to keep track of how long it took to complete\n this.timeLimit =\n this.timeLimit +\n Math.floor((currentTime - this.lastTime) / 1000);\n }\n this.lastTime = currentTime;\n localStorage.setItem(\n eBookConfig.email + \":\" + this.divid + \"-time\",\n this.timeLimit\n );\n this.showTime();\n if (this.timeLimit > 0) {\n this.increment();\n // ran out of time\n } else {\n $(this.startBtn).attr({\n disabled: \"true\",\n });\n $(this.finishButton).attr({\n disabled: \"true\",\n });\n this.running = 0;\n this.done = 1;\n if (!this.taken) {\n this.taken = true;\n // embed the message in the page -- an alert actually prevents\n // the answers from being submitted and if a student closes their\n // laptop then the answers will not be submitted ever! Even when they\n // reopen the laptop their session cookie is likely invalid.\n let mess = document.createElement(\"h1\");\n mess.innerHTML =\n \"Sorry but you ran out of time. Your answers are being submitted\";\n this.controlDiv.appendChild(mess);\n this.finishAssessment();\n }\n }\n }.bind(this),\n 1000\n );\n }\n }\n\n styleExamElements() {\n // Checks if this exam has been taken before\n $(this.timerContainer).css({\n width: \"50%\",\n margin: \"0 auto\",\n \"background-color\": \"#DFF0D8\",\n \"text-align\": \"center\",\n border: \"2px solid #DFF0D8\",\n \"border-radius\": \"25px\",\n });\n $(this.scoreDiv).css({\n width: \"50%\",\n margin: \"0 auto\",\n \"background-color\": \"#DFF0D8\",\n \"text-align\": \"center\",\n border: \"2px solid #DFF0D8\",\n \"border-radius\": \"25px\",\n });\n $(\".tooltipTime\").css({\n margin: \"0\",\n padding: \"0\",\n \"background-color\": \"black\",\n color: \"white\",\n });\n }\n\n async finishAssessment() {\n $(\"#relations-next\").show(); // show the next page button for now\n $(\"#relations-prev\").show(); // show the previous button for now\n if (!this.showFeedback) {\n // bje - changed from showResults\n $(this.timedDiv).hide();\n $(this.pauseBtn).hide();\n $(this.timerContainer).hide();\n }\n this.findTimeTaken();\n this.running = 0;\n this.done = 1;\n this.taken = 1;\n await this.finalizeProblems();\n this.checkScore();\n this.displayScore();\n this.storeScore();\n this.logScore();\n $(this.pauseBtn).attr(\"disabled\", true);\n this.finishButton.disabled = true;\n $(window).off(\"beforeunload\");\n // turn off the pagehide listener\n let assignment_id = this.divid;\n setTimeout(function () {\n jQuery.ajax({\n url: eBookConfig.app + \"/assignments/student_autograde\",\n type: \"POST\",\n dataType: \"JSON\",\n data: {\n assignment_id: assignment_id,\n is_timed: true,\n },\n success: function (retdata) {\n if (retdata.success == false) {\n console.log(retdata.message);\n } else {\n console.log(\"Autograder completed\");\n }\n },\n });\n }, 2000);\n }\n\n // finalizeProblems\n // ----------------\n async finalizeProblems() {\n // Because we have submitted each question as we navigate we only need to\n // send the final version of the question the student is on when they press the\n // finish exam button.\n\n var currentQuestion =\n this.renderedQuestionArray[this.currentQuestionIndex].question;\n await currentQuestion.checkCurrentAnswer();\n await currentQuestion.logCurrentAnswer();\n currentQuestion.renderFeedback();\n currentQuestion.disableInteraction();\n\n for (var i = 0; i < this.renderedQuestionArray.length; i++) {\n let currentQuestion = this.renderedQuestionArray[i];\n // set the state to forreview so we know that feedback may be appropriate\n if (currentQuestion.state !== \"broken_exam\") {\n currentQuestion.state = \"forreview\";\n currentQuestion.question.disableInteraction();\n }\n }\n\n if (!this.showFeedback) {\n this.hideTimedFeedback();\n }\n }\n\n // restoreAnsweredQuestions\n // ------------------------\n restoreAnsweredQuestions() {\n for (var i = 0; i < this.renderedQuestionArray.length; i++) {\n var currentQuestion = this.renderedQuestionArray[i];\n if (currentQuestion.state === \"prepared\") {\n currentQuestion.state = \"forreview\";\n }\n }\n }\n\n // hideTimedFeedback\n // -----------------\n hideTimedFeedback() {\n for (var i = 0; i < this.renderedQuestionArray.length; i++) {\n var currentQuestion = this.renderedQuestionArray[i].question;\n currentQuestion.hideFeedback();\n }\n }\n\n // checkScore\n // ----------\n // This is a simple all or nothing score of one point per question for\n // that includes our best guess if a question was skipped.\n checkScore() {\n this.correctStr = \"\";\n this.skippedStr = \"\";\n this.incorrectStr = \"\";\n // Gets the score of each problem\n for (var i = 0; i < this.renderedQuestionArray.length; i++) {\n var correct =\n this.renderedQuestionArray[i].question.checkCorrectTimed();\n if (correct == \"T\") {\n this.score++;\n this.correctStr = this.correctStr + (i + 1) + \", \";\n } else if (correct == \"F\") {\n this.incorrect++;\n this.incorrectStr = this.incorrectStr + (i + 1) + \", \";\n } else if (correct === null || correct === \"I\") {\n this.skipped++;\n this.skippedStr = this.skippedStr + (i + 1) + \", \";\n } else {\n // ignored question; just do nothing\n }\n }\n // remove extra comma and space at end if any\n if (this.correctStr.length > 0)\n this.correctStr = this.correctStr.substring(\n 0,\n this.correctStr.length - 2\n );\n else this.correctStr = \"None\";\n if (this.skippedStr.length > 0)\n this.skippedStr = this.skippedStr.substring(\n 0,\n this.skippedStr.length - 2\n );\n else this.skippedStr = \"None\";\n if (this.incorrectStr.length > 0)\n this.incorrectStr = this.incorrectStr.substring(\n 0,\n this.incorrectStr.length - 2\n );\n else this.incorrectStr = \"None\";\n }\n findTimeTaken() {\n if (this.limitedTime) {\n this.timeTaken = this.startingTime - this.timeLimit;\n } else {\n this.timeTaken = this.timeLimit;\n }\n }\n storeScore() {\n var storage_arr = [];\n storage_arr.push(\n this.score,\n this.correctStr,\n this.incorrect,\n this.incorrectStr,\n this.skipped,\n this.skippedStr,\n this.timeTaken\n );\n var timeStamp = new Date();\n var storageObj = JSON.stringify({\n answer: storage_arr,\n timestamp: timeStamp,\n });\n localStorage.setItem(this.localStorageKey(), storageObj);\n }\n // _`timed exam endpoint parameters`\n //----------------------------------\n logScore() {\n this.logBookEvent({\n event: \"timedExam\",\n act: \"finish\",\n div_id: this.divid,\n correct: this.score,\n incorrect: this.incorrect,\n skipped: this.skipped,\n time_taken: this.timeTaken,\n });\n }\n shouldUseServer(data) {\n // We override the RunestoneBase version because there is no \"correct\" attribute, and there are 2 possible localStorage schemas\n // --we also want to default to local storage because it contains more information specifically which questions are correct, incorrect, and skipped.\n var storageDate;\n if (localStorage.length === 0) return true;\n var storageObj = localStorage.getItem(this.localStorageKey());\n if (storageObj === null) return true;\n try {\n var storedData = JSON.parse(storageObj).answer;\n if (storedData.length == 4) {\n if (\n data.correct == storedData[0] &&\n data.incorrect == storedData[1] &&\n data.skipped == storedData[2] &&\n data.timeTaken == storedData[3]\n )\n return true;\n } else if (storedData.length == 7) {\n if (\n data.correct == storedData[0] &&\n data.incorrect == storedData[2] &&\n data.skipped == storedData[4] &&\n data.timeTaken == storedData[6]\n ) {\n return false; // In this case, because local storage has more info, we want to use that if it's consistent\n }\n }\n storageDate = new Date(JSON.parse(storageObj[1]).timestamp);\n } catch (err) {\n // error while parsing; likely due to bad value stored in storage\n console.log(err.message);\n localStorage.removeItem(this.localStorageKey());\n return true;\n }\n var serverDate = new Date(data.timestamp);\n if (serverDate < storageDate) {\n this.logScore();\n return false;\n }\n return true;\n }\n\n checkLocalStorage() {\n var len = localStorage.length;\n if (len > 0) {\n if (localStorage.getItem(this.localStorageKey()) !== null) {\n this.taken = 1;\n this.restoreAnswers(\"\");\n } else {\n this.taken = 0;\n }\n } else {\n this.taken = 0;\n }\n }\n async restoreAnswers(data) {\n this.taken = 1;\n var tmpArr;\n if (data === \"\") {\n try {\n tmpArr = JSON.parse(\n localStorage.getItem(this.localStorageKey())\n ).answer;\n } catch (err) {\n // error while parsing; likely due to bad value stored in storage\n console.log(err.message);\n localStorage.removeItem(this.localStorageKey());\n this.taken = 0;\n return;\n }\n } else {\n // Parse results from the database\n tmpArr = [\n parseInt(data.correct),\n parseInt(data.incorrect),\n parseInt(data.skipped),\n parseInt(data.time_taken),\n data.reset,\n ];\n this.setLocalStorage(tmpArr);\n }\n if (tmpArr.length == 1) {\n // Exam was previously reset\n this.reset = true;\n this.taken = 0;\n return;\n }\n if (tmpArr.length == 4) {\n // Accidental Reload OR Database Entry\n this.score = tmpArr[0];\n this.incorrect = tmpArr[1];\n this.skipped = tmpArr[2];\n this.timeTaken = tmpArr[3];\n } else if (tmpArr.length == 5) {\n this.score = tmpArr[0];\n this.incorrect = tmpArr[1];\n this.skipped = tmpArr[2];\n this.timeTaken = tmpArr[3];\n } else if (tmpArr.length == 7) {\n // Loaded Completed Exam\n this.score = tmpArr[0];\n this.correctStr = tmpArr[1];\n this.incorrect = tmpArr[2];\n this.incorrectStr = tmpArr[3];\n this.skipped = tmpArr[4];\n this.skippedStr = tmpArr[5];\n this.timeTaken = tmpArr[6];\n } else {\n // Set localStorage in case of \"accidental\" reload\n this.score = 0;\n this.incorrect = 0;\n this.skipped = this.renderedQuestionArray.length;\n this.timeTaken = 0;\n }\n if (this.taken) {\n if (this.skipped === this.renderedQuestionArray.length) {\n this.showFeedback = false;\n }\n this.handlePrevAssessment();\n }\n await this.renderTimedQuestion();\n this.displayScore();\n this.showTime();\n }\n setLocalStorage(parsedData) {\n var timeStamp = new Date();\n var storageObj = {\n answer: parsedData,\n timestamp: timeStamp,\n };\n localStorage.setItem(\n this.localStorageKey(),\n JSON.stringify(storageObj)\n );\n }\n displayScore() {\n if (this.showResults) {\n var scoreString = \"\";\n var numQuestions;\n var percentCorrect;\n // if we have some information\n if (\n this.correctStr.length > 0 ||\n this.incorrectStr.length > 0 ||\n this.skippedStr.length > 0\n ) {\n scoreString = `Num Correct: ${this.score}. Questions: ${this.correctStr}
Num Wrong: ${this.incorrect}. Questions: ${this.incorrectStr}
Num Skipped: ${this.skipped}. Questions: ${this.skippedStr}
`;\n numQuestions = this.score + this.incorrect + this.skipped;\n percentCorrect = (this.score / numQuestions) * 100;\n scoreString +=\n \"Percent Correct: \" + percentCorrect.toFixed(2) + \"%\";\n $(this.scoreDiv).html(scoreString);\n this.scoreDiv.style.display = \"block\";\n } else {\n scoreString = `Num Correct: ${this.score}
Num Wrong: ${this.incorrect}
Num Skipped: ${this.skipped}
`;\n numQuestions = this.score + this.incorrect + this.skipped;\n percentCorrect = (this.score / numQuestions) * 100;\n scoreString +=\n \"Percent Correct: \" + percentCorrect.toFixed(2) + \"%\";\n $(this.scoreDiv).html(scoreString);\n this.scoreDiv.style.display = \"block\";\n }\n this.highlightNumberedList();\n } else {\n $(this.scoreDiv).html(\n \"Thank you for taking the exam. Your answers have been recorded.\"\n );\n this.scoreDiv.style.display = \"block\";\n }\n }\n highlightNumberedList() {\n var correctCount = this.correctStr;\n var incorrectCount = this.incorrectStr;\n var skippedCount = this.skippedStr;\n correctCount = correctCount.replace(/ /g, \"\").split(\",\");\n incorrectCount = incorrectCount.replace(/ /g, \"\").split(\",\");\n skippedCount = skippedCount.replace(/ /g, \"\").split(\",\");\n $(function () {\n var numberedBtns = $(\"ul#pageNums > ul > li\");\n if (numberedBtns.hasClass(\"answered\")) {\n numberedBtns.removeClass(\"answered\");\n }\n for (var i = 0; i < correctCount.length; i++) {\n var test = parseInt(correctCount[i]) - 1;\n numberedBtns\n .eq(parseInt(correctCount[i]) - 1)\n .addClass(\"correctCount\");\n }\n for (var j = 0; j < incorrectCount.length; j++) {\n numberedBtns\n .eq(parseInt(incorrectCount[j]) - 1)\n .addClass(\"incorrectCount\");\n }\n for (var k = 0; k < skippedCount.length; k++) {\n numberedBtns\n .eq(parseInt(skippedCount[k]) - 1)\n .addClass(\"skippedCount\");\n }\n });\n }\n}\n\n/*=======================================================\n=== Function that calls the constructors on page load ===\n=======================================================*/\n$(document).on(\"runestone:login-complete\", function () {\n $(\"[data-component=timedAssessment]\").each(function (index) {\n window.componentMap[this.id] = new Timed({\n orig: this,\n useRunestoneServices: eBookConfig.useRunestoneServices,\n });\n });\n});\n"],"names":["TimedMatching","MatchingProblem","constructor","opts","super","this","renderTimedIcon","containerDiv","hideButtons","needsReinitialization","gradeBtn","style","display","helpBtn","component","timeIconDiv","document","createElement","timeIcon","src","width","height","className","title","appendChild","prepend","checkCorrectTimed","correct","hideFeedback","connList","reinitializeListeners","window","component_factory","matching","timed","Timed","orig","origElem","divid","id","children","childNodes","visited","timeLimit","limitedTime","isNaN","$","data","parseInt","startingTime","showFeedback","hasAttribute","getAttribute","showResults","random","showTimer","fullwidth","nopause","eBookConfig","enableScratchAC","running","paused","done","taken","score","incorrect","correctStr","incorrectStr","skippedStr","skipped","currentQuestionIndex","renderedQuestionArray","getNewChildren","enableDebug","body","oncontextmenu","checkAssessmentStatus","then","renderTimedAssess","bind","newChildren","runestoneChildren","querySelectorAll","i","length","push","sendInfo","div_id","course_name","course","console","log","useRunestoneServices","request","Request","new_server_prefix","method","headers","jsonHeaders","JSON","stringify","response","fetch","json","detail","tookAssessment","assessmentTaken","localStorage","clear","Promise","resolve","createRenderedQuestionArray","randomizeRQA","renderContainer","renderTimer","renderControlButtons","timedDiv","renderNavControls","renderSubmitButton","renderFeedbackContainer","replaceWith","styleExamElements","checkServer","disableCutCopyPaste","addEventListener","e","preventDefault","attr","classList","add","navDiv","flagDiv","switchContainer","switchDiv","wrapperDiv","timerContainer","showTime","controlDiv","startBtn","pauseBtn","class","tabindex","role","textContent","async","finishButton","hide","flagButton","show","mess","innerHTML","renderTimedQuestion","startAssessment","disabled","pauseAssessment","tmpLi","tmpA","pagNavList","addClass","leftContainer","leftNavButton","rightNavButton","css","flaggingPlace","flagContainer","rightContainer","ensureButtonSafety","break","qNumList","qNumWrapperList","navBtnListeners","flagBtnListener","navigateAway","state","question","isAnswered","checkCurrentAnswer","logCurrentAnswer","handleNextPrev","event","target","text","match","hasClass","j","removeClass","handleFlag","handleNumberedNav","oldIndex","buttonContainer","filter","x","skipstr","confirm","finishAssessment","scoreDiv","tmpChild","timedWrapper","initAttempts","is","temporaryValue","randomIndex","currentIndex","Math","floor","currentQuestion","rqa","newq","initialize","componentKind","component_ready_promise","renderFeedback","disableInteraction","includes","contains","handlePrevAssessment","restoreAnsweredQuestions","lastTime","Date","now","increment","logBookEvent","act","timeStamp","storageObj","answer","timestamp","setItem","localStorageKey","on","returnValue","mins","secs","minsString","secsString","beginning","timeString","minutes","timeTaken","seconds","timeTips","getElementsByClassName","setTimeout","currentTime","email","margin","border","padding","color","findTimeTaken","finalizeProblems","checkScore","displayScore","storeScore","logScore","off","assignment_id","jQuery","ajax","url","app","type","dataType","is_timed","success","retdata","message","hideTimedFeedback","substring","storage_arr","time_taken","shouldUseServer","storageDate","getItem","storedData","parse","err","removeItem","checkLocalStorage","restoreAnswers","tmpArr","reset","setLocalStorage","parsedData","numQuestions","scoreString","toFixed","html","highlightNumberedList","correctCount","incorrectCount","skippedCount","replace","split","numberedBtns","eq","k","each","index","componentMap"],"sourceRoot":""} \ No newline at end of file diff --git a/_static/268.0659406f2c053718.js.map.gz b/_static/268.0659406f2c053718.js.map.gz new file mode 100755 index 0000000..dbe65b7 Binary files /dev/null and b/_static/268.0659406f2c053718.js.map.gz differ diff --git a/_static/28.bb005543f41af5fb.js b/_static/28.bb005543f41af5fb.js old mode 100644 new mode 100755 diff --git a/_static/28.bb005543f41af5fb.js.LICENSE.txt b/_static/28.bb005543f41af5fb.js.LICENSE.txt old mode 100644 new mode 100755 diff --git a/_static/28.bb005543f41af5fb.js.gz b/_static/28.bb005543f41af5fb.js.gz old mode 100644 new mode 100755 diff --git a/_static/28.bb005543f41af5fb.js.map b/_static/28.bb005543f41af5fb.js.map old mode 100644 new mode 100755 diff --git a/_static/28.bb005543f41af5fb.js.map.gz b/_static/28.bb005543f41af5fb.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/296.37eb8c05642d8ef9.js b/_static/296.37eb8c05642d8ef9.js old mode 100644 new mode 100755 diff --git a/_static/296.37eb8c05642d8ef9.js.gz b/_static/296.37eb8c05642d8ef9.js.gz old mode 100644 new mode 100755 diff --git a/_static/296.37eb8c05642d8ef9.js.map b/_static/296.37eb8c05642d8ef9.js.map old mode 100644 new mode 100755 diff --git a/_static/296.37eb8c05642d8ef9.js.map.gz b/_static/296.37eb8c05642d8ef9.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/340.c525bd899366c5f9.js b/_static/340.c525bd899366c5f9.js old mode 100644 new mode 100755 diff --git a/_static/340.c525bd899366c5f9.js.gz b/_static/340.c525bd899366c5f9.js.gz old mode 100644 new mode 100755 diff --git a/_static/340.c525bd899366c5f9.js.map b/_static/340.c525bd899366c5f9.js.map old mode 100644 new mode 100755 diff --git a/_static/340.c525bd899366c5f9.js.map.gz b/_static/340.c525bd899366c5f9.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/357.a6fa55aea0c38a63.js b/_static/357.a6fa55aea0c38a63.js old mode 100644 new mode 100755 diff --git a/_static/357.a6fa55aea0c38a63.js.LICENSE.txt b/_static/357.a6fa55aea0c38a63.js.LICENSE.txt old mode 100644 new mode 100755 diff --git a/_static/357.a6fa55aea0c38a63.js.LICENSE.txt.gz b/_static/357.a6fa55aea0c38a63.js.LICENSE.txt.gz old mode 100644 new mode 100755 diff --git a/_static/357.a6fa55aea0c38a63.js.gz b/_static/357.a6fa55aea0c38a63.js.gz old mode 100644 new mode 100755 diff --git a/_static/357.a6fa55aea0c38a63.js.map b/_static/357.a6fa55aea0c38a63.js.map old mode 100644 new mode 100755 diff --git a/_static/357.a6fa55aea0c38a63.js.map.gz b/_static/357.a6fa55aea0c38a63.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/39.dc45aaf5abca8027.js b/_static/39.dc45aaf5abca8027.js old mode 100644 new mode 100755 diff --git a/_static/39.dc45aaf5abca8027.js.LICENSE.txt b/_static/39.dc45aaf5abca8027.js.LICENSE.txt old mode 100644 new mode 100755 diff --git a/_static/39.dc45aaf5abca8027.js.gz b/_static/39.dc45aaf5abca8027.js.gz old mode 100644 new mode 100755 diff --git a/_static/39.dc45aaf5abca8027.js.map b/_static/39.dc45aaf5abca8027.js.map old mode 100644 new mode 100755 diff --git a/_static/39.dc45aaf5abca8027.js.map.gz b/_static/39.dc45aaf5abca8027.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/412.5965503d81003593.js b/_static/412.5965503d81003593.js old mode 100644 new mode 100755 diff --git a/_static/412.5965503d81003593.js.gz b/_static/412.5965503d81003593.js.gz old mode 100644 new mode 100755 diff --git a/_static/412.5965503d81003593.js.map b/_static/412.5965503d81003593.js.map old mode 100644 new mode 100755 diff --git a/_static/412.5965503d81003593.js.map.gz b/_static/412.5965503d81003593.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/420.8dae5ad08a4e52ad.js b/_static/420.8dae5ad08a4e52ad.js old mode 100644 new mode 100755 diff --git a/_static/420.8dae5ad08a4e52ad.js.LICENSE.txt b/_static/420.8dae5ad08a4e52ad.js.LICENSE.txt old mode 100644 new mode 100755 diff --git a/_static/420.8dae5ad08a4e52ad.js.gz b/_static/420.8dae5ad08a4e52ad.js.gz old mode 100644 new mode 100755 diff --git a/_static/420.8dae5ad08a4e52ad.js.map b/_static/420.8dae5ad08a4e52ad.js.map old mode 100644 new mode 100755 diff --git a/_static/420.8dae5ad08a4e52ad.js.map.gz b/_static/420.8dae5ad08a4e52ad.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/442.f48919e396acaa18.js b/_static/442.f48919e396acaa18.js old mode 100644 new mode 100755 diff --git a/_static/442.f48919e396acaa18.js.gz b/_static/442.f48919e396acaa18.js.gz old mode 100644 new mode 100755 diff --git a/_static/442.f48919e396acaa18.js.map b/_static/442.f48919e396acaa18.js.map old mode 100644 new mode 100755 diff --git a/_static/442.f48919e396acaa18.js.map.gz b/_static/442.f48919e396acaa18.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/460.bae9001422d7a484.js b/_static/460.bae9001422d7a484.js old mode 100644 new mode 100755 diff --git a/_static/460.bae9001422d7a484.js.gz b/_static/460.bae9001422d7a484.js.gz old mode 100644 new mode 100755 diff --git a/_static/460.bae9001422d7a484.js.map b/_static/460.bae9001422d7a484.js.map old mode 100644 new mode 100755 diff --git a/_static/460.bae9001422d7a484.js.map.gz b/_static/460.bae9001422d7a484.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/466.4e1a3fb09520281a.js b/_static/466.4e1a3fb09520281a.js old mode 100644 new mode 100755 diff --git a/_static/466.4e1a3fb09520281a.js.gz b/_static/466.4e1a3fb09520281a.js.gz old mode 100644 new mode 100755 diff --git a/_static/466.4e1a3fb09520281a.js.map b/_static/466.4e1a3fb09520281a.js.map old mode 100644 new mode 100755 diff --git a/_static/466.4e1a3fb09520281a.js.map.gz b/_static/466.4e1a3fb09520281a.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/486.78d96ffc5c65634b.js b/_static/486.78d96ffc5c65634b.js old mode 100644 new mode 100755 diff --git a/_static/486.78d96ffc5c65634b.js.gz b/_static/486.78d96ffc5c65634b.js.gz old mode 100644 new mode 100755 diff --git a/_static/486.78d96ffc5c65634b.js.map b/_static/486.78d96ffc5c65634b.js.map old mode 100644 new mode 100755 diff --git a/_static/486.78d96ffc5c65634b.js.map.gz b/_static/486.78d96ffc5c65634b.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/4ba85deaf3670942.woff b/_static/4ba85deaf3670942.woff old mode 100644 new mode 100755 diff --git a/_static/529.115400ffea03835d.js b/_static/529.115400ffea03835d.js old mode 100644 new mode 100755 diff --git a/_static/529.115400ffea03835d.js.gz b/_static/529.115400ffea03835d.js.gz old mode 100644 new mode 100755 diff --git a/_static/529.115400ffea03835d.js.map b/_static/529.115400ffea03835d.js.map old mode 100644 new mode 100755 diff --git a/_static/529.115400ffea03835d.js.map.gz b/_static/529.115400ffea03835d.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/566.0e38ac5442cc38c2.js b/_static/566.0e38ac5442cc38c2.js old mode 100644 new mode 100755 diff --git a/_static/566.0e38ac5442cc38c2.js.gz b/_static/566.0e38ac5442cc38c2.js.gz old mode 100644 new mode 100755 diff --git a/_static/566.0e38ac5442cc38c2.js.map b/_static/566.0e38ac5442cc38c2.js.map old mode 100644 new mode 100755 diff --git a/_static/566.0e38ac5442cc38c2.js.map.gz b/_static/566.0e38ac5442cc38c2.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/576.f923ab1e9910a1be.js b/_static/576.f923ab1e9910a1be.js old mode 100644 new mode 100755 diff --git a/_static/576.f923ab1e9910a1be.js.gz b/_static/576.f923ab1e9910a1be.js.gz old mode 100644 new mode 100755 diff --git a/_static/576.f923ab1e9910a1be.js.map b/_static/576.f923ab1e9910a1be.js.map old mode 100644 new mode 100755 diff --git a/_static/576.f923ab1e9910a1be.js.map.gz b/_static/576.f923ab1e9910a1be.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/580.f387819ad2e14f0a.js b/_static/580.f387819ad2e14f0a.js old mode 100644 new mode 100755 diff --git a/_static/580.f387819ad2e14f0a.js.gz b/_static/580.f387819ad2e14f0a.js.gz old mode 100644 new mode 100755 diff --git a/_static/580.f387819ad2e14f0a.js.map b/_static/580.f387819ad2e14f0a.js.map old mode 100644 new mode 100755 diff --git a/_static/580.f387819ad2e14f0a.js.map.gz b/_static/580.f387819ad2e14f0a.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/616.89f80a32caf41aef.js b/_static/616.89f80a32caf41aef.js old mode 100644 new mode 100755 diff --git a/_static/616.89f80a32caf41aef.js.gz b/_static/616.89f80a32caf41aef.js.gz old mode 100644 new mode 100755 diff --git a/_static/616.89f80a32caf41aef.js.map b/_static/616.89f80a32caf41aef.js.map old mode 100644 new mode 100755 diff --git a/_static/616.89f80a32caf41aef.js.map.gz b/_static/616.89f80a32caf41aef.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/625.120987bdd5293ae3.js b/_static/625.120987bdd5293ae3.js old mode 100644 new mode 100755 diff --git a/_static/625.120987bdd5293ae3.js.LICENSE.txt b/_static/625.120987bdd5293ae3.js.LICENSE.txt old mode 100644 new mode 100755 diff --git a/_static/625.120987bdd5293ae3.js.LICENSE.txt.gz b/_static/625.120987bdd5293ae3.js.LICENSE.txt.gz old mode 100644 new mode 100755 diff --git a/_static/625.120987bdd5293ae3.js.gz b/_static/625.120987bdd5293ae3.js.gz old mode 100644 new mode 100755 diff --git a/_static/625.120987bdd5293ae3.js.map b/_static/625.120987bdd5293ae3.js.map old mode 100644 new mode 100755 diff --git a/_static/625.120987bdd5293ae3.js.map.gz b/_static/625.120987bdd5293ae3.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/640.cbc8d3a34deb8837.js b/_static/640.cbc8d3a34deb8837.js old mode 100644 new mode 100755 diff --git a/_static/640.cbc8d3a34deb8837.js.map b/_static/640.cbc8d3a34deb8837.js.map old mode 100644 new mode 100755 diff --git a/_static/640.cbc8d3a34deb8837.js.map.gz b/_static/640.cbc8d3a34deb8837.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/662.1bb5065279414751.js b/_static/662.1bb5065279414751.js old mode 100644 new mode 100755 diff --git a/_static/662.1bb5065279414751.js.gz b/_static/662.1bb5065279414751.js.gz old mode 100644 new mode 100755 diff --git a/_static/662.1bb5065279414751.js.map b/_static/662.1bb5065279414751.js.map old mode 100644 new mode 100755 diff --git a/_static/662.1bb5065279414751.js.map.gz b/_static/662.1bb5065279414751.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/669.05a3639d12541567.js b/_static/669.05a3639d12541567.js old mode 100644 new mode 100755 diff --git a/_static/669.05a3639d12541567.js.LICENSE.txt b/_static/669.05a3639d12541567.js.LICENSE.txt old mode 100644 new mode 100755 diff --git a/_static/669.05a3639d12541567.js.gz b/_static/669.05a3639d12541567.js.gz old mode 100644 new mode 100755 diff --git a/_static/669.05a3639d12541567.js.map b/_static/669.05a3639d12541567.js.map old mode 100644 new mode 100755 diff --git a/_static/669.05a3639d12541567.js.map.gz b/_static/669.05a3639d12541567.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/680.ec85c3ce31480628.js b/_static/680.ec85c3ce31480628.js old mode 100644 new mode 100755 diff --git a/_static/680.ec85c3ce31480628.js.gz b/_static/680.ec85c3ce31480628.js.gz old mode 100644 new mode 100755 diff --git a/_static/680.ec85c3ce31480628.js.map b/_static/680.ec85c3ce31480628.js.map old mode 100644 new mode 100755 diff --git a/_static/680.ec85c3ce31480628.js.map.gz b/_static/680.ec85c3ce31480628.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/759.f27ff66e7ad33076.js b/_static/759.f27ff66e7ad33076.js old mode 100644 new mode 100755 diff --git a/_static/759.f27ff66e7ad33076.js.gz b/_static/759.f27ff66e7ad33076.js.gz old mode 100644 new mode 100755 diff --git a/_static/759.f27ff66e7ad33076.js.map b/_static/759.f27ff66e7ad33076.js.map old mode 100644 new mode 100755 diff --git a/_static/759.f27ff66e7ad33076.js.map.gz b/_static/759.f27ff66e7ad33076.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/764.c33a81cafe63d2b6.js b/_static/764.c33a81cafe63d2b6.js old mode 100644 new mode 100755 diff --git a/_static/764.c33a81cafe63d2b6.js.LICENSE.txt b/_static/764.c33a81cafe63d2b6.js.LICENSE.txt old mode 100644 new mode 100755 diff --git a/_static/764.c33a81cafe63d2b6.js.LICENSE.txt.gz b/_static/764.c33a81cafe63d2b6.js.LICENSE.txt.gz old mode 100644 new mode 100755 diff --git a/_static/764.c33a81cafe63d2b6.js.gz b/_static/764.c33a81cafe63d2b6.js.gz old mode 100644 new mode 100755 diff --git a/_static/764.c33a81cafe63d2b6.js.map b/_static/764.c33a81cafe63d2b6.js.map old mode 100644 new mode 100755 diff --git a/_static/764.c33a81cafe63d2b6.js.map.gz b/_static/764.c33a81cafe63d2b6.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/770.7bd6d39128dde910.js b/_static/770.7bd6d39128dde910.js old mode 100644 new mode 100755 diff --git a/_static/770.7bd6d39128dde910.js.LICENSE.txt b/_static/770.7bd6d39128dde910.js.LICENSE.txt old mode 100644 new mode 100755 diff --git a/_static/770.7bd6d39128dde910.js.LICENSE.txt.gz b/_static/770.7bd6d39128dde910.js.LICENSE.txt.gz old mode 100644 new mode 100755 diff --git a/_static/770.7bd6d39128dde910.js.gz b/_static/770.7bd6d39128dde910.js.gz old mode 100644 new mode 100755 diff --git a/_static/770.7bd6d39128dde910.js.map b/_static/770.7bd6d39128dde910.js.map old mode 100644 new mode 100755 diff --git a/_static/770.7bd6d39128dde910.js.map.gz b/_static/770.7bd6d39128dde910.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/7a0f4b092e86cb52.eot b/_static/7a0f4b092e86cb52.eot old mode 100644 new mode 100755 diff --git a/_static/817.3438cd0f1b0f98bc.js b/_static/817.3438cd0f1b0f98bc.js old mode 100644 new mode 100755 diff --git a/_static/817.3438cd0f1b0f98bc.js.gz b/_static/817.3438cd0f1b0f98bc.js.gz old mode 100644 new mode 100755 diff --git a/_static/817.3438cd0f1b0f98bc.js.map b/_static/817.3438cd0f1b0f98bc.js.map old mode 100644 new mode 100755 diff --git a/_static/817.3438cd0f1b0f98bc.js.map.gz b/_static/817.3438cd0f1b0f98bc.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/819.3e20e27de12f3abf.js b/_static/819.3e20e27de12f3abf.js deleted file mode 100644 index d4812e7..0000000 --- a/_static/819.3e20e27de12f3abf.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkWebComponents=self.webpackChunkWebComponents||[]).push([[819],{48819:(e,t,i)=>{i.r(t),i.d(t,{default:()=>r});var s=i(78673),n=i(83057);class a extends s.A{constructor(e){if(super(e),e){var t=e.orig;this.useRunestoneServices=e.useRunestoneServices||eBookConfig.useRunestoneServices,this.origElem=t,this.divid=t.id,this.question=this.origElem.innerHTML,this.optional=!1,this.attachURL=e.attachURL,this.origElem.hasAttribute("data-optional")&&(this.optional=!0),this.origElem.hasAttribute("data-attachment")&&(this.attachment=!0),this.placeholder=this.origElem.getAttribute("data-placeholder")||"Write your answer here",this.renderHTML(),this.caption="shortanswer",this.addCaption("runestone"),this.checkServer("shortanswer",!0),"undefined"!=typeof Prism&&Prism.highlightAllUnder(this.containerDiv),this.attachment&&this.getAttachmentName()}}renderHTML(){this.containerDiv=document.createElement("div"),this.containerDiv.id=this.divid,this.containerDiv.classList.add(...(this.origElem.getAttribute("class")||"").split(" ").filter(Boolean)),this.newForm=document.createElement("form"),this.newForm.id=this.divid+"_journal",this.newForm.name=this.newForm.id,this.newForm.action="",this.containerDiv.appendChild(this.newForm),this.fieldSet=document.createElement("fieldset"),this.newForm.appendChild(this.fieldSet),this.firstLegendDiv=document.createElement("div"),this.firstLegendDiv.innerHTML=this.question,this.firstLegendDiv.classList.add("journal-question"),this.firstLegendDiv.classList.add("exercise-statement"),this.fieldSet.appendChild(this.firstLegendDiv),this.jInputDiv=document.createElement("div"),this.jInputDiv.id=this.divid+"_journal_input",this.fieldSet.appendChild(this.jInputDiv),this.jOptionsDiv=document.createElement("div"),this.jOptionsDiv.classList.add("journal-options"),this.jInputDiv.appendChild(this.jOptionsDiv),this.jTextArea=document.createElement("textarea");let e=this;if(this.jTextArea.onchange=function(){e.isAnswered=!0},this.jTextArea.id=this.divid+"_solution",this.jTextArea.setAttribute("aria-label","textarea"),this.jTextArea.placeholder=this.placeholder,this.jTextArea.style.display="inline",this.jTextArea.style.width="530px",this.jTextArea.classList.add("form-control"),this.jTextArea.rows=4,this.jTextArea.cols=50,this.jOptionsDiv.appendChild(this.jTextArea),this.jTextArea.onchange=function(){this.isAnswered=!0,this.isTimed?this.feedbackDiv.innerHTML="Your answer is automatically saved.":this.feedbackDiv.innerHTML="Your answer has not been saved yet!",this.feedbackDiv.classList.remove("alert-success"),this.feedbackDiv.classList.add("alert","alert-danger")}.bind(this),this.jTextArea.addEventListener("input",(()=>{this.jTextArea.style.height="auto",this.jTextArea.style.height=`${this.jTextArea.scrollHeight}px`,this.renderMath(this.jTextArea.value)})),this.buttonDiv=document.createElement("div"),this.fieldSet.appendChild(this.buttonDiv),this.submitButton=document.createElement("button"),this.submitButton.classList.add("btn","btn-success"),this.submitButton.type="button",this.submitButton.textContent="Save",this.submitButton.onclick=function(){this.checkCurrentAnswer(),this.logCurrentAnswer(),this.renderFeedback()}.bind(this),this.buttonDiv.appendChild(this.submitButton),this.otherOptionsDiv=document.createElement("div"),this.otherOptionsDiv.style.paddingLeft="20px",this.otherOptionsDiv.classList.add("journal-options"),this.fieldSet.appendChild(this.otherOptionsDiv),this.feedbackDiv=document.createElement("div"),this.feedbackDiv.style.width="530px",this.feedbackDiv.style.fontStyle="italic",this.feedbackDiv.id=this.divid+"_feedback",this.feedbackDiv.style.display="none",this.fieldSet.appendChild(this.feedbackDiv),this.attachment){let e=document.createElement("div");if(this.attachDiv=e,this.graderactive){let t=document.createElement("button");t.type="button",t.innerHTML="View Attachment",t.onclick=this.viewFile.bind(this),e.appendChild(t)}else this.fileUpload=document.createElement("input"),this.fileUpload.type="file",this.fileUpload.id=`${this.divid}_fileme`,e.appendChild(this.fileUpload);this.containerDiv.appendChild(e)}this.origElem.replaceWith(this.containerDiv),"undefined"!=typeof MathJax&&this.queueMathJax(this.containerDiv)}renderMath(e){(0,n.u)(e)?(this.renderedAnswer||(this.renderedAnswerLabel=document.createElement("label"),this.renderedAnswerLabel.innerHTML="Rendered Answer:",this.renderedAnswerLabel.id=this.divid+"_rendered_answer_label",this.renderedAnswerLabel.style.display="none",this.fieldSet.appendChild(this.renderedAnswerLabel),this.renderedAnswer=document.createElement("div"),this.renderedAnswer.classList.add("latexoutput"),this.renderedAnswer.setAttribute("aria-labelledby",this.renderedAnswerLabel.id),this.renderedAnswer.setAttribute("aria-live","polite"),this.renderedAnswer.style.display="none",this.fieldSet.appendChild(this.renderedAnswer)),e=(e=(e=e.replace(/\$\$(.*?)\$\$/g,"\\[ $1 \\]")).replace(/\$(.*?)\$/g,"\\( $1 \\)")).replace(/\n/g,"
"),this.renderedAnswer.innerHTML=e,this.renderedAnswer.style.display="block",this.renderedAnswerLabel.style.display="block",this.queueMathJax(this.renderedAnswer)):this.renderedAnswer&&(this.renderedAnswer.style.display="none",this.renderedAnswerLabel.style.display="none")}async checkCurrentAnswer(){let e=document.getElementById(this.divid+"_solution").value;this.renderMath(e),this.setLocalStorage({answer:e,timestamp:new Date})}async logCurrentAnswer(e){let t=document.getElementById(this.divid+"_solution").value;this.renderMath(t),this.setLocalStorage({answer:t,timestamp:new Date});let i={event:"shortanswer",act:t,answer:t,div_id:this.divid};void 0!==e&&(i.sid=e),await this.logBookEvent(i),this.attachment&&await this.uploadFile()}renderFeedback(){this.feedbackDiv.innerHTML="Your answer has been saved.",this.feedbackDiv.classList.remove("alert-danger"),this.feedbackDiv.classList.add("alert","alert-success"),this.feedbackDiv.style.display="block"}setLocalStorage(e){if(!this.graderactive){let t=this.localStorageKey();localStorage.setItem(t,JSON.stringify(e))}}checkLocalStorage(){var e="";if(!this.graderactive&&localStorage.length>0){var t=localStorage.getItem(this.localStorageKey());if(null!==t){try{e=JSON.parse(t).answer}catch(e){return console.log(e.message),void localStorage.removeItem(this.localStorageKey())}let i=document.getElementById(this.divid+"_solution");i&&(i.value=e),this.renderMath(e)}}}restoreAnswers(e){e.answer||(e.answer=""),this.answer=e.answer,this.jTextArea.value=this.answer,this.renderMath(this.answer);let t=document.createElement("p");t.classList.add("shortanswer__timestamp"),this.jInputDiv.appendChild(t);var i;if(i=e.timestamp?new Date(e.timestamp).toLocaleString():"",t.textContent=i,this.jTextArea.style.height="auto",this.jTextArea.style.height=`${this.jTextArea.scrollHeight}px`,e.last_answer){this.current_answer="ontime";let s=document.createElement("button");s.type="button",s.textContent="Show Late Answer",s.classList.add("btn","btn-warning"),s.style.marginLeft="5px",s.addEventListener("click",function(){var n,a;"ontime"===this.current_answer?(this.jTextArea.value=e.last_answer,this.answer=e.last_answer,n=new Date(e.last_timestamp).toLocaleString(),a="Show on-Time Answer",this.current_answer="late"):(this.jTextArea.value=e.answer,this.answer=e.answer,n=i,a="Show Late Answer",this.current_answer="ontime"),this.renderMath(this.answer),t.textContent=`Submitted: ${n}`,s.textContent=a}.bind(this)),this.buttonDiv.appendChild(s)}let s="";void 0!==e.score&&(s=`Score: ${e.score}`),e.comment&&(s+=` -- ${e.comment}`),""!==s&&(this.feedbackDiv.innerHTML=s,this.feedbackDiv.style.display="block",this.feedbackDiv.classList.add("alert","alert-success"))}disableInteraction(){this.jTextArea.disabled=!0}async getAttachmentName(){let e=`/ns/assessment/has_attachment/${this.divid}`;this.sid&&(e+=`?sid=${this.sid}`);const t=await fetch(e);if(!t.ok)return console.error("Error fetching attachment name:",t.statusText),null;const i=await t.json();if(i.detail.hasAttachment){let e=i.detail.hasAttachment;e=e.substring(e.lastIndexOf("/")+1);let t=document.createElement("span");t.innerHTML=`Attachment: ${e}`,this.attachDiv.appendChild(t)}}async uploadFile(){const e=this.fileUpload.files,t=e[0].name.split(".").pop();if(!["jpg","jpeg","png","gif","pdf"].includes(t))return void alert("File type not allowed. Please upload a jpg, jpeg, png, gif, or pdf file.");if(e[0].size>5242880)return void alert("File size exceeds 5MB limit. Please upload a smaller file.");const i=new FormData;this.fileUpload.files.length>0&&(i.append("file",e[0]),fetch(`/ns/logger/upload/${this.divid}`,{method:"POST",body:i}).then((e=>e.json())).then((e=>{console.log(e)})).catch((e=>{console.error(e)})))}viewFile(){if(this.attachURL){const e=window.open("","_blank");if(-1!==this.attachURL.indexOf(".pdf?")){const t=e.document.createElement("object");t.setAttribute("data",this.attachURL),t.setAttribute("type","application/pdf"),t.setAttribute("width","800px"),t.setAttribute("height","1040px"),e.document.body.appendChild(t);let i=e.document.createElement("a");i.setAttribute("href",this.attachURL),i.innerText="Download PDF",t.appendChild(i)}else{const t=e.document.createElement("img");t.setAttribute("src",this.attachURL),t.setAttribute("style","width:100%; height:auto;"),e.document.body.appendChild(t)}}else alert("No attachment for this student.")}}document.addEventListener("runestone:login-complete",(function(){document.querySelectorAll("[data-component=shortanswer]").forEach((function(e){if(!e.closest("[data-component=timedAssessment]"))try{window.componentMap[e.id]=new a({orig:e,useRunestoneServices:eBookConfig.useRunestoneServices})}catch(t){console.log(`Error rendering ShortAnswer Problem ${e.id}\n Details: ${t}`)}}))}));class r extends a{constructor(e){super(e),this.renderTimedIcon(this.containerDiv),this.isTimed=!0,this.hideButtons()}hideButtons(){this.submitButton&&(this.submitButton.style.display="none")}renderTimedIcon(e){var t=document.createElement("div"),i=document.createElement("img");i.src="../_static/clock.png",i.style.width="15px",i.style.height="15px",t.className="timeTip",t.title="",t.appendChild(i),e.insertBefore(t,e.firstChild)}checkCorrectTimed(){return"I"}hideFeedback(){this.feedbackDiv&&(this.feedbackDiv.style.display="none")}}void 0===window.component_factory&&(window.component_factory={}),window.component_factory.shortanswer=function(e){return e.timed?new r(e):new a(e)}}}]); -//# sourceMappingURL=819.3e20e27de12f3abf.js.map \ No newline at end of file diff --git a/_static/819.3e20e27de12f3abf.js.gz b/_static/819.3e20e27de12f3abf.js.gz deleted file mode 100644 index 9ea054b..0000000 Binary files a/_static/819.3e20e27de12f3abf.js.gz and /dev/null differ diff --git a/_static/819.3e20e27de12f3abf.js.map b/_static/819.3e20e27de12f3abf.js.map deleted file mode 100644 index 4f1e999..0000000 --- a/_static/819.3e20e27de12f3abf.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"819.3e20e27de12f3abf.js","mappings":"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","sources":["webpack://WebComponents/./runestone/shortanswer/js/shortanswer.js","webpack://WebComponents/./runestone/shortanswer/js/timed_shortanswer.js"],"sourcesContent":["/*==========================================\n======= Master shortanswer.js ========\n============================================\n=== This file contains the JS for ===\n=== the Runestone shortanswer component. ===\n============================================\n=== Created by ===\n=== Isaiah Mayerchak ===\n=== 7/2/15 ===\n=== Brad Miller ===\n=== 2019 ===\n==========================================*/\n\nimport RunestoneBase from \"../../common/js/runestonebase.js\";\nimport { looksLikeLatexMath } from \"../../common/js/bookfuncs.js\";\nimport \"./../css/shortanswer.css\";\n\nexport default class ShortAnswer extends RunestoneBase {\n constructor(opts) {\n super(opts);\n if (opts) {\n var orig = opts.orig; // entire

element that will be replaced by new HTML\n this.useRunestoneServices =\n opts.useRunestoneServices || eBookConfig.useRunestoneServices;\n this.origElem = orig;\n this.divid = orig.id;\n this.question = this.origElem.innerHTML;\n this.optional = false;\n this.attachURL = opts.attachURL;\n if (this.origElem.hasAttribute(\"data-optional\")) {\n this.optional = true;\n }\n if (this.origElem.hasAttribute(\"data-attachment\")) {\n this.attachment = true;\n }\n this.placeholder =\n this.origElem.getAttribute(\"data-placeholder\") ||\n \"Write your answer here\";\n this.renderHTML();\n this.caption = \"shortanswer\";\n this.addCaption(\"runestone\");\n this.checkServer(\"shortanswer\", true);\n if (typeof Prism !== \"undefined\") {\n Prism.highlightAllUnder(this.containerDiv);\n }\n if (this.attachment) {\n this.getAttachmentName();\n }\n }\n }\n\n renderHTML() {\n this.containerDiv = document.createElement(\"div\");\n this.containerDiv.id = this.divid;\n this.containerDiv.classList.add(...(this.origElem.getAttribute(\"class\") || \"\").split(\" \").filter(Boolean));\n this.newForm = document.createElement(\"form\");\n this.newForm.id = this.divid + \"_journal\";\n this.newForm.name = this.newForm.id;\n this.newForm.action = \"\";\n this.containerDiv.appendChild(this.newForm);\n this.fieldSet = document.createElement(\"fieldset\");\n this.newForm.appendChild(this.fieldSet);\n this.firstLegendDiv = document.createElement(\"div\");\n this.firstLegendDiv.innerHTML = this.question;\n this.firstLegendDiv.classList.add(\"journal-question\");\n this.firstLegendDiv.classList.add(\"exercise-statement\");\n this.fieldSet.appendChild(this.firstLegendDiv);\n this.jInputDiv = document.createElement(\"div\");\n this.jInputDiv.id = this.divid + \"_journal_input\";\n this.fieldSet.appendChild(this.jInputDiv);\n this.jOptionsDiv = document.createElement(\"div\");\n this.jOptionsDiv.classList.add(\"journal-options\");\n this.jInputDiv.appendChild(this.jOptionsDiv);\n this.jTextArea = document.createElement(\"textarea\");\n let self = this;\n this.jTextArea.onchange = function () {\n self.isAnswered = true;\n };\n this.jTextArea.id = this.divid + \"_solution\";\n this.jTextArea.setAttribute(\"aria-label\", \"textarea\");\n this.jTextArea.placeholder = this.placeholder;\n this.jTextArea.style.display = \"inline\";\n this.jTextArea.style.width = \"530px\";\n this.jTextArea.classList.add(\"form-control\");\n this.jTextArea.rows = 4;\n this.jTextArea.cols = 50;\n this.jOptionsDiv.appendChild(this.jTextArea);\n this.jTextArea.onchange = function () {\n this.isAnswered = true;\n if (this.isTimed) {\n this.feedbackDiv.innerHTML = \"Your answer is automatically saved.\";\n } else {\n this.feedbackDiv.innerHTML = \"Your answer has not been saved yet!\";\n }\n this.feedbackDiv.classList.remove(\"alert-success\");\n this.feedbackDiv.classList.add(\"alert\", \"alert-danger\");\n }.bind(this);\n this.jTextArea.addEventListener(\"input\", () => {\n this.jTextArea.style.height = \"auto\";\n this.jTextArea.style.height = `${this.jTextArea.scrollHeight}px`;\n this.renderMath(this.jTextArea.value);\n });\n this.buttonDiv = document.createElement(\"div\");\n this.fieldSet.appendChild(this.buttonDiv);\n this.submitButton = document.createElement(\"button\");\n this.submitButton.classList.add(\"btn\", \"btn-success\");\n this.submitButton.type = \"button\";\n this.submitButton.textContent = \"Save\";\n this.submitButton.onclick = function () {\n this.checkCurrentAnswer();\n this.logCurrentAnswer();\n this.renderFeedback();\n }.bind(this);\n this.buttonDiv.appendChild(this.submitButton);\n\n this.otherOptionsDiv = document.createElement(\"div\");\n this.otherOptionsDiv.style.paddingLeft = \"20px\";\n this.otherOptionsDiv.classList.add(\"journal-options\");\n this.fieldSet.appendChild(this.otherOptionsDiv);\n // add a feedback div to give user feedback\n this.feedbackDiv = document.createElement(\"div\");\n this.feedbackDiv.style.width = \"530px\";\n this.feedbackDiv.style.fontStyle = \"italic\";\n this.feedbackDiv.id = this.divid + \"_feedback\";\n this.feedbackDiv.style.display = \"none\";\n this.fieldSet.appendChild(this.feedbackDiv);\n if (this.attachment) {\n let attachDiv = document.createElement(\"div\")\n this.attachDiv = attachDiv;\n if (this.graderactive) {\n // If in grading mode make a button to create a popup with the image\n let viewButton = document.createElement(\"button\")\n viewButton.type = \"button\"\n viewButton.innerHTML = \"View Attachment\"\n viewButton.onclick = this.viewFile.bind(this);\n attachDiv.appendChild(viewButton);\n } else {\n // Otherwise make a button for the student to select a file to upload.\n this.fileUpload = document.createElement(\"input\")\n this.fileUpload.type = \"file\";\n this.fileUpload.id = `${this.divid}_fileme`;\n attachDiv.appendChild(this.fileUpload);\n }\n this.containerDiv.appendChild(attachDiv);\n }\n this.origElem.replaceWith(this.containerDiv);\n // This is a stopgap measure for when MathJax is not loaded at all. There is another\n // more difficult case that when MathJax is loaded asynchronously we will get here\n // before MathJax is loaded. In that case we will need to implement something\n // like `the solution described here `_\n if (typeof MathJax !== \"undefined\") {\n this.queueMathJax(this.containerDiv);\n }\n }\n\n renderMath(value) {\n if (looksLikeLatexMath(value)) {\n if (!this.renderedAnswer) {\n this.renderedAnswerLabel = document.createElement(\"label\");\n this.renderedAnswerLabel.innerHTML = \"Rendered Answer:\";\n this.renderedAnswerLabel.id = this.divid + \"_rendered_answer_label\";\n this.renderedAnswerLabel.style.display = \"none\";\n this.fieldSet.appendChild(this.renderedAnswerLabel);\n\n this.renderedAnswer = document.createElement(\"div\");\n this.renderedAnswer.classList.add(\"latexoutput\");\n this.renderedAnswer.setAttribute('aria-labelledby', this.renderedAnswerLabel.id);\n this.renderedAnswer.setAttribute('aria-live', \"polite\");\n this.renderedAnswer.style.display = \"none\";\n this.fieldSet.appendChild(this.renderedAnswer);\n }\n value = value.replace(/\\$\\$(.*?)\\$\\$/g, \"\\\\[ $1 \\\\]\");\n value = value.replace(/\\$(.*?)\\$/g, \"\\\\( $1 \\\\)\");\n value = value.replace(/\\n/g, \"
\");\n this.renderedAnswer.innerHTML = value;\n\n this.renderedAnswer.style.display = \"block\";\n this.renderedAnswerLabel.style.display = \"block\";\n this.queueMathJax(this.renderedAnswer);\n\n } else {\n if (this.renderedAnswer) {\n this.renderedAnswer.style.display = \"none\";\n this.renderedAnswerLabel.style.display = \"none\";\n }\n }\n }\n\n async checkCurrentAnswer() {\n let value = document.getElementById(this.divid + \"_solution\").value;\n this.renderMath(value);\n this.setLocalStorage({\n answer: value,\n timestamp: new Date(),\n });\n }\n\n async logCurrentAnswer(sid) {\n let value = document.getElementById(this.divid + \"_solution\").value;\n this.renderMath(value);\n this.setLocalStorage({\n answer: value,\n timestamp: new Date(),\n });\n let data = {\n event: \"shortanswer\",\n act: value,\n answer: value,\n div_id: this.divid,\n };\n if (typeof sid !== \"undefined\") {\n data.sid = sid;\n }\n await this.logBookEvent(data);\n if (this.attachment) {\n await this.uploadFile();\n }\n }\n\n renderFeedback() {\n this.feedbackDiv.innerHTML = \"Your answer has been saved.\";\n this.feedbackDiv.classList.remove(\"alert-danger\");\n this.feedbackDiv.classList.add(\"alert\", \"alert-success\");\n this.feedbackDiv.style.display = \"block\";\n }\n setLocalStorage(data) {\n if (!this.graderactive) {\n let key = this.localStorageKey();\n localStorage.setItem(key, JSON.stringify(data));\n }\n }\n checkLocalStorage() {\n // Repopulates the short answer text\n // which was stored into local storage.\n var answer = \"\";\n if (this.graderactive) {\n return;\n }\n var len = localStorage.length;\n if (len > 0) {\n var ex = localStorage.getItem(this.localStorageKey());\n if (ex !== null) {\n try {\n var storedData = JSON.parse(ex);\n answer = storedData.answer;\n } catch (err) {\n // error while parsing; likely due to bad value stored in storage\n console.log(err.message);\n localStorage.removeItem(this.localStorageKey());\n return;\n }\n let solution = document.getElementById(this.divid + \"_solution\");\n if (solution) {\n solution.value = answer;\n }\n this.renderMath(answer);\n }\n }\n }\n restoreAnswers(data) {\n // Restore answers from storage retrieval done in RunestoneBase\n // sometimes data.answer can be null\n if (!data.answer) {\n data.answer = \"\";\n }\n this.answer = data.answer;\n this.jTextArea.value = this.answer;\n this.renderMath(this.answer);\n\n let p = document.createElement(\"p\");\n p.classList.add(\"shortanswer__timestamp\");\n this.jInputDiv.appendChild(p);\n var tsString = \"\";\n if (data.timestamp) {\n tsString = new Date(data.timestamp).toLocaleString();\n } else {\n tsString = \"\";\n }\n p.textContent = tsString;\n this.jTextArea.style.height = \"auto\";\n this.jTextArea.style.height = `${this.jTextArea.scrollHeight}px`;\n\n if (data.last_answer) {\n this.current_answer = \"ontime\";\n let toggle_answer_button = document.createElement(\"button\");\n toggle_answer_button.type = \"button\";\n toggle_answer_button.textContent = \"Show Late Answer\";\n toggle_answer_button.classList.add(\"btn\", \"btn-warning\");\n toggle_answer_button.style.marginLeft = \"5px\";\n\n toggle_answer_button.addEventListener(\n \"click\",\n function () {\n var display_timestamp, button_text;\n if (this.current_answer === \"ontime\") {\n this.jTextArea.value = data.last_answer;\n this.answer = data.last_answer;\n display_timestamp = new Date(\n data.last_timestamp\n ).toLocaleString();\n button_text = \"Show on-Time Answer\";\n this.current_answer = \"late\";\n } else {\n this.jTextArea.value = data.answer;\n this.answer = data.answer;\n display_timestamp = tsString;\n button_text = \"Show Late Answer\";\n this.current_answer = \"ontime\";\n }\n this.renderMath(this.answer);\n p.textContent = `Submitted: ${display_timestamp}`;\n toggle_answer_button.textContent = button_text;\n }.bind(this)\n );\n\n this.buttonDiv.appendChild(toggle_answer_button);\n }\n let feedbackStr = \"\";\n if (typeof data.score !== \"undefined\") {\n feedbackStr = `Score: ${data.score}`;\n }\n if (data.comment) {\n feedbackStr += ` -- ${data.comment}`;\n }\n if (feedbackStr !== \"\") {\n this.feedbackDiv.innerHTML = feedbackStr;\n this.feedbackDiv.style.display = \"block\";\n this.feedbackDiv.classList.add(\"alert\", \"alert-success\");\n }\n }\n\n disableInteraction() {\n this.jTextArea.disabled = true;\n }\n\n async getAttachmentName() {\n // Get the attachment name from the /ns/assessment/has_attachment endpoint\n let requestUrl = `/ns/assessment/has_attachment/${this.divid}`;\n if (this.sid) {\n requestUrl += `?sid=${this.sid}`;\n }\n const response = await fetch(requestUrl);\n if (!response.ok) {\n console.error(\"Error fetching attachment name:\", response.statusText);\n return null;\n }\n const obj = await response.json();\n if (obj.detail.hasAttachment) {\n // Return the S3 key for the attachment\n let filename = obj.detail.hasAttachment;\n // filename is everthing after the last slash\n filename = filename.substring(filename.lastIndexOf(\"/\") + 1);\n let fmess = document.createElement(\"span\");\n fmess.innerHTML = `Attachment: ${filename}`;\n this.attachDiv.appendChild(fmess);\n }\n }\n\n async uploadFile() {\n const files = this.fileUpload.files\n // get the suffix from the file name\n const fileName = files[0].name;\n const suffix = fileName.split('.').pop();\n // if the suffix is not in the list of allowed suffixes, return\n if (!['jpg', 'jpeg', 'png', 'gif', 'pdf'].includes(suffix)) {\n alert(\"File type not allowed. Please upload a jpg, jpeg, png, gif, or pdf file.\");\n return;\n }\n // if the file size is greater than 5MB, return\n if (files[0].size > 5 * 1024 * 1024) {\n alert(\"File size exceeds 5MB limit. Please upload a smaller file.\");\n return;\n }\n const data = new FormData()\n if (this.fileUpload.files.length > 0) {\n data.append('file', files[0])\n fetch(`/ns/logger/upload/${this.divid}`, {\n method: 'POST',\n body: data\n })\n .then(response => response.json())\n .then(data => {\n console.log(data)\n })\n .catch(error => {\n console.error(error)\n })\n }\n }\n\n viewFile() {\n // Get the URL from the S3 API -- saved when we display in grader mode\n if (this.attachURL) {\n //window.open(this.attachURL, \"_blank\");\n //\n //switch to \n const image_window = window.open(\"\", \"_blank\")\n if (this.attachURL.indexOf('.pdf?') !== -1) {\n const embed = image_window.document.createElement(\"object\");\n embed.setAttribute(\"data\", this.attachURL);\n embed.setAttribute(\"type\", \"application/pdf\");\n embed.setAttribute(\"width\", \"800px\");\n embed.setAttribute(\"height\", \"1040px\");\n image_window.document.body.appendChild(embed);\n let alt = image_window.document.createElement(\"a\");\n alt.setAttribute(\"href\", this.attachURL);\n alt.innerText = \"Download PDF\";\n embed.appendChild(alt);\n }\n else {\n const img = image_window.document.createElement(\"img\");\n img.setAttribute(\"src\", this.attachURL);\n img.setAttribute(\"style\", \"width:100%; height:auto;\");\n image_window.document.body.appendChild(img);\n }\n } else {\n alert(\"No attachment for this student.\")\n }\n }\n}\n\n/*=================================\n== Find the custom HTML tags and ==\n== execute our code on them ==\n=================================*/\ndocument.addEventListener(\"runestone:login-complete\", function () {\n document.querySelectorAll(\"[data-component=shortanswer]\").forEach(function (el) {\n // If this element exists within a timed component, don't render it here\n if (!el.closest(\"[data-component=timedAssessment]\")) {\n try {\n window.componentMap[el.id] = new ShortAnswer({\n orig: el,\n useRunestoneServices: eBookConfig.useRunestoneServices,\n });\n } catch (err) {\n console.log(`Error rendering ShortAnswer Problem ${el.id}\n Details: ${err}`);\n }\n }\n });\n});\n","import ShortAnswer from \"./shortanswer.js\";\n\nexport default class TimedShortAnswer extends ShortAnswer {\n constructor(opts) {\n super(opts);\n this.renderTimedIcon(this.containerDiv);\n this.isTimed = true;\n this.hideButtons();\n }\n hideButtons() {\n if (this.submitButton) {\n this.submitButton.style.display = \"none\";\n }\n }\n renderTimedIcon(component) {\n // renders the clock icon on timed components. The component parameter\n // is the element that the icon should be appended to.\n var timeIconDiv = document.createElement(\"div\");\n var timeIcon = document.createElement(\"img\");\n\n timeIcon.src = \"../_static/clock.png\";\n timeIcon.style.width = \"15px\";\n timeIcon.style.height = \"15px\";\n\n timeIconDiv.className = \"timeTip\";\n timeIconDiv.title = \"\";\n timeIconDiv.appendChild(timeIcon);\n\n // If firstChild is null, insertBefore acts like appendChild\n component.insertBefore(timeIconDiv, component.firstChild);\n }\n checkCorrectTimed() {\n return \"I\"; // we ignore this in the grading\n }\n hideFeedback() {\n if (this.feedbackDiv) {\n this.feedbackDiv.style.display = \"none\";\n }\n }\n}\n\nif (typeof window.component_factory === \"undefined\") {\n window.component_factory = {};\n}\n\nwindow.component_factory.shortanswer = function (opts) {\n if (opts.timed) {\n return new TimedShortAnswer(opts);\n }\n return new ShortAnswer(opts);\n};\n"],"names":["ShortAnswer","constructor","opts","super","orig","this","useRunestoneServices","eBookConfig","origElem","divid","id","question","innerHTML","optional","attachURL","hasAttribute","attachment","placeholder","getAttribute","renderHTML","caption","addCaption","checkServer","Prism","highlightAllUnder","containerDiv","getAttachmentName","document","createElement","classList","add","split","filter","Boolean","newForm","name","action","appendChild","fieldSet","firstLegendDiv","jInputDiv","jOptionsDiv","jTextArea","self","onchange","isAnswered","setAttribute","style","display","width","rows","cols","isTimed","feedbackDiv","remove","bind","addEventListener","height","scrollHeight","renderMath","value","buttonDiv","submitButton","type","textContent","onclick","checkCurrentAnswer","logCurrentAnswer","renderFeedback","otherOptionsDiv","paddingLeft","fontStyle","attachDiv","graderactive","viewButton","viewFile","fileUpload","replaceWith","MathJax","queueMathJax","renderedAnswer","renderedAnswerLabel","replace","getElementById","setLocalStorage","answer","timestamp","Date","sid","data","event","act","div_id","logBookEvent","uploadFile","key","localStorageKey","localStorage","setItem","JSON","stringify","checkLocalStorage","length","ex","getItem","parse","err","console","log","message","removeItem","solution","restoreAnswers","p","tsString","toLocaleString","last_answer","current_answer","toggle_answer_button","marginLeft","display_timestamp","button_text","last_timestamp","feedbackStr","score","comment","disableInteraction","disabled","requestUrl","response","fetch","ok","error","statusText","obj","json","detail","hasAttachment","filename","substring","lastIndexOf","fmess","files","suffix","pop","includes","alert","size","FormData","append","method","body","then","catch","image_window","window","open","indexOf","embed","alt","innerText","img","querySelectorAll","forEach","el","closest","componentMap","TimedShortAnswer","renderTimedIcon","hideButtons","component","timeIconDiv","timeIcon","src","className","title","insertBefore","firstChild","checkCorrectTimed","hideFeedback","component_factory","shortanswer","timed"],"sourceRoot":""} \ No newline at end of file diff --git a/_static/819.3e20e27de12f3abf.js.map.gz b/_static/819.3e20e27de12f3abf.js.map.gz deleted file mode 100644 index 2c68cef..0000000 Binary files a/_static/819.3e20e27de12f3abf.js.map.gz and /dev/null differ diff --git a/_static/819.fa7785b520e523a5.js b/_static/819.fa7785b520e523a5.js new file mode 100755 index 0000000..d781926 --- /dev/null +++ b/_static/819.fa7785b520e523a5.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkWebComponents=self.webpackChunkWebComponents||[]).push([[819],{48819:(e,t,i)=>{i.r(t),i.d(t,{default:()=>r});var s=i(78673),n=i(83057);class a extends s.A{constructor(e){if(super(e),e){var t=e.orig;this.useRunestoneServices=e.useRunestoneServices||eBookConfig.useRunestoneServices,this.origElem=t,this.divid=t.id,this.question=this.origElem.innerHTML,this.optional=!1,this.attachURL=e.attachURL,this.origElem.hasAttribute("data-optional")&&(this.optional=!0),this.origElem.hasAttribute("data-attachment")&&(this.attachment=!0),this.placeholder=this.origElem.getAttribute("data-placeholder")||"Write your answer here",this.renderHTML(),this.caption="shortanswer",this.addCaption("runestone"),this.checkServer("shortanswer",!0),"undefined"!=typeof Prism&&Prism.highlightAllUnder(this.containerDiv),this.attachment&&this.getAttachmentName()}}renderHTML(){if(this.containerDiv=document.createElement("div"),this.containerDiv.id=this.divid,this.containerDiv.classList.add(...(this.origElem.getAttribute("class")||"").split(" ").filter(Boolean)),this.newForm=document.createElement("form"),this.newForm.id=this.divid+"_journal",this.newForm.name=this.newForm.id,this.newForm.action="",this.containerDiv.appendChild(this.newForm),this.fieldSet=document.createElement("fieldset"),this.newForm.appendChild(this.fieldSet),this.firstLegendDiv=document.createElement("div"),this.firstLegendDiv.innerHTML=this.question,this.firstLegendDiv.classList.add("journal-question"),this.firstLegendDiv.classList.add("exercise-statement"),this.fieldSet.appendChild(this.firstLegendDiv),this.jInputDiv=document.createElement("div"),this.jInputDiv.id=this.divid+"_journal_input",this.fieldSet.appendChild(this.jInputDiv),this.jOptionsDiv=document.createElement("div"),this.jOptionsDiv.classList.add("journal-options"),this.jInputDiv.appendChild(this.jOptionsDiv),this.jTextArea=document.createElement("textarea"),this.jTextArea.id=this.divid+"_solution",this.jTextArea.setAttribute("aria-label","textarea"),this.jTextArea.placeholder=this.placeholder,this.jTextArea.style.display="inline",this.jTextArea.style.width="530px",this.jTextArea.classList.add("form-control"),this.jTextArea.rows=4,this.jTextArea.cols=50,this.jOptionsDiv.appendChild(this.jTextArea),this.jTextArea.onchange=function(){this.isAnswered=!0}.bind(this),this.jTextArea.addEventListener("keydown",(()=>{this.isTimed?this.feedbackDiv.innerHTML="Your answer is automatically saved.":(this.feedbackDiv.innerHTML="Your answer has not been saved yet!",this.feedbackDiv.classList.remove("alert-success"),this.feedbackDiv.classList.add("alert","alert-danger"))})),this.jTextArea.addEventListener("input",(()=>{this.jTextArea.style.height="auto",this.jTextArea.style.height=`${this.jTextArea.scrollHeight}px`,this.renderMath(this.jTextArea.value)})),this.buttonDiv=document.createElement("div"),this.fieldSet.appendChild(this.buttonDiv),this.submitButton=document.createElement("button"),this.submitButton.classList.add("btn","btn-success"),this.submitButton.type="button",this.submitButton.textContent="Save",this.submitButton.onclick=function(){this.checkCurrentAnswer(),this.logCurrentAnswer(),this.renderFeedback()}.bind(this),this.buttonDiv.appendChild(this.submitButton),this.otherOptionsDiv=document.createElement("div"),this.otherOptionsDiv.style.paddingLeft="20px",this.otherOptionsDiv.classList.add("journal-options"),this.fieldSet.appendChild(this.otherOptionsDiv),this.feedbackDiv=document.createElement("div"),this.feedbackDiv.style.width="530px",this.feedbackDiv.style.fontStyle="italic",this.feedbackDiv.id=this.divid+"_feedback",this.feedbackDiv.classList.add("shortanswer__feedback"),this.feedbackDiv.style.display="none",this.fieldSet.appendChild(this.feedbackDiv),this.attachment){let e=document.createElement("div");if(this.attachDiv=e,this.graderactive){let t=document.createElement("button");t.type="button",t.innerHTML="View Attachment",t.onclick=this.viewFile.bind(this),e.appendChild(t)}else this.fileUpload=document.createElement("input"),this.fileUpload.type="file",this.fileUpload.id=`${this.divid}_fileme`,e.appendChild(this.fileUpload);this.containerDiv.appendChild(e)}this.origElem.replaceWith(this.containerDiv),"undefined"!=typeof MathJax&&this.queueMathJax(this.containerDiv)}renderMath(e){(0,n.u)(e)?(this.renderedAnswer||(this.rederedAnswerDiv=document.createElement("div"),this.rederedAnswerDiv.classList.add("shortanswer__rendered-answer-div"),this.fieldSet.appendChild(this.rederedAnswerDiv),this.renderedAnswerLabel=document.createElement("label"),this.renderedAnswerLabel.innerHTML="Rendered Answer:",this.renderedAnswerLabel.id=this.divid+"_rendered_answer_label",this.renderedAnswerLabel.classList.add("shortanswer__rendered-answer-label"),this.rederedAnswerDiv.appendChild(this.renderedAnswerLabel),this.renderedAnswer=document.createElement("div"),this.renderedAnswer.classList.add("shortanswer__rendered-answer"),this.renderedAnswer.classList.add("latexoutput"),this.renderedAnswer.setAttribute("aria-labelledby",this.renderedAnswerLabel.id),this.renderedAnswer.setAttribute("aria-live","polite"),this.rederedAnswerDiv.appendChild(this.renderedAnswer)),e=(e=(e=e.replace(/\$\$(.*?)\$\$/g,"\\[ $1 \\]")).replace(/\$(.*?)\$/g,"\\( $1 \\)")).replace(/\n/g,"
"),this.renderedAnswer.innerHTML=e,this.rederedAnswerDiv.style.display="block",this.queueMathJax(this.renderedAnswer)):this.renderedAnswer&&(this.rederedAnswerDiv.style.display="none")}async checkCurrentAnswer(){let e=document.getElementById(this.divid+"_solution").value;this.renderMath(e),this.setLocalStorage({answer:e,timestamp:new Date})}async logCurrentAnswer(e){let t=document.getElementById(this.divid+"_solution").value;this.renderMath(t),this.setLocalStorage({answer:t,timestamp:new Date});let i={event:"shortanswer",act:t,answer:t,div_id:this.divid};void 0!==e&&(i.sid=e),await this.logBookEvent(i),this.attachment&&await this.uploadFile()}renderFeedback(){this.feedbackDiv.innerHTML="Your answer has been saved.",this.feedbackDiv.classList.remove("alert-danger"),this.feedbackDiv.classList.add("alert","alert-success"),this.feedbackDiv.style.display="block"}setLocalStorage(e){if(!this.graderactive){let t=this.localStorageKey();localStorage.setItem(t,JSON.stringify(e))}}checkLocalStorage(){var e="";if(!this.graderactive&&localStorage.length>0){var t=localStorage.getItem(this.localStorageKey());if(null!==t){try{e=JSON.parse(t).answer}catch(e){return console.log(e.message),void localStorage.removeItem(this.localStorageKey())}let i=document.getElementById(this.divid+"_solution");i&&(i.value=e),this.renderMath(e)}}}restoreAnswers(e){e.answer||(e.answer=""),this.answer=e.answer,this.jTextArea.value=this.answer,this.renderMath(this.answer);let t=document.createElement("p");t.classList.add("shortanswer__timestamp"),this.jInputDiv.appendChild(t);var i;if(i=e.timestamp?new Date(e.timestamp).toLocaleString():"",t.textContent=i,this.jTextArea.style.height="auto",this.jTextArea.style.height=`${this.jTextArea.scrollHeight}px`,e.last_answer){this.current_answer="ontime";let s=document.createElement("button");s.type="button",s.textContent="Show Late Answer",s.classList.add("btn","btn-warning"),s.style.marginLeft="5px",s.addEventListener("click",function(){var n,a;"ontime"===this.current_answer?(this.jTextArea.value=e.last_answer,this.answer=e.last_answer,n=new Date(e.last_timestamp).toLocaleString(),a="Show on-Time Answer",this.current_answer="late"):(this.jTextArea.value=e.answer,this.answer=e.answer,n=i,a="Show Late Answer",this.current_answer="ontime"),this.renderMath(this.answer),t.textContent=`Submitted: ${n}`,s.textContent=a}.bind(this)),this.buttonDiv.appendChild(s)}let s="";void 0!==e.score&&(s=`Score: ${e.score}`),e.comment&&(s+=` -- ${e.comment}`),""!==s&&(this.feedbackDiv.innerHTML=s,this.feedbackDiv.style.display="block",this.feedbackDiv.classList.add("alert","alert-success"))}disableInteraction(){this.jTextArea.disabled=!0}async getAttachmentName(){let e=`/ns/assessment/has_attachment/${this.divid}`;this.sid&&(e+=`?sid=${this.sid}`);const t=await fetch(e);if(!t.ok)return console.error("Error fetching attachment name:",t.statusText),null;const i=await t.json();if(i.detail.hasAttachment){let e=i.detail.hasAttachment;e=e.substring(e.lastIndexOf("/")+1);let t=document.createElement("span");t.innerHTML=`Attachment: ${e}`,this.attachDiv.appendChild(t)}}async uploadFile(){const e=this.fileUpload.files,t=e[0].name.split(".").pop();if(!["jpg","jpeg","png","gif","pdf"].includes(t))return void alert("File type not allowed. Please upload a jpg, jpeg, png, gif, or pdf file.");if(e[0].size>5242880)return void alert("File size exceeds 5MB limit. Please upload a smaller file.");const i=new FormData;this.fileUpload.files.length>0&&(i.append("file",e[0]),fetch(`/ns/logger/upload/${this.divid}`,{method:"POST",body:i}).then((e=>e.json())).then((e=>{console.log(e)})).catch((e=>{console.error(e)})))}viewFile(){if(this.attachURL){const e=window.open("","_blank");if(-1!==this.attachURL.indexOf(".pdf?")){const t=e.document.createElement("object");t.setAttribute("data",this.attachURL),t.setAttribute("type","application/pdf"),t.setAttribute("width","800px"),t.setAttribute("height","1040px"),e.document.body.appendChild(t);let i=e.document.createElement("a");i.setAttribute("href",this.attachURL),i.innerText="Download PDF",t.appendChild(i)}else{const t=e.document.createElement("img");t.setAttribute("src",this.attachURL),t.setAttribute("style","width:100%; height:auto;"),e.document.body.appendChild(t)}}else alert("No attachment for this student.")}}document.addEventListener("runestone:login-complete",(function(){document.querySelectorAll("[data-component=shortanswer]").forEach((function(e){if(!e.closest("[data-component=timedAssessment]"))try{window.componentMap[e.id]=new a({orig:e,useRunestoneServices:eBookConfig.useRunestoneServices})}catch(t){console.log(`Error rendering ShortAnswer Problem ${e.id}\n Details: ${t}`)}}))}));class r extends a{constructor(e){super(e),this.renderTimedIcon(this.containerDiv),this.isTimed=!0,this.hideButtons()}hideButtons(){this.submitButton&&(this.submitButton.style.display="none")}renderTimedIcon(e){var t=document.createElement("div"),i=document.createElement("img");i.src="../_static/clock.png",i.style.width="15px",i.style.height="15px",t.className="timeTip",t.title="",t.appendChild(i),e.insertBefore(t,e.firstChild)}checkCorrectTimed(){return"I"}hideFeedback(){this.feedbackDiv&&(this.feedbackDiv.style.display="none")}}void 0===window.component_factory&&(window.component_factory={}),window.component_factory.shortanswer=function(e){return e.timed?new r(e):new a(e)}}}]); +//# sourceMappingURL=819.fa7785b520e523a5.js.map \ No newline at end of file diff --git a/_static/819.fa7785b520e523a5.js.gz b/_static/819.fa7785b520e523a5.js.gz new file mode 100755 index 0000000..8b3c571 Binary files /dev/null and b/_static/819.fa7785b520e523a5.js.gz differ diff --git a/_static/819.fa7785b520e523a5.js.map b/_static/819.fa7785b520e523a5.js.map new file mode 100755 index 0000000..8c8e635 --- /dev/null +++ b/_static/819.fa7785b520e523a5.js.map @@ -0,0 +1 @@ +{"version":3,"file":"819.fa7785b520e523a5.js","mappings":"sKAiBe,MAAMA,UAAoB,IACrC,WAAAC,CAAYC,GAER,GADAC,MAAMD,GACFA,EAAM,CACN,IAAIE,EAAOF,EAAKE,KAChBC,KAAKC,qBACDJ,EAAKI,sBAAwBC,YAAYD,qBAC7CD,KAAKG,SAAWJ,EAChBC,KAAKI,MAAQL,EAAKM,GAClBL,KAAKM,SAAWN,KAAKG,SAASI,UAC9BP,KAAKQ,UAAW,EAChBR,KAAKS,UAAYZ,EAAKY,UAClBT,KAAKG,SAASO,aAAa,mBAC3BV,KAAKQ,UAAW,GAEhBR,KAAKG,SAASO,aAAa,qBAC3BV,KAAKW,YAAa,GAEtBX,KAAKY,YACDZ,KAAKG,SAASU,aAAa,qBAC3B,yBACJb,KAAKc,aACLd,KAAKe,QAAU,cACff,KAAKgB,WAAW,aAChBhB,KAAKiB,YAAY,eAAe,GACX,oBAAVC,OACPA,MAAMC,kBAAkBnB,KAAKoB,cAE7BpB,KAAKW,YACLX,KAAKqB,mBAEb,CACJ,CAEA,UAAAP,GAkFI,GAjFAd,KAAKoB,aAAeE,SAASC,cAAc,OAC3CvB,KAAKoB,aAAaf,GAAKL,KAAKI,MAC5BJ,KAAKoB,aAAaI,UAAUC,QAAQzB,KAAKG,SAASU,aAAa,UAAY,IAAIa,MAAM,KAAKC,OAAOC,UACjG5B,KAAK6B,QAAUP,SAASC,cAAc,QACtCvB,KAAK6B,QAAQxB,GAAKL,KAAKI,MAAQ,WAC/BJ,KAAK6B,QAAQC,KAAO9B,KAAK6B,QAAQxB,GACjCL,KAAK6B,QAAQE,OAAS,GACtB/B,KAAKoB,aAAaY,YAAYhC,KAAK6B,SACnC7B,KAAKiC,SAAWX,SAASC,cAAc,YACvCvB,KAAK6B,QAAQG,YAAYhC,KAAKiC,UAC9BjC,KAAKkC,eAAiBZ,SAASC,cAAc,OAC7CvB,KAAKkC,eAAe3B,UAAYP,KAAKM,SACrCN,KAAKkC,eAAeV,UAAUC,IAAI,oBAClCzB,KAAKkC,eAAeV,UAAUC,IAAI,sBAClCzB,KAAKiC,SAASD,YAAYhC,KAAKkC,gBAC/BlC,KAAKmC,UAAYb,SAASC,cAAc,OACxCvB,KAAKmC,UAAU9B,GAAKL,KAAKI,MAAQ,iBACjCJ,KAAKiC,SAASD,YAAYhC,KAAKmC,WAC/BnC,KAAKoC,YAAcd,SAASC,cAAc,OAC1CvB,KAAKoC,YAAYZ,UAAUC,IAAI,mBAC/BzB,KAAKmC,UAAUH,YAAYhC,KAAKoC,aAChCpC,KAAKqC,UAAYf,SAASC,cAAc,YACxCvB,KAAKqC,UAAUhC,GAAKL,KAAKI,MAAQ,YACjCJ,KAAKqC,UAAUC,aAAa,aAAc,YAC1CtC,KAAKqC,UAAUzB,YAAcZ,KAAKY,YAClCZ,KAAKqC,UAAUE,MAAMC,QAAU,SAC/BxC,KAAKqC,UAAUE,MAAME,MAAQ,QAC7BzC,KAAKqC,UAAUb,UAAUC,IAAI,gBAC7BzB,KAAKqC,UAAUK,KAAO,EACtB1C,KAAKqC,UAAUM,KAAO,GACtB3C,KAAKoC,YAAYJ,YAAYhC,KAAKqC,WAIlCrC,KAAKqC,UAAUO,SAAW,WACtB5C,KAAK6C,YAAa,CACtB,EAAEC,KAAK9C,MAIPA,KAAKqC,UAAUU,iBAAiB,WAAW,KACnC/C,KAAKgD,QAELhD,KAAKiD,YAAY1C,UAAY,uCAE7BP,KAAKiD,YAAY1C,UAAY,sCAC7BP,KAAKiD,YAAYzB,UAAU0B,OAAO,iBAClClD,KAAKiD,YAAYzB,UAAUC,IAAI,QAAS,gBAC5C,IAGJzB,KAAKqC,UAAUU,iBAAiB,SAAS,KACrC/C,KAAKqC,UAAUE,MAAMY,OAAS,OAC9BnD,KAAKqC,UAAUE,MAAMY,OAAS,GAAGnD,KAAKqC,UAAUe,iBAChDpD,KAAKqD,WAAWrD,KAAKqC,UAAUiB,MAAM,IAEzCtD,KAAKuD,UAAYjC,SAASC,cAAc,OACxCvB,KAAKiC,SAASD,YAAYhC,KAAKuD,WAC/BvD,KAAKwD,aAAelC,SAASC,cAAc,UAC3CvB,KAAKwD,aAAahC,UAAUC,IAAI,MAAO,eACvCzB,KAAKwD,aAAaC,KAAO,SACzBzD,KAAKwD,aAAaE,YAAc,OAChC1D,KAAKwD,aAAaG,QAAU,WACxB3D,KAAK4D,qBACL5D,KAAK6D,mBACL7D,KAAK8D,gBACT,EAAEhB,KAAK9C,MACPA,KAAKuD,UAAUvB,YAAYhC,KAAKwD,cAEhCxD,KAAK+D,gBAAkBzC,SAASC,cAAc,OAC9CvB,KAAK+D,gBAAgBxB,MAAMyB,YAAc,OACzChE,KAAK+D,gBAAgBvC,UAAUC,IAAI,mBACnCzB,KAAKiC,SAASD,YAAYhC,KAAK+D,iBAE/B/D,KAAKiD,YAAc3B,SAASC,cAAc,OAC1CvB,KAAKiD,YAAYV,MAAME,MAAQ,QAC/BzC,KAAKiD,YAAYV,MAAM0B,UAAY,SACnCjE,KAAKiD,YAAY5C,GAAKL,KAAKI,MAAQ,YACnCJ,KAAKiD,YAAYzB,UAAUC,IAAI,yBAC/BzB,KAAKiD,YAAYV,MAAMC,QAAU,OACjCxC,KAAKiC,SAASD,YAAYhC,KAAKiD,aAC3BjD,KAAKW,WAAY,CACjB,IAAIuD,EAAY5C,SAASC,cAAc,OAEvC,GADAvB,KAAKkE,UAAYA,EACblE,KAAKmE,aAAc,CAEnB,IAAIC,EAAa9C,SAASC,cAAc,UACxC6C,EAAWX,KAAO,SAClBW,EAAW7D,UAAY,kBACvB6D,EAAWT,QAAU3D,KAAKqE,SAASvB,KAAK9C,MACxCkE,EAAUlC,YAAYoC,EAC1B,MAEIpE,KAAKsE,WAAahD,SAASC,cAAc,SACzCvB,KAAKsE,WAAWb,KAAO,OACvBzD,KAAKsE,WAAWjE,GAAK,GAAGL,KAAKI,eAC7B8D,EAAUlC,YAAYhC,KAAKsE,YAE/BtE,KAAKoB,aAAaY,YAAYkC,EAClC,CACAlE,KAAKG,SAASoE,YAAYvE,KAAKoB,cAKR,oBAAZoD,SACPxE,KAAKyE,aAAazE,KAAKoB,aAE/B,CAEA,UAAAiC,CAAWC,IACH,OAAmBA,IACdtD,KAAK0E,iBACN1E,KAAK2E,iBAAmBrD,SAASC,cAAc,OAC/CvB,KAAK2E,iBAAiBnD,UAAUC,IAAI,oCACpCzB,KAAKiC,SAASD,YAAYhC,KAAK2E,kBAE/B3E,KAAK4E,oBAAsBtD,SAASC,cAAc,SAClDvB,KAAK4E,oBAAoBrE,UAAY,mBACrCP,KAAK4E,oBAAoBvE,GAAKL,KAAKI,MAAQ,yBAC3CJ,KAAK4E,oBAAoBpD,UAAUC,IAAI,sCACvCzB,KAAK2E,iBAAiB3C,YAAYhC,KAAK4E,qBAEvC5E,KAAK0E,eAAiBpD,SAASC,cAAc,OAC7CvB,KAAK0E,eAAelD,UAAUC,IAAI,gCAClCzB,KAAK0E,eAAelD,UAAUC,IAAI,eAClCzB,KAAK0E,eAAepC,aAAa,kBAAmBtC,KAAK4E,oBAAoBvE,IAC7EL,KAAK0E,eAAepC,aAAa,YAAa,UAC9CtC,KAAK2E,iBAAiB3C,YAAYhC,KAAK0E,iBAI3CpB,GADAA,GADAA,EAAQA,EAAMuB,QAAQ,iBAAkB,eAC1BA,QAAQ,aAAc,eACtBA,QAAQ,MAAO,SAC7B7E,KAAK0E,eAAenE,UAAY+C,EAEhCtD,KAAK2E,iBAAiBpC,MAAMC,QAAU,QACtCxC,KAAKyE,aAAazE,KAAK0E,iBAGnB1E,KAAK0E,iBACL1E,KAAK2E,iBAAiBpC,MAAMC,QAAU,OAGlD,CAEA,wBAAMoB,GACF,IAAIN,EAAQhC,SAASwD,eAAe9E,KAAKI,MAAQ,aAAakD,MAC9DtD,KAAKqD,WAAWC,GAChBtD,KAAK+E,gBAAgB,CACjBC,OAAQ1B,EACR2B,UAAW,IAAIC,MAEvB,CAEA,sBAAMrB,CAAiBsB,GACnB,IAAI7B,EAAQhC,SAASwD,eAAe9E,KAAKI,MAAQ,aAAakD,MAC9DtD,KAAKqD,WAAWC,GAChBtD,KAAK+E,gBAAgB,CACjBC,OAAQ1B,EACR2B,UAAW,IAAIC,OAEnB,IAAIE,EAAO,CACPC,MAAO,cACPC,IAAKhC,EACL0B,OAAQ1B,EACRiC,OAAQvF,KAAKI,YAEE,IAAR+E,IACPC,EAAKD,IAAMA,SAETnF,KAAKwF,aAAaJ,GACpBpF,KAAKW,kBACCX,KAAKyF,YAEnB,CAEA,cAAA3B,GACI9D,KAAKiD,YAAY1C,UAAY,8BAC7BP,KAAKiD,YAAYzB,UAAU0B,OAAO,gBAClClD,KAAKiD,YAAYzB,UAAUC,IAAI,QAAS,iBACxCzB,KAAKiD,YAAYV,MAAMC,QAAU,OACrC,CACA,eAAAuC,CAAgBK,GACZ,IAAKpF,KAAKmE,aAAc,CACpB,IAAIuB,EAAM1F,KAAK2F,kBACfC,aAAaC,QAAQH,EAAKI,KAAKC,UAAUX,GAC7C,CACJ,CACA,iBAAAY,GAGI,IAAIhB,EAAS,GACb,IAAIhF,KAAKmE,cAGCyB,aAAaK,OACb,EAAG,CACT,IAAIC,EAAKN,aAAaO,QAAQnG,KAAK2F,mBACnC,GAAW,OAAPO,EAAa,CACb,IAEIlB,EADiBc,KAAKM,MAAMF,GACRlB,MACxB,CAAE,MAAOqB,GAIL,OAFAC,QAAQC,IAAIF,EAAIG,cAChBZ,aAAaa,WAAWzG,KAAK2F,kBAEjC,CACA,IAAIe,EAAWpF,SAASwD,eAAe9E,KAAKI,MAAQ,aAChDsG,IACAA,EAASpD,MAAQ0B,GAErBhF,KAAKqD,WAAW2B,EACpB,CACJ,CACJ,CACA,cAAA2B,CAAevB,GAGNA,EAAKJ,SACNI,EAAKJ,OAAS,IAElBhF,KAAKgF,OAASI,EAAKJ,OACnBhF,KAAKqC,UAAUiB,MAAQtD,KAAKgF,OAC5BhF,KAAKqD,WAAWrD,KAAKgF,QAErB,IAAI4B,EAAItF,SAASC,cAAc,KAC/BqF,EAAEpF,UAAUC,IAAI,0BAChBzB,KAAKmC,UAAUH,YAAY4E,GAC3B,IAAIC,EAUJ,GARIA,EADAzB,EAAKH,UACM,IAAIC,KAAKE,EAAKH,WAAW6B,iBAEzB,GAEfF,EAAElD,YAAcmD,EAChB7G,KAAKqC,UAAUE,MAAMY,OAAS,OAC9BnD,KAAKqC,UAAUE,MAAMY,OAAS,GAAGnD,KAAKqC,UAAUe,iBAE5CgC,EAAK2B,YAAa,CAClB/G,KAAKgH,eAAiB,SACtB,IAAIC,EAAuB3F,SAASC,cAAc,UAClD0F,EAAqBxD,KAAO,SAC5BwD,EAAqBvD,YAAc,mBACnCuD,EAAqBzF,UAAUC,IAAI,MAAO,eAC1CwF,EAAqB1E,MAAM2E,WAAa,MAExCD,EAAqBlE,iBACjB,QACA,WACI,IAAIoE,EAAmBC,EACK,WAAxBpH,KAAKgH,gBACLhH,KAAKqC,UAAUiB,MAAQ8B,EAAK2B,YAC5B/G,KAAKgF,OAASI,EAAK2B,YACnBI,EAAoB,IAAIjC,KACpBE,EAAKiC,gBACPP,iBACFM,EAAc,sBACdpH,KAAKgH,eAAiB,SAEtBhH,KAAKqC,UAAUiB,MAAQ8B,EAAKJ,OAC5BhF,KAAKgF,OAASI,EAAKJ,OACnBmC,EAAoBN,EACpBO,EAAc,mBACdpH,KAAKgH,eAAiB,UAE1BhH,KAAKqD,WAAWrD,KAAKgF,QACrB4B,EAAElD,YAAc,cAAcyD,IAC9BF,EAAqBvD,YAAc0D,CACvC,EAAEtE,KAAK9C,OAGXA,KAAKuD,UAAUvB,YAAYiF,EAC/B,CACA,IAAIK,EAAc,QACQ,IAAflC,EAAKmC,QACZD,EAAc,UAAUlC,EAAKmC,SAE7BnC,EAAKoC,UACLF,GAAe,OAAOlC,EAAKoC,WAEX,KAAhBF,IACAtH,KAAKiD,YAAY1C,UAAY+G,EAC7BtH,KAAKiD,YAAYV,MAAMC,QAAU,QACjCxC,KAAKiD,YAAYzB,UAAUC,IAAI,QAAS,iBAEhD,CAEA,kBAAAgG,GACIzH,KAAKqC,UAAUqF,UAAW,CAC9B,CAEA,uBAAMrG,GAEF,IAAIsG,EAAa,iCAAiC3H,KAAKI,QACnDJ,KAAKmF,MACLwC,GAAc,QAAQ3H,KAAKmF,OAE/B,MAAMyC,QAAiBC,MAAMF,GAC7B,IAAKC,EAASE,GAEV,OADAxB,QAAQyB,MAAM,kCAAmCH,EAASI,YACnD,KAEX,MAAMC,QAAYL,EAASM,OAC3B,GAAID,EAAIE,OAAOC,cAAe,CAE1B,IAAIC,EAAWJ,EAAIE,OAAOC,cAE1BC,EAAWA,EAASC,UAAUD,EAASE,YAAY,KAAO,GAC1D,IAAIC,EAAQlH,SAASC,cAAc,QACnCiH,EAAMjI,UAAY,eAAe8H,IACjCrI,KAAKkE,UAAUlC,YAAYwG,EAC/B,CACJ,CAEA,gBAAM/C,GACF,MAAMgD,EAAQzI,KAAKsE,WAAWmE,MAGxBC,EADWD,EAAM,GAAG3G,KACFJ,MAAM,KAAKiH,MAEnC,IAAK,CAAC,MAAO,OAAQ,MAAO,MAAO,OAAOC,SAASF,GAE/C,YADAG,MAAM,4EAIV,GAAIJ,EAAM,GAAGK,KAAO,QAEhB,YADAD,MAAM,8DAGV,MAAMzD,EAAO,IAAI2D,SACb/I,KAAKsE,WAAWmE,MAAMxC,OAAS,IAC/Bb,EAAK4D,OAAO,OAAQP,EAAM,IAC1BZ,MAAM,qBAAqB7H,KAAKI,QAAS,CACrC6I,OAAQ,OACRC,KAAM9D,IAEL+D,MAAKvB,GAAYA,EAASM,SAC1BiB,MAAK/D,IACFkB,QAAQC,IAAInB,EAAI,IAEnBgE,OAAMrB,IACHzB,QAAQyB,MAAMA,EAAK,IAGnC,CAEA,QAAA1D,GAEI,GAAIrE,KAAKS,UAAW,CAIhB,MAAM4I,EAAeC,OAAOC,KAAK,GAAI,UACrC,IAAyC,IAArCvJ,KAAKS,UAAU+I,QAAQ,SAAiB,CACxC,MAAMC,EAAQJ,EAAa/H,SAASC,cAAc,UAClDkI,EAAMnH,aAAa,OAAQtC,KAAKS,WAChCgJ,EAAMnH,aAAa,OAAQ,mBAC3BmH,EAAMnH,aAAa,QAAS,SAC5BmH,EAAMnH,aAAa,SAAU,UAC7B+G,EAAa/H,SAAS4H,KAAKlH,YAAYyH,GACvC,IAAIC,EAAML,EAAa/H,SAASC,cAAc,KAC9CmI,EAAIpH,aAAa,OAAQtC,KAAKS,WAC9BiJ,EAAIC,UAAY,eAChBF,EAAMzH,YAAY0H,EACtB,KACK,CACD,MAAME,EAAMP,EAAa/H,SAASC,cAAc,OAChDqI,EAAItH,aAAa,MAAOtC,KAAKS,WAC7BmJ,EAAItH,aAAa,QAAS,4BAC1B+G,EAAa/H,SAAS4H,KAAKlH,YAAY4H,EAC3C,CACJ,MACIf,MAAM,kCAEd,EAOJvH,SAASyB,iBAAiB,4BAA4B,WAClDzB,SAASuI,iBAAiB,gCAAgCC,SAAQ,SAAUC,GAExE,IAAKA,EAAGC,QAAQ,oCACZ,IACIV,OAAOW,aAAaF,EAAG1J,IAAM,IAAIV,EAAY,CACzCI,KAAMgK,EACN9J,qBAAsBC,YAAYD,sBAE1C,CAAE,MAAOoG,GACLC,QAAQC,IAAI,uCAAuCwD,EAAG1J,gCAC3CgG,IACf,CAER,GACJ,IC/be,MAAM6D,UAAyBvK,EAC1C,WAAAC,CAAYC,GACRC,MAAMD,GACNG,KAAKmK,gBAAgBnK,KAAKoB,cAC1BpB,KAAKgD,SAAU,EACfhD,KAAKoK,aACT,CACA,WAAAA,GACQpK,KAAKwD,eACLxD,KAAKwD,aAAajB,MAAMC,QAAU,OAE1C,CACA,eAAA2H,CAAgBE,GAGZ,IAAIC,EAAchJ,SAASC,cAAc,OACrCgJ,EAAWjJ,SAASC,cAAc,OAEtCgJ,EAASC,IAAM,uBACfD,EAAShI,MAAME,MAAQ,OACvB8H,EAAShI,MAAMY,OAAS,OAExBmH,EAAYG,UAAY,UACxBH,EAAYI,MAAQ,GACpBJ,EAAYtI,YAAYuI,GAGxBF,EAAUM,aAAaL,EAAaD,EAAUO,WAClD,CACA,iBAAAC,GACI,MAAO,GACX,CACA,YAAAC,GACQ9K,KAAKiD,cACLjD,KAAKiD,YAAYV,MAAMC,QAAU,OAEzC,OAGoC,IAA7B8G,OAAOyB,oBACdzB,OAAOyB,kBAAoB,CAAC,GAGhCzB,OAAOyB,kBAAkBC,YAAc,SAAUnL,GAC7C,OAAIA,EAAKoL,MACE,IAAIf,EAAiBrK,GAEzB,IAAIF,EAAYE,EAC3B,C","sources":["webpack://WebComponents/./runestone/shortanswer/js/shortanswer.js","webpack://WebComponents/./runestone/shortanswer/js/timed_shortanswer.js"],"sourcesContent":["/*==========================================\n======= Master shortanswer.js ========\n============================================\n=== This file contains the JS for ===\n=== the Runestone shortanswer component. ===\n============================================\n=== Created by ===\n=== Isaiah Mayerchak ===\n=== 7/2/15 ===\n=== Brad Miller ===\n=== 2019 ===\n==========================================*/\n\nimport RunestoneBase from \"../../common/js/runestonebase.js\";\nimport { looksLikeLatexMath } from \"../../common/js/bookfuncs.js\";\nimport \"./../css/shortanswer.css\";\n\nexport default class ShortAnswer extends RunestoneBase {\n constructor(opts) {\n super(opts);\n if (opts) {\n var orig = opts.orig; // entire

element that will be replaced by new HTML\n this.useRunestoneServices =\n opts.useRunestoneServices || eBookConfig.useRunestoneServices;\n this.origElem = orig;\n this.divid = orig.id;\n this.question = this.origElem.innerHTML;\n this.optional = false;\n this.attachURL = opts.attachURL;\n if (this.origElem.hasAttribute(\"data-optional\")) {\n this.optional = true;\n }\n if (this.origElem.hasAttribute(\"data-attachment\")) {\n this.attachment = true;\n }\n this.placeholder =\n this.origElem.getAttribute(\"data-placeholder\") ||\n \"Write your answer here\";\n this.renderHTML();\n this.caption = \"shortanswer\";\n this.addCaption(\"runestone\");\n this.checkServer(\"shortanswer\", true);\n if (typeof Prism !== \"undefined\") {\n Prism.highlightAllUnder(this.containerDiv);\n }\n if (this.attachment) {\n this.getAttachmentName();\n }\n }\n }\n\n renderHTML() {\n this.containerDiv = document.createElement(\"div\");\n this.containerDiv.id = this.divid;\n this.containerDiv.classList.add(...(this.origElem.getAttribute(\"class\") || \"\").split(\" \").filter(Boolean));\n this.newForm = document.createElement(\"form\");\n this.newForm.id = this.divid + \"_journal\";\n this.newForm.name = this.newForm.id;\n this.newForm.action = \"\";\n this.containerDiv.appendChild(this.newForm);\n this.fieldSet = document.createElement(\"fieldset\");\n this.newForm.appendChild(this.fieldSet);\n this.firstLegendDiv = document.createElement(\"div\");\n this.firstLegendDiv.innerHTML = this.question;\n this.firstLegendDiv.classList.add(\"journal-question\");\n this.firstLegendDiv.classList.add(\"exercise-statement\");\n this.fieldSet.appendChild(this.firstLegendDiv);\n this.jInputDiv = document.createElement(\"div\");\n this.jInputDiv.id = this.divid + \"_journal_input\";\n this.fieldSet.appendChild(this.jInputDiv);\n this.jOptionsDiv = document.createElement(\"div\");\n this.jOptionsDiv.classList.add(\"journal-options\");\n this.jInputDiv.appendChild(this.jOptionsDiv);\n this.jTextArea = document.createElement(\"textarea\");\n this.jTextArea.id = this.divid + \"_solution\";\n this.jTextArea.setAttribute(\"aria-label\", \"textarea\");\n this.jTextArea.placeholder = this.placeholder;\n this.jTextArea.style.display = \"inline\";\n this.jTextArea.style.width = \"530px\";\n this.jTextArea.classList.add(\"form-control\");\n this.jTextArea.rows = 4;\n this.jTextArea.cols = 50;\n this.jOptionsDiv.appendChild(this.jTextArea);\n\n // fires when we loose focus on the textarea after making a change\n // mark it as answered for peer/timed purposes\n this.jTextArea.onchange = function () {\n this.isAnswered = true;\n }.bind(this);\n\n // the answer has not been saved yet. Update as soon as user types in\n // the box, not just when they loose focus.\n this.jTextArea.addEventListener(\"keydown\", () => {\n if (this.isTimed) {\n // no need for danger status... nothing for user to do here\n this.feedbackDiv.innerHTML = \"Your answer is automatically saved.\";\n } else {\n this.feedbackDiv.innerHTML = \"Your answer has not been saved yet!\";\n this.feedbackDiv.classList.remove(\"alert-success\");\n this.feedbackDiv.classList.add(\"alert\", \"alert-danger\");\n }\n });\n\n this.jTextArea.addEventListener(\"input\", () => {\n this.jTextArea.style.height = \"auto\";\n this.jTextArea.style.height = `${this.jTextArea.scrollHeight}px`;\n this.renderMath(this.jTextArea.value);\n });\n this.buttonDiv = document.createElement(\"div\");\n this.fieldSet.appendChild(this.buttonDiv);\n this.submitButton = document.createElement(\"button\");\n this.submitButton.classList.add(\"btn\", \"btn-success\");\n this.submitButton.type = \"button\";\n this.submitButton.textContent = \"Save\";\n this.submitButton.onclick = function () {\n this.checkCurrentAnswer();\n this.logCurrentAnswer();\n this.renderFeedback();\n }.bind(this);\n this.buttonDiv.appendChild(this.submitButton);\n\n this.otherOptionsDiv = document.createElement(\"div\");\n this.otherOptionsDiv.style.paddingLeft = \"20px\";\n this.otherOptionsDiv.classList.add(\"journal-options\");\n this.fieldSet.appendChild(this.otherOptionsDiv);\n // add a feedback div to give user feedback\n this.feedbackDiv = document.createElement(\"div\");\n this.feedbackDiv.style.width = \"530px\";\n this.feedbackDiv.style.fontStyle = \"italic\";\n this.feedbackDiv.id = this.divid + \"_feedback\";\n this.feedbackDiv.classList.add(\"shortanswer__feedback\");\n this.feedbackDiv.style.display = \"none\";\n this.fieldSet.appendChild(this.feedbackDiv);\n if (this.attachment) {\n let attachDiv = document.createElement(\"div\")\n this.attachDiv = attachDiv;\n if (this.graderactive) {\n // If in grading mode make a button to create a popup with the image\n let viewButton = document.createElement(\"button\")\n viewButton.type = \"button\"\n viewButton.innerHTML = \"View Attachment\"\n viewButton.onclick = this.viewFile.bind(this);\n attachDiv.appendChild(viewButton);\n } else {\n // Otherwise make a button for the student to select a file to upload.\n this.fileUpload = document.createElement(\"input\")\n this.fileUpload.type = \"file\";\n this.fileUpload.id = `${this.divid}_fileme`;\n attachDiv.appendChild(this.fileUpload);\n }\n this.containerDiv.appendChild(attachDiv);\n }\n this.origElem.replaceWith(this.containerDiv);\n // This is a stopgap measure for when MathJax is not loaded at all. There is another\n // more difficult case that when MathJax is loaded asynchronously we will get here\n // before MathJax is loaded. In that case we will need to implement something\n // like `the solution described here `_\n if (typeof MathJax !== \"undefined\") {\n this.queueMathJax(this.containerDiv);\n }\n }\n\n renderMath(value) {\n if (looksLikeLatexMath(value)) {\n if (!this.renderedAnswer) {\n this.rederedAnswerDiv = document.createElement(\"div\");\n this.rederedAnswerDiv.classList.add(\"shortanswer__rendered-answer-div\");\n this.fieldSet.appendChild(this.rederedAnswerDiv);\n\n this.renderedAnswerLabel = document.createElement(\"label\");\n this.renderedAnswerLabel.innerHTML = \"Rendered Answer:\";\n this.renderedAnswerLabel.id = this.divid + \"_rendered_answer_label\";\n this.renderedAnswerLabel.classList.add(\"shortanswer__rendered-answer-label\");\n this.rederedAnswerDiv.appendChild(this.renderedAnswerLabel);\n\n this.renderedAnswer = document.createElement(\"div\");\n this.renderedAnswer.classList.add(\"shortanswer__rendered-answer\");\n this.renderedAnswer.classList.add(\"latexoutput\");\n this.renderedAnswer.setAttribute('aria-labelledby', this.renderedAnswerLabel.id);\n this.renderedAnswer.setAttribute('aria-live', \"polite\");\n this.rederedAnswerDiv.appendChild(this.renderedAnswer);\n }\n value = value.replace(/\\$\\$(.*?)\\$\\$/g, \"\\\\[ $1 \\\\]\");\n value = value.replace(/\\$(.*?)\\$/g, \"\\\\( $1 \\\\)\");\n value = value.replace(/\\n/g, \"
\");\n this.renderedAnswer.innerHTML = value;\n\n this.rederedAnswerDiv.style.display = \"block\";\n this.queueMathJax(this.renderedAnswer);\n\n } else {\n if (this.renderedAnswer) {\n this.rederedAnswerDiv.style.display = \"none\";\n }\n }\n }\n\n async checkCurrentAnswer() {\n let value = document.getElementById(this.divid + \"_solution\").value;\n this.renderMath(value);\n this.setLocalStorage({\n answer: value,\n timestamp: new Date(),\n });\n }\n\n async logCurrentAnswer(sid) {\n let value = document.getElementById(this.divid + \"_solution\").value;\n this.renderMath(value);\n this.setLocalStorage({\n answer: value,\n timestamp: new Date(),\n });\n let data = {\n event: \"shortanswer\",\n act: value,\n answer: value,\n div_id: this.divid,\n };\n if (typeof sid !== \"undefined\") {\n data.sid = sid;\n }\n await this.logBookEvent(data);\n if (this.attachment) {\n await this.uploadFile();\n }\n }\n\n renderFeedback() {\n this.feedbackDiv.innerHTML = \"Your answer has been saved.\";\n this.feedbackDiv.classList.remove(\"alert-danger\");\n this.feedbackDiv.classList.add(\"alert\", \"alert-success\");\n this.feedbackDiv.style.display = \"block\";\n }\n setLocalStorage(data) {\n if (!this.graderactive) {\n let key = this.localStorageKey();\n localStorage.setItem(key, JSON.stringify(data));\n }\n }\n checkLocalStorage() {\n // Repopulates the short answer text\n // which was stored into local storage.\n var answer = \"\";\n if (this.graderactive) {\n return;\n }\n var len = localStorage.length;\n if (len > 0) {\n var ex = localStorage.getItem(this.localStorageKey());\n if (ex !== null) {\n try {\n var storedData = JSON.parse(ex);\n answer = storedData.answer;\n } catch (err) {\n // error while parsing; likely due to bad value stored in storage\n console.log(err.message);\n localStorage.removeItem(this.localStorageKey());\n return;\n }\n let solution = document.getElementById(this.divid + \"_solution\");\n if (solution) {\n solution.value = answer;\n }\n this.renderMath(answer);\n }\n }\n }\n restoreAnswers(data) {\n // Restore answers from storage retrieval done in RunestoneBase\n // sometimes data.answer can be null\n if (!data.answer) {\n data.answer = \"\";\n }\n this.answer = data.answer;\n this.jTextArea.value = this.answer;\n this.renderMath(this.answer);\n\n let p = document.createElement(\"p\");\n p.classList.add(\"shortanswer__timestamp\");\n this.jInputDiv.appendChild(p);\n var tsString = \"\";\n if (data.timestamp) {\n tsString = new Date(data.timestamp).toLocaleString();\n } else {\n tsString = \"\";\n }\n p.textContent = tsString;\n this.jTextArea.style.height = \"auto\";\n this.jTextArea.style.height = `${this.jTextArea.scrollHeight}px`;\n\n if (data.last_answer) {\n this.current_answer = \"ontime\";\n let toggle_answer_button = document.createElement(\"button\");\n toggle_answer_button.type = \"button\";\n toggle_answer_button.textContent = \"Show Late Answer\";\n toggle_answer_button.classList.add(\"btn\", \"btn-warning\");\n toggle_answer_button.style.marginLeft = \"5px\";\n\n toggle_answer_button.addEventListener(\n \"click\",\n function () {\n var display_timestamp, button_text;\n if (this.current_answer === \"ontime\") {\n this.jTextArea.value = data.last_answer;\n this.answer = data.last_answer;\n display_timestamp = new Date(\n data.last_timestamp\n ).toLocaleString();\n button_text = \"Show on-Time Answer\";\n this.current_answer = \"late\";\n } else {\n this.jTextArea.value = data.answer;\n this.answer = data.answer;\n display_timestamp = tsString;\n button_text = \"Show Late Answer\";\n this.current_answer = \"ontime\";\n }\n this.renderMath(this.answer);\n p.textContent = `Submitted: ${display_timestamp}`;\n toggle_answer_button.textContent = button_text;\n }.bind(this)\n );\n\n this.buttonDiv.appendChild(toggle_answer_button);\n }\n let feedbackStr = \"\";\n if (typeof data.score !== \"undefined\") {\n feedbackStr = `Score: ${data.score}`;\n }\n if (data.comment) {\n feedbackStr += ` -- ${data.comment}`;\n }\n if (feedbackStr !== \"\") {\n this.feedbackDiv.innerHTML = feedbackStr;\n this.feedbackDiv.style.display = \"block\";\n this.feedbackDiv.classList.add(\"alert\", \"alert-success\");\n }\n }\n\n disableInteraction() {\n this.jTextArea.disabled = true;\n }\n\n async getAttachmentName() {\n // Get the attachment name from the /ns/assessment/has_attachment endpoint\n let requestUrl = `/ns/assessment/has_attachment/${this.divid}`;\n if (this.sid) {\n requestUrl += `?sid=${this.sid}`;\n }\n const response = await fetch(requestUrl);\n if (!response.ok) {\n console.error(\"Error fetching attachment name:\", response.statusText);\n return null;\n }\n const obj = await response.json();\n if (obj.detail.hasAttachment) {\n // Return the S3 key for the attachment\n let filename = obj.detail.hasAttachment;\n // filename is everthing after the last slash\n filename = filename.substring(filename.lastIndexOf(\"/\") + 1);\n let fmess = document.createElement(\"span\");\n fmess.innerHTML = `Attachment: ${filename}`;\n this.attachDiv.appendChild(fmess);\n }\n }\n\n async uploadFile() {\n const files = this.fileUpload.files\n // get the suffix from the file name\n const fileName = files[0].name;\n const suffix = fileName.split('.').pop();\n // if the suffix is not in the list of allowed suffixes, return\n if (!['jpg', 'jpeg', 'png', 'gif', 'pdf'].includes(suffix)) {\n alert(\"File type not allowed. Please upload a jpg, jpeg, png, gif, or pdf file.\");\n return;\n }\n // if the file size is greater than 5MB, return\n if (files[0].size > 5 * 1024 * 1024) {\n alert(\"File size exceeds 5MB limit. Please upload a smaller file.\");\n return;\n }\n const data = new FormData()\n if (this.fileUpload.files.length > 0) {\n data.append('file', files[0])\n fetch(`/ns/logger/upload/${this.divid}`, {\n method: 'POST',\n body: data\n })\n .then(response => response.json())\n .then(data => {\n console.log(data)\n })\n .catch(error => {\n console.error(error)\n })\n }\n }\n\n viewFile() {\n // Get the URL from the S3 API -- saved when we display in grader mode\n if (this.attachURL) {\n //window.open(this.attachURL, \"_blank\");\n //\n //switch to \n const image_window = window.open(\"\", \"_blank\")\n if (this.attachURL.indexOf('.pdf?') !== -1) {\n const embed = image_window.document.createElement(\"object\");\n embed.setAttribute(\"data\", this.attachURL);\n embed.setAttribute(\"type\", \"application/pdf\");\n embed.setAttribute(\"width\", \"800px\");\n embed.setAttribute(\"height\", \"1040px\");\n image_window.document.body.appendChild(embed);\n let alt = image_window.document.createElement(\"a\");\n alt.setAttribute(\"href\", this.attachURL);\n alt.innerText = \"Download PDF\";\n embed.appendChild(alt);\n }\n else {\n const img = image_window.document.createElement(\"img\");\n img.setAttribute(\"src\", this.attachURL);\n img.setAttribute(\"style\", \"width:100%; height:auto;\");\n image_window.document.body.appendChild(img);\n }\n } else {\n alert(\"No attachment for this student.\")\n }\n }\n}\n\n/*=================================\n== Find the custom HTML tags and ==\n== execute our code on them ==\n=================================*/\ndocument.addEventListener(\"runestone:login-complete\", function () {\n document.querySelectorAll(\"[data-component=shortanswer]\").forEach(function (el) {\n // If this element exists within a timed component, don't render it here\n if (!el.closest(\"[data-component=timedAssessment]\")) {\n try {\n window.componentMap[el.id] = new ShortAnswer({\n orig: el,\n useRunestoneServices: eBookConfig.useRunestoneServices,\n });\n } catch (err) {\n console.log(`Error rendering ShortAnswer Problem ${el.id}\n Details: ${err}`);\n }\n }\n });\n});\n","import ShortAnswer from \"./shortanswer.js\";\n\nexport default class TimedShortAnswer extends ShortAnswer {\n constructor(opts) {\n super(opts);\n this.renderTimedIcon(this.containerDiv);\n this.isTimed = true;\n this.hideButtons();\n }\n hideButtons() {\n if (this.submitButton) {\n this.submitButton.style.display = \"none\";\n }\n }\n renderTimedIcon(component) {\n // renders the clock icon on timed components. The component parameter\n // is the element that the icon should be appended to.\n var timeIconDiv = document.createElement(\"div\");\n var timeIcon = document.createElement(\"img\");\n\n timeIcon.src = \"../_static/clock.png\";\n timeIcon.style.width = \"15px\";\n timeIcon.style.height = \"15px\";\n\n timeIconDiv.className = \"timeTip\";\n timeIconDiv.title = \"\";\n timeIconDiv.appendChild(timeIcon);\n\n // If firstChild is null, insertBefore acts like appendChild\n component.insertBefore(timeIconDiv, component.firstChild);\n }\n checkCorrectTimed() {\n return \"I\"; // we ignore this in the grading\n }\n hideFeedback() {\n if (this.feedbackDiv) {\n this.feedbackDiv.style.display = \"none\";\n }\n }\n}\n\nif (typeof window.component_factory === \"undefined\") {\n window.component_factory = {};\n}\n\nwindow.component_factory.shortanswer = function (opts) {\n if (opts.timed) {\n return new TimedShortAnswer(opts);\n }\n return new ShortAnswer(opts);\n};\n"],"names":["ShortAnswer","constructor","opts","super","orig","this","useRunestoneServices","eBookConfig","origElem","divid","id","question","innerHTML","optional","attachURL","hasAttribute","attachment","placeholder","getAttribute","renderHTML","caption","addCaption","checkServer","Prism","highlightAllUnder","containerDiv","getAttachmentName","document","createElement","classList","add","split","filter","Boolean","newForm","name","action","appendChild","fieldSet","firstLegendDiv","jInputDiv","jOptionsDiv","jTextArea","setAttribute","style","display","width","rows","cols","onchange","isAnswered","bind","addEventListener","isTimed","feedbackDiv","remove","height","scrollHeight","renderMath","value","buttonDiv","submitButton","type","textContent","onclick","checkCurrentAnswer","logCurrentAnswer","renderFeedback","otherOptionsDiv","paddingLeft","fontStyle","attachDiv","graderactive","viewButton","viewFile","fileUpload","replaceWith","MathJax","queueMathJax","renderedAnswer","rederedAnswerDiv","renderedAnswerLabel","replace","getElementById","setLocalStorage","answer","timestamp","Date","sid","data","event","act","div_id","logBookEvent","uploadFile","key","localStorageKey","localStorage","setItem","JSON","stringify","checkLocalStorage","length","ex","getItem","parse","err","console","log","message","removeItem","solution","restoreAnswers","p","tsString","toLocaleString","last_answer","current_answer","toggle_answer_button","marginLeft","display_timestamp","button_text","last_timestamp","feedbackStr","score","comment","disableInteraction","disabled","requestUrl","response","fetch","ok","error","statusText","obj","json","detail","hasAttachment","filename","substring","lastIndexOf","fmess","files","suffix","pop","includes","alert","size","FormData","append","method","body","then","catch","image_window","window","open","indexOf","embed","alt","innerText","img","querySelectorAll","forEach","el","closest","componentMap","TimedShortAnswer","renderTimedIcon","hideButtons","component","timeIconDiv","timeIcon","src","className","title","insertBefore","firstChild","checkCorrectTimed","hideFeedback","component_factory","shortanswer","timed"],"sourceRoot":""} \ No newline at end of file diff --git a/_static/819.fa7785b520e523a5.js.map.gz b/_static/819.fa7785b520e523a5.js.map.gz new file mode 100755 index 0000000..c51a96c Binary files /dev/null and b/_static/819.fa7785b520e523a5.js.map.gz differ diff --git a/_static/824.4343b78afc34c12f.js b/_static/824.4343b78afc34c12f.js old mode 100644 new mode 100755 diff --git a/_static/824.4343b78afc34c12f.js.gz b/_static/824.4343b78afc34c12f.js.gz old mode 100644 new mode 100755 diff --git a/_static/824.4343b78afc34c12f.js.map b/_static/824.4343b78afc34c12f.js.map old mode 100644 new mode 100755 diff --git a/_static/824.4343b78afc34c12f.js.map.gz b/_static/824.4343b78afc34c12f.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/85f0466cb4ab3a4d.svg b/_static/85f0466cb4ab3a4d.svg old mode 100644 new mode 100755 diff --git a/_static/85f0466cb4ab3a4d.svg.gz b/_static/85f0466cb4ab3a4d.svg.gz old mode 100644 new mode 100755 diff --git a/_static/877.fc49cc812ccc4937.js b/_static/877.fc49cc812ccc4937.js old mode 100644 new mode 100755 diff --git a/_static/877.fc49cc812ccc4937.js.gz b/_static/877.fc49cc812ccc4937.js.gz old mode 100644 new mode 100755 diff --git a/_static/877.fc49cc812ccc4937.js.map b/_static/877.fc49cc812ccc4937.js.map old mode 100644 new mode 100755 diff --git a/_static/877.fc49cc812ccc4937.js.map.gz b/_static/877.fc49cc812ccc4937.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/915.8f500bccc86f901d.js b/_static/915.8f500bccc86f901d.js old mode 100644 new mode 100755 diff --git a/_static/915.8f500bccc86f901d.js.gz b/_static/915.8f500bccc86f901d.js.gz old mode 100644 new mode 100755 diff --git a/_static/915.8f500bccc86f901d.js.map b/_static/915.8f500bccc86f901d.js.map old mode 100644 new mode 100755 diff --git a/_static/915.8f500bccc86f901d.js.map.gz b/_static/915.8f500bccc86f901d.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/919.237aced0c044e4b6.js b/_static/919.237aced0c044e4b6.js old mode 100644 new mode 100755 diff --git a/_static/919.237aced0c044e4b6.js.gz b/_static/919.237aced0c044e4b6.js.gz old mode 100644 new mode 100755 diff --git a/_static/919.237aced0c044e4b6.js.map b/_static/919.237aced0c044e4b6.js.map old mode 100644 new mode 100755 diff --git a/_static/919.237aced0c044e4b6.js.map.gz b/_static/919.237aced0c044e4b6.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/_runestone-services.xml b/_static/_runestone-services.xml old mode 100644 new mode 100755 index 7c4cb61..b219abc --- a/_static/_runestone-services.xml +++ b/_static/_runestone-services.xml @@ -1,14 +1,14 @@ - - - - prefix-runtime.42217a82c75796c8.bundle.js - prefix-723.3e6434f80549315a.bundle.js - prefix-runestone.7e141ad8414abf4a.bundle.js - - - prefix-723.3bccd435914aa0ff.css - prefix-runestone.f4ab138da65f4203.css - - https://runestone.academy/cdn/runestone/ - 7.11.5 - + + + + prefix-runtime.991c135ccf182bf5.bundle.js + prefix-723.3e6434f80549315a.bundle.js + prefix-runestone.1c010553c35c544c.bundle.js + + + prefix-723.3bccd435914aa0ff.css + prefix-runestone.677a75a9120449ff.css + + https://runestone.academy/cdn/runestone/ + 7.11.8 + diff --git a/_static/b70781972ce7320b.woff2 b/_static/b70781972ce7320b.woff2 old mode 100644 new mode 100755 diff --git a/_static/prefix-115.83df5da0966564d5.css b/_static/prefix-115.83df5da0966564d5.css deleted file mode 100644 index 93d9aae..0000000 --- a/_static/prefix-115.83df5da0966564d5.css +++ /dev/null @@ -1,2 +0,0 @@ -.selectwidthauto{display:inline-block!important;margin:5px;width:auto!important}input.input-validation-error{border:1px solid #e80c4d}.dark-mode .fillintheblank_section input[type=text]{background-color:#333;color:unset}.ptx-runestone-container .fitb-feedback{margin-bottom:0;margin-top:10px}.ptx-runestone-container .fitb-feedback:empty{margin-top:0}.mchoice label p{display:inline;font-weight:400!important}.mchoice label pre{font-weight:400}.mchoice fieldset{margin-bottom:.5em}.mchoice fieldset legend{font-size:small;margin-bottom:.5em}.multiplechoice_section label>.para,.timedAssessment .mchoice label>.para{display:inline}label.mchoice-option{display:block}.ptx-runestone-container input.mchoice-input{margin-right:.5em;vertical-align:top}.mchoice .alert{margin-bottom:0;margin-top:10px}div.journal div.latexoutput{background-color:var(--outerBackground,#eee);border-radius:5px;margin-bottom:10px;padding:1em}.shortanswer_section .alert{margin-bottom:0}.shortanswer__timestamp{color:var(--grayToWhite,#333);font-size:.9em}.journal textarea{background-color:#fff;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(90deg,#eaeef2,#eaeef2) border-box;border:1px solid #d0d7de;border-radius:8px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.5;max-width:100%;min-height:6rem;overflow:hidden;padding:.75rem .9rem;resize:none;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.journal textarea:focus{border-color:#0969da;box-shadow:0 0 0 3px rgba(9,105,218,.15);outline:none}.clickable{cursor:pointer}.clickable:has(code){display:inline-block;padding:3px}.clickable-clicked:has(code){box-shadow:0 0 2px 2px rgba(0,100,0,.75)}.clickable-clicked{background-color:var(--clickableBgColor)}.clickable-clicked td{background-color:#dad6c1;box-shadow:none}table{border-collapse:collapse}td.clickable,th.clickable{border:1px solid #000}td.clickable-clicked{background-color:#dad6c1;box-shadow:none}td img{margin:5px}.clickable-clicked th,th.clickable-clicked{background-color:#dad6c1;box-shadow:none}.clickable-incorrect,.clickable-incorrect td,.clickable-incorrect th{background-color:var(--clickableIncorrectBgColor);border:1px solid red!important}img.clickable-incorrect{box-shadow:0 0 2px 2px rgba(100,0,0,.75)}.clickable-incorrect:has(code){box-shadow:0 0 2px 2px rgba(251,0,0,.75)}:root{--clickableBgColor:#ff0;--clickableIncorrectBgColor:#fcc}:root.dark-mode{--clickableBgColor:#3c5624;--clickableIncorrectBgColor:#562c2c;.clickable-clicked:has(code):not(.clickable-incorrect){box-shadow:0 0 2px 2px rgba(251,255,21,.75)}}.ptx-runestone-container .rsdraggable,.runestone-sphinx .rsdraggable{background-color:var(--questionBgColor,#efefff);border:1px solid var(--componentBorderColor,#efefff);box-sizing:border-box;display:inline;float:left;margin-left:1%;margin-right:1%;margin-top:5px;min-width:28%;padding-bottom:10px;text-align:left;vertical-align:top}.ptx-runestone-container .dnd-button-container,.runestone-sphinx .dnd-button-container{display:flex;justify-content:center;margin-top:1em;width:100%}.ptx-runestone-container .drag-button,.runestone-sphinx .drag-button{display:inline-block}.ptx-runestone-container .drag-reset,.runestone-sphinx .drag-reset{background-color:#474949;color:#fff}.ptx-runestone-container .drag-reset:hover,.runestone-sphinx .drag-reset:hover{background-color:#000;color:#fff}.ptx-runestone-container .drop-incorrect,.runestone-sphinx .drop-incorrect{background-color:var(--draggableIncorrectBg,#f2dede)!important;border:1px solid var(--draggableIncorrectBorder,red)!important}.ptx-runestone-container .drag-reset:enabled,.runestone-sphinx .drag-reset:enabled{background-color:#474949;color:#fff}.ptx-runestone-container .draggable-drag,.runestone-sphinx .draggable-drag{background-color:var(--draggableBgColor);border:1px solid #d3d3d3;border-radius:10px;cursor:grab;display:block;margin-top:5px;padding:10px}.ptx-runestone-container .draggable-feedback,.runestone-sphinx .draggable-feedback{clear:both;margin-bottom:0;margin-top:10px;text-align:left!important}.ptx-runestone-container .draggable-drop,.runestone-sphinx .draggable-drop{background-color:var(--dropableBgColor);border:1px solid #d3d3d3;border-radius:10px;cursor:grab;display:block;margin-top:5px;padding:10px}.ptx-runestone-container .draggable-container,.runestone-sphinx .draggable-container{text-align:center}.ptx-runestone-container .possibleDrop,.runestone-sphinx .possibleDrop{background-color:#ccc;border-color:#000}.ptx-runestone-container .draggable-drop .MathJax,.ptx-runestone-container .draggable-drop .process-math,.runestone-sphinx .draggable-drop .MathJax,.runestone-sphinx .draggable-drop .process-math{cursor:not-allowed;pointer-events:none}.ptx-runestone-container .vh-dnd-error,.runestone-sphinx .vh-dnd-error{clip:rect(0,0,0,0);border:0;height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.ptx-runestone-container .cardsort-statement,.runestone-sphinx .cardsort-statement{background-color:var(--questionBgColor);margin-bottom:10px;padding:10px;text-align:left}.ptx-runestone-container .parsons-container,.runestone-sphinx .parsons-container{clear:both}.ptx-runestone-container .parsons .sortable-code-container,.runestone-sphinx .parsons .sortable-code-container{text-align:center}.ptx-runestone-container .parsons .sortable-code-container:not(.block),.runestone-sphinx .parsons .sortable-code-container:not(.block){-webkit-user-select:none;-moz-user-select:-moz-none;-ms-user-select:none;user-select:none}.ptx-runestone-container .parsons .sortable-code,.runestone-sphinx .parsons .sortable-code{display:inline-block;margin:0 15px;padding-left:0;position:static;text-align:left;vertical-align:top}.ptx-runestone-container .parsons .answer,.ptx-runestone-container .parsons .answer1,.ptx-runestone-container .parsons .answer2,.ptx-runestone-container .parsons .answer3,.ptx-runestone-container .parsons .answer4,.ptx-runestone-container .parsons .source,.runestone-sphinx .parsons .answer,.runestone-sphinx .parsons .answer1,.runestone-sphinx .parsons .answer2,.runestone-sphinx .parsons .answer3,.runestone-sphinx .parsons .answer4,.runestone-sphinx .parsons .source{background-color:var(--questionBgColor,#efefff);border:1px solid var(--componentBorderColor,#efefff);font-size:100%;list-style:none;margin-left:0;padding-bottom:10px;padding-left:0;position:relative}.ptx-runestone-container .parsons .source,.runestone-sphinx .parsons .source{background-color:var(--questionBgColor,#efefff)}.ptx-runestone-container .parsons .answer,.runestone-sphinx .parsons .answer{background-color:var(--parsonsBgColor);border-color:var(--parsonsBorderColor)}.ptx-runestone-container .parsons .answer.incorrect,.runestone-sphinx .parsons .answer.incorrect{background-color:var(--parsonsIncorrectBgColor);border-color:var(--parsonsIncorrectBorderColor)}.ptx-runestone-container .parsons .answer.correct,.runestone-sphinx .parsons .answer.correct{background-color:var(--parsonsCorrectBgColor);border-color:var(--parsonsCorrectBorderColor)}.ptx-runestone-container .parsons .answer1,.runestone-sphinx .parsons .answer1{background:linear-gradient(var(--parsonsBorderColor),var(--parsonsBorderColor)) no-repeat border-box;background-color:var(--parsonsBgColor);background-origin:padding-box;background-position:30px 0;background-size:1px 100%;border-color:var(--parsonsBorderColor)}.ptx-runestone-container .parsons .answer1.incorrect,.runestone-sphinx .parsons .answer1.incorrect{background:linear-gradient(var(--parsonsIncorrectBorderColor),var(--parsonsIncorrectBorderColor)) no-repeat border-box;background-color:var(--parsonsIncorrectBgColor);background-origin:padding-box;background-position:30px 0;background-size:1px 100%;border-color:var(--parsonsIncorrectBorderColor)}.ptx-runestone-container .parsons .answer1.correct,.runestone-sphinx .parsons .answer1.correct{background:linear-gradient(var(--parsonsCorrectBorderColor),var(--parsonsCorrectBorderColor)) no-repeat border-box;background-color:var(--parsonsCorrectBgColor);background-origin:padding-box;background-position:30px 0;background-size:1px 100%;border-color:var(--parsonsCorrectBorderColor)}.ptx-runestone-container .parsons .answer2,.runestone-sphinx .parsons .answer2{background:linear-gradient(var(--parsonsBorderColor),var(--parsonsBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsBorderColor),var(--parsonsBorderColor)) no-repeat border-box;background-color:var(--parsonsBgColor);background-origin:padding-box,padding-box;background-position:30px 0,60px 0;background-size:1px 100%,1px 100%;border-color:var(--parsonsBorderColor)}.ptx-runestone-container .parsons .answer2.incorrect,.runestone-sphinx .parsons .answer2.incorrect{background:linear-gradient(var(--parsonsIncorrectBorderColor),var(--parsonsIncorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsIncorrectBorderColor),var(--parsonsIncorrectBorderColor)) no-repeat border-box;background-color:var(--parsonsIncorrectBgColor);background-origin:padding-box,padding-box;background-position:30px 0,60px 0;background-size:1px 100%,1px 100%;border-color:var(--parsonsIncorrectBorderColor)}.ptx-runestone-container .parsons .answer2.correct,.runestone-sphinx .parsons .answer2.correct{background:linear-gradient(var(--parsonsCorrectBorderColor),var(--parsonsCorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsCorrectBorderColor),var(--parsonsCorrectBorderColor)) no-repeat border-box;background-color:var(--parsonsCorrectBgColor);background-origin:padding-box,padding-box;background-position:30px 0,60px 0;background-size:1px 100%,1px 100%;border-color:var(--parsonsCorrectBorderColor)}.ptx-runestone-container .parsons .answer3,.runestone-sphinx .parsons .answer3{background:linear-gradient(var(--parsonsBorderColor),var(--parsonsBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsBorderColor),var(--parsonsBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsBorderColor),var(--parsonsBorderColor)) no-repeat border-box;background-color:var(--parsonsBgColor);background-origin:padding-box,padding-box,padding-box;background-position:30px 0,60px 0,90px 0;background-size:1px 100%,1px 100%,1px 100%;border-color:var(--parsonsBorderColor)}.ptx-runestone-container .parsons .answer3.incorrect,.runestone-sphinx .parsons .answer3.incorrect{background:linear-gradient(var(--parsonsIncorrectBorderColor),var(--parsonsIncorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsIncorrectBorderColor),var(--parsonsIncorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsIncorrectBorderColor),var(--parsonsIncorrectBorderColor)) no-repeat border-box;background-color:var(--parsonsIncorrectBgColor);background-origin:padding-box,padding-box,padding-box;background-position:30px 0,60px 0,90px 0;background-size:1px 100%,1px 100%,1px 100%;border-color:var(--parsonsIncorrectBorderColor)}.ptx-runestone-container .parsons .answer3.correct,.runestone-sphinx .parsons .answer3.correct{background:linear-gradient(var(--parsonsCorrectBorderColor),var(--parsonsCorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsCorrectBorderColor),var(--parsonsCorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsCorrectBorderColor),var(--parsonsCorrectBorderColor)) no-repeat border-box;background-color:var(--parsonsCorrectBgColor);background-origin:padding-box,padding-box,padding-box;background-position:30px 0,60px 0,90px 0;background-size:1px 100%,1px 100%,1px 100%;border-color:var(--parsonsCorrectBorderColor)}.ptx-runestone-container .parsons .answer4,.runestone-sphinx .parsons .answer4{background:linear-gradient(var(--parsonsBorderColor),var(--parsonsBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsBorderColor),var(--parsonsBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsBorderColor),var(--parsonsBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsBorderColor),var(--parsonsBorderColor)) no-repeat border-box;background-color:var(--parsonsBgColor);background-origin:padding-box,padding-box,padding-box,padding-box;background-position:30px 0,60px 0,90px 0,120px 0;background-size:1px 100%,1px 100%,1px 100%,1px 100%;border-color:var(--parsonsBorderColor)}.ptx-runestone-container .parsons .answer4.incorrect,.runestone-sphinx .parsons .answer4.incorrect{background:linear-gradient(var(--parsonsIncorrectBorderColor),var(--parsonsIncorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsIncorrectBorderColor),var(--parsonsIncorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsIncorrectBorderColor),var(--parsonsIncorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsIncorrectBorderColor),var(--parsonsIncorrectBorderColor)) no-repeat border-box;background-color:var(--parsonsIncorrectBgColor);background-origin:padding-box,padding-box,padding-box,padding-box;background-position:30px 0,60px 0,90px 0,120px 0;background-size:1px 100%,1px 100%,1px 100%,1px 100%;border-color:var(--parsonsIncorrectBorderColor)}.ptx-runestone-container .parsons .answer4.correct,.runestone-sphinx .parsons .answer4.correct{background:linear-gradient(var(--parsonsCorrectBorderColor),var(--parsonsCorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsCorrectBorderColor),var(--parsonsCorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsCorrectBorderColor),var(--parsonsCorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsCorrectBorderColor),var(--parsonsCorrectBorderColor)) no-repeat border-box;background-color:var(--parsonsCorrectBgColor);background-origin:padding-box,padding-box,padding-box,padding-box;background-position:30px 0,60px 0,90px 0,120px 0;background-size:1px 100%,1px 100%,1px 100%,1px 100%;border-color:var(--parsonsCorrectBorderColor)}.ptx-runestone-container .parsons .answer5,.runestone-sphinx .parsons .answer5{background:linear-gradient(var(--parsonsBorderColor),var(--parsonsBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsBorderColor),var(--parsonsBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsBorderColor),var(--parsonsBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsBorderColor),var(--parsonsBorderColor)) no-repeat border-box;background-color:var(--parsonsBgColor);background-origin:padding-box,padding-box,padding-box,padding-box;background-position:30px 0,60px 0,90px 0,120px 0,150px 0;background-size:1px 100%,1px 100%,1px 100%,1px 100%;border-color:var(--parsonsBorderColor)}.ptx-runestone-container .parsons .answer5.incorrect,.runestone-sphinx .parsons .answer5.incorrect{background:linear-gradient(var(--parsonsIncorrectBorderColor),var(--parsonsIncorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsIncorrectBorderColor),var(--parsonsIncorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsIncorrectBorderColor),var(--parsonsIncorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsIncorrectBorderColor),var(--parsonsIncorrectBorderColor)) no-repeat border-box;background-color:var(--parsonsIncorrectBgColor);background-origin:padding-box,padding-box,padding-box,padding-box;background-position:30px 0,60px 0,90px 0,120px 0,150px 0;background-size:1px 100%,1px 100%,1px 100%,1px 100%;border-color:var(--parsonsIncorrectBorderColor)}.ptx-runestone-container .parsons .answer5.correct,.runestone-sphinx .parsons .answer5.correct{background:linear-gradient(var(--parsonsCorrectBorderColor),var(--parsonsCorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsCorrectBorderColor),var(--parsonsCorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsCorrectBorderColor),var(--parsonsCorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsCorrectBorderColor),var(--parsonsCorrectBorderColor)) no-repeat border-box;background-color:var(--parsonsCorrectBgColor);background-origin:padding-box,padding-box,padding-box,padding-box;background-position:30px 0,60px 0,90px 0,120px 0,150px 0;background-size:1px 100%,1px 100%,1px 100%,1px 100%;border-color:var(--parsonsCorrectBorderColor)}.ptx-runestone-container .parsons .answer6,.runestone-sphinx .parsons .answer6{background:linear-gradient(var(--parsonsBorderColor),var(--parsonsBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsBorderColor),var(--parsonsBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsBorderColor),var(--parsonsBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsBorderColor),var(--parsonsBorderColor)) no-repeat border-box;background-color:var(--parsonsBgColor);background-origin:padding-box,padding-box,padding-box,padding-box;background-position:30px 0,60px 0,90px 0,120px 0,150px 0,180px 0;background-size:1px 100%,1px 100%,1px 100%,1px 100%;border-color:var(--parsonsBorderColor)}.ptx-runestone-container .parsons .answer6.incorrect,.runestone-sphinx .parsons .answer6.incorrect{background:linear-gradient(var(--parsonsIncorrectBorderColor),var(--parsonsIncorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsIncorrectBorderColor),var(--parsonsIncorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsIncorrectBorderColor),var(--parsonsIncorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsIncorrectBorderColor),var(--parsonsIncorrectBorderColor)) no-repeat border-box;background-color:var(--parsonsIncorrectBgColor);background-origin:padding-box,padding-box,padding-box,padding-box;background-position:30px 0,60px 0,90px 0,120px 0,150px 0,180px 0;background-size:1px 100%,1px 100%,1px 100%,1px 100%;border-color:var(--parsonsIncorrectBorderColor)}.ptx-runestone-container .parsons .answer6.correct,.runestone-sphinx .parsons .answer6.correct{background:linear-gradient(var(--parsonsCorrectBorderColor),var(--parsonsCorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsCorrectBorderColor),var(--parsonsCorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsCorrectBorderColor),var(--parsonsCorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsCorrectBorderColor),var(--parsonsCorrectBorderColor)) no-repeat border-box;background-color:var(--parsonsCorrectBgColor);background-origin:padding-box,padding-box,padding-box,padding-box;background-position:30px 0,60px 0,90px 0,120px 0,150px 0,180px 0;background-size:1px 100%,1px 100%,1px 100%,1px 100%;border-color:var(--parsonsCorrectBorderColor)}.ptx-runestone-container .parsons .block,.runestone-sphinx .parsons .block{background-color:var(--background,#efefef);border:1px solid #d3d3d3;-moz-border-radius:10px;-webkit-border-radius:10px;border-radius:10px;cursor:move;margin-top:5px;overflow:hidden;padding:5px 10px;position:absolute}.ptx-runestone-container .parsons .block.disabled,.runestone-sphinx .parsons .block.disabled{opacity:.3}.ptx-runestone-container .parsons .block.down,.runestone-sphinx .parsons .block.down{border:2px solid #000;padding:4px 9px}.ptx-runestone-container .parsons .block.up,.runestone-sphinx .parsons .block.up{background-color:#fff;border:2px solid #000;box-shadow:3px 3px 4px #000;padding:4px 9px}.ptx-runestone-container .parsons,.runestone-sphinx .parsons{display:block}.ptx-runestone-container .parsons .block,.runestone-sphinx .parsons .block{clear:both;float:left}.ptx-runestone-container .parsons .sortable-code code,.runestone-sphinx .parsons .sortable-code code{background-color:transparent;clear:both;float:left;white-space:pre}.ptx-runestone-container .parsons .sortable-code code:empty,.runestone-sphinx .parsons .sortable-code code:empty{height:1.25em}.ptx-runestone-container .parsons .block p,.runestone-sphinx .parsons .block p{margin:0}.ptx-runestone-container .parsons .block,.ptx-runestone-container .parsons .block:after,.ptx-runestone-container .parsons .block:before,.runestone-sphinx .parsons .block,.runestone-sphinx .parsons .block:after,.runestone-sphinx .parsons .block:before{box-sizing:content-box}.ptx-runestone-container .parsons .indent1,.runestone-sphinx .parsons .indent1{margin-left:30px}.ptx-runestone-container .parsons .indent2,.runestone-sphinx .parsons .indent2{margin-left:60px}.ptx-runestone-container .parsons .indent3,.runestone-sphinx .parsons .indent3{margin-left:90px}.ptx-runestone-container .parsons .indent4,.runestone-sphinx .parsons .indent4{margin-left:120px}.ptx-runestone-container .parsons .indent5,.runestone-sphinx .parsons .indent5{margin-left:150px}.ptx-runestone-container .parsons .indent6,.runestone-sphinx .parsons .indent6{margin-left:180px}.ptx-runestone-container .parsons .indent7,.runestone-sphinx .parsons .indent7{margin-left:210px}.ptx-runestone-container .parsons .indent8,.runestone-sphinx .parsons .indent8{margin-left:240px}.ptx-runestone-container .parsons .correct,.runestone-sphinx .parsons .correct{background:none;background-color:var(--parsonsCorrectBgColor);border:1px solid #d6e9c6}.ptx-runestone-container .parsons .indentLeft,.ptx-runestone-container .parsons .indentRight,.runestone-sphinx .parsons .indentLeft,.runestone-sphinx .parsons .indentRight{background-color:#fff0b3;border:2px solid #fc0;padding:4px 9px}.ptx-runestone-container .parsons .indentLeft,.runestone-sphinx .parsons .indentLeft{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSI2MDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwYXRoIGZpbGw9IiNGQzAiIGQ9Ik0xMiAwSDB2NjAwaDEyVjMxMEwyIDMwMGwxMC0xMHoiLz48cGF0aCBkPSJtNSAzMDAgNy03di0zTDIgMzAwbDEwIDEwdi0zeiIvPjwvc3ZnPg==),url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSI2MDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwYXRoIGQ9Ik0xMCAzMDd2M0wwIDMwMGwxMC0xMHYzbC03IDd6Ii8+PHBhdGggZmlsbD0iI0ZDMCIgZD0iTTEyIDMwOXYtMThsLTkgOXoiLz48cGF0aCBmaWxsPSIjRkMwIiBkPSJNMTAgMGgydjYwMGgtMnoiLz48L3N2Zz4=);background-position:0,100%;background-repeat:no-repeat,no-repeat}.ptx-runestone-container .parsons .indentRight,.runestone-sphinx .parsons .indentRight{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSI2MDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwYXRoIGQ9Im05IDMwMC03LTd2LTNsMTAgMTAtMTAgMTB2LTN6Ii8+PHBhdGggZmlsbD0iI0ZDMCIgZD0ibTkgMzAwLTktOXYxOHoiLz48cGF0aCBmaWxsPSIjRkMwIiBkPSJNMCAwaDJ2NjAwSDB6Ii8+PC9zdmc+),url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSI2MDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwYXRoIGZpbGw9IiNGQzAiIGQ9Im0wIDI5MCAxMCAxMC0xMCAxMHYyOTBoMTJWMEgweiIvPjxwYXRoIGQ9Ik0wIDMwN3YzbDEwLTEwLTEwLTEwdjNsNyA3eiIvPjwvc3ZnPg==);background-position:0,100%;background-repeat:no-repeat,no-repeat}.ptx-runestone-container .parsons .incorrectPosition,.runestone-sphinx .parsons .incorrectPosition{background-color:#ffbaba;border:1px solid red}.ptx-runestone-container .parsons .paired,.runestone-sphinx .parsons .paired{background-color:transparent;border-color:#b8b8f2;-moz-border-radius:10px;-webkit-border-radius:10px;border-radius:10px;border-style:solid;border-width:1px 11px;margin-top:5px;overflow:hidden;position:absolute}.ptx-runestone-container .parsons,.runestone-sphinx .parsons{border-left:0;border-radius:0;border-right:0}.ptx-runestone-container .parsons .parsons-text,.runestone-sphinx .parsons .parsons-text{margin-left:auto;margin-right:auto;max-width:var(--contentWidthRegular)}.ptx-runestone-container .parsons .parsons-img,.runestone-sphinx .parsons .parsons-img{display:inline-block;text-align:center;width:100%}.ptx-runestone-container .parsons .parsons-controls,.runestone-sphinx .parsons .parsons-controls{margin-left:auto;margin-right:auto;margin-top:10px;max-width:var(--contentWidthRegular);text-align:center}.ptx-runestone-container .parsons [role=tooltip],.runestone-sphinx .parsons [role=tooltip]{font-style:italic;margin:5px auto;max-width:var(--contentWidthRegular);padding:0 10px;text-align:center;top:0}.ptx-runestone-container .block-label,.runestone-sphinx .block-label{color:#7e7ee7;font-size:90%;vertical-align:top;white-space:pre}.ptx-runestone-container .right-label,.runestone-sphinx .right-label{padding:.2em 0 .3em .6em}.ptx-runestone-container .left-label,.runestone-sphinx .left-label{padding:.2em .6em .3em 0}.ptx-runestone-container .labels,.runestone-sphinx .labels{display:inline-block;padding-top:2px;vertical-align:top}.ptx-runestone-container .runestone .lines,.runestone-sphinx .runestone .lines{align-self:left;display:inline-block}.ptx-runestone-container .border_left,.runestone-sphinx .border_left{border-left:1px solid #b0b0b0}.ptx-runestone-container .block,.runestone-sphinx .block{align-content:stretch;align-items:stretch;display:flex}.ptx-runestone-container .cd_section,.ptx-runestone-container .parsons,.ptx-runestone-container .parsons .sortable-code-container,.runestone-sphinx .cd_section,.runestone-sphinx .parsons,.runestone-sphinx .parsons .sortable-code-container{max-width:none}.ptx-runestone-container #timed_Test .pagination,.runestone-sphinx #timed_Test .pagination{margin:5px 0}.ptx-runestone-container .parsons .block code,.runestone-sphinx .parsons .block code{color:#000}.ptx-runestone-container .parsons .placeholder-block.disabled.block,.runestone-sphinx .parsons .placeholder-block.disabled.block{background-color:#fff;border-style:dashed;font-style:italic;opacity:1;padding:20px 10px}.ptx-runestone-container .parsons .settled-block.disabled.block,.runestone-sphinx .parsons .settled-block.disabled.block{background-color:#afe1af;border:1px solid #000;opacity:1}.ptx-runestone-container .parsons .settled-block.disabled.block:hover .settled-tooltip,.runestone-sphinx .parsons .settled-block.disabled.block:hover .settled-tooltip{opacity:1;visibility:visible}.ptx-runestone-container .parsons .settled-block.disabled.block .settled-tooltip,.runestone-sphinx .parsons .settled-block.disabled.block .settled-tooltip{background-color:#555;border-radius:6px;color:#fff;font-size:.75rem;left:100%;opacity:0;padding:2px 8px;position:sticky;text-align:center;transition:opacity .6s;vertical-align:middle;visibility:hidden;z-index:1}.ptx-runestone-container .parsons .settled-block .block-label,.runestone-sphinx .parsons .settled-block .block-label{color:transparent}.ptx-runestone-container .parsons .alert,.runestone-sphinx .parsons .alert{margin-bottom:0;margin-top:10px}.ptx-runestone-container .parsons .placeholder-block .lines,.ptx-runestone-container .parsons .placeholder-block.hide,.ptx-runestone-container .placeholder-block .labels,.runestone-sphinx .parsons .placeholder-block .lines,.runestone-sphinx .parsons .placeholder-block.hide,.runestone-sphinx .placeholder-block .labels{display:none}.ptx-runestone-container .settled-block .labels .block-label,.runestone-sphinx .settled-block .labels .block-label{color:transparent}:root.dark-mode .ptx-runestone-container .parsons .block:has(code[class*=language-]){background:#141414}.prettyprint{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun{color:#660}.pln{color:#000}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec{color:#606}pre.prettyprint{border:1px solid #888;padding:2px}@media print{.str{color:#060}.kwd{color:#006;font-weight:700}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:700}.lit{color:#044}.pun{color:#440}.pln{color:#000}.tag{color:#006;font-weight:700}.atn{color:#404}.atv{color:#060}}}.ptx-runestone-container *,.runestone-sphinx *{box-sizing:border-box}.ptx-runestone-container body,.runestone-sphinx body{font-family:sans-serif;margin:0;padding:20px}.ptx-runestone-container h2,.runestone-sphinx h2{margin-bottom:.5em}.ptx-runestone-container [data-component=matching],.runestone-sphinx [data-component=matching]{font-family:sans-serif;margin:2rem 0}.ptx-runestone-container .matching-workspace,.runestone-sphinx .matching-workspace{background:var(--componentBgColor);display:flex;justify-content:space-between;margin:0 auto 1rem;max-width:1000px;position:relative;width:100%}.ptx-runestone-container .left-column,.ptx-runestone-container .right-column,.runestone-sphinx .left-column,.runestone-sphinx .right-column{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center;max-width:25vw;padding:10px;position:relative;z-index:1}.ptx-runestone-container .left-column img,.ptx-runestone-container .right-column img,.runestone-sphinx .left-column img,.runestone-sphinx .right-column img{max-width:25vw}.ptx-runestone-container .box,.runestone-sphinx .box{align-items:center;background:var(--dropableBgColor,#f9f9f9);border:2px solid var(--boxBorderColor);border-radius:8px;cursor:grab;display:inline-flex;font-weight:700;justify-content:center;max-width:100%;min-height:50px;min-width:120px;padding:10px 14px;text-align:center;touch-action:none;user-select:none}.ptx-runestone-container .box,.ptx-runestone-container .left-column,.ptx-runestone-container .matching-workspace,.ptx-runestone-container .right-column,.ptx-runestone-container body,.runestone-sphinx .box,.runestone-sphinx .left-column,.runestone-sphinx .matching-workspace,.runestone-sphinx .right-column,.runestone-sphinx body{user-select:none;-webkit-user-select:none}.ptx-runestone-container .box mjx-container,.runestone-sphinx .box mjx-container{font-size:1em}.ptx-runestone-container .box:focus,.runestone-sphinx .box:focus{outline:3px solid #3498db}.ptx-runestone-container .box.selected,.runestone-sphinx .box.selected{outline:3px dashed #27ae60}.ptx-runestone-container .connector-svg,.runestone-sphinx .connector-svg{background:var(--componentBgColor);height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:0}.ptx-runestone-container .line,.runestone-sphinx .line{stroke:var(--dragLineColor);stroke-width:3;cursor:pointer;pointer-events:auto;transition:stroke .2s ease,stroke-width .2s ease}.ptx-runestone-container .line.correct,.runestone-sphinx .line.correct{stroke:green;stroke-width:3}.ptx-runestone-container .line.incorrect,.runestone-sphinx .line.incorrect{stroke:#bf1521;stroke-width:2;stroke-dasharray:5 5}.ptx-runestone-container .line.highlighted,.runestone-sphinx .line.highlighted{stroke:#3cd6e7;stroke-width:3}.ptx-runestone-container .line.faded,.runestone-sphinx .line.faded{stroke:#ccc;stroke-width:1}.ptx-runestone-container .line:focus,.ptx-runestone-container .line:hover,.runestone-sphinx .line:focus,.runestone-sphinx .line:hover{stroke:#3498db;stroke-dasharray:6 4;stroke-width:5;outline:none}.ptx-runestone-container .conn-list,.runestone-sphinx .conn-list{background:var(--componentBgColor);border:1px solid #ccc;border-radius:6px;font-size:14px;margin:0 auto 1rem;max-width:800px;padding:10px}.ptx-runestone-container .conn-entry,.runestone-sphinx .conn-entry{font-family:monospace;margin:4px 0}.ptx-runestone-container button,.runestone-sphinx button{border:none;border-radius:6px;cursor:grab;display:inline-block;font-size:1rem;margin:.5rem;padding:8px 16px;transition:background .2s ease-in-out}.ptx-runestone-container button:hover,.runestone-sphinx button:hover{background:#2980b9}.ptx-runestone-container .aria-live,.runestone-sphinx .aria-live{height:1px;left:-9999px;overflow:hidden;position:absolute;top:auto;width:1px}.ptx-runestone-container .control-div,.runestone-sphinx .control-div{align-items:center;display:flex;gap:10px;justify-content:center;margin-top:1rem}.ptx-runestone-container .control-div .help-button,.runestone-sphinx .control-div .help-button{background:#2c3e50;border-radius:50%;color:#ecf0f1;cursor:pointer;font-size:1.2rem;height:32px;line-height:32px;padding:0;text-align:center;width:32px}.ptx-runestone-container .control-div .help-button:hover,.runestone-sphinx .control-div .help-button:hover{background:#34495e}.ptx-runestone-container .help-modal,.runestone-sphinx .help-modal{align-items:center;background:rgba(0,0,0,.5);display:none;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%;z-index:10}.ptx-runestone-container .help-modal-content,.runestone-sphinx .help-modal-content{background-color:var(--questionBgColor);border-radius:6px;max-height:80%;max-width:80%;overflow:auto;padding:1rem 1.5rem;position:relative}.ptx-runestone-container .help-modal-content .help-close,.runestone-sphinx .help-modal-content .help-close{background:transparent;border:none;color:red;cursor:pointer;font-size:1.5rem;position:absolute;right:.5rem;top:.5rem}.ptx-runestone-container .help-modal-content .help-text,.runestone-sphinx .help-modal-content .help-text{font-size:1rem;line-height:1.4;margin-top:1.5rem}.ptx-runestone-container .match_question,.runestone-sphinx .match_question{background-color:var(--questionBgColor);margin-bottom:10px;padding:10px}.ptx-runestone-container .match_feedback,.runestone-sphinx .match_feedback{background-color:var(--parsonsIncorrectBgColor);border-radius:5px;margin-bottom:10px;margin-top:10px;padding:10px}:root{--draggableBgColor:#efefef;--dropableBgColor:#ddd;--draggableIncorrectBorder:red;--draggableIncorrectBg:#f2dede;--dragLineColor:#000;--boxBorderColor:#000}:root.dark-mode,[data-theme=dark]{--draggableBgColor:#393434;--dropableBgColor:#2a2d30;--draggableIncorrectBorder:red;--draggableIncorrectBg:#6d2d2d;--dragLineColor:#fff;--boxBorderColor:#fff}#component-preview{margin-right:20px;max-height:100%;overflow-y:scroll;padding-top:60px;position:fixed;right:0;top:0}.toggle-preview{background-color:azure;border:4px solid;border-radius:10px;box-shadow:10px 5px 5px gray;padding-top:10px}.ptx-runestone-container ul#pageNums,.ptx-runestone-container ul#pageNums li,.runestone-sphinx ul#pageNums,.runestone-sphinx ul#pageNums li{padding:10px 0;text-align:center}.ptx-runestone-container .pagination>li>a:hover,.runestone-sphinx .pagination>li>a:hover{background-color:#eee!important;color:#000!important}.ptx-runestone-container .flagBtn,.runestone-sphinx .flagBtn{background-color:#ed9c59!important;border:3px solid #ce5718;border-radius:5px;color:#030201!important;cursor:pointer;display:ruby;font-size:15px;height:115;text-align:center;text-decoration:none;width:150}.ptx-runestone-container .pagination>.active>a,.ptx-runestone-container .pagination>.active>span,.runestone-sphinx .pagination>.active>a,.runestone-sphinx .pagination>.active>span{background-color:#428bca!important;color:#fff!important}.ptx-runestone-container .col-md-6-override,.runestone-sphinx .col-md-6-override{max-width:100%!important;text-align:center!important}.ptx-runestone-container .pagination>.answered>a,.ptx-runestone-container .pagination>.answered>span,.runestone-sphinx .pagination>.answered>a,.runestone-sphinx .pagination>.answered>span{background-color:#eee;color:#000}.ptx-runestone-container .pagination>.broken>a,.ptx-runestone-container .pagination>.broken>span,.runestone-sphinx .pagination>.broken>a,.runestone-sphinx .pagination>.broken>span{background-color:#f99;color:#000}.ptx-runestone-container .pagination>.toolate>a,.ptx-runestone-container .pagination>.toolate>span,.runestone-sphinx .pagination>.toolate>a,.runestone-sphinx .pagination>.toolate>span{background-color:#eccb36;color:#000}.ptx-runestone-container .pagination>.flagcolor>a,.ptx-runestone-container .pagination>.flagcolor>span,.runestone-sphinx .pagination>.flagcolor>a,.runestone-sphinx .pagination>.flagcolor>span{background-color:#ed9c59;color:#000}.ptx-runestone-container p.examwarning,.runestone-sphinx p.examwarning{background-color:hsla(0,78%,78%,.822);border:2px solid #000;border-radius:5px;margin-left:auto;margin-right:auto;padding:5px;width:50%}.ptx-runestone-container .pagination>.correctCount>a,.ptx-runestone-container .pagination>.correctCount>span,.runestone-sphinx .pagination>.correctCount>a,.runestone-sphinx .pagination>.correctCount>span{background-color:#dff0d8;border-color:#000;color:#000}.ptx-runestone-container .pagination>.skippedCount>a,.ptx-runestone-container .pagination>.skippedCount>span,.runestone-sphinx .pagination>.skippedCount>a,.runestone-sphinx .pagination>.skippedCount>span{background-color:#fcf8e3;border-color:#000;color:#000}.ptx-runestone-container .pagination>.incorrectCount>a,.ptx-runestone-container .pagination>.incorrectCount>span,.runestone-sphinx .pagination>.incorrectCount>a,.runestone-sphinx .pagination>.incorrectCount>span{background-color:#f2dede;border-color:#000;color:#000}.ptx-runestone-container .switchcontainer,.runestone-sphinx .switchcontainer{height:1000px;overflow:auto} -/*# sourceMappingURL=prefix-115.83df5da0966564d5.css.map*/ \ No newline at end of file diff --git a/_static/prefix-115.83df5da0966564d5.css.gz b/_static/prefix-115.83df5da0966564d5.css.gz deleted file mode 100644 index 541a1bb..0000000 Binary files a/_static/prefix-115.83df5da0966564d5.css.gz and /dev/null differ diff --git a/_static/prefix-115.83df5da0966564d5.css.map b/_static/prefix-115.83df5da0966564d5.css.map deleted file mode 100644 index 14b94c1..0000000 --- a/_static/prefix-115.83df5da0966564d5.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"prefix-115.83df5da0966564d5.css","mappings":"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","sources":["webpack://WebComponents/./runestone/fitb/css/fitb.css","webpack://WebComponents/./runestone/mchoice/css/mchoice.css","webpack://WebComponents/./runestone/shortanswer/css/shortanswer.css","webpack://WebComponents/./runestone/clickableArea/css/clickable.css","webpack://WebComponents/./runestone/dragndrop/css/dragndrop.less","webpack://WebComponents/./runestone/dragndrop/css/dragndrop.css","webpack://WebComponents/./runestone/parsons/css/parsons.less","webpack://WebComponents/./runestone/parsons/css/parsons.css","webpack://WebComponents/./runestone/parsons/css/prettify.css","webpack://WebComponents/./runestone/matching/css/matching.less","webpack://WebComponents/./runestone/matching/css/matching.css","webpack://WebComponents/./runestone/common/css/variables.less","webpack://WebComponents/./runestone/selectquestion/css/selectquestion.css","webpack://WebComponents/./runestone/timed/css/timed.less","webpack://WebComponents/./runestone/timed/css/timed.css"],"sourcesContent":[".selectwidthauto {\n width:auto !important;\n display: inline-block !important;\n margin: 5px;\n}\n\ninput.input-validation-error {\n border: 1px solid #e80c4d;\n}\n\n\n.dark-mode .fillintheblank_section input[type=\"text\"] {\n color: unset;\n background-color: #333;\n}\n\n.ptx-runestone-container .fitb-feedback {\n margin-top: 10px;\n margin-bottom: 0;\n}\n\n.ptx-runestone-container .fitb-feedback:empty {\n margin-top: 0;\n}",".mchoice label p {\n display: inline;\n font-weight: normal !important;\n}\n\n.mchoice label pre {\n font-weight: normal;\n}\n\n.mchoice fieldset {\n margin-bottom: 0.5em;\n}\n\n.mchoice fieldset legend {\n font-size: small;\n margin-bottom: 0.5em;\n}\n\n.multiplechoice_section label > .para {\n display: inline;\n}\n\n/* The timed assessment strips off the container with the .multiplechoice_section class,\n so we need to apply the same styles to the .timedAssessment class */\n.timedAssessment .mchoice label > .para {\n display: inline;\n}\n\nlabel.mchoice-option {\n display: block;\n}\n\n.ptx-runestone-container input.mchoice-input {\n vertical-align: top;\n margin-right: 0.5em;\n}\n\n.mchoice .alert {\n margin-top: 10px;\n margin-bottom: 0;\n}","div.journal div.latexoutput {\n background-color: var(--outerBackground, #eeeeee);\n padding: 1em;\n margin-bottom: 10px;\n border-radius: 5px;\n}\n\n\n.shortanswer_section .alert {\n margin-bottom: 0;\n}\n\n.shortanswer__timestamp {\n font-size: 0.9em;\n color: var(--grayToWhite, #333);\n}\n\n.journal textarea {\n width: 100%;\n max-width: 100%;\n min-height: 6rem;\n\n padding: 0.75rem 0.9rem;\n font-size: 1rem;\n line-height: 1.5;\n\n border-radius: 8px;\n border: 1px solid #d0d7de;\n background-color: #fff;\n\n transition:\n border-color 0.15s ease,\n box-shadow 0.15s ease;\n\n resize: none;\n overflow: hidden;\n\n font-family: system-ui, -apple-system, BlinkMacSystemFont,\n \"Segoe UI\", Roboto, sans-serif;\n background:\n linear-gradient(#fff, #fff) padding-box,\n linear-gradient(to right, #eaeef2, #eaeef2) border-box;\n}\n\n.journal textarea:focus {\n outline: none;\n border-color: #0969da;\n box-shadow: 0 0 0 3px rgba(9, 105, 218, 0.15);\n}",".clickable {\n cursor: pointer;\n}\n\n.clickable:has(code) {\n padding: 3px;\n display: inline-block;\n}\n\n.clickable-clicked:has(code) {\n box-shadow: 0px 0px 2px 2px rgba(0,100,0,0.75);\n}\n\n.clickable-clicked {\n background-color: var(--clickableBgColor);\n}\n\n.clickable-clicked td {\n background-color: #dad6c1;\n box-shadow: initial;\n}\n\ntable {\n border-collapse: collapse;\n}\n\nth.clickable, td.clickable {\n border: 1px solid black;\n}\n\ntd.clickable-clicked{\n background-color: #dad6c1;\n box-shadow: initial;\n}\n\ntd img {\n margin: 5px;\n}\n\n.clickable-clicked th {\n background-color: #dad6c1;\n box-shadow: initial;\n}\n\nth.clickable-clicked{\n background-color: #dad6c1;\n box-shadow: initial;\n}\n\n.clickable-incorrect,\n.clickable-incorrect th,\n.clickable-incorrect td {\n border: 1px solid red !important;\n background-color: var(--clickableIncorrectBgColor);\n}\n\nimg.clickable-incorrect {\n box-shadow: 0px 0px 2px 2px rgba(100,0,0,0.75);\n}\n\n.clickable-incorrect:has(code) {\n box-shadow: 0px 0px 2px 2px rgba(251, 0, 0, 0.75);\n}\n\n:root {\n --clickableBgColor: yellow;\n --clickableIncorrectBgColor: #ffcccc;\n}\n\n:root.dark-mode {\n --clickableBgColor: rgb(60, 86, 36);\n --clickableIncorrectBgColor: #562c2c;\n\n .clickable-clicked:has(code):not(.clickable-incorrect) {\n box-shadow: 0px 0px 2px 2px rgba(251, 255, 21, 0.75);\n }\n}\n",".ptx-runestone-container,.runestone-sphinx {\n @import (less) url(\"./dragndrop.css\");\n}\n\n@import (less) url(\"../../common/css/variables.less\");",".rsdraggable {\n margin-left: 1%;\n margin-right: 1%;\n margin-top: 5px;\n display: inline;\n float: left;\n text-align: left;\n vertical-align: top;\n background-color: var(--questionBgColor, #efefff);\n padding-bottom: 10px;\n min-width: 28%;\n border: 1px solid var(--componentBorderColor, #efefff);\n box-sizing: border-box;\n}\n\n.dnd-button-container {\n display: flex;\n justify-content: center;\n width: 100%;\n margin-top: 1em;\n}\n\n.drag-button {\n display: inline-block;\n}\n\n.drag-reset {\n background-color: #474949;\n color: white;\n}\n\n.drag-reset:hover {\n background-color: black;\n color: white;\n}\n\n.drop-incorrect {\n border: 1px solid var(--draggableIncorrectBorder, red) !important;\n background-color: var(--draggableIncorrectBg, #f2dede) !important;\n}\n\n.drag-reset:enabled {\n background-color: #474949;\n color: white;\n}\n\n.draggable-drag {\n border-radius: 10px;\n display: block;\n background-color: var(--draggableBgColor);\n border: 1px solid lightgray;\n padding: 10px;\n margin-top: 5px;\n cursor: grab;\n}\n\n.draggable-feedback {\n text-align: left !important;\n clear: both;\n margin-bottom: 0;\n margin-top: 10px;\n}\n\n.draggable-drop {\n border-radius: 10px;\n display: block;\n background-color: var(--dropableBgColor);\n border: 1px solid lightgray;\n padding: 10px;\n margin-top: 5px;\n cursor: grab;\n}\n\n.draggable-container {\n text-align: center;\n}\n\n.possibleDrop {\n border-color: #000000;\n background-color: #CCCCCC;\n}\n\n/*\n * This is a hack to allow us to drop on the drop target when\n * the drop area contains mathjax or or other child elements.\n*/\n.draggable-drop .process-math,\n.draggable-drop .MathJax {\n pointer-events: none;\n cursor: not-allowed;\n}\n\n/* Hide the error message from people but let screen readers see it */\n.vh-dnd-error {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n.cardsort-statement {\n text-align: left;\n background-color: var(--questionBgColor);\n padding: 10px;\n margin-bottom: 10px;\n}",".ptx-runestone-container,.runestone-sphinx {\n @import (less) url(\"./parsons.css\");\n\n}\n\n/* make entire block background match background of code */\n:root.dark-mode {\n .ptx-runestone-container .parsons .block:has(code[class*=language-]) {\n background: hsl(0, 0%, 8%);\n }\n}",".parsons-container {\n clear: both;\n}\n\n.parsons .sortable-code-container {\n text-align: center;\n}\n.parsons .sortable-code-container:not(.block) {\n /* Remove text highlighting in widget */\n -webkit-user-select: none;\n -moz-user-select: -moz-none;\n -ms-user-select: none;\n user-select: none;\n}\n.parsons .sortable-code {\n position: static;\n padding-left: 0px;\n margin: 0px 15px;\n display: inline-block;\n text-align: left;\n vertical-align: top;\n}\n.parsons .source,\n.parsons .answer,\n.parsons .answer1,\n.parsons .answer2,\n.parsons .answer3,\n.parsons .answer4 {\n position: relative;\n font-size: 100%;\n list-style: none;\n background-color: var(--questionBgColor, #efefff);\n padding-bottom: 10px;\n padding-left: 0;\n margin-left: 0;\n border: 1px solid var(--componentBorderColor, #efefff);\n}\n.parsons .source {\n background-color: var(--questionBgColor, #efefff);\n}\n.parsons .answer {\n background-color: var(--parsonsBgColor);\n border-color: var(--parsonsBorderColor);\n}\n.parsons .answer.incorrect {\n background-color: var(--parsonsIncorrectBgColor);\n border-color: var(--parsonsIncorrectBorderColor);\n}\n.parsons .answer.correct {\n background-color: var(--parsonsCorrectBgColor);\n border-color: var(--parsonsCorrectBorderColor);\n}\n.parsons .answer1 {\n background: linear-gradient(var(--parsonsBorderColor), var(--parsonsBorderColor)) no-repeat border-box;\n background-size: 1px 100%;\n background-position: 30px 0;\n background-origin: padding-box;\n background-color: var(--parsonsBgColor);\n border-color: var(--parsonsBorderColor);\n}\n.parsons .answer1.incorrect {\n background: linear-gradient(var(--parsonsIncorrectBorderColor), var(--parsonsIncorrectBorderColor)) no-repeat border-box;\n background-size: 1px 100%;\n background-position: 30px 0;\n background-origin: padding-box;\n background-color: var(--parsonsIncorrectBgColor);\n border-color: var(--parsonsIncorrectBorderColor);\n}\n.parsons .answer1.correct {\n background: linear-gradient(var(--parsonsCorrectBorderColor), var(--parsonsCorrectBorderColor)) no-repeat border-box;\n background-size: 1px 100%;\n background-position: 30px 0;\n background-origin: padding-box;\n background-color: var(--parsonsCorrectBgColor);\n border-color: var(--parsonsCorrectBorderColor);\n}\n.parsons .answer2 {\n background: linear-gradient(var(--parsonsBorderColor), var(--parsonsBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsBorderColor), var(--parsonsBorderColor)) no-repeat border-box;\n background-size: 1px 100%, 1px 100%;\n background-position: 30px 0, 60px 0;\n background-origin: padding-box, padding-box;\n background-color: var(--parsonsBgColor);\n border-color: var(--parsonsBorderColor);\n}\n.parsons .answer2.incorrect {\n background: linear-gradient(var(--parsonsIncorrectBorderColor), var(--parsonsIncorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsIncorrectBorderColor), var(--parsonsIncorrectBorderColor)) no-repeat border-box;\n background-size: 1px 100%, 1px 100%;\n background-position: 30px 0, 60px 0;\n background-origin: padding-box, padding-box;\n background-color: var(--parsonsIncorrectBgColor);\n border-color: var(--parsonsIncorrectBorderColor);\n}\n.parsons .answer2.correct {\n background: linear-gradient(var(--parsonsCorrectBorderColor), var(--parsonsCorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsCorrectBorderColor), var(--parsonsCorrectBorderColor)) no-repeat border-box;\n background-size: 1px 100%, 1px 100%;\n background-position: 30px 0, 60px 0;\n background-origin: padding-box, padding-box;\n background-color: var(--parsonsCorrectBgColor);\n border-color: var(--parsonsCorrectBorderColor);\n}\n.parsons .answer3 {\n background: linear-gradient(var(--parsonsBorderColor), var(--parsonsBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsBorderColor), var(--parsonsBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsBorderColor), var(--parsonsBorderColor)) no-repeat border-box;\n background-size: 1px 100%, 1px 100%, 1px 100%;\n background-position: 30px 0, 60px 0, 90px 0;\n background-origin: padding-box, padding-box, padding-box;\n background-color: var(--parsonsBgColor);\n border-color: var(--parsonsBorderColor);\n}\n.parsons .answer3.incorrect {\n background: linear-gradient(var(--parsonsIncorrectBorderColor), var(--parsonsIncorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsIncorrectBorderColor), var(--parsonsIncorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsIncorrectBorderColor), var(--parsonsIncorrectBorderColor)) no-repeat border-box;\n background-size: 1px 100%, 1px 100%, 1px 100%;\n background-position: 30px 0, 60px 0, 90px 0;\n background-origin: padding-box, padding-box, padding-box;\n background-color: var(--parsonsIncorrectBgColor);\n border-color: var(--parsonsIncorrectBorderColor);\n}\n.parsons .answer3.correct {\n background: linear-gradient(var(--parsonsCorrectBorderColor), var(--parsonsCorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsCorrectBorderColor), var(--parsonsCorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsCorrectBorderColor), var(--parsonsCorrectBorderColor)) no-repeat border-box;\n background-size: 1px 100%, 1px 100%, 1px 100%;\n background-position: 30px 0, 60px 0, 90px 0;\n background-origin: padding-box, padding-box, padding-box;\n background-color: var(--parsonsCorrectBgColor);\n border-color: var(--parsonsCorrectBorderColor);\n}\n.parsons .answer4 {\n background: linear-gradient(var(--parsonsBorderColor), var(--parsonsBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsBorderColor), var(--parsonsBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsBorderColor), var(--parsonsBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsBorderColor), var(--parsonsBorderColor)) no-repeat border-box;\n background-size: 1px 100%, 1px 100%, 1px 100%, 1px 100%;\n background-position: 30px 0, 60px 0, 90px 0, 120px 0;\n background-origin: padding-box, padding-box, padding-box, padding-box;\n background-color: var(--parsonsBgColor);\n border-color: var(--parsonsBorderColor);\n}\n.parsons .answer4.incorrect {\n background: linear-gradient(var(--parsonsIncorrectBorderColor), var(--parsonsIncorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsIncorrectBorderColor), var(--parsonsIncorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsIncorrectBorderColor), var(--parsonsIncorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsIncorrectBorderColor), var(--parsonsIncorrectBorderColor)) no-repeat border-box;\n background-size: 1px 100%, 1px 100%, 1px 100%, 1px 100%;\n background-position: 30px 0, 60px 0, 90px 0, 120px 0;\n background-origin: padding-box, padding-box, padding-box, padding-box;\n background-color: var(--parsonsIncorrectBgColor);\n border-color: var(--parsonsIncorrectBorderColor);\n}\n.parsons .answer4.correct {\n background: linear-gradient(var(--parsonsCorrectBorderColor), var(--parsonsCorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsCorrectBorderColor), var(--parsonsCorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsCorrectBorderColor), var(--parsonsCorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsCorrectBorderColor), var(--parsonsCorrectBorderColor)) no-repeat border-box;\n background-size: 1px 100%, 1px 100%, 1px 100%, 1px 100%;\n background-position: 30px 0, 60px 0, 90px 0, 120px 0;\n background-origin: padding-box, padding-box, padding-box, padding-box;\n background-color: var(--parsonsCorrectBgColor);\n border-color: var(--parsonsCorrectBorderColor);\n}\n /* The following styles are for the 5th and 6th indentation levels, if applicable */\n.parsons .answer5 {\n background: linear-gradient(var(--parsonsBorderColor), var(--parsonsBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsBorderColor), var(--parsonsBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsBorderColor), var(--parsonsBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsBorderColor), var(--parsonsBorderColor)) no-repeat border-box;\n background-size: 1px 100%, 1px 100%, 1px 100%, 1px 100%;\n background-position: 30px 0, 60px 0, 90px 0, 120px 0, 150px 0;\n background-origin: padding-box, padding-box, padding-box, padding-box;\n background-color: var(--parsonsBgColor);\n border-color: var(--parsonsBorderColor);\n}\n.parsons .answer5.incorrect {\n background: linear-gradient(var(--parsonsIncorrectBorderColor), var(--parsonsIncorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsIncorrectBorderColor), var(--parsonsIncorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsIncorrectBorderColor), var(--parsonsIncorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsIncorrectBorderColor), var(--parsonsIncorrectBorderColor)) no-repeat border-box;\n background-size: 1px 100%, 1px 100%, 1px 100%, 1px 100%;\n background-position: 30px 0, 60px 0, 90px 0, 120px 0, 150px 0;\n background-origin: padding-box, padding-box, padding-box, padding-box;\n background-color: var(--parsonsIncorrectBgColor);\n border-color: var(--parsonsIncorrectBorderColor);\n}\n.parsons .answer5.correct {\n background: linear-gradient(var(--parsonsCorrectBorderColor), var(--parsonsCorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsCorrectBorderColor), var(--parsonsCorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsCorrectBorderColor), var(--parsonsCorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsCorrectBorderColor), var(--parsonsCorrectBorderColor)) no-repeat border-box;\n background-size: 1px 100%, 1px 100%, 1px 100%, 1px 100%;\n background-position: 30px 0, 60px 0, 90px 0, 120px 0, 150px 0;\n background-origin: padding-box, padding-box, padding-box, padding-box;\n background-color: var(--parsonsCorrectBgColor);\n border-color: var(--parsonsCorrectBorderColor);\n}\n.parsons .answer6 {\n background: linear-gradient(var(--parsonsBorderColor), var(--parsonsBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsBorderColor), var(--parsonsBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsBorderColor), var(--parsonsBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsBorderColor), var(--parsonsBorderColor)) no-repeat border-box;\n background-size: 1px 100%, 1px 100%, 1px 100%, 1px 100%;\n background-position: 30px 0, 60px 0, 90px 0, 120px 0, 150px 0, 180px 0;\n background-origin: padding-box, padding-box, padding-box, padding-box;\n background-color: var(--parsonsBgColor);\n border-color: var(--parsonsBorderColor);\n}\n.parsons .answer6.incorrect {\n background: linear-gradient(var(--parsonsIncorrectBorderColor), var(--parsonsIncorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsIncorrectBorderColor), var(--parsonsIncorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsIncorrectBorderColor), var(--parsonsIncorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsIncorrectBorderColor), var(--parsonsIncorrectBorderColor)) no-repeat border-box;\n background-size: 1px 100%, 1px 100%, 1px 100%, 1px 100%;\n background-position: 30px 0, 60px 0, 90px 0, 120px 0, 150px 0, 180px 0;\n background-origin: padding-box, padding-box, padding-box, padding-box;\n background-color: var(--parsonsIncorrectBgColor);\n border-color: var(--parsonsIncorrectBorderColor);\n}\n.parsons .answer6.correct {\n background: linear-gradient(var(--parsonsCorrectBorderColor), var(--parsonsCorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsCorrectBorderColor), var(--parsonsCorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsCorrectBorderColor), var(--parsonsCorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsCorrectBorderColor), var(--parsonsCorrectBorderColor)) no-repeat border-box;\n background-size: 1px 100%, 1px 100%, 1px 100%, 1px 100%;\n background-position: 30px 0, 60px 0, 90px 0, 120px 0, 150px 0, 180px 0;\n background-origin: padding-box, padding-box, padding-box, padding-box;\n background-color: var(--parsonsCorrectBgColor);\n border-color: var(--parsonsCorrectBorderColor);\n}\n.parsons .block {\n position: absolute;\n -moz-border-radius: 10px;\n -webkit-border-radius: 10px;\n border-radius: 10px;\n background-color: var(--background, #efefef);\n border: 1px solid #d3d3d3;\n padding: 5px 10px;\n margin-top: 5px;\n overflow: hidden;\n cursor: move;\n}\n.parsons .block.disabled {\n opacity: 0.3;\n}\n.parsons .block.down {\n border: 2px solid black;\n padding: 4px 9px;\n}\n.parsons .block.up {\n border: 2px solid black;\n padding: 4px 9px;\n background-color: white;\n box-shadow: 3px 3px 4px black;\n}\n.parsons {\n display: block;\n}\n.parsons .block {\n clear: both;\n float: left;\n /*background-color: transparent;*/\n}\n\n.parsons .sortable-code code {\n clear: both;\n float: left;\n background-color: transparent;\n white-space: pre;\n}\n\n.parsons .sortable-code code:empty {\n height: 1.25em; /* force some height for empty lines */\n}\n\n.parsons .block p {\n margin: 0;\n}\n.parsons .block,\n.parsons .block:before,\n.parsons .block:after {\n box-sizing: content-box;\n}\n.parsons .indent1 {\n margin-left: 30px;\n}\n.parsons .indent2 {\n margin-left: 60px;\n}\n.parsons .indent3 {\n margin-left: 90px;\n}\n.parsons .indent4 {\n margin-left: 120px;\n}\n.parsons .indent5 {\n margin-left: 150px;\n}\n.parsons .indent6 {\n margin-left: 180px;\n}\n.parsons .indent7 {\n margin-left: 210px;\n}\n.parsons .indent8 {\n margin-left: 240px;\n}\n.parsons .correct {\n border: 1px solid #d6e9c6;\n background: none;\n background-color: var(--parsonsCorrectBgColor);\n}\n.parsons .indentLeft,\n.parsons .indentRight {\n border: 2px solid #ffcc00;\n padding: 4px 9px;\n background-color: #fff0b3;\n}\n.parsons .indentLeft {\n background-image: url(\"./images/parsons-ll.svg\"),\n url(\"./images/parsons-rl.svg\");\n background-repeat: no-repeat, no-repeat;\n background-position: left center, right center;\n}\n.parsons .indentRight {\n background-image: url(\"./images/parsons-lr.svg\"),\n url(\"./images/parsons-rr.svg\");\n background-repeat: no-repeat, no-repeat;\n background-position: left center, right center;\n}\n.parsons .incorrectPosition {\n background-color: #ffbaba;\n border: 1px solid red;\n}\n.parsons .paired {\n position: absolute;\n -moz-border-radius: 10px;\n -webkit-border-radius: 10px;\n border-radius: 10px;\n background-color: transparent;\n border-left: 11px solid #b8b8f2;\n border-right: 11px solid #b8b8f2;\n border-top: 1px solid #b8b8f2;\n border-bottom: 1px solid #b8b8f2;\n margin-top: 5px;\n overflow: hidden;\n}\n.parsons {\n border-left: 0;\n border-right: 0;\n border-radius: 0;\n}\n.parsons .parsons-text {\n max-width: var(--contentWidthRegular);\n margin-left: auto;\n margin-right: auto;\n}\n\n.parsons .parsons-img {\n display: inline-block;\n text-align: center;\n width: 100%;\n}\n\n.parsons .parsons-controls {\n max-width: var(--contentWidthRegular);\n margin-left: auto;\n margin-right: auto;\n text-align: center;\n margin-top: 10px;\n}\n\n.parsons [role=\"tooltip\"] {\n max-width: var(--contentWidthRegular);\n margin-left: auto;\n margin-right: auto;\n margin-top: 5px;\n margin-bottom: 5px;\n padding: 0px 10px;\n top: 0;\n text-align: center;\n font-style: italic;\n}\n\n.block-label {\n font-size: 90%;\n color: #7e7ee7;\n vertical-align: top;\n white-space: pre;\n}\n.right-label {\n padding: 0.2em 0em 0.3em 0.6em;\n}\n.left-label {\n padding: 0.2em 0.6em 0.3em 0em;\n}\n\n.labels {\n padding-top: 2px;\n display: inline-block;\n vertical-align: top;\n}\n\n.runestone .lines {\n display: inline-block;\n align-self: left;\n}\n\n.border_left {\n border-left: 1px solid #b0b0b0;\n}\n\n.block {\n display: flex;\n align-items: stretch;\n align-content: stretch;\n}\n\n.parsons,\n.parsons .sortable-code-container,\n.cd_section {\n max-width: none;\n}\n\n#timed_Test .pagination {\n margin: 5px 0;\n}\n\n/* override red from bootstrap */\n.parsons .block code {\n color: black;\n}\n\n/* CodeTailor-related CSS for Parsons START */\n.parsons .placeholder-block.disabled.block {\n font-style: italic;\n background-color: white;\n border-style: dashed;\n padding: 20px 10px;\n opacity: 1;\n}\n\n.parsons .settled-block.disabled.block {\n border: 1px solid black;\n background-color: #afe1af;\n opacity: 1;\n}\n\n.parsons .settled-block.disabled.block:hover .settled-tooltip {\n visibility: visible;\n opacity: 1;\n}\n\n.parsons .settled-block.disabled.block .settled-tooltip {\n visibility: hidden;\n position: sticky;\n background-color: #555;\n font-size: 0.75rem;\n color: #fff;\n text-align: center;\n padding: 2px 8px;\n border-radius: 6px;\n z-index: 1;\n opacity: 0;\n transition: opacity .6s;\n left: 100%; \n vertical-align: middle; \n}\n.parsons .settled-block .block-label {\n color: transparent;\n}\n\n.parsons .alert {\n margin-top: 10px;\n margin-bottom: 0;\n}\n\n\n.parsons .placeholder-block .lines {\n display: none;\n}\n\n.parsons .placeholder-block.hide {\n display: none;\n}\n\n\n.placeholder-block .labels {\n display: none;\n}\n\n.settled-block .labels .block-label {\n color:transparent;\n}\n/* CodeTailor-related CSS for Parsons END */",".prettyprint {\n .str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun{color:#660}.pln{color:#000}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec{color:#606}pre.prettyprint{padding:2px;border:1px solid #888}@media print{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun{color:#440}.pln{color:#000}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}\n}",".ptx-runestone-container,\n.runestone-sphinx {\n @import (less) url(\"./matching.css\");\n}\n\n@import (less) url(\"../../common/css/variables.less\");","* {\n box-sizing: border-box;\n}\n\nbody {\n font-family: sans-serif;\n padding: 20px;\n margin: 0;\n}\n\nh2 {\n margin-bottom: 0.5em;\n}\n\n/* Main wrapper for each matching component */\n[data-component=\"matching\"] {\n margin: 2rem 0;\n font-family: sans-serif;\n}\n\n.matching-workspace {\n display: flex;\n justify-content: space-between;\n position: relative;\n max-width: 1000px;\n width: 100%;\n margin: 0 auto 1rem;\n background: var(--componentBgColor);\n}\n\n.left-column,\n.right-column {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 12px;\n padding: 10px;\n position: relative;\n z-index: 1;\n max-width: 25vw;\n}\n\n\n.left-column img,\n.right-column img {\n max-width: 25vw;\n /* Ensure images do not exceed 25% of the viewport width */\n}\n\n.box {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 120px;\n padding: 10px 14px;\n min-height: 50px;\n max-width: 100%;\n background: var(--dropableBgColor, #f9f9f9);\n border: 2px solid var(--boxBorderColor);\n border-radius: 8px;\n text-align: center;\n font-weight: bold;\n user-select: none;\n cursor: grab;\n text-align: center;\n touch-action: none;\n /* Prevents scrolling during tap+drag */\n}\n\n.matching-workspace,\n.left-column,\n.right-column,\n.box,\nbody {\n user-select: none;\n -webkit-user-select: none; /* for iOS/Safari */\n}\n\n.box mjx-container {\n font-size: 1em;\n}\n\n.box:focus {\n outline: 3px solid #3498db;\n}\n\n.box.selected {\n outline: 3px dashed #27ae60;\n}\n\n.connector-svg {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n z-index: 0;\n background: var(--componentBgColor);\n}\n\n.line {\n stroke: var(--dragLineColor);\n ;\n stroke-width: 3;\n cursor: pointer;\n pointer-events: auto;\n transition: stroke 0.2s ease, stroke-width 0.2s ease;\n}\n\n.line.correct {\n stroke: green;\n stroke-width: 3;\n}\n\n.line.incorrect {\n stroke: #bf1521;\n stroke-width: 2;\n stroke-dasharray: 5 5;\n}\n\n.line.highlighted {\n stroke: #3cd6e7;\n stroke-width: 3;\n}\n\n.line.faded {\n stroke: #ccc;\n stroke-width: 1;\n}\n\n.line:focus,\n.line:hover {\n stroke: #3498db;\n stroke-dasharray: 6 4;\n /* 6px dash, 4px gap */\n stroke-width: 5;\n outline: none;\n}\n\n.conn-list {\n max-width: 800px;\n margin: 0 auto 1rem;\n padding: 10px;\n background: var(--componentBgColor);\n border: 1px solid #ccc;\n border-radius: 6px;\n font-size: 14px;\n}\n\n.conn-entry {\n margin: 4px 0;\n font-family: monospace;\n}\n\nbutton {\n display: inline-block;\n margin: 0.5rem;\n font-size: 1rem;\n padding: 8px 16px;\n border: none;\n border-radius: 6px;\n cursor: grab;\n transition: background 0.2s ease-in-out;\n}\n\nbutton:hover {\n background: #2980b9;\n}\n\n.aria-live {\n position: absolute;\n left: -9999px;\n top: auto;\n width: 1px;\n height: 1px;\n overflow: hidden;\n}\n\n.control-div {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 10px;\n margin-top: 1rem;\n}\n\n.control-div .help-button {\n background: #2c3e50;\n color: #ecf0f1;\n width: 32px;\n height: 32px;\n padding: 0;\n border-radius: 50%;\n font-size: 1.2rem;\n line-height: 32px;\n text-align: center;\n cursor: pointer;\n}\n\n.control-div .help-button:hover {\n background: #34495e;\n}\n\n/* modal overlay */\n.help-modal {\n display: none;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: rgba(0, 0, 0, 0.5);\n align-items: center;\n justify-content: center;\n z-index: 10;\n}\n\n/* modal content box */\n.help-modal-content {\n\n background-color: var(--questionBgColor);\n padding: 1rem 1.5rem;\n border-radius: 6px;\n max-width: 80%;\n max-height: 80%;\n overflow: auto;\n position: relative;\n}\n\n/* close button */\n.help-modal-content .help-close {\n position: absolute;\n top: 0.5rem;\n right: 0.5rem;\n background: transparent;\n border: none;\n font-size: 1.5rem;\n cursor: pointer;\n color: red;\n}\n\n/* help text */\n.help-modal-content .help-text {\n margin-top: 1.5rem;\n font-size: 1rem;\n line-height: 1.4;\n}\n\n.match_question {\n background-color: var(--questionBgColor);\n padding: 10px;\n margin-bottom: 10px;\n}\n\n.match_feedback {\n background-color: var(--parsonsIncorrectBgColor);\n padding: 10px;\n margin-top: 10px;\n margin-bottom: 10px;\n border-radius: 5px;\n}",":root {\n --draggableBgColor: #EFEFEF;\n --dropableBgColor: #DDDDDD;\n --draggableIncorrectBorder: red;\n --draggableIncorrectBg: #f2dede;\n --dragLineColor: #000000;\n --boxBorderColor: #000000;\n\n}\n\n:root.dark-mode,\n[data-theme=\"dark\"] {\n --draggableBgColor: #393434;\n --dropableBgColor: #2a2d30;\n --draggableIncorrectBorder: red;\n --draggableIncorrectBg: #6d2d2d;\n --dragLineColor: #ffffff;\n --boxBorderColor: #ffffff;\n\n}\n","#component-preview {\n margin-right: 20px;\n position: fixed;\n right: 0px;\n max-height: 100%;\n overflow-y: scroll;\n top: 0px;\n padding-top: 60px;\n}\n\n.toggle-preview {\n border: 4px solid;\n border-radius: 10px;\n background-color: azure;\n padding-top: 10px;\n box-shadow: 10px 5px 5px gray;\n}\n",".ptx-runestone-container,.runestone-sphinx {\n @import (less) url(\"./timed.css\");\n}\n","/* TIMED ASSESSMENT BUTTON STYLES */\nul#pageNums,\nul#pageNums li {\n text-align: center;\n padding: 10px 0;\n}\n\n.pagination>li>a:hover {\n background-color: #eee !important;\n color: #000 !important;\n}\n\n.flagBtn {\n /* documentation */\n background-color: #ED9C59 !important;\n border: 3px solid #CE5718;\n border-radius: 5px;\n color: #030201 !important;\n cursor: pointer;\n width: 150;\n height: 115;\n text-align: center;\n text-decoration: none;\n display: ruby;\n font-size: 15px;\n}\n\n/* The following override styles in Bootstrap distribution file (bootstrap.min.css) */\n\n.pagination>.active>a,\n.pagination>.active>span {\n background-color: #428bca !important;\n color: #ffffff !important;\n}\n\n.col-md-6-override {\n text-align: center !important;\n max-width: 100% !important;\n}\n\n/* end */\n\n.pagination>.answered>a,\n.pagination>.answered>span {\n background-color: #eee;\n color: #000;\n}\n\n.pagination>.broken>a,\n.pagination>.broken>span {\n background-color: #f99;\n color: #000;\n}\n\n.pagination>.toolate>a,\n.pagination>.toolate>span {\n background-color: rgb(236, 203, 54);\n color: #000;\n}\n\n.pagination>.flagcolor>a,\n.pagination>.flagcolor>span {\n background-color: #ED9C59;\n color: #000;\n}\n\np.examwarning {\n width: 50%;\n margin-left: auto;\n margin-right: auto;\n background-color: rgba(243, 156, 156, 0.822);\n border: solid black;\n border-radius: 5px;\n border-width: 2px;\n padding: 5px;\n}\n\n.pagination>.correctCount>a,\n.pagination>.correctCount>span {\n background-color: #dff0d8;\n color: #000000;\n border-color: #000000;\n}\n\n.pagination>.skippedCount>a,\n.pagination>.skippedCount>span {\n background-color: #fcf8e3;\n color: #000000;\n border-color: #000000;\n}\n\n.pagination>.incorrectCount>a,\n.pagination>.incorrectCount>span {\n background-color: #f2dede;\n color: #000000;\n border-color: #000000;\n}\n\n.switchcontainer {\n height: 1000px;\n overflow: auto;\n}"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/_static/prefix-115.83df5da0966564d5.css.map.gz b/_static/prefix-115.83df5da0966564d5.css.map.gz deleted file mode 100644 index 79b5afd..0000000 Binary files a/_static/prefix-115.83df5da0966564d5.css.map.gz and /dev/null differ diff --git a/_static/prefix-131.b184379d0dc5871b.css b/_static/prefix-131.b184379d0dc5871b.css old mode 100644 new mode 100755 diff --git a/_static/prefix-131.b184379d0dc5871b.css.gz b/_static/prefix-131.b184379d0dc5871b.css.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-131.b184379d0dc5871b.css.map b/_static/prefix-131.b184379d0dc5871b.css.map old mode 100644 new mode 100755 diff --git a/_static/prefix-131.b184379d0dc5871b.css.map.gz b/_static/prefix-131.b184379d0dc5871b.css.map.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-168.1c4deaed00ca1f5e.css b/_static/prefix-168.1c4deaed00ca1f5e.css old mode 100644 new mode 100755 diff --git a/_static/prefix-168.1c4deaed00ca1f5e.css.gz b/_static/prefix-168.1c4deaed00ca1f5e.css.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-168.1c4deaed00ca1f5e.css.map b/_static/prefix-168.1c4deaed00ca1f5e.css.map old mode 100644 new mode 100755 diff --git a/_static/prefix-168.1c4deaed00ca1f5e.css.map.gz b/_static/prefix-168.1c4deaed00ca1f5e.css.map.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-186.0d47de180767fda9.css b/_static/prefix-186.0d47de180767fda9.css old mode 100644 new mode 100755 diff --git a/_static/prefix-186.0d47de180767fda9.css.map b/_static/prefix-186.0d47de180767fda9.css.map old mode 100644 new mode 100755 diff --git a/_static/prefix-186.0d47de180767fda9.css.map.gz b/_static/prefix-186.0d47de180767fda9.css.map.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-198.86b6b2a70a576922.css b/_static/prefix-198.86b6b2a70a576922.css old mode 100644 new mode 100755 diff --git a/_static/prefix-198.86b6b2a70a576922.css.gz b/_static/prefix-198.86b6b2a70a576922.css.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-198.86b6b2a70a576922.css.map b/_static/prefix-198.86b6b2a70a576922.css.map old mode 100644 new mode 100755 diff --git a/_static/prefix-198.86b6b2a70a576922.css.map.gz b/_static/prefix-198.86b6b2a70a576922.css.map.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-249.6ca19da539a8ed1a.css b/_static/prefix-249.6ca19da539a8ed1a.css old mode 100644 new mode 100755 diff --git a/_static/prefix-249.6ca19da539a8ed1a.css.gz b/_static/prefix-249.6ca19da539a8ed1a.css.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-249.6ca19da539a8ed1a.css.map b/_static/prefix-249.6ca19da539a8ed1a.css.map old mode 100644 new mode 100755 diff --git a/_static/prefix-249.6ca19da539a8ed1a.css.map.gz b/_static/prefix-249.6ca19da539a8ed1a.css.map.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-268.c9e33e1350d18af9.css b/_static/prefix-268.c9e33e1350d18af9.css new file mode 100755 index 0000000..100ce83 --- /dev/null +++ b/_static/prefix-268.c9e33e1350d18af9.css @@ -0,0 +1,2 @@ +.selectwidthauto{display:inline-block!important;margin:5px;width:auto!important}input.input-validation-error{border:1px solid #e80c4d}.dark-mode .fillintheblank_section input[type=text]{background-color:#333;color:unset}.ptx-runestone-container .fitb-feedback{margin-bottom:0;margin-top:10px}.ptx-runestone-container .fitb-feedback:empty{margin-top:0}.mchoice label p{display:inline;font-weight:400!important}.mchoice label pre{font-weight:400}.mchoice fieldset{margin-bottom:.5em}.mchoice fieldset legend{font-size:small;margin-bottom:.5em}.multiplechoice_section label>.para,.timedAssessment .mchoice label>.para{display:inline}label.mchoice-option{display:block}.ptx-runestone-container input.mchoice-input{margin-right:.5em;vertical-align:top}.mchoice .alert{margin-bottom:0;margin-top:10px}div.journal div.latexoutput{background-color:var(--outerBackground,#eee);border-radius:5px;margin-bottom:10px;padding:1em}.shortanswer_section .alert{margin-bottom:0}.shortanswer__timestamp{color:var(--grayToWhite,#333);font-size:.9em}.journal textarea{background-color:#fff;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(90deg,#eaeef2,#eaeef2) border-box;border:1px solid #d0d7de;border-radius:8px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.5;max-width:100%;min-height:6rem;overflow:hidden;padding:.75rem .9rem;resize:none;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.journal textarea:focus{border-color:#0969da;box-shadow:0 0 0 3px rgba(9,105,218,.15);outline:none}.shortanswer__feedback,.shortanswer__rendered-answer-div{margin-top:1rem}.clickable{cursor:pointer}.clickable:has(code){display:inline-block;padding:3px}.clickable-clicked:has(code){box-shadow:0 0 2px 2px rgba(0,100,0,.75)}.clickable-clicked{background-color:var(--clickableBgColor)}.clickable-clicked td{background-color:#dad6c1;box-shadow:none}table{border-collapse:collapse}td.clickable,th.clickable{border:1px solid #000}td.clickable-clicked{background-color:#dad6c1;box-shadow:none}td img{margin:5px}.clickable-clicked th,th.clickable-clicked{background-color:#dad6c1;box-shadow:none}.clickable-incorrect,.clickable-incorrect td,.clickable-incorrect th{background-color:var(--clickableIncorrectBgColor);border:1px solid red!important}img.clickable-incorrect{box-shadow:0 0 2px 2px rgba(100,0,0,.75)}.clickable-incorrect:has(code){box-shadow:0 0 2px 2px rgba(251,0,0,.75)}:root{--clickableBgColor:#ff0;--clickableIncorrectBgColor:#fcc}:root.dark-mode{--clickableBgColor:#3c5624;--clickableIncorrectBgColor:#562c2c;.clickable-clicked:has(code):not(.clickable-incorrect){box-shadow:0 0 2px 2px rgba(251,255,21,.75)}}.ptx-runestone-container .rsdraggable,.runestone-sphinx .rsdraggable{background-color:var(--questionBgColor,#efefff);border:1px solid var(--componentBorderColor,#efefff);box-sizing:border-box;display:inline;float:left;margin-left:1%;margin-right:1%;margin-top:5px;min-width:28%;padding-bottom:10px;text-align:left;vertical-align:top}.ptx-runestone-container .dnd-button-container,.runestone-sphinx .dnd-button-container{display:flex;justify-content:center;margin-top:1em;width:100%}.ptx-runestone-container .drag-button,.runestone-sphinx .drag-button{display:inline-block}.ptx-runestone-container .drag-reset,.runestone-sphinx .drag-reset{background-color:#474949;color:#fff}.ptx-runestone-container .drag-reset:hover,.runestone-sphinx .drag-reset:hover{background-color:#000;color:#fff}.ptx-runestone-container .drop-incorrect,.runestone-sphinx .drop-incorrect{background-color:var(--draggableIncorrectBg,#f2dede)!important;border:1px solid var(--draggableIncorrectBorder,red)!important}.ptx-runestone-container .drag-reset:enabled,.runestone-sphinx .drag-reset:enabled{background-color:#474949;color:#fff}.ptx-runestone-container .draggable-drag,.runestone-sphinx .draggable-drag{background-color:var(--draggableBgColor);border:1px solid #d3d3d3;border-radius:10px;cursor:grab;display:block;margin-top:5px;padding:10px}.ptx-runestone-container .draggable-feedback,.runestone-sphinx .draggable-feedback{clear:both;margin-bottom:0;margin-top:10px;text-align:left!important}.ptx-runestone-container .draggable-drop,.runestone-sphinx .draggable-drop{background-color:var(--dropableBgColor);border:1px solid #d3d3d3;border-radius:10px;cursor:grab;display:block;margin-top:5px;padding:10px}.ptx-runestone-container .draggable-container,.runestone-sphinx .draggable-container{text-align:center}.ptx-runestone-container .possibleDrop,.runestone-sphinx .possibleDrop{background-color:#ccc;border-color:#000}.ptx-runestone-container .draggable-drop .MathJax,.ptx-runestone-container .draggable-drop .process-math,.runestone-sphinx .draggable-drop .MathJax,.runestone-sphinx .draggable-drop .process-math{cursor:not-allowed;pointer-events:none}.ptx-runestone-container .vh-dnd-error,.runestone-sphinx .vh-dnd-error{clip:rect(0,0,0,0);border:0;height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.ptx-runestone-container .cardsort-statement,.runestone-sphinx .cardsort-statement{background-color:var(--questionBgColor);margin-bottom:10px;padding:10px;text-align:left}.ptx-runestone-container .parsons-container,.runestone-sphinx .parsons-container{clear:both}.ptx-runestone-container .parsons .sortable-code-container,.runestone-sphinx .parsons .sortable-code-container{text-align:center}.ptx-runestone-container .parsons .sortable-code-container:not(.block),.runestone-sphinx .parsons .sortable-code-container:not(.block){-webkit-user-select:none;-moz-user-select:-moz-none;-ms-user-select:none;user-select:none}.ptx-runestone-container .parsons .sortable-code,.runestone-sphinx .parsons .sortable-code{display:inline-block;margin:0 15px;padding-left:0;position:static;text-align:left;vertical-align:top}.ptx-runestone-container .parsons .answer,.ptx-runestone-container .parsons .answer1,.ptx-runestone-container .parsons .answer2,.ptx-runestone-container .parsons .answer3,.ptx-runestone-container .parsons .answer4,.ptx-runestone-container .parsons .source,.runestone-sphinx .parsons .answer,.runestone-sphinx .parsons .answer1,.runestone-sphinx .parsons .answer2,.runestone-sphinx .parsons .answer3,.runestone-sphinx .parsons .answer4,.runestone-sphinx .parsons .source{background-color:var(--questionBgColor,#efefff);border:1px solid var(--componentBorderColor,#efefff);font-size:100%;list-style:none;margin-left:0;padding-bottom:10px;padding-left:0;position:relative}.ptx-runestone-container .parsons .source,.runestone-sphinx .parsons .source{background-color:var(--questionBgColor,#efefff)}.ptx-runestone-container .parsons .answer,.runestone-sphinx .parsons .answer{background-color:var(--parsonsBgColor);border-color:var(--parsonsBorderColor)}.ptx-runestone-container .parsons .answer.incorrect,.runestone-sphinx .parsons .answer.incorrect{background-color:var(--parsonsIncorrectBgColor);border-color:var(--parsonsIncorrectBorderColor)}.ptx-runestone-container .parsons .answer.correct,.runestone-sphinx .parsons .answer.correct{background-color:var(--parsonsCorrectBgColor);border-color:var(--parsonsCorrectBorderColor)}.ptx-runestone-container .parsons .answer1,.runestone-sphinx .parsons .answer1{background:linear-gradient(var(--parsonsBorderColor),var(--parsonsBorderColor)) no-repeat border-box;background-color:var(--parsonsBgColor);background-origin:padding-box;background-position:30px 0;background-size:1px 100%;border-color:var(--parsonsBorderColor)}.ptx-runestone-container .parsons .answer1.incorrect,.runestone-sphinx .parsons .answer1.incorrect{background:linear-gradient(var(--parsonsIncorrectBorderColor),var(--parsonsIncorrectBorderColor)) no-repeat border-box;background-color:var(--parsonsIncorrectBgColor);background-origin:padding-box;background-position:30px 0;background-size:1px 100%;border-color:var(--parsonsIncorrectBorderColor)}.ptx-runestone-container .parsons .answer1.correct,.runestone-sphinx .parsons .answer1.correct{background:linear-gradient(var(--parsonsCorrectBorderColor),var(--parsonsCorrectBorderColor)) no-repeat border-box;background-color:var(--parsonsCorrectBgColor);background-origin:padding-box;background-position:30px 0;background-size:1px 100%;border-color:var(--parsonsCorrectBorderColor)}.ptx-runestone-container .parsons .answer2,.runestone-sphinx .parsons .answer2{background:linear-gradient(var(--parsonsBorderColor),var(--parsonsBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsBorderColor),var(--parsonsBorderColor)) no-repeat border-box;background-color:var(--parsonsBgColor);background-origin:padding-box,padding-box;background-position:30px 0,60px 0;background-size:1px 100%,1px 100%;border-color:var(--parsonsBorderColor)}.ptx-runestone-container .parsons .answer2.incorrect,.runestone-sphinx .parsons .answer2.incorrect{background:linear-gradient(var(--parsonsIncorrectBorderColor),var(--parsonsIncorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsIncorrectBorderColor),var(--parsonsIncorrectBorderColor)) no-repeat border-box;background-color:var(--parsonsIncorrectBgColor);background-origin:padding-box,padding-box;background-position:30px 0,60px 0;background-size:1px 100%,1px 100%;border-color:var(--parsonsIncorrectBorderColor)}.ptx-runestone-container .parsons .answer2.correct,.runestone-sphinx .parsons .answer2.correct{background:linear-gradient(var(--parsonsCorrectBorderColor),var(--parsonsCorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsCorrectBorderColor),var(--parsonsCorrectBorderColor)) no-repeat border-box;background-color:var(--parsonsCorrectBgColor);background-origin:padding-box,padding-box;background-position:30px 0,60px 0;background-size:1px 100%,1px 100%;border-color:var(--parsonsCorrectBorderColor)}.ptx-runestone-container .parsons .answer3,.runestone-sphinx .parsons .answer3{background:linear-gradient(var(--parsonsBorderColor),var(--parsonsBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsBorderColor),var(--parsonsBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsBorderColor),var(--parsonsBorderColor)) no-repeat border-box;background-color:var(--parsonsBgColor);background-origin:padding-box,padding-box,padding-box;background-position:30px 0,60px 0,90px 0;background-size:1px 100%,1px 100%,1px 100%;border-color:var(--parsonsBorderColor)}.ptx-runestone-container .parsons .answer3.incorrect,.runestone-sphinx .parsons .answer3.incorrect{background:linear-gradient(var(--parsonsIncorrectBorderColor),var(--parsonsIncorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsIncorrectBorderColor),var(--parsonsIncorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsIncorrectBorderColor),var(--parsonsIncorrectBorderColor)) no-repeat border-box;background-color:var(--parsonsIncorrectBgColor);background-origin:padding-box,padding-box,padding-box;background-position:30px 0,60px 0,90px 0;background-size:1px 100%,1px 100%,1px 100%;border-color:var(--parsonsIncorrectBorderColor)}.ptx-runestone-container .parsons .answer3.correct,.runestone-sphinx .parsons .answer3.correct{background:linear-gradient(var(--parsonsCorrectBorderColor),var(--parsonsCorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsCorrectBorderColor),var(--parsonsCorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsCorrectBorderColor),var(--parsonsCorrectBorderColor)) no-repeat border-box;background-color:var(--parsonsCorrectBgColor);background-origin:padding-box,padding-box,padding-box;background-position:30px 0,60px 0,90px 0;background-size:1px 100%,1px 100%,1px 100%;border-color:var(--parsonsCorrectBorderColor)}.ptx-runestone-container .parsons .answer4,.runestone-sphinx .parsons .answer4{background:linear-gradient(var(--parsonsBorderColor),var(--parsonsBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsBorderColor),var(--parsonsBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsBorderColor),var(--parsonsBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsBorderColor),var(--parsonsBorderColor)) no-repeat border-box;background-color:var(--parsonsBgColor);background-origin:padding-box,padding-box,padding-box,padding-box;background-position:30px 0,60px 0,90px 0,120px 0;background-size:1px 100%,1px 100%,1px 100%,1px 100%;border-color:var(--parsonsBorderColor)}.ptx-runestone-container .parsons .answer4.incorrect,.runestone-sphinx .parsons .answer4.incorrect{background:linear-gradient(var(--parsonsIncorrectBorderColor),var(--parsonsIncorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsIncorrectBorderColor),var(--parsonsIncorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsIncorrectBorderColor),var(--parsonsIncorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsIncorrectBorderColor),var(--parsonsIncorrectBorderColor)) no-repeat border-box;background-color:var(--parsonsIncorrectBgColor);background-origin:padding-box,padding-box,padding-box,padding-box;background-position:30px 0,60px 0,90px 0,120px 0;background-size:1px 100%,1px 100%,1px 100%,1px 100%;border-color:var(--parsonsIncorrectBorderColor)}.ptx-runestone-container .parsons .answer4.correct,.runestone-sphinx .parsons .answer4.correct{background:linear-gradient(var(--parsonsCorrectBorderColor),var(--parsonsCorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsCorrectBorderColor),var(--parsonsCorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsCorrectBorderColor),var(--parsonsCorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsCorrectBorderColor),var(--parsonsCorrectBorderColor)) no-repeat border-box;background-color:var(--parsonsCorrectBgColor);background-origin:padding-box,padding-box,padding-box,padding-box;background-position:30px 0,60px 0,90px 0,120px 0;background-size:1px 100%,1px 100%,1px 100%,1px 100%;border-color:var(--parsonsCorrectBorderColor)}.ptx-runestone-container .parsons .answer5,.runestone-sphinx .parsons .answer5{background:linear-gradient(var(--parsonsBorderColor),var(--parsonsBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsBorderColor),var(--parsonsBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsBorderColor),var(--parsonsBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsBorderColor),var(--parsonsBorderColor)) no-repeat border-box;background-color:var(--parsonsBgColor);background-origin:padding-box,padding-box,padding-box,padding-box;background-position:30px 0,60px 0,90px 0,120px 0,150px 0;background-size:1px 100%,1px 100%,1px 100%,1px 100%;border-color:var(--parsonsBorderColor)}.ptx-runestone-container .parsons .answer5.incorrect,.runestone-sphinx .parsons .answer5.incorrect{background:linear-gradient(var(--parsonsIncorrectBorderColor),var(--parsonsIncorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsIncorrectBorderColor),var(--parsonsIncorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsIncorrectBorderColor),var(--parsonsIncorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsIncorrectBorderColor),var(--parsonsIncorrectBorderColor)) no-repeat border-box;background-color:var(--parsonsIncorrectBgColor);background-origin:padding-box,padding-box,padding-box,padding-box;background-position:30px 0,60px 0,90px 0,120px 0,150px 0;background-size:1px 100%,1px 100%,1px 100%,1px 100%;border-color:var(--parsonsIncorrectBorderColor)}.ptx-runestone-container .parsons .answer5.correct,.runestone-sphinx .parsons .answer5.correct{background:linear-gradient(var(--parsonsCorrectBorderColor),var(--parsonsCorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsCorrectBorderColor),var(--parsonsCorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsCorrectBorderColor),var(--parsonsCorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsCorrectBorderColor),var(--parsonsCorrectBorderColor)) no-repeat border-box;background-color:var(--parsonsCorrectBgColor);background-origin:padding-box,padding-box,padding-box,padding-box;background-position:30px 0,60px 0,90px 0,120px 0,150px 0;background-size:1px 100%,1px 100%,1px 100%,1px 100%;border-color:var(--parsonsCorrectBorderColor)}.ptx-runestone-container .parsons .answer6,.runestone-sphinx .parsons .answer6{background:linear-gradient(var(--parsonsBorderColor),var(--parsonsBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsBorderColor),var(--parsonsBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsBorderColor),var(--parsonsBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsBorderColor),var(--parsonsBorderColor)) no-repeat border-box;background-color:var(--parsonsBgColor);background-origin:padding-box,padding-box,padding-box,padding-box;background-position:30px 0,60px 0,90px 0,120px 0,150px 0,180px 0;background-size:1px 100%,1px 100%,1px 100%,1px 100%;border-color:var(--parsonsBorderColor)}.ptx-runestone-container .parsons .answer6.incorrect,.runestone-sphinx .parsons .answer6.incorrect{background:linear-gradient(var(--parsonsIncorrectBorderColor),var(--parsonsIncorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsIncorrectBorderColor),var(--parsonsIncorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsIncorrectBorderColor),var(--parsonsIncorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsIncorrectBorderColor),var(--parsonsIncorrectBorderColor)) no-repeat border-box;background-color:var(--parsonsIncorrectBgColor);background-origin:padding-box,padding-box,padding-box,padding-box;background-position:30px 0,60px 0,90px 0,120px 0,150px 0,180px 0;background-size:1px 100%,1px 100%,1px 100%,1px 100%;border-color:var(--parsonsIncorrectBorderColor)}.ptx-runestone-container .parsons .answer6.correct,.runestone-sphinx .parsons .answer6.correct{background:linear-gradient(var(--parsonsCorrectBorderColor),var(--parsonsCorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsCorrectBorderColor),var(--parsonsCorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsCorrectBorderColor),var(--parsonsCorrectBorderColor)) no-repeat border-box,linear-gradient(var(--parsonsCorrectBorderColor),var(--parsonsCorrectBorderColor)) no-repeat border-box;background-color:var(--parsonsCorrectBgColor);background-origin:padding-box,padding-box,padding-box,padding-box;background-position:30px 0,60px 0,90px 0,120px 0,150px 0,180px 0;background-size:1px 100%,1px 100%,1px 100%,1px 100%;border-color:var(--parsonsCorrectBorderColor)}.ptx-runestone-container .parsons .block,.runestone-sphinx .parsons .block{background-color:var(--background,#efefef);border:1px solid #d3d3d3;-moz-border-radius:10px;-webkit-border-radius:10px;border-radius:10px;cursor:move;margin-top:5px;overflow:hidden;padding:5px 10px;position:absolute}.ptx-runestone-container .parsons .block.disabled,.runestone-sphinx .parsons .block.disabled{opacity:.3}.ptx-runestone-container .parsons .block.down,.runestone-sphinx .parsons .block.down{border:2px solid #000;padding:4px 9px}.ptx-runestone-container .parsons .block.up,.runestone-sphinx .parsons .block.up{background-color:#fff;border:2px solid #000;box-shadow:3px 3px 4px #000;padding:4px 9px}.ptx-runestone-container .parsons,.runestone-sphinx .parsons{display:block}.ptx-runestone-container .parsons .block,.runestone-sphinx .parsons .block{clear:both;float:left}.ptx-runestone-container .parsons .sortable-code code,.runestone-sphinx .parsons .sortable-code code{background-color:transparent;clear:both;float:left;white-space:pre}.ptx-runestone-container .parsons .sortable-code code:empty,.runestone-sphinx .parsons .sortable-code code:empty{height:1.25em}.ptx-runestone-container .parsons .block p,.runestone-sphinx .parsons .block p{margin:0}.ptx-runestone-container .parsons .block,.ptx-runestone-container .parsons .block:after,.ptx-runestone-container .parsons .block:before,.runestone-sphinx .parsons .block,.runestone-sphinx .parsons .block:after,.runestone-sphinx .parsons .block:before{box-sizing:content-box}.ptx-runestone-container .parsons .indent1,.runestone-sphinx .parsons .indent1{margin-left:30px}.ptx-runestone-container .parsons .indent2,.runestone-sphinx .parsons .indent2{margin-left:60px}.ptx-runestone-container .parsons .indent3,.runestone-sphinx .parsons .indent3{margin-left:90px}.ptx-runestone-container .parsons .indent4,.runestone-sphinx .parsons .indent4{margin-left:120px}.ptx-runestone-container .parsons .indent5,.runestone-sphinx .parsons .indent5{margin-left:150px}.ptx-runestone-container .parsons .indent6,.runestone-sphinx .parsons .indent6{margin-left:180px}.ptx-runestone-container .parsons .indent7,.runestone-sphinx .parsons .indent7{margin-left:210px}.ptx-runestone-container .parsons .indent8,.runestone-sphinx .parsons .indent8{margin-left:240px}.ptx-runestone-container .parsons .correct,.runestone-sphinx .parsons .correct{background:none;background-color:var(--parsonsCorrectBgColor);border:1px solid #d6e9c6}.ptx-runestone-container .parsons .indentLeft,.ptx-runestone-container .parsons .indentRight,.runestone-sphinx .parsons .indentLeft,.runestone-sphinx .parsons .indentRight{background-color:#fff0b3;border:2px solid #fc0;padding:4px 9px}.ptx-runestone-container .parsons .indentLeft,.runestone-sphinx .parsons .indentLeft{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSI2MDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwYXRoIGZpbGw9IiNGQzAiIGQ9Ik0xMiAwSDB2NjAwaDEyVjMxMEwyIDMwMGwxMC0xMHoiLz48cGF0aCBkPSJtNSAzMDAgNy03di0zTDIgMzAwbDEwIDEwdi0zeiIvPjwvc3ZnPg==),url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSI2MDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwYXRoIGQ9Ik0xMCAzMDd2M0wwIDMwMGwxMC0xMHYzbC03IDd6Ii8+PHBhdGggZmlsbD0iI0ZDMCIgZD0iTTEyIDMwOXYtMThsLTkgOXoiLz48cGF0aCBmaWxsPSIjRkMwIiBkPSJNMTAgMGgydjYwMGgtMnoiLz48L3N2Zz4=);background-position:0,100%;background-repeat:no-repeat,no-repeat}.ptx-runestone-container .parsons .indentRight,.runestone-sphinx .parsons .indentRight{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSI2MDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwYXRoIGQ9Im05IDMwMC03LTd2LTNsMTAgMTAtMTAgMTB2LTN6Ii8+PHBhdGggZmlsbD0iI0ZDMCIgZD0ibTkgMzAwLTktOXYxOHoiLz48cGF0aCBmaWxsPSIjRkMwIiBkPSJNMCAwaDJ2NjAwSDB6Ii8+PC9zdmc+),url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSI2MDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwYXRoIGZpbGw9IiNGQzAiIGQ9Im0wIDI5MCAxMCAxMC0xMCAxMHYyOTBoMTJWMEgweiIvPjxwYXRoIGQ9Ik0wIDMwN3YzbDEwLTEwLTEwLTEwdjNsNyA3eiIvPjwvc3ZnPg==);background-position:0,100%;background-repeat:no-repeat,no-repeat}.ptx-runestone-container .parsons .incorrectPosition,.runestone-sphinx .parsons .incorrectPosition{background-color:#ffbaba;border:1px solid red}.ptx-runestone-container .parsons .paired,.runestone-sphinx .parsons .paired{background-color:transparent;border-color:#b8b8f2;-moz-border-radius:10px;-webkit-border-radius:10px;border-radius:10px;border-style:solid;border-width:1px 11px;margin-top:5px;overflow:hidden;position:absolute}.ptx-runestone-container .parsons,.runestone-sphinx .parsons{border-left:0;border-radius:0;border-right:0}.ptx-runestone-container .parsons .parsons-text,.runestone-sphinx .parsons .parsons-text{margin-left:auto;margin-right:auto;max-width:var(--contentWidthRegular)}.ptx-runestone-container .parsons .parsons-img,.runestone-sphinx .parsons .parsons-img{display:inline-block;text-align:center;width:100%}.ptx-runestone-container .parsons .parsons-controls,.runestone-sphinx .parsons .parsons-controls{margin-left:auto;margin-right:auto;margin-top:10px;max-width:var(--contentWidthRegular);text-align:center}.ptx-runestone-container .parsons [role=tooltip],.runestone-sphinx .parsons [role=tooltip]{font-style:italic;margin:5px auto;max-width:var(--contentWidthRegular);padding:0 10px;text-align:center;top:0}.ptx-runestone-container .block-label,.runestone-sphinx .block-label{color:#7e7ee7;font-size:90%;vertical-align:top;white-space:pre}.ptx-runestone-container .right-label,.runestone-sphinx .right-label{padding:.2em 0 .3em .6em}.ptx-runestone-container .left-label,.runestone-sphinx .left-label{padding:.2em .6em .3em 0}.ptx-runestone-container .labels,.runestone-sphinx .labels{display:inline-block;padding-top:2px;vertical-align:top}.ptx-runestone-container .runestone .lines,.runestone-sphinx .runestone .lines{align-self:left;display:inline-block}.ptx-runestone-container .border_left,.runestone-sphinx .border_left{border-left:1px solid #b0b0b0}.ptx-runestone-container .block,.runestone-sphinx .block{align-content:stretch;align-items:stretch;display:flex}.ptx-runestone-container .cd_section,.ptx-runestone-container .parsons,.ptx-runestone-container .parsons .sortable-code-container,.runestone-sphinx .cd_section,.runestone-sphinx .parsons,.runestone-sphinx .parsons .sortable-code-container{max-width:none}.ptx-runestone-container #timed_Test .pagination,.runestone-sphinx #timed_Test .pagination{margin:5px 0}.ptx-runestone-container .parsons .block code,.runestone-sphinx .parsons .block code{color:#000}.ptx-runestone-container .parsons .placeholder-block.disabled.block,.runestone-sphinx .parsons .placeholder-block.disabled.block{background-color:#fff;border-style:dashed;font-style:italic;opacity:1;padding:20px 10px}.ptx-runestone-container .parsons .settled-block.disabled.block,.runestone-sphinx .parsons .settled-block.disabled.block{background-color:#afe1af;border:1px solid #000;opacity:1}.ptx-runestone-container .parsons .settled-block.disabled.block:hover .settled-tooltip,.runestone-sphinx .parsons .settled-block.disabled.block:hover .settled-tooltip{opacity:1;visibility:visible}.ptx-runestone-container .parsons .settled-block.disabled.block .settled-tooltip,.runestone-sphinx .parsons .settled-block.disabled.block .settled-tooltip{background-color:#555;border-radius:6px;color:#fff;font-size:.75rem;left:100%;opacity:0;padding:2px 8px;position:sticky;text-align:center;transition:opacity .6s;vertical-align:middle;visibility:hidden;z-index:1}.ptx-runestone-container .parsons .settled-block .block-label,.runestone-sphinx .parsons .settled-block .block-label{color:transparent}.ptx-runestone-container .parsons .alert,.runestone-sphinx .parsons .alert{margin-bottom:0;margin-top:10px}.ptx-runestone-container .parsons .placeholder-block .lines,.ptx-runestone-container .parsons .placeholder-block.hide,.ptx-runestone-container .placeholder-block .labels,.runestone-sphinx .parsons .placeholder-block .lines,.runestone-sphinx .parsons .placeholder-block.hide,.runestone-sphinx .placeholder-block .labels{display:none}.ptx-runestone-container .settled-block .labels .block-label,.runestone-sphinx .settled-block .labels .block-label{color:transparent}:root.dark-mode .ptx-runestone-container .parsons .block:has(code[class*=language-]){background:#141414}.prettyprint{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun{color:#660}.pln{color:#000}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec{color:#606}pre.prettyprint{border:1px solid #888;padding:2px}@media print{.str{color:#060}.kwd{color:#006;font-weight:700}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:700}.lit{color:#044}.pun{color:#440}.pln{color:#000}.tag{color:#006;font-weight:700}.atn{color:#404}.atv{color:#060}}}.ptx-runestone-container *,.runestone-sphinx *{box-sizing:border-box}.ptx-runestone-container body,.runestone-sphinx body{font-family:sans-serif;margin:0;padding:20px}.ptx-runestone-container h2,.runestone-sphinx h2{margin-bottom:.5em}.ptx-runestone-container [data-component=matching],.runestone-sphinx [data-component=matching]{font-family:sans-serif;margin:2rem 0}.ptx-runestone-container .matching-workspace,.runestone-sphinx .matching-workspace{background:var(--componentBgColor);display:flex;justify-content:space-between;margin:0 auto 1rem;max-width:1000px;position:relative;width:100%}.ptx-runestone-container .left-column,.ptx-runestone-container .right-column,.runestone-sphinx .left-column,.runestone-sphinx .right-column{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center;max-width:25vw;padding:10px;position:relative;z-index:1}.ptx-runestone-container .left-column img,.ptx-runestone-container .right-column img,.runestone-sphinx .left-column img,.runestone-sphinx .right-column img{max-width:25vw}.ptx-runestone-container .box,.runestone-sphinx .box{align-items:center;background:var(--dropableBgColor,#f9f9f9);border:2px solid var(--boxBorderColor);border-radius:8px;cursor:grab;display:inline-flex;font-weight:700;justify-content:center;max-width:100%;min-height:50px;min-width:120px;padding:10px 14px;text-align:center;touch-action:none;user-select:none}.ptx-runestone-container .box,.ptx-runestone-container .left-column,.ptx-runestone-container .matching-workspace,.ptx-runestone-container .right-column,.ptx-runestone-container body,.runestone-sphinx .box,.runestone-sphinx .left-column,.runestone-sphinx .matching-workspace,.runestone-sphinx .right-column,.runestone-sphinx body{user-select:none;-webkit-user-select:none}.ptx-runestone-container .box mjx-container,.runestone-sphinx .box mjx-container{font-size:1em}.ptx-runestone-container .box:focus,.runestone-sphinx .box:focus{outline:3px solid #3498db}.ptx-runestone-container .box.selected,.runestone-sphinx .box.selected{outline:3px dashed #27ae60}.ptx-runestone-container .connector-svg,.runestone-sphinx .connector-svg{background:var(--componentBgColor);height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:0}.ptx-runestone-container .line,.runestone-sphinx .line{stroke:var(--dragLineColor);stroke-width:3;cursor:pointer;pointer-events:auto;transition:stroke .2s ease,stroke-width .2s ease}.ptx-runestone-container .line.correct,.runestone-sphinx .line.correct{stroke:green;stroke-width:3}.ptx-runestone-container .line.incorrect,.runestone-sphinx .line.incorrect{stroke:#bf1521;stroke-width:2;stroke-dasharray:5 5}.ptx-runestone-container .line.highlighted,.runestone-sphinx .line.highlighted{stroke:#3cd6e7;stroke-width:3}.ptx-runestone-container .line.faded,.runestone-sphinx .line.faded{stroke:#ccc;stroke-width:1}.ptx-runestone-container .line:focus,.ptx-runestone-container .line:hover,.runestone-sphinx .line:focus,.runestone-sphinx .line:hover{stroke:#3498db;stroke-dasharray:6 4;stroke-width:5;outline:none}.ptx-runestone-container .conn-list,.runestone-sphinx .conn-list{background:var(--componentBgColor);border:1px solid #ccc;border-radius:6px;font-size:14px;margin:0 auto 1rem;max-width:800px;padding:10px}.ptx-runestone-container .conn-entry,.runestone-sphinx .conn-entry{font-family:monospace;margin:4px 0}.ptx-runestone-container button,.runestone-sphinx button{border:none;border-radius:6px;cursor:grab;display:inline-block;font-size:1rem;margin:.5rem;padding:8px 16px;transition:background .2s ease-in-out}.ptx-runestone-container button:hover,.runestone-sphinx button:hover{background:#2980b9}.ptx-runestone-container .aria-live,.runestone-sphinx .aria-live{height:1px;left:-9999px;overflow:hidden;position:absolute;top:auto;width:1px}.ptx-runestone-container .control-div,.runestone-sphinx .control-div{align-items:center;display:flex;gap:10px;justify-content:center;margin-top:1rem}.ptx-runestone-container .control-div .help-button,.runestone-sphinx .control-div .help-button{background:#2c3e50;border-radius:50%;color:#ecf0f1;cursor:pointer;font-size:1.2rem;height:32px;line-height:32px;padding:0;text-align:center;width:32px}.ptx-runestone-container .control-div .help-button:hover,.runestone-sphinx .control-div .help-button:hover{background:#34495e}.ptx-runestone-container .help-modal,.runestone-sphinx .help-modal{align-items:center;background:rgba(0,0,0,.5);display:none;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%;z-index:10}.ptx-runestone-container .help-modal-content,.runestone-sphinx .help-modal-content{background-color:var(--questionBgColor);border-radius:6px;max-height:80%;max-width:80%;overflow:auto;padding:1rem 1.5rem;position:relative}.ptx-runestone-container .help-modal-content .help-close,.runestone-sphinx .help-modal-content .help-close{background:transparent;border:none;color:red;cursor:pointer;font-size:1.5rem;position:absolute;right:.5rem;top:.5rem}.ptx-runestone-container .help-modal-content .help-text,.runestone-sphinx .help-modal-content .help-text{font-size:1rem;line-height:1.4;margin-top:1.5rem}.ptx-runestone-container .match_question,.runestone-sphinx .match_question{background-color:var(--questionBgColor);margin-bottom:10px;padding:10px}.ptx-runestone-container .match_feedback,.runestone-sphinx .match_feedback{background-color:var(--parsonsIncorrectBgColor);border-radius:5px;margin-bottom:10px;margin-top:10px;padding:10px}:root{--draggableBgColor:#efefef;--dropableBgColor:#ddd;--draggableIncorrectBorder:red;--draggableIncorrectBg:#f2dede;--dragLineColor:#000;--boxBorderColor:#000}:root.dark-mode,[data-theme=dark]{--draggableBgColor:#393434;--dropableBgColor:#2a2d30;--draggableIncorrectBorder:red;--draggableIncorrectBg:#6d2d2d;--dragLineColor:#fff;--boxBorderColor:#fff}#component-preview{margin-right:20px;max-height:100%;overflow-y:scroll;padding-top:60px;position:fixed;right:0;top:0}.toggle-preview{background-color:azure;border:4px solid;border-radius:10px;box-shadow:10px 5px 5px gray;padding-top:10px}.ptx-runestone-container ul#pageNums,.ptx-runestone-container ul#pageNums li,.runestone-sphinx ul#pageNums,.runestone-sphinx ul#pageNums li{padding:10px 0;text-align:center}.ptx-runestone-container .pagination>li>a:hover,.runestone-sphinx .pagination>li>a:hover{background-color:#eee!important;color:#000!important}.ptx-runestone-container .flagBtn,.runestone-sphinx .flagBtn{background-color:#ed9c59!important;border:3px solid #ce5718;border-radius:5px;color:#030201!important;cursor:pointer;display:ruby;font-size:15px;height:115;text-align:center;text-decoration:none;width:150}.ptx-runestone-container .pagination>.active>a,.ptx-runestone-container .pagination>.active>span,.runestone-sphinx .pagination>.active>a,.runestone-sphinx .pagination>.active>span{background-color:#428bca!important;color:#fff!important}.ptx-runestone-container .col-md-6-override,.runestone-sphinx .col-md-6-override{max-width:100%!important;text-align:center!important}.ptx-runestone-container .pagination>.answered>a,.ptx-runestone-container .pagination>.answered>span,.runestone-sphinx .pagination>.answered>a,.runestone-sphinx .pagination>.answered>span{background-color:#eee;color:#000}.ptx-runestone-container .pagination>.broken>a,.ptx-runestone-container .pagination>.broken>span,.runestone-sphinx .pagination>.broken>a,.runestone-sphinx .pagination>.broken>span{background-color:#f99;color:#000}.ptx-runestone-container .pagination>.toolate>a,.ptx-runestone-container .pagination>.toolate>span,.runestone-sphinx .pagination>.toolate>a,.runestone-sphinx .pagination>.toolate>span{background-color:#eccb36;color:#000}.ptx-runestone-container .pagination>.flagcolor>a,.ptx-runestone-container .pagination>.flagcolor>span,.runestone-sphinx .pagination>.flagcolor>a,.runestone-sphinx .pagination>.flagcolor>span{background-color:#ed9c59;color:#000}.ptx-runestone-container p.examwarning,.runestone-sphinx p.examwarning{background-color:hsla(0,78%,78%,.822);border:2px solid #000;border-radius:5px;margin-left:auto;margin-right:auto;padding:5px;width:50%}.ptx-runestone-container .pagination>.correctCount>a,.ptx-runestone-container .pagination>.correctCount>span,.runestone-sphinx .pagination>.correctCount>a,.runestone-sphinx .pagination>.correctCount>span{background-color:#dff0d8;border-color:#000;color:#000}.ptx-runestone-container .pagination>.skippedCount>a,.ptx-runestone-container .pagination>.skippedCount>span,.runestone-sphinx .pagination>.skippedCount>a,.runestone-sphinx .pagination>.skippedCount>span{background-color:#fcf8e3;border-color:#000;color:#000}.ptx-runestone-container .pagination>.incorrectCount>a,.ptx-runestone-container .pagination>.incorrectCount>span,.runestone-sphinx .pagination>.incorrectCount>a,.runestone-sphinx .pagination>.incorrectCount>span{background-color:#f2dede;border-color:#000;color:#000}.ptx-runestone-container .switchcontainer,.runestone-sphinx .switchcontainer{height:1000px;overflow:auto} +/*# sourceMappingURL=prefix-268.c9e33e1350d18af9.css.map*/ \ No newline at end of file diff --git a/_static/prefix-268.c9e33e1350d18af9.css.gz b/_static/prefix-268.c9e33e1350d18af9.css.gz new file mode 100755 index 0000000..9d6af6b Binary files /dev/null and b/_static/prefix-268.c9e33e1350d18af9.css.gz differ diff --git a/_static/prefix-268.c9e33e1350d18af9.css.map b/_static/prefix-268.c9e33e1350d18af9.css.map new file mode 100755 index 0000000..d92a1d6 --- /dev/null +++ b/_static/prefix-268.c9e33e1350d18af9.css.map @@ -0,0 +1 @@ +{"version":3,"file":"prefix-268.c9e33e1350d18af9.css","mappings":"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","sources":["webpack://WebComponents/./runestone/fitb/css/fitb.css","webpack://WebComponents/./runestone/mchoice/css/mchoice.css","webpack://WebComponents/./runestone/shortanswer/css/shortanswer.css","webpack://WebComponents/./runestone/clickableArea/css/clickable.css","webpack://WebComponents/./runestone/dragndrop/css/dragndrop.less","webpack://WebComponents/./runestone/dragndrop/css/dragndrop.css","webpack://WebComponents/./runestone/parsons/css/parsons.less","webpack://WebComponents/./runestone/parsons/css/parsons.css","webpack://WebComponents/./runestone/parsons/css/prettify.css","webpack://WebComponents/./runestone/matching/css/matching.less","webpack://WebComponents/./runestone/matching/css/matching.css","webpack://WebComponents/./runestone/common/css/variables.less","webpack://WebComponents/./runestone/selectquestion/css/selectquestion.css","webpack://WebComponents/./runestone/timed/css/timed.less","webpack://WebComponents/./runestone/timed/css/timed.css"],"sourcesContent":[".selectwidthauto {\n width:auto !important;\n display: inline-block !important;\n margin: 5px;\n}\n\ninput.input-validation-error {\n border: 1px solid #e80c4d;\n}\n\n\n.dark-mode .fillintheblank_section input[type=\"text\"] {\n color: unset;\n background-color: #333;\n}\n\n.ptx-runestone-container .fitb-feedback {\n margin-top: 10px;\n margin-bottom: 0;\n}\n\n.ptx-runestone-container .fitb-feedback:empty {\n margin-top: 0;\n}",".mchoice label p {\n display: inline;\n font-weight: normal !important;\n}\n\n.mchoice label pre {\n font-weight: normal;\n}\n\n.mchoice fieldset {\n margin-bottom: 0.5em;\n}\n\n.mchoice fieldset legend {\n font-size: small;\n margin-bottom: 0.5em;\n}\n\n.multiplechoice_section label > .para {\n display: inline;\n}\n\n/* The timed assessment strips off the container with the .multiplechoice_section class,\n so we need to apply the same styles to the .timedAssessment class */\n.timedAssessment .mchoice label > .para {\n display: inline;\n}\n\nlabel.mchoice-option {\n display: block;\n}\n\n.ptx-runestone-container input.mchoice-input {\n vertical-align: top;\n margin-right: 0.5em;\n}\n\n.mchoice .alert {\n margin-top: 10px;\n margin-bottom: 0;\n}","div.journal div.latexoutput {\n background-color: var(--outerBackground, #eeeeee);\n padding: 1em;\n margin-bottom: 10px;\n border-radius: 5px;\n}\n\n\n.shortanswer_section .alert {\n margin-bottom: 0;\n}\n\n.shortanswer__timestamp {\n font-size: 0.9em;\n color: var(--grayToWhite, #333);\n}\n\n.journal textarea {\n width: 100%;\n max-width: 100%;\n min-height: 6rem;\n\n padding: 0.75rem 0.9rem;\n font-size: 1rem;\n line-height: 1.5;\n\n border-radius: 8px;\n border: 1px solid #d0d7de;\n background-color: #fff;\n\n transition:\n border-color 0.15s ease,\n box-shadow 0.15s ease;\n\n resize: none;\n overflow: hidden;\n\n font-family: system-ui, -apple-system, BlinkMacSystemFont,\n \"Segoe UI\", Roboto, sans-serif;\n background:\n linear-gradient(#fff, #fff) padding-box,\n linear-gradient(to right, #eaeef2, #eaeef2) border-box;\n}\n\n.journal textarea:focus {\n outline: none;\n border-color: #0969da;\n box-shadow: 0 0 0 3px rgba(9, 105, 218, 0.15);\n}\n\n.shortanswer__rendered-answer-div {\n margin-top: 1rem;\n}\n\n.shortanswer__feedback {\n margin-top: 1rem;\n}",".clickable {\n cursor: pointer;\n}\n\n.clickable:has(code) {\n padding: 3px;\n display: inline-block;\n}\n\n.clickable-clicked:has(code) {\n box-shadow: 0px 0px 2px 2px rgba(0,100,0,0.75);\n}\n\n.clickable-clicked {\n background-color: var(--clickableBgColor);\n}\n\n.clickable-clicked td {\n background-color: #dad6c1;\n box-shadow: initial;\n}\n\ntable {\n border-collapse: collapse;\n}\n\nth.clickable, td.clickable {\n border: 1px solid black;\n}\n\ntd.clickable-clicked{\n background-color: #dad6c1;\n box-shadow: initial;\n}\n\ntd img {\n margin: 5px;\n}\n\n.clickable-clicked th {\n background-color: #dad6c1;\n box-shadow: initial;\n}\n\nth.clickable-clicked{\n background-color: #dad6c1;\n box-shadow: initial;\n}\n\n.clickable-incorrect,\n.clickable-incorrect th,\n.clickable-incorrect td {\n border: 1px solid red !important;\n background-color: var(--clickableIncorrectBgColor);\n}\n\nimg.clickable-incorrect {\n box-shadow: 0px 0px 2px 2px rgba(100,0,0,0.75);\n}\n\n.clickable-incorrect:has(code) {\n box-shadow: 0px 0px 2px 2px rgba(251, 0, 0, 0.75);\n}\n\n:root {\n --clickableBgColor: yellow;\n --clickableIncorrectBgColor: #ffcccc;\n}\n\n:root.dark-mode {\n --clickableBgColor: rgb(60, 86, 36);\n --clickableIncorrectBgColor: #562c2c;\n\n .clickable-clicked:has(code):not(.clickable-incorrect) {\n box-shadow: 0px 0px 2px 2px rgba(251, 255, 21, 0.75);\n }\n}\n",".ptx-runestone-container,.runestone-sphinx {\n @import (less) url(\"./dragndrop.css\");\n}\n\n@import (less) url(\"../../common/css/variables.less\");",".rsdraggable {\n margin-left: 1%;\n margin-right: 1%;\n margin-top: 5px;\n display: inline;\n float: left;\n text-align: left;\n vertical-align: top;\n background-color: var(--questionBgColor, #efefff);\n padding-bottom: 10px;\n min-width: 28%;\n border: 1px solid var(--componentBorderColor, #efefff);\n box-sizing: border-box;\n}\n\n.dnd-button-container {\n display: flex;\n justify-content: center;\n width: 100%;\n margin-top: 1em;\n}\n\n.drag-button {\n display: inline-block;\n}\n\n.drag-reset {\n background-color: #474949;\n color: white;\n}\n\n.drag-reset:hover {\n background-color: black;\n color: white;\n}\n\n.drop-incorrect {\n border: 1px solid var(--draggableIncorrectBorder, red) !important;\n background-color: var(--draggableIncorrectBg, #f2dede) !important;\n}\n\n.drag-reset:enabled {\n background-color: #474949;\n color: white;\n}\n\n.draggable-drag {\n border-radius: 10px;\n display: block;\n background-color: var(--draggableBgColor);\n border: 1px solid lightgray;\n padding: 10px;\n margin-top: 5px;\n cursor: grab;\n}\n\n.draggable-feedback {\n text-align: left !important;\n clear: both;\n margin-bottom: 0;\n margin-top: 10px;\n}\n\n.draggable-drop {\n border-radius: 10px;\n display: block;\n background-color: var(--dropableBgColor);\n border: 1px solid lightgray;\n padding: 10px;\n margin-top: 5px;\n cursor: grab;\n}\n\n.draggable-container {\n text-align: center;\n}\n\n.possibleDrop {\n border-color: #000000;\n background-color: #CCCCCC;\n}\n\n/*\n * This is a hack to allow us to drop on the drop target when\n * the drop area contains mathjax or or other child elements.\n*/\n.draggable-drop .process-math,\n.draggable-drop .MathJax {\n pointer-events: none;\n cursor: not-allowed;\n}\n\n/* Hide the error message from people but let screen readers see it */\n.vh-dnd-error {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n.cardsort-statement {\n text-align: left;\n background-color: var(--questionBgColor);\n padding: 10px;\n margin-bottom: 10px;\n}",".ptx-runestone-container,.runestone-sphinx {\n @import (less) url(\"./parsons.css\");\n\n}\n\n/* make entire block background match background of code */\n:root.dark-mode {\n .ptx-runestone-container .parsons .block:has(code[class*=language-]) {\n background: hsl(0, 0%, 8%);\n }\n}",".parsons-container {\n clear: both;\n}\n\n.parsons .sortable-code-container {\n text-align: center;\n}\n.parsons .sortable-code-container:not(.block) {\n /* Remove text highlighting in widget */\n -webkit-user-select: none;\n -moz-user-select: -moz-none;\n -ms-user-select: none;\n user-select: none;\n}\n.parsons .sortable-code {\n position: static;\n padding-left: 0px;\n margin: 0px 15px;\n display: inline-block;\n text-align: left;\n vertical-align: top;\n}\n.parsons .source,\n.parsons .answer,\n.parsons .answer1,\n.parsons .answer2,\n.parsons .answer3,\n.parsons .answer4 {\n position: relative;\n font-size: 100%;\n list-style: none;\n background-color: var(--questionBgColor, #efefff);\n padding-bottom: 10px;\n padding-left: 0;\n margin-left: 0;\n border: 1px solid var(--componentBorderColor, #efefff);\n}\n.parsons .source {\n background-color: var(--questionBgColor, #efefff);\n}\n.parsons .answer {\n background-color: var(--parsonsBgColor);\n border-color: var(--parsonsBorderColor);\n}\n.parsons .answer.incorrect {\n background-color: var(--parsonsIncorrectBgColor);\n border-color: var(--parsonsIncorrectBorderColor);\n}\n.parsons .answer.correct {\n background-color: var(--parsonsCorrectBgColor);\n border-color: var(--parsonsCorrectBorderColor);\n}\n.parsons .answer1 {\n background: linear-gradient(var(--parsonsBorderColor), var(--parsonsBorderColor)) no-repeat border-box;\n background-size: 1px 100%;\n background-position: 30px 0;\n background-origin: padding-box;\n background-color: var(--parsonsBgColor);\n border-color: var(--parsonsBorderColor);\n}\n.parsons .answer1.incorrect {\n background: linear-gradient(var(--parsonsIncorrectBorderColor), var(--parsonsIncorrectBorderColor)) no-repeat border-box;\n background-size: 1px 100%;\n background-position: 30px 0;\n background-origin: padding-box;\n background-color: var(--parsonsIncorrectBgColor);\n border-color: var(--parsonsIncorrectBorderColor);\n}\n.parsons .answer1.correct {\n background: linear-gradient(var(--parsonsCorrectBorderColor), var(--parsonsCorrectBorderColor)) no-repeat border-box;\n background-size: 1px 100%;\n background-position: 30px 0;\n background-origin: padding-box;\n background-color: var(--parsonsCorrectBgColor);\n border-color: var(--parsonsCorrectBorderColor);\n}\n.parsons .answer2 {\n background: linear-gradient(var(--parsonsBorderColor), var(--parsonsBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsBorderColor), var(--parsonsBorderColor)) no-repeat border-box;\n background-size: 1px 100%, 1px 100%;\n background-position: 30px 0, 60px 0;\n background-origin: padding-box, padding-box;\n background-color: var(--parsonsBgColor);\n border-color: var(--parsonsBorderColor);\n}\n.parsons .answer2.incorrect {\n background: linear-gradient(var(--parsonsIncorrectBorderColor), var(--parsonsIncorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsIncorrectBorderColor), var(--parsonsIncorrectBorderColor)) no-repeat border-box;\n background-size: 1px 100%, 1px 100%;\n background-position: 30px 0, 60px 0;\n background-origin: padding-box, padding-box;\n background-color: var(--parsonsIncorrectBgColor);\n border-color: var(--parsonsIncorrectBorderColor);\n}\n.parsons .answer2.correct {\n background: linear-gradient(var(--parsonsCorrectBorderColor), var(--parsonsCorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsCorrectBorderColor), var(--parsonsCorrectBorderColor)) no-repeat border-box;\n background-size: 1px 100%, 1px 100%;\n background-position: 30px 0, 60px 0;\n background-origin: padding-box, padding-box;\n background-color: var(--parsonsCorrectBgColor);\n border-color: var(--parsonsCorrectBorderColor);\n}\n.parsons .answer3 {\n background: linear-gradient(var(--parsonsBorderColor), var(--parsonsBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsBorderColor), var(--parsonsBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsBorderColor), var(--parsonsBorderColor)) no-repeat border-box;\n background-size: 1px 100%, 1px 100%, 1px 100%;\n background-position: 30px 0, 60px 0, 90px 0;\n background-origin: padding-box, padding-box, padding-box;\n background-color: var(--parsonsBgColor);\n border-color: var(--parsonsBorderColor);\n}\n.parsons .answer3.incorrect {\n background: linear-gradient(var(--parsonsIncorrectBorderColor), var(--parsonsIncorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsIncorrectBorderColor), var(--parsonsIncorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsIncorrectBorderColor), var(--parsonsIncorrectBorderColor)) no-repeat border-box;\n background-size: 1px 100%, 1px 100%, 1px 100%;\n background-position: 30px 0, 60px 0, 90px 0;\n background-origin: padding-box, padding-box, padding-box;\n background-color: var(--parsonsIncorrectBgColor);\n border-color: var(--parsonsIncorrectBorderColor);\n}\n.parsons .answer3.correct {\n background: linear-gradient(var(--parsonsCorrectBorderColor), var(--parsonsCorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsCorrectBorderColor), var(--parsonsCorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsCorrectBorderColor), var(--parsonsCorrectBorderColor)) no-repeat border-box;\n background-size: 1px 100%, 1px 100%, 1px 100%;\n background-position: 30px 0, 60px 0, 90px 0;\n background-origin: padding-box, padding-box, padding-box;\n background-color: var(--parsonsCorrectBgColor);\n border-color: var(--parsonsCorrectBorderColor);\n}\n.parsons .answer4 {\n background: linear-gradient(var(--parsonsBorderColor), var(--parsonsBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsBorderColor), var(--parsonsBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsBorderColor), var(--parsonsBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsBorderColor), var(--parsonsBorderColor)) no-repeat border-box;\n background-size: 1px 100%, 1px 100%, 1px 100%, 1px 100%;\n background-position: 30px 0, 60px 0, 90px 0, 120px 0;\n background-origin: padding-box, padding-box, padding-box, padding-box;\n background-color: var(--parsonsBgColor);\n border-color: var(--parsonsBorderColor);\n}\n.parsons .answer4.incorrect {\n background: linear-gradient(var(--parsonsIncorrectBorderColor), var(--parsonsIncorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsIncorrectBorderColor), var(--parsonsIncorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsIncorrectBorderColor), var(--parsonsIncorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsIncorrectBorderColor), var(--parsonsIncorrectBorderColor)) no-repeat border-box;\n background-size: 1px 100%, 1px 100%, 1px 100%, 1px 100%;\n background-position: 30px 0, 60px 0, 90px 0, 120px 0;\n background-origin: padding-box, padding-box, padding-box, padding-box;\n background-color: var(--parsonsIncorrectBgColor);\n border-color: var(--parsonsIncorrectBorderColor);\n}\n.parsons .answer4.correct {\n background: linear-gradient(var(--parsonsCorrectBorderColor), var(--parsonsCorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsCorrectBorderColor), var(--parsonsCorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsCorrectBorderColor), var(--parsonsCorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsCorrectBorderColor), var(--parsonsCorrectBorderColor)) no-repeat border-box;\n background-size: 1px 100%, 1px 100%, 1px 100%, 1px 100%;\n background-position: 30px 0, 60px 0, 90px 0, 120px 0;\n background-origin: padding-box, padding-box, padding-box, padding-box;\n background-color: var(--parsonsCorrectBgColor);\n border-color: var(--parsonsCorrectBorderColor);\n}\n /* The following styles are for the 5th and 6th indentation levels, if applicable */\n.parsons .answer5 {\n background: linear-gradient(var(--parsonsBorderColor), var(--parsonsBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsBorderColor), var(--parsonsBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsBorderColor), var(--parsonsBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsBorderColor), var(--parsonsBorderColor)) no-repeat border-box;\n background-size: 1px 100%, 1px 100%, 1px 100%, 1px 100%;\n background-position: 30px 0, 60px 0, 90px 0, 120px 0, 150px 0;\n background-origin: padding-box, padding-box, padding-box, padding-box;\n background-color: var(--parsonsBgColor);\n border-color: var(--parsonsBorderColor);\n}\n.parsons .answer5.incorrect {\n background: linear-gradient(var(--parsonsIncorrectBorderColor), var(--parsonsIncorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsIncorrectBorderColor), var(--parsonsIncorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsIncorrectBorderColor), var(--parsonsIncorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsIncorrectBorderColor), var(--parsonsIncorrectBorderColor)) no-repeat border-box;\n background-size: 1px 100%, 1px 100%, 1px 100%, 1px 100%;\n background-position: 30px 0, 60px 0, 90px 0, 120px 0, 150px 0;\n background-origin: padding-box, padding-box, padding-box, padding-box;\n background-color: var(--parsonsIncorrectBgColor);\n border-color: var(--parsonsIncorrectBorderColor);\n}\n.parsons .answer5.correct {\n background: linear-gradient(var(--parsonsCorrectBorderColor), var(--parsonsCorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsCorrectBorderColor), var(--parsonsCorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsCorrectBorderColor), var(--parsonsCorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsCorrectBorderColor), var(--parsonsCorrectBorderColor)) no-repeat border-box;\n background-size: 1px 100%, 1px 100%, 1px 100%, 1px 100%;\n background-position: 30px 0, 60px 0, 90px 0, 120px 0, 150px 0;\n background-origin: padding-box, padding-box, padding-box, padding-box;\n background-color: var(--parsonsCorrectBgColor);\n border-color: var(--parsonsCorrectBorderColor);\n}\n.parsons .answer6 {\n background: linear-gradient(var(--parsonsBorderColor), var(--parsonsBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsBorderColor), var(--parsonsBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsBorderColor), var(--parsonsBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsBorderColor), var(--parsonsBorderColor)) no-repeat border-box;\n background-size: 1px 100%, 1px 100%, 1px 100%, 1px 100%;\n background-position: 30px 0, 60px 0, 90px 0, 120px 0, 150px 0, 180px 0;\n background-origin: padding-box, padding-box, padding-box, padding-box;\n background-color: var(--parsonsBgColor);\n border-color: var(--parsonsBorderColor);\n}\n.parsons .answer6.incorrect {\n background: linear-gradient(var(--parsonsIncorrectBorderColor), var(--parsonsIncorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsIncorrectBorderColor), var(--parsonsIncorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsIncorrectBorderColor), var(--parsonsIncorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsIncorrectBorderColor), var(--parsonsIncorrectBorderColor)) no-repeat border-box;\n background-size: 1px 100%, 1px 100%, 1px 100%, 1px 100%;\n background-position: 30px 0, 60px 0, 90px 0, 120px 0, 150px 0, 180px 0;\n background-origin: padding-box, padding-box, padding-box, padding-box;\n background-color: var(--parsonsIncorrectBgColor);\n border-color: var(--parsonsIncorrectBorderColor);\n}\n.parsons .answer6.correct {\n background: linear-gradient(var(--parsonsCorrectBorderColor), var(--parsonsCorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsCorrectBorderColor), var(--parsonsCorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsCorrectBorderColor), var(--parsonsCorrectBorderColor)) no-repeat border-box,\n linear-gradient(var(--parsonsCorrectBorderColor), var(--parsonsCorrectBorderColor)) no-repeat border-box;\n background-size: 1px 100%, 1px 100%, 1px 100%, 1px 100%;\n background-position: 30px 0, 60px 0, 90px 0, 120px 0, 150px 0, 180px 0;\n background-origin: padding-box, padding-box, padding-box, padding-box;\n background-color: var(--parsonsCorrectBgColor);\n border-color: var(--parsonsCorrectBorderColor);\n}\n.parsons .block {\n position: absolute;\n -moz-border-radius: 10px;\n -webkit-border-radius: 10px;\n border-radius: 10px;\n background-color: var(--background, #efefef);\n border: 1px solid #d3d3d3;\n padding: 5px 10px;\n margin-top: 5px;\n overflow: hidden;\n cursor: move;\n}\n.parsons .block.disabled {\n opacity: 0.3;\n}\n.parsons .block.down {\n border: 2px solid black;\n padding: 4px 9px;\n}\n.parsons .block.up {\n border: 2px solid black;\n padding: 4px 9px;\n background-color: white;\n box-shadow: 3px 3px 4px black;\n}\n.parsons {\n display: block;\n}\n.parsons .block {\n clear: both;\n float: left;\n /*background-color: transparent;*/\n}\n\n.parsons .sortable-code code {\n clear: both;\n float: left;\n background-color: transparent;\n white-space: pre;\n}\n\n.parsons .sortable-code code:empty {\n height: 1.25em; /* force some height for empty lines */\n}\n\n.parsons .block p {\n margin: 0;\n}\n.parsons .block,\n.parsons .block:before,\n.parsons .block:after {\n box-sizing: content-box;\n}\n.parsons .indent1 {\n margin-left: 30px;\n}\n.parsons .indent2 {\n margin-left: 60px;\n}\n.parsons .indent3 {\n margin-left: 90px;\n}\n.parsons .indent4 {\n margin-left: 120px;\n}\n.parsons .indent5 {\n margin-left: 150px;\n}\n.parsons .indent6 {\n margin-left: 180px;\n}\n.parsons .indent7 {\n margin-left: 210px;\n}\n.parsons .indent8 {\n margin-left: 240px;\n}\n.parsons .correct {\n border: 1px solid #d6e9c6;\n background: none;\n background-color: var(--parsonsCorrectBgColor);\n}\n.parsons .indentLeft,\n.parsons .indentRight {\n border: 2px solid #ffcc00;\n padding: 4px 9px;\n background-color: #fff0b3;\n}\n.parsons .indentLeft {\n background-image: url(\"./images/parsons-ll.svg\"),\n url(\"./images/parsons-rl.svg\");\n background-repeat: no-repeat, no-repeat;\n background-position: left center, right center;\n}\n.parsons .indentRight {\n background-image: url(\"./images/parsons-lr.svg\"),\n url(\"./images/parsons-rr.svg\");\n background-repeat: no-repeat, no-repeat;\n background-position: left center, right center;\n}\n.parsons .incorrectPosition {\n background-color: #ffbaba;\n border: 1px solid red;\n}\n.parsons .paired {\n position: absolute;\n -moz-border-radius: 10px;\n -webkit-border-radius: 10px;\n border-radius: 10px;\n background-color: transparent;\n border-left: 11px solid #b8b8f2;\n border-right: 11px solid #b8b8f2;\n border-top: 1px solid #b8b8f2;\n border-bottom: 1px solid #b8b8f2;\n margin-top: 5px;\n overflow: hidden;\n}\n.parsons {\n border-left: 0;\n border-right: 0;\n border-radius: 0;\n}\n.parsons .parsons-text {\n max-width: var(--contentWidthRegular);\n margin-left: auto;\n margin-right: auto;\n}\n\n.parsons .parsons-img {\n display: inline-block;\n text-align: center;\n width: 100%;\n}\n\n.parsons .parsons-controls {\n max-width: var(--contentWidthRegular);\n margin-left: auto;\n margin-right: auto;\n text-align: center;\n margin-top: 10px;\n}\n\n.parsons [role=\"tooltip\"] {\n max-width: var(--contentWidthRegular);\n margin-left: auto;\n margin-right: auto;\n margin-top: 5px;\n margin-bottom: 5px;\n padding: 0px 10px;\n top: 0;\n text-align: center;\n font-style: italic;\n}\n\n.block-label {\n font-size: 90%;\n color: #7e7ee7;\n vertical-align: top;\n white-space: pre;\n}\n.right-label {\n padding: 0.2em 0em 0.3em 0.6em;\n}\n.left-label {\n padding: 0.2em 0.6em 0.3em 0em;\n}\n\n.labels {\n padding-top: 2px;\n display: inline-block;\n vertical-align: top;\n}\n\n.runestone .lines {\n display: inline-block;\n align-self: left;\n}\n\n.border_left {\n border-left: 1px solid #b0b0b0;\n}\n\n.block {\n display: flex;\n align-items: stretch;\n align-content: stretch;\n}\n\n.parsons,\n.parsons .sortable-code-container,\n.cd_section {\n max-width: none;\n}\n\n#timed_Test .pagination {\n margin: 5px 0;\n}\n\n/* override red from bootstrap */\n.parsons .block code {\n color: black;\n}\n\n/* CodeTailor-related CSS for Parsons START */\n.parsons .placeholder-block.disabled.block {\n font-style: italic;\n background-color: white;\n border-style: dashed;\n padding: 20px 10px;\n opacity: 1;\n}\n\n.parsons .settled-block.disabled.block {\n border: 1px solid black;\n background-color: #afe1af;\n opacity: 1;\n}\n\n.parsons .settled-block.disabled.block:hover .settled-tooltip {\n visibility: visible;\n opacity: 1;\n}\n\n.parsons .settled-block.disabled.block .settled-tooltip {\n visibility: hidden;\n position: sticky;\n background-color: #555;\n font-size: 0.75rem;\n color: #fff;\n text-align: center;\n padding: 2px 8px;\n border-radius: 6px;\n z-index: 1;\n opacity: 0;\n transition: opacity .6s;\n left: 100%; \n vertical-align: middle; \n}\n.parsons .settled-block .block-label {\n color: transparent;\n}\n\n.parsons .alert {\n margin-top: 10px;\n margin-bottom: 0;\n}\n\n\n.parsons .placeholder-block .lines {\n display: none;\n}\n\n.parsons .placeholder-block.hide {\n display: none;\n}\n\n\n.placeholder-block .labels {\n display: none;\n}\n\n.settled-block .labels .block-label {\n color:transparent;\n}\n/* CodeTailor-related CSS for Parsons END */",".prettyprint {\n .str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun{color:#660}.pln{color:#000}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec{color:#606}pre.prettyprint{padding:2px;border:1px solid #888}@media print{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun{color:#440}.pln{color:#000}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}\n}",".ptx-runestone-container,\n.runestone-sphinx {\n @import (less) url(\"./matching.css\");\n}\n\n@import (less) url(\"../../common/css/variables.less\");","* {\n box-sizing: border-box;\n}\n\nbody {\n font-family: sans-serif;\n padding: 20px;\n margin: 0;\n}\n\nh2 {\n margin-bottom: 0.5em;\n}\n\n/* Main wrapper for each matching component */\n[data-component=\"matching\"] {\n margin: 2rem 0;\n font-family: sans-serif;\n}\n\n.matching-workspace {\n display: flex;\n justify-content: space-between;\n position: relative;\n max-width: 1000px;\n width: 100%;\n margin: 0 auto 1rem;\n background: var(--componentBgColor);\n}\n\n.left-column,\n.right-column {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 12px;\n padding: 10px;\n position: relative;\n z-index: 1;\n max-width: 25vw;\n}\n\n\n.left-column img,\n.right-column img {\n max-width: 25vw;\n /* Ensure images do not exceed 25% of the viewport width */\n}\n\n.box {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 120px;\n padding: 10px 14px;\n min-height: 50px;\n max-width: 100%;\n background: var(--dropableBgColor, #f9f9f9);\n border: 2px solid var(--boxBorderColor);\n border-radius: 8px;\n text-align: center;\n font-weight: bold;\n user-select: none;\n cursor: grab;\n text-align: center;\n touch-action: none;\n /* Prevents scrolling during tap+drag */\n}\n\n.matching-workspace,\n.left-column,\n.right-column,\n.box,\nbody {\n user-select: none;\n -webkit-user-select: none; /* for iOS/Safari */\n}\n\n.box mjx-container {\n font-size: 1em;\n}\n\n.box:focus {\n outline: 3px solid #3498db;\n}\n\n.box.selected {\n outline: 3px dashed #27ae60;\n}\n\n.connector-svg {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n z-index: 0;\n background: var(--componentBgColor);\n}\n\n.line {\n stroke: var(--dragLineColor);\n ;\n stroke-width: 3;\n cursor: pointer;\n pointer-events: auto;\n transition: stroke 0.2s ease, stroke-width 0.2s ease;\n}\n\n.line.correct {\n stroke: green;\n stroke-width: 3;\n}\n\n.line.incorrect {\n stroke: #bf1521;\n stroke-width: 2;\n stroke-dasharray: 5 5;\n}\n\n.line.highlighted {\n stroke: #3cd6e7;\n stroke-width: 3;\n}\n\n.line.faded {\n stroke: #ccc;\n stroke-width: 1;\n}\n\n.line:focus,\n.line:hover {\n stroke: #3498db;\n stroke-dasharray: 6 4;\n /* 6px dash, 4px gap */\n stroke-width: 5;\n outline: none;\n}\n\n.conn-list {\n max-width: 800px;\n margin: 0 auto 1rem;\n padding: 10px;\n background: var(--componentBgColor);\n border: 1px solid #ccc;\n border-radius: 6px;\n font-size: 14px;\n}\n\n.conn-entry {\n margin: 4px 0;\n font-family: monospace;\n}\n\nbutton {\n display: inline-block;\n margin: 0.5rem;\n font-size: 1rem;\n padding: 8px 16px;\n border: none;\n border-radius: 6px;\n cursor: grab;\n transition: background 0.2s ease-in-out;\n}\n\nbutton:hover {\n background: #2980b9;\n}\n\n.aria-live {\n position: absolute;\n left: -9999px;\n top: auto;\n width: 1px;\n height: 1px;\n overflow: hidden;\n}\n\n.control-div {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 10px;\n margin-top: 1rem;\n}\n\n.control-div .help-button {\n background: #2c3e50;\n color: #ecf0f1;\n width: 32px;\n height: 32px;\n padding: 0;\n border-radius: 50%;\n font-size: 1.2rem;\n line-height: 32px;\n text-align: center;\n cursor: pointer;\n}\n\n.control-div .help-button:hover {\n background: #34495e;\n}\n\n/* modal overlay */\n.help-modal {\n display: none;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: rgba(0, 0, 0, 0.5);\n align-items: center;\n justify-content: center;\n z-index: 10;\n}\n\n/* modal content box */\n.help-modal-content {\n\n background-color: var(--questionBgColor);\n padding: 1rem 1.5rem;\n border-radius: 6px;\n max-width: 80%;\n max-height: 80%;\n overflow: auto;\n position: relative;\n}\n\n/* close button */\n.help-modal-content .help-close {\n position: absolute;\n top: 0.5rem;\n right: 0.5rem;\n background: transparent;\n border: none;\n font-size: 1.5rem;\n cursor: pointer;\n color: red;\n}\n\n/* help text */\n.help-modal-content .help-text {\n margin-top: 1.5rem;\n font-size: 1rem;\n line-height: 1.4;\n}\n\n.match_question {\n background-color: var(--questionBgColor);\n padding: 10px;\n margin-bottom: 10px;\n}\n\n.match_feedback {\n background-color: var(--parsonsIncorrectBgColor);\n padding: 10px;\n margin-top: 10px;\n margin-bottom: 10px;\n border-radius: 5px;\n}",":root {\n --draggableBgColor: #EFEFEF;\n --dropableBgColor: #DDDDDD;\n --draggableIncorrectBorder: red;\n --draggableIncorrectBg: #f2dede;\n --dragLineColor: #000000;\n --boxBorderColor: #000000;\n\n}\n\n:root.dark-mode,\n[data-theme=\"dark\"] {\n --draggableBgColor: #393434;\n --dropableBgColor: #2a2d30;\n --draggableIncorrectBorder: red;\n --draggableIncorrectBg: #6d2d2d;\n --dragLineColor: #ffffff;\n --boxBorderColor: #ffffff;\n\n}\n","#component-preview {\n margin-right: 20px;\n position: fixed;\n right: 0px;\n max-height: 100%;\n overflow-y: scroll;\n top: 0px;\n padding-top: 60px;\n}\n\n.toggle-preview {\n border: 4px solid;\n border-radius: 10px;\n background-color: azure;\n padding-top: 10px;\n box-shadow: 10px 5px 5px gray;\n}\n",".ptx-runestone-container,.runestone-sphinx {\n @import (less) url(\"./timed.css\");\n}\n","/* TIMED ASSESSMENT BUTTON STYLES */\nul#pageNums,\nul#pageNums li {\n text-align: center;\n padding: 10px 0;\n}\n\n.pagination>li>a:hover {\n background-color: #eee !important;\n color: #000 !important;\n}\n\n.flagBtn {\n /* documentation */\n background-color: #ED9C59 !important;\n border: 3px solid #CE5718;\n border-radius: 5px;\n color: #030201 !important;\n cursor: pointer;\n width: 150;\n height: 115;\n text-align: center;\n text-decoration: none;\n display: ruby;\n font-size: 15px;\n}\n\n/* The following override styles in Bootstrap distribution file (bootstrap.min.css) */\n\n.pagination>.active>a,\n.pagination>.active>span {\n background-color: #428bca !important;\n color: #ffffff !important;\n}\n\n.col-md-6-override {\n text-align: center !important;\n max-width: 100% !important;\n}\n\n/* end */\n\n.pagination>.answered>a,\n.pagination>.answered>span {\n background-color: #eee;\n color: #000;\n}\n\n.pagination>.broken>a,\n.pagination>.broken>span {\n background-color: #f99;\n color: #000;\n}\n\n.pagination>.toolate>a,\n.pagination>.toolate>span {\n background-color: rgb(236, 203, 54);\n color: #000;\n}\n\n.pagination>.flagcolor>a,\n.pagination>.flagcolor>span {\n background-color: #ED9C59;\n color: #000;\n}\n\np.examwarning {\n width: 50%;\n margin-left: auto;\n margin-right: auto;\n background-color: rgba(243, 156, 156, 0.822);\n border: solid black;\n border-radius: 5px;\n border-width: 2px;\n padding: 5px;\n}\n\n.pagination>.correctCount>a,\n.pagination>.correctCount>span {\n background-color: #dff0d8;\n color: #000000;\n border-color: #000000;\n}\n\n.pagination>.skippedCount>a,\n.pagination>.skippedCount>span {\n background-color: #fcf8e3;\n color: #000000;\n border-color: #000000;\n}\n\n.pagination>.incorrectCount>a,\n.pagination>.incorrectCount>span {\n background-color: #f2dede;\n color: #000000;\n border-color: #000000;\n}\n\n.switchcontainer {\n height: 1000px;\n overflow: auto;\n}"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/_static/prefix-268.c9e33e1350d18af9.css.map.gz b/_static/prefix-268.c9e33e1350d18af9.css.map.gz new file mode 100755 index 0000000..ad080cc Binary files /dev/null and b/_static/prefix-268.c9e33e1350d18af9.css.map.gz differ diff --git a/_static/prefix-294.986bf74bfa4ccbd4.css b/_static/prefix-294.986bf74bfa4ccbd4.css old mode 100644 new mode 100755 diff --git a/_static/prefix-294.986bf74bfa4ccbd4.css.gz b/_static/prefix-294.986bf74bfa4ccbd4.css.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-294.986bf74bfa4ccbd4.css.map b/_static/prefix-294.986bf74bfa4ccbd4.css.map old mode 100644 new mode 100755 diff --git a/_static/prefix-294.986bf74bfa4ccbd4.css.map.gz b/_static/prefix-294.986bf74bfa4ccbd4.css.map.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-350.dbca9271f6e2dfbf.css b/_static/prefix-350.dbca9271f6e2dfbf.css old mode 100644 new mode 100755 diff --git a/_static/prefix-350.dbca9271f6e2dfbf.css.gz b/_static/prefix-350.dbca9271f6e2dfbf.css.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-350.dbca9271f6e2dfbf.css.map b/_static/prefix-350.dbca9271f6e2dfbf.css.map old mode 100644 new mode 100755 diff --git a/_static/prefix-350.dbca9271f6e2dfbf.css.map.gz b/_static/prefix-350.dbca9271f6e2dfbf.css.map.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-380.67748940131a4a84.css b/_static/prefix-380.67748940131a4a84.css old mode 100644 new mode 100755 diff --git a/_static/prefix-380.67748940131a4a84.css.map b/_static/prefix-380.67748940131a4a84.css.map old mode 100644 new mode 100755 diff --git a/_static/prefix-380.67748940131a4a84.css.map.gz b/_static/prefix-380.67748940131a4a84.css.map.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-39.89cf817b9a35aeca.css b/_static/prefix-39.89cf817b9a35aeca.css old mode 100644 new mode 100755 diff --git a/_static/prefix-39.89cf817b9a35aeca.css.gz b/_static/prefix-39.89cf817b9a35aeca.css.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-39.89cf817b9a35aeca.css.map b/_static/prefix-39.89cf817b9a35aeca.css.map old mode 100644 new mode 100755 diff --git a/_static/prefix-39.89cf817b9a35aeca.css.map.gz b/_static/prefix-39.89cf817b9a35aeca.css.map.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-412.25f3c4ff23eb9893.css b/_static/prefix-412.25f3c4ff23eb9893.css old mode 100644 new mode 100755 diff --git a/_static/prefix-412.25f3c4ff23eb9893.css.gz b/_static/prefix-412.25f3c4ff23eb9893.css.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-412.25f3c4ff23eb9893.css.map b/_static/prefix-412.25f3c4ff23eb9893.css.map old mode 100644 new mode 100755 diff --git a/_static/prefix-412.25f3c4ff23eb9893.css.map.gz b/_static/prefix-412.25f3c4ff23eb9893.css.map.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-442.6ae0ea584f8e75c5.css b/_static/prefix-442.6ae0ea584f8e75c5.css old mode 100644 new mode 100755 diff --git a/_static/prefix-442.6ae0ea584f8e75c5.css.gz b/_static/prefix-442.6ae0ea584f8e75c5.css.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-442.6ae0ea584f8e75c5.css.map b/_static/prefix-442.6ae0ea584f8e75c5.css.map old mode 100644 new mode 100755 diff --git a/_static/prefix-442.6ae0ea584f8e75c5.css.map.gz b/_static/prefix-442.6ae0ea584f8e75c5.css.map.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-460.7c0b70502d117f7d.css b/_static/prefix-460.7c0b70502d117f7d.css old mode 100644 new mode 100755 diff --git a/_static/prefix-460.7c0b70502d117f7d.css.map b/_static/prefix-460.7c0b70502d117f7d.css.map old mode 100644 new mode 100755 diff --git a/_static/prefix-486.990aca82e7ba3e1c.css b/_static/prefix-486.990aca82e7ba3e1c.css old mode 100644 new mode 100755 diff --git a/_static/prefix-486.990aca82e7ba3e1c.css.gz b/_static/prefix-486.990aca82e7ba3e1c.css.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-486.990aca82e7ba3e1c.css.map b/_static/prefix-486.990aca82e7ba3e1c.css.map old mode 100644 new mode 100755 diff --git a/_static/prefix-486.990aca82e7ba3e1c.css.map.gz b/_static/prefix-486.990aca82e7ba3e1c.css.map.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-576.9b1852878840651d.css b/_static/prefix-576.9b1852878840651d.css old mode 100644 new mode 100755 diff --git a/_static/prefix-576.9b1852878840651d.css.gz b/_static/prefix-576.9b1852878840651d.css.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-576.9b1852878840651d.css.map b/_static/prefix-576.9b1852878840651d.css.map old mode 100644 new mode 100755 diff --git a/_static/prefix-576.9b1852878840651d.css.map.gz b/_static/prefix-576.9b1852878840651d.css.map.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-580.22958d4327b0425a.css b/_static/prefix-580.22958d4327b0425a.css old mode 100644 new mode 100755 diff --git a/_static/prefix-580.22958d4327b0425a.css.gz b/_static/prefix-580.22958d4327b0425a.css.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-580.22958d4327b0425a.css.map b/_static/prefix-580.22958d4327b0425a.css.map old mode 100644 new mode 100755 diff --git a/_static/prefix-580.22958d4327b0425a.css.map.gz b/_static/prefix-580.22958d4327b0425a.css.map.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-616.5c78f604ddad1ec0.css b/_static/prefix-616.5c78f604ddad1ec0.css old mode 100644 new mode 100755 diff --git a/_static/prefix-616.5c78f604ddad1ec0.css.gz b/_static/prefix-616.5c78f604ddad1ec0.css.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-616.5c78f604ddad1ec0.css.map b/_static/prefix-616.5c78f604ddad1ec0.css.map old mode 100644 new mode 100755 diff --git a/_static/prefix-616.5c78f604ddad1ec0.css.map.gz b/_static/prefix-616.5c78f604ddad1ec0.css.map.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-621.8c109e297bdd8ce7.css b/_static/prefix-621.8c109e297bdd8ce7.css old mode 100644 new mode 100755 diff --git a/_static/prefix-621.8c109e297bdd8ce7.css.gz b/_static/prefix-621.8c109e297bdd8ce7.css.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-621.8c109e297bdd8ce7.css.map b/_static/prefix-621.8c109e297bdd8ce7.css.map old mode 100644 new mode 100755 diff --git a/_static/prefix-621.8c109e297bdd8ce7.css.map.gz b/_static/prefix-621.8c109e297bdd8ce7.css.map.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-723.3bccd435914aa0ff.css b/_static/prefix-723.3bccd435914aa0ff.css old mode 100644 new mode 100755 diff --git a/_static/prefix-723.3bccd435914aa0ff.css.gz b/_static/prefix-723.3bccd435914aa0ff.css.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-723.3bccd435914aa0ff.css.map b/_static/prefix-723.3bccd435914aa0ff.css.map old mode 100644 new mode 100755 diff --git a/_static/prefix-723.3bccd435914aa0ff.css.map.gz b/_static/prefix-723.3bccd435914aa0ff.css.map.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-723.3e6434f80549315a.bundle.js b/_static/prefix-723.3e6434f80549315a.bundle.js old mode 100644 new mode 100755 diff --git a/_static/prefix-723.3e6434f80549315a.bundle.js.LICENSE.txt b/_static/prefix-723.3e6434f80549315a.bundle.js.LICENSE.txt old mode 100644 new mode 100755 diff --git a/_static/prefix-723.3e6434f80549315a.bundle.js.LICENSE.txt.gz b/_static/prefix-723.3e6434f80549315a.bundle.js.LICENSE.txt.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-723.3e6434f80549315a.bundle.js.gz b/_static/prefix-723.3e6434f80549315a.bundle.js.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-723.3e6434f80549315a.bundle.js.map b/_static/prefix-723.3e6434f80549315a.bundle.js.map old mode 100644 new mode 100755 diff --git a/_static/prefix-723.3e6434f80549315a.bundle.js.map.gz b/_static/prefix-723.3e6434f80549315a.bundle.js.map.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-737.cf869b6ea8bfad2f.css b/_static/prefix-737.cf869b6ea8bfad2f.css old mode 100644 new mode 100755 diff --git a/_static/prefix-737.cf869b6ea8bfad2f.css.gz b/_static/prefix-737.cf869b6ea8bfad2f.css.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-737.cf869b6ea8bfad2f.css.map b/_static/prefix-737.cf869b6ea8bfad2f.css.map old mode 100644 new mode 100755 diff --git a/_static/prefix-737.cf869b6ea8bfad2f.css.map.gz b/_static/prefix-737.cf869b6ea8bfad2f.css.map.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-819.6edefe408d7482c2.css.gz b/_static/prefix-819.6edefe408d7482c2.css.gz deleted file mode 100644 index dc024d4..0000000 Binary files a/_static/prefix-819.6edefe408d7482c2.css.gz and /dev/null differ diff --git a/_static/prefix-819.6edefe408d7482c2.css.map b/_static/prefix-819.6edefe408d7482c2.css.map deleted file mode 100644 index 661f893..0000000 --- a/_static/prefix-819.6edefe408d7482c2.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"prefix-819.6edefe408d7482c2.css","mappings":"AAAA,4BACI,4CAAiD,CAGjD,iBAAkB,CADlB,kBAAmB,CADnB,WAGJ,CAGA,4BACI,eACJ,CAEA,wBAEI,6BAA+B,CAD/B,cAEJ,CAEA,kBAWI,qBAAsB,CAWtB,mGAE0D,CAd1D,wBAAyB,CADzB,iBAAkB,CAWlB,iFAC2C,CAf3C,cAAe,CACf,eAAgB,CALhB,cAAe,CACf,eAAgB,CAehB,eAAgB,CAbhB,oBAAuB,CAYvB,WAAY,CAJZ,sDAEyB,CAdzB,UAwBJ,CAEA,wBAEI,oBAAqB,CACrB,wCAA6C,CAF7C,YAGJ","sources":["webpack://WebComponents/./runestone/shortanswer/css/shortanswer.css"],"sourcesContent":["div.journal div.latexoutput {\n background-color: var(--outerBackground, #eeeeee);\n padding: 1em;\n margin-bottom: 10px;\n border-radius: 5px;\n}\n\n\n.shortanswer_section .alert {\n margin-bottom: 0;\n}\n\n.shortanswer__timestamp {\n font-size: 0.9em;\n color: var(--grayToWhite, #333);\n}\n\n.journal textarea {\n width: 100%;\n max-width: 100%;\n min-height: 6rem;\n\n padding: 0.75rem 0.9rem;\n font-size: 1rem;\n line-height: 1.5;\n\n border-radius: 8px;\n border: 1px solid #d0d7de;\n background-color: #fff;\n\n transition:\n border-color 0.15s ease,\n box-shadow 0.15s ease;\n\n resize: none;\n overflow: hidden;\n\n font-family: system-ui, -apple-system, BlinkMacSystemFont,\n \"Segoe UI\", Roboto, sans-serif;\n background:\n linear-gradient(#fff, #fff) padding-box,\n linear-gradient(to right, #eaeef2, #eaeef2) border-box;\n}\n\n.journal textarea:focus {\n outline: none;\n border-color: #0969da;\n box-shadow: 0 0 0 3px rgba(9, 105, 218, 0.15);\n}"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/_static/prefix-819.6edefe408d7482c2.css.map.gz b/_static/prefix-819.6edefe408d7482c2.css.map.gz deleted file mode 100644 index b5593a9..0000000 Binary files a/_static/prefix-819.6edefe408d7482c2.css.map.gz and /dev/null differ diff --git a/_static/prefix-824.271ae6cff6401ed5.css b/_static/prefix-824.271ae6cff6401ed5.css old mode 100644 new mode 100755 diff --git a/_static/prefix-824.271ae6cff6401ed5.css.gz b/_static/prefix-824.271ae6cff6401ed5.css.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-824.271ae6cff6401ed5.css.map b/_static/prefix-824.271ae6cff6401ed5.css.map old mode 100644 new mode 100755 diff --git a/_static/prefix-824.271ae6cff6401ed5.css.map.gz b/_static/prefix-824.271ae6cff6401ed5.css.map.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-819.6edefe408d7482c2.css b/_static/prefix-850.e86d03c2cec75438.css old mode 100644 new mode 100755 similarity index 84% rename from _static/prefix-819.6edefe408d7482c2.css rename to _static/prefix-850.e86d03c2cec75438.css index 232403a..243d4dc --- a/_static/prefix-819.6edefe408d7482c2.css +++ b/_static/prefix-850.e86d03c2cec75438.css @@ -1,2 +1,2 @@ -div.journal div.latexoutput{background-color:var(--outerBackground,#eee);border-radius:5px;margin-bottom:10px;padding:1em}.shortanswer_section .alert{margin-bottom:0}.shortanswer__timestamp{color:var(--grayToWhite,#333);font-size:.9em}.journal textarea{background-color:#fff;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(90deg,#eaeef2,#eaeef2) border-box;border:1px solid #d0d7de;border-radius:8px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.5;max-width:100%;min-height:6rem;overflow:hidden;padding:.75rem .9rem;resize:none;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.journal textarea:focus{border-color:#0969da;box-shadow:0 0 0 3px rgba(9,105,218,.15);outline:none} -/*# sourceMappingURL=prefix-819.6edefe408d7482c2.css.map*/ \ No newline at end of file +div.journal div.latexoutput{background-color:var(--outerBackground,#eee);border-radius:5px;margin-bottom:10px;padding:1em}.shortanswer_section .alert{margin-bottom:0}.shortanswer__timestamp{color:var(--grayToWhite,#333);font-size:.9em}.journal textarea{background-color:#fff;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(90deg,#eaeef2,#eaeef2) border-box;border:1px solid #d0d7de;border-radius:8px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.5;max-width:100%;min-height:6rem;overflow:hidden;padding:.75rem .9rem;resize:none;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.journal textarea:focus{border-color:#0969da;box-shadow:0 0 0 3px rgba(9,105,218,.15);outline:none}.shortanswer__feedback,.shortanswer__rendered-answer-div{margin-top:1rem} +/*# sourceMappingURL=prefix-850.e86d03c2cec75438.css.map*/ \ No newline at end of file diff --git a/_static/prefix-850.e86d03c2cec75438.css.gz b/_static/prefix-850.e86d03c2cec75438.css.gz new file mode 100755 index 0000000..a252725 Binary files /dev/null and b/_static/prefix-850.e86d03c2cec75438.css.gz differ diff --git a/_static/prefix-850.e86d03c2cec75438.css.map b/_static/prefix-850.e86d03c2cec75438.css.map new file mode 100755 index 0000000..5f2fea7 --- /dev/null +++ b/_static/prefix-850.e86d03c2cec75438.css.map @@ -0,0 +1 @@ +{"version":3,"file":"prefix-850.e86d03c2cec75438.css","mappings":"AAAA,4BACI,4CAAiD,CAGjD,iBAAkB,CADlB,kBAAmB,CADnB,WAGJ,CAGA,4BACI,eACJ,CAEA,wBAEI,6BAA+B,CAD/B,cAEJ,CAEA,kBAWI,qBAAsB,CAWtB,mGAE0D,CAd1D,wBAAyB,CADzB,iBAAkB,CAWlB,iFAC2C,CAf3C,cAAe,CACf,eAAgB,CALhB,cAAe,CACf,eAAgB,CAehB,eAAgB,CAbhB,oBAAuB,CAYvB,WAAY,CAJZ,sDAEyB,CAdzB,UAwBJ,CAEA,wBAEI,oBAAqB,CACrB,wCAA6C,CAF7C,YAGJ,CAMA,yDACI,eACJ","sources":["webpack://WebComponents/./runestone/shortanswer/css/shortanswer.css"],"sourcesContent":["div.journal div.latexoutput {\n background-color: var(--outerBackground, #eeeeee);\n padding: 1em;\n margin-bottom: 10px;\n border-radius: 5px;\n}\n\n\n.shortanswer_section .alert {\n margin-bottom: 0;\n}\n\n.shortanswer__timestamp {\n font-size: 0.9em;\n color: var(--grayToWhite, #333);\n}\n\n.journal textarea {\n width: 100%;\n max-width: 100%;\n min-height: 6rem;\n\n padding: 0.75rem 0.9rem;\n font-size: 1rem;\n line-height: 1.5;\n\n border-radius: 8px;\n border: 1px solid #d0d7de;\n background-color: #fff;\n\n transition:\n border-color 0.15s ease,\n box-shadow 0.15s ease;\n\n resize: none;\n overflow: hidden;\n\n font-family: system-ui, -apple-system, BlinkMacSystemFont,\n \"Segoe UI\", Roboto, sans-serif;\n background:\n linear-gradient(#fff, #fff) padding-box,\n linear-gradient(to right, #eaeef2, #eaeef2) border-box;\n}\n\n.journal textarea:focus {\n outline: none;\n border-color: #0969da;\n box-shadow: 0 0 0 3px rgba(9, 105, 218, 0.15);\n}\n\n.shortanswer__rendered-answer-div {\n margin-top: 1rem;\n}\n\n.shortanswer__feedback {\n margin-top: 1rem;\n}"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/_static/prefix-850.e86d03c2cec75438.css.map.gz b/_static/prefix-850.e86d03c2cec75438.css.map.gz new file mode 100755 index 0000000..24dec33 Binary files /dev/null and b/_static/prefix-850.e86d03c2cec75438.css.map.gz differ diff --git a/_static/prefix-877.fa7c46f756cd5a82.css b/_static/prefix-877.fa7c46f756cd5a82.css old mode 100644 new mode 100755 diff --git a/_static/prefix-877.fa7c46f756cd5a82.css.gz b/_static/prefix-877.fa7c46f756cd5a82.css.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-877.fa7c46f756cd5a82.css.map b/_static/prefix-877.fa7c46f756cd5a82.css.map old mode 100644 new mode 100755 diff --git a/_static/prefix-877.fa7c46f756cd5a82.css.map.gz b/_static/prefix-877.fa7c46f756cd5a82.css.map.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-915.882512b642b7fffa.css b/_static/prefix-915.882512b642b7fffa.css old mode 100644 new mode 100755 diff --git a/_static/prefix-915.882512b642b7fffa.css.gz b/_static/prefix-915.882512b642b7fffa.css.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-915.882512b642b7fffa.css.map b/_static/prefix-915.882512b642b7fffa.css.map old mode 100644 new mode 100755 diff --git a/_static/prefix-915.882512b642b7fffa.css.map.gz b/_static/prefix-915.882512b642b7fffa.css.map.gz old mode 100644 new mode 100755 diff --git a/_static/prefix-runestone.7e141ad8414abf4a.bundle.js b/_static/prefix-runestone.1c010553c35c544c.bundle.js old mode 100644 new mode 100755 similarity index 50% rename from _static/prefix-runestone.7e141ad8414abf4a.bundle.js rename to _static/prefix-runestone.1c010553c35c544c.bundle.js index 017f506..4aa295a --- a/_static/prefix-runestone.7e141ad8414abf4a.bundle.js +++ b/_static/prefix-runestone.1c010553c35c544c.bundle.js @@ -1,3 +1,3 @@ -/*! For license information please see prefix-runestone.7e141ad8414abf4a.bundle.js.LICENSE.txt */ -(self.webpackChunkWebComponents=self.webpackChunkWebComponents||[]).push([[222],{3403:()=>{!function(e){var t=function(t,n){var o;(o=function(t,i){i=i||0,t.find("> li > a.internal, > ul, > li > ul").each((function(t,a){var s=e(a),r=a.tagName.toLowerCase(),d=s.children("li"),l=e(s.parent("li"),s.parent().parent("li"));"ul"===r&&i>=n&&d.length>0&&(l.addClass("dropdown-submenu").children("a").first().attr("tabindex",-1),s.addClass("dropdown-menu")),o(s,i+1)}))})(t)};patchTables=function(){e("table.docutils").removeClass("docutils").addClass("table").attr("border",0)},e((function(){if(e("#navbar.navbar-fixed-top").length>0){var n=e("#navbar").height(),o=function(){scrollBy(0,-n-10)};location.hash&&o(),window.addEventListener("hashchange",o)}e(".dropdown-menu").each((function(){e(this).find("ul").each((function(t,n){e(n).addClass("unstyled")}))})),e("ul.globaltoc li").length?t(e("ul.globaltoc"),1):e(".globaltoc-container").remove(),t(e("ul.localtoc"),2),e(".dropdown-menu ul").not(".dropdown-menu").each((function(){var t=e(this),n=t.parent(),o=n[0].tagName.toLowerCase(),i=t.children().detach();"ul"===o?t.replaceWith(i):"li"===o&&(n.after(i),t.remove())})),$localLi=e("ul.localtoc li"),$localLi.length>2&&$localLi.first().after('

  • '),e(".dropdown-toggle").dropdown(),patchTables(),e("div.note").addClass("alert").addClass("alert-info"),e("div.warning").addClass("alert").addClass("alert-warning"),e("tt.docutils.literal").not(".xref").each((function(t,n){e(n).parent().hasClass("reference")||e(n).replaceWith((function(){return e("").text(e(this).text())}))}))}))}(window.jQuery)},19695:()=>{var e,t=!1;function n(){t||(function(){let t=$("[data-childcomponent]");t.addClass("runestone"),t.parent().closest("div").not("section").addClass("runestone"),t.parent().closest("div").css("max-width","none"),t.each((function(e){$(this),$(this).find(".ac_code_div, .ac_output").wrapAll("
    ")})),$("section img").wrap('
    '),e=$(".runestone").not(".runestone .runestone"),$("h1").before("
    ")}(),t=!0);let n=$("body"),o="present",a="full-height",s="bottom";n.hasClass(o)?($("section *").not("h1, .presentation-title, .btn-presenter, .runestone, .runestone *, section, .pre, code").removeClass("hidden"),$("#completionButton").removeClass("hidden"),n.removeClass(o),$("."+a).removeClass(a),$("."+s).removeClass(s),localStorage.setItem("presentMode","text"),e.removeClass("hidden"),undefined.disabled=!0):($("section *").not("h1, .presentation-title, .btn-presenter, .runestone, .runestone *, section, .pre, code").addClass("hidden"),$("#completionButton").addClass("hidden"),n.addClass(o),n.addClass(a),$("html").addClass(a),$("section .runestone").addClass(a),$(".ac-caption").addClass(s),localStorage.setItem("presentMode",o),i())}function o(){return active=e.filter(".active")}function i(t){void 0===t&&(t=0);let n=o();e.length&&(n.removeClass("active"),n=$(e[t]).addClass("active"),n.removeClass("hidden"),e.not(e.filter(".active")).addClass("hidden"))}window.nextExercise=function(){let t=o(),n=e.index(t)+1;n=0&&i(n)},$(document).on("runestone:login-complete",(function(){eBookConfig.isInstructor&&($(".navbar-right").prepend(""),$(".mode-select").change(n))}))},23836:()=>{!function(e){"use strict";e.i18n=e.i18n||{},e.extend(e.i18n.fallbacks,{ab:["ru"],ace:["id"],aln:["sq"],als:["gsw","de"],an:["es"],anp:["hi"],arn:["es"],arz:["ar"],av:["ru"],ay:["es"],ba:["ru"],bar:["de"],"bat-smg":["sgs","lt"],bcc:["fa"],"be-x-old":["be-tarask"],bh:["bho"],bjn:["id"],bm:["fr"],bpy:["bn"],bqi:["fa"],bug:["id"],"cbk-zam":["es"],ce:["ru"],crh:["crh-latn"],"crh-cyrl":["ru"],csb:["pl"],cv:["ru"],"de-at":["de"],"de-ch":["de"],"de-formal":["de"],dsb:["de"],dtp:["ms"],egl:["it"],eml:["it"],ff:["fr"],fit:["fi"],"fiu-vro":["vro","et"],frc:["fr"],frp:["fr"],frr:["de"],fur:["it"],gag:["tr"],gan:["gan-hant","zh-hant","zh-hans"],"gan-hans":["zh-hans"],"gan-hant":["zh-hant","zh-hans"],gl:["pt"],glk:["fa"],gn:["es"],gsw:["de"],hif:["hif-latn"],hsb:["de"],ht:["fr"],ii:["zh-cn","zh-hans"],inh:["ru"],iu:["ike-cans"],jut:["da"],jv:["id"],kaa:["kk-latn","kk-cyrl"],kbd:["kbd-cyrl"],khw:["ur"],kiu:["tr"],kk:["kk-cyrl"],"kk-arab":["kk-cyrl"],"kk-latn":["kk-cyrl"],"kk-cn":["kk-arab","kk-cyrl"],"kk-kz":["kk-cyrl"],"kk-tr":["kk-latn","kk-cyrl"],kl:["da"],"ko-kp":["ko"],koi:["ru"],krc:["ru"],ks:["ks-arab"],ksh:["de"],ku:["ku-latn"],"ku-arab":["ckb"],kv:["ru"],lad:["es"],lb:["de"],lbe:["ru"],lez:["ru"],li:["nl"],lij:["it"],liv:["et"],lmo:["it"],ln:["fr"],ltg:["lv"],lzz:["tr"],mai:["hi"],"map-bms":["jv","id"],mg:["fr"],mhr:["ru"],min:["id"],mo:["ro"],mrj:["ru"],mwl:["pt"],myv:["ru"],mzn:["fa"],nah:["es"],nap:["it"],nds:["de"],"nds-nl":["nl"],"nl-informal":["nl"],no:["nb"],os:["ru"],pcd:["fr"],pdc:["de"],pdt:["de"],pfl:["de"],pms:["it"],pt:["pt-br"],"pt-br":["pt"],qu:["es"],qug:["qu","es"],rgn:["it"],rmy:["ro"],"roa-rup":["rup"],rue:["uk","ru"],ruq:["ruq-latn","ro"],"ruq-cyrl":["mk"],"ruq-latn":["ro"],sa:["hi"],sah:["ru"],scn:["it"],sg:["fr"],sgs:["lt"],sli:["de"],sr:["sr-ec"],srn:["nl"],stq:["de"],su:["id"],szl:["pl"],tcy:["kn"],tg:["tg-cyrl"],tt:["tt-cyrl","ru"],"tt-cyrl":["ru"],ty:["fr"],udm:["ru"],ug:["ug-arab"],uk:["ru"],vec:["it"],vep:["et"],vls:["nl"],vmf:["de"],vot:["fi"],vro:["et"],wa:["fr"],wo:["fr"],wuu:["zh-hans"],xal:["ru"],xmf:["ka"],yi:["he"],za:["zh-hans"],zea:["nl"],zh:["zh-hans"],"zh-classical":["lzh"],"zh-cn":["zh-hans"],"zh-hant":["zh-hans"],"zh-hk":["zh-hant","zh-hans"],"zh-min-nan":["nan"],"zh-mo":["zh-hk","zh-hant","zh-hans"],"zh-my":["zh-sg","zh-hans"],"zh-sg":["zh-hans"],"zh-tw":["zh-hant","zh-hans"],"zh-yue":["yue"]})}(jQuery)},35773:()=>{!function(e){"use strict";var t={pluralRules:{ak:{one:"n = 0..1"},am:{one:"i = 0 or n = 1"},ar:{zero:"n = 0",one:"n = 1",two:"n = 2",few:"n % 100 = 3..10",many:"n % 100 = 11..99"},ars:{zero:"n = 0",one:"n = 1",two:"n = 2",few:"n % 100 = 3..10",many:"n % 100 = 11..99"},as:{one:"i = 0 or n = 1"},be:{one:"n % 10 = 1 and n % 100 != 11",few:"n % 10 = 2..4 and n % 100 != 12..14",many:"n % 10 = 0 or n % 10 = 5..9 or n % 100 = 11..14"},bh:{one:"n = 0..1"},bn:{one:"i = 0 or n = 1"},br:{one:"n % 10 = 1 and n % 100 != 11,71,91",two:"n % 10 = 2 and n % 100 != 12,72,92",few:"n % 10 = 3..4,9 and n % 100 != 10..19,70..79,90..99",many:"n != 0 and n % 1000000 = 0"},bs:{one:"v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11",few:"v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14"},cs:{one:"i = 1 and v = 0",few:"i = 2..4 and v = 0",many:"v != 0"},cy:{zero:"n = 0",one:"n = 1",two:"n = 2",few:"n = 3",many:"n = 6"},da:{one:"n = 1 or t != 0 and i = 0,1"},dsb:{one:"v = 0 and i % 100 = 1 or f % 100 = 1",two:"v = 0 and i % 100 = 2 or f % 100 = 2",few:"v = 0 and i % 100 = 3..4 or f % 100 = 3..4"},fa:{one:"i = 0 or n = 1"},ff:{one:"i = 0,1"},fil:{one:"v = 0 and i = 1,2,3 or v = 0 and i % 10 != 4,6,9 or v != 0 and f % 10 != 4,6,9"},fr:{one:"i = 0,1"},ga:{one:"n = 1",two:"n = 2",few:"n = 3..6",many:"n = 7..10"},gd:{one:"n = 1,11",two:"n = 2,12",few:"n = 3..10,13..19"},gu:{one:"i = 0 or n = 1"},guw:{one:"n = 0..1"},gv:{one:"v = 0 and i % 10 = 1",two:"v = 0 and i % 10 = 2",few:"v = 0 and i % 100 = 0,20,40,60,80",many:"v != 0"},he:{one:"i = 1 and v = 0",two:"i = 2 and v = 0",many:"v = 0 and n != 0..10 and n % 10 = 0"},hi:{one:"i = 0 or n = 1"},hr:{one:"v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11",few:"v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14"},hsb:{one:"v = 0 and i % 100 = 1 or f % 100 = 1",two:"v = 0 and i % 100 = 2 or f % 100 = 2",few:"v = 0 and i % 100 = 3..4 or f % 100 = 3..4"},hy:{one:"i = 0,1"},is:{one:"t = 0 and i % 10 = 1 and i % 100 != 11 or t != 0"},iu:{one:"n = 1",two:"n = 2"},iw:{one:"i = 1 and v = 0",two:"i = 2 and v = 0",many:"v = 0 and n != 0..10 and n % 10 = 0"},kab:{one:"i = 0,1"},kn:{one:"i = 0 or n = 1"},kw:{one:"n = 1",two:"n = 2"},lag:{zero:"n = 0",one:"i = 0,1 and n != 0"},ln:{one:"n = 0..1"},lt:{one:"n % 10 = 1 and n % 100 != 11..19",few:"n % 10 = 2..9 and n % 100 != 11..19",many:"f != 0"},lv:{zero:"n % 10 = 0 or n % 100 = 11..19 or v = 2 and f % 100 = 11..19",one:"n % 10 = 1 and n % 100 != 11 or v = 2 and f % 10 = 1 and f % 100 != 11 or v != 2 and f % 10 = 1"},mg:{one:"n = 0..1"},mk:{one:"v = 0 and i % 10 = 1 or f % 10 = 1"},mo:{one:"i = 1 and v = 0",few:"v != 0 or n = 0 or n != 1 and n % 100 = 1..19"},mr:{one:"i = 0 or n = 1"},mt:{one:"n = 1",few:"n = 0 or n % 100 = 2..10",many:"n % 100 = 11..19"},naq:{one:"n = 1",two:"n = 2"},nso:{one:"n = 0..1"},pa:{one:"n = 0..1"},pl:{one:"i = 1 and v = 0",few:"v = 0 and i % 10 = 2..4 and i % 100 != 12..14",many:"v = 0 and i != 1 and i % 10 = 0..1 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100 = 12..14"},prg:{zero:"n % 10 = 0 or n % 100 = 11..19 or v = 2 and f % 100 = 11..19",one:"n % 10 = 1 and n % 100 != 11 or v = 2 and f % 10 = 1 and f % 100 != 11 or v != 2 and f % 10 = 1"},pt:{one:"i = 0..1"},ro:{one:"i = 1 and v = 0",few:"v != 0 or n = 0 or n != 1 and n % 100 = 1..19"},ru:{one:"v = 0 and i % 10 = 1 and i % 100 != 11",few:"v = 0 and i % 10 = 2..4 and i % 100 != 12..14",many:"v = 0 and i % 10 = 0 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100 = 11..14"},se:{one:"n = 1",two:"n = 2"},sh:{one:"v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11",few:"v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14"},shi:{one:"i = 0 or n = 1",few:"n = 2..10"},si:{one:"n = 0,1 or i = 0 and f = 1"},sk:{one:"i = 1 and v = 0",few:"i = 2..4 and v = 0",many:"v != 0"},sl:{one:"v = 0 and i % 100 = 1",two:"v = 0 and i % 100 = 2",few:"v = 0 and i % 100 = 3..4 or v != 0"},sma:{one:"n = 1",two:"n = 2"},smi:{one:"n = 1",two:"n = 2"},smj:{one:"n = 1",two:"n = 2"},smn:{one:"n = 1",two:"n = 2"},sms:{one:"n = 1",two:"n = 2"},sr:{one:"v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11",few:"v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14"},ti:{one:"n = 0..1"},tl:{one:"v = 0 and i = 1,2,3 or v = 0 and i % 10 != 4,6,9 or v != 0 and f % 10 != 4,6,9"},tzm:{one:"n = 0..1 or n = 11..99"},uk:{one:"v = 0 and i % 10 = 1 and i % 100 != 11",few:"v = 0 and i % 10 = 2..4 and i % 100 != 12..14",many:"v = 0 and i % 10 = 0 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100 = 11..14"},wa:{one:"n = 0..1"},zu:{one:"i = 0 or n = 1"}},convertPlural:function(t,n){var o,i,a,s,r=new RegExp("\\d+=","i");if(!n||0===n.length)return"";for(a=0;a{!function(e){"use strict";var t;t=new RegExp("(?:([A-Za-zªµºÀ-ÖØ-öø-ʸʻ-ˁːˑˠ-ˤˮͰ-ͳͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-҂Ҋ-ԯԱ-Ֆՙ-՟ա-և։ः-हऻऽ-ीॉ-ौॎ-ॐक़-ॡ।-ঀংঃঅ-ঌএঐও-নপ-রলশ-হঽ-ীেৈোৌৎৗড়ঢ়য়-ৡ০-ৱ৴-৺ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਾ-ੀਖ਼-ੜਫ਼੦-੯ੲ-ੴઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽ-ીૉોૌૐૠૡ૦-૰ૹଂଃଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽାୀେୈୋୌୗଡ଼ଢ଼ୟ-ୡ୦-୷ஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹாிுூெ-ைொ-ௌௐௗ௦-௲ఁ-ఃఅ-ఌఎ-ఐఒ-నప-హఽు-ౄౘ-ౚౠౡ౦-౯౿ಂಃಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽ-ೄೆ-ೈೊೋೕೖೞೠೡ೦-೯ೱೲംഃഅ-ഌഎ-ഐഒ-ഺഽ-ീെ-ൈൊ-ൌൎൗൟ-ൡ൦-൵൹-ൿංඃඅ-ඖක-නඳ-රලව-ෆා-ෑෘ-ෟ෦-෯ෲ-෴ก-ะาำเ-ๆ๏-๛ກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆ໐-໙ໜ-ໟༀ-༗༚-༴༶༸༾-ཇཉ-ཬཿ྅ྈ-ྌ྾-࿅࿇-࿌࿎-࿚က-ာေးျြဿ-ၗၚ-ၝၡ-ၰၵ-ႁႃႄႇ-ႌႎ-ႜ႞-ჅჇჍა-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚ፠-፼ᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙿᚁ-ᚚᚠ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱ᜵᜶ᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳាើ-ៅះៈ។-៚ៜ០-៩᠐-᠙ᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᤣ-ᤦᤩ-ᤫᤰᤱᤳ-ᤸ᥆-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉ᧐-᧚ᨀ-ᨖᨙᨚ᨞-ᩕᩗᩡᩣᩤᩭ-ᩲ᪀-᪉᪐-᪙᪠-᪭ᬄ-ᬳᬵᬻᬽ-ᭁᭃ-ᭋ᭐-᭪᭴-᭼ᮂ-ᮡᮦᮧ᮪ᮮ-ᯥᯧᯪ-ᯬᯮ᯲᯳᯼-ᰫᰴᰵ᰻-᱉ᱍ-᱿᳀-᳇᳓᳡ᳩ-ᳬᳮ-ᳳᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼ‎ⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎ⅏Ⅰ-ↈ⌶-⍺⎕⒜-ⓩ⚬⠀-⣿Ⰰ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯ⵰ⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〮〯〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎ㆐-ㆺㇰ-㈜㈠-㉏㉠-㉻㉿-㊰㋀-㋋㋐-㋾㌀-㍶㍻-㏝㏠-㏾㐀-䶵一-鿕ꀀ-ꒌꓐ-ꘌꘐ-ꘫꙀ-ꙮꚀ-ꚝꚠ-ꛯ꛲-꛷Ꜣ-ꞇ꞉-ꞭꞰ-ꞷꟷ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠤꠧ꠰-꠷ꡀ-ꡳꢀ-ꣃ꣎-꣙ꣲ-ꣽ꤀-ꤥ꤮-ꥆꥒ꥓꥟-ꥼꦃ-ꦲꦴꦵꦺꦻꦽ-꧍ꧏ-꧙꧞-ꧤꧦ-ꧾꨀ-ꨨꨯꨰꨳꨴꩀ-ꩂꩄ-ꩋꩍ꩐-꩙꩜-ꩻꩽ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫫꫮ-ꫵꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭥꭰ-ꯤꯦꯧꯩ-꯬꯰-꯹가-힣ힰ-ퟆퟋ-ퟻ-舘並-龎ff-stﬓ-ﬗA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ]|\ud800[\udc00-\udc0b]|\ud800[\udc0d-\udc26]|\ud800[\udc28-\udc3a]|𐀼|𐀽|\ud800[\udc3f-\udc4d]|\ud800[\udc50-\udc5d]|\ud800[\udc80-\udcfa]|𐄀|𐄂|\ud800[\udd07-\udd33]|\ud800[\udd37-\udd3f]|\ud800[\uddd0-\uddfc]|\ud800[\ude80-\ude9c]|\ud800[\udea0-\uded0]|\ud800[\udf00-\udf23]|\ud800[\udf30-\udf4a]|\ud800[\udf50-\udf75]|\ud800[\udf80-\udf9d]|\ud800[\udf9f-\udfc3]|\ud800[\udfc8-\udfd5]|\ud801[\udc00-\udc9d]|\ud801[\udca0-\udca9]|\ud801[\udd00-\udd27]|\ud801[\udd30-\udd63]|𐕯|\ud801[\ude00-\udf36]|\ud801[\udf40-\udf55]|\ud801[\udf60-\udf67]|𑀀|\ud804[\udc02-\udc37]|\ud804[\udc47-\udc4d]|\ud804[\udc66-\udc6f]|\ud804[\udc82-\udcb2]|𑂷|𑂸|\ud804[\udcbb-\udcc1]|\ud804[\udcd0-\udce8]|\ud804[\udcf0-\udcf9]|\ud804[\udd03-\udd26]|𑄬|\ud804[\udd36-\udd43]|\ud804[\udd50-\udd72]|\ud804[\udd74-\udd76]|\ud804[\udd82-\uddb5]|\ud804[\uddbf-\uddc9]|𑇍|\ud804[\uddd0-\udddf]|\ud804[\udde1-\uddf4]|\ud804[\ude00-\ude11]|\ud804[\ude13-\ude2e]|𑈲|𑈳|𑈵|\ud804[\ude38-\ude3d]|\ud804[\ude80-\ude86]|𑊈|\ud804[\ude8a-\ude8d]|\ud804[\ude8f-\ude9d]|\ud804[\ude9f-\udea9]|\ud804[\udeb0-\udede]|\ud804[\udee0-\udee2]|\ud804[\udef0-\udef9]|𑌂|𑌃|\ud804[\udf05-\udf0c]|𑌏|𑌐|\ud804[\udf13-\udf28]|\ud804[\udf2a-\udf30]|𑌲|𑌳|\ud804[\udf35-\udf39]|\ud804[\udf3d-\udf3f]|\ud804[\udf41-\udf44]|𑍇|𑍈|\ud804[\udf4b-\udf4d]|𑍐|𑍗|\ud804[\udf5d-\udf63]|\ud805[\udc80-\udcb2]|𑒹|\ud805[\udcbb-\udcbe]|𑓁|\ud805[\udcc4-\udcc7]|\ud805[\udcd0-\udcd9]|\ud805[\udd80-\uddb1]|\ud805[\uddb8-\uddbb]|𑖾|\ud805[\uddc1-\udddb]|\ud805[\ude00-\ude32]|𑘻|𑘼|𑘾|\ud805[\ude41-\ude44]|\ud805[\ude50-\ude59]|\ud805[\ude80-\udeaa]|𑚬|𑚮|𑚯|𑚶|\ud805[\udec0-\udec9]|\ud805[\udf00-\udf19]|𑜠|𑜡|𑜦|\ud805[\udf30-\udf3f]|\ud806[\udca0-\udcf2]|𑣿|\ud806[\udec0-\udef8]|\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e]|\ud809[\udc70-\udc74]|\ud809[\udc80-\udd43]|\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38]|\ud81a[\ude40-\ude5e]|\ud81a[\ude60-\ude69]|𖩮|𖩯|\ud81a[\uded0-\udeed]|𖫵|\ud81a[\udf00-\udf2f]|\ud81a[\udf37-\udf45]|\ud81a[\udf50-\udf59]|\ud81a[\udf5b-\udf61]|\ud81a[\udf63-\udf77]|\ud81a[\udf7d-\udf8f]|\ud81b[\udf00-\udf44]|\ud81b[\udf50-\udf7e]|\ud81b[\udf93-\udf9f]|𛀀|𛀁|\ud82f[\udc00-\udc6a]|\ud82f[\udc70-\udc7c]|\ud82f[\udc80-\udc88]|\ud82f[\udc90-\udc99]|𛲜|𛲟|\ud834[\udc00-\udcf5]|\ud834[\udd00-\udd26]|\ud834[\udd29-\udd66]|\ud834[\udd6a-\udd72]|𝆃|𝆄|\ud834[\udd8c-\udda9]|\ud834[\uddae-\udde8]|\ud834[\udf60-\udf71]|\ud835[\udc00-\udc54]|\ud835[\udc56-\udc9c]|𝒞|𝒟|𝒢|𝒥|𝒦|\ud835[\udca9-\udcac]|\ud835[\udcae-\udcb9]|𝒻|\ud835[\udcbd-\udcc3]|\ud835[\udcc5-\udd05]|\ud835[\udd07-\udd0a]|\ud835[\udd0d-\udd14]|\ud835[\udd16-\udd1c]|\ud835[\udd1e-\udd39]|\ud835[\udd3b-\udd3e]|\ud835[\udd40-\udd44]|𝕆|\ud835[\udd4a-\udd50]|\ud835[\udd52-\udea5]|\ud835[\udea8-\udeda]|\ud835[\udedc-\udf14]|\ud835[\udf16-\udf4e]|\ud835[\udf50-\udf88]|\ud835[\udf8a-\udfc2]|\ud835[\udfc4-\udfcb]|\ud836[\udc00-\uddff]|\ud836[\ude37-\ude3a]|\ud836[\ude6d-\ude74]|\ud836[\ude76-\ude83]|\ud836[\ude85-\ude8b]|\ud83c[\udd10-\udd2e]|\ud83c[\udd30-\udd69]|\ud83c[\udd70-\udd9a]|\ud83c[\udde6-\ude02]|\ud83c[\ude10-\ude3a]|\ud83c[\ude40-\ude48]|🉐|🉑|[\ud840-\ud868][\udc00-\udfff]|\ud869[\udc00-\uded6]|\ud869[\udf00-\udfff]|[\ud86a-\ud86c][\udc00-\udfff]|\ud86d[\udc00-\udf34]|\ud86d[\udf40-\udfff]|\ud86e[\udc00-\udc1d]|\ud86e[\udc20-\udfff]|[\ud86f-\ud872][\udc00-\udfff]|\ud873[\udc00-\udea1]|\ud87e[\udc00-\ude1d]|[\udb80-\udbbe][\udc00-\udfff]|\udbbf[\udc00-\udffd]|[\udbc0-\udbfe][\udc00-\udfff]|\udbff[\udc00-\udffd])|([֐־׀׃׆׈-׿߀-ߪߴߵߺ-ࠕࠚࠤࠨ࠮-ࡘ࡜-࢟‏יִײַ-ﬨשׁ-ﭏ؈؋؍؛-ي٭-ٯٱ-ەۥۦۮۯۺ-ܐܒ-ܯ݋-ޥޱ-޿ࢠ-࣢ﭐ-ﴽ﵀-﷏ﷰ-﷼﷾﷿ﹰ-﻾]|\ud802[\udc00-\udd1e]|\ud802[\udd20-\ude00]|𐨄|\ud802[\ude07-\ude0b]|\ud802[\ude10-\ude37]|\ud802[\ude3b-\ude3e]|\ud802[\ude40-\udee4]|\ud802[\udee7-\udf38]|\ud802[\udf40-\udfff]|\ud803[\udc00-\ude5f]|\ud803[\ude7f-\udfff]|\ud83a[\udc00-\udccf]|\ud83a[\udcd7-\udfff]|\ud83b[\udc00-\uddff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\ude00-\udeef]|\ud83b[\udef2-\udeff]))"),e.extend(e.i18n.parser.emitter,{bidi:function(e){var n,o=(n=e[0].match(t))?void 0===n[2]?"ltr":"rtl":null;return"ltr"===o?"‪"+e[0]+"‬":"rtl"===o?"‫"+e[0]+"‬":e[0]}})}(jQuery)},41669:e=>{"use strict";e.exports=jQuery},46905:()=>{!function(e){"use strict";var t=function(){this.language=e.i18n.languages[String.locale]||e.i18n.languages.default};t.prototype={constructor:t,emit:function(t,n){var o,i,a,s=this;switch(typeof t){case"string":case"number":o=t;break;case"object":if(i=e.map(t.slice(1),(function(e){return s.emit(e,n)})),a=t[0].toLowerCase(),"function"!=typeof s[a])throw new Error('unknown operation "'+a+'"');o=s[a](i,n);break;case"undefined":o="";break;default:throw new Error("unexpected type in AST: "+typeof t)}return o},concat:function(t){var n="";return e.each(t,(function(e,t){n+=t})),n},replace:function(e,t){var n=parseInt(e[0],10);return n{!function(e){"use strict";var t=function(t){this.options=e.extend({},e.i18n.parser.defaults,t),this.language=e.i18n.languages[String.locale]||e.i18n.languages.default,this.emitter=e.i18n.parser.emitter};t.prototype={constructor:t,simpleParse:function(e,t){return e.replace(/\$(\d+)/g,(function(e,n){var o=parseInt(n,10)-1;return void 0!==t[o]?t[o]:"$"+n}))},parse:function(t,n){return t.indexOf("{{")<0?this.simpleParse(t,n):(this.emitter.language=e.i18n.languages[e.i18n().locale]||e.i18n.languages.default,this.emitter.emit(this.ast(t),n))},ast:function(e){var t,n,o,i,a,s,r,d,l,u,c,f,h,g,m,p,v,w,b,y=0;function k(e){return function(){var t,n;for(t=0;t1?["CONCAT"].concat(e):e[0]}function L(){var e=C([f,n,B]);return null===e?null:[e[0],e[2]]}function T(){var e=C([f,n,p]);return null===e?null:[e[0],e[2]]}function j(){var e=C([h,c,g]);return null===e?null:e[1]}if(t=S("|"),n=S(":"),o=S("\\"),i=_(/^./),a=S("$"),s=_(/^\d+/),r=_(/^[^{}[\]$\\]/),d=_(/^[^{}[\]$\\|]/),k([x,_(/^[^{}[\]$\s]/)]),l=k([x,d]),u=k([x,r]),w=_(/^[ !"$&'()*,./0-9;=?@A-Z^_`a-z~\x80-\xFF+-]+/),b=function(e){return e.toString()},f=function(){var e=w();return null===e?null:b(e)},c=k([function(){var e=C([k([L,T]),$(0,E)]);return null===e?null:e[0].concat(e[1])},function(){var e=C([f,$(0,E)]);return null===e?null:[e[0]].concat(e[1])}]),h=S("{{"),g=S("}}"),m=k([j,B,function(){var e=$(1,u)();return null===e?null:e.join("")}]),p=k([j,B,function(){var e=$(1,l)();return null===e?null:e.join("")}]),null===(v=function(){var e=$(0,m)();return null===e?null:["CONCAT"].concat(e)}())||y!==e.length)throw new Error("Parse error at position "+y.toString()+" in input: "+e);return v}},e.extend(e.i18n.parser,new t)}(jQuery)},51399:()=>{!function(e){"use strict";var t=function(){this.messages={},this.sources={}};t.prototype={load:function(t,n){var o,i,a=null,s=[],r=this;if("string"==typeof t)return e.i18n.log("Loading messages from: "+t),(o=t,i=e.Deferred(),e.getJSON(o).done(i.resolve).fail((function(t,n,a){e.i18n.log("Error in loading messages from "+o+" Exception: "+a),i.resolve()})),i.promise()).done((function(e){r.set(n,e)})).promise();if(n)return r.set(n,t),e.Deferred().resolve();for(a in t)Object.prototype.hasOwnProperty.call(t,a)&&(n=a,s.push(r.load(t[a],n)));return e.when.apply(e,s)},set:function(t,n){this.messages[t]?this.messages[t]=e.extend(this.messages[t],n):this.messages[t]=n},get:function(e,t){return this.messages[e]&&this.messages[e][t]}},e.extend(e.i18n.messageStore,new t)}(jQuery)},52329:()=>{!function(e){"use strict";var t,n,o,i=Array.prototype.slice;(t=function(n){this.options=e.extend({},t.defaults,n),this.parser=this.options.parser,this.locale=this.options.locale,this.messageStore=this.options.messageStore,this.languages={}}).prototype={localize:function(t){var n,o,i,a,s,r;for(i=this.locale,a=0;i;){o=(n=i.split("-")).length;do{if(s=n.slice(0,o).join("-"),r=this.messageStore.get(s,t))return r;o--}while(o);if("en"===i)break;i=e.i18n.fallbacks[this.locale]&&e.i18n.fallbacks[this.locale][a]||this.options.fallbackLocale,e.i18n.log("Trying fallback locale for "+this.locale+": "+i+" ("+t+")"),a++}return""},destroy:function(){e.removeData(document,"i18n")},load:function(t,n){var o,i,a,s={};if(t||n||(t="i18n/"+e.i18n().locale+".json",n=e.i18n().locale),"string"==typeof t&&"json"!==t.split("?")[0].split(".").pop()){for(s[n]=t+"/"+n+".json",o=(e.i18n.fallbacks[n]||[]).concat(this.options.fallbackLocale),i=0;i{!function(e){e.idleTimer=function(t,n,o){o=e.extend({startImmediately:!0,idle:!1,enabled:!0,timeout:3e4,events:"mousemove keydown DOMMouseScroll mousewheel mousedown touchstart touchmove"},o),n=n||document;var i=function(t){"number"==typeof t&&(t=void 0);var a=e.data(t||n,"idleTimerObj");a.idle=!a.idle;var s=+new Date-a.olddate;if(a.olddate=+new Date,a.idle&&s{"use strict";function o(){return!!document.querySelector("body.pretext")}function i(e,t,n,i){var a=window.location.pathname;-1!==a.indexOf("?")&&(a=a.substring(0,a.lastIndexOf("?")));let s=o();var r={lastPageUrl:a,lastPageScrollLocation:Math.round($(window).scrollTop()),completionFlag:e,pageLoad:t,markingComplete:n,markingIncomplete:i,course:eBookConfig.course,isPtxBook:s};$(document).ajaxError((function(e,t,n,o){console.log("Request Failed for "+n.url),console.log(e)})),jQuery.ajax({url:`${eBookConfig.new_server_prefix}/logger/updatelastpage`,contentType:"application/json; charset=utf-8",dataType:"json",data:JSON.stringify(r),method:"POST",async:!0})}n.d(t,{w:()=>p}),n(67375),n(66495),n(52329),n(39161),n(46905),n(23836),n(51399),n(49276),n(35773),n(52754),n(3403),n(83057),$(document).on("runestone:login",(function(){var e;!function(){if(!window.location.href.match(/(\/index.html|toctree.html|genindex.html|navhelp.html|toc.html|assignments.html|Exercises.html)/)){var e=window.location.pathname;-1!==e.indexOf("?")&&(e=e.substring(0,e.lastIndexOf("?")));var t={lastPageUrl:e,isPtxBook:o()};jQuery.ajax({url:`${eBookConfig.new_server_prefix}/logger/getCompletionStatus`,data:t,async:!1}).done((function(e){if("None"!=e){var t,n;1==e.detail[0].completionStatus?(t="buttonConfirmCompletion",n=" Completed. Well Done!"):(t="buttonAskCompletion",n="Mark as Completed");let o=document.querySelector("#scprogresscontainer");o&&o.classList.add("ptx-runestone-container"),$("#scprogresscontainer").append('
    ")}}))}}(),void 0!==(e=$.getUrlVar("lastPosition"))&&($("body").append(''),$("html, body").animate({scrollTop:parseInt(e)},1e3)),function(){if(!window.location.href.match(/(index.html|genindex.html|navhelp.html|toc.html|assignments.html|Exercises.html|toctree.html)/)){var e,t=-$("#navLinkBgRight").outerWidth()-5;$("#completionButton").hasClass("buttonAskCompletion")?e=t+70:$("#completionButton").hasClass("buttonConfirmCompletion")&&(e=0);var n=$("#relations-next").css("right"),o=-(t+35);$("#navLinkBgRight").css("right",t).show();var a=!1;$(window).scroll((function(){$(window).scrollTop()+$(window).height()==$(document).height()?($("#navLinkBgRight").animate({right:e},200),$("#navLinkBgLeft").animate({left:"0px"},200),$("#completionButton").hasClass("buttonConfirmCompletion")&&$("#relations-next").animate({right:o},200),a=!0):a&&($("#navLinkBgRight").animate({right:t},200),$("#navLinkBgLeft").animate({left:"-65px"},200),$("#relations-next").animate({right:n}),a=!1)}));var s=0;i(s=$("#completionButton").hasClass("buttonAskCompletion")?0:1,!0,!1,!1),$("#completionButton").on("click",(function(){var a=!1,r=!1;$(this).hasClass("buttonAskCompletion")?($(this).removeClass("buttonAskCompletion").addClass("buttonConfirmCompletion").html(" Completed. Well Done!"),$("#navLinkBgRight").animate({right:0}),$("#relations-next").animate({right:o}),e=0,s=1,a=!0):$(this).hasClass("buttonConfirmCompletion")&&($(this).removeClass("buttonConfirmCompletion").addClass("buttonAskCompletion").html("Mark as Completed"),e=t+70,$("#navLinkBgRight").animate({right:e}),$("#relations-next").animate({right:n}),s=0,r=!0),i(s,!1,a,r)}))}}(),function(){if(-1!=window.location.href.toLowerCase().indexOf("toc.html")||-1!=window.location.href.toLowerCase().indexOf("index.html")||-1!=window.location.href.toLowerCase().indexOf("frontmatter")){o()||jQuery.get(`${eBookConfig.new_server_prefix}/logger/getAllCompletionStatus`,(function(e){var t;if("None"!=e){t=e.detail;var n=$("#main-content div li a");$.each(t,(function(e,t){for(var o=0;o- Completed this topic on '+t.endDate+"").children().first().hover((function(){$(this).next(".infoTextCompleted").show()}),(function(){$(this).next(".infoTextCompleted").hide()})):0==t.completionStatus&&$(n[o].parentElement).addClass("active").append('Last read this topic on '+t.endDate+"").children().first().hover((function(){$(this).next(".infoTextActive").show()}),(function(){$(this).next(".infoTextActive").hide()})))}))}}));var e={course:eBookConfig.course};jQuery.get(`${eBookConfig.new_server_prefix}/logger/getlastpage`,e,(function(e){var t;"None"!=e&&null!=(t=e.detail).lastPageChapter&&$("#continue-reading").show().html('
    You were Last Reading: '+t.lastPageChapter+(t.lastPageSubchapter?" > "+t.lastPageSubchapter:"")+' Continue Reading
    ')}))}}()})),$.extend({getUrlVars:function(){for(var e,t=[],n=window.location.search.slice(window.location.search.indexOf("?")+1).split("&"),o=0;o{t.addEventListener("click",(function(){let n=t.getAttribute("data-knowl");e.logBookEvent({event:"knowl",act:"click",div_id:n})}))})),document.querySelectorAll("details.born-hidden-knowl").forEach((t=>{t.addEventListener("toggle",(function(){if(t.open){let n=t.id;e.logBookEvent({event:"knowl",act:"open",div_id:n})}}))})),document.querySelectorAll(".sagecell_evalButton").forEach((t=>{t.addEventListener("click",(function(){let n=t.closest(".sagecell-sage"),o=n?n.querySelector(".sagecell_input"):null;o&&o.textContent,e.logBookEvent({event:"sage",act:"run",div_id:n?n.id:null})}))})),"undefined"==typeof eBookConfig||eBookConfig.isInstructor||document.querySelectorAll(".commentary").forEach((e=>{e.style.display="none"}))}();let e=document.getElementById("primary-navbar-sticky-wrapper");e&&(e.style.overflow="visible")})),n(19695);var s=n(98098);class r extends a.A{constructor(){super(),this.initSplice()}initSplice(){window.addEventListener("message",(async e=>{var t,n,o=this.sendingIframe(e);if(console.log(`SpliceWrapper: received message subject: ${e.data.subject} from iframe: ${o?o.id:"unknown"}`),"SPLICE.reportScoreAndState"==e.data.subject)this.handleScoreAndState(e,o);else if("SPLICE.sendEvent"==e.data.subject)this.handleSpliceEvent(e,o);else if("SPLICE.getState"==e.data.subject)await this.handleGetState(e,o);else if("https://www.myopenmath.com"===e.origin&&"string"==typeof e.data&&-1!=e.data.indexOf("lti.ext.imathas.result")){let o=JSON.parse(e.data),i=(t=o.jwt.split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),n=decodeURIComponent(window.atob(t).split("").map((function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)})).join("")),JSON.parse(n));console.log("Result received from frame "+o.frame_id+" with score "+i.score)}}))}getUniqueID(e,t){if(t){let e=t.closest("[data-component]");if(e)return e.id}let n=e.data.activity_id;return n||(t?n=t.src:(n="unknown",console.error("Could not find iframe that sent the SPLICE event"))),n}handleScoreAndState(e,t){console.log("Got SPLICE.reportScoreAndState"),console.log(e.data.activity_id),console.log(e.data.score),console.log(e.data.state);let n=this.getUniqueID(e,t);this.logBookEvent({event:e.data.subject,div_id:n,act:`score: ${e.data.score}`,score:e.data.score,percent:e.data.score,correct:1==e.data.score,answer:JSON.stringify(e.data.state)})}sendingIframe(e){for(const t of document.getElementsByTagName("iframe"))if(t.contentWindow===e.source)return t}async getSavedState(e){try{const t=await fetch("/ns/assessment/results",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({div_id:e,course:eBookConfig.course,event:"SPLICE.getState"})});if(!t.ok)throw new Error(`HTTP error! status: ${t.status}`);return await t.json()}catch(e){return console.error("Error fetching SPLICE state:",e),null}}async handleGetState(e,t){console.log("Got SPLICE.getState"),console.log(e.data.activity_id),console.log(e.data.state);let n=this.getUniqueID(e,t),o=(await this.getSavedState(n)).detail.answer;e.source.postMessage({message_id:e.data.message_id,subject:"SPLICE.getState.response",state:o},"*")}handleSpliceEvent(e,t){console.log("Got SPLICE.sendEvent"),console.log(e.data.activity_id),console.log(e.data.name);let n=this.getUniqueID(e,t);this.logBookEvent({event:e.data.subject,div_id:n,act:e.data.name||"unknown"})}checkLocalStorage(){}setLocalStorage(){}restoreAnswers(){}disableInteraction(){}}const d={activecode:()=>Promise.all([n.e(249),n.e(296),n.e(625),n.e(764),n.e(877)]).then(n.bind(n,73565)),ble:()=>n.e(817).then(n.bind(n,29817)),clickablearea:()=>Promise.all([n.e(529),n.e(198)]).then(n.bind(n,58529)),codelens:()=>Promise.all([n.e(764),n.e(412)]).then(n.bind(n,76412)),datafile:()=>n.e(580).then(n.bind(n,33580)),dragndrop:()=>Promise.all([n.e(759),n.e(621)]).then(n.bind(n,56759)),fillintheblank:()=>Promise.all([n.e(466),n.e(294)]).then(n.bind(n,64466)),groupsub:()=>Promise.all([n.e(28),n.e(616)]).then(n.bind(n,24616)),khanex:()=>n.e(340).then(n.bind(n,28340)),lp_build:()=>Promise.all([n.e(296),n.e(576)]).then(n.bind(n,77576)),matching:()=>Promise.all([n.e(566),n.e(737)]).then(n.bind(n,14566)),multiplechoice:()=>Promise.all([n.e(919),n.e(350)]).then(n.bind(n,9919)),hparsons:()=>Promise.all([n.e(249),n.e(669),n.e(486)]).then(n.bind(n,71182)),parsons:()=>n.e(39).then(n.bind(n,52420)),poll:()=>n.e(168).then(n.bind(n,11168)),quizly:()=>n.e(128).then(n.bind(n,34128)),reveal:()=>n.e(460).then(n.bind(n,67460)),selectquestion:()=>Promise.all([n.e(662),n.e(380)]).then(n.bind(n,10662)),shortanswer:()=>n.e(819).then(n.bind(n,48819)),showeval:()=>n.e(824).then(n.bind(n,8824)),simple_sensor:()=>n.e(126).then(n.bind(n,50126)),spreadsheet:()=>Promise.all([n.e(131),n.e(186)]).then(n.bind(n,97186)),tabbedStuff:()=>n.e(442).then(n.bind(n,76442)),timedAssessment:()=>Promise.all([n.e(249),n.e(296),n.e(625),n.e(764),n.e(877),n.e(466),n.e(759),n.e(919),n.e(566),n.e(662),n.e(529),n.e(420),n.e(115)]).then(n.bind(n,46424)),wavedrom:()=>Promise.all([n.e(770),n.e(640)]).then(n.bind(n,45640)),webwork:()=>n.e(680).then(n.bind(n,84680)),youtube:()=>n.e(915).then(n.bind(n,86915)),doenet:()=>Promise.resolve()},l={},u=10,c=[];let f=0;async function h(){if(0===c.length)return;if(Date.now()-fe.component_name)));const t=e.map((async e=>{try{return await d[e.component_name](),console.log(`Runestone component ${e.component_name} has been loaded`),e}catch(t){e.reject(t)}})),n=await Promise.all(t);try{n.forEach((function(e){e&&e.resolve()}))}catch(e){console.error(e)}}let g=new Promise((e=>$(document).on("runestone:pre-login-complete",e)));function m(){const e=new Set($("[data-component]").map(((e,t)=>$(t).attr("data-component"))).get());document.querySelector(".webwork-button")&&e.add("webwork");const t=[...e].map((e=>{let t;console.log(`Loading Runestone component: ${e}`);try{t=(d[e]||(()=>Promise.resolve()))()}catch(t){console.error(`Error loading ${e}:`,t)}return t.error=t=>console.error(`Error in ${e}:`,t),t}));Promise.all([g,...t]).then((function(){document.body.dataset.reactInUse||document.dispatchEvent(new CustomEvent("runestone:login-complete"))}))}async function p(e){if(l[e])return l[e];console.log(`Runestone component ${e} is being queued for import`);const t=function(e){let t=null,n=null;const o=new Promise(((e,o)=>{t=e,n=o})),i={component_name:e,resolve:t,reject:n};return c.push(i),window.setTimeout(h,u+1),o}(e);return l[e]=t,t}g.then((()=>{console.log("Runestone pre-login complete")})),$(document).ready(m);const v=document.currentScript.src;n.p=v.substring(0,v.lastIndexOf("/")+1),new r;const w={};w.runestone_import=p,w.runestone_auto_import=m,w.getSwitch=function(){const e=document.querySelector('.theme-switch input[type="checkbox"]'),t=localStorage.getItem("theme")?localStorage.getItem("theme"):null;t&&(document.documentElement.setAttribute("data-theme",t),"dark"===t&&(e.checked=!0))},w.switchTheme=function(){1==document.getElementById("checkbox").checked?(document.documentElement.setAttribute("data-theme","dark"),localStorage.setItem("theme","dark")):(document.documentElement.setAttribute("data-theme","light"),localStorage.setItem("theme","light"))},w.popupScratchAC=async function(){if(await p("activecode"),!eBookConfig.scratchDiv){window.ACFactory.createScratchActivecode();let e=eBookConfig.scratchDiv;window.componentMap[e]=ACFactory.createActiveCode($(`#${e}`)[0],eBookConfig.acDefaultLanguage),eBookConfig.isLoggedIn&&window.componentMap[e].enableSaveLoad()}setTimeout((()=>{window.ACFactory.toggleScratchActivecode()}),100)},w.renderOneComponent=s.yT,window.componentMap={},window.runestoneComponents=w},78673:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var o=n(83057),i=["parsonsMove","showeval","video","poll","view_toggle","dashboard","selectquestion","codelens","peer","shortanswer"];class a{constructor(e){this.component_ready_promise=new Promise((e=>this._component_ready_resolve_fn=e)),this.optional=!1,void 0===window.allComponents&&(window.allComponents=[]),window.allComponents.push(this),e&&(this.sid=e.sid,this.graderactive=e.graderactive,this.showfeedback=!0,e.timed&&(this.isTimed=!0),e.enforceDeadline&&(this.deadline=e.deadline),this.optional=this.parseBooleanAttribute(e.orig,"data-optional"),e.selector_id&&(this.selector_id=e.selector_id),void 0!==e.assessmentTaken?this.assessmentTaken=e.assessmentTaken:this.assessmentTaken=!0,void 0!==e.timedWrapper?this.timedWrapper=e.timedWrapper:location.href.indexOf("doAssignment")>=0?this.timedWrapper=$("h1#assignment_name").text():this.timedWrapper=null,$(e.orig).data("question_label")&&(this.question_label=$(e.orig).data("question_label")),this.is_toggle=e.is_toggle,this.is_select=e.is_select),this.mjelements=[];let t=this;if(this.mjReady=new Promise((function(e,n){t.mjresolver=e})),this.aQueue=new r,e&&void 0!==e.preamble){this.preamble=e.preamble;let t=document.createElement("div");t.classList.add("hidden-content"),t.classList.add("process-math"),t.innerHTML="\\("+this.preamble+"\\)",e.orig.appendChild(t),t.id="ltx_preamble",t.style.display="none",this.aQueue.preamble=t}this.jsonHeaders=new Headers({"Content-type":"application/json; charset=utf-8",Accept:"application/json"})}parseBooleanAttribute(e,t){const n=e.getAttribute(t);if(null===n)return!1;const o=n.toLowerCase();return"false"!==o&&"no"!==o}async logBookEvent(e){if(this.graderactive)return;let t;if(e.course_name=eBookConfig.course,e.clientLoginStatus=eBookConfig.isLoggedIn,e.timezoneoffset=(new Date).getTimezoneOffset()/60,this.selector_id&&(e.selector_id=this.selector_id),"number"==typeof this.percent&&(e.percent=this.percent),window.assignmentId&&(e.assignment_id=window.assignmentId),eBookConfig.isLoggedIn&&eBookConfig.useRunestoneServices&&eBookConfig.logLevel>0&&(t=this.postLogMessage(e)),!this.isTimed||eBookConfig.debug){let t=eBookConfig.isLoggedIn?"Save":"Not";console.log(`${t} logging event `+JSON.stringify(e))}return this.selector_id&&(e.div_id=this.selector_id.replace("-toggleSelectedQuestion",""),e.event="selectquestion",e.act="interaction",this.postLogMessage(e)),"function"==typeof o.X.updateProgress&&"edit"!=e.act&&0==this.optional&&o.X.updateProgress(e.div_id),-1===i.indexOf(e.event)&&this.decorateStatus(),t}async postLogMessage(e){var t;let n=new Request(`${eBookConfig.new_server_prefix}/logger/bookevent`,{method:"POST",headers:this.jsonHeaders,body:JSON.stringify(e)});try{var o=await fetch(n);if(!o.ok){if(422===o.status)throw t=await o.json(),console.log(JSON.stringify(t.detail,null,4)),new Error("Unprocessable Request");if(401==o.status)throw t=await o.json(),console.log(`Missing authentication token ${t.detail}`),new Error("Missing authentication token");throw new Error(`Failed to save the log entry\n Status: ${o.status}`)}let e=(t=await o.json()).detail,i=null;if(this.selector_id){let e=this.selector_id.replace("-toggleSelectedQuestion","");i=document.getElementById(`${e}_score`)}else i=document.getElementById(`${this.divid}_score`);i&&!this.isTimed&&e.score&&this.updateScores(i,e)}catch(e){let n="none";t&&t.detail&&(n=t.detail),eBookConfig.useRunestoneServices&&alert(`Error: Your action was not saved!\n The error was ${e}\n Status Code: ${o.status}\n Detail: ${JSON.stringify(n,null,4)}.\n Please report this error!`),console.log(`Error: ${e} Detail: ${n} Status Code: ${o.status}`)}return t}updateScores(e,t){if(!t.assigned||null===t.score)return void(document.getElementById(`${this.divid}_message`).innerHTML="Score not updated. Submissions are closed.");let n=e.getElementsByClassName("qscore")[0];n&&(n.innerHTML=t.score.toFixed(1));let o=document.getElementsByClassName("qscore"),i=document.getElementsByClassName("qmaxscore"),a=0,s=0;for(let e=0;e0){let n=new Request(`${eBookConfig.new_server_prefix}/logger/runlog`,{method:"POST",headers:this.jsonHeaders,body:JSON.stringify(e)}),o=await fetch(n);o.ok?t=await o.json():(t=await o.json(),eBookConfig.useRunestoneServices?alert(`Failed to save your code\n Status is ${o.status}\n Detail: ${JSON.stringify(t.detail,null,4)}`):console.log(`Did not save the code.\n Status: ${o.status}\n Detail: ${JSON.stringify(t.detail,null,4)}`))}return this.isTimed&&!eBookConfig.debug||console.log("running "+JSON.stringify(e)),"function"==typeof o.X.updateProgress&&0==this.optional&&o.X.updateProgress(e.div_id),t}}async checkServer(e,t=!1){let n=this;if(this.checkServerComplete=new Promise((function(e,t){n.csresolver=e})),eBookConfig.isLoggedIn&&(this.useRunestoneServices||this.graderactive)){let t={};if(t.div_id=this.divid,t.course=eBookConfig.course,t.event=e,this.graderactive&&this.deadline&&(t.deadline=this.deadline,t.rawdeadline=this.rawdeadline,t.tzoff=this.tzoff),this.sid&&(t.sid=this.sid),t.div_id&&t.course&&t.event||console.log(`A required field is missing data ${t.div_id}:${t.course}:${t.event}`),eBookConfig.practice_mode||eBookConfig.peer||!this.assessmentTaken)this.loadData({}),console.log("resolving checkServer no answer given"),this.csresolver("not taken");else{let e=new Request(`${eBookConfig.new_server_prefix}/assessment/results`,{method:"POST",body:JSON.stringify(t),headers:this.jsonHeaders});try{let n=await fetch(e);console.log(`Response from server: ${n.status}`),n.ok?(t=await n.json(),t=t.detail,console.log(`Data from server: ${JSON.stringify(t)} calling repopulateFromStorage`),this.repopulateFromStorage(t),this.attempted=!0,void 0!==t.correct?this.correct=t.correct:this.correct=null,console.log("resolving checkServer with server data"),this.csresolver("server")):(console.log(`HTTP Error getting results: ${n.statusText}`),this.checkLocalStorage(),console.log("resolving checkServer with local data"),this.csresolver("local"))}catch(e){console.log(`Error getting results: ${e}`);try{this.checkLocalStorage()}catch(e){console.log(e)}}}}else this.checkLocalStorage(),console.log("resolving checkServer with local data"),this.csresolver("local");t&&this.indicate_component_ready()}indicate_component_ready(){this.containerDiv.classList.add("runestone-component-ready"),this._component_ready_resolve_fn()}loadData(e){return null}repopulateFromStorage(e){null!==e&&"no data"!==e&&this.shouldUseServer(e)?(this.restoreAnswers(e),this.setLocalStorage(e)):this.checkLocalStorage(),this.decorateStatus()}shouldUseServer(e){if("T"===e.correct||!0===e.correct||0===localStorage.length||!0===this.graderactive||this.isTimed)return!0;let t,n=localStorage.getItem(this.localStorageKey());if(null===n)return!0;try{t=JSON.parse(n)}catch(e){return console.log(e.message),localStorage.removeItem(this.localStorageKey()),!0}if(e.answer==t.answer)return!0;let o=new Date(t.timestamp);return new Date(e.timestamp)>=o}localStorageKey(){return eBookConfig.email+":"+eBookConfig.course+":"+this.divid+"-given"}addCaption(e){if(!this.isTimed){var t=document.createElement("p");this.question_label?(this.caption=eBookConfig.useRunestoneServices?`Activity: ${this.question_label} ${this.caption} (${this.divid})`:`Activity: ${this.question_label} ${this.caption}`,$(t).html(this.caption),$(t).addClass(`${e}_caption`)):($(t).html(eBookConfig.useRunestoneServices?this.caption+" ("+this.divid+")":this.caption),$(t).addClass(`${e}_caption`),$(t).addClass(`${e}_caption_text`)),this.capDiv=t,this.containerDiv.appendChild(t)}}hasUserActivity(){return this.isAnswered}checkCurrentAnswer(){console.log("Each component should provide an implementation of checkCurrentAnswer")}async logCurrentAnswer(){console.log("Each component should provide an implementation of logCurrentAnswer")}renderFeedback(){console.log("Each component should provide an implementation of renderFeedback")}disableInteraction(){console.log("Each component should provide an implementation of disableInteraction")}toString(){return`${this.constructor.name}: ${this.divid}`}queueMathJax(e){return"undefined"==typeof MathJax?(console.log("Error -- MathJax is not loaded"),Promise.resolve(null)):MathJax.typesetPromise?void 0!==window.runestoneMathReady?window.runestoneMathReady.then((()=>this.mjresolver(this.aQueue.enqueue(e)))):this.mjresolver(this.aQueue.enqueue(e)):(console.log(`Waiting on MathJax!! ${MathJax.typesetPromise}`),setTimeout((()=>this.queueMathJax(e)),200),console.log(`Returning mjready promise: ${this.mjReady}`),this.mjReady)}decorateStatus(){if(this.isTimed||eBookConfig.peer)return;let e=$(this.containerDiv).closest("div.runestone")[0];e&&(e.classList.remove("notAnswered"),e.classList.remove("isInCorrect"),e.classList.remove("isCorrect"),this.correct?e.classList.add("isCorrect"):null===this.correct||void 0===this.correct?e.classList.add("notAnswered"):e.classList.add("isInCorrect"))}}class s{constructor(){this._items=[]}enqueue(e){this._items.push(e)}dequeue(){return this._items.shift()}get size(){return this._items.length}}class r extends s{constructor(){super(),this._pendingPromise=!1}enqueue(e){return new Promise(((t,n)=>{super.enqueue({component:e,resolve:t,reject:n}),this.dequeue()}))}async dequeue(){if(this._pendingPromise)return!1;let e=super.dequeue();if(!e)return!1;let t=this;try{this._pendingPromise=!0;let n=await window.runestoneMathReady.then((async function(){if(console.log(`MathJax Ready -- dequeing a typesetting run for ${e.component.id} ${t.preamble?.innerHTML}`),t.preamble){await MathJax.typesetPromise([t.preamble]);let n=document.createElement("div");return n.innerHTML=t.preamble.innerHTML,e.component.insertAdjacentElement("afterbegin",n),console.log(`MathJax typeset the preamble for ${e.component.id}`),await MathJax.typesetPromise([e.component])}return await MathJax.typesetPromise([e.component])}));this._pendingPromise=!1,e.resolve(n)}catch(t){this._pendingPromise=!1,e.reject(t)}finally{this.dequeue()}return!0}}window.RunestoneBase=a},83057:(e,t,n)=>{"use strict";n.d(t,{X:()=>i,u:()=>a});class o{constructor(e){if(this.possible=0,this.total=1,e&&"assignment_spec"in e&&(this.assignment_spec=e.assignment_spec,delete e.assignment_spec),e&&Object.keys(e).length>0)this.activities=e;else{let e={page:0};document.querySelectorAll(".runestone").forEach((function(t){e[t.firstElementChild.id]=0})),this.activities=e}if(this.calculateProgress(),window.location.pathname.match(/.*\/(index.html|toctree.html|Exercises.html|search.html)$/i)){const e=document.getElementById("scprogresscontainer");e&&(e.style.display="none")}this.renderProgress()}calculateProgress(){for(let e in this.activities)void 0!==e&&(this.possible++,this.activities[e]>0&&this.total++)}renderProgress(){let e=0;const t=document.getElementById("scprogresstotal");t&&(t.textContent=this.total);const n=document.getElementById("scprogressposs");n&&(n.textContent=this.possible);try{e=100*this.total/this.possible}catch(t){e=0}let o=document.getElementById("subchapterprogress");if(o&&"PROGRESS"!==o.tagName){const t=document.createElement("progress");t.id="subchapterprogress",t.max=100,t.value=e,t.className=o.className,o.replaceWith(t),o=t}else o&&(o.max=100,o.value=e);if(this.assignment_spec&&this.total-1>=(this.assignment_spec.activities_required||0)&&this.sendCompletedReadingScore().then((()=>{console.log("Reading score sent for page"),setTimeout((()=>{let e=document.getElementById("completionButton");e&&"mark as completed"===e.textContent.toLowerCase()&&e.click()}),500)})),!eBookConfig.isLoggedIn){const e=document.getElementById("subchapterprogress");e&&e.classList.add("loggedout")}}updateProgress(e){if(this.activities[e]++,1===this.activities[e]){this.total++;let e=100*this.total/this.possible;const t=document.getElementById("scprogresstotal");t&&(t.textContent=this.total);const n=document.getElementById("scprogressposs");n&&(n.textContent=this.possible);let o=document.getElementById("subchapterprogress");o&&"PROGRESS"===o.tagName&&(o.value=e),this.assignment_spec&&null!==this.assignment_spec.activities_required&&this.total>=this.assignment_spec.activities_required&&(console.log("Required activities completed"),this.sendCompletedReadingScore().then((()=>{console.log("Reading score sent")}))),100==e&&"mark as completed"===$("#completionButton").text().toLowerCase()&&$("#completionButton").click()}}async sendCompletedReadingScore(){let e=new Headers({"Content-type":"application/json; charset=utf-8",Accept:"application/json"}),t={...this.assignment_spec},n=new Request(`${eBookConfig.new_server_prefix}/logger/update_reading_score`,{method:"POST",body:JSON.stringify(t),headers:e});try{let e=await fetch(n);e.ok||console.error(`Failed to send reading score! ${e.statusText}`),t=await e.json()}catch(e){console.error(`Error sending reading score ${e}`)}}}var i={};function a(e){return"string"==typeof e&&([/\$\$[\s\S]+?\$\$/,/\$[^$\n]+?\$/,/\\\[[\s\S]+?\\\]/,/\\\([\s\S]+?\\\)/].some((t=>t.test(e)))||/\\(frac|sqrt|sum|prod|int|lim|sin|cos|tan|log|ln|alpha|beta|gamma|pi|theta|sigma|Delta|cdot|times|leq|geq|neq)\b/.test(e)||/[a-zA-Z0-9]\s*[\^_]\s*\{?.+?\}?/.test(e))}document.addEventListener("runestone:login",(function(){$("#profilelink").show(),$("#passwordlink").show(),$("#registerlink").hide(),$("li.loginout").html('Log Out')})),document.addEventListener("runestone:logout",(function(){eBookConfig.useRunestoneServices&&(console.log("setup navbar for logged out"),$("#registerlink").show(),$("#profilelink").hide(),$("#passwordlink").hide(),$("#ip_dropdown_link").hide(),$("#inst_peer_link").hide(),$("li.loginout").html('Login'),$(".footer").html("user not logged in"))})),document.addEventListener("DOMContentLoaded",(function(){eBookConfig?(async function(){var e;if(eBookConfig.useRunestoneServices){let e=new Headers({"Content-type":"application/json; charset=utf-8",Accept:"application/json"}),n={timezoneoffset:(new Date).getTimezoneOffset()/60,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone},o=function(){const e=`; ${document.cookie}`.split("; RS_info=");if(2===e.length)return e.pop().split(";").shift()}();var t=!1;if(o)try{let e=o.replace(/\\054/g,","),i=JSON.parse(decodeURIComponent(e));i=JSON.parse(decodeURIComponent(i)),i.timezone===n.timezone&&i.tz_offset===n.timezoneoffset&&(console.log("Timezone cookie matches, not sending timezone to server"),t=!0)}catch(e){console.error("Error parsing RS_info cookie, sending timezone to server")}if(!1===t){let t=new Request(`${eBookConfig.new_server_prefix}/logger/set_tz_offset`,{method:"POST",body:JSON.stringify(n),headers:e});try{let e=await fetch(t);e.ok||console.error(`Failed to set timezone! ${e.statusText}`),n=await e.json()}catch(e){console.error(`Error setting timezone ${e}`)}}}if(console.log(`This page served by ${eBookConfig.served_by}`),eBookConfig.isLoggedIn)e=`username: ${eBookConfig.username}`,eBookConfig.isInstructor||($("#ip_dropdown_link").remove(),$("#inst_peer_link").remove()),$(document).trigger("runestone:login"),function(){if(eBookConfig.readings){var e,t,n,o;let i=window.location.pathname.split("/"),a=i[i.length-2]+"/"+i[i.length-1],s=eBookConfig.readings.indexOf(a),r=eBookConfig.readings.length;s==eBookConfig.readings.length-1?e=$("
    ",{text:`Finished reading assignment. Page ${r} of ${r}.`}):s>=0?(t=eBookConfig.readings[s+1],(n=i.slice(0,i.length-2)).push(t),o=n.join("/"),e=$("",{name:"link",class:"btn btn-lg ' + 'buttonConfirmCompletion'",href:o,text:`Continue to page ${s+2} of ${r} in the reading assignment.`})):e=$("
    ",{text:"This page is not part of the last reading assignment you visited."}),$("#main-content").append(e)}}(),-1==window.location.pathname.indexOf("/admin/grading")&&-1==window.location.pathname.indexOf("/peer/")&&($(document).on("idle.idleTimer",(function(){location.href.indexOf("index.html")<0&&(console.log("Idle timer - "+location.pathname),location.href=eBookConfig.app+"/default/user/login?_next="+location.pathname+location.search)})),$.idleTimer(9e5));else{e="Not logged in",$(document).trigger("runestone:logout");let t=document.getElementById("browsing_warning");t&&(t.innerHTML="");let n=document.getElementById("ad_warning");n&&(n.innerHTML="")}$(".loggedinuser").html(e),i=new o(eBookConfig.activities),console.log("triggering runestone:pre-login-complete"),document.dispatchEvent(new Event("runestone:pre-login-complete"))}(),function(){if("undefined"!=typeof showAd&&showAd){let e=Math.floor(2*Math.random())+1,t=document.getElementById(`adcopy_${e}`),n=document.querySelectorAll(".runestone");n.length>0&&(n[Math.floor(Math.random()*n.length)].after(t),t.style.display="block")}}()):"undefined"==typeof eBookConfig&&console.log("eBookConfig is not defined. This page must not be set up for Runestone")})),window.addEventListener("load",(function(){if(document.querySelectorAll(".video-play-overlay").forEach((function(e){e.style.backgroundImage="url('{{pathto('_static/play_overlay_icon.png', 1)}}')"})),document.querySelectorAll(".dropdown input, .dropdown label").forEach((function(e){e.addEventListener("click",(function(e){e.stopPropagation()}))})),location.href.includes("mode=browsing")){let e="?mode=browsing";document.querySelectorAll("a").forEach((t=>{let n="";if(t.href.includes("books/published")&&!t.href.includes("?mode=browsing")){if(t.href.includes("#")){let e=t.href.indexOf("#");n=t.href.substring(e),t.href=t.href.substring(0,e)}t.href=t.href.includes("?")?t.href+e.replace("?","&")+n:t.href+e+n}}))}}))},98098:(e,t,n)=>{"use strict";n.d(t,{$y:()=>a,JK:()=>i,yT:()=>s});var o=n(77394);async function i(e,t,n){if(!e)return void jQuery(`#${t}`).html("

    Sorry, no source is available for preview.

    ");e=e.replace(/..\/_images/g,`${eBookConfig.app}/books/published/${eBookConfig.basecourse}/_images`),jQuery(`#${t}`).html(e),void 0===window.componentMap&&(window.componentMap={});let i=$($(`#${t} [data-component]`)[0]).data("component");await(0,o.w)(i);let a={};if(a.orig=jQuery(`#${t} [data-component]`)[0],a.orig&&(a.lang=$(a.orig).data("lang"),a.useRunestoneServices=!0,a.graderactive=!1,a.python3=!0,void 0!==n))for(let e in n)a[e]=n[e];if("undefined"==typeof component_factory)alert("Error: Missing the component factory!");else if(window.component_factory[i]||jQuery(`#${t}`).html()){let e=window.component_factory[i](a);"activecode"===i&&(n.multiGrader?window.componentMap[`${n.gradingContainer} ${e.divid}`]=e:window.componentMap[e.divid]=e)}else jQuery(`#${t}`).html(`

    Preview not available for ${i}

    `)}function a(e,t){e=e.replace(/..\/_images/g,`${eBookConfig.app}/books/published/${eBookConfig.basecourse}/_images`);let n,o,i=$($(e).find("[data-component]")[0]).data("component"),a=$(e).find("[data-component]").first().attr("id");document.getElementById(a)||(n=$("
    ",{css:{display:"none"}}).appendTo("body"),n.html(e));let s={orig:document.getElementById(a),timed:!0};if(void 0!==t)for(let e in t)s[e]=t[e];i in window.component_factory&&(o=window.component_factory[i](s));let r={};return r.question=o,r}async function s(e){let t=e.querySelector("[data-component]");if(null==t)return void console.log("Render was called for a component, but now [data-component] attribute is present. This may mean the component has already been rendered.");let n=t.dataset.component;if(await(0,o.w)(n),0==$(this).closest("[data-component=timedAssessment]").length)try{let e=t.id;window.componentMap[e]=window.component_factory[n]({orig:t,useRunestoneServices:eBookConfig.useRunestoneServices})}catch(e){console.log(`Error rendering ${n} Problem ${this.id}\n Details: ${e}`)}}}},e=>{e.O(0,[723],(()=>e(e.s=77394))),e.O()}]); -//# sourceMappingURL=prefix-runestone.7e141ad8414abf4a.bundle.js.map \ No newline at end of file +/*! For license information please see prefix-runestone.1c010553c35c544c.bundle.js.LICENSE.txt */ +(self.webpackChunkWebComponents=self.webpackChunkWebComponents||[]).push([[222],{3403:()=>{!function(e){var t=function(t,n){var o;(o=function(t,i){i=i||0,t.find("> li > a.internal, > ul, > li > ul").each((function(t,a){var s=e(a),r=a.tagName.toLowerCase(),d=s.children("li"),l=e(s.parent("li"),s.parent().parent("li"));"ul"===r&&i>=n&&d.length>0&&(l.addClass("dropdown-submenu").children("a").first().attr("tabindex",-1),s.addClass("dropdown-menu")),o(s,i+1)}))})(t)};patchTables=function(){e("table.docutils").removeClass("docutils").addClass("table").attr("border",0)},e((function(){if(e("#navbar.navbar-fixed-top").length>0){var n=e("#navbar").height(),o=function(){scrollBy(0,-n-10)};location.hash&&o(),window.addEventListener("hashchange",o)}e(".dropdown-menu").each((function(){e(this).find("ul").each((function(t,n){e(n).addClass("unstyled")}))})),e("ul.globaltoc li").length?t(e("ul.globaltoc"),1):e(".globaltoc-container").remove(),t(e("ul.localtoc"),2),e(".dropdown-menu ul").not(".dropdown-menu").each((function(){var t=e(this),n=t.parent(),o=n[0].tagName.toLowerCase(),i=t.children().detach();"ul"===o?t.replaceWith(i):"li"===o&&(n.after(i),t.remove())})),$localLi=e("ul.localtoc li"),$localLi.length>2&&$localLi.first().after('
  • '),e(".dropdown-toggle").dropdown(),patchTables(),e("div.note").addClass("alert").addClass("alert-info"),e("div.warning").addClass("alert").addClass("alert-warning"),e("tt.docutils.literal").not(".xref").each((function(t,n){e(n).parent().hasClass("reference")||e(n).replaceWith((function(){return e("").text(e(this).text())}))}))}))}(window.jQuery)},19695:()=>{var e,t=!1;function n(){t||(function(){let t=$("[data-childcomponent]");t.addClass("runestone"),t.parent().closest("div").not("section").addClass("runestone"),t.parent().closest("div").css("max-width","none"),t.each((function(e){$(this),$(this).find(".ac_code_div, .ac_output").wrapAll("
    ")})),$("section img").wrap('
    '),e=$(".runestone").not(".runestone .runestone"),$("h1").before("
    ")}(),t=!0);let n=$("body"),o="present",a="full-height",s="bottom";n.hasClass(o)?($("section *").not("h1, .presentation-title, .btn-presenter, .runestone, .runestone *, section, .pre, code").removeClass("hidden"),$("#completionButton").removeClass("hidden"),n.removeClass(o),$("."+a).removeClass(a),$("."+s).removeClass(s),localStorage.setItem("presentMode","text"),e.removeClass("hidden"),undefined.disabled=!0):($("section *").not("h1, .presentation-title, .btn-presenter, .runestone, .runestone *, section, .pre, code").addClass("hidden"),$("#completionButton").addClass("hidden"),n.addClass(o),n.addClass(a),$("html").addClass(a),$("section .runestone").addClass(a),$(".ac-caption").addClass(s),localStorage.setItem("presentMode",o),i())}function o(){return active=e.filter(".active")}function i(t){void 0===t&&(t=0);let n=o();e.length&&(n.removeClass("active"),n=$(e[t]).addClass("active"),n.removeClass("hidden"),e.not(e.filter(".active")).addClass("hidden"))}window.nextExercise=function(){let t=o(),n=e.index(t)+1;n=0&&i(n)},$(document).on("runestone:login-complete",(function(){eBookConfig.isInstructor&&($(".navbar-right").prepend(""),$(".mode-select").change(n))}))},23836:()=>{!function(e){"use strict";e.i18n=e.i18n||{},e.extend(e.i18n.fallbacks,{ab:["ru"],ace:["id"],aln:["sq"],als:["gsw","de"],an:["es"],anp:["hi"],arn:["es"],arz:["ar"],av:["ru"],ay:["es"],ba:["ru"],bar:["de"],"bat-smg":["sgs","lt"],bcc:["fa"],"be-x-old":["be-tarask"],bh:["bho"],bjn:["id"],bm:["fr"],bpy:["bn"],bqi:["fa"],bug:["id"],"cbk-zam":["es"],ce:["ru"],crh:["crh-latn"],"crh-cyrl":["ru"],csb:["pl"],cv:["ru"],"de-at":["de"],"de-ch":["de"],"de-formal":["de"],dsb:["de"],dtp:["ms"],egl:["it"],eml:["it"],ff:["fr"],fit:["fi"],"fiu-vro":["vro","et"],frc:["fr"],frp:["fr"],frr:["de"],fur:["it"],gag:["tr"],gan:["gan-hant","zh-hant","zh-hans"],"gan-hans":["zh-hans"],"gan-hant":["zh-hant","zh-hans"],gl:["pt"],glk:["fa"],gn:["es"],gsw:["de"],hif:["hif-latn"],hsb:["de"],ht:["fr"],ii:["zh-cn","zh-hans"],inh:["ru"],iu:["ike-cans"],jut:["da"],jv:["id"],kaa:["kk-latn","kk-cyrl"],kbd:["kbd-cyrl"],khw:["ur"],kiu:["tr"],kk:["kk-cyrl"],"kk-arab":["kk-cyrl"],"kk-latn":["kk-cyrl"],"kk-cn":["kk-arab","kk-cyrl"],"kk-kz":["kk-cyrl"],"kk-tr":["kk-latn","kk-cyrl"],kl:["da"],"ko-kp":["ko"],koi:["ru"],krc:["ru"],ks:["ks-arab"],ksh:["de"],ku:["ku-latn"],"ku-arab":["ckb"],kv:["ru"],lad:["es"],lb:["de"],lbe:["ru"],lez:["ru"],li:["nl"],lij:["it"],liv:["et"],lmo:["it"],ln:["fr"],ltg:["lv"],lzz:["tr"],mai:["hi"],"map-bms":["jv","id"],mg:["fr"],mhr:["ru"],min:["id"],mo:["ro"],mrj:["ru"],mwl:["pt"],myv:["ru"],mzn:["fa"],nah:["es"],nap:["it"],nds:["de"],"nds-nl":["nl"],"nl-informal":["nl"],no:["nb"],os:["ru"],pcd:["fr"],pdc:["de"],pdt:["de"],pfl:["de"],pms:["it"],pt:["pt-br"],"pt-br":["pt"],qu:["es"],qug:["qu","es"],rgn:["it"],rmy:["ro"],"roa-rup":["rup"],rue:["uk","ru"],ruq:["ruq-latn","ro"],"ruq-cyrl":["mk"],"ruq-latn":["ro"],sa:["hi"],sah:["ru"],scn:["it"],sg:["fr"],sgs:["lt"],sli:["de"],sr:["sr-ec"],srn:["nl"],stq:["de"],su:["id"],szl:["pl"],tcy:["kn"],tg:["tg-cyrl"],tt:["tt-cyrl","ru"],"tt-cyrl":["ru"],ty:["fr"],udm:["ru"],ug:["ug-arab"],uk:["ru"],vec:["it"],vep:["et"],vls:["nl"],vmf:["de"],vot:["fi"],vro:["et"],wa:["fr"],wo:["fr"],wuu:["zh-hans"],xal:["ru"],xmf:["ka"],yi:["he"],za:["zh-hans"],zea:["nl"],zh:["zh-hans"],"zh-classical":["lzh"],"zh-cn":["zh-hans"],"zh-hant":["zh-hans"],"zh-hk":["zh-hant","zh-hans"],"zh-min-nan":["nan"],"zh-mo":["zh-hk","zh-hant","zh-hans"],"zh-my":["zh-sg","zh-hans"],"zh-sg":["zh-hans"],"zh-tw":["zh-hant","zh-hans"],"zh-yue":["yue"]})}(jQuery)},35773:()=>{!function(e){"use strict";var t={pluralRules:{ak:{one:"n = 0..1"},am:{one:"i = 0 or n = 1"},ar:{zero:"n = 0",one:"n = 1",two:"n = 2",few:"n % 100 = 3..10",many:"n % 100 = 11..99"},ars:{zero:"n = 0",one:"n = 1",two:"n = 2",few:"n % 100 = 3..10",many:"n % 100 = 11..99"},as:{one:"i = 0 or n = 1"},be:{one:"n % 10 = 1 and n % 100 != 11",few:"n % 10 = 2..4 and n % 100 != 12..14",many:"n % 10 = 0 or n % 10 = 5..9 or n % 100 = 11..14"},bh:{one:"n = 0..1"},bn:{one:"i = 0 or n = 1"},br:{one:"n % 10 = 1 and n % 100 != 11,71,91",two:"n % 10 = 2 and n % 100 != 12,72,92",few:"n % 10 = 3..4,9 and n % 100 != 10..19,70..79,90..99",many:"n != 0 and n % 1000000 = 0"},bs:{one:"v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11",few:"v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14"},cs:{one:"i = 1 and v = 0",few:"i = 2..4 and v = 0",many:"v != 0"},cy:{zero:"n = 0",one:"n = 1",two:"n = 2",few:"n = 3",many:"n = 6"},da:{one:"n = 1 or t != 0 and i = 0,1"},dsb:{one:"v = 0 and i % 100 = 1 or f % 100 = 1",two:"v = 0 and i % 100 = 2 or f % 100 = 2",few:"v = 0 and i % 100 = 3..4 or f % 100 = 3..4"},fa:{one:"i = 0 or n = 1"},ff:{one:"i = 0,1"},fil:{one:"v = 0 and i = 1,2,3 or v = 0 and i % 10 != 4,6,9 or v != 0 and f % 10 != 4,6,9"},fr:{one:"i = 0,1"},ga:{one:"n = 1",two:"n = 2",few:"n = 3..6",many:"n = 7..10"},gd:{one:"n = 1,11",two:"n = 2,12",few:"n = 3..10,13..19"},gu:{one:"i = 0 or n = 1"},guw:{one:"n = 0..1"},gv:{one:"v = 0 and i % 10 = 1",two:"v = 0 and i % 10 = 2",few:"v = 0 and i % 100 = 0,20,40,60,80",many:"v != 0"},he:{one:"i = 1 and v = 0",two:"i = 2 and v = 0",many:"v = 0 and n != 0..10 and n % 10 = 0"},hi:{one:"i = 0 or n = 1"},hr:{one:"v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11",few:"v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14"},hsb:{one:"v = 0 and i % 100 = 1 or f % 100 = 1",two:"v = 0 and i % 100 = 2 or f % 100 = 2",few:"v = 0 and i % 100 = 3..4 or f % 100 = 3..4"},hy:{one:"i = 0,1"},is:{one:"t = 0 and i % 10 = 1 and i % 100 != 11 or t != 0"},iu:{one:"n = 1",two:"n = 2"},iw:{one:"i = 1 and v = 0",two:"i = 2 and v = 0",many:"v = 0 and n != 0..10 and n % 10 = 0"},kab:{one:"i = 0,1"},kn:{one:"i = 0 or n = 1"},kw:{one:"n = 1",two:"n = 2"},lag:{zero:"n = 0",one:"i = 0,1 and n != 0"},ln:{one:"n = 0..1"},lt:{one:"n % 10 = 1 and n % 100 != 11..19",few:"n % 10 = 2..9 and n % 100 != 11..19",many:"f != 0"},lv:{zero:"n % 10 = 0 or n % 100 = 11..19 or v = 2 and f % 100 = 11..19",one:"n % 10 = 1 and n % 100 != 11 or v = 2 and f % 10 = 1 and f % 100 != 11 or v != 2 and f % 10 = 1"},mg:{one:"n = 0..1"},mk:{one:"v = 0 and i % 10 = 1 or f % 10 = 1"},mo:{one:"i = 1 and v = 0",few:"v != 0 or n = 0 or n != 1 and n % 100 = 1..19"},mr:{one:"i = 0 or n = 1"},mt:{one:"n = 1",few:"n = 0 or n % 100 = 2..10",many:"n % 100 = 11..19"},naq:{one:"n = 1",two:"n = 2"},nso:{one:"n = 0..1"},pa:{one:"n = 0..1"},pl:{one:"i = 1 and v = 0",few:"v = 0 and i % 10 = 2..4 and i % 100 != 12..14",many:"v = 0 and i != 1 and i % 10 = 0..1 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100 = 12..14"},prg:{zero:"n % 10 = 0 or n % 100 = 11..19 or v = 2 and f % 100 = 11..19",one:"n % 10 = 1 and n % 100 != 11 or v = 2 and f % 10 = 1 and f % 100 != 11 or v != 2 and f % 10 = 1"},pt:{one:"i = 0..1"},ro:{one:"i = 1 and v = 0",few:"v != 0 or n = 0 or n != 1 and n % 100 = 1..19"},ru:{one:"v = 0 and i % 10 = 1 and i % 100 != 11",few:"v = 0 and i % 10 = 2..4 and i % 100 != 12..14",many:"v = 0 and i % 10 = 0 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100 = 11..14"},se:{one:"n = 1",two:"n = 2"},sh:{one:"v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11",few:"v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14"},shi:{one:"i = 0 or n = 1",few:"n = 2..10"},si:{one:"n = 0,1 or i = 0 and f = 1"},sk:{one:"i = 1 and v = 0",few:"i = 2..4 and v = 0",many:"v != 0"},sl:{one:"v = 0 and i % 100 = 1",two:"v = 0 and i % 100 = 2",few:"v = 0 and i % 100 = 3..4 or v != 0"},sma:{one:"n = 1",two:"n = 2"},smi:{one:"n = 1",two:"n = 2"},smj:{one:"n = 1",two:"n = 2"},smn:{one:"n = 1",two:"n = 2"},sms:{one:"n = 1",two:"n = 2"},sr:{one:"v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11",few:"v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14"},ti:{one:"n = 0..1"},tl:{one:"v = 0 and i = 1,2,3 or v = 0 and i % 10 != 4,6,9 or v != 0 and f % 10 != 4,6,9"},tzm:{one:"n = 0..1 or n = 11..99"},uk:{one:"v = 0 and i % 10 = 1 and i % 100 != 11",few:"v = 0 and i % 10 = 2..4 and i % 100 != 12..14",many:"v = 0 and i % 10 = 0 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100 = 11..14"},wa:{one:"n = 0..1"},zu:{one:"i = 0 or n = 1"}},convertPlural:function(t,n){var o,i,a,s,r=new RegExp("\\d+=","i");if(!n||0===n.length)return"";for(a=0;a{!function(e){"use strict";var t;t=new RegExp("(?:([A-Za-zªµºÀ-ÖØ-öø-ʸʻ-ˁːˑˠ-ˤˮͰ-ͳͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-҂Ҋ-ԯԱ-Ֆՙ-՟ա-և։ः-हऻऽ-ीॉ-ौॎ-ॐक़-ॡ।-ঀংঃঅ-ঌএঐও-নপ-রলশ-হঽ-ীেৈোৌৎৗড়ঢ়য়-ৡ০-ৱ৴-৺ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਾ-ੀਖ਼-ੜਫ਼੦-੯ੲ-ੴઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽ-ીૉોૌૐૠૡ૦-૰ૹଂଃଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽାୀେୈୋୌୗଡ଼ଢ଼ୟ-ୡ୦-୷ஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹாிுூெ-ைொ-ௌௐௗ௦-௲ఁ-ఃఅ-ఌఎ-ఐఒ-నప-హఽు-ౄౘ-ౚౠౡ౦-౯౿ಂಃಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽ-ೄೆ-ೈೊೋೕೖೞೠೡ೦-೯ೱೲംഃഅ-ഌഎ-ഐഒ-ഺഽ-ീെ-ൈൊ-ൌൎൗൟ-ൡ൦-൵൹-ൿංඃඅ-ඖක-නඳ-රලව-ෆා-ෑෘ-ෟ෦-෯ෲ-෴ก-ะาำเ-ๆ๏-๛ກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆ໐-໙ໜ-ໟༀ-༗༚-༴༶༸༾-ཇཉ-ཬཿ྅ྈ-ྌ྾-࿅࿇-࿌࿎-࿚က-ာေးျြဿ-ၗၚ-ၝၡ-ၰၵ-ႁႃႄႇ-ႌႎ-ႜ႞-ჅჇჍა-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚ፠-፼ᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙿᚁ-ᚚᚠ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱ᜵᜶ᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳាើ-ៅះៈ។-៚ៜ០-៩᠐-᠙ᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᤣ-ᤦᤩ-ᤫᤰᤱᤳ-ᤸ᥆-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉ᧐-᧚ᨀ-ᨖᨙᨚ᨞-ᩕᩗᩡᩣᩤᩭ-ᩲ᪀-᪉᪐-᪙᪠-᪭ᬄ-ᬳᬵᬻᬽ-ᭁᭃ-ᭋ᭐-᭪᭴-᭼ᮂ-ᮡᮦᮧ᮪ᮮ-ᯥᯧᯪ-ᯬᯮ᯲᯳᯼-ᰫᰴᰵ᰻-᱉ᱍ-᱿᳀-᳇᳓᳡ᳩ-ᳬᳮ-ᳳᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼ‎ⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎ⅏Ⅰ-ↈ⌶-⍺⎕⒜-ⓩ⚬⠀-⣿Ⰰ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯ⵰ⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〮〯〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎ㆐-ㆺㇰ-㈜㈠-㉏㉠-㉻㉿-㊰㋀-㋋㋐-㋾㌀-㍶㍻-㏝㏠-㏾㐀-䶵一-鿕ꀀ-ꒌꓐ-ꘌꘐ-ꘫꙀ-ꙮꚀ-ꚝꚠ-ꛯ꛲-꛷Ꜣ-ꞇ꞉-ꞭꞰ-ꞷꟷ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠤꠧ꠰-꠷ꡀ-ꡳꢀ-ꣃ꣎-꣙ꣲ-ꣽ꤀-ꤥ꤮-ꥆꥒ꥓꥟-ꥼꦃ-ꦲꦴꦵꦺꦻꦽ-꧍ꧏ-꧙꧞-ꧤꧦ-ꧾꨀ-ꨨꨯꨰꨳꨴꩀ-ꩂꩄ-ꩋꩍ꩐-꩙꩜-ꩻꩽ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫫꫮ-ꫵꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭥꭰ-ꯤꯦꯧꯩ-꯬꯰-꯹가-힣ힰ-ퟆퟋ-ퟻ-舘並-龎ff-stﬓ-ﬗA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ]|\ud800[\udc00-\udc0b]|\ud800[\udc0d-\udc26]|\ud800[\udc28-\udc3a]|𐀼|𐀽|\ud800[\udc3f-\udc4d]|\ud800[\udc50-\udc5d]|\ud800[\udc80-\udcfa]|𐄀|𐄂|\ud800[\udd07-\udd33]|\ud800[\udd37-\udd3f]|\ud800[\uddd0-\uddfc]|\ud800[\ude80-\ude9c]|\ud800[\udea0-\uded0]|\ud800[\udf00-\udf23]|\ud800[\udf30-\udf4a]|\ud800[\udf50-\udf75]|\ud800[\udf80-\udf9d]|\ud800[\udf9f-\udfc3]|\ud800[\udfc8-\udfd5]|\ud801[\udc00-\udc9d]|\ud801[\udca0-\udca9]|\ud801[\udd00-\udd27]|\ud801[\udd30-\udd63]|𐕯|\ud801[\ude00-\udf36]|\ud801[\udf40-\udf55]|\ud801[\udf60-\udf67]|𑀀|\ud804[\udc02-\udc37]|\ud804[\udc47-\udc4d]|\ud804[\udc66-\udc6f]|\ud804[\udc82-\udcb2]|𑂷|𑂸|\ud804[\udcbb-\udcc1]|\ud804[\udcd0-\udce8]|\ud804[\udcf0-\udcf9]|\ud804[\udd03-\udd26]|𑄬|\ud804[\udd36-\udd43]|\ud804[\udd50-\udd72]|\ud804[\udd74-\udd76]|\ud804[\udd82-\uddb5]|\ud804[\uddbf-\uddc9]|𑇍|\ud804[\uddd0-\udddf]|\ud804[\udde1-\uddf4]|\ud804[\ude00-\ude11]|\ud804[\ude13-\ude2e]|𑈲|𑈳|𑈵|\ud804[\ude38-\ude3d]|\ud804[\ude80-\ude86]|𑊈|\ud804[\ude8a-\ude8d]|\ud804[\ude8f-\ude9d]|\ud804[\ude9f-\udea9]|\ud804[\udeb0-\udede]|\ud804[\udee0-\udee2]|\ud804[\udef0-\udef9]|𑌂|𑌃|\ud804[\udf05-\udf0c]|𑌏|𑌐|\ud804[\udf13-\udf28]|\ud804[\udf2a-\udf30]|𑌲|𑌳|\ud804[\udf35-\udf39]|\ud804[\udf3d-\udf3f]|\ud804[\udf41-\udf44]|𑍇|𑍈|\ud804[\udf4b-\udf4d]|𑍐|𑍗|\ud804[\udf5d-\udf63]|\ud805[\udc80-\udcb2]|𑒹|\ud805[\udcbb-\udcbe]|𑓁|\ud805[\udcc4-\udcc7]|\ud805[\udcd0-\udcd9]|\ud805[\udd80-\uddb1]|\ud805[\uddb8-\uddbb]|𑖾|\ud805[\uddc1-\udddb]|\ud805[\ude00-\ude32]|𑘻|𑘼|𑘾|\ud805[\ude41-\ude44]|\ud805[\ude50-\ude59]|\ud805[\ude80-\udeaa]|𑚬|𑚮|𑚯|𑚶|\ud805[\udec0-\udec9]|\ud805[\udf00-\udf19]|𑜠|𑜡|𑜦|\ud805[\udf30-\udf3f]|\ud806[\udca0-\udcf2]|𑣿|\ud806[\udec0-\udef8]|\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e]|\ud809[\udc70-\udc74]|\ud809[\udc80-\udd43]|\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38]|\ud81a[\ude40-\ude5e]|\ud81a[\ude60-\ude69]|𖩮|𖩯|\ud81a[\uded0-\udeed]|𖫵|\ud81a[\udf00-\udf2f]|\ud81a[\udf37-\udf45]|\ud81a[\udf50-\udf59]|\ud81a[\udf5b-\udf61]|\ud81a[\udf63-\udf77]|\ud81a[\udf7d-\udf8f]|\ud81b[\udf00-\udf44]|\ud81b[\udf50-\udf7e]|\ud81b[\udf93-\udf9f]|𛀀|𛀁|\ud82f[\udc00-\udc6a]|\ud82f[\udc70-\udc7c]|\ud82f[\udc80-\udc88]|\ud82f[\udc90-\udc99]|𛲜|𛲟|\ud834[\udc00-\udcf5]|\ud834[\udd00-\udd26]|\ud834[\udd29-\udd66]|\ud834[\udd6a-\udd72]|𝆃|𝆄|\ud834[\udd8c-\udda9]|\ud834[\uddae-\udde8]|\ud834[\udf60-\udf71]|\ud835[\udc00-\udc54]|\ud835[\udc56-\udc9c]|𝒞|𝒟|𝒢|𝒥|𝒦|\ud835[\udca9-\udcac]|\ud835[\udcae-\udcb9]|𝒻|\ud835[\udcbd-\udcc3]|\ud835[\udcc5-\udd05]|\ud835[\udd07-\udd0a]|\ud835[\udd0d-\udd14]|\ud835[\udd16-\udd1c]|\ud835[\udd1e-\udd39]|\ud835[\udd3b-\udd3e]|\ud835[\udd40-\udd44]|𝕆|\ud835[\udd4a-\udd50]|\ud835[\udd52-\udea5]|\ud835[\udea8-\udeda]|\ud835[\udedc-\udf14]|\ud835[\udf16-\udf4e]|\ud835[\udf50-\udf88]|\ud835[\udf8a-\udfc2]|\ud835[\udfc4-\udfcb]|\ud836[\udc00-\uddff]|\ud836[\ude37-\ude3a]|\ud836[\ude6d-\ude74]|\ud836[\ude76-\ude83]|\ud836[\ude85-\ude8b]|\ud83c[\udd10-\udd2e]|\ud83c[\udd30-\udd69]|\ud83c[\udd70-\udd9a]|\ud83c[\udde6-\ude02]|\ud83c[\ude10-\ude3a]|\ud83c[\ude40-\ude48]|🉐|🉑|[\ud840-\ud868][\udc00-\udfff]|\ud869[\udc00-\uded6]|\ud869[\udf00-\udfff]|[\ud86a-\ud86c][\udc00-\udfff]|\ud86d[\udc00-\udf34]|\ud86d[\udf40-\udfff]|\ud86e[\udc00-\udc1d]|\ud86e[\udc20-\udfff]|[\ud86f-\ud872][\udc00-\udfff]|\ud873[\udc00-\udea1]|\ud87e[\udc00-\ude1d]|[\udb80-\udbbe][\udc00-\udfff]|\udbbf[\udc00-\udffd]|[\udbc0-\udbfe][\udc00-\udfff]|\udbff[\udc00-\udffd])|([֐־׀׃׆׈-׿߀-ߪߴߵߺ-ࠕࠚࠤࠨ࠮-ࡘ࡜-࢟‏יִײַ-ﬨשׁ-ﭏ؈؋؍؛-ي٭-ٯٱ-ەۥۦۮۯۺ-ܐܒ-ܯ݋-ޥޱ-޿ࢠ-࣢ﭐ-ﴽ﵀-﷏ﷰ-﷼﷾﷿ﹰ-﻾]|\ud802[\udc00-\udd1e]|\ud802[\udd20-\ude00]|𐨄|\ud802[\ude07-\ude0b]|\ud802[\ude10-\ude37]|\ud802[\ude3b-\ude3e]|\ud802[\ude40-\udee4]|\ud802[\udee7-\udf38]|\ud802[\udf40-\udfff]|\ud803[\udc00-\ude5f]|\ud803[\ude7f-\udfff]|\ud83a[\udc00-\udccf]|\ud83a[\udcd7-\udfff]|\ud83b[\udc00-\uddff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\ude00-\udeef]|\ud83b[\udef2-\udeff]))"),e.extend(e.i18n.parser.emitter,{bidi:function(e){var n,o=(n=e[0].match(t))?void 0===n[2]?"ltr":"rtl":null;return"ltr"===o?"‪"+e[0]+"‬":"rtl"===o?"‫"+e[0]+"‬":e[0]}})}(jQuery)},41669:e=>{"use strict";e.exports=jQuery},46905:()=>{!function(e){"use strict";var t=function(){this.language=e.i18n.languages[String.locale]||e.i18n.languages.default};t.prototype={constructor:t,emit:function(t,n){var o,i,a,s=this;switch(typeof t){case"string":case"number":o=t;break;case"object":if(i=e.map(t.slice(1),(function(e){return s.emit(e,n)})),a=t[0].toLowerCase(),"function"!=typeof s[a])throw new Error('unknown operation "'+a+'"');o=s[a](i,n);break;case"undefined":o="";break;default:throw new Error("unexpected type in AST: "+typeof t)}return o},concat:function(t){var n="";return e.each(t,(function(e,t){n+=t})),n},replace:function(e,t){var n=parseInt(e[0],10);return n{!function(e){"use strict";var t=function(t){this.options=e.extend({},e.i18n.parser.defaults,t),this.language=e.i18n.languages[String.locale]||e.i18n.languages.default,this.emitter=e.i18n.parser.emitter};t.prototype={constructor:t,simpleParse:function(e,t){return e.replace(/\$(\d+)/g,(function(e,n){var o=parseInt(n,10)-1;return void 0!==t[o]?t[o]:"$"+n}))},parse:function(t,n){return t.indexOf("{{")<0?this.simpleParse(t,n):(this.emitter.language=e.i18n.languages[e.i18n().locale]||e.i18n.languages.default,this.emitter.emit(this.ast(t),n))},ast:function(e){var t,n,o,i,a,s,r,d,l,u,c,f,m,h,g,p,v,w,b,y=0;function k(e){return function(){var t,n;for(t=0;t1?["CONCAT"].concat(e):e[0]}function L(){var e=C([f,n,E]);return null===e?null:[e[0],e[2]]}function T(){var e=C([f,n,p]);return null===e?null:[e[0],e[2]]}function I(){var e=C([m,c,h]);return null===e?null:e[1]}if(t=S("|"),n=S(":"),o=S("\\"),i=x(/^./),a=S("$"),s=x(/^\d+/),r=x(/^[^{}[\]$\\]/),d=x(/^[^{}[\]$\\|]/),k([_,x(/^[^{}[\]$\s]/)]),l=k([_,d]),u=k([_,r]),w=x(/^[ !"$&'()*,./0-9;=?@A-Z^_`a-z~\x80-\xFF+-]+/),b=function(e){return e.toString()},f=function(){var e=w();return null===e?null:b(e)},c=k([function(){var e=C([k([L,T]),$(0,B)]);return null===e?null:e[0].concat(e[1])},function(){var e=C([f,$(0,B)]);return null===e?null:[e[0]].concat(e[1])}]),m=S("{{"),h=S("}}"),g=k([I,E,function(){var e=$(1,u)();return null===e?null:e.join("")}]),p=k([I,E,function(){var e=$(1,l)();return null===e?null:e.join("")}]),null===(v=function(){var e=$(0,g)();return null===e?null:["CONCAT"].concat(e)}())||y!==e.length)throw new Error("Parse error at position "+y.toString()+" in input: "+e);return v}},e.extend(e.i18n.parser,new t)}(jQuery)},51399:()=>{!function(e){"use strict";var t=function(){this.messages={},this.sources={}};t.prototype={load:function(t,n){var o,i,a=null,s=[],r=this;if("string"==typeof t)return e.i18n.log("Loading messages from: "+t),(o=t,i=e.Deferred(),e.getJSON(o).done(i.resolve).fail((function(t,n,a){e.i18n.log("Error in loading messages from "+o+" Exception: "+a),i.resolve()})),i.promise()).done((function(e){r.set(n,e)})).promise();if(n)return r.set(n,t),e.Deferred().resolve();for(a in t)Object.prototype.hasOwnProperty.call(t,a)&&(n=a,s.push(r.load(t[a],n)));return e.when.apply(e,s)},set:function(t,n){this.messages[t]?this.messages[t]=e.extend(this.messages[t],n):this.messages[t]=n},get:function(e,t){return this.messages[e]&&this.messages[e][t]}},e.extend(e.i18n.messageStore,new t)}(jQuery)},52329:()=>{!function(e){"use strict";var t,n,o,i=Array.prototype.slice;(t=function(n){this.options=e.extend({},t.defaults,n),this.parser=this.options.parser,this.locale=this.options.locale,this.messageStore=this.options.messageStore,this.languages={}}).prototype={localize:function(t){var n,o,i,a,s,r;for(i=this.locale,a=0;i;){o=(n=i.split("-")).length;do{if(s=n.slice(0,o).join("-"),r=this.messageStore.get(s,t))return r;o--}while(o);if("en"===i)break;i=e.i18n.fallbacks[this.locale]&&e.i18n.fallbacks[this.locale][a]||this.options.fallbackLocale,e.i18n.log("Trying fallback locale for "+this.locale+": "+i+" ("+t+")"),a++}return""},destroy:function(){e.removeData(document,"i18n")},load:function(t,n){var o,i,a,s={};if(t||n||(t="i18n/"+e.i18n().locale+".json",n=e.i18n().locale),"string"==typeof t&&"json"!==t.split("?")[0].split(".").pop()){for(s[n]=t+"/"+n+".json",o=(e.i18n.fallbacks[n]||[]).concat(this.options.fallbackLocale),i=0;i{!function(e){e.idleTimer=function(t,n,o){o=e.extend({startImmediately:!0,idle:!1,enabled:!0,timeout:3e4,events:"mousemove keydown DOMMouseScroll mousewheel mousedown touchstart touchmove"},o),n=n||document;var i=function(t){"number"==typeof t&&(t=void 0);var a=e.data(t||n,"idleTimerObj");a.idle=!a.idle;var s=+new Date-a.olddate;if(a.olddate=+new Date,a.idle&&s{"use strict";function o(){return!!document.querySelector("body.pretext")}function i(e,t,n,i){var a=window.location.pathname;-1!==a.indexOf("?")&&(a=a.substring(0,a.lastIndexOf("?")));let s=o();var r={lastPageUrl:a,lastPageScrollLocation:Math.round($(window).scrollTop()),completionFlag:e,pageLoad:t,markingComplete:n,markingIncomplete:i,course:eBookConfig.course,isPtxBook:s};$(document).ajaxError((function(e,t,n,o){console.log("Request Failed for "+n.url),console.log(e)})),jQuery.ajax({url:`${eBookConfig.new_server_prefix}/logger/updatelastpage`,contentType:"application/json; charset=utf-8",dataType:"json",data:JSON.stringify(r),method:"POST",async:!0})}n.d(t,{w:()=>p}),n(67375),n(66495),n(52329),n(39161),n(46905),n(23836),n(51399),n(49276),n(35773),n(52754),n(3403),n(83057),$(document).on("runestone:login",(function(){var e;!function(){if(!window.location.href.match(/(\/index.html|toctree.html|genindex.html|navhelp.html|toc.html|assignments.html|Exercises.html)/)){var e=window.location.pathname;-1!==e.indexOf("?")&&(e=e.substring(0,e.lastIndexOf("?")));var t={lastPageUrl:e,isPtxBook:o()};jQuery.ajax({url:`${eBookConfig.new_server_prefix}/logger/getCompletionStatus`,data:t,async:!1}).done((function(e){if("None"!=e){var t,n;1==e.detail[0].completionStatus?(t="buttonConfirmCompletion",n=" Completed. Well Done!"):(t="buttonAskCompletion",n="Mark as Completed");let o=document.querySelector("#scprogresscontainer");o&&o.classList.add("ptx-runestone-container"),$("#scprogresscontainer").append('
    ")}}))}}(),void 0!==(e=$.getUrlVar("lastPosition"))&&($("body").append(''),$("html, body").animate({scrollTop:parseInt(e)},1e3)),function(){if(!window.location.href.match(/(index.html|genindex.html|navhelp.html|toc.html|assignments.html|Exercises.html|toctree.html)/)){var e,t=-$("#navLinkBgRight").outerWidth()-5;$("#completionButton").hasClass("buttonAskCompletion")?e=t+70:$("#completionButton").hasClass("buttonConfirmCompletion")&&(e=0);var n=$("#relations-next").css("right"),o=-(t+35);$("#navLinkBgRight").css("right",t).show();var a=!1;$(window).scroll((function(){$(window).scrollTop()+$(window).height()==$(document).height()?($("#navLinkBgRight").animate({right:e},200),$("#navLinkBgLeft").animate({left:"0px"},200),$("#completionButton").hasClass("buttonConfirmCompletion")&&$("#relations-next").animate({right:o},200),a=!0):a&&($("#navLinkBgRight").animate({right:t},200),$("#navLinkBgLeft").animate({left:"-65px"},200),$("#relations-next").animate({right:n}),a=!1)}));var s=0;i(s=$("#completionButton").hasClass("buttonAskCompletion")?0:1,!0,!1,!1),$("#completionButton").on("click",(function(){var a=!1,r=!1;$(this).hasClass("buttonAskCompletion")?($(this).removeClass("buttonAskCompletion").addClass("buttonConfirmCompletion").html(" Completed. Well Done!"),$("#navLinkBgRight").animate({right:0}),$("#relations-next").animate({right:o}),e=0,s=1,a=!0):$(this).hasClass("buttonConfirmCompletion")&&($(this).removeClass("buttonConfirmCompletion").addClass("buttonAskCompletion").html("Mark as Completed"),e=t+70,$("#navLinkBgRight").animate({right:e}),$("#relations-next").animate({right:n}),s=0,r=!0),i(s,!1,a,r)}))}}(),function(){if(-1!=window.location.href.toLowerCase().indexOf("toc.html")||-1!=window.location.href.toLowerCase().indexOf("index.html")||-1!=window.location.href.toLowerCase().indexOf("frontmatter")){o()||jQuery.get(`${eBookConfig.new_server_prefix}/logger/getAllCompletionStatus`,(function(e){var t;if("None"!=e){t=e.detail;var n=$("#main-content div li a");$.each(t,(function(e,t){for(var o=0;o- Completed this topic on '+t.endDate+"").children().first().hover((function(){$(this).next(".infoTextCompleted").show()}),(function(){$(this).next(".infoTextCompleted").hide()})):0==t.completionStatus&&$(n[o].parentElement).addClass("active").append('Last read this topic on '+t.endDate+"").children().first().hover((function(){$(this).next(".infoTextActive").show()}),(function(){$(this).next(".infoTextActive").hide()})))}))}}));var e={course:eBookConfig.course};jQuery.get(`${eBookConfig.new_server_prefix}/logger/getlastpage`,e,(function(e){var t;"None"!=e&&null!=(t=e.detail).lastPageChapter&&$("#continue-reading").show().html('
    You were Last Reading: '+t.lastPageChapter+(t.lastPageSubchapter?" > "+t.lastPageSubchapter:"")+' Continue Reading
    ')}))}}()})),$.extend({getUrlVars:function(){for(var e,t=[],n=window.location.search.slice(window.location.search.indexOf("?")+1).split("&"),o=0;o{t.addEventListener("click",(function(){let n=t.getAttribute("data-knowl");e.logBookEvent({event:"knowl",act:"click",div_id:n})}))})),document.querySelectorAll("details.born-hidden-knowl").forEach((t=>{t.addEventListener("toggle",(function(){if(t.open){let n=t.id;e.logBookEvent({event:"knowl",act:"open",div_id:n})}}))})),document.querySelectorAll(".sagecell_evalButton").forEach((t=>{t.addEventListener("click",(function(){let n=t.closest(".ptx-sagecell"),o=n?n.querySelector(".sagecell_input"):null,i=(o&&o.textContent,n?n.id:null);i?e.logBookEvent({event:"sage",act:"run",div_id:i}):console.warn("Could not find container or div_id for sagecell button")}))})),"undefined"==typeof eBookConfig||eBookConfig.isInstructor||document.querySelectorAll(".commentary").forEach((e=>{e.style.display="none"}))}();let e=document.getElementById("primary-navbar-sticky-wrapper");e&&(e.style.overflow="visible")})),n(19695);var s=n(98098);class r extends a.A{constructor(){super(),this.initSplice()}initSplice(){window.addEventListener("message",(async e=>{var t,n,o=this.sendingIframe(e);if(console.log(`SpliceWrapper: received message subject: ${e.data.subject} from iframe: ${o?o.id:"unknown"}`),"SPLICE.reportScoreAndState"==e.data.subject)this.handleScoreAndState(e,o);else if("SPLICE.sendEvent"==e.data.subject)this.handleSpliceEvent(e,o);else if("SPLICE.getState"==e.data.subject)await this.handleGetState(e,o);else if("https://www.myopenmath.com"===e.origin&&"string"==typeof e.data&&-1!=e.data.indexOf("lti.ext.imathas.result")){let o=JSON.parse(e.data),i=(t=o.jwt.split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),n=decodeURIComponent(window.atob(t).split("").map((function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)})).join("")),JSON.parse(n));console.log("Result received from frame "+o.frame_id+" with score "+i.score)}}))}getUniqueID(e,t){if(t){let e=t.closest("[data-component]");if(e)return e.id}let n=e.data.activity_id;return n||(t?n=t.src:(n="unknown",console.error("Could not find iframe that sent the SPLICE event"))),n}handleScoreAndState(e,t){console.log("Got SPLICE.reportScoreAndState"),console.log(e.data.activity_id),console.log(e.data.score),console.log(e.data.state);let n=this.getUniqueID(e,t);this.logBookEvent({event:e.data.subject,div_id:n,act:`score: ${e.data.score}`,score:e.data.score,percent:e.data.score,correct:1==e.data.score,answer:JSON.stringify(e.data.state)})}sendingIframe(e){for(const t of document.getElementsByTagName("iframe"))if(t.contentWindow===e.source)return t}async getSavedState(e){try{const t=await fetch("/ns/assessment/results",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({div_id:e,course:eBookConfig.course,event:"SPLICE.getState"})});if(!t.ok)throw new Error(`HTTP error! status: ${t.status}`);return await t.json()}catch(e){return console.error("Error fetching SPLICE state:",e),null}}async handleGetState(e,t){console.log("Got SPLICE.getState"),console.log(e.data.activity_id),console.log(e.data.state);let n=this.getUniqueID(e,t),o=(await this.getSavedState(n)).detail.answer;e.source.postMessage({message_id:e.data.message_id,subject:"SPLICE.getState.response",state:o},"*")}handleSpliceEvent(e,t){console.log("Got SPLICE.sendEvent"),console.log(e.data.activity_id),console.log(e.data.name);let n=this.getUniqueID(e,t);this.logBookEvent({event:e.data.subject,div_id:n,act:e.data.name||"unknown"})}checkLocalStorage(){}setLocalStorage(){}restoreAnswers(){}disableInteraction(){}}const d={activecode:()=>Promise.all([n.e(249),n.e(296),n.e(625),n.e(764),n.e(877)]).then(n.bind(n,73565)),ble:()=>n.e(817).then(n.bind(n,29817)),clickablearea:()=>Promise.all([n.e(529),n.e(198)]).then(n.bind(n,58529)),codelens:()=>Promise.all([n.e(764),n.e(412)]).then(n.bind(n,76412)),datafile:()=>n.e(580).then(n.bind(n,33580)),dragndrop:()=>Promise.all([n.e(759),n.e(621)]).then(n.bind(n,56759)),fillintheblank:()=>Promise.all([n.e(466),n.e(294)]).then(n.bind(n,64466)),groupsub:()=>Promise.all([n.e(28),n.e(616)]).then(n.bind(n,24616)),khanex:()=>n.e(340).then(n.bind(n,28340)),lp_build:()=>Promise.all([n.e(296),n.e(576)]).then(n.bind(n,77576)),matching:()=>Promise.all([n.e(566),n.e(737)]).then(n.bind(n,14566)),multiplechoice:()=>Promise.all([n.e(919),n.e(350)]).then(n.bind(n,9919)),hparsons:()=>Promise.all([n.e(249),n.e(669),n.e(486)]).then(n.bind(n,71182)),parsons:()=>n.e(39).then(n.bind(n,52420)),poll:()=>n.e(168).then(n.bind(n,11168)),quizly:()=>n.e(128).then(n.bind(n,34128)),reveal:()=>n.e(460).then(n.bind(n,67460)),selectquestion:()=>Promise.all([n.e(662),n.e(380)]).then(n.bind(n,10662)),shortanswer:()=>Promise.all([n.e(819),n.e(850)]).then(n.bind(n,48819)),showeval:()=>n.e(824).then(n.bind(n,8824)),simple_sensor:()=>n.e(126).then(n.bind(n,50126)),spreadsheet:()=>Promise.all([n.e(131),n.e(186)]).then(n.bind(n,97186)),tabbedStuff:()=>n.e(442).then(n.bind(n,76442)),timedAssessment:()=>Promise.all([n.e(249),n.e(296),n.e(625),n.e(764),n.e(877),n.e(466),n.e(759),n.e(919),n.e(566),n.e(662),n.e(529),n.e(819),n.e(420),n.e(268)]).then(n.bind(n,46424)),wavedrom:()=>Promise.all([n.e(770),n.e(640)]).then(n.bind(n,45640)),webwork:()=>n.e(680).then(n.bind(n,84680)),youtube:()=>n.e(915).then(n.bind(n,86915)),doenet:()=>Promise.resolve()},l={},u=10,c=[];let f=0;async function m(){if(0===c.length)return;if(Date.now()-fe.component_name)));const t=e.map((async e=>{try{return await d[e.component_name](),console.log(`Runestone component ${e.component_name} has been loaded`),e}catch(t){e.reject(t)}})),n=await Promise.all(t);try{n.forEach((function(e){e&&e.resolve()}))}catch(e){console.error(e)}}let h=new Promise((e=>$(document).on("runestone:pre-login-complete",e)));function g(){const e=new Set($("[data-component]").map(((e,t)=>$(t).attr("data-component"))).get());document.querySelector(".webwork-button")&&e.add("webwork");const t=[...e].map((e=>{let t;console.log(`Loading Runestone component: ${e}`);try{t=(d[e]||(()=>Promise.resolve()))()}catch(t){console.error(`Error loading ${e}:`,t)}return t.error=t=>console.error(`Error in ${e}:`,t),t}));Promise.all([h,...t]).then((function(){document.body.dataset.reactInUse||document.dispatchEvent(new CustomEvent("runestone:login-complete"))}))}async function p(e){if(l[e])return l[e];console.log(`Runestone component ${e} is being queued for import`);const t=function(e){let t=null,n=null;const o=new Promise(((e,o)=>{t=e,n=o})),i={component_name:e,resolve:t,reject:n};return c.push(i),window.setTimeout(m,u+1),o}(e);return l[e]=t,t}h.then((()=>{console.log("Runestone pre-login complete")})),$(document).ready(g);const v=document.currentScript.src;n.p=v.substring(0,v.lastIndexOf("/")+1),new r;const w={};w.runestone_import=p,w.runestone_auto_import=g,w.getSwitch=function(){const e=document.querySelector('.theme-switch input[type="checkbox"]'),t=localStorage.getItem("theme")?localStorage.getItem("theme"):null;t&&(document.documentElement.setAttribute("data-theme",t),"dark"===t&&(e.checked=!0))},w.switchTheme=function(){1==document.getElementById("checkbox").checked?(document.documentElement.setAttribute("data-theme","dark"),localStorage.setItem("theme","dark")):(document.documentElement.setAttribute("data-theme","light"),localStorage.setItem("theme","light"))},w.popupScratchAC=async function(){if(await p("activecode"),!eBookConfig.scratchDiv){window.ACFactory.createScratchActivecode();let e=eBookConfig.scratchDiv;window.componentMap[e]=ACFactory.createActiveCode($(`#${e}`)[0],eBookConfig.acDefaultLanguage),eBookConfig.isLoggedIn&&window.componentMap[e].enableSaveLoad()}setTimeout((()=>{window.ACFactory.toggleScratchActivecode()}),100)},w.renderOneComponent=s.yT,window.componentMap={},window.runestoneComponents=w},78673:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var o=n(83057),i=["parsonsMove","showeval","video","poll","view_toggle","dashboard","selectquestion","codelens","peer","shortanswer"];class a{constructor(e){this.component_ready_promise=new Promise((e=>this._component_ready_resolve_fn=e)),this.optional=!1,void 0===window.allComponents&&(window.allComponents=[]),window.allComponents.push(this),e&&(this.sid=e.sid,this.graderactive=e.graderactive,this.showfeedback=!0,e.timed&&(this.isTimed=!0),e.enforceDeadline&&(this.deadline=e.deadline),this.optional=this.parseBooleanAttribute(e.orig,"data-optional"),e.selector_id&&(this.selector_id=e.selector_id),void 0!==e.assessmentTaken?this.assessmentTaken=e.assessmentTaken:this.assessmentTaken=!0,void 0!==e.timedWrapper?this.timedWrapper=e.timedWrapper:location.href.indexOf("doAssignment")>=0?this.timedWrapper=$("h1#assignment_name").text():this.timedWrapper=null,$(e.orig).data("question_label")&&(this.question_label=$(e.orig).data("question_label")),this.is_toggle=e.is_toggle,this.is_select=e.is_select),this.mjelements=[];let t=this;if(this.mjReady=new Promise((function(e,n){t.mjresolver=e})),this.aQueue=new r,e&&void 0!==e.preamble){this.preamble=e.preamble;let t=document.createElement("div");t.classList.add("hidden-content"),t.classList.add("process-math"),t.innerHTML="\\("+this.preamble+"\\)",e.orig.appendChild(t),t.id="ltx_preamble",t.style.display="none",this.aQueue.preamble=t}this.jsonHeaders=new Headers({"Content-type":"application/json; charset=utf-8",Accept:"application/json"})}parseBooleanAttribute(e,t){const n=e.getAttribute(t);if(null===n)return!1;const o=n.toLowerCase();return"false"!==o&&"no"!==o}async logBookEvent(e){if(this.graderactive)return;let t;if(e.course_name=eBookConfig.course,e.clientLoginStatus=eBookConfig.isLoggedIn,e.timezoneoffset=(new Date).getTimezoneOffset()/60,this.selector_id&&(e.selector_id=this.selector_id),"number"==typeof this.percent&&(e.percent=this.percent),window.assignmentId&&(e.assignment_id=window.assignmentId),eBookConfig.isLoggedIn&&eBookConfig.useRunestoneServices&&eBookConfig.logLevel>0&&(t=this.postLogMessage(e)),!this.isTimed||eBookConfig.debug){let t=eBookConfig.isLoggedIn?"Save":"Not";console.log(`${t} logging event `+JSON.stringify(e))}return this.selector_id&&(e.div_id=this.selector_id.replace("-toggleSelectedQuestion",""),e.event="selectquestion",e.act="interaction",this.postLogMessage(e)),"function"==typeof o.X.updateProgress&&"edit"!=e.act&&0==this.optional&&o.X.updateProgress(e.div_id),-1===i.indexOf(e.event)&&this.decorateStatus(),t}async postLogMessage(e){var t;let n=new Request(`${eBookConfig.new_server_prefix}/logger/bookevent`,{method:"POST",headers:this.jsonHeaders,body:JSON.stringify(e)});try{var o=await fetch(n);if(!o.ok){if(422===o.status)throw t=await o.json(),console.log(JSON.stringify(t.detail,null,4)),new Error("Unprocessable Request");if(401==o.status)throw t=await o.json(),console.log(`Missing authentication token ${t.detail}`),new Error("Missing authentication token");throw new Error(`Failed to save the log entry\n Status: ${o.status}`)}let e=(t=await o.json()).detail,i=null;if(this.selector_id){let e=this.selector_id.replace("-toggleSelectedQuestion","");i=document.getElementById(`${e}_score`)}else i=document.getElementById(`${this.divid}_score`);i&&!this.isTimed&&e.score&&this.updateScores(i,e)}catch(e){let n="none";t&&t.detail&&(n=t.detail),eBookConfig.useRunestoneServices&&alert(`Error: Your action was not saved!\n The error was ${e}\n Status Code: ${o.status}\n Detail: ${JSON.stringify(n,null,4)}.\n Please report this error!`),console.log(`Error: ${e} Detail: ${n} Status Code: ${o.status}`)}return t}updateScores(e,t){if(!t.assigned||null===t.score)return void(document.getElementById(`${this.divid}_message`).innerHTML="Score not updated. Submissions are closed.");let n=e.getElementsByClassName("qscore")[0];n&&(n.innerHTML=t.score.toFixed(1));let o=document.getElementsByClassName("qscore"),i=document.getElementsByClassName("qmaxscore"),a=0,s=0;for(let e=0;e0){let n=new Request(`${eBookConfig.new_server_prefix}/logger/runlog`,{method:"POST",headers:this.jsonHeaders,body:JSON.stringify(e)}),o=await fetch(n);o.ok?t=await o.json():(t=await o.json(),eBookConfig.useRunestoneServices?alert(`Failed to save your code\n Status is ${o.status}\n Detail: ${JSON.stringify(t.detail,null,4)}`):console.log(`Did not save the code.\n Status: ${o.status}\n Detail: ${JSON.stringify(t.detail,null,4)}`))}return this.isTimed&&!eBookConfig.debug||console.log("running "+JSON.stringify(e)),"function"==typeof o.X.updateProgress&&0==this.optional&&o.X.updateProgress(e.div_id),t}}async checkServer(e,t=!1){let n=this;if(this.checkServerComplete=new Promise((function(e,t){n.csresolver=e})),eBookConfig.isLoggedIn&&(this.useRunestoneServices||this.graderactive)){let t={};if(t.div_id=this.divid,t.course=eBookConfig.course,t.event=e,this.graderactive&&this.deadline&&(t.deadline=this.deadline,t.rawdeadline=this.rawdeadline,t.tzoff=this.tzoff),this.sid&&(t.sid=this.sid),t.div_id&&t.course&&t.event||console.log(`A required field is missing data ${t.div_id}:${t.course}:${t.event}`),eBookConfig.practice_mode||eBookConfig.peer||!this.assessmentTaken)this.loadData({}),console.log("resolving checkServer no answer given"),this.csresolver("not taken");else{let e=new Request(`${eBookConfig.new_server_prefix}/assessment/results`,{method:"POST",body:JSON.stringify(t),headers:this.jsonHeaders});try{let n=await fetch(e);console.log(`Response from server: ${n.status}`),n.ok?(t=await n.json(),t=t.detail,console.log(`Data from server: ${JSON.stringify(t)} calling repopulateFromStorage`),this.repopulateFromStorage(t),this.attempted=!0,void 0!==t.correct?this.correct=t.correct:this.correct=null,console.log("resolving checkServer with server data"),this.csresolver("server")):(console.log(`HTTP Error getting results: ${n.statusText}`),this.checkLocalStorage(),console.log("resolving checkServer with local data"),this.csresolver("local"))}catch(e){console.log(`Error getting results: ${e}`);try{this.checkLocalStorage()}catch(e){console.log(e)}}}}else this.checkLocalStorage(),console.log("resolving checkServer with local data"),this.csresolver("local");t&&this.indicate_component_ready()}indicate_component_ready(){this.containerDiv.classList.add("runestone-component-ready"),this._component_ready_resolve_fn()}loadData(e){return null}repopulateFromStorage(e){null!==e&&"no data"!==e&&this.shouldUseServer(e)?(this.restoreAnswers(e),this.setLocalStorage(e)):this.checkLocalStorage(),this.decorateStatus()}shouldUseServer(e){if("T"===e.correct||!0===e.correct||0===localStorage.length||!0===this.graderactive||this.isTimed)return!0;let t,n=localStorage.getItem(this.localStorageKey());if(null===n)return!0;try{t=JSON.parse(n)}catch(e){return console.log(e.message),localStorage.removeItem(this.localStorageKey()),!0}if(e.answer==t.answer)return!0;let o=new Date(t.timestamp);return new Date(e.timestamp)>=o}localStorageKey(){return eBookConfig.email+":"+eBookConfig.course+":"+this.divid+"-given"}addCaption(e){if(!this.isTimed){var t=document.createElement("p");this.question_label?(this.caption=eBookConfig.useRunestoneServices?`Activity: ${this.question_label} ${this.caption} (${this.divid})`:`Activity: ${this.question_label} ${this.caption}`,$(t).html(this.caption),$(t).addClass(`${e}_caption`)):($(t).html(eBookConfig.useRunestoneServices?this.caption+" ("+this.divid+")":this.caption),$(t).addClass(`${e}_caption`),$(t).addClass(`${e}_caption_text`)),this.capDiv=t,this.containerDiv.appendChild(t)}}hasUserActivity(){return this.isAnswered}checkCurrentAnswer(){console.log("Each component should provide an implementation of checkCurrentAnswer")}async logCurrentAnswer(){console.log("Each component should provide an implementation of logCurrentAnswer")}renderFeedback(){console.log("Each component should provide an implementation of renderFeedback")}disableInteraction(){console.log("Each component should provide an implementation of disableInteraction")}toString(){return`${this.constructor.name}: ${this.divid}`}queueMathJax(e){return"undefined"==typeof MathJax?(console.log("Error -- MathJax is not loaded"),Promise.resolve(null)):MathJax.typesetPromise?void 0!==window.runestoneMathReady?window.runestoneMathReady.then((()=>this.mjresolver(this.aQueue.enqueue(e)))):this.mjresolver(this.aQueue.enqueue(e)):(console.log(`Waiting on MathJax!! ${MathJax.typesetPromise}`),setTimeout((()=>this.queueMathJax(e)),200),console.log(`Returning mjready promise: ${this.mjReady}`),this.mjReady)}decorateStatus(){if(this.isTimed||eBookConfig.peer)return;let e=$(this.containerDiv).closest("div.runestone")[0];e&&(e.classList.remove("notAnswered"),e.classList.remove("isInCorrect"),e.classList.remove("isCorrect"),this.correct?e.classList.add("isCorrect"):null===this.correct||void 0===this.correct?e.classList.add("notAnswered"):e.classList.add("isInCorrect"))}}class s{constructor(){this._items=[]}enqueue(e){this._items.push(e)}dequeue(){return this._items.shift()}get size(){return this._items.length}}class r extends s{constructor(){super(),this._pendingPromise=!1}enqueue(e){return new Promise(((t,n)=>{super.enqueue({component:e,resolve:t,reject:n}),this.dequeue()}))}async dequeue(){if(this._pendingPromise)return!1;let e=super.dequeue();if(!e)return!1;let t=this;try{this._pendingPromise=!0;let n=await window.runestoneMathReady.then((async function(){if(console.log(`MathJax Ready -- dequeing a typesetting run for ${e.component.id} ${t.preamble?.innerHTML}`),t.preamble){await MathJax.typesetPromise([t.preamble]);let n=document.createElement("div");return n.innerHTML=t.preamble.innerHTML,e.component.insertAdjacentElement("afterbegin",n),console.log(`MathJax typeset the preamble for ${e.component.id}`),await MathJax.typesetPromise([e.component])}return await MathJax.typesetPromise([e.component])}));this._pendingPromise=!1,e.resolve(n)}catch(t){this._pendingPromise=!1,e.reject(t)}finally{this.dequeue()}return!0}}window.RunestoneBase=a},83057:(e,t,n)=>{"use strict";n.d(t,{X:()=>i,u:()=>a});class o{constructor(e){if(this.possible=0,this.total=1,e&&"assignment_spec"in e&&(this.assignment_spec=e.assignment_spec,delete e.assignment_spec),e&&Object.keys(e).length>0)this.activities=e;else{let e={page:0};document.querySelectorAll(".runestone").forEach((function(t){e[t.firstElementChild.id]=0})),this.activities=e}if(this.calculateProgress(),window.location.pathname.match(/.*\/(index.html|toctree.html|Exercises.html|search.html)$/i)){const e=document.getElementById("scprogresscontainer");e&&(e.style.display="none")}this.renderProgress()}calculateProgress(){for(let e in this.activities)void 0!==e&&(this.possible++,this.activities[e]>0&&this.total++)}renderProgress(){let e=0;const t=document.getElementById("scprogresstotal");t&&(t.textContent=this.total);const n=document.getElementById("scprogressposs");n&&(n.textContent=this.possible);try{e=100*this.total/this.possible}catch(t){e=0}let o=document.getElementById("subchapterprogress");if(o&&"PROGRESS"!==o.tagName){const t=document.createElement("progress");t.id="subchapterprogress",t.max=100,t.value=e,t.className=o.className,o.replaceWith(t),o=t}else o&&(o.max=100,o.value=e);if(this.assignment_spec&&this.total-1>=(this.assignment_spec.activities_required||0)&&this.sendCompletedReadingScore().then((()=>{console.log("Reading score sent for page"),setTimeout((()=>{let e=document.getElementById("completionButton");e&&"mark as completed"===e.textContent.toLowerCase()&&e.click()}),500)})),!eBookConfig.isLoggedIn){const e=document.getElementById("subchapterprogress");e&&e.classList.add("loggedout")}}updateProgress(e){if(this.activities[e]++,1===this.activities[e]){this.total++;let e=100*this.total/this.possible;const t=document.getElementById("scprogresstotal");t&&(t.textContent=this.total);const n=document.getElementById("scprogressposs");n&&(n.textContent=this.possible);let o=document.getElementById("subchapterprogress");if(o&&"PROGRESS"===o.tagName&&(o.value=e),this.assignment_spec&&null!==this.assignment_spec.activities_required&&this.total>=this.assignment_spec.activities_required&&(console.log("Required activities completed"),this.sendCompletedReadingScore().then((()=>{console.log("Reading score sent")}))),100==e&&function(){const e=document.getElementById("completionButton");return e&&e.textContent&&"mark as completed"===e.textContent.toLowerCase()}()){const e=document.getElementById("completionButton");e&&"function"==typeof e.click&&e.click()}}}async sendCompletedReadingScore(){let e=new Headers({"Content-type":"application/json; charset=utf-8",Accept:"application/json"}),t={...this.assignment_spec},n=new Request(`${eBookConfig.new_server_prefix}/logger/update_reading_score`,{method:"POST",body:JSON.stringify(t),headers:e});try{let e=await fetch(n);e.ok||console.error(`Failed to send reading score! ${e.statusText}`),t=await e.json()}catch(e){console.error(`Error sending reading score ${e}`)}}}var i={};function a(e){return"string"==typeof e&&([/\$\$[\s\S]+?\$\$/,/\$[^$\n]+?\$/,/\\\[[\s\S]+?\\\]/,/\\\([\s\S]+?\\\)/].some((t=>t.test(e)))||/\\(frac|sqrt|sum|prod|int|lim|sin|cos|tan|log|ln|alpha|beta|gamma|pi|theta|sigma|Delta|cdot|times|leq|geq|neq)\b/.test(e)||/[a-zA-Z0-9]\s*[\^_]\s*\{?.+?\}?/.test(e))}document.addEventListener("runestone:login",(function(){const e=document.getElementById("profilelink");e&&e.style.removeProperty("display");const t=document.getElementById("passwordlink");t&&t.style.removeProperty("display");const n=document.getElementById("registerlink");n&&(n.style.display="none"),document.querySelectorAll("li.loginout").forEach((e=>{e.innerHTML='Log Out'}))})),document.addEventListener("runestone:logout",(function(){if(eBookConfig.useRunestoneServices){console.log("setup navbar for logged out");const e=document.getElementById("registerlink");e&&e.style.removeProperty("display");const t=document.getElementById("profilelink");t&&(t.style.display="none");const n=document.getElementById("passwordlink");n&&(n.style.display="none");const o=document.getElementById("ip_dropdown_link");o&&(o.style.display="none");const i=document.getElementById("inst_peer_link");i&&(i.style.display="none"),document.querySelectorAll("li.loginout").forEach((e=>{e.innerHTML='Login'})),document.querySelectorAll(".footer").forEach((e=>{e.innerHTML="user not logged in"}))}})),document.addEventListener("DOMContentLoaded",(function(){eBookConfig?(async function(){var e;if(eBookConfig.useRunestoneServices){let e=new Headers({"Content-type":"application/json; charset=utf-8",Accept:"application/json"}),n={timezoneoffset:(new Date).getTimezoneOffset()/60,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone},o=function(){const e=`; ${document.cookie}`.split("; RS_info=");if(2===e.length)return e.pop().split(";").shift()}();var t=!1;if(o)try{let e=o.replace(/\\054/g,","),i=JSON.parse(decodeURIComponent(e));i=JSON.parse(decodeURIComponent(i)),i.timezone===n.timezone&&i.tz_offset===n.timezoneoffset&&(console.log("Timezone cookie matches, not sending timezone to server"),t=!0)}catch(e){console.error("Error parsing RS_info cookie, sending timezone to server")}if(!1===t){let t=new Request(`${eBookConfig.new_server_prefix}/logger/set_tz_offset`,{method:"POST",body:JSON.stringify(n),headers:e});try{let e=await fetch(t);e.ok||console.error(`Failed to set timezone! ${e.statusText}`),n=await e.json()}catch(e){console.error(`Error setting timezone ${e}`)}}}if(console.log(`This page served by ${eBookConfig.served_by}`),eBookConfig.isLoggedIn){if(e=`username: ${eBookConfig.username}`,!eBookConfig.isInstructor){const e=document.getElementById("ip_dropdown_link");e&&"function"==typeof e.remove&&e.remove();const t=document.getElementById("inst_peer_link");t&&"function"==typeof t.remove&&t.remove()}document.dispatchEvent(new Event("runestone:login")),function(){let e=localStorage.getItem("currentAssignmentInfo");if(e&&eBookConfig.readings){var t,n,o,i,a,s,r,d,l,u;let m=JSON.parse(e),h=m.id,g=m.name,p=m.readingNames;(o=document.createElement("div")).textContent="Active assignment: ",(i=document.createElement("a")).textContent=g,i.href=`/assignment/student/doAssignment?assignment_id=${h}`,o.append(i),(a=document.createElement("a")).textContent="Exit Assignment",a.href=window.location.pathname,a.addEventListener("click",(function(e){localStorage.removeItem("currentAssignmentInfo")}));let v=window.location.pathname.split("/"),w=v[v.length-2]+"/"+v[v.length-1],b=!1,y=2;document.getElementsByTagName("body")[0].classList.contains("pretext")&&(b=!0,eBookConfig.readings=eBookConfig.readings.map((e=>e.split("/").pop())),w=w.split("/").pop(),y=1);let k=eBookConfig.readings.indexOf(w),C=eBookConfig.readings.length;if(k>0){d=eBookConfig.readings[k-1],(l=v.slice(0,v.length-y)).push(d),u=l.join("/"),s=o.cloneNode(!0);let e=document.createElement("p");e.textContent=`Page ${k+1} of ${C}, `;var c=document.createElement("a");c.href=u,c.textContent=`Back to page ${k} of ${C}: ${p[k-1]}.`,e.append(c),s.append(e)}else if(0==k){s=o.cloneNode(!0);let e=document.createElement("p");e.textContent=`Page 1 of ${C}.`,s.append(e)}else{d=eBookConfig.readings[0],(l=v.slice(0,v.length-y)).push(d),u=l.join("/"),s=o.cloneNode(!0);let e=document.createElement("p");e.textContent="Notice: this page is not part of the assignment. To remove this warning click ",e.append(a),s.append(e)}if(k==eBookConfig.readings.length-1){r=o;let e=document.createElement("p");e.textContent=`Page ${C} of ${C}: ${p[k]}`,r.append(e)}else if(k>=0){d=eBookConfig.readings[k+1],(l=v.slice(0,v.length-y)).push(d),u=l.join("/"),r=o;var f=document.createElement("a");f.href=u,f.textContent=`Continue to page ${k+2} of ${C}: ${p[k+1]}`;let e=document.createElement("p");e.append(f),r.append(e)}else{r=o.cloneNode(!0);let e=document.createElement("p");e.textContent="Notice: this page is not part of the assignment. To remove this warning click ";let t=a.cloneNode(!0);t.addEventListener("click",(function(e){localStorage.removeItem("currentAssignmentInfo")})),e.append(t),r.append(e)}if((t=document.createElement("div")).className="ptx-runestone-container",s.className="runestone assignment-nav top-assignment-nav",t.append(s),(n=document.createElement("div")).className="ptx-runestone-container",r.className="runestone assignment-nav bottom-assignment-nav",n.append(r),b){let e=document.getElementById("ptx-content");e&&e.insertBefore(t,e.firstChild);let o=document.getElementById("scprogresscontainer");return void(o&&(o.style.marginBottom="20px",o.appendChild(n)))}const $=document.getElementById("main-content");$&&r&&($.insertBefore(t,$.firstChild),$.appendChild(n))}}(),-1==window.location.pathname.indexOf("/admin/grading")&&-1==window.location.pathname.indexOf("/peer/")&&function(){let e;function t(){location.href.indexOf("index.html")<0&&(console.log("Idle timer - "+location.pathname),location.href=eBookConfig.app+"/default/user/login?_next="+location.pathname+location.search)}function n(){e&&clearTimeout(e),e=setTimeout(t,9e5)}["mousemove","keydown","scroll","click","touchstart","wheel"].forEach((e=>{window.addEventListener(e,n,{passive:!0})})),n()}()}else{e="Not logged in",document.dispatchEvent(new Event("runestone:logout"));let t=document.getElementById("browsing_warning");t&&(t.innerHTML="");let n=document.getElementById("ad_warning");n&&(n.innerHTML="")}document.querySelectorAll(".loggedinuser").forEach((t=>{t.innerHTML=e})),i=new o(eBookConfig.activities),console.log("triggering runestone:pre-login-complete"),document.dispatchEvent(new Event("runestone:pre-login-complete"))}(),function(){if("undefined"!=typeof showAd&&showAd){let e=Math.floor(2*Math.random())+1,t=document.getElementById(`adcopy_${e}`),n=document.querySelectorAll(".runestone");n.length>0&&(n[Math.floor(Math.random()*n.length)].after(t),t.style.display="block")}}()):"undefined"==typeof eBookConfig&&console.log("eBookConfig is not defined. This page must not be set up for Runestone")})),window.addEventListener("load",(function(){if(document.querySelectorAll(".video-play-overlay").forEach((function(e){e.style.backgroundImage="url('{{pathto('_static/play_overlay_icon.png', 1)}}')"})),document.querySelectorAll(".dropdown input, .dropdown label").forEach((function(e){e.addEventListener("click",(function(e){e.stopPropagation()}))})),location.href.includes("mode=browsing")){let e="?mode=browsing";document.querySelectorAll("a").forEach((t=>{let n="";if(t.href.includes("books/published")&&!t.href.includes("?mode=browsing")){if(t.href.includes("#")){let e=t.href.indexOf("#");n=t.href.substring(e),t.href=t.href.substring(0,e)}t.href=t.href.includes("?")?t.href+e.replace("?","&")+n:t.href+e+n}}))}}))},98098:(e,t,n)=>{"use strict";n.d(t,{$y:()=>a,JK:()=>i,yT:()=>s});var o=n(77394);async function i(e,t,n){if(!e)return void jQuery(`#${t}`).html("

    Sorry, no source is available for preview.

    ");e=e.replace(/..\/_images/g,`${eBookConfig.app}/books/published/${eBookConfig.basecourse}/_images`),jQuery(`#${t}`).html(e),void 0===window.componentMap&&(window.componentMap={});let i=$($(`#${t} [data-component]`)[0]).data("component");await(0,o.w)(i);let a={};if(a.orig=jQuery(`#${t} [data-component]`)[0],a.orig&&(a.lang=$(a.orig).data("lang"),a.useRunestoneServices=!0,a.graderactive=!1,a.python3=!0,void 0!==n))for(let e in n)a[e]=n[e];if("undefined"==typeof component_factory)alert("Error: Missing the component factory!");else if(window.component_factory[i]||jQuery(`#${t}`).html()){let e=window.component_factory[i](a);"activecode"===i&&(n.multiGrader?window.componentMap[`${n.gradingContainer} ${e.divid}`]=e:window.componentMap[e.divid]=e)}else jQuery(`#${t}`).html(`

    Preview not available for ${i}

    `)}function a(e,t){e=e.replace(/..\/_images/g,`${eBookConfig.app}/books/published/${eBookConfig.basecourse}/_images`);let n,o,i=$($(e).find("[data-component]")[0]).data("component"),a=$(e).find("[data-component]").first().attr("id");document.getElementById(a)||(n=$("
    ",{css:{display:"none"}}).appendTo("body"),n.html(e));let s={orig:document.getElementById(a),timed:!0};if(void 0!==t)for(let e in t)s[e]=t[e];i in window.component_factory&&(o=window.component_factory[i](s));let r={};return r.question=o,r}async function s(e){let t=e.querySelector("[data-component]");if(null==t)return void console.log("Render was called for a component, but now [data-component] attribute is present. This may mean the component has already been rendered.");let n=t.dataset.component;if(await(0,o.w)(n),0==$(this).closest("[data-component=timedAssessment]").length)try{let e=t.id;window.componentMap[e]=window.component_factory[n]({orig:t,useRunestoneServices:eBookConfig.useRunestoneServices})}catch(e){console.log(`Error rendering ${n} Problem ${this.id}\n Details: ${e}`)}}}},e=>{e.O(0,[723],(()=>e(e.s=77394))),e.O()}]); +//# sourceMappingURL=prefix-runestone.1c010553c35c544c.bundle.js.map \ No newline at end of file diff --git a/_static/prefix-runestone.7e141ad8414abf4a.bundle.js.LICENSE.txt b/_static/prefix-runestone.1c010553c35c544c.bundle.js.LICENSE.txt old mode 100644 new mode 100755 similarity index 100% rename from _static/prefix-runestone.7e141ad8414abf4a.bundle.js.LICENSE.txt rename to _static/prefix-runestone.1c010553c35c544c.bundle.js.LICENSE.txt diff --git a/_static/prefix-runestone.7e141ad8414abf4a.bundle.js.LICENSE.txt.gz b/_static/prefix-runestone.1c010553c35c544c.bundle.js.LICENSE.txt.gz old mode 100644 new mode 100755 similarity index 100% rename from _static/prefix-runestone.7e141ad8414abf4a.bundle.js.LICENSE.txt.gz rename to _static/prefix-runestone.1c010553c35c544c.bundle.js.LICENSE.txt.gz diff --git a/_static/prefix-runestone.1c010553c35c544c.bundle.js.gz b/_static/prefix-runestone.1c010553c35c544c.bundle.js.gz new file mode 100755 index 0000000..f1bf6dc Binary files /dev/null and b/_static/prefix-runestone.1c010553c35c544c.bundle.js.gz differ diff --git a/_static/prefix-runestone.1c010553c35c544c.bundle.js.map b/_static/prefix-runestone.1c010553c35c544c.bundle.js.map new file mode 100755 index 0000000..42fb9b2 --- /dev/null +++ b/_static/prefix-runestone.1c010553c35c544c.bundle.js.map @@ -0,0 +1 @@ +{"version":3,"file":"prefix-runestone.1c010553c35c544c.bundle.js","mappings":"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","sources":["webpack://WebComponents/./runestone/common/project_template/_templates/plugin_layouts/sphinx_bootstrap/static/bootstrap-sphinx.js","webpack://WebComponents/./runestone/common/js/presenter_mode.js","webpack://WebComponents/./runestone/common/js/jquery_i18n/jquery.i18n.fallbacks.js","webpack://WebComponents/./runestone/common/js/jquery_i18n/jquery.i18n.language.js","webpack://WebComponents/./runestone/common/js/jquery_i18n/jquery.i18n.emitter.bidi.js","webpack://WebComponents/external var \"jQuery\"","webpack://WebComponents/./runestone/common/js/jquery_i18n/jquery.i18n.emitter.js","webpack://WebComponents/./runestone/common/js/jquery_i18n/jquery.i18n.parser.js","webpack://WebComponents/./runestone/common/js/jquery_i18n/jquery.i18n.messagestore.js","webpack://WebComponents/./runestone/common/js/jquery_i18n/jquery.i18n.js","webpack://WebComponents/./runestone/common/js/jquery.idle-timer.js","webpack://WebComponents/./runestone/common/js/user-highlights.js","webpack://WebComponents/./runestone/common/js/pretext.js","webpack://WebComponents/./runestone/splice/js/spliceWrapper.js","webpack://WebComponents/./webpack.index.js","webpack://WebComponents/./runestone/common/js/theme.js","webpack://WebComponents/./runestone/common/js/runestonebase.js","webpack://WebComponents/./runestone/common/js/bookfuncs.js","webpack://WebComponents/./runestone/common/js/renderComponent.js"],"sourcesContent":["(function ($) {\n /**\n * Patch TOC list.\n *\n * Will mutate the underlying span to have a correct ul for nav.\n *\n * @param $span: Span containing nested UL's to mutate.\n * @param minLevel: Starting level for nested lists. (1: global, 2: local).\n */\n var patchToc = function ($ul, minLevel) {\n var findA,\n patchTables,\n $localLi;\n\n // Find all a \"internal\" tags, traversing recursively.\n findA = function ($elem, level) {\n level = level || 0;\n var $items = $elem.find(\"> li > a.internal, > ul, > li > ul\");\n\n // Iterate everything in order.\n $items.each(function (index, item) {\n var $item = $(item),\n tag = item.tagName.toLowerCase(),\n $childrenLi = $item.children('li'),\n $parentLi = $($item.parent('li'), $item.parent().parent('li'));\n\n // Add dropdowns if more children and above minimum level.\n if (tag === 'ul' && level >= minLevel && $childrenLi.length > 0) {\n $parentLi\n .addClass('dropdown-submenu')\n .children('a').first().attr('tabindex', -1);\n\n $item.addClass('dropdown-menu');\n }\n\n findA($item, level + 1);\n });\n };\n\n findA($ul);\n };\n\n /**\n * Patch all tables to remove ``docutils`` class and add Bootstrap base\n * ``table`` class.\n */\n patchTables = function () {\n $(\"table.docutils\")\n .removeClass(\"docutils\")\n .addClass(\"table\")\n .attr(\"border\", 0);\n };\n\n$(function () {\n\n /*\n * Scroll the window to avoid the topnav bar\n * https://github.com/twitter/bootstrap/issues/1768\n */\n if ($(\"#navbar.navbar-fixed-top\").length > 0) {\n var navHeight = $(\"#navbar\").height(),\n shiftWindow = function() { scrollBy(0, -navHeight - 10); };\n\n if (location.hash) {\n shiftWindow();\n }\n\n window.addEventListener(\"hashchange\", shiftWindow);\n }\n\n // Add styling, structure to TOC's.\n $(\".dropdown-menu\").each(function () {\n $(this).find(\"ul\").each(function (index, item){\n var $item = $(item);\n $item.addClass('unstyled');\n });\n });\n\n // Global TOC.\n if ($(\"ul.globaltoc li\").length) {\n patchToc($(\"ul.globaltoc\"), 1);\n } else {\n // Remove Global TOC.\n $(\".globaltoc-container\").remove();\n }\n\n // Local TOC.\n patchToc($(\"ul.localtoc\"), 2);\n\n // Mutate sub-lists (for bs-2.3.0).\n $(\".dropdown-menu ul\").not(\".dropdown-menu\").each(function () {\n var $ul = $(this),\n $parent = $ul.parent(),\n tag = $parent[0].tagName.toLowerCase(),\n $kids = $ul.children().detach();\n\n // Replace list with items if submenu header.\n if (tag === \"ul\") {\n $ul.replaceWith($kids);\n } else if (tag === \"li\") {\n // Insert into previous list.\n $parent.after($kids);\n $ul.remove();\n }\n });\n\n // Add divider in page TOC.\n $localLi = $(\"ul.localtoc li\");\n if ($localLi.length > 2) {\n $localLi.first().after('
  • ');\n }\n\n // Enable dropdown.\n $('.dropdown-toggle').dropdown();\n\n // Patch tables.\n patchTables();\n\n // Add Note, Warning styles.\n $('div.note').addClass('alert').addClass('alert-info');\n $('div.warning').addClass('alert').addClass('alert-warning');\n\n // Inline code styles to Bootstrap style.\n $('tt.docutils.literal').not(\".xref\").each(function (i, e) {\n // ignore references\n if (!$(e).parent().hasClass(\"reference\")) {\n $(e).replaceWith(function () {\n return $(\"\").text($(this).text());\n });\n }});\n });\n}(window.jQuery));\n","var codeExercises;\nvar presenterCssLink;\nvar presentModeInitialized = false;\n\nfunction presentToggle() {\n if (!presentModeInitialized) {\n presentModeSetup();\n presentModeInitialized = true;\n }\n let bod = $(\"body\");\n let presentClass = \"present\";\n let fullHeightClass = \"full-height\";\n let bottomClass = \"bottom\";\n if (bod.hasClass(presentClass)) {\n $(\"section *\")\n .not(\n \"h1, .presentation-title, .btn-presenter, .runestone, .runestone *, section, .pre, code\"\n )\n .removeClass(\"hidden\"); //show everything\n $(\"#completionButton\").removeClass(\"hidden\");\n bod.removeClass(presentClass);\n $(\".\" + fullHeightClass).removeClass(fullHeightClass);\n $(\".\" + bottomClass).removeClass(bottomClass);\n localStorage.setItem(\"presentMode\", \"text\");\n codeExercises.removeClass(\"hidden\");\n presenterCssLink.disabled = true; // disable present_mode.css\n } else {\n $(\"section *\")\n .not(\n \"h1, .presentation-title, .btn-presenter, .runestone, .runestone *, section, .pre, code\"\n )\n .addClass(\"hidden\"); // hide extraneous stuff\n $(\"#completionButton\").addClass(\"hidden\");\n bod.addClass(presentClass);\n bod.addClass(fullHeightClass);\n $(\"html\").addClass(fullHeightClass);\n $(\"section .runestone\").addClass(fullHeightClass);\n $(\".ac-caption\").addClass(bottomClass);\n localStorage.setItem(\"presentMode\", presentClass);\n // presenter_mode.css is loaded by webpack\n //loadPresenterCss(); // present_mode.css should only apply when in presenter mode.\n activateExercise();\n }\n}\n\nfunction loadPresenterCss() {\n presenterCssLink = document.createElement(\"link\");\n presenterCssLink.type = \"text/css\";\n presenterCssLink.href = \"../_static/presenter_mode.less\";\n presenterCssLink.rel = \"stylesheet\";\n document.getElementsByTagName(\"head\")[0].appendChild(presenterCssLink);\n}\n\nfunction presentModeSetup() {\n // moved this out of configure\n let dataComponent = $(\"[data-childcomponent]\");\n\n // this still leaves some things semi-messed up when you exit presenter mode.\n // but instructors will probably just learn to refresh the page.\n dataComponent.addClass(\"runestone\");\n dataComponent.parent().closest(\"div\").not(\"section\").addClass(\"runestone\");\n dataComponent.parent().closest(\"div\").css(\"max-width\", \"none\");\n\n dataComponent.each(function (index) {\n let me = $(this);\n $(this)\n .find(\".ac_code_div, .ac_output\")\n .wrapAll(\"
    \");\n });\n\n codelensListener(500);\n $(\"section img\").wrap('
    ');\n codeExercises = $(\".runestone\").not(\".runestone .runestone\");\n // codeExercises.each(function(){\n $(\"h1\").before(\n \"
    \\\n \\\n \\\n
    \"\n );\n}\nfunction getActiveExercise() {\n return (active = codeExercises.filter(\".active\"));\n}\n\nfunction activateExercise(index) {\n if (typeof index == \"undefined\") {\n index = 0;\n }\n\n let active = getActiveExercise();\n\n if (codeExercises.length) {\n active.removeClass(\"active\");\n active = $(codeExercises[index]).addClass(\"active\");\n active.removeClass(\"hidden\");\n codeExercises.not(codeExercises.filter(\".active\")).addClass(\"hidden\");\n }\n}\n\nwindow.nextExercise = function() {\n let active = getActiveExercise();\n let nextIndex = codeExercises.index(active) + 1;\n if (nextIndex < codeExercises.length) {\n activateExercise(nextIndex);\n }\n}\n\nwindow.prevExercise = function() {\n let active = getActiveExercise();\n let prevIndex = codeExercises.index(active) - 1;\n if (prevIndex >= 0) {\n activateExercise(prevIndex);\n }\n}\n\nfunction configure() {\n let rightNav = $(\".navbar-right\");\n rightNav.prepend(\n \"\"\n );\n\n let modeSelect = $(\".mode-select\").change(presentToggle);\n}\n\nfunction codelensListener(duration) {\n // $(\".ExecutionVisualizer\").length ? configureCodelens() : setTimeout(codelensListener, duration);\n // configureCodelens();\n}\n\nfunction configureCodelens() {\n let acCodeTitle = document.createElement(\"h4\");\n acCodeTitle.textContent = \"Active Code Window\";\n let acCode = $(\".ac_code_div\");\n $(\".ac_code_div\").addClass(\"col-md-6\");\n acCode.prepend(acCodeTitle);\n\n acOutTitle = document.createElement(\"h4\");\n acOutTitle.textContent = \"Output Window\";\n let acOut = $(\".ac_output\").addClass(\"col-md-6\");\n $(\".ac_output\").prepend(acOutTitle);\n\n let sketchpadTitle = document.createElement(\"h4\");\n sketchpadTitle.textContent = \"Sketchpad\";\n let sketchpad = document.createElement(\"span\");\n $(sketchpad).addClass(\"sketchpad\");\n let sketchpadContainer = document.createElement(\"div\");\n $(sketchpadContainer).addClass(\"sketchpad-container\");\n sketchpadContainer.appendChild(sketchpadTitle);\n sketchpadContainer.appendChild(sketchpad);\n //$('.ac_output').append(sketchpadContainer);\n\n let visualizers = $(\".ExecutionVisualizer\");\n\n console.log(\"Econtainer: \", this.eContainer);\n\n $(\"[data-childcomponent]\").on(\"click\", \"button.row-mode\", function () {\n $(this).closest(\"[data-childcomponent]\").removeClass(\"card-mode\");\n $(this).closest(\"[data-childcomponent]\").addClass(\"row-mode\");\n $(this).next(\".card-mode\").removeClass(\"active-layout\");\n $(this).addClass(\"active-layout\");\n });\n\n $(\"[data-childcomponent]\").on(\"click\", \"button.card-mode\", function () {\n $(this).closest(\"[data-childcomponent]\").removeClass(\"row-mode\");\n $(this).closest(\"[data-childcomponent]\").addClass(\"card-mode\");\n $(this).prev(\".row-mode\").removeClass(\"active-layout\");\n $(this).addClass(\"active-layout\");\n });\n\n $(\"[data-childcomponent] .ac_section\").each(function () {\n $(this).prepend(\n '
    '\n );\n });\n\n visualizers.each(function (index) {\n let me = $(this);\n let col1 = me.find(\"#vizLayoutTdFirst\");\n let col2 = me.find(\"#vizLayoutTdSecond\");\n let dataVis = me.find(\"#dataViz\");\n let stackHeapTable = me.find(\"#stackHeapTable\");\n let output = me.find(\"#progOutputs\");\n output.css(\"display\", \"block\");\n me.parent().prepend(\n \"
    Example \" +\n (Number(index) + 1) +\n \"
    \"\n );\n });\n\n acCode.each(function () {\n let section = $(this).closest(\".ac-block\").parent();\n console.log(section, section.length);\n section.append(sketchpadContainer);\n });\n\n $(\"button.card-mode\").click();\n\n let modeSelect = $(\".mode-select\");\n let mode = localStorage.getItem(\"presentMode\");\n if (mode == \"present\") {\n modeSelect.val(\"present\");\n modeSelect.change();\n }\n}\n\n$(document).on(\"runestone:login-complete\", function () {\n // if user is instructor, enable presenter mode\n if (eBookConfig.isInstructor) {\n configure();\n }\n});\n","/*!\n * jQuery Internationalization library\n *\n * Copyright (C) 2012 Santhosh Thottingal\n *\n * jquery.i18n is dual licensed GPLv2 or later and MIT. You don't have to do anything special to\n * choose one license or the other and you don't have to notify anyone which license you are using.\n * You are free to use UniversalLanguageSelector in commercial projects as long as the copyright\n * header is left intact. See files GPL-LICENSE and MIT-LICENSE for details.\n *\n * @licence GNU General Public Licence 2.0 or later\n * @licence MIT License\n */\n( function ( $ ) {\n\t'use strict';\n\n\t$.i18n = $.i18n || {};\n\t$.extend( $.i18n.fallbacks, {\n\t\tab: [ 'ru' ],\n\t\tace: [ 'id' ],\n\t\taln: [ 'sq' ],\n\t\t// Not so standard - als is supposed to be Tosk Albanian,\n\t\t// but in Wikipedia it's used for a Germanic language.\n\t\tals: [ 'gsw', 'de' ],\n\t\tan: [ 'es' ],\n\t\tanp: [ 'hi' ],\n\t\tarn: [ 'es' ],\n\t\tarz: [ 'ar' ],\n\t\tav: [ 'ru' ],\n\t\tay: [ 'es' ],\n\t\tba: [ 'ru' ],\n\t\tbar: [ 'de' ],\n\t\t'bat-smg': [ 'sgs', 'lt' ],\n\t\tbcc: [ 'fa' ],\n\t\t'be-x-old': [ 'be-tarask' ],\n\t\tbh: [ 'bho' ],\n\t\tbjn: [ 'id' ],\n\t\tbm: [ 'fr' ],\n\t\tbpy: [ 'bn' ],\n\t\tbqi: [ 'fa' ],\n\t\tbug: [ 'id' ],\n\t\t'cbk-zam': [ 'es' ],\n\t\tce: [ 'ru' ],\n\t\tcrh: [ 'crh-latn' ],\n\t\t'crh-cyrl': [ 'ru' ],\n\t\tcsb: [ 'pl' ],\n\t\tcv: [ 'ru' ],\n\t\t'de-at': [ 'de' ],\n\t\t'de-ch': [ 'de' ],\n\t\t'de-formal': [ 'de' ],\n\t\tdsb: [ 'de' ],\n\t\tdtp: [ 'ms' ],\n\t\tegl: [ 'it' ],\n\t\teml: [ 'it' ],\n\t\tff: [ 'fr' ],\n\t\tfit: [ 'fi' ],\n\t\t'fiu-vro': [ 'vro', 'et' ],\n\t\tfrc: [ 'fr' ],\n\t\tfrp: [ 'fr' ],\n\t\tfrr: [ 'de' ],\n\t\tfur: [ 'it' ],\n\t\tgag: [ 'tr' ],\n\t\tgan: [ 'gan-hant', 'zh-hant', 'zh-hans' ],\n\t\t'gan-hans': [ 'zh-hans' ],\n\t\t'gan-hant': [ 'zh-hant', 'zh-hans' ],\n\t\tgl: [ 'pt' ],\n\t\tglk: [ 'fa' ],\n\t\tgn: [ 'es' ],\n\t\tgsw: [ 'de' ],\n\t\thif: [ 'hif-latn' ],\n\t\thsb: [ 'de' ],\n\t\tht: [ 'fr' ],\n\t\tii: [ 'zh-cn', 'zh-hans' ],\n\t\tinh: [ 'ru' ],\n\t\tiu: [ 'ike-cans' ],\n\t\tjut: [ 'da' ],\n\t\tjv: [ 'id' ],\n\t\tkaa: [ 'kk-latn', 'kk-cyrl' ],\n\t\tkbd: [ 'kbd-cyrl' ],\n\t\tkhw: [ 'ur' ],\n\t\tkiu: [ 'tr' ],\n\t\tkk: [ 'kk-cyrl' ],\n\t\t'kk-arab': [ 'kk-cyrl' ],\n\t\t'kk-latn': [ 'kk-cyrl' ],\n\t\t'kk-cn': [ 'kk-arab', 'kk-cyrl' ],\n\t\t'kk-kz': [ 'kk-cyrl' ],\n\t\t'kk-tr': [ 'kk-latn', 'kk-cyrl' ],\n\t\tkl: [ 'da' ],\n\t\t'ko-kp': [ 'ko' ],\n\t\tkoi: [ 'ru' ],\n\t\tkrc: [ 'ru' ],\n\t\tks: [ 'ks-arab' ],\n\t\tksh: [ 'de' ],\n\t\tku: [ 'ku-latn' ],\n\t\t'ku-arab': [ 'ckb' ],\n\t\tkv: [ 'ru' ],\n\t\tlad: [ 'es' ],\n\t\tlb: [ 'de' ],\n\t\tlbe: [ 'ru' ],\n\t\tlez: [ 'ru' ],\n\t\tli: [ 'nl' ],\n\t\tlij: [ 'it' ],\n\t\tliv: [ 'et' ],\n\t\tlmo: [ 'it' ],\n\t\tln: [ 'fr' ],\n\t\tltg: [ 'lv' ],\n\t\tlzz: [ 'tr' ],\n\t\tmai: [ 'hi' ],\n\t\t'map-bms': [ 'jv', 'id' ],\n\t\tmg: [ 'fr' ],\n\t\tmhr: [ 'ru' ],\n\t\tmin: [ 'id' ],\n\t\tmo: [ 'ro' ],\n\t\tmrj: [ 'ru' ],\n\t\tmwl: [ 'pt' ],\n\t\tmyv: [ 'ru' ],\n\t\tmzn: [ 'fa' ],\n\t\tnah: [ 'es' ],\n\t\tnap: [ 'it' ],\n\t\tnds: [ 'de' ],\n\t\t'nds-nl': [ 'nl' ],\n\t\t'nl-informal': [ 'nl' ],\n\t\tno: [ 'nb' ],\n\t\tos: [ 'ru' ],\n\t\tpcd: [ 'fr' ],\n\t\tpdc: [ 'de' ],\n\t\tpdt: [ 'de' ],\n\t\tpfl: [ 'de' ],\n\t\tpms: [ 'it' ],\n\t\tpt: [ 'pt-br' ],\n\t\t'pt-br': [ 'pt' ],\n\t\tqu: [ 'es' ],\n\t\tqug: [ 'qu', 'es' ],\n\t\trgn: [ 'it' ],\n\t\trmy: [ 'ro' ],\n\t\t'roa-rup': [ 'rup' ],\n\t\true: [ 'uk', 'ru' ],\n\t\truq: [ 'ruq-latn', 'ro' ],\n\t\t'ruq-cyrl': [ 'mk' ],\n\t\t'ruq-latn': [ 'ro' ],\n\t\tsa: [ 'hi' ],\n\t\tsah: [ 'ru' ],\n\t\tscn: [ 'it' ],\n\t\tsg: [ 'fr' ],\n\t\tsgs: [ 'lt' ],\n\t\tsli: [ 'de' ],\n\t\tsr: [ 'sr-ec' ],\n\t\tsrn: [ 'nl' ],\n\t\tstq: [ 'de' ],\n\t\tsu: [ 'id' ],\n\t\tszl: [ 'pl' ],\n\t\ttcy: [ 'kn' ],\n\t\ttg: [ 'tg-cyrl' ],\n\t\ttt: [ 'tt-cyrl', 'ru' ],\n\t\t'tt-cyrl': [ 'ru' ],\n\t\tty: [ 'fr' ],\n\t\tudm: [ 'ru' ],\n\t\tug: [ 'ug-arab' ],\n\t\tuk: [ 'ru' ],\n\t\tvec: [ 'it' ],\n\t\tvep: [ 'et' ],\n\t\tvls: [ 'nl' ],\n\t\tvmf: [ 'de' ],\n\t\tvot: [ 'fi' ],\n\t\tvro: [ 'et' ],\n\t\twa: [ 'fr' ],\n\t\two: [ 'fr' ],\n\t\twuu: [ 'zh-hans' ],\n\t\txal: [ 'ru' ],\n\t\txmf: [ 'ka' ],\n\t\tyi: [ 'he' ],\n\t\tza: [ 'zh-hans' ],\n\t\tzea: [ 'nl' ],\n\t\tzh: [ 'zh-hans' ],\n\t\t'zh-classical': [ 'lzh' ],\n\t\t'zh-cn': [ 'zh-hans' ],\n\t\t'zh-hant': [ 'zh-hans' ],\n\t\t'zh-hk': [ 'zh-hant', 'zh-hans' ],\n\t\t'zh-min-nan': [ 'nan' ],\n\t\t'zh-mo': [ 'zh-hk', 'zh-hant', 'zh-hans' ],\n\t\t'zh-my': [ 'zh-sg', 'zh-hans' ],\n\t\t'zh-sg': [ 'zh-hans' ],\n\t\t'zh-tw': [ 'zh-hant', 'zh-hans' ],\n\t\t'zh-yue': [ 'yue' ]\n\t} );\n}( jQuery ) );\n","/* global pluralRuleParser */\n( function ( $ ) {\n\t'use strict';\n\n\t// jscs:disable\n\tvar language = {\n\t\t// CLDR plural rules generated using\n\t\t// libs/CLDRPluralRuleParser/tools/PluralXML2JSON.html\n\t\tpluralRules: {\n\t\t\tak: {\n\t\t\t\tone: 'n = 0..1'\n\t\t\t},\n\t\t\tam: {\n\t\t\t\tone: 'i = 0 or n = 1'\n\t\t\t},\n\t\t\tar: {\n\t\t\t\tzero: 'n = 0',\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2',\n\t\t\t\tfew: 'n % 100 = 3..10',\n\t\t\t\tmany: 'n % 100 = 11..99'\n\t\t\t},\n\t\t\tars: {\n\t\t\t\tzero: 'n = 0',\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2',\n\t\t\t\tfew: 'n % 100 = 3..10',\n\t\t\t\tmany: 'n % 100 = 11..99'\n\t\t\t},\n\t\t\tas: {\n\t\t\t\tone: 'i = 0 or n = 1'\n\t\t\t},\n\t\t\tbe: {\n\t\t\t\tone: 'n % 10 = 1 and n % 100 != 11',\n\t\t\t\tfew: 'n % 10 = 2..4 and n % 100 != 12..14',\n\t\t\t\tmany: 'n % 10 = 0 or n % 10 = 5..9 or n % 100 = 11..14'\n\t\t\t},\n\t\t\tbh: {\n\t\t\t\tone: 'n = 0..1'\n\t\t\t},\n\t\t\tbn: {\n\t\t\t\tone: 'i = 0 or n = 1'\n\t\t\t},\n\t\t\tbr: {\n\t\t\t\tone: 'n % 10 = 1 and n % 100 != 11,71,91',\n\t\t\t\ttwo: 'n % 10 = 2 and n % 100 != 12,72,92',\n\t\t\t\tfew: 'n % 10 = 3..4,9 and n % 100 != 10..19,70..79,90..99',\n\t\t\t\tmany: 'n != 0 and n % 1000000 = 0'\n\t\t\t},\n\t\t\tbs: {\n\t\t\t\tone: 'v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11',\n\t\t\t\tfew: 'v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14'\n\t\t\t},\n\t\t\tcs: {\n\t\t\t\tone: 'i = 1 and v = 0',\n\t\t\t\tfew: 'i = 2..4 and v = 0',\n\t\t\t\tmany: 'v != 0'\n\t\t\t},\n\t\t\tcy: {\n\t\t\t\tzero: 'n = 0',\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2',\n\t\t\t\tfew: 'n = 3',\n\t\t\t\tmany: 'n = 6'\n\t\t\t},\n\t\t\tda: {\n\t\t\t\tone: 'n = 1 or t != 0 and i = 0,1'\n\t\t\t},\n\t\t\tdsb: {\n\t\t\t\tone: 'v = 0 and i % 100 = 1 or f % 100 = 1',\n\t\t\t\ttwo: 'v = 0 and i % 100 = 2 or f % 100 = 2',\n\t\t\t\tfew: 'v = 0 and i % 100 = 3..4 or f % 100 = 3..4'\n\t\t\t},\n\t\t\tfa: {\n\t\t\t\tone: 'i = 0 or n = 1'\n\t\t\t},\n\t\t\tff: {\n\t\t\t\tone: 'i = 0,1'\n\t\t\t},\n\t\t\tfil: {\n\t\t\t\tone: 'v = 0 and i = 1,2,3 or v = 0 and i % 10 != 4,6,9 or v != 0 and f % 10 != 4,6,9'\n\t\t\t},\n\t\t\tfr: {\n\t\t\t\tone: 'i = 0,1'\n\t\t\t},\n\t\t\tga: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2',\n\t\t\t\tfew: 'n = 3..6',\n\t\t\t\tmany: 'n = 7..10'\n\t\t\t},\n\t\t\tgd: {\n\t\t\t\tone: 'n = 1,11',\n\t\t\t\ttwo: 'n = 2,12',\n\t\t\t\tfew: 'n = 3..10,13..19'\n\t\t\t},\n\t\t\tgu: {\n\t\t\t\tone: 'i = 0 or n = 1'\n\t\t\t},\n\t\t\tguw: {\n\t\t\t\tone: 'n = 0..1'\n\t\t\t},\n\t\t\tgv: {\n\t\t\t\tone: 'v = 0 and i % 10 = 1',\n\t\t\t\ttwo: 'v = 0 and i % 10 = 2',\n\t\t\t\tfew: 'v = 0 and i % 100 = 0,20,40,60,80',\n\t\t\t\tmany: 'v != 0'\n\t\t\t},\n\t\t\the: {\n\t\t\t\tone: 'i = 1 and v = 0',\n\t\t\t\ttwo: 'i = 2 and v = 0',\n\t\t\t\tmany: 'v = 0 and n != 0..10 and n % 10 = 0'\n\t\t\t},\n\t\t\thi: {\n\t\t\t\tone: 'i = 0 or n = 1'\n\t\t\t},\n\t\t\thr: {\n\t\t\t\tone: 'v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11',\n\t\t\t\tfew: 'v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14'\n\t\t\t},\n\t\t\thsb: {\n\t\t\t\tone: 'v = 0 and i % 100 = 1 or f % 100 = 1',\n\t\t\t\ttwo: 'v = 0 and i % 100 = 2 or f % 100 = 2',\n\t\t\t\tfew: 'v = 0 and i % 100 = 3..4 or f % 100 = 3..4'\n\t\t\t},\n\t\t\thy: {\n\t\t\t\tone: 'i = 0,1'\n\t\t\t},\n\t\t\tis: {\n\t\t\t\tone: 't = 0 and i % 10 = 1 and i % 100 != 11 or t != 0'\n\t\t\t},\n\t\t\tiu: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2'\n\t\t\t},\n\t\t\tiw: {\n\t\t\t\tone: 'i = 1 and v = 0',\n\t\t\t\ttwo: 'i = 2 and v = 0',\n\t\t\t\tmany: 'v = 0 and n != 0..10 and n % 10 = 0'\n\t\t\t},\n\t\t\tkab: {\n\t\t\t\tone: 'i = 0,1'\n\t\t\t},\n\t\t\tkn: {\n\t\t\t\tone: 'i = 0 or n = 1'\n\t\t\t},\n\t\t\tkw: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2'\n\t\t\t},\n\t\t\tlag: {\n\t\t\t\tzero: 'n = 0',\n\t\t\t\tone: 'i = 0,1 and n != 0'\n\t\t\t},\n\t\t\tln: {\n\t\t\t\tone: 'n = 0..1'\n\t\t\t},\n\t\t\tlt: {\n\t\t\t\tone: 'n % 10 = 1 and n % 100 != 11..19',\n\t\t\t\tfew: 'n % 10 = 2..9 and n % 100 != 11..19',\n\t\t\t\tmany: 'f != 0'\n\t\t\t},\n\t\t\tlv: {\n\t\t\t\tzero: 'n % 10 = 0 or n % 100 = 11..19 or v = 2 and f % 100 = 11..19',\n\t\t\t\tone: 'n % 10 = 1 and n % 100 != 11 or v = 2 and f % 10 = 1 and f % 100 != 11 or v != 2 and f % 10 = 1'\n\t\t\t},\n\t\t\tmg: {\n\t\t\t\tone: 'n = 0..1'\n\t\t\t},\n\t\t\tmk: {\n\t\t\t\tone: 'v = 0 and i % 10 = 1 or f % 10 = 1'\n\t\t\t},\n\t\t\tmo: {\n\t\t\t\tone: 'i = 1 and v = 0',\n\t\t\t\tfew: 'v != 0 or n = 0 or n != 1 and n % 100 = 1..19'\n\t\t\t},\n\t\t\tmr: {\n\t\t\t\tone: 'i = 0 or n = 1'\n\t\t\t},\n\t\t\tmt: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\tfew: 'n = 0 or n % 100 = 2..10',\n\t\t\t\tmany: 'n % 100 = 11..19'\n\t\t\t},\n\t\t\tnaq: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2'\n\t\t\t},\n\t\t\tnso: {\n\t\t\t\tone: 'n = 0..1'\n\t\t\t},\n\t\t\tpa: {\n\t\t\t\tone: 'n = 0..1'\n\t\t\t},\n\t\t\tpl: {\n\t\t\t\tone: 'i = 1 and v = 0',\n\t\t\t\tfew: 'v = 0 and i % 10 = 2..4 and i % 100 != 12..14',\n\t\t\t\tmany: 'v = 0 and i != 1 and i % 10 = 0..1 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100 = 12..14'\n\t\t\t},\n\t\t\tprg: {\n\t\t\t\tzero: 'n % 10 = 0 or n % 100 = 11..19 or v = 2 and f % 100 = 11..19',\n\t\t\t\tone: 'n % 10 = 1 and n % 100 != 11 or v = 2 and f % 10 = 1 and f % 100 != 11 or v != 2 and f % 10 = 1'\n\t\t\t},\n\t\t\tpt: {\n\t\t\t\tone: 'i = 0..1'\n\t\t\t},\n\t\t\tro: {\n\t\t\t\tone: 'i = 1 and v = 0',\n\t\t\t\tfew: 'v != 0 or n = 0 or n != 1 and n % 100 = 1..19'\n\t\t\t},\n\t\t\tru: {\n\t\t\t\tone: 'v = 0 and i % 10 = 1 and i % 100 != 11',\n\t\t\t\tfew: 'v = 0 and i % 10 = 2..4 and i % 100 != 12..14',\n\t\t\t\tmany: 'v = 0 and i % 10 = 0 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100 = 11..14'\n\t\t\t},\n\t\t\tse: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2'\n\t\t\t},\n\t\t\tsh: {\n\t\t\t\tone: 'v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11',\n\t\t\t\tfew: 'v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14'\n\t\t\t},\n\t\t\tshi: {\n\t\t\t\tone: 'i = 0 or n = 1',\n\t\t\t\tfew: 'n = 2..10'\n\t\t\t},\n\t\t\tsi: {\n\t\t\t\tone: 'n = 0,1 or i = 0 and f = 1'\n\t\t\t},\n\t\t\tsk: {\n\t\t\t\tone: 'i = 1 and v = 0',\n\t\t\t\tfew: 'i = 2..4 and v = 0',\n\t\t\t\tmany: 'v != 0'\n\t\t\t},\n\t\t\tsl: {\n\t\t\t\tone: 'v = 0 and i % 100 = 1',\n\t\t\t\ttwo: 'v = 0 and i % 100 = 2',\n\t\t\t\tfew: 'v = 0 and i % 100 = 3..4 or v != 0'\n\t\t\t},\n\t\t\tsma: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2'\n\t\t\t},\n\t\t\tsmi: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2'\n\t\t\t},\n\t\t\tsmj: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2'\n\t\t\t},\n\t\t\tsmn: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2'\n\t\t\t},\n\t\t\tsms: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2'\n\t\t\t},\n\t\t\tsr: {\n\t\t\t\tone: 'v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11',\n\t\t\t\tfew: 'v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14'\n\t\t\t},\n\t\t\tti: {\n\t\t\t\tone: 'n = 0..1'\n\t\t\t},\n\t\t\ttl: {\n\t\t\t\tone: 'v = 0 and i = 1,2,3 or v = 0 and i % 10 != 4,6,9 or v != 0 and f % 10 != 4,6,9'\n\t\t\t},\n\t\t\ttzm: {\n\t\t\t\tone: 'n = 0..1 or n = 11..99'\n\t\t\t},\n\t\t\tuk: {\n\t\t\t\tone: 'v = 0 and i % 10 = 1 and i % 100 != 11',\n\t\t\t\tfew: 'v = 0 and i % 10 = 2..4 and i % 100 != 12..14',\n\t\t\t\tmany: 'v = 0 and i % 10 = 0 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100 = 11..14'\n\t\t\t},\n\t\t\twa: {\n\t\t\t\tone: 'n = 0..1'\n\t\t\t},\n\t\t\tzu: {\n\t\t\t\tone: 'i = 0 or n = 1'\n\t\t\t}\n\t\t},\n\t\t// jscs:enable\n\n\t\t/**\n\t\t * Plural form transformations, needed for some languages.\n\t\t *\n\t\t * @param {integer} count\n\t\t * Non-localized quantifier\n\t\t * @param {Array} forms\n\t\t * List of plural forms\n\t\t * @return {string} Correct form for quantifier in this language\n\t\t */\n\t\tconvertPlural: function ( count, forms ) {\n\t\t\tvar pluralRules,\n\t\t\t\tpluralFormIndex,\n\t\t\t\tindex,\n\t\t\t\texplicitPluralPattern = new RegExp( '\\\\d+=', 'i' ),\n\t\t\t\tformCount,\n\t\t\t\tform;\n\n\t\t\tif ( !forms || forms.length === 0 ) {\n\t\t\t\treturn '';\n\t\t\t}\n\n\t\t\t// Handle for Explicit 0= & 1= values\n\t\t\tfor ( index = 0; index < forms.length; index++ ) {\n\t\t\t\tform = forms[ index ];\n\t\t\t\tif ( explicitPluralPattern.test( form ) ) {\n\t\t\t\t\tformCount = parseInt( form.slice( 0, form.indexOf( '=' ) ), 10 );\n\t\t\t\t\tif ( formCount === count ) {\n\t\t\t\t\t\treturn ( form.slice( form.indexOf( '=' ) + 1 ) );\n\t\t\t\t\t}\n\t\t\t\t\tforms[ index ] = undefined;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tforms = $.map( forms, function ( form ) {\n\t\t\t\tif ( form !== undefined ) {\n\t\t\t\t\treturn form;\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tpluralRules = this.pluralRules[ $.i18n().locale ];\n\n\t\t\tif ( !pluralRules ) {\n\t\t\t\t// default fallback.\n\t\t\t\treturn ( count === 1 ) ? forms[ 0 ] : forms[ 1 ];\n\t\t\t}\n\n\t\t\tpluralFormIndex = this.getPluralForm( count, pluralRules );\n\t\t\tpluralFormIndex = Math.min( pluralFormIndex, forms.length - 1 );\n\n\t\t\treturn forms[ pluralFormIndex ];\n\t\t},\n\n\t\t/**\n\t\t * For the number, get the plural for index\n\t\t *\n\t\t * @param {integer} number\n\t\t * @param {Object} pluralRules\n\t\t * @return {integer} plural form index\n\t\t */\n\t\tgetPluralForm: function ( number, pluralRules ) {\n\t\t\tvar i,\n\t\t\t\tpluralForms = [ 'zero', 'one', 'two', 'few', 'many', 'other' ],\n\t\t\t\tpluralFormIndex = 0;\n\n\t\t\tfor ( i = 0; i < pluralForms.length; i++ ) {\n\t\t\t\tif ( pluralRules[ pluralForms[ i ] ] ) {\n\t\t\t\t\tif ( pluralRuleParser( pluralRules[ pluralForms[ i ] ], number ) ) {\n\t\t\t\t\t\treturn pluralFormIndex;\n\t\t\t\t\t}\n\n\t\t\t\t\tpluralFormIndex++;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn pluralFormIndex;\n\t\t},\n\n\t\t/**\n\t\t * Converts a number using digitTransformTable.\n\t\t *\n\t\t * @param {number} num Value to be converted\n\t\t * @param {boolean} integer Convert the return value to an integer\n\t\t * @return {string} The number converted into a String.\n\t\t */\n\t\tconvertNumber: function ( num, integer ) {\n\t\t\tvar tmp, item, i,\n\t\t\t\ttransformTable, numberString, convertedNumber;\n\n\t\t\t// Set the target Transform table:\n\t\t\ttransformTable = this.digitTransformTable( $.i18n().locale );\n\t\t\tnumberString = String( num );\n\t\t\tconvertedNumber = '';\n\n\t\t\tif ( !transformTable ) {\n\t\t\t\treturn num;\n\t\t\t}\n\n\t\t\t// Check if the restore to Latin number flag is set:\n\t\t\tif ( integer ) {\n\t\t\t\tif ( parseFloat( num, 10 ) === num ) {\n\t\t\t\t\treturn num;\n\t\t\t\t}\n\n\t\t\t\ttmp = [];\n\n\t\t\t\tfor ( item in transformTable ) {\n\t\t\t\t\ttmp[ transformTable[ item ] ] = item;\n\t\t\t\t}\n\n\t\t\t\ttransformTable = tmp;\n\t\t\t}\n\n\t\t\tfor ( i = 0; i < numberString.length; i++ ) {\n\t\t\t\tif ( transformTable[ numberString[ i ] ] ) {\n\t\t\t\t\tconvertedNumber += transformTable[ numberString[ i ] ];\n\t\t\t\t} else {\n\t\t\t\t\tconvertedNumber += numberString[ i ];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn integer ? parseFloat( convertedNumber, 10 ) : convertedNumber;\n\t\t},\n\n\t\t/**\n\t\t * Grammatical transformations, needed for inflected languages.\n\t\t * Invoked by putting {{grammar:form|word}} in a message.\n\t\t * Override this method for languages that need special grammar rules\n\t\t * applied dynamically.\n\t\t *\n\t\t * @param {string} word\n\t\t * @param {string} form\n\t\t * @return {string}\n\t\t */\n\t\t// eslint-disable-next-line no-unused-vars\n\t\tconvertGrammar: function ( word, form ) {\n\t\t\treturn word;\n\t\t},\n\n\t\t/**\n\t\t * Provides an alternative text depending on specified gender. Usage\n\t\t * {{gender:[gender|user object]|masculine|feminine|neutral}}. If second\n\t\t * or third parameter are not specified, masculine is used.\n\t\t *\n\t\t * These details may be overriden per language.\n\t\t *\n\t\t * @param {string} gender\n\t\t * male, female, or anything else for neutral.\n\t\t * @param {Array} forms\n\t\t * List of gender forms\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tgender: function ( gender, forms ) {\n\t\t\tif ( !forms || forms.length === 0 ) {\n\t\t\t\treturn '';\n\t\t\t}\n\n\t\t\twhile ( forms.length < 2 ) {\n\t\t\t\tforms.push( forms[ forms.length - 1 ] );\n\t\t\t}\n\n\t\t\tif ( gender === 'male' ) {\n\t\t\t\treturn forms[ 0 ];\n\t\t\t}\n\n\t\t\tif ( gender === 'female' ) {\n\t\t\t\treturn forms[ 1 ];\n\t\t\t}\n\n\t\t\treturn ( forms.length === 3 ) ? forms[ 2 ] : forms[ 0 ];\n\t\t},\n\n\t\t/**\n\t\t * Get the digit transform table for the given language\n\t\t * See http://cldr.unicode.org/translation/numbering-systems\n\t\t *\n\t\t * @param {string} language\n\t\t * @return {Array|boolean} List of digits in the passed language or false\n\t\t * representation, or boolean false if there is no information.\n\t\t */\n\t\tdigitTransformTable: function ( language ) {\n\t\t\tvar tables = {\n\t\t\t\tar: '٠١٢٣٤٥٦٧٨٩',\n\t\t\t\tfa: '۰۱۲۳۴۵۶۷۸۹',\n\t\t\t\tml: '൦൧൨൩൪൫൬൭൮൯',\n\t\t\t\tkn: '೦೧೨೩೪೫೬೭೮೯',\n\t\t\t\tlo: '໐໑໒໓໔໕໖໗໘໙',\n\t\t\t\tor: '୦୧୨୩୪୫୬୭୮୯',\n\t\t\t\tkh: '០១២៣៤៥៦៧៨៩',\n\t\t\t\tpa: '੦੧੨੩੪੫੬੭੮੯',\n\t\t\t\tgu: '૦૧૨૩૪૫૬૭૮૯',\n\t\t\t\thi: '०१२३४५६७८९',\n\t\t\t\tmy: '၀၁၂၃၄၅၆၇၈၉',\n\t\t\t\tta: '௦௧௨௩௪௫௬௭௮௯',\n\t\t\t\tte: '౦౧౨౩౪౫౬౭౮౯',\n\t\t\t\tth: '๐๑๒๓๔๕๖๗๘๙', // FIXME use iso 639 codes\n\t\t\t\tbo: '༠༡༢༣༤༥༦༧༨༩' // FIXME use iso 639 codes\n\t\t\t};\n\n\t\t\tif ( !tables[ language ] ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn tables[ language ].split( '' );\n\t\t}\n\t};\n\n\t$.extend( $.i18n.languages, {\n\t\t'default': language\n\t} );\n}( jQuery ) );\n","/*!\n * BIDI embedding support for jQuery.i18n\n *\n * Copyright (C) 2015, David Chan\n *\n * This code is dual licensed GPLv2 or later and MIT. You don't have to do\n * anything special to choose one license or the other and you don't have to\n * notify anyone which license you are using. You are free to use this code\n * in commercial projects as long as the copyright header is left intact.\n * See files GPL-LICENSE and MIT-LICENSE for details.\n *\n * @licence GNU General Public Licence 2.0 or later\n * @licence MIT License\n */\n\n( function ( $ ) {\n\t'use strict';\n\tvar strongDirRegExp;\n\n\t/**\n\t * Matches the first strong directionality codepoint:\n\t * - in group 1 if it is LTR\n\t * - in group 2 if it is RTL\n\t * Does not match if there is no strong directionality codepoint.\n\t *\n\t * Generated by UnicodeJS (see tools/strongDir) from the UCD; see\n\t * https://phabricator.wikimedia.org/diffusion/GUJS/ .\n\t */\n\tstrongDirRegExp = new RegExp(\n\t\t'(?:' +\n\t\t\t'(' +\n\t\t\t\t'[\\u0041-\\u005a\\u0061-\\u007a\\u00aa\\u00b5\\u00ba\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u02b8\\u02bb-\\u02c1\\u02d0\\u02d1\\u02e0-\\u02e4\\u02ee\\u0370-\\u0373\\u0376\\u0377\\u037a-\\u037d\\u037f\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0482\\u048a-\\u052f\\u0531-\\u0556\\u0559-\\u055f\\u0561-\\u0587\\u0589\\u0903-\\u0939\\u093b\\u093d-\\u0940\\u0949-\\u094c\\u094e-\\u0950\\u0958-\\u0961\\u0964-\\u0980\\u0982\\u0983\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd-\\u09c0\\u09c7\\u09c8\\u09cb\\u09cc\\u09ce\\u09d7\\u09dc\\u09dd\\u09df-\\u09e1\\u09e6-\\u09f1\\u09f4-\\u09fa\\u0a03\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a3e-\\u0a40\\u0a59-\\u0a5c\\u0a5e\\u0a66-\\u0a6f\\u0a72-\\u0a74\\u0a83\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd-\\u0ac0\\u0ac9\\u0acb\\u0acc\\u0ad0\\u0ae0\\u0ae1\\u0ae6-\\u0af0\\u0af9\\u0b02\\u0b03\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b3e\\u0b40\\u0b47\\u0b48\\u0b4b\\u0b4c\\u0b57\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b66-\\u0b77\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bbe\\u0bbf\\u0bc1\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcc\\u0bd0\\u0bd7\\u0be6-\\u0bf2\\u0c01-\\u0c03\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c39\\u0c3d\\u0c41-\\u0c44\\u0c58-\\u0c5a\\u0c60\\u0c61\\u0c66-\\u0c6f\\u0c7f\\u0c82\\u0c83\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd-\\u0cc4\\u0cc6-\\u0cc8\\u0cca\\u0ccb\\u0cd5\\u0cd6\\u0cde\\u0ce0\\u0ce1\\u0ce6-\\u0cef\\u0cf1\\u0cf2\\u0d02\\u0d03\\u0d05-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d-\\u0d40\\u0d46-\\u0d48\\u0d4a-\\u0d4c\\u0d4e\\u0d57\\u0d5f-\\u0d61\\u0d66-\\u0d75\\u0d79-\\u0d7f\\u0d82\\u0d83\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0dcf-\\u0dd1\\u0dd8-\\u0ddf\\u0de6-\\u0def\\u0df2-\\u0df4\\u0e01-\\u0e30\\u0e32\\u0e33\\u0e40-\\u0e46\\u0e4f-\\u0e5b\\u0e81\\u0e82\\u0e84\\u0e87\\u0e88\\u0e8a\\u0e8d\\u0e94-\\u0e97\\u0e99-\\u0e9f\\u0ea1-\\u0ea3\\u0ea5\\u0ea7\\u0eaa\\u0eab\\u0ead-\\u0eb0\\u0eb2\\u0eb3\\u0ebd\\u0ec0-\\u0ec4\\u0ec6\\u0ed0-\\u0ed9\\u0edc-\\u0edf\\u0f00-\\u0f17\\u0f1a-\\u0f34\\u0f36\\u0f38\\u0f3e-\\u0f47\\u0f49-\\u0f6c\\u0f7f\\u0f85\\u0f88-\\u0f8c\\u0fbe-\\u0fc5\\u0fc7-\\u0fcc\\u0fce-\\u0fda\\u1000-\\u102c\\u1031\\u1038\\u103b\\u103c\\u103f-\\u1057\\u105a-\\u105d\\u1061-\\u1070\\u1075-\\u1081\\u1083\\u1084\\u1087-\\u108c\\u108e-\\u109c\\u109e-\\u10c5\\u10c7\\u10cd\\u10d0-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1360-\\u137c\\u1380-\\u138f\\u13a0-\\u13f5\\u13f8-\\u13fd\\u1401-\\u167f\\u1681-\\u169a\\u16a0-\\u16f8\\u1700-\\u170c\\u170e-\\u1711\\u1720-\\u1731\\u1735\\u1736\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1780-\\u17b3\\u17b6\\u17be-\\u17c5\\u17c7\\u17c8\\u17d4-\\u17da\\u17dc\\u17e0-\\u17e9\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191e\\u1923-\\u1926\\u1929-\\u192b\\u1930\\u1931\\u1933-\\u1938\\u1946-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19b0-\\u19c9\\u19d0-\\u19da\\u1a00-\\u1a16\\u1a19\\u1a1a\\u1a1e-\\u1a55\\u1a57\\u1a61\\u1a63\\u1a64\\u1a6d-\\u1a72\\u1a80-\\u1a89\\u1a90-\\u1a99\\u1aa0-\\u1aad\\u1b04-\\u1b33\\u1b35\\u1b3b\\u1b3d-\\u1b41\\u1b43-\\u1b4b\\u1b50-\\u1b6a\\u1b74-\\u1b7c\\u1b82-\\u1ba1\\u1ba6\\u1ba7\\u1baa\\u1bae-\\u1be5\\u1be7\\u1bea-\\u1bec\\u1bee\\u1bf2\\u1bf3\\u1bfc-\\u1c2b\\u1c34\\u1c35\\u1c3b-\\u1c49\\u1c4d-\\u1c7f\\u1cc0-\\u1cc7\\u1cd3\\u1ce1\\u1ce9-\\u1cec\\u1cee-\\u1cf3\\u1cf5\\u1cf6\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u200e\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2119-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u212d\\u212f-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u214f\\u2160-\\u2188\\u2336-\\u237a\\u2395\\u249c-\\u24e9\\u26ac\\u2800-\\u28ff\\u2c00-\\u2c2e\\u2c30-\\u2c5e\\u2c60-\\u2ce4\\u2ceb-\\u2cee\\u2cf2\\u2cf3\\u2d00-\\u2d25\\u2d27\\u2d2d\\u2d30-\\u2d67\\u2d6f\\u2d70\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u3005-\\u3007\\u3021-\\u3029\\u302e\\u302f\\u3031-\\u3035\\u3038-\\u303c\\u3041-\\u3096\\u309d-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312d\\u3131-\\u318e\\u3190-\\u31ba\\u31f0-\\u321c\\u3220-\\u324f\\u3260-\\u327b\\u327f-\\u32b0\\u32c0-\\u32cb\\u32d0-\\u32fe\\u3300-\\u3376\\u337b-\\u33dd\\u33e0-\\u33fe\\u3400-\\u4db5\\u4e00-\\u9fd5\\ua000-\\ua48c\\ua4d0-\\ua60c\\ua610-\\ua62b\\ua640-\\ua66e\\ua680-\\ua69d\\ua6a0-\\ua6ef\\ua6f2-\\ua6f7\\ua722-\\ua787\\ua789-\\ua7ad\\ua7b0-\\ua7b7\\ua7f7-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua824\\ua827\\ua830-\\ua837\\ua840-\\ua873\\ua880-\\ua8c3\\ua8ce-\\ua8d9\\ua8f2-\\ua8fd\\ua900-\\ua925\\ua92e-\\ua946\\ua952\\ua953\\ua95f-\\ua97c\\ua983-\\ua9b2\\ua9b4\\ua9b5\\ua9ba\\ua9bb\\ua9bd-\\ua9cd\\ua9cf-\\ua9d9\\ua9de-\\ua9e4\\ua9e6-\\ua9fe\\uaa00-\\uaa28\\uaa2f\\uaa30\\uaa33\\uaa34\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uaa4d\\uaa50-\\uaa59\\uaa5c-\\uaa7b\\uaa7d-\\uaaaf\\uaab1\\uaab5\\uaab6\\uaab9-\\uaabd\\uaac0\\uaac2\\uaadb-\\uaaeb\\uaaee-\\uaaf5\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uab30-\\uab65\\uab70-\\uabe4\\uabe6\\uabe7\\uabe9-\\uabec\\uabf0-\\uabf9\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\ue000-\\ufa6d\\ufa70-\\ufad9\\ufb00-\\ufb06\\ufb13-\\ufb17\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc]|\\ud800[\\udc00-\\udc0b]|\\ud800[\\udc0d-\\udc26]|\\ud800[\\udc28-\\udc3a]|\\ud800\\udc3c|\\ud800\\udc3d|\\ud800[\\udc3f-\\udc4d]|\\ud800[\\udc50-\\udc5d]|\\ud800[\\udc80-\\udcfa]|\\ud800\\udd00|\\ud800\\udd02|\\ud800[\\udd07-\\udd33]|\\ud800[\\udd37-\\udd3f]|\\ud800[\\uddd0-\\uddfc]|\\ud800[\\ude80-\\ude9c]|\\ud800[\\udea0-\\uded0]|\\ud800[\\udf00-\\udf23]|\\ud800[\\udf30-\\udf4a]|\\ud800[\\udf50-\\udf75]|\\ud800[\\udf80-\\udf9d]|\\ud800[\\udf9f-\\udfc3]|\\ud800[\\udfc8-\\udfd5]|\\ud801[\\udc00-\\udc9d]|\\ud801[\\udca0-\\udca9]|\\ud801[\\udd00-\\udd27]|\\ud801[\\udd30-\\udd63]|\\ud801\\udd6f|\\ud801[\\ude00-\\udf36]|\\ud801[\\udf40-\\udf55]|\\ud801[\\udf60-\\udf67]|\\ud804\\udc00|\\ud804[\\udc02-\\udc37]|\\ud804[\\udc47-\\udc4d]|\\ud804[\\udc66-\\udc6f]|\\ud804[\\udc82-\\udcb2]|\\ud804\\udcb7|\\ud804\\udcb8|\\ud804[\\udcbb-\\udcc1]|\\ud804[\\udcd0-\\udce8]|\\ud804[\\udcf0-\\udcf9]|\\ud804[\\udd03-\\udd26]|\\ud804\\udd2c|\\ud804[\\udd36-\\udd43]|\\ud804[\\udd50-\\udd72]|\\ud804[\\udd74-\\udd76]|\\ud804[\\udd82-\\uddb5]|\\ud804[\\uddbf-\\uddc9]|\\ud804\\uddcd|\\ud804[\\uddd0-\\udddf]|\\ud804[\\udde1-\\uddf4]|\\ud804[\\ude00-\\ude11]|\\ud804[\\ude13-\\ude2e]|\\ud804\\ude32|\\ud804\\ude33|\\ud804\\ude35|\\ud804[\\ude38-\\ude3d]|\\ud804[\\ude80-\\ude86]|\\ud804\\ude88|\\ud804[\\ude8a-\\ude8d]|\\ud804[\\ude8f-\\ude9d]|\\ud804[\\ude9f-\\udea9]|\\ud804[\\udeb0-\\udede]|\\ud804[\\udee0-\\udee2]|\\ud804[\\udef0-\\udef9]|\\ud804\\udf02|\\ud804\\udf03|\\ud804[\\udf05-\\udf0c]|\\ud804\\udf0f|\\ud804\\udf10|\\ud804[\\udf13-\\udf28]|\\ud804[\\udf2a-\\udf30]|\\ud804\\udf32|\\ud804\\udf33|\\ud804[\\udf35-\\udf39]|\\ud804[\\udf3d-\\udf3f]|\\ud804[\\udf41-\\udf44]|\\ud804\\udf47|\\ud804\\udf48|\\ud804[\\udf4b-\\udf4d]|\\ud804\\udf50|\\ud804\\udf57|\\ud804[\\udf5d-\\udf63]|\\ud805[\\udc80-\\udcb2]|\\ud805\\udcb9|\\ud805[\\udcbb-\\udcbe]|\\ud805\\udcc1|\\ud805[\\udcc4-\\udcc7]|\\ud805[\\udcd0-\\udcd9]|\\ud805[\\udd80-\\uddb1]|\\ud805[\\uddb8-\\uddbb]|\\ud805\\uddbe|\\ud805[\\uddc1-\\udddb]|\\ud805[\\ude00-\\ude32]|\\ud805\\ude3b|\\ud805\\ude3c|\\ud805\\ude3e|\\ud805[\\ude41-\\ude44]|\\ud805[\\ude50-\\ude59]|\\ud805[\\ude80-\\udeaa]|\\ud805\\udeac|\\ud805\\udeae|\\ud805\\udeaf|\\ud805\\udeb6|\\ud805[\\udec0-\\udec9]|\\ud805[\\udf00-\\udf19]|\\ud805\\udf20|\\ud805\\udf21|\\ud805\\udf26|\\ud805[\\udf30-\\udf3f]|\\ud806[\\udca0-\\udcf2]|\\ud806\\udcff|\\ud806[\\udec0-\\udef8]|\\ud808[\\udc00-\\udf99]|\\ud809[\\udc00-\\udc6e]|\\ud809[\\udc70-\\udc74]|\\ud809[\\udc80-\\udd43]|\\ud80c[\\udc00-\\udfff]|\\ud80d[\\udc00-\\udc2e]|\\ud811[\\udc00-\\ude46]|\\ud81a[\\udc00-\\ude38]|\\ud81a[\\ude40-\\ude5e]|\\ud81a[\\ude60-\\ude69]|\\ud81a\\ude6e|\\ud81a\\ude6f|\\ud81a[\\uded0-\\udeed]|\\ud81a\\udef5|\\ud81a[\\udf00-\\udf2f]|\\ud81a[\\udf37-\\udf45]|\\ud81a[\\udf50-\\udf59]|\\ud81a[\\udf5b-\\udf61]|\\ud81a[\\udf63-\\udf77]|\\ud81a[\\udf7d-\\udf8f]|\\ud81b[\\udf00-\\udf44]|\\ud81b[\\udf50-\\udf7e]|\\ud81b[\\udf93-\\udf9f]|\\ud82c\\udc00|\\ud82c\\udc01|\\ud82f[\\udc00-\\udc6a]|\\ud82f[\\udc70-\\udc7c]|\\ud82f[\\udc80-\\udc88]|\\ud82f[\\udc90-\\udc99]|\\ud82f\\udc9c|\\ud82f\\udc9f|\\ud834[\\udc00-\\udcf5]|\\ud834[\\udd00-\\udd26]|\\ud834[\\udd29-\\udd66]|\\ud834[\\udd6a-\\udd72]|\\ud834\\udd83|\\ud834\\udd84|\\ud834[\\udd8c-\\udda9]|\\ud834[\\uddae-\\udde8]|\\ud834[\\udf60-\\udf71]|\\ud835[\\udc00-\\udc54]|\\ud835[\\udc56-\\udc9c]|\\ud835\\udc9e|\\ud835\\udc9f|\\ud835\\udca2|\\ud835\\udca5|\\ud835\\udca6|\\ud835[\\udca9-\\udcac]|\\ud835[\\udcae-\\udcb9]|\\ud835\\udcbb|\\ud835[\\udcbd-\\udcc3]|\\ud835[\\udcc5-\\udd05]|\\ud835[\\udd07-\\udd0a]|\\ud835[\\udd0d-\\udd14]|\\ud835[\\udd16-\\udd1c]|\\ud835[\\udd1e-\\udd39]|\\ud835[\\udd3b-\\udd3e]|\\ud835[\\udd40-\\udd44]|\\ud835\\udd46|\\ud835[\\udd4a-\\udd50]|\\ud835[\\udd52-\\udea5]|\\ud835[\\udea8-\\udeda]|\\ud835[\\udedc-\\udf14]|\\ud835[\\udf16-\\udf4e]|\\ud835[\\udf50-\\udf88]|\\ud835[\\udf8a-\\udfc2]|\\ud835[\\udfc4-\\udfcb]|\\ud836[\\udc00-\\uddff]|\\ud836[\\ude37-\\ude3a]|\\ud836[\\ude6d-\\ude74]|\\ud836[\\ude76-\\ude83]|\\ud836[\\ude85-\\ude8b]|\\ud83c[\\udd10-\\udd2e]|\\ud83c[\\udd30-\\udd69]|\\ud83c[\\udd70-\\udd9a]|\\ud83c[\\udde6-\\ude02]|\\ud83c[\\ude10-\\ude3a]|\\ud83c[\\ude40-\\ude48]|\\ud83c\\ude50|\\ud83c\\ude51|[\\ud840-\\ud868][\\udc00-\\udfff]|\\ud869[\\udc00-\\uded6]|\\ud869[\\udf00-\\udfff]|[\\ud86a-\\ud86c][\\udc00-\\udfff]|\\ud86d[\\udc00-\\udf34]|\\ud86d[\\udf40-\\udfff]|\\ud86e[\\udc00-\\udc1d]|\\ud86e[\\udc20-\\udfff]|[\\ud86f-\\ud872][\\udc00-\\udfff]|\\ud873[\\udc00-\\udea1]|\\ud87e[\\udc00-\\ude1d]|[\\udb80-\\udbbe][\\udc00-\\udfff]|\\udbbf[\\udc00-\\udffd]|[\\udbc0-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udffd]' +\n\t\t\t')|(' +\n\t\t\t\t'[\\u0590\\u05be\\u05c0\\u05c3\\u05c6\\u05c8-\\u05ff\\u07c0-\\u07ea\\u07f4\\u07f5\\u07fa-\\u0815\\u081a\\u0824\\u0828\\u082e-\\u0858\\u085c-\\u089f\\u200f\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb4f\\u0608\\u060b\\u060d\\u061b-\\u064a\\u066d-\\u066f\\u0671-\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u0710\\u0712-\\u072f\\u074b-\\u07a5\\u07b1-\\u07bf\\u08a0-\\u08e2\\ufb50-\\ufd3d\\ufd40-\\ufdcf\\ufdf0-\\ufdfc\\ufdfe\\ufdff\\ufe70-\\ufefe]|\\ud802[\\udc00-\\udd1e]|\\ud802[\\udd20-\\ude00]|\\ud802\\ude04|\\ud802[\\ude07-\\ude0b]|\\ud802[\\ude10-\\ude37]|\\ud802[\\ude3b-\\ude3e]|\\ud802[\\ude40-\\udee4]|\\ud802[\\udee7-\\udf38]|\\ud802[\\udf40-\\udfff]|\\ud803[\\udc00-\\ude5f]|\\ud803[\\ude7f-\\udfff]|\\ud83a[\\udc00-\\udccf]|\\ud83a[\\udcd7-\\udfff]|\\ud83b[\\udc00-\\uddff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\ude00-\\udeef]|\\ud83b[\\udef2-\\udeff]' +\n\t\t\t')' +\n\t\t')'\n\t);\n\n\t/**\n\t * Gets directionality of the first strongly directional codepoint\n\t *\n\t * This is the rule the BIDI algorithm uses to determine the directionality of\n\t * paragraphs ( http://unicode.org/reports/tr9/#The_Paragraph_Level ) and\n\t * FSI isolates ( http://unicode.org/reports/tr9/#Explicit_Directional_Isolates ).\n\t *\n\t * TODO: Does not handle BIDI control characters inside the text.\n\t * TODO: Does not handle unallocated characters.\n\t *\n\t * @param {string} text The text from which to extract initial directionality.\n\t * @return {string} Directionality (either 'ltr' or 'rtl')\n\t */\n\tfunction strongDirFromContent( text ) {\n\t\tvar m = text.match( strongDirRegExp );\n\t\tif ( !m ) {\n\t\t\treturn null;\n\t\t}\n\t\tif ( m[ 2 ] === undefined ) {\n\t\t\treturn 'ltr';\n\t\t}\n\t\treturn 'rtl';\n\t}\n\n\t$.extend( $.i18n.parser.emitter, {\n\t\t/**\n\t\t * Wraps argument with unicode control characters for directionality safety\n\t\t *\n\t\t * This solves the problem where directionality-neutral characters at the edge of\n\t\t * the argument string get interpreted with the wrong directionality from the\n\t\t * enclosing context, giving renderings that look corrupted like \"(Ben_(WMF\".\n\t\t *\n\t\t * The wrapping is LRE...PDF or RLE...PDF, depending on the detected\n\t\t * directionality of the argument string, using the BIDI algorithm's own \"First\n\t\t * strong directional codepoint\" rule. Essentially, this works round the fact that\n\t\t * there is no embedding equivalent of U+2068 FSI (isolation with heuristic\n\t\t * direction inference). The latter is cleaner but still not widely supported.\n\t\t *\n\t\t * @param {string[]} nodes The text nodes from which to take the first item.\n\t\t * @return {string} Wrapped String of content as needed.\n\t\t */\n\t\tbidi: function ( nodes ) {\n\t\t\tvar dir = strongDirFromContent( nodes[ 0 ] );\n\t\t\tif ( dir === 'ltr' ) {\n\t\t\t\t// Wrap in LEFT-TO-RIGHT EMBEDDING ... POP DIRECTIONAL FORMATTING\n\t\t\t\treturn '\\u202A' + nodes[ 0 ] + '\\u202C';\n\t\t\t}\n\t\t\tif ( dir === 'rtl' ) {\n\t\t\t\t// Wrap in RIGHT-TO-LEFT EMBEDDING ... POP DIRECTIONAL FORMATTING\n\t\t\t\treturn '\\u202B' + nodes[ 0 ] + '\\u202C';\n\t\t\t}\n\t\t\t// No strong directionality: do not wrap\n\t\t\treturn nodes[ 0 ];\n\t\t}\n\t} );\n}( jQuery ) );\n","module.exports = jQuery;","/*!\n * jQuery Internationalization library\n *\n * Copyright (C) 2011-2013 Santhosh Thottingal, Neil Kandalgaonkar\n *\n * jquery.i18n is dual licensed GPLv2 or later and MIT. You don't have to do\n * anything special to choose one license or the other and you don't have to\n * notify anyone which license you are using. You are free to use\n * UniversalLanguageSelector in commercial projects as long as the copyright\n * header is left intact. See files GPL-LICENSE and MIT-LICENSE for details.\n *\n * @licence GNU General Public Licence 2.0 or later\n * @licence MIT License\n */\n\n( function ( $ ) {\n\t'use strict';\n\n\tvar MessageParserEmitter = function () {\n\t\tthis.language = $.i18n.languages[ String.locale ] || $.i18n.languages[ 'default' ];\n\t};\n\n\tMessageParserEmitter.prototype = {\n\t\tconstructor: MessageParserEmitter,\n\n\t\t/**\n\t\t * (We put this method definition here, and not in prototype, to make\n\t\t * sure it's not overwritten by any magic.) Walk entire node structure,\n\t\t * applying replacements and template functions when appropriate\n\t\t *\n\t\t * @param {Mixed} node abstract syntax tree (top node or subnode)\n\t\t * @param {Array} replacements for $1, $2, ... $n\n\t\t * @return {Mixed} single-string node or array of nodes suitable for\n\t\t * jQuery appending.\n\t\t */\n\t\temit: function ( node, replacements ) {\n\t\t\tvar ret, subnodes, operation,\n\t\t\t\tmessageParserEmitter = this;\n\n\t\t\tswitch ( typeof node ) {\n\t\t\t\tcase 'string':\n\t\t\t\tcase 'number':\n\t\t\t\t\tret = node;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'object':\n\t\t\t\t// node is an array of nodes\n\t\t\t\t\tsubnodes = $.map( node.slice( 1 ), function ( n ) {\n\t\t\t\t\t\treturn messageParserEmitter.emit( n, replacements );\n\t\t\t\t\t} );\n\n\t\t\t\t\toperation = node[ 0 ].toLowerCase();\n\n\t\t\t\t\tif ( typeof messageParserEmitter[ operation ] === 'function' ) {\n\t\t\t\t\t\tret = messageParserEmitter[ operation ]( subnodes, replacements );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthrow new Error( 'unknown operation \"' + operation + '\"' );\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'undefined':\n\t\t\t\t// Parsing the empty string (as an entire expression, or as a\n\t\t\t\t// paramExpression in a template) results in undefined\n\t\t\t\t// Perhaps a more clever parser can detect this, and return the\n\t\t\t\t// empty string? Or is that useful information?\n\t\t\t\t// The logical thing is probably to return the empty string here\n\t\t\t\t// when we encounter undefined.\n\t\t\t\t\tret = '';\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'unexpected type in AST: ' + typeof node );\n\t\t\t}\n\n\t\t\treturn ret;\n\t\t},\n\n\t\t/**\n\t\t * Parsing has been applied depth-first we can assume that all nodes\n\t\t * here are single nodes Must return a single node to parents -- a\n\t\t * jQuery with synthetic span However, unwrap any other synthetic spans\n\t\t * in our children and pass them upwards\n\t\t *\n\t\t * @param {Array} nodes Mixed, some single nodes, some arrays of nodes.\n\t\t * @return {string}\n\t\t */\n\t\tconcat: function ( nodes ) {\n\t\t\tvar result = '';\n\n\t\t\t$.each( nodes, function ( i, node ) {\n\t\t\t\t// strings, integers, anything else\n\t\t\t\tresult += node;\n\t\t\t} );\n\n\t\t\treturn result;\n\t\t},\n\n\t\t/**\n\t\t * Return escaped replacement of correct index, or string if\n\t\t * unavailable. Note that we expect the parsed parameter to be\n\t\t * zero-based. i.e. $1 should have become [ 0 ]. if the specified\n\t\t * parameter is not found return the same string (e.g. \"$99\" ->\n\t\t * parameter 98 -> not found -> return \"$99\" ) TODO throw error if\n\t\t * nodes.length > 1 ?\n\t\t *\n\t\t * @param {Array} nodes One element, integer, n >= 0\n\t\t * @param {Array} replacements for $1, $2, ... $n\n\t\t * @return {string} replacement\n\t\t */\n\t\treplace: function ( nodes, replacements ) {\n\t\t\tvar index = parseInt( nodes[ 0 ], 10 );\n\n\t\t\tif ( index < replacements.length ) {\n\t\t\t\t// replacement is not a string, don't touch!\n\t\t\t\treturn replacements[ index ];\n\t\t\t} else {\n\t\t\t\t// index not found, fallback to displaying variable\n\t\t\t\treturn '$' + ( index + 1 );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Transform parsed structure into pluralization n.b. The first node may\n\t\t * be a non-integer (for instance, a string representing an Arabic\n\t\t * number). So convert it back with the current language's\n\t\t * convertNumber.\n\t\t *\n\t\t * @param {Array} nodes List [ {String|Number}, {String}, {String} ... ]\n\t\t * @return {string} selected pluralized form according to current\n\t\t * language.\n\t\t */\n\t\tplural: function ( nodes ) {\n\t\t\tvar count = parseFloat( this.language.convertNumber( nodes[ 0 ], 10 ) ),\n\t\t\t\tforms = nodes.slice( 1 );\n\n\t\t\treturn forms.length ? this.language.convertPlural( count, forms ) : '';\n\t\t},\n\n\t\t/**\n\t\t * Transform parsed structure into gender Usage\n\t\t * {{gender:gender|masculine|feminine|neutral}}.\n\t\t *\n\t\t * @param {Array} nodes List [ {String}, {String}, {String} , {String} ]\n\t\t * @return {string} selected gender form according to current language\n\t\t */\n\t\tgender: function ( nodes ) {\n\t\t\tvar gender = nodes[ 0 ],\n\t\t\t\tforms = nodes.slice( 1 );\n\n\t\t\treturn this.language.gender( gender, forms );\n\t\t},\n\n\t\t/**\n\t\t * Transform parsed structure into grammar conversion. Invoked by\n\t\t * putting {{grammar:form|word}} in a message\n\t\t *\n\t\t * @param {Array} nodes List [{Grammar case eg: genitive}, {String word}]\n\t\t * @return {string} selected grammatical form according to current\n\t\t * language.\n\t\t */\n\t\tgrammar: function ( nodes ) {\n\t\t\tvar form = nodes[ 0 ],\n\t\t\t\tword = nodes[ 1 ];\n\n\t\t\treturn word && form && this.language.convertGrammar( word, form );\n\t\t}\n\t};\n\n\t$.extend( $.i18n.parser.emitter, new MessageParserEmitter() );\n}( jQuery ) );\n","/*!\n * jQuery Internationalization library\n *\n * Copyright (C) 2011-2013 Santhosh Thottingal, Neil Kandalgaonkar\n *\n * jquery.i18n is dual licensed GPLv2 or later and MIT. You don't have to do\n * anything special to choose one license or the other and you don't have to\n * notify anyone which license you are using. You are free to use\n * UniversalLanguageSelector in commercial projects as long as the copyright\n * header is left intact. See files GPL-LICENSE and MIT-LICENSE for details.\n *\n * @licence GNU General Public Licence 2.0 or later\n * @licence MIT License\n */\n\n( function ( $ ) {\n\t'use strict';\n\n\tvar MessageParser = function ( options ) {\n\t\tthis.options = $.extend( {}, $.i18n.parser.defaults, options );\n\t\tthis.language = $.i18n.languages[ String.locale ] || $.i18n.languages[ 'default' ];\n\t\tthis.emitter = $.i18n.parser.emitter;\n\t};\n\n\tMessageParser.prototype = {\n\n\t\tconstructor: MessageParser,\n\n\t\tsimpleParse: function ( message, parameters ) {\n\t\t\treturn message.replace( /\\$(\\d+)/g, function ( str, match ) {\n\t\t\t\tvar index = parseInt( match, 10 ) - 1;\n\n\t\t\t\treturn parameters[ index ] !== undefined ? parameters[ index ] : '$' + match;\n\t\t\t} );\n\t\t},\n\n\t\tparse: function ( message, replacements ) {\n\t\t\tif ( message.indexOf( '{{' ) < 0 ) {\n\t\t\t\treturn this.simpleParse( message, replacements );\n\t\t\t}\n\n\t\t\tthis.emitter.language = $.i18n.languages[ $.i18n().locale ] ||\n\t\t\t\t$.i18n.languages[ 'default' ];\n\n\t\t\treturn this.emitter.emit( this.ast( message ), replacements );\n\t\t},\n\n\t\tast: function ( message ) {\n\t\t\tvar pipe, colon, backslash, anyCharacter, dollar, digits, regularLiteral,\n\t\t\t\tregularLiteralWithoutBar, regularLiteralWithoutSpace, escapedOrLiteralWithoutBar,\n\t\t\t\tescapedOrRegularLiteral, templateContents, templateName, openTemplate,\n\t\t\t\tcloseTemplate, expression, paramExpression, result,\n\t\t\t\tpos = 0;\n\n\t\t\t// Try parsers until one works, if none work return null\n\t\t\tfunction choice( parserSyntax ) {\n\t\t\t\treturn function () {\n\t\t\t\t\tvar i, result;\n\n\t\t\t\t\tfor ( i = 0; i < parserSyntax.length; i++ ) {\n\t\t\t\t\t\tresult = parserSyntax[ i ]();\n\n\t\t\t\t\t\tif ( result !== null ) {\n\t\t\t\t\t\t\treturn result;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn null;\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// Try several parserSyntax-es in a row.\n\t\t\t// All must succeed; otherwise, return null.\n\t\t\t// This is the only eager one.\n\t\t\tfunction sequence( parserSyntax ) {\n\t\t\t\tvar i, res,\n\t\t\t\t\toriginalPos = pos,\n\t\t\t\t\tresult = [];\n\n\t\t\t\tfor ( i = 0; i < parserSyntax.length; i++ ) {\n\t\t\t\t\tres = parserSyntax[ i ]();\n\n\t\t\t\t\tif ( res === null ) {\n\t\t\t\t\t\tpos = originalPos;\n\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\tresult.push( res );\n\t\t\t\t}\n\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\t// Run the same parser over and over until it fails.\n\t\t\t// Must succeed a minimum of n times; otherwise, return null.\n\t\t\tfunction nOrMore( n, p ) {\n\t\t\t\treturn function () {\n\t\t\t\t\tvar originalPos = pos,\n\t\t\t\t\t\tresult = [],\n\t\t\t\t\t\tparsed = p();\n\n\t\t\t\t\twhile ( parsed !== null ) {\n\t\t\t\t\t\tresult.push( parsed );\n\t\t\t\t\t\tparsed = p();\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( result.length < n ) {\n\t\t\t\t\t\tpos = originalPos;\n\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn result;\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// Helpers -- just make parserSyntax out of simpler JS builtin types\n\n\t\t\tfunction makeStringParser( s ) {\n\t\t\t\tvar len = s.length;\n\n\t\t\t\treturn function () {\n\t\t\t\t\tvar result = null;\n\n\t\t\t\t\tif ( message.slice( pos, pos + len ) === s ) {\n\t\t\t\t\t\tresult = s;\n\t\t\t\t\t\tpos += len;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn result;\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tfunction makeRegexParser( regex ) {\n\t\t\t\treturn function () {\n\t\t\t\t\tvar matches = message.slice( pos ).match( regex );\n\n\t\t\t\t\tif ( matches === null ) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\tpos += matches[ 0 ].length;\n\n\t\t\t\t\treturn matches[ 0 ];\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tpipe = makeStringParser( '|' );\n\t\t\tcolon = makeStringParser( ':' );\n\t\t\tbackslash = makeStringParser( '\\\\' );\n\t\t\tanyCharacter = makeRegexParser( /^./ );\n\t\t\tdollar = makeStringParser( '$' );\n\t\t\tdigits = makeRegexParser( /^\\d+/ );\n\t\t\tregularLiteral = makeRegexParser( /^[^{}[\\]$\\\\]/ );\n\t\t\tregularLiteralWithoutBar = makeRegexParser( /^[^{}[\\]$\\\\|]/ );\n\t\t\tregularLiteralWithoutSpace = makeRegexParser( /^[^{}[\\]$\\s]/ );\n\n\t\t\t// There is a general pattern:\n\t\t\t// parse a thing;\n\t\t\t// if it worked, apply transform,\n\t\t\t// otherwise return null.\n\t\t\t// But using this as a combinator seems to cause problems\n\t\t\t// when combined with nOrMore().\n\t\t\t// May be some scoping issue.\n\t\t\tfunction transform( p, fn ) {\n\t\t\t\treturn function () {\n\t\t\t\t\tvar result = p();\n\n\t\t\t\t\treturn result === null ? null : fn( result );\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// Used to define \"literals\" within template parameters. The pipe\n\t\t\t// character is the parameter delimeter, so by default\n\t\t\t// it is not a literal in the parameter\n\t\t\tfunction literalWithoutBar() {\n\t\t\t\tvar result = nOrMore( 1, escapedOrLiteralWithoutBar )();\n\n\t\t\t\treturn result === null ? null : result.join( '' );\n\t\t\t}\n\n\t\t\tfunction literal() {\n\t\t\t\tvar result = nOrMore( 1, escapedOrRegularLiteral )();\n\n\t\t\t\treturn result === null ? null : result.join( '' );\n\t\t\t}\n\n\t\t\tfunction escapedLiteral() {\n\t\t\t\tvar result = sequence( [ backslash, anyCharacter ] );\n\n\t\t\t\treturn result === null ? null : result[ 1 ];\n\t\t\t}\n\n\t\t\tchoice( [ escapedLiteral, regularLiteralWithoutSpace ] );\n\t\t\tescapedOrLiteralWithoutBar = choice( [ escapedLiteral, regularLiteralWithoutBar ] );\n\t\t\tescapedOrRegularLiteral = choice( [ escapedLiteral, regularLiteral ] );\n\n\t\t\tfunction replacement() {\n\t\t\t\tvar result = sequence( [ dollar, digits ] );\n\n\t\t\t\tif ( result === null ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn [ 'REPLACE', parseInt( result[ 1 ], 10 ) - 1 ];\n\t\t\t}\n\n\t\t\ttemplateName = transform(\n\t\t\t\t// see $wgLegalTitleChars\n\t\t\t\t// not allowing : due to the need to catch \"PLURAL:$1\"\n\t\t\t\tmakeRegexParser( /^[ !\"$&'()*,./0-9;=?@A-Z^_`a-z~\\x80-\\xFF+-]+/ ),\n\n\t\t\t\tfunction ( result ) {\n\t\t\t\t\treturn result.toString();\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tfunction templateParam() {\n\t\t\t\tvar expr,\n\t\t\t\t\tresult = sequence( [ pipe, nOrMore( 0, paramExpression ) ] );\n\n\t\t\t\tif ( result === null ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\texpr = result[ 1 ];\n\n\t\t\t\t// use a \"CONCAT\" operator if there are multiple nodes,\n\t\t\t\t// otherwise return the first node, raw.\n\t\t\t\treturn expr.length > 1 ? [ 'CONCAT' ].concat( expr ) : expr[ 0 ];\n\t\t\t}\n\n\t\t\tfunction templateWithReplacement() {\n\t\t\t\tvar result = sequence( [ templateName, colon, replacement ] );\n\n\t\t\t\treturn result === null ? null : [ result[ 0 ], result[ 2 ] ];\n\t\t\t}\n\n\t\t\tfunction templateWithOutReplacement() {\n\t\t\t\tvar result = sequence( [ templateName, colon, paramExpression ] );\n\n\t\t\t\treturn result === null ? null : [ result[ 0 ], result[ 2 ] ];\n\t\t\t}\n\n\t\t\ttemplateContents = choice( [\n\t\t\t\tfunction () {\n\t\t\t\t\tvar res = sequence( [\n\t\t\t\t\t\t// templates can have placeholders for dynamic\n\t\t\t\t\t\t// replacement eg: {{PLURAL:$1|one car|$1 cars}}\n\t\t\t\t\t\t// or no placeholders eg:\n\t\t\t\t\t\t// {{GRAMMAR:genitive|{{SITENAME}}}\n\t\t\t\t\t\tchoice( [ templateWithReplacement, templateWithOutReplacement ] ),\n\t\t\t\t\t\tnOrMore( 0, templateParam )\n\t\t\t\t\t] );\n\n\t\t\t\t\treturn res === null ? null : res[ 0 ].concat( res[ 1 ] );\n\t\t\t\t},\n\t\t\t\tfunction () {\n\t\t\t\t\tvar res = sequence( [ templateName, nOrMore( 0, templateParam ) ] );\n\n\t\t\t\t\tif ( res === null ) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn [ res[ 0 ] ].concat( res[ 1 ] );\n\t\t\t\t}\n\t\t\t] );\n\n\t\t\topenTemplate = makeStringParser( '{{' );\n\t\t\tcloseTemplate = makeStringParser( '}}' );\n\n\t\t\tfunction template() {\n\t\t\t\tvar result = sequence( [ openTemplate, templateContents, closeTemplate ] );\n\n\t\t\t\treturn result === null ? null : result[ 1 ];\n\t\t\t}\n\n\t\t\texpression = choice( [ template, replacement, literal ] );\n\t\t\tparamExpression = choice( [ template, replacement, literalWithoutBar ] );\n\n\t\t\tfunction start() {\n\t\t\t\tvar result = nOrMore( 0, expression )();\n\n\t\t\t\tif ( result === null ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn [ 'CONCAT' ].concat( result );\n\t\t\t}\n\n\t\t\tresult = start();\n\n\t\t\t/*\n\t\t\t * For success, the pos must have gotten to the end of the input\n\t\t\t * and returned a non-null.\n\t\t\t * n.b. This is part of language infrastructure, so we do not throw an\n\t\t\t * internationalizable message.\n\t\t\t */\n\t\t\tif ( result === null || pos !== message.length ) {\n\t\t\t\tthrow new Error( 'Parse error at position ' + pos.toString() + ' in input: ' + message );\n\t\t\t}\n\n\t\t\treturn result;\n\t\t}\n\n\t};\n\n\t$.extend( $.i18n.parser, new MessageParser() );\n}( jQuery ) );","/*!\n * jQuery Internationalization library - Message Store\n *\n * Copyright (C) 2012 Santhosh Thottingal\n *\n * jquery.i18n is dual licensed GPLv2 or later and MIT. You don't have to do anything special to\n * choose one license or the other and you don't have to notify anyone which license you are using.\n * You are free to use UniversalLanguageSelector in commercial projects as long as the copyright\n * header is left intact. See files GPL-LICENSE and MIT-LICENSE for details.\n *\n * @licence GNU General Public Licence 2.0 or later\n * @licence MIT License\n */\n\n( function ( $ ) {\n\t'use strict';\n\n\tvar MessageStore = function () {\n\t\tthis.messages = {};\n\t\tthis.sources = {};\n\t};\n\n\tfunction jsonMessageLoader( url ) {\n\t\tvar deferred = $.Deferred();\n\n\t\t$.getJSON( url )\n\t\t\t.done( deferred.resolve )\n\t\t\t.fail( function ( jqxhr, settings, exception ) {\n\t\t\t\t$.i18n.log( 'Error in loading messages from ' + url + ' Exception: ' + exception );\n\t\t\t\t// Ignore 404 exception, because we are handling fallabacks explicitly\n\t\t\t\tdeferred.resolve();\n\t\t\t} );\n\n\t\treturn deferred.promise();\n\t}\n\n\t/**\n\t * See https://github.com/wikimedia/jquery.i18n/wiki/Specification#wiki-Message_File_Loading\n\t */\n\tMessageStore.prototype = {\n\n\t\t/**\n\t\t * General message loading API This can take a URL string for\n\t\t * the json formatted messages.\n\t\t * load('path/to/all_localizations.json');\n\t\t *\n\t\t * This can also load a localization file for a locale \n\t\t * load( 'path/to/de-messages.json', 'de' );\n\t\t * \n\t\t * A data object containing message key- message translation mappings\n\t\t * can also be passed Eg:\n\t\t * \n\t\t * load( { 'hello' : 'Hello' }, optionalLocale );\n\t\t * If the data argument is\n\t\t * null/undefined/false,\n\t\t * all cached messages for the i18n instance will get reset.\n\t\t *\n\t\t * @param {string|Object} source\n\t\t * @param {string} locale Language tag\n\t\t * @return {jQuery.Promise}\n\t\t */\n\t\tload: function ( source, locale ) {\n\t\t\tvar key = null,\n\t\t\t\tdeferred = null,\n\t\t\t\tdeferreds = [],\n\t\t\t\tmessageStore = this;\n\n\t\t\tif ( typeof source === 'string' ) {\n\t\t\t\t// This is a URL to the messages file.\n\t\t\t\t$.i18n.log( 'Loading messages from: ' + source );\n\t\t\t\tdeferred = jsonMessageLoader( source )\n\t\t\t\t\t.done( function ( localization ) {\n\t\t\t\t\t\tmessageStore.set( locale, localization );\n\t\t\t\t\t} );\n\n\t\t\t\treturn deferred.promise();\n\t\t\t}\n\n\t\t\tif ( locale ) {\n\t\t\t\t// source is an key-value pair of messages for given locale\n\t\t\t\tmessageStore.set( locale, source );\n\n\t\t\t\treturn $.Deferred().resolve();\n\t\t\t} else {\n\t\t\t\t// source is a key-value pair of locales and their source\n\t\t\t\tfor ( key in source ) {\n\t\t\t\t\tif ( Object.prototype.hasOwnProperty.call( source, key ) ) {\n\t\t\t\t\t\tlocale = key;\n\t\t\t\t\t\t// No {locale} given, assume data is a group of languages,\n\t\t\t\t\t\t// call this function again for each language.\n\t\t\t\t\t\tdeferreds.push( messageStore.load( source[ key ], locale ) );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn $.when.apply( $, deferreds );\n\t\t\t}\n\n\t\t},\n\n\t\t/**\n\t\t * Set messages to the given locale.\n\t\t * If locale exists, add messages to the locale.\n\t\t *\n\t\t * @param {string} locale\n\t\t * @param {Object} messages\n\t\t */\n\t\tset: function ( locale, messages ) {\n\t\t\tif ( !this.messages[ locale ] ) {\n\t\t\t\tthis.messages[ locale ] = messages;\n\t\t\t} else {\n\t\t\t\tthis.messages[ locale ] = $.extend( this.messages[ locale ], messages );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t *\n\t\t * @param {string} locale\n\t\t * @param {string} messageKey\n\t\t * @return {boolean}\n\t\t */\n\t\tget: function ( locale, messageKey ) {\n\t\t\treturn this.messages[ locale ] && this.messages[ locale ][ messageKey ];\n\t\t}\n\t};\n\n\t$.extend( $.i18n.messageStore, new MessageStore() );\n}( jQuery ) );\n","/*!\n * jQuery Internationalization library\n *\n * Copyright (C) 2012 Santhosh Thottingal\n *\n * jquery.i18n is dual licensed GPLv2 or later and MIT. You don't have to do\n * anything special to choose one license or the other and you don't have to\n * notify anyone which license you are using. You are free to use\n * UniversalLanguageSelector in commercial projects as long as the copyright\n * header is left intact. See files GPL-LICENSE and MIT-LICENSE for details.\n *\n * @licence GNU General Public Licence 2.0 or later\n * @licence MIT License\n */\n\n( function ( $ ) {\n\t'use strict';\n\n\tvar I18N,\n\t\tslice = Array.prototype.slice;\n\t/**\n\t * @constructor\n\t * @param {Object} options\n\t */\n\tI18N = function ( options ) {\n\t\t// Load defaults\n\t\tthis.options = $.extend( {}, I18N.defaults, options );\n\n\t\tthis.parser = this.options.parser;\n\t\tthis.locale = this.options.locale;\n\t\tthis.messageStore = this.options.messageStore;\n\t\tthis.languages = {};\n\t};\n\n\tI18N.prototype = {\n\t\t/**\n\t\t * Localize a given messageKey to a locale.\n\t\t * @param {String} messageKey\n\t\t * @return {String} Localized message\n\t\t */\n\t\tlocalize: function ( messageKey ) {\n\t\t\tvar localeParts, localePartIndex, locale, fallbackIndex,\n\t\t\t\ttryingLocale, message;\n\n\t\t\tlocale = this.locale;\n\t\t\tfallbackIndex = 0;\n\n\t\t\twhile ( locale ) {\n\t\t\t\t// Iterate through locales starting at most-specific until\n\t\t\t\t// localization is found. As in fi-Latn-FI, fi-Latn and fi.\n\t\t\t\tlocaleParts = locale.split( '-' );\n\t\t\t\tlocalePartIndex = localeParts.length;\n\n\t\t\t\tdo {\n\t\t\t\t\ttryingLocale = localeParts.slice( 0, localePartIndex ).join( '-' );\n\t\t\t\t\tmessage = this.messageStore.get( tryingLocale, messageKey );\n\n\t\t\t\t\tif ( message ) {\n\t\t\t\t\t\treturn message;\n\t\t\t\t\t}\n\n\t\t\t\t\tlocalePartIndex--;\n\t\t\t\t} while ( localePartIndex );\n\n\t\t\t\tif ( locale === 'en' ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tlocale = ( $.i18n.fallbacks[ this.locale ] &&\n\t\t\t\t\t\t$.i18n.fallbacks[ this.locale ][ fallbackIndex ] ) ||\n\t\t\t\t\t\tthis.options.fallbackLocale;\n\t\t\t\t$.i18n.log( 'Trying fallback locale for ' + this.locale + ': ' + locale + ' (' + messageKey + ')' );\n\n\t\t\t\tfallbackIndex++;\n\t\t\t}\n\n\t\t\t// key not found\n\t\t\treturn '';\n\t\t},\n\n\t\t/*\n\t\t * Destroy the i18n instance.\n\t\t */\n\t\tdestroy: function () {\n\t\t\t$.removeData( document, 'i18n' );\n\t\t},\n\n\t\t/**\n\t\t * General message loading API This can take a URL string for\n\t\t * the json formatted messages. Example:\n\t\t * load('path/to/all_localizations.json');\n\t\t *\n\t\t * To load a localization file for a locale:\n\t\t * \n\t\t * load('path/to/de-messages.json', 'de' );\n\t\t * \n\t\t *\n\t\t * To load a localization file from a directory:\n\t\t * \n\t\t * load('path/to/i18n/directory', 'de' );\n\t\t * \n\t\t * The above method has the advantage of fallback resolution.\n\t\t * ie, it will automatically load the fallback locales for de.\n\t\t * For most usecases, this is the recommended method.\n\t\t * It is optional to have trailing slash at end.\n\t\t *\n\t\t * A data object containing message key- message translation mappings\n\t\t * can also be passed. Example:\n\t\t * \n\t\t * load( { 'hello' : 'Hello' }, optionalLocale );\n\t\t * \n\t\t *\n\t\t * A source map containing key-value pair of languagename and locations\n\t\t * can also be passed. Example:\n\t\t * \n\t\t * load( {\n\t\t * bn: 'i18n/bn.json',\n\t\t * he: 'i18n/he.json',\n\t\t * en: 'i18n/en.json'\n\t\t * } )\n\t\t * \n\t\t *\n\t\t * If the data argument is null/undefined/false,\n\t\t * all cached messages for the i18n instance will get reset.\n\t\t *\n\t\t * @param {string|Object} source\n\t\t * @param {string} locale Language tag\n\t\t * @return {jQuery.Promise}\n\t\t */\n\t\tload: function ( source, locale ) {\n\t\t\tvar fallbackLocales, locIndex, fallbackLocale, sourceMap = {};\n\t\t\tif ( !source && !locale ) {\n\t\t\t\tsource = 'i18n/' + $.i18n().locale + '.json';\n\t\t\t\tlocale = $.i18n().locale;\n\t\t\t}\n\t\t\tif ( typeof source === 'string' &&\n\t\t\t\t// source extension should be json, but can have query params after that.\n\t\t\t\tsource.split( '?' )[ 0 ].split( '.' ).pop() !== 'json'\n\t\t\t) {\n\t\t\t\t// Load specified locale then check for fallbacks when directory is\n\t\t\t\t// specified in load()\n\t\t\t\tsourceMap[ locale ] = source + '/' + locale + '.json';\n\t\t\t\tfallbackLocales = ( $.i18n.fallbacks[ locale ] || [] )\n\t\t\t\t\t.concat( this.options.fallbackLocale );\n\t\t\t\tfor ( locIndex = 0; locIndex < fallbackLocales.length; locIndex++ ) {\n\t\t\t\t\tfallbackLocale = fallbackLocales[ locIndex ];\n\t\t\t\t\tsourceMap[ fallbackLocale ] = source + '/' + fallbackLocale + '.json';\n\t\t\t\t}\n\t\t\t\treturn this.load( sourceMap );\n\t\t\t} else {\n\t\t\t\treturn this.messageStore.load( source, locale );\n\t\t\t}\n\n\t\t},\n\n\t\t/**\n\t\t * Does parameter and magic word substitution.\n\t\t *\n\t\t * @param {string} key Message key\n\t\t * @param {Array} parameters Message parameters\n\t\t * @return {string}\n\t\t */\n\t\tparse: function ( key, parameters ) {\n\t\t\tvar message = this.localize( key );\n\t\t\t// FIXME: This changes the state of the I18N object,\n\t\t\t// should probably not change the 'this.parser' but just\n\t\t\t// pass it to the parser.\n\t\t\tthis.parser.language = $.i18n.languages[ $.i18n().locale ] || $.i18n.languages[ 'default' ];\n\t\t\tif ( message === '' ) {\n\t\t\t\tmessage = key;\n\t\t\t}\n\t\t\treturn this.parser.parse( message, parameters );\n\t\t}\n\t};\n\n\t/**\n\t * Process a message from the $.I18N instance\n\t * for the current document, stored in jQuery.data(document).\n\t *\n\t * @param {string} key Key of the message.\n\t * @param {string} param1 [param...] Variadic list of parameters for {key}.\n\t * @return {string|$.I18N} Parsed message, or if no key was given\n\t * the instance of $.I18N is returned.\n\t */\n\t$.i18n = function ( key, param1 ) {\n\t\tvar parameters,\n\t\t\ti18n = $.data( document, 'i18n' ),\n\t\t\toptions = typeof key === 'object' && key;\n\n\t\t// If the locale option for this call is different then the setup so far,\n\t\t// update it automatically. This doesn't just change the context for this\n\t\t// call but for all future call as well.\n\t\t// If there is no i18n setup yet, don't do this. It will be taken care of\n\t\t// by the `new I18N` construction below.\n\t\t// NOTE: It should only change language for this one call.\n\t\t// Then cache instances of I18N somewhere.\n\t\tif ( options && options.locale && i18n && i18n.locale !== options.locale ) {\n\t\t\ti18n.locale = options.locale;\n\t\t}\n\n\t\tif ( !i18n ) {\n\t\t\ti18n = new I18N( options );\n\t\t\t$.data( document, 'i18n', i18n );\n\t\t}\n\n\t\tif ( typeof key === 'string' ) {\n\t\t\tif ( param1 !== undefined ) {\n\t\t\t\tparameters = slice.call( arguments, 1 );\n\t\t\t} else {\n\t\t\t\tparameters = [];\n\t\t\t}\n\n\t\t\treturn i18n.parse( key, parameters );\n\t\t} else {\n\t\t\t// FIXME: remove this feature/bug.\n\t\t\treturn i18n;\n\t\t}\n\t};\n\n\t$.fn.i18n = function () {\n\t\tvar i18n = $.data( document, 'i18n' );\n\n\t\tif ( !i18n ) {\n\t\t\ti18n = new I18N();\n\t\t\t$.data( document, 'i18n', i18n );\n\t\t}\n\n\t\treturn this.each( function () {\n\t\t\tvar $this = $( this ),\n\t\t\t\tmessageKey = $this.data( 'i18n' ),\n\t\t\t\tlBracket, rBracket, type, key;\n\n\t\t\tif ( messageKey ) {\n\t\t\t\tlBracket = messageKey.indexOf( '[' );\n\t\t\t\trBracket = messageKey.indexOf( ']' );\n\t\t\t\tif ( lBracket !== -1 && rBracket !== -1 && lBracket < rBracket ) {\n\t\t\t\t\ttype = messageKey.slice( lBracket + 1, rBracket );\n\t\t\t\t\tkey = messageKey.slice( rBracket + 1 );\n\t\t\t\t\tif ( type === 'html' ) {\n\t\t\t\t\t\t$this.html( i18n.parse( key ) );\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$this.attr( type, i18n.parse( key ) );\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t$this.text( i18n.parse( messageKey ) );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t$this.find( '[data-i18n]' ).i18n();\n\t\t\t}\n\t\t} );\n\t};\n\n\tfunction getDefaultLocale() {\n\t\tvar nav, locale = $( 'html' ).attr( 'lang' );\n\n\t\tif ( !locale ) {\n\t\t\tif ( typeof window.navigator !== undefined ) {\n\t\t\t\tnav = window.navigator;\n\t\t\t\tlocale = nav.language || nav.userLanguage || '';\n\t\t\t} else {\n\t\t\t\tlocale = '';\n\t\t\t}\n\t\t}\n\t\treturn locale;\n\t}\n\n\t$.i18n.languages = {};\n\t$.i18n.messageStore = $.i18n.messageStore || {};\n\t$.i18n.parser = {\n\t\t// The default parser only handles variable substitution\n\t\tparse: function ( message, parameters ) {\n\t\t\treturn message.replace( /\\$(\\d+)/g, function ( str, match ) {\n\t\t\t\tvar index = parseInt( match, 10 ) - 1;\n\t\t\t\treturn parameters[ index ] !== undefined ? parameters[ index ] : '$' + match;\n\t\t\t} );\n\t\t},\n\t\temitter: {}\n\t};\n\t$.i18n.fallbacks = {};\n\t$.i18n.debug = false;\n\t$.i18n.log = function ( /* arguments */ ) {\n\t\tif ( window.console && $.i18n.debug ) {\n\t\t\twindow.console.log.apply( window.console, arguments );\n\t\t}\n\t};\n\t/* Static members */\n\tI18N.defaults = {\n\t\tlocale: getDefaultLocale(),\n\t\tfallbackLocale: 'en',\n\t\tparser: $.i18n.parser,\n\t\tmessageStore: $.i18n.messageStore\n\t};\n\n\t// Expose constructor\n\t$.i18n.constructor = I18N;\n}( jQuery ) );","/*!\n * jQuery idleTimer plugin\n * version 0.9.100511\n * by Paul Irish.\n * http://github.com/paulirish/yui-misc/tree/\n * MIT license\n\n * adapted from YUI idle timer by nzakas:\n * http://github.com/nzakas/yui-misc/\n*/\n/*\n * Copyright (c) 2009 Nicholas C. Zakas\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n/* updated to fix Chrome setTimeout issue by Zaid Zawaideh */\n\n // API available in <= v0.8\n /*******************************\n\n // idleTimer() takes an optional argument that defines the idle timeout\n // timeout is in milliseconds; defaults to 30000\n $.idleTimer(10000);\n\n\n $(document).bind(\"idle.idleTimer\", function(){\n // function you want to fire when the user goes idle\n });\n\n\n $(document).bind(\"active.idleTimer\", function(){\n // function you want to fire when the user becomes active again\n });\n\n // pass the string 'destroy' to stop the timer\n $.idleTimer('destroy');\n\n // you can query if the user is idle or not with data()\n $.data(document,'idleTimer'); // 'idle' or 'active'\n\n // you can get time elapsed since user when idle/active\n $.idleTimer('getElapsedTime'); // time since state change in ms\n\n ********/\n\n\n\n // API available in >= v0.9\n /*************************\n\n // bind to specific elements, allows for multiple timer instances\n $(elem).idleTimer(timeout|'destroy'|'getElapsedTime');\n $.data(elem,'idleTimer'); // 'idle' or 'active'\n\n // if you're using the old $.idleTimer api, you should not do $(document).idleTimer(...)\n\n // element bound timers will only watch for events inside of them.\n // you may just want page-level activity, in which case you may set up\n // your timers on document, document.documentElement, and document.body\n\n // You can optionally provide a second argument to override certain options.\n // Here are the defaults, so you can omit any or all of them.\n $(elem).idleTimer(timeout, {\n startImmediately: true, //starts a timeout as soon as the timer is set up; otherwise it waits for the first event.\n idle: false, //indicates if the user is idle\n enabled: true, //indicates if the idle timer is enabled\n events: 'mousemove keydown DOMMouseScroll mousewheel mousedown touchstart touchmove' // activity is one of these events\n });\n\n ********/\n\n(function($){\n\n$.idleTimer = function(newTimeout, elem, opts){\n\n // defaults that are to be stored as instance props on the elem\n\n\topts = $.extend({\n\t\tstartImmediately: true, //starts a timeout as soon as the timer is set up\n\t\tidle: false, //indicates if the user is idle\n\t\tenabled: true, //indicates if the idle timer is enabled\n\t\ttimeout: 30000, //the amount of time (ms) before the user is considered idle\n\t\tevents: 'mousemove keydown DOMMouseScroll mousewheel mousedown touchstart touchmove' // activity is one of these events\n\t}, opts);\n\n\n elem = elem || document;\n\n /* (intentionally not documented)\n * Toggles the idle state and fires an appropriate event.\n * @return {void}\n */\n var toggleIdleState = function(myelem){\n\n // curse you, mozilla setTimeout lateness bug!\n if (typeof myelem === 'number'){\n myelem = undefined;\n }\n\n var obj = $.data(myelem || elem,'idleTimerObj');\n\n //toggle the state\n obj.idle = !obj.idle;\n\n // reset timeout \n var elapsed = (+new Date()) - obj.olddate;\n obj.olddate = +new Date();\n\n // handle Chrome always triggering idle after js alert or comfirm popup\n if (obj.idle && (elapsed < opts.timeout)) {\n obj.idle = false;\n clearTimeout($.idleTimer.tId);\n if (opts.enabled)\n $.idleTimer.tId = setTimeout(toggleIdleState, opts.timeout);\n return;\n }\n \n //fire appropriate event\n\n // create a custom event, but first, store the new state on the element\n // and then append that string to a namespace\n var event = jQuery.Event( $.data(elem,'idleTimer', obj.idle ? \"idle\" : \"active\" ) + '.idleTimer' );\n\n // we do want this to bubble, at least as a temporary fix for jQuery 1.7\n // event.stopPropagation();\n $(elem).trigger(event);\n },\n\n /**\n * Stops the idle timer. This removes appropriate event handlers\n * and cancels any pending timeouts.\n * @return {void}\n * @method stop\n * @static\n */\n stop = function(elem){\n\n var obj = $.data(elem,'idleTimerObj') || {};\n\n //set to disabled\n obj.enabled = false;\n\n //clear any pending timeouts\n clearTimeout(obj.tId);\n\n //detach the event handlers\n $(elem).off('.idleTimer');\n },\n\n\n /* (intentionally not documented)\n * Handles a user event indicating that the user isn't idle.\n * @param {Event} event A DOM2-normalized event object.\n * @return {void}\n */\n handleUserEvent = function(){\n\n var obj = $.data(this,'idleTimerObj');\n\n //clear any existing timeout\n clearTimeout(obj.tId);\n\n\n\n //if the idle timer is enabled\n if (obj.enabled){\n\n\n //if it's idle, that means the user is no longer idle\n if (obj.idle){\n toggleIdleState(this);\n }\n\n //set a new timeout\n obj.tId = setTimeout(toggleIdleState, obj.timeout);\n\n }\n };\n\n\n /**\n * Starts the idle timer. This adds appropriate event handlers\n * and starts the first timeout.\n * @param {int} newTimeout (Optional) A new value for the timeout period in ms.\n * @return {void}\n * @method $.idleTimer\n * @static\n */\n\n\n var obj = $.data(elem,'idleTimerObj') || {};\n\n obj.olddate = obj.olddate || +new Date();\n\n //assign a new timeout if necessary\n if (typeof newTimeout === \"number\"){\n opts.timeout = newTimeout;\n } else if (newTimeout === 'destroy') {\n stop(elem);\n return this;\n } else if (newTimeout === 'getElapsedTime'){\n return (+new Date()) - obj.olddate;\n }\n\n //assign appropriate event handlers\n $(elem).on($.trim((opts.events+' ').split(' ').join('.idleTimer ')),handleUserEvent);\n\n\n obj.idle = opts.idle;\n obj.enabled = opts.enabled;\n obj.timeout = opts.timeout;\n\n\n //set a timeout to toggle state. May wish to omit this in some situations\n\tif (opts.startImmediately) {\n\t obj.tId = setTimeout(toggleIdleState, obj.timeout);\n\t}\n\n // assume the user is active for the first x seconds.\n $.data(elem,'idleTimer',\"active\");\n\n // store our instance on the object\n $.data(elem,'idleTimerObj',obj);\n\n\n\n}; // end of $.idleTimer()\n\n\n// v0.9 API for defining multiple timers.\n$.fn.idleTimer = function(newTimeout,opts){\n\t// Allow omission of opts for backward compatibility\n\tif (!opts) {\n\t\topts = {};\n\t}\n\n if(this[0]){\n $.idleTimer(newTimeout,this[0],opts);\n }\n\n return this;\n};\n\n\n})(jQuery);\n","/*global variable declarations*/\n\n\"use strict\";\n\nimport \"../css/user-highlights.css\";\n\nfunction getCompletions() {\n // Get the completion status\n if (\n window.location.href.match(\n /(\\/index.html|toctree.html|genindex.html|navhelp.html|toc.html|assignments.html|Exercises.html)/\n )\n ) {\n return;\n }\n\n var currentPathname = window.location.pathname;\n if (currentPathname.indexOf(\"?\") !== -1) {\n currentPathname = currentPathname.substring(\n 0,\n currentPathname.lastIndexOf(\"?\")\n );\n }\n var data = {\n lastPageUrl: currentPathname,\n isPtxBook: isPreTeXt(),\n };\n jQuery\n .ajax({\n url: `${eBookConfig.new_server_prefix}/logger/getCompletionStatus`,\n data: data,\n async: false,\n })\n .done(function (data) {\n if (data != \"None\") {\n var completionData = data.detail;\n var completionClass, completionMsg;\n if (completionData[0].completionStatus == 1) {\n completionClass = \"buttonConfirmCompletion\";\n completionMsg =\n \" Completed. Well Done!\";\n } else {\n completionClass = \"buttonAskCompletion\";\n completionMsg = \"Mark as Completed\";\n }\n let scp = document.querySelector(\"#scprogresscontainer\");\n if (scp) {\n scp.classList.add(\"ptx-runestone-container\");\n }\n $(\"#scprogresscontainer\").append(\n '
    \"\n );\n }\n });\n}\n\nfunction showLastPositionBanner() {\n var lastPositionVal = $.getUrlVar(\"lastPosition\");\n if (typeof lastPositionVal !== \"undefined\") {\n $(\"body\").append(\n ''\n );\n $(\"html, body\").animate({ scrollTop: parseInt(lastPositionVal) }, 1000);\n }\n}\n\nfunction addNavigationAndCompletionButtons() {\n if (\n window.location.href.match(\n /(index.html|genindex.html|navhelp.html|toc.html|assignments.html|Exercises.html|toctree.html)/\n )\n ) {\n return;\n }\n var navLinkBgRightHiddenPosition = -$(\"#navLinkBgRight\").outerWidth() - 5;\n var navLinkBgRightHalfOpen;\n var navLinkBgRightFullOpen = 0;\n\n if ($(\"#completionButton\").hasClass(\"buttonAskCompletion\")) {\n navLinkBgRightHalfOpen = navLinkBgRightHiddenPosition + 70;\n } else if ($(\"#completionButton\").hasClass(\"buttonConfirmCompletion\")) {\n navLinkBgRightHalfOpen = 0;\n }\n var relationsNextIconInitialPosition = $(\"#relations-next\").css(\"right\");\n var relationsNextIconNewPosition = -(navLinkBgRightHiddenPosition + 35);\n\n $(\"#navLinkBgRight\").css(\"right\", navLinkBgRightHiddenPosition).show();\n var navBgShown = false;\n $(window).scroll(function () {\n if (\n $(window).scrollTop() + $(window).height() ==\n $(document).height()\n ) {\n $(\"#navLinkBgRight\").animate(\n { right: navLinkBgRightHalfOpen },\n 200\n );\n $(\"#navLinkBgLeft\").animate({ left: \"0px\" }, 200);\n if ($(\"#completionButton\").hasClass(\"buttonConfirmCompletion\")) {\n $(\"#relations-next\").animate(\n { right: relationsNextIconNewPosition },\n 200\n );\n }\n navBgShown = true;\n } else if (navBgShown) {\n $(\"#navLinkBgRight\").animate(\n { right: navLinkBgRightHiddenPosition },\n 200\n );\n $(\"#navLinkBgLeft\").animate({ left: \"-65px\" }, 200);\n $(\"#relations-next\").animate({\n right: relationsNextIconInitialPosition,\n });\n navBgShown = false;\n }\n });\n\n var completionFlag = 0;\n if ($(\"#completionButton\").hasClass(\"buttonAskCompletion\")) {\n completionFlag = 0;\n } else {\n completionFlag = 1;\n }\n // Make sure we mark this page as visited regardless of how flakey\n // the onunload handlers become.\n processPageState(completionFlag, true, false, false);\n $(\"#completionButton\").on(\"click\", function () {\n var markingComplete = false;\n var markingIncomplete = false;\n if ($(this).hasClass(\"buttonAskCompletion\")) {\n $(this)\n .removeClass(\"buttonAskCompletion\")\n .addClass(\"buttonConfirmCompletion\")\n .html(\n \" Completed. Well Done!\"\n );\n $(\"#navLinkBgRight\").animate({ right: navLinkBgRightFullOpen });\n $(\"#relations-next\").animate({\n right: relationsNextIconNewPosition,\n });\n navLinkBgRightHalfOpen = 0;\n completionFlag = 1;\n markingComplete = true;\n } else if ($(this).hasClass(\"buttonConfirmCompletion\")) {\n $(this)\n .removeClass(\"buttonConfirmCompletion\")\n .addClass(\"buttonAskCompletion\")\n .html(\"Mark as Completed\");\n navLinkBgRightHalfOpen = navLinkBgRightHiddenPosition + 70;\n $(\"#navLinkBgRight\").animate({ right: navLinkBgRightHalfOpen });\n $(\"#relations-next\").animate({\n right: relationsNextIconInitialPosition,\n });\n completionFlag = 0;\n markingIncomplete = true;\n }\n processPageState(\n completionFlag,\n false,\n markingComplete,\n markingIncomplete\n );\n });\n\n // we cannot afford to do this at both load and unload especially as users\n // go from page to page. This just doubles the load. So, try without this one.\n // $(window).on(\"beforeunload\", function (e) {\n // if (completionFlag == 0) {\n // processPageState(completionFlag, false, false, false);\n // }\n // });\n}\n\n// _ decorateTableOfContents\n// -------------------------\nfunction decorateTableOfContents() {\n if (\n window.location.href.toLowerCase().indexOf(\"toc.html\") != -1 ||\n window.location.href.toLowerCase().indexOf(\"index.html\") != -1 ||\n window.location.href.toLowerCase().indexOf(\"frontmatter\") != -1\n ) {\n if (!isPreTeXt()) {\n jQuery.get(\n `${eBookConfig.new_server_prefix}/logger/getAllCompletionStatus`,\n function (data) {\n var subChapterList;\n if (data != \"None\") {\n subChapterList = data.detail;\n\n var allSubChapterURLs = $(\"#main-content div li a\");\n $.each(subChapterList, function (index, item) {\n for (var s = 0; s < allSubChapterURLs.length; s++) {\n if (\n allSubChapterURLs[s].href.indexOf(\n item.chapterName +\n \"/\" +\n item.subChapterName\n ) != -1\n ) {\n if (item.completionStatus == 1) {\n $(allSubChapterURLs[s].parentElement)\n .addClass(\"completed\")\n .append(\n '- Completed this topic on ' +\n item.endDate +\n \"\"\n )\n .children()\n .first()\n .hover(\n function () {\n $(this)\n .next(\n \".infoTextCompleted\"\n )\n .show();\n },\n function () {\n $(this)\n .next(\n \".infoTextCompleted\"\n )\n .hide();\n }\n );\n } else if (item.completionStatus == 0) {\n $(allSubChapterURLs[s].parentElement)\n .addClass(\"active\")\n .append(\n 'Last read this topic on ' +\n item.endDate +\n \"\"\n )\n .children()\n .first()\n .hover(\n function () {\n $(this)\n .next(\".infoTextActive\")\n .show();\n },\n function () {\n $(this)\n .next(\".infoTextActive\")\n .hide();\n }\n );\n }\n }\n }\n });\n }\n }\n );\n }\n var data = { course: eBookConfig.course };\n jQuery.get(\n `${eBookConfig.new_server_prefix}/logger/getlastpage`,\n data,\n function (data) {\n var lastPageData;\n if (data != \"None\") {\n lastPageData = data.detail;\n if (lastPageData.lastPageChapter != null) {\n $(\"#continue-reading\")\n .show()\n .html(\n '
    You were Last Reading: ' +\n lastPageData.lastPageChapter +\n (lastPageData.lastPageSubchapter\n ? \" > \" +\n lastPageData.lastPageSubchapter\n : \"\") +\n ' Continue Reading
    '\n );\n }\n }\n }\n );\n }\n}\n\nfunction enableCompletions() {\n getCompletions();\n showLastPositionBanner();\n addNavigationAndCompletionButtons();\n decorateTableOfContents();\n}\n\n// call enable user highlights after login\n$(document).on(\"runestone:login\", enableCompletions);\n\nfunction isPreTeXt() {\n let ptxMarker = document.querySelector(\"body.pretext\");\n if (ptxMarker) {\n return true;\n } else {\n return false;\n }\n}\n// _ processPageState\n// -------------------------\nfunction processPageState(\n completionFlag,\n pageLoad,\n markingComplete,\n markingIncomplete\n) {\n /*Log last page visited*/\n var currentPathname = window.location.pathname;\n if (currentPathname.indexOf(\"?\") !== -1) {\n currentPathname = currentPathname.substring(\n 0,\n currentPathname.lastIndexOf(\"?\")\n );\n }\n // Is this a ptx book?\n let isPtxBook = isPreTeXt();\n var data = {\n lastPageUrl: currentPathname,\n lastPageScrollLocation: Math.round($(window).scrollTop()),\n completionFlag: completionFlag,\n pageLoad: pageLoad,\n markingComplete: markingComplete,\n markingIncomplete: markingIncomplete,\n course: eBookConfig.course,\n isPtxBook: isPtxBook,\n };\n $(document).ajaxError(function (e, jqhxr, settings, exception) {\n console.log(\"Request Failed for \" + settings.url);\n console.log(e);\n });\n jQuery.ajax({\n url: `${eBookConfig.new_server_prefix}/logger/updatelastpage`,\n contentType: \"application/json; charset=utf-8\",\n dataType: \"json\",\n data: JSON.stringify(data),\n method: \"POST\",\n async: true,\n });\n}\n\n$.extend({\n getUrlVars: function () {\n var vars = [],\n hash;\n var hashes = window.location.search\n .slice(window.location.search.indexOf(\"?\") + 1)\n .split(\"&\");\n for (var i = 0; i < hashes.length; i++) {\n hash = hashes[i].split(\"=\");\n vars.push(hash[0]);\n vars[hash[0]] = hash[1];\n }\n return vars;\n },\n getUrlVar: function (name) {\n return $.getUrlVars()[name];\n },\n});\n","/*\n Support functions for PreTeXt books running on Runestone\n\n*/\n\nimport RunestoneBase from \"./runestonebase.js\";\n\nfunction setupPTXEvents() {\n let rb = new RunestoneBase();\n // log an event when a knowl is opened.\n document.querySelectorAll(\"[data-knowl]\").forEach((el) => {\n el.addEventListener(\"click\", function () {\n let div_id = el.getAttribute(\"data-knowl\");\n rb.logBookEvent({ event: \"knowl\", act: \"click\", div_id: div_id });\n });\n });\n let born_hidden = document.querySelectorAll(\"details.born-hidden-knowl\");\n born_hidden.forEach((el) => {\n // log an event when a knowl is opened that was born hidden\n el.addEventListener(\"toggle\", function () {\n if (el.open) {\n let div_id = el.id;\n rb.logBookEvent({ event: \"knowl\", act: \"open\", div_id: div_id });\n }\n });\n });\n // log an event when a sage cell is evaluated\n document.querySelectorAll(\".sagecell_evalButton\").forEach((btn) => {\n btn.addEventListener(\"click\", function () {\n let container = btn.closest(\".ptx-sagecell\");\n let codeInput = container ? container.querySelector(\".sagecell_input\") : null;\n let code = codeInput ? codeInput.textContent : \"\";\n let div_id = container ? container.id : null;\n if (! div_id) {\n console.warn(\"Could not find container or div_id for sagecell button\");\n return;\n }\n\n rb.logBookEvent({ event: \"sage\", act: \"run\", div_id: div_id });\n });\n });\n if (typeof eBookConfig !== \"undefined\" && !eBookConfig.isInstructor) {\n document.querySelectorAll(\".commentary\").forEach((el) => {\n el.style.display = \"none\";\n });\n }\n}\n\nwindow.addEventListener(\"load\", function () {\n console.log(\"setting up pretext\");\n setupPTXEvents();\n let wrap = document.getElementById(\"primary-navbar-sticky-wrapper\");\n if (wrap) {\n wrap.style.overflow = \"visible\";\n }\n});\n","import RunestoneBase from \"../../common/js/runestonebase.js\";\n\nexport class SpliceWrapper extends RunestoneBase {\n constructor() {\n super();\n this.initSplice();\n }\n\n initSplice() {\n // SPLICE Events\n window.addEventListener(\"message\", async (event) => {\n \n var sourceIframe = this.sendingIframe(event);\n console.log(`SpliceWrapper: received message subject: ${event.data.subject} from iframe: ${sourceIframe ? sourceIframe.id : \"unknown\"}`);\n if (event.data.subject == \"SPLICE.reportScoreAndState\") {\n this.handleScoreAndState(event, sourceIframe);\n } else if (event.data.subject == \"SPLICE.sendEvent\") {\n this.handleSpliceEvent(event, sourceIframe);\n } else if (event.data.subject == \"SPLICE.getState\") {\n await this.handleGetState(event, sourceIframe);\n } else if (\n event.origin === \"https://www.myopenmath.com\" &&\n typeof event.data === \"string\" &&\n event.data.indexOf(\"lti.ext.imathas.result\") != -1\n ) {\n // proof of concept for My Open Math\n let msgdata = JSON.parse(event.data);\n let jwt = basicParseJwt(msgdata.jwt);\n console.log(\n \"Result received from frame \" +\n msgdata.frame_id +\n \" with score \" +\n jwt.score\n );\n // todo send score to server\n // does MOM have a way to get the state?\n // todo send state to server\n }\n });\n }\n\n getUniqueID(event, frame) {\n // Determine the unique identifier for this activity\n // The SPLICE protocol allows for two possibilities\n // 1. activity_id is the unique id as assigned by the provider\n // 2. activity_id is the iframe src url\n // if the activity_id is set there may also be another attribute called domain\n // On Runestone we will try to map the activity to the div_id of the enclosing RS component\n // if possible, otherwise we will use the activity_id or iframe src\n // If an interactive is included in an exercises this allows us to map the score\n // to the id the instructor used to assign the problem.\n if (frame) {\n let rsDiv = frame.closest(\"[data-component]\");\n if (rsDiv) {\n return rsDiv.id;\n }\n }\n let location = event.data.activity_id;\n if (!location) {\n if (frame) {\n location = frame.src;\n } else {\n location = \"unknown\";\n console.error(\n \"Could not find iframe that sent the SPLICE event\"\n );\n }\n }\n return location;\n }\n\n handleScoreAndState(event, frame) {\n console.log(\"Got SPLICE.reportScoreAndState\");\n console.log(event.data.activity_id);\n console.log(event.data.score);\n console.log(event.data.state);\n let location = this.getUniqueID(event, frame);\n this.logBookEvent({\n event: event.data.subject,\n div_id: location,\n act: `score: ${event.data.score}`,\n score: event.data.score,\n percent: event.data.score,\n correct: event.data.score == 1.0 ? true : false,\n answer: JSON.stringify(event.data.state),\n });\n }\n\n sendingIframe(event) {\n // determine the iframe that sent the event\n // you would think that event.source would be the iframe\n // but it is not and getting the location out of event.source\n // creates CORS issues.\n for (const f of document.getElementsByTagName(\"iframe\")) {\n if (f.contentWindow === event.source) return f;\n }\n return undefined;\n }\n\n async getSavedState(location) {\n // fetch the state from the server\n try {\n const response = await fetch(\"/ns/assessment/results\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n div_id: location,\n course: eBookConfig.course,\n event: \"SPLICE.getState\",\n }),\n });\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n const data = await response.json();\n return data;\n } catch (error) {\n console.error(\"Error fetching SPLICE state:\", error);\n return null;\n }\n }\n\n async handleGetState(event, frame) {\n console.log(\"Got SPLICE.getState\");\n console.log(event.data.activity_id);\n console.log(event.data.state);\n // subject is SPLICE.getState.response\n let location = this.getUniqueID(event, frame);\n let res = await this.getSavedState(location);\n let state = res.detail.answer;\n event.source.postMessage(\n {\n message_id: event.data.message_id,\n subject: \"SPLICE.getState.response\",\n state: state,\n },\n \"*\"\n );\n }\n\n handleSpliceEvent(event, frame) {\n // handle generic SPLICE events, such as logged clicks\n // or other events. SPLICE does not require that we do\n // anything with them, but in keeping with our tradition\n // we will save them to the useinfo table in the database\n // in case they prove to be useful for research later\n console.log(\"Got SPLICE.sendEvent\");\n console.log(event.data.activity_id);\n console.log(event.data.name);\n //console.log(event.data.data);\n let location = this.getUniqueID(event, frame);\n this.logBookEvent({\n event: event.data.subject,\n div_id: location,\n act: event.data.name || \"unknown\",\n });\n }\n // these stubs are not implemented, but are required by the RunestoneBase class\n checkLocalStorage() {}\n setLocalStorage() {}\n restoreAnswers() {}\n disableInteraction() {}\n}\n\nfunction basicParseJwt(token) {\n var base64Url = token.split(\".\")[1];\n var base64 = base64Url.replace(/-/g, \"+\").replace(/_/g, \"/\");\n var jsonPayload = decodeURIComponent(\n window\n .atob(base64)\n .split(\"\")\n .map(function (c) {\n return \"%\" + (\"00\" + c.charCodeAt(0).toString(16)).slice(-2);\n })\n .join(\"\")\n );\n return JSON.parse(jsonPayload);\n}\n","// ***********************************************************************************\n// |docname| - A framework allowing a Runestone component to load only the JS it needs\n// ***********************************************************************************\n// The JavaScript required by all Runestone components is quite large and results in slow page loads. This approach enables a Runestone component to load only the JavaScript it needs, rather than loading JavaScript for all the components regardless of which are actually used.\n//\n// To accomplish this, webpack's split-chunks ability analyzes all JS, starting from this file. The dynamic imports below are transformed by webpack into the dynamic fetches of just the JS required by each file and all its dependencies. (If using static imports, webpack will assume that all files are already statically loaded via script tags, defeating the purpose of this framework.)\n//\n// However, this approach leads to complexity:\n//\n// - The ``data-component`` attribute of each component must be kept in sync with the keys of the ``module_map`` below.\n// - The values in the ``module_map`` must be kept in sync with the JavaScript files which implement each of the components.\n\n// Static imports\n// ==============\n// These imports are (we assume) needed by all pages. However, it would be much better to load these in the modules that actually use them.\n//\n// These are static imports; code in `dynamically loaded components`_ deals with dynamic imports.\n//\n// jQuery-related imports.\nimport \"jquery-ui/jquery-ui.js\";\nimport \"jquery-ui/themes/base/jquery.ui.all.css\";\nimport \"./runestone/common/js/jquery.idle-timer.js\";\nimport \"./runestone/common/js/jquery_i18n/jquery.i18n.js\";\nimport \"./runestone/common/js/jquery_i18n/jquery.i18n.emitter.bidi.js\";\nimport \"./runestone/common/js/jquery_i18n/jquery.i18n.emitter.js\";\nimport \"./runestone/common/js/jquery_i18n/jquery.i18n.fallbacks.js\";\nimport \"./runestone/common/js/jquery_i18n/jquery.i18n.messagestore.js\";\nimport \"./runestone/common/js/jquery_i18n/jquery.i18n.parser.js\";\nimport \"./runestone/common/js/jquery_i18n/jquery.i18n.language.js\";\n\n// Bootstrap - not needed for pxx development\nimport \"bootstrap/dist/js/bootstrap.js\";\n\n// common styles come from here\nimport \"./ptxrs-bootstrap.less\";\nimport \"./runestone/common/project_template/_templates/plugin_layouts/sphinx_bootstrap/static/bootstrap-sphinx.js\";\n\n// Misc\nimport \"./runestone/common/js/bookfuncs.js\";\nimport \"./runestone/common/js/user-highlights.js\";\nimport \"./runestone/common/js/pretext.js\";\n\n// These belong in dynamic imports for the obvious component; however, these components don't include a ``data-component`` attribute.\nimport \"./runestone/matrixeq/css/matrixeq.css\";\nimport \"./runestone/webgldemo/css/webglinteractive.css\";\n\n// These are only needed for the Runestone book, but not in a library mode (such as pretext). I would prefer to dynamically load them. However, these scripts are so small I haven't bothered to do so.\nimport { getSwitch, switchTheme } from \"./runestone/common/js/theme.js\";\nimport \"./runestone/common/js/presenter_mode.js\";\nimport \"./runestone/common/css/presenter_mode.less\";\nimport { renderOneComponent } from \"./runestone/common/js/renderComponent.js\";\nimport RunestoneBase from \"./runestone/common/js/runestonebase.js\";\nimport { SpliceWrapper } from \"./runestone/splice/js/spliceWrapper.js\";\n\n// Dynamically loaded components\n// =============================\n// This provides a list of modules that components can dynamically import. Webpack will create a list of imports for each based on its analysis.\nconst module_map = {\n // Wrap each import in a function, so that it won't occur until the function is called. While something cleaner would be nice, webpack can't analyze things like ``import(expression)``.\n //\n // The keys must match the value of each component's ``data-component`` attribute -- the ``runestone_import`` and ``runestone_auto_import`` functions assume this.\n activecode: () => import(\"./runestone/activecode/js/acfactory.js\"),\n ble: () => import(\"./runestone/cellbotics/js/ble.js\"),\n // Always import the timed version of a component if available, since the timed components also define the component's factory and include the component as well. Note that ``acfactory`` imports the timed components of ActiveCode, so it follows this pattern.\n clickablearea: () =>\n import(\"./runestone/clickableArea/js/timedclickable.js\"),\n codelens: () => import(\"./runestone/codelens/js/codelens.js\"),\n datafile: () => import(\"./runestone/datafile/js/datafile.js\"),\n dragndrop: () => import(\"./runestone/dragndrop/js/timeddnd.js\"),\n fillintheblank: () => import(\"./runestone/fitb/js/timedfitb.js\"),\n groupsub: () => import(\"./runestone/groupsub/js/groupsub.js\"),\n khanex: () => import(\"./runestone/khanex/js/khanex.js\"),\n lp_build: () => import(\"./runestone/lp/js/lp.js\"),\n matching: () => import(\"./runestone/matching/js/matching.js\"),\n multiplechoice: () => import(\"./runestone/mchoice/js/timedmc.js\"),\n hparsons: () => import(\"./runestone/hparsons/js/hparsons.js\"),\n parsons: () => import(\"./runestone/parsons/js/timedparsons.js\"),\n poll: () => import(\"./runestone/poll/js/poll.js\"),\n quizly: () => import(\"./runestone/quizly/js/quizly.js\"),\n reveal: () => import(\"./runestone/reveal/js/reveal.js\"),\n selectquestion: () => import(\"./runestone/selectquestion/js/selectone.js\"),\n shortanswer: () =>\n import(\"./runestone/shortanswer/js/timed_shortanswer.js\"),\n showeval: () => import(\"./runestone/showeval/js/showEval.js\"),\n simple_sensor: () => import(\"./runestone/cellbotics/js/simple_sensor.js\"),\n spreadsheet: () => import(\"./runestone/spreadsheet/js/spreadsheet.js\"),\n tabbedStuff: () => import(\"./runestone/tabbedStuff/js/tabbedstuff.js\"),\n timedAssessment: () => import(\"./runestone/timed/js/timed.js\"),\n wavedrom: () => import(\"./runestone/wavedrom/js/wavedrom.js\"),\n // TODO: since this isn't in a ``data-component``, need to trigger an import of this code manually.\n webwork: () => import(\"./runestone/webwork/js/webwork.js\"),\n youtube: () => import(\"./runestone/video/js/runestonevideo.js\"),\n doenet: () => Promise.resolve(), // Doenet is loaded separately\n};\n\nconst module_map_cache = {};\nconst QUEUE_FLUSH_TIME_MS = 10;\nconst queue = [];\nlet queueLastFlush = 0;\n/**\n * Queue imports that are requested within `QUEUE_FLUSH_TIME_MS` of each other.\n * All such imports are imported at once, and then a promise is fired after all\n * the imports in the queue window have completed.\n */\nfunction queueImport(component_name) {\n let resolve = null;\n let reject = null;\n const retPromise = new Promise((r, rej) => {\n resolve = r;\n reject = rej;\n });\n const item = { component_name, resolve, reject };\n queue.push(item);\n window.setTimeout(flushQueue, QUEUE_FLUSH_TIME_MS + 1);\n\n return retPromise;\n}\nasync function flushQueue() {\n if (queue.length === 0) {\n return;\n }\n if (Date.now() - queueLastFlush < QUEUE_FLUSH_TIME_MS) {\n window.setTimeout(flushQueue, QUEUE_FLUSH_TIME_MS + 1);\n return;\n }\n // If we made it here, it has been at least QUEUE_FLUSH_TIME_MS since\n // the last time we flushed the queue. Therefore, we should start flushing.\n // We copy everything we flush and empty the array first.\n queueLastFlush = Date.now();\n const toFlush = [...queue];\n queue.length = 0;\n console.log(\n \"Webpack is starting the loading process for the following Runestone modules\",\n toFlush.map((item) => item.component_name)\n );\n const flushedPromise = toFlush.map(async (item) => {\n try {\n await module_map[item.component_name]();\n console.log(\n `Runestone component ${item.component_name} has been loaded`\n );\n return item;\n } catch (e) {\n item.reject(e);\n }\n });\n const flushed = await Promise.all(flushedPromise);\n try {\n flushed.forEach(function (item) {\n if (item) {\n item.resolve();\n }\n });\n } catch (e) {\n console.error(e);\n }\n}\n\n// .. _dynamic import machinery:\n//\n// Dynamic import machinery\n// ========================\n// Fulfill a promise when the Runestone pre-login complete event occurs.\nlet pre_login_complete_promise = new Promise((resolve) =>\n $(document).on(\"runestone:pre-login-complete\", resolve)\n);\nlet loadedComponents;\n// Provide a simple function to import the JS for all components on the page.\nexport function runestone_auto_import() {\n // Create a set of ``data-component`` values, to avoid duplication.\n const s = new Set(\n // All Runestone components have a ``data-component`` attribute.\n $(\"[data-component]\")\n .map(\n // Extract the value of the data-component attribute.\n (index, element) => $(element).attr(\"data-component\")\n // Switch from a jQuery object back to an array, passing that to the Set constructor.\n )\n .get()\n );\n // webwork questions are not wrapped in div with a data-component so we have to check a different way\n if (document.querySelector(\".webwork-button\")) {\n s.add(\"webwork\");\n }\n\n // Load JS for each of the components found.\n const a = [...s].map((value) => {\n let z;\n console.log(`Loading Runestone component: ${value}`);\n try {\n z = (module_map[value] || (() => Promise.resolve()))();\n } catch (e) {\n console.error(`Error loading ${value}:`, e);\n }\n z.error = (msg) => console.error(`Error in ${value}:`, msg);\n return z;\n });\n\n // Send the Runestone login complete event when all JS is loaded and the pre-login is also complete.\n Promise.all([pre_login_complete_promise, ...a]).then(function () {\n if (!document.body.dataset.reactInUse) {\n document.dispatchEvent(new CustomEvent(\"runestone:login-complete\"));\n }\n });\n}\n\npre_login_complete_promise.then(() => {\n console.log(\"Runestone pre-login complete\");\n});\n\n// Load component JS when the document is ready.\n$(document).ready(runestone_auto_import);\n\n// Provide a function to import one specific `Runestone` component.\n// the import function inside module_map is async -- runestone_import\n// should be awaited when necessary to ensure the import completes\nexport async function runestone_import(component_name) {\n if (module_map_cache[component_name]) {\n return module_map_cache[component_name];\n }\n console.log(\n `Runestone component ${component_name} is being queued for import`\n );\n const promise = queueImport(component_name);\n module_map_cache[component_name] = promise;\n return promise;\n}\n\nasync function popupScratchAC() {\n // load the activecode bundle\n await runestone_import(\"activecode\");\n // scratchDiv will be defined if we have already created a scratch\n // activecode. If its not defined then we need to get it ready to toggle\n if (!eBookConfig.scratchDiv) {\n window.ACFactory.createScratchActivecode();\n let divid = eBookConfig.scratchDiv;\n window.componentMap[divid] = ACFactory.createActiveCode(\n $(`#${divid}`)[0],\n eBookConfig.acDefaultLanguage\n );\n if (eBookConfig.isLoggedIn) {\n window.componentMap[divid].enableSaveLoad();\n }\n }\n setTimeout(() => {\n window.ACFactory.toggleScratchActivecode();\n }, 100);\n}\n\n// Set the directory containing this script as the `path `_ for all webpacked scripts.\nconst script_src = document.currentScript.src;\n__webpack_public_path__ = script_src.substring(\n 0,\n script_src.lastIndexOf(\"/\") + 1\n);\n\nvar splice = new SpliceWrapper();\n\n// Manual exports\n// ==============\n// Webpack's ``output.library`` setting doesn't seem to work with the split chunks plugin; do all exports manually through the ``window`` object instead.\n\nconst rc = {};\nrc.runestone_import = runestone_import;\nrc.runestone_auto_import = runestone_auto_import;\nrc.getSwitch = getSwitch;\nrc.switchTheme = switchTheme;\nrc.popupScratchAC = popupScratchAC;\nrc.renderOneComponent = renderOneComponent;\nwindow.componentMap = {};\nwindow.runestoneComponents = rc;\n","export function getSwitch() {\n const toggleSwitch = document.querySelector('.theme-switch input[type=\"checkbox\"]');\n const currentTheme = localStorage.getItem('theme') ? localStorage.getItem('theme') : null;\n\n if (currentTheme) {\n document.documentElement.setAttribute('data-theme', currentTheme);\n\n if (currentTheme === 'dark') {\n toggleSwitch.checked = true;\n }\n }\n}\n\nexport function switchTheme() {\n\n\tvar checkBox = document.getElementById(\"checkbox\");\n if (checkBox.checked == true) {\n document.documentElement.setAttribute('data-theme', 'dark');\n localStorage.setItem('theme', 'dark'); //add this\n }\n else {\n document.documentElement.setAttribute('data-theme', 'light');\n localStorage.setItem('theme', 'light'); //add this\n }\n}\n","/* ********************************\n * |docname| - Runestone Base Class\n * ********************************\n * All runestone components should inherit from RunestoneBase. In addition all runestone components should do the following things:\n *\n * 1. Ensure that they are wrapped in a div with the class runestone\n * 2. Write their source AND their generated html to the database if the database is configured\n * 3. Properly save and restore their answers using the checkServer mechanism in this base class. Each component must provide an implementation of:\n *\n * - checkLocalStorage\n * - setLocalStorage\n * - restoreAnswers\n * - disableInteraction\n *\n * 4. provide a Selenium based unit test\n */\n\nimport { pageProgressTracker } from \"./bookfuncs.js\";\n//import \"./../styles/runestone-custom-sphinx-bootstrap.css\";\n\nvar NO_DECORATE = [\"parsonsMove\", \"showeval\", \"video\", \"poll\", \"view_toggle\",\n \"dashboard\", \"selectquestion\", \"codelens\", \"peer\", \"shortanswer\"]\nexport default class RunestoneBase {\n constructor(opts) {\n this.component_ready_promise = new Promise(\n (resolve) => (this._component_ready_resolve_fn = resolve)\n );\n this.optional = false;\n if (typeof window.allComponents === \"undefined\") {\n window.allComponents = [];\n }\n window.allComponents.push(this);\n if (opts) {\n this.sid = opts.sid;\n this.graderactive = opts.graderactive;\n this.showfeedback = true;\n if (opts.timed) {\n this.isTimed = true;\n }\n if (opts.enforceDeadline) {\n this.deadline = opts.deadline;\n }\n this.optional = this.parseBooleanAttribute(opts.orig, \"data-optional\");\n if (opts.selector_id) {\n this.selector_id = opts.selector_id;\n }\n if (typeof opts.assessmentTaken !== \"undefined\") {\n this.assessmentTaken = opts.assessmentTaken;\n } else {\n // default to true as this opt is only provided from a timedAssessment\n this.assessmentTaken = true;\n }\n // This is for the selectquestion points\n // If a selectquestion is part of a timed exam it will get\n // the timedWrapper options.\n if (typeof opts.timedWrapper !== \"undefined\") {\n this.timedWrapper = opts.timedWrapper;\n } else {\n // However sometimes selectquestions\n // are used in regular assignments. The hacky way to detect this\n // is to look for doAssignment in the URL and then grab\n // the assignment name from the heading.\n if (location.href.indexOf(\"doAssignment\") >= 0) {\n this.timedWrapper = $(\"h1#assignment_name\").text();\n } else {\n this.timedWrapper = null;\n }\n }\n if ($(opts.orig).data(\"question_label\")) {\n this.question_label = $(opts.orig).data(\"question_label\");\n }\n this.is_toggle = true ? opts.is_toggle : false;\n this.is_select = true ? opts.is_select : false;\n }\n this.mjelements = [];\n let self = this;\n this.mjReady = new Promise(function (resolve, reject) {\n self.mjresolver = resolve;\n });\n this.aQueue = new AutoQueue();\n if (opts && typeof opts.preamble !== \"undefined\") {\n this.preamble = opts.preamble;\n let y = document.createElement(\"div\");\n y.classList.add(\"hidden-content\");\n y.classList.add(\"process-math\");\n y.innerHTML = \"\\\\(\" + this.preamble + \"\\\\)\";\n // This is a hack to get the preamble into the DOM so that MathJax can process it.\n opts.orig.appendChild(y);\n y.id = \"ltx_preamble\";\n y.style.display = \"none\";\n // Add the preamble to the queue object so it can prepend it to\n // future MathJax processing\n this.aQueue.preamble = y\n }\n\n this.jsonHeaders = new Headers({\n \"Content-type\": \"application/json; charset=utf-8\",\n Accept: \"application/json\",\n });\n }\n\n // Helper for parsing boolean data-* attributes\n // Unset/\"false\"/\"no\" means false, anything else, including empty string means true\n parseBooleanAttribute(element, attributeName) {\n const attrValue = element.getAttribute(attributeName);\n if (attrValue === null) {\n return false;\n }\n const lowerValue = attrValue.toLowerCase();\n if (lowerValue === \"false\" || lowerValue === \"no\") {\n return false;\n }\n return true;\n }\n\n // _`logBookEvent`\n //----------------\n // This function sends the provided ``eventInfo`` to the `hsblog endpoint` of the server. Awaiting this function returns either ``undefined`` (if Runestone services are not available) or the data returned by the server as a JavaScript object (already JSON-decoded).\n async logBookEvent(eventInfo) {\n if (this.graderactive) {\n return;\n }\n let post_return;\n eventInfo.course_name = eBookConfig.course;\n eventInfo.clientLoginStatus = eBookConfig.isLoggedIn;\n eventInfo.timezoneoffset = new Date().getTimezoneOffset() / 60;\n // For selectquestions we need to log using the selector_id for real time scoring\n if (this.selector_id) {\n eventInfo.selector_id = this.selector_id;\n }\n if (typeof this.percent === \"number\") {\n eventInfo.percent = this.percent;\n }\n if (window.assignmentId) {\n eventInfo.assignment_id = window.assignmentId;\n }\n if (\n eBookConfig.isLoggedIn &&\n eBookConfig.useRunestoneServices &&\n eBookConfig.logLevel > 0\n ) {\n post_return = this.postLogMessage(eventInfo);\n }\n if (!this.isTimed || eBookConfig.debug) {\n let prefix = eBookConfig.isLoggedIn ? \"Save\" : \"Not\";\n console.log(`${prefix} logging event ` + JSON.stringify(eventInfo));\n }\n // When selectquestions are part of an assignment especially toggle questions\n // we need to count using the selector_id of the select question.\n // We also need to log an event for that selector so that we will know\n // that interaction has taken place. This is **independent** of how the\n // autograder will ultimately grade the question!\n if (this.selector_id) {\n eventInfo.div_id = this.selector_id.replace(\n \"-toggleSelectedQuestion\",\n \"\"\n );\n eventInfo.event = \"selectquestion\";\n eventInfo.act = \"interaction\";\n this.postLogMessage(eventInfo);\n }\n if (\n typeof pageProgressTracker.updateProgress === \"function\" &&\n eventInfo.act != \"edit\" &&\n this.optional == false\n ) {\n pageProgressTracker.updateProgress(eventInfo.div_id);\n }\n // if the event is in the NO_DECORATE list then don't decorate the status\n if (NO_DECORATE.indexOf(eventInfo.event) === -1) {\n this.decorateStatus();\n }\n return post_return;\n }\n\n async postLogMessage(eventInfo) {\n var post_return;\n let request = new Request(\n `${eBookConfig.new_server_prefix}/logger/bookevent`,\n {\n method: \"POST\",\n headers: this.jsonHeaders,\n body: JSON.stringify(eventInfo),\n }\n );\n try {\n var response = await fetch(request);\n if (!response.ok) {\n if (response.status === 422) {\n // Get details about why this is unprocesable.\n post_return = await response.json();\n console.log(JSON.stringify(post_return.detail, null, 4));\n throw new Error(\"Unprocessable Request\");\n } else if (response.status == 401) {\n post_return = await response.json();\n console.log(\n `Missing authentication token ${post_return.detail}`\n );\n throw new Error(\"Missing authentication token\");\n }\n throw new Error(`Failed to save the log entry\n Status: ${response.status}`);\n }\n post_return = await response.json();\n let scoreSpec = post_return.detail;\n let gradeBox = null;\n if (this.selector_id) {\n let selector_id = this.selector_id.replace(\n \"-toggleSelectedQuestion\",\n \"\"\n );\n gradeBox = document.getElementById(`${selector_id}_score`);\n } else {\n gradeBox = document.getElementById(`${this.divid}_score`);\n }\n if (gradeBox && !this.isTimed && scoreSpec.score) {\n this.updateScores(gradeBox, scoreSpec);\n }\n } catch (e) {\n let detail = \"none\";\n if (post_return && post_return.detail) {\n detail = post_return.detail;\n }\n if (eBookConfig.useRunestoneServices) {\n alert(`Error: Your action was not saved!\n The error was ${e}\n Status Code: ${response.status}\n Detail: ${JSON.stringify(detail, null, 4)}.\n Please report this error!`);\n }\n // send a request to save this error\n console.log(\n `Error: ${e} Detail: ${detail} Status Code: ${response.status}`\n );\n }\n return post_return;\n }\n // update the score for the question and the total score\n // the presence of the gradeBox is used to determine if we are on an assignment page.\n updateScores(gradeBox, scoreSpec) {\n if (!scoreSpec.assigned || scoreSpec.score === null) {\n document.getElementById(`${this.divid}_message`).innerHTML = \"Score not updated. Submissions are closed.\";\n return;\n }\n let scoreSpan = gradeBox.getElementsByClassName(\"qscore\")[0];\n if (scoreSpan) {\n scoreSpan.innerHTML = scoreSpec.score.toFixed(1);\n }\n let allScores = document.getElementsByClassName(\"qscore\");\n let allmax = document.getElementsByClassName(\"qmaxscore\");\n let total = 0;\n let max = 0;\n for (let i = 0; i < allScores.length; i++) {\n total += parseFloat(allScores[i].innerHTML);\n max += parseFloat(allmax[i].innerHTML);\n }\n let totalSpan = document.getElementById(\"total_score\");\n if (totalSpan) {\n totalSpan.innerHTML = total.toFixed(1);\n }\n let maxSpan = document.getElementById(\"total_max\");\n if (maxSpan) {\n maxSpan.innerHTML = max;\n }\n let percentSpan = document.getElementById(\"total_percent\");\n if (percentSpan) {\n percentSpan.innerHTML = ((total / max) * 100).toFixed(2);\n }\n }\n\n // .. _logRunEvent:\n //\n // logRunEvent\n // -----------\n // This function sends the provided ``eventInfo`` to the `runlog endpoint`. When awaited, this function returns the data (decoded from JSON) the server sent back.\n async logRunEvent(eventInfo) {\n let post_promise = \"done\";\n if (this.graderactive) {\n return;\n }\n eventInfo.course = eBookConfig.course;\n eventInfo.clientLoginStatus = eBookConfig.isLoggedIn;\n eventInfo.timezoneoffset = new Date().getTimezoneOffset() / 60;\n if (this.forceSave || \"to_save\" in eventInfo === false) {\n eventInfo.save_code = \"True\";\n }\n if (typeof eventInfo.errinfo !== \"undefined\") {\n eventInfo.errinfo = eventInfo.errinfo.toString();\n }\n if (\n eBookConfig.isLoggedIn &&\n eBookConfig.useRunestoneServices &&\n eBookConfig.logLevel > 0\n ) {\n let request = new Request(\n `${eBookConfig.new_server_prefix}/logger/runlog`,\n {\n method: \"POST\",\n headers: this.jsonHeaders,\n body: JSON.stringify(eventInfo),\n }\n );\n let response = await fetch(request);\n if (!response.ok) {\n post_promise = await response.json();\n if (eBookConfig.useRunestoneServices) {\n alert(`Failed to save your code\n Status is ${response.status}\n Detail: ${JSON.stringify(\n post_promise.detail,\n null,\n 4\n )}`);\n } else {\n console.log(\n `Did not save the code.\n Status: ${response.status}\n Detail: ${JSON.stringify(\n post_promise.detail,\n null,\n 4\n )}`\n );\n }\n } else {\n post_promise = await response.json();\n }\n }\n if (!this.isTimed || eBookConfig.debug) {\n console.log(\"running \" + JSON.stringify(eventInfo));\n }\n if (\n typeof pageProgressTracker.updateProgress === \"function\" &&\n this.optional == false\n ) {\n pageProgressTracker.updateProgress(eventInfo.div_id);\n }\n return post_promise;\n }\n /* Checking/loading from storage\n **WARNING:** DO NOT `await` this function!\n This function, although async, does not explicitly resolve its promise by returning a value. The reason for this is because it is called by the constructor for nearly every component. In Javascript constructors cannot be async!\n\n One of the recommended ways to handle the async requirements from within a constructor is to use an attribute as a promise and resolve that attribute at the appropriate time.\n */\n async checkServer(\n // A string specifying the event name to use for querying the :ref:`getAssessResults` endpoint.\n eventInfo,\n // If true, this function will invoke ``indicate_component_ready()`` just before it returns. This is provided since most components are ready after this function completes its work.\n //\n // TODO: This defaults to false, to avoid causing problems with any components that haven't been updated and tested. After all Runestone components have been updated, default this to true and remove the extra parameter from most calls to this function.\n will_be_ready = false\n ) {\n // Check if the server has stored answer\n let self = this;\n this.checkServerComplete = new Promise(function (resolve, reject) {\n self.csresolver = resolve;\n });\n if (\n eBookConfig.isLoggedIn &&\n (this.useRunestoneServices || this.graderactive)\n ) {\n let data = {};\n data.div_id = this.divid;\n data.course = eBookConfig.course;\n data.event = eventInfo;\n if (this.graderactive && this.deadline) {\n data.deadline = this.deadline;\n data.rawdeadline = this.rawdeadline;\n data.tzoff = this.tzoff;\n }\n if (this.sid) {\n data.sid = this.sid;\n }\n if (!(data.div_id && data.course && data.event)) {\n console.log(\n `A required field is missing data ${data.div_id}:${data.course}:${data.event}`\n );\n }\n // If we are NOT in practice mode and we are not in a peer exercise\n // and assessmentTaken is true\n if (\n !eBookConfig.practice_mode &&\n !eBookConfig.peer &&\n this.assessmentTaken\n ) {\n let request = new Request(\n `${eBookConfig.new_server_prefix}/assessment/results`,\n {\n method: \"POST\",\n body: JSON.stringify(data),\n headers: this.jsonHeaders,\n }\n );\n try {\n let response = await fetch(request);\n console.log(`Response from server: ${response.status}`);\n if (response.ok) {\n data = await response.json();\n data = data.detail;\n console.log(`Data from server: ${JSON.stringify(data)} calling repopulateFromStorage`);\n this.repopulateFromStorage(data);\n this.attempted = true;\n if (typeof data.correct !== \"undefined\") {\n this.correct = data.correct;\n } else {\n this.correct = null;\n }\n console.log(`resolving checkServer with server data`);\n this.csresolver(\"server\");\n } else {\n console.log(\n `HTTP Error getting results: ${response.statusText}`\n );\n this.checkLocalStorage(); // just go right to local storage\n console.log(`resolving checkServer with local data`);\n this.csresolver(\"local\");\n }\n } catch (err) {\n console.log(`Error getting results: ${err}`);\n try {\n this.checkLocalStorage();\n } catch (err) {\n console.log(err);\n }\n }\n } else {\n this.loadData({});\n console.log(`resolving checkServer no answer given`);\n this.csresolver(\"not taken\");\n }\n } else {\n this.checkLocalStorage(); // just go right to local storage\n console.log(`resolving checkServer with local data`);\n this.csresolver(\"local\");\n }\n\n if (will_be_ready) {\n this.indicate_component_ready();\n }\n }\n\n // This method assumes that ``this.componentDiv`` refers to the ``div`` containing the component, and that this component's ID is set.\n indicate_component_ready() {\n // Add a class to indicate the component is now ready.\n this.containerDiv.classList.add(\"runestone-component-ready\");\n // Resolve the ``this.component_ready_promise``.\n this._component_ready_resolve_fn();\n }\n\n loadData(data) {\n // for most classes, loadData doesn't do anything. But for Parsons, and perhaps others in the future,\n // initialization can happen even when there's no history to be loaded\n return null;\n }\n\n /**\n * repopulateFromStorage is called after a successful API call is made to ``getAssessResults`` in\n * the checkServer method in this class\n *\n * ``restoreAnswers,`` ``setLocalStorage`` and ``checkLocalStorage`` are defined in the child classes.\n *\n * @param {*} data - a JSON object representing the data needed to restore a previous answer for a component\n * @param {*} status - the http status\n * @param {*} whatever - ignored\n */\n repopulateFromStorage(data) {\n // decide whether to use the server's answer (if there is one) or to load from storage\n if (data !== null && data !== \"no data\" && this.shouldUseServer(data)) {\n this.restoreAnswers(data);\n this.setLocalStorage(data);\n } else {\n this.checkLocalStorage();\n }\n this.decorateStatus();\n }\n shouldUseServer(data) {\n // returns true if server data is more recent than local storage or if server storage is correct\n if (\n data.correct === \"T\" ||\n data.correct === true ||\n localStorage.length === 0 ||\n this.graderactive === true ||\n this.isTimed\n ) {\n return true;\n }\n let ex = localStorage.getItem(this.localStorageKey());\n if (ex === null) {\n return true;\n }\n let storedData;\n try {\n storedData = JSON.parse(ex);\n } catch (err) {\n // error while parsing; likely due to bad value stored in storage\n console.log(err.message);\n localStorage.removeItem(this.localStorageKey());\n // definitely don't want to use local storage here\n return true;\n }\n if (data.answer == storedData.answer) return true;\n let storageDate = new Date(storedData.timestamp);\n let serverDate = new Date(data.timestamp);\n return serverDate >= storageDate;\n }\n // Return the key which to be used when accessing local storage.\n localStorageKey() {\n return (\n eBookConfig.email +\n \":\" +\n eBookConfig.course +\n \":\" +\n this.divid +\n \"-given\"\n );\n }\n addCaption(elType) {\n //someElement.parentNode.insertBefore(newElement, someElement.nextSibling);\n if (!this.isTimed) {\n var capDiv = document.createElement(\"p\");\n if (this.question_label) {\n // Display caption based on whether Runestone services have been detected\n this.caption = eBookConfig.useRunestoneServices\n ? `Activity: ${this.question_label} ${this.caption} (${this.divid})`\n : `Activity: ${this.question_label} ${this.caption}`; // Without runestone\n $(capDiv).html(this.caption);\n $(capDiv).addClass(`${elType}_caption`);\n } else {\n // Display caption based on whether Runestone services have been detected\n $(capDiv).html(\n eBookConfig.useRunestoneServices\n ? this.caption + \" (\" + this.divid + \")\"\n : this.caption\n ); // Without runestone\n $(capDiv).addClass(`${elType}_caption`);\n $(capDiv).addClass(`${elType}_caption_text`);\n }\n this.capDiv = capDiv;\n //this.outerDiv.parentNode.insertBefore(capDiv, this.outerDiv.nextSibling);\n this.containerDiv.appendChild(capDiv);\n }\n }\n\n hasUserActivity() {\n return this.isAnswered;\n }\n\n checkCurrentAnswer() {\n console.log(\n \"Each component should provide an implementation of checkCurrentAnswer\"\n );\n }\n\n async logCurrentAnswer() {\n console.log(\n \"Each component should provide an implementation of logCurrentAnswer\"\n );\n }\n renderFeedback() {\n console.log(\n \"Each component should provide an implementation of renderFeedback\"\n );\n }\n disableInteraction() {\n console.log(\n \"Each component should provide an implementation of disableInteraction\"\n );\n }\n\n toString() {\n return `${this.constructor.name}: ${this.divid}`;\n }\n\n queueMathJax(component) {\n if (typeof MathJax === \"undefined\") {\n console.log(\"Error -- MathJax is not loaded\");\n return Promise.resolve(null);\n } else {\n // See - https://docs.mathjax.org/en/latest/advanced/typeset.html\n // Per the above we should keep track of the promises and only call this\n // a second time if all previous promises have resolved.\n // Create a queue of components\n // should wait until defaultPageReady is defined\n // If defaultPageReady is not defined then just enqueue the components.\n // Once defaultPageReady is defined\n // the window.runestoneMathReady promise will be fulfilled when the\n // initial typesetting is complete.\n if (MathJax.typesetPromise) {\n if (typeof window.runestoneMathReady !== \"undefined\") {\n return window.runestoneMathReady.then(() =>\n this.mjresolver(this.aQueue.enqueue(component))\n );\n } else {\n return this.mjresolver(this.aQueue.enqueue(component));\n }\n } else {\n console.log(`Waiting on MathJax!! ${MathJax.typesetPromise}`);\n setTimeout(() => this.queueMathJax(component), 200);\n console.log(`Returning mjready promise: ${this.mjReady}`);\n return this.mjReady;\n }\n }\n }\n\n decorateStatus() {\n if (this.isTimed || eBookConfig.peer) return;\n let rsDiv = $(this.containerDiv).closest(\"div.runestone\")[0];\n if (!rsDiv) return;\n rsDiv.classList.remove(\"notAnswered\");\n rsDiv.classList.remove(\"isInCorrect\");\n rsDiv.classList.remove(\"isCorrect\");\n if (this.correct) {\n rsDiv.classList.add(\"isCorrect\");\n } else {\n if (this.correct === null || typeof this.correct === \"undefined\") {\n rsDiv.classList.add(\"notAnswered\");\n } else {\n rsDiv.classList.add(\"isInCorrect\");\n }\n }\n }\n}\n\n// Inspiration and lots of code for this solution come from\n// https://stackoverflow.com/questions/53540348/js-async-await-tasks-queue\n// The idea here is that until MathJax is ready we can just enqueue things\n// once mathjax becomes ready then we can drain the queue and continue as usual.\n\nclass Queue {\n constructor() {\n this._items = [];\n }\n enqueue(item) {\n this._items.push(item);\n }\n dequeue() {\n return this._items.shift();\n }\n get size() {\n return this._items.length;\n }\n}\n\nclass AutoQueue extends Queue {\n constructor() {\n super();\n this._pendingPromise = false;\n }\n\n enqueue(component) {\n return new Promise((resolve, reject) => {\n super.enqueue({ component, resolve, reject });\n this.dequeue();\n });\n }\n\n async dequeue() {\n if (this._pendingPromise) return false;\n\n let item = super.dequeue();\n\n if (!item) return false;\n let qq = this;\n try {\n this._pendingPromise = true;\n\n let payload = await window.runestoneMathReady\n .then(async function () {\n console.log(\n `MathJax Ready -- dequeing a typesetting run for ${item.component.id} ${qq.preamble?.innerHTML}`\n );\n if (qq.preamble) {\n await MathJax.typesetPromise([qq.preamble])\n // Use insertAdjacentElement to preserve existing DOM elements and event listeners\n // instead of overwriting innerHTML which destroys event handlers\n let preambleDiv = document.createElement(\"div\");\n preambleDiv.innerHTML = qq.preamble.innerHTML;\n item.component.insertAdjacentElement(\"afterbegin\", preambleDiv);\n console.log(\n `MathJax typeset the preamble for ${item.component.id}`\n );\n return await MathJax.typesetPromise([item.component]);\n } else {\n return await MathJax.typesetPromise([item.component]);\n }\n });\n\n this._pendingPromise = false;\n item.resolve(payload);\n } catch (e) {\n this._pendingPromise = false;\n item.reject(e);\n } finally {\n // If there are more items in the queue, continue processing them\n this.dequeue();\n }\n\n return true;\n }\n}\n\nwindow.RunestoneBase = RunestoneBase;\n","/**\n *\n * User: bmiller\n * Original: 2011-04-20\n * Date: 2019-06-14\n * Time: 2:01 PM\n * This change marks the beginning of version 4.0 of the runestone components\n * Login/logout is no longer handled through javascript but rather server side.\n * Many of the components depend on the runestone:login event so we will keep that\n * for now to keep the churn fairly minimal.\n */\n\n/*\n\n Copyright (C) 2011 Brad Miller bonelake@gmail.com\n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n This program is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\n */\n\n//\n// Page decoration functions\n//\n/*\nMaybe something like this at the top:\n\nActive assignment: [Ch 15 reading] [Exit assignment link]\nOn page (3 of 7) [Select input showing current page, can select others] \nBecoming this if not on a page in assignment\n\nActive assignment: [Ch 15 reading] [Exit assignment link]\nThis page is not part of that assignment. Select a page to return to it:\n[Select input]\n*/\nfunction addReadingList() {\n let assignment_info_string = localStorage.getItem(\"currentAssignmentInfo\")\n \n if (assignment_info_string && eBookConfig.readings) {\n var top,bottom,active,page_name,exit_link,fst,snd, new_pos, path_parts, new_pos_link;\n let assignment_info = JSON.parse(assignment_info_string);\n let assignment_id = assignment_info.id;\n let assignment_name = assignment_info.name;\n let reading_names = assignment_info.readingNames;\n\n active = document.createElement(\"div\");\n active.textContent = \"Active assignment: \"\n\n page_name = document.createElement(\"a\");\n page_name.textContent = assignment_name;\n page_name.href = `/assignment/student/doAssignment?assignment_id=${assignment_id}`;\n \n active.append(page_name);\n\n exit_link = document.createElement(\"a\");\n exit_link.textContent = \"Exit Assignment\";\n exit_link.href=window.location.pathname;\n\n exit_link.addEventListener('click',function(event) {\n localStorage.removeItem(\"currentAssignmentInfo\");\n });\n\n //active.append(exit_link)\n\n let cur_path_parts = window.location.pathname.split(\"/\");\n let name =\n cur_path_parts[cur_path_parts.length - 2] +\n \"/\" +\n cur_path_parts[cur_path_parts.length - 1];\n // if body has pretext class, then strip the leading path parts from each of the strings in eBookConfig.readings\n let body = document.getElementsByTagName(\"body\")[0];\n let ptxbook = false;\n let endLop = 2;\n if (body.classList.contains(\"pretext\")) {\n ptxbook = true;\n eBookConfig.readings = eBookConfig.readings.map(r => r.split(\"/\").pop());\n name = name.split(\"/\").pop();\n endLop = 1;\n }\n\n let position = eBookConfig.readings.indexOf(name);\n let num_readings = eBookConfig.readings.length;\n // get prev name\n if (position > 0) {\n new_pos = eBookConfig.readings[position - 1];\n path_parts = cur_path_parts.slice(0, cur_path_parts.length - endLop);\n path_parts.push(new_pos);\n new_pos_link = path_parts.join(\"/\");\n fst = active.cloneNode(true);\n let txt = document.createElement(\"p\");\n txt.textContent = `Page ${position + 1} of ${num_readings}, `;\n var fst_lnk = document.createElement(\"a\");\n //fst_lnk.className = \"btn btn-lg reading-navigation prev-reading\";\n fst_lnk.href = new_pos_link;\n fst_lnk.textContent = `Back to page ${\n position\n } of ${num_readings}: ${reading_names[position-1]}.`;\n txt.append(fst_lnk);\n fst.append(txt);\n \n } else if (position == 0){\n fst = active.cloneNode(true);\n let txt = document.createElement(\"p\");\n txt.textContent = `Page 1 of ${num_readings}.`;\n fst.append(txt);\n } else {\n new_pos = eBookConfig.readings[0];\n path_parts = cur_path_parts.slice(0, cur_path_parts.length - endLop);\n path_parts.push(new_pos);\n new_pos_link = path_parts.join(\"/\");\n fst = active.cloneNode(true);\n let txt = document.createElement(\"p\");\n txt.textContent = \"Notice: this page is not part of the assignment. To remove this warning click \";\n txt.append(exit_link);\n fst.append(txt);\n }\n if (position == eBookConfig.readings.length - 1) {\n // no more readings\n snd = active;\n let txt = document.createElement(\"p\");\n txt.textContent = `Page ${num_readings} of ${num_readings}: ${reading_names[position]}`;\n snd.append(txt);\n } else if (position >= 0) {\n // get next name\n new_pos = eBookConfig.readings[position + 1];\n path_parts = cur_path_parts.slice(0, cur_path_parts.length - endLop);\n path_parts.push(new_pos);\n new_pos_link = path_parts.join(\"/\");\n snd = active;\n var snd_lnk = document.createElement(\"a\");\n //snd_lnk.className = \"btn btn-lg reading-navigation next-reading\";\n snd_lnk.href = new_pos_link;\n snd_lnk.textContent = `Continue to page ${\n position + 2\n } of ${num_readings}: ${reading_names[position+1]}`;\n let txt = document.createElement(\"p\");\n txt.append(snd_lnk);\n snd.append(txt);\n \n } else {\n snd = active.cloneNode(true);\n let txt = document.createElement(\"p\");\n txt.textContent = \"Notice: this page is not part of the assignment. To remove this warning click \";\n let exit_clone = exit_link.cloneNode(true);\n\n exit_clone.addEventListener('click',function(event) {\n localStorage.removeItem(\"currentAssignmentInfo\");\n });\n txt.append(exit_clone);\n snd.append(txt);\n \n\n }\n\n top = document.createElement(\"div\");\n top.className = \"ptx-runestone-container\"\n fst.className = \"runestone assignment-nav top-assignment-nav\"\n //top.style.backgroundColor = \"var(--componentBgColor)\"\n //top.style.borderColor = \"var(--componentBorderColor)\"\n //top.style.borderWidth = \"1px\"\n top.append(fst);\n //top.append(snd);\n\n bottom = document.createElement(\"div\");\n bottom.className = \"ptx-runestone-container\"\n snd.className = \"runestone assignment-nav bottom-assignment-nav\"\n //bottom.style.backgroundColor = \"var(--componentBgColor)\"\n //bottom.style.borderColor = \"var(--componentBorderColor)\"\n //bottom.style.borderWidth = \"1px\"\n \n //bottom.append(active.cloneNode(true));\n //bottom.append(fst.cloneNode(true));\n bottom.append(snd);\n\n\n // check the body tag to see if it has a pretext class (no jquery)\n if (ptxbook) {\n //append parts to the header and progress container\n let content = document.getElementById(\"ptx-content\");\n if (content) {\n content.insertBefore(top, content.firstChild);\n }\n let pc = document.getElementById(\"scprogresscontainer\");\n if (pc) {\n pc.style.marginBottom = \"20px\";\n pc.appendChild(bottom);\n }\n return;\n }\n const mainContent = document.getElementById(\"main-content\");\n if (mainContent && snd) {\n mainContent.insertBefore(top,mainContent.firstChild)\n mainContent.appendChild(bottom);\n \n }\n }\n}\n\nfunction timedRefresh() {\n var timeoutPeriod = 900000; // 75 minutes\n let idleTimeoutId;\n\n function onIdle() {\n // After timeout period send the user back to the index. This will force a login\n // if needed when they want to go to a particular page. This may not be perfect\n // but its an easy way to make sure laptop users are properly logged in when they\n // take quizzes and save stuff.\n if (location.href.indexOf(\"index.html\") < 0) {\n console.log(\"Idle timer - \" + location.pathname);\n location.href =\n eBookConfig.app +\n \"/default/user/login?_next=\" +\n location.pathname +\n location.search;\n }\n }\n\n function resetIdleTimer() {\n if (idleTimeoutId) {\n clearTimeout(idleTimeoutId);\n }\n idleTimeoutId = setTimeout(onIdle, timeoutPeriod);\n }\n\n [\"mousemove\", \"keydown\", \"scroll\", \"click\", \"touchstart\", \"wheel\"].forEach(\n (eventName) => {\n window.addEventListener(eventName, resetIdleTimer, { passive: true });\n },\n );\n\n resetIdleTimer();\n}\n\nclass PageProgressBar {\n constructor(actDict) {\n this.possible = 0;\n this.total = 1;\n if (actDict && \"assignment_spec\" in actDict) {\n this.assignment_spec = actDict.assignment_spec;\n delete actDict.assignment_spec;\n }\n if (actDict && Object.keys(actDict).length > 0) {\n this.activities = actDict;\n } else {\n let activities = { page: 0 };\n document.querySelectorAll(\".runestone\").forEach(function (e) {\n activities[e.firstElementChild.id] = 0;\n });\n this.activities = activities;\n }\n this.calculateProgress();\n // Hide the progress bar on the index page.\n if (\n window.location.pathname.match(\n /.*\\/(index.html|toctree.html|Exercises.html|search.html)$/i,\n )\n ) {\n const scprogresscontainer = document.getElementById(\n \"scprogresscontainer\",\n );\n if (scprogresscontainer) scprogresscontainer.style.display = \"none\";\n }\n this.renderProgress();\n }\n\n calculateProgress() {\n for (let k in this.activities) {\n if (k !== undefined) {\n this.possible++;\n if (this.activities[k] > 0) {\n this.total++;\n }\n }\n }\n }\n\n renderProgress() {\n let value = 0;\n const scprogresstotal = document.getElementById(\"scprogresstotal\");\n if (scprogresstotal) scprogresstotal.textContent = this.total;\n const scprogressposs = document.getElementById(\"scprogressposs\");\n if (scprogressposs) scprogressposs.textContent = this.possible;\n try {\n value = (100 * this.total) / this.possible;\n } catch (e) {\n value = 0;\n }\n // Replace #subchapterprogress div with a native element if not already done\n let subchapterprogress = document.getElementById(\"subchapterprogress\");\n if (subchapterprogress && subchapterprogress.tagName !== \"PROGRESS\") {\n // Replace the div with a element\n const progressElem = document.createElement(\"progress\");\n progressElem.id = \"subchapterprogress\";\n progressElem.max = 100;\n progressElem.value = value;\n // Copy over any classes from the old div\n progressElem.className = subchapterprogress.className;\n subchapterprogress.replaceWith(progressElem);\n subchapterprogress = progressElem;\n } else if (subchapterprogress) {\n subchapterprogress.max = 100;\n subchapterprogress.value = value;\n }\n if (this.assignment_spec) {\n // If the user has completed all activities, send the reading score.\n // This handles the case where there are no activities on the page or\n // where the user completed activities on the assignment page and now\n // is viewing the reading page.\n let completeActivities = this.total - 1; // subtract 1 for the page reading which is in total but not an activity\n let requiredActivities =\n this.assignment_spec.activities_required || 0;\n if (completeActivities >= requiredActivities) {\n this.sendCompletedReadingScore().then(() => {\n console.log(\"Reading score sent for page\");\n // wait a tick then mark the page complete\n // this is needed to let the progress bar update before marking complete\n setTimeout(() => {\n let cb = document.getElementById(\"completionButton\");\n if (\n cb &&\n cb.textContent.toLowerCase() === \"mark as completed\"\n ) {\n cb.click();\n }\n }, 500);\n });\n }\n }\n if (!eBookConfig.isLoggedIn) {\n const subchapterDiv = document.getElementById(\"subchapterprogress\");\n if (subchapterDiv) subchapterDiv.classList.add(\"loggedout\");\n }\n }\n\n updateProgress(div_id) {\n this.activities[div_id]++;\n // Only update the progress bar on the first interaction with an object.\n if (this.activities[div_id] === 1) {\n this.total++;\n let val = (100 * this.total) / this.possible;\n const scprogresstotal2 = document.getElementById(\"scprogresstotal\");\n if (scprogresstotal2) scprogresstotal2.textContent = this.total;\n const scprogressposs2 = document.getElementById(\"scprogressposs\");\n if (scprogressposs2) scprogressposs2.textContent = this.possible;\n let subchapterprogress2 =\n document.getElementById(\"subchapterprogress\");\n if (\n subchapterprogress2 &&\n subchapterprogress2.tagName === \"PROGRESS\"\n ) {\n subchapterprogress2.value = val;\n }\n if (\n this.assignment_spec &&\n this.assignment_spec.activities_required !== null &&\n this.total >= this.assignment_spec.activities_required\n ) {\n console.log(\"Required activities completed\");\n this.sendCompletedReadingScore().then(() => {\n console.log(\"Reading score sent\");\n });\n }\n if (\n val == 100.0 &&\n (function () {\n const cb = document.getElementById(\"completionButton\");\n return (\n cb &&\n cb.textContent &&\n cb.textContent.toLowerCase() === \"mark as completed\"\n );\n })()\n ) {\n const cb = document.getElementById(\"completionButton\");\n if (cb && typeof cb.click === \"function\") {\n cb.click();\n }\n }\n }\n }\n\n async sendCompletedReadingScore() {\n let headers = new Headers({\n \"Content-type\": \"application/json; charset=utf-8\",\n Accept: \"application/json\",\n });\n let data = { ...this.assignment_spec };\n let request = new Request(\n `${eBookConfig.new_server_prefix}/logger/update_reading_score`,\n {\n method: \"POST\",\n body: JSON.stringify(data),\n headers: headers,\n },\n );\n try {\n let response = await fetch(request);\n if (!response.ok) {\n console.error(\n `Failed to send reading score! ${response.statusText}`,\n );\n }\n data = await response.json();\n } catch (e) {\n console.error(`Error sending reading score ${e}`);\n }\n }\n}\n\nexport var pageProgressTracker = {};\n\nfunction getCookie(name) {\n const value = `; ${document.cookie}`;\n const parts = value.split(`; ${name}=`);\n if (parts.length === 2) return parts.pop().split(\";\").shift();\n}\n\nasync function handlePageSetup() {\n var mess;\n if (eBookConfig.useRunestoneServices) {\n let headers = new Headers({\n \"Content-type\": \"application/json; charset=utf-8\",\n Accept: \"application/json\",\n });\n let data = {\n timezoneoffset: new Date().getTimezoneOffset() / 60,\n timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,\n };\n let RS_info = getCookie(\"RS_info\");\n var tz_match = false;\n if (RS_info) {\n try {\n let cleaned = RS_info.replace(/\\\\054/g, \",\"); // handle octal comma encoding\n let info = JSON.parse(decodeURIComponent(cleaned));\n info = JSON.parse(decodeURIComponent(info));\n if (\n info.timezone === data.timezone &&\n info.tz_offset === data.timezoneoffset\n ) {\n console.log(\n \"Timezone cookie matches, not sending timezone to server\",\n );\n tz_match = true;\n }\n } catch (e) {\n console.error(\n \"Error parsing RS_info cookie, sending timezone to server\",\n );\n }\n }\n if (tz_match === false) {\n // Set a cookie so we don't have to do this again for a while.\n let request = new Request(\n `${eBookConfig.new_server_prefix}/logger/set_tz_offset`,\n {\n method: \"POST\",\n body: JSON.stringify(data),\n headers: headers,\n },\n );\n try {\n let response = await fetch(request);\n if (!response.ok) {\n console.error(\n `Failed to set timezone! ${response.statusText}`,\n );\n }\n data = await response.json();\n } catch (e) {\n console.error(`Error setting timezone ${e}`);\n }\n }\n }\n console.log(`This page served by ${eBookConfig.served_by}`);\n if (eBookConfig.isLoggedIn) {\n mess = `username: ${eBookConfig.username}`;\n if (!eBookConfig.isInstructor) {\n const ipDropdown = document.getElementById(\"ip_dropdown_link\");\n if (ipDropdown && typeof ipDropdown.remove === \"function\") {\n ipDropdown.remove();\n }\n const instPeer = document.getElementById(\"inst_peer_link\");\n if (instPeer && typeof instPeer.remove === \"function\") {\n instPeer.remove();\n }\n }\n document.dispatchEvent(new Event(\"runestone:login\"));\n addReadingList();\n // Avoid the timedRefresh on the grading page.\n if (\n window.location.pathname.indexOf(\"/admin/grading\") == -1 &&\n window.location.pathname.indexOf(\"/peer/\") == -1\n ) {\n timedRefresh();\n }\n } else {\n mess = \"Not logged in\";\n document.dispatchEvent(new Event(\"runestone:logout\"));\n let bw = document.getElementById(\"browsing_warning\");\n if (bw) {\n bw.innerHTML =\n \"\";\n }\n let aw = document.getElementById(\"ad_warning\");\n if (aw) {\n aw.innerHTML =\n \"\";\n }\n }\n document.querySelectorAll(\".loggedinuser\").forEach((el) => {\n el.innerHTML = mess;\n });\n\n pageProgressTracker = new PageProgressBar(eBookConfig.activities);\n notifyRunestoneComponents();\n}\n\nfunction setupNavbarLoggedIn() {\n const profileLink = document.getElementById(\"profilelink\");\n if (profileLink) profileLink.style.removeProperty(\"display\");\n const passwordLink = document.getElementById(\"passwordlink\");\n if (passwordLink) passwordLink.style.removeProperty(\"display\");\n const registerLink = document.getElementById(\"registerlink\");\n if (registerLink) registerLink.style.display = \"none\";\n document.querySelectorAll(\"li.loginout\").forEach((el) => {\n el.innerHTML =\n 'Log Out';\n });\n}\ndocument.addEventListener(\"runestone:login\", setupNavbarLoggedIn);\n\nfunction setupNavbarLoggedOut() {\n if (eBookConfig.useRunestoneServices) {\n console.log(\"setup navbar for logged out\");\n const registerLink = document.getElementById(\"registerlink\");\n if (registerLink) registerLink.style.removeProperty(\"display\");\n const profileLink = document.getElementById(\"profilelink\");\n if (profileLink) profileLink.style.display = \"none\";\n const passwordLink = document.getElementById(\"passwordlink\");\n if (passwordLink) passwordLink.style.display = \"none\";\n const ipDropdown = document.getElementById(\"ip_dropdown_link\");\n if (ipDropdown) ipDropdown.style.display = \"none\";\n const instPeer = document.getElementById(\"inst_peer_link\");\n if (instPeer) instPeer.style.display = \"none\";\n document.querySelectorAll(\"li.loginout\").forEach((el) => {\n el.innerHTML =\n 'Login';\n });\n document.querySelectorAll(\".footer\").forEach((el) => {\n el.innerHTML = \"user not logged in\";\n });\n }\n}\ndocument.addEventListener(\"runestone:logout\", setupNavbarLoggedOut);\n\nfunction notifyRunestoneComponents() {\n // Runestone components wait until login process is over to load components because of storage issues. This triggers the `dynamic import machinery`, which then sends the login complete signal when this and all dynamic imports are finished.\n console.log(\"triggering runestone:pre-login-complete\");\n document.dispatchEvent(new Event(\"runestone:pre-login-complete\"));\n}\n\nfunction placeAdCopy() {\n if (typeof showAd !== \"undefined\" && showAd) {\n let adNum = Math.floor(Math.random() * 2) + 1;\n let adBlock = document.getElementById(`adcopy_${adNum}`);\n let rsElements = document.querySelectorAll(\".runestone\");\n if (rsElements.length > 0) {\n let randomIndex = Math.floor(Math.random() * rsElements.length);\n rsElements[randomIndex].after(adBlock);\n adBlock.style.display = \"block\";\n }\n }\n}\n\n// initialize stuff\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n if (eBookConfig) {\n handlePageSetup();\n placeAdCopy();\n } else {\n if (typeof eBookConfig === \"undefined\") {\n console.log(\n \"eBookConfig is not defined. This page must not be set up for Runestone\",\n );\n }\n }\n});\n\n// misc stuff\n// todo: This could be further distributed but making a video.js file just for one function seems dumb.\nwindow.addEventListener(\"load\", function () {\n // add the video play button overlay image\n document.querySelectorAll(\".video-play-overlay\").forEach(function (el) {\n el.style.backgroundImage =\n \"url('{{pathto('_static/play_overlay_icon.png', 1)}}')\";\n });\n\n // This function is needed to allow the dropdown search bar to work;\n // The default behaviour is that the dropdown menu closes when something in\n // it (like the search bar) is clicked\n document\n .querySelectorAll(\".dropdown input, .dropdown label\")\n .forEach(function (el) {\n el.addEventListener(\"click\", function (e) {\n e.stopPropagation();\n });\n });\n\n // re-write some urls\n // This is tricker than it looks and you have to obey the rules for # anchors\n // The #anchors must come after the query string as the server basically ignores any part\n // of a url that comes after # - like a comment...\n if (location.href.includes(\"mode=browsing\")) {\n let queryString = \"?mode=browsing\";\n document.querySelectorAll(\"a\").forEach((link) => {\n let anchorText = \"\";\n if (\n link.href.includes(\"books/published\") &&\n !link.href.includes(\"?mode=browsing\")\n ) {\n if (link.href.includes(\"#\")) {\n let aPoint = link.href.indexOf(\"#\");\n anchorText = link.href.substring(aPoint);\n link.href = link.href.substring(0, aPoint);\n }\n link.href = link.href.includes(\"?\")\n ? link.href + queryString.replace(\"?\", \"&\") + anchorText\n : link.href + queryString + anchorText;\n }\n });\n }\n});\n\n/**\n * Returns true if the string appears to contain LaTeX math.\n */\nexport function looksLikeLatexMath(text) {\n if (typeof text !== \"string\") return false;\n\n // Common LaTeX math delimiters\n const mathDelimiters = [\n /\\$\\$[\\s\\S]+?\\$\\$/, // $$ ... $$\n /\\$[^$\\n]+?\\$/, // $ ... $\n /\\\\\\[[\\s\\S]+?\\\\\\]/, // \\[ ... \\]\n /\\\\\\([\\s\\S]+?\\\\\\)/, // \\( ... \\)\n ];\n\n // Common math commands (avoid generic \\text or \\ref-only cases)\n const mathCommands =\n /\\\\(frac|sqrt|sum|prod|int|lim|sin|cos|tan|log|ln|alpha|beta|gamma|pi|theta|sigma|Delta|cdot|times|leq|geq|neq)\\b/;\n\n // Superscripts/subscripts like x^2 or a_i\n const superSubScript = /[a-zA-Z0-9]\\s*[\\^_]\\s*\\{?.+?\\}?/;\n\n return (\n mathDelimiters.some((re) => re.test(text)) ||\n mathCommands.test(text) ||\n superSubScript.test(text)\n );\n}\n","import { runestone_import } from \"../../../webpack.index.js\";\n\nexport async function renderRunestoneComponent(\n componentSrc,\n whereDiv,\n moreOpts\n) {\n /**\n * The easy part is adding the componentSrc to the existing div.\n * The tedious part is calling the right functions to turn the\n * source into the actual component.\n */\n if (!componentSrc) {\n jQuery(`#${whereDiv}`).html(\n `

    Sorry, no source is available for preview.

    `\n );\n return;\n }\n let patt = /..\\/_images/g;\n componentSrc = componentSrc.replace(\n patt,\n `${eBookConfig.app}/books/published/${eBookConfig.basecourse}/_images`\n );\n jQuery(`#${whereDiv}`).html(componentSrc);\n\n if (typeof window.componentMap === \"undefined\") {\n window.componentMap = {};\n }\n\n let componentKind = $($(`#${whereDiv} [data-component]`)[0]).data(\n \"component\"\n );\n // Import the JavaScript for this component before proceeding.\n await runestone_import(componentKind);\n let opt = {};\n opt.orig = jQuery(`#${whereDiv} [data-component]`)[0];\n if (opt.orig) {\n opt.lang = $(opt.orig).data(\"lang\");\n opt.useRunestoneServices = true;\n opt.graderactive = false;\n opt.python3 = true;\n if (typeof moreOpts !== \"undefined\") {\n for (let key in moreOpts) {\n opt[key] = moreOpts[key];\n }\n }\n }\n\n if (typeof component_factory === \"undefined\") {\n alert(\"Error: Missing the component factory!\");\n } else {\n if (\n !window.component_factory[componentKind] &&\n !jQuery(`#${whereDiv}`).html()\n ) {\n jQuery(`#${whereDiv}`).html(\n `

    Preview not available for ${componentKind}

    `\n );\n } else {\n let res = window.component_factory[componentKind](opt);\n if (componentKind === \"activecode\") {\n if (moreOpts.multiGrader) {\n window.componentMap[\n `${moreOpts.gradingContainer} ${res.divid}`\n ] = res;\n } else {\n window.componentMap[res.divid] = res;\n }\n }\n }\n }\n}\n\nexport function createTimedComponent(componentSrc, moreOpts) {\n /* The important distinction is that the component does not really need to be rendered\n into the page, in fact, due to the async nature of getting the source the list of questions\n is made and the original html is replaced by the look of the exam.\n */\n\n let patt = /..\\/_images/g;\n componentSrc = componentSrc.replace(\n patt,\n `${eBookConfig.app}/books/published/${eBookConfig.basecourse}/_images`\n );\n\n let componentKind = $($(componentSrc).find(\"[data-component]\")[0]).data(\n \"component\"\n );\n\n let origId = $(componentSrc).find(\"[data-component]\").first().attr(\"id\");\n\n // Double check -- if the component source is not in the DOM, then briefly add it\n // and call the constructor.\n let hdiv;\n if (!document.getElementById(origId)) {\n hdiv = $(\"
    \", {\n css: { display: \"none\" },\n }).appendTo(\"body\");\n hdiv.html(componentSrc);\n }\n // at this point hdiv is a jquery object\n\n let ret;\n let opts = {\n orig: document.getElementById(origId),\n timed: true,\n };\n if (typeof moreOpts !== \"undefined\") {\n for (let key in moreOpts) {\n opts[key] = moreOpts[key];\n }\n }\n\n if (componentKind in window.component_factory) {\n ret = window.component_factory[componentKind](opts);\n }\n\n let rdict = {};\n rdict.question = ret;\n return rdict;\n}\n\n// For integration with the React overhault of Pretext\n// 1. Disable the automatic instantiation at the end of each component.js\n// 2. react will search for all \".runestone\" and will call this function for each of them.\nexport async function renderOneComponent(rsDiv) {\n // Find the actual component inside the runestone component.\n let component = rsDiv.querySelector(\"[data-component]\");\n if (component == null) {\n console.log(\"Render was called for a component, but now [data-component] attribute is present. This may mean the component has already been rendered.\")\n return;\n }\n let componentKind = component.dataset.component;\n await runestone_import(componentKind);\n if ($(this).closest(\"[data-component=timedAssessment]\").length == 0) {\n // If this element exists within a timed component, don't render it here\n try {\n let divid = component.id;\n window.componentMap[divid] = window.component_factory[\n componentKind\n ]({\n orig: component,\n useRunestoneServices: eBookConfig.useRunestoneServices,\n });\n } catch (err) {\n console.log(`Error rendering ${componentKind} Problem ${this.id}\n Details: ${err}`);\n }\n }\n}\n"],"names":["$","patchToc","$ul","minLevel","findA","$elem","level","find","each","index","item","$item","tag","tagName","toLowerCase","$childrenLi","children","$parentLi","parent","length","addClass","first","attr","patchTables","removeClass","navHeight","height","shiftWindow","scrollBy","location","hash","window","addEventListener","this","remove","not","$parent","$kids","detach","replaceWith","after","$localLi","dropdown","i","e","hasClass","text","jQuery","codeExercises","presentModeInitialized","presentToggle","dataComponent","closest","css","wrapAll","wrap","before","presentModeSetup","bod","presentClass","fullHeightClass","bottomClass","localStorage","setItem","presenterCssLink","disabled","activateExercise","getActiveExercise","active","filter","nextExercise","nextIndex","prevExercise","prevIndex","document","on","eBookConfig","isInstructor","prepend","change","i18n","extend","fallbacks","ab","ace","aln","als","an","anp","arn","arz","av","ay","ba","bar","bcc","bh","bjn","bm","bpy","bqi","bug","ce","crh","csb","cv","dsb","dtp","egl","eml","ff","fit","frc","frp","frr","fur","gag","gan","gl","glk","gn","gsw","hif","hsb","ht","ii","inh","iu","jut","jv","kaa","kbd","khw","kiu","kk","kl","koi","krc","ks","ksh","ku","kv","lad","lb","lbe","lez","li","lij","liv","lmo","ln","ltg","lzz","mai","mg","mhr","min","mo","mrj","mwl","myv","mzn","nah","nap","nds","no","os","pcd","pdc","pdt","pfl","pms","pt","qu","qug","rgn","rmy","rue","ruq","sa","sah","scn","sg","sgs","sli","sr","srn","stq","su","szl","tcy","tg","tt","ty","udm","ug","uk","vec","vep","vls","vmf","vot","vro","wa","wo","wuu","xal","xmf","yi","za","zea","zh","language","pluralRules","ak","one","am","ar","zero","two","few","many","ars","as","be","bn","br","bs","cs","cy","da","fa","fil","fr","ga","gd","gu","guw","gv","he","hi","hr","hy","is","iw","kab","kn","kw","lag","lt","lv","mk","mr","mt","naq","nso","pa","pl","prg","ro","ru","se","sh","shi","si","sk","sl","sma","smi","smj","smn","sms","ti","tl","tzm","zu","convertPlural","count","forms","pluralFormIndex","form","explicitPluralPattern","RegExp","test","parseInt","slice","indexOf","undefined","map","locale","getPluralForm","Math","number","pluralForms","pluralRuleParser","convertNumber","num","integer","tmp","transformTable","numberString","convertedNumber","digitTransformTable","String","parseFloat","convertGrammar","word","gender","push","tables","ml","lo","or","kh","my","ta","te","th","bo","split","languages","strongDirRegExp","parser","emitter","bidi","nodes","m","dir","match","module","exports","MessageParserEmitter","prototype","constructor","emit","node","replacements","ret","subnodes","operation","messageParserEmitter","n","Error","concat","result","replace","plural","grammar","MessageParser","options","defaults","simpleParse","message","parameters","str","parse","ast","pipe","colon","backslash","anyCharacter","dollar","digits","regularLiteral","regularLiteralWithoutBar","escapedOrLiteralWithoutBar","escapedOrRegularLiteral","templateContents","templateName","openTemplate","closeTemplate","expression","paramExpression","p","fn","pos","choice","parserSyntax","sequence","res","originalPos","nOrMore","parsed","makeStringParser","s","len","makeRegexParser","regex","matches","escapedLiteral","replacement","templateParam","expr","templateWithReplacement","templateWithOutReplacement","template","toString","join","start","MessageStore","messages","sources","load","source","url","deferred","key","deferreds","messageStore","log","Deferred","getJSON","done","resolve","fail","jqxhr","settings","exception","promise","localization","set","Object","hasOwnProperty","call","when","apply","get","messageKey","I18N","nav","Array","localize","localeParts","localePartIndex","fallbackIndex","tryingLocale","fallbackLocale","destroy","removeData","fallbackLocales","locIndex","sourceMap","pop","param1","data","arguments","lBracket","rBracket","type","$this","html","debug","console","navigator","userLanguage","idleTimer","newTimeout","elem","opts","startImmediately","idle","enabled","timeout","events","toggleIdleState","myelem","obj","elapsed","Date","olddate","clearTimeout","tId","setTimeout","event","Event","trigger","off","stop","trim","isPreTeXt","querySelector","processPageState","completionFlag","pageLoad","markingComplete","markingIncomplete","currentPathname","pathname","substring","lastIndexOf","isPtxBook","lastPageUrl","lastPageScrollLocation","round","scrollTop","course","ajaxError","jqhxr","ajax","new_server_prefix","contentType","dataType","JSON","stringify","method","async","lastPositionVal","href","completionClass","completionMsg","detail","completionStatus","scp","classList","add","append","getCompletions","getUrlVar","animate","navLinkBgRightHalfOpen","navLinkBgRightHiddenPosition","outerWidth","relationsNextIconInitialPosition","relationsNextIconNewPosition","show","navBgShown","scroll","right","left","addNavigationAndCompletionButtons","subChapterList","allSubChapterURLs","chapterName","subChapterName","parentElement","endDate","hover","next","hide","lastPageData","lastPageChapter","lastPageSubchapter","decorateTableOfContents","getUrlVars","vars","hashes","search","name","rb","querySelectorAll","forEach","el","div_id","getAttribute","logBookEvent","act","open","id","btn","container","codeInput","textContent","warn","style","display","setupPTXEvents","getElementById","overflow","SpliceWrapper","super","initSplice","base64","jsonPayload","sourceIframe","sendingIframe","subject","handleScoreAndState","handleSpliceEvent","handleGetState","origin","msgdata","jwt","decodeURIComponent","atob","c","charCodeAt","frame_id","score","getUniqueID","frame","rsDiv","activity_id","src","error","state","percent","correct","answer","f","getElementsByTagName","contentWindow","getSavedState","response","fetch","headers","body","ok","status","json","postMessage","message_id","checkLocalStorage","setLocalStorage","restoreAnswers","disableInteraction","module_map","activecode","ble","clickablearea","codelens","datafile","dragndrop","fillintheblank","groupsub","khanex","lp_build","matching","multiplechoice","hparsons","parsons","poll","quizly","reveal","selectquestion","shortanswer","showeval","simple_sensor","spreadsheet","tabbedStuff","timedAssessment","wavedrom","webwork","youtube","doenet","Promise","module_map_cache","QUEUE_FLUSH_TIME_MS","queue","queueLastFlush","flushQueue","now","toFlush","component_name","flushedPromise","reject","flushed","all","pre_login_complete_promise","runestone_auto_import","Set","element","a","value","z","msg","then","dataset","reactInUse","dispatchEvent","CustomEvent","runestone_import","retPromise","r","rej","queueImport","ready","script_src","currentScript","rc","getSwitch","toggleSwitch","currentTheme","getItem","documentElement","setAttribute","checked","switchTheme","popupScratchAC","scratchDiv","ACFactory","createScratchActivecode","divid","componentMap","createActiveCode","acDefaultLanguage","isLoggedIn","enableSaveLoad","toggleScratchActivecode","renderOneComponent","runestoneComponents","NO_DECORATE","RunestoneBase","component_ready_promise","_component_ready_resolve_fn","optional","allComponents","sid","graderactive","showfeedback","timed","isTimed","enforceDeadline","deadline","parseBooleanAttribute","orig","selector_id","assessmentTaken","timedWrapper","question_label","is_toggle","is_select","mjelements","self","mjReady","mjresolver","aQueue","AutoQueue","preamble","y","createElement","innerHTML","appendChild","jsonHeaders","Headers","Accept","attributeName","attrValue","lowerValue","eventInfo","post_return","course_name","clientLoginStatus","timezoneoffset","getTimezoneOffset","assignmentId","assignment_id","useRunestoneServices","logLevel","postLogMessage","prefix","updateProgress","decorateStatus","request","Request","scoreSpec","gradeBox","updateScores","alert","assigned","scoreSpan","getElementsByClassName","toFixed","allScores","allmax","total","max","totalSpan","maxSpan","percentSpan","logRunEvent","post_promise","forceSave","save_code","errinfo","checkServer","will_be_ready","checkServerComplete","csresolver","rawdeadline","tzoff","practice_mode","peer","loadData","repopulateFromStorage","attempted","statusText","err","indicate_component_ready","containerDiv","shouldUseServer","storedData","ex","localStorageKey","removeItem","storageDate","timestamp","email","addCaption","elType","capDiv","caption","hasUserActivity","isAnswered","checkCurrentAnswer","logCurrentAnswer","renderFeedback","queueMathJax","component","MathJax","typesetPromise","runestoneMathReady","enqueue","Queue","_items","dequeue","shift","size","_pendingPromise","qq","payload","preambleDiv","insertAdjacentElement","PageProgressBar","actDict","possible","assignment_spec","keys","activities","page","firstElementChild","calculateProgress","scprogresscontainer","renderProgress","k","scprogresstotal","scprogressposs","subchapterprogress","progressElem","className","activities_required","sendCompletedReadingScore","cb","click","subchapterDiv","val","scprogresstotal2","scprogressposs2","subchapterprogress2","pageProgressTracker","looksLikeLatexMath","some","re","profileLink","removeProperty","passwordLink","registerLink","app","ipDropdown","instPeer","mess","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","RS_info","parts","cookie","getCookie","tz_match","cleaned","info","tz_offset","served_by","username","assignment_info_string","readings","top","bottom","page_name","exit_link","fst","snd","new_pos","path_parts","new_pos_link","assignment_info","assignment_name","reading_names","readingNames","cur_path_parts","ptxbook","endLop","contains","position","num_readings","cloneNode","txt","fst_lnk","snd_lnk","exit_clone","content","insertBefore","firstChild","pc","marginBottom","mainContent","addReadingList","idleTimeoutId","onIdle","resetIdleTimer","eventName","passive","timedRefresh","bw","aw","handlePageSetup","showAd","adNum","floor","random","adBlock","rsElements","placeAdCopy","backgroundImage","stopPropagation","includes","queryString","link","anchorText","aPoint","renderRunestoneComponent","componentSrc","whereDiv","moreOpts","basecourse","componentKind","opt","lang","python3","component_factory","multiGrader","gradingContainer","createTimedComponent","hdiv","origId","appendTo","rdict","question"],"sourceRoot":""} \ No newline at end of file diff --git a/_static/prefix-runestone.1c010553c35c544c.bundle.js.map.gz b/_static/prefix-runestone.1c010553c35c544c.bundle.js.map.gz new file mode 100755 index 0000000..fc924fc Binary files /dev/null and b/_static/prefix-runestone.1c010553c35c544c.bundle.js.map.gz differ diff --git a/_static/prefix-runestone.f4ab138da65f4203.css b/_static/prefix-runestone.677a75a9120449ff.css old mode 100644 new mode 100755 similarity index 86% rename from _static/prefix-runestone.f4ab138da65f4203.css rename to _static/prefix-runestone.677a75a9120449ff.css index c23e42c..d455867 --- a/_static/prefix-runestone.f4ab138da65f4203.css +++ b/_static/prefix-runestone.677a75a9120449ff.css @@ -5,5 +5,5 @@ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ /*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ - /*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */}.ptx-runestone-container html,.runestone-sphinx html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;font-family:sans-serif}.ptx-runestone-container body,.runestone-sphinx body{margin:0}.ptx-runestone-container article,.ptx-runestone-container aside,.ptx-runestone-container details,.ptx-runestone-container figcaption,.ptx-runestone-container figure,.ptx-runestone-container footer,.ptx-runestone-container header,.ptx-runestone-container hgroup,.ptx-runestone-container main,.ptx-runestone-container menu,.ptx-runestone-container nav,.ptx-runestone-container section,.ptx-runestone-container summary,.runestone-sphinx article,.runestone-sphinx aside,.runestone-sphinx details,.runestone-sphinx figcaption,.runestone-sphinx figure,.runestone-sphinx footer,.runestone-sphinx header,.runestone-sphinx hgroup,.runestone-sphinx main,.runestone-sphinx menu,.runestone-sphinx nav,.runestone-sphinx section,.runestone-sphinx summary{display:block}.ptx-runestone-container audio,.ptx-runestone-container canvas,.ptx-runestone-container progress,.ptx-runestone-container video,.runestone-sphinx audio,.runestone-sphinx canvas,.runestone-sphinx progress,.runestone-sphinx video{display:inline-block;vertical-align:baseline}.ptx-runestone-container audio:not([controls]),.runestone-sphinx audio:not([controls]){display:none;height:0}.ptx-runestone-container [hidden],.ptx-runestone-container template,.runestone-sphinx [hidden],.runestone-sphinx template{display:none}.ptx-runestone-container a,.runestone-sphinx a{background-color:transparent}.ptx-runestone-container a:active,.ptx-runestone-container a:hover,.runestone-sphinx a:active,.runestone-sphinx a:hover{outline:0}.ptx-runestone-container abbr[title],.runestone-sphinx abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;text-decoration:underline dotted}.ptx-runestone-container b,.ptx-runestone-container strong,.runestone-sphinx b,.runestone-sphinx strong{font-weight:700}.ptx-runestone-container dfn,.runestone-sphinx dfn{font-style:italic}.ptx-runestone-container h1,.runestone-sphinx h1{font-size:2em;margin:.67em 0}.ptx-runestone-container mark,.runestone-sphinx mark{background:#ff0;color:#000}.ptx-runestone-container small,.runestone-sphinx small{font-size:80%}.ptx-runestone-container sub,.ptx-runestone-container sup,.runestone-sphinx sub,.runestone-sphinx sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.ptx-runestone-container sup,.runestone-sphinx sup{top:-.5em}.ptx-runestone-container sub,.runestone-sphinx sub{bottom:-.25em}.ptx-runestone-container img,.runestone-sphinx img{border:0}.ptx-runestone-container svg:not(:root),.runestone-sphinx svg:not(:root){overflow:hidden}.ptx-runestone-container figure,.runestone-sphinx figure{margin:1em 40px}.ptx-runestone-container hr,.runestone-sphinx hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}.ptx-runestone-container pre,.runestone-sphinx pre{overflow:auto}.ptx-runestone-container code,.ptx-runestone-container kbd,.ptx-runestone-container pre,.ptx-runestone-container samp,.runestone-sphinx code,.runestone-sphinx kbd,.runestone-sphinx pre,.runestone-sphinx samp{font-family:monospace,monospace;font-size:1em}.ptx-runestone-container button,.ptx-runestone-container input,.ptx-runestone-container optgroup,.ptx-runestone-container select,.ptx-runestone-container textarea,.runestone-sphinx button,.runestone-sphinx input,.runestone-sphinx optgroup,.runestone-sphinx select,.runestone-sphinx textarea{color:inherit;font:inherit;margin:0}.ptx-runestone-container button,.runestone-sphinx button{overflow:visible}.ptx-runestone-container button,.ptx-runestone-container select,.runestone-sphinx button,.runestone-sphinx select{text-transform:none}.ptx-runestone-container button,.ptx-runestone-container html input[type=button],.ptx-runestone-container input[type=reset],.ptx-runestone-container input[type=submit],.runestone-sphinx button,.runestone-sphinx html input[type=button],.runestone-sphinx input[type=reset],.runestone-sphinx input[type=submit]{-webkit-appearance:button;cursor:pointer}.ptx-runestone-container button[disabled],.ptx-runestone-container html input[disabled],.runestone-sphinx button[disabled],.runestone-sphinx html input[disabled]{cursor:default}.ptx-runestone-container button::-moz-focus-inner,.ptx-runestone-container input::-moz-focus-inner,.runestone-sphinx button::-moz-focus-inner,.runestone-sphinx input::-moz-focus-inner{border:0;padding:0}.ptx-runestone-container input,.runestone-sphinx input{line-height:normal}.ptx-runestone-container input[type=checkbox],.ptx-runestone-container input[type=radio],.runestone-sphinx input[type=checkbox],.runestone-sphinx input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}.ptx-runestone-container input[type=number]::-webkit-inner-spin-button,.ptx-runestone-container input[type=number]::-webkit-outer-spin-button,.runestone-sphinx input[type=number]::-webkit-inner-spin-button,.runestone-sphinx input[type=number]::-webkit-outer-spin-button{height:auto}.ptx-runestone-container input[type=search],.runestone-sphinx input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.ptx-runestone-container input[type=search]::-webkit-search-cancel-button,.ptx-runestone-container input[type=search]::-webkit-search-decoration,.runestone-sphinx input[type=search]::-webkit-search-cancel-button,.runestone-sphinx input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.ptx-runestone-container fieldset,.runestone-sphinx fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}.ptx-runestone-container textarea,.runestone-sphinx textarea{overflow:auto}.ptx-runestone-container optgroup,.runestone-sphinx optgroup{font-weight:700}.ptx-runestone-container table,.runestone-sphinx table{border-collapse:collapse;border-spacing:0}.ptx-runestone-container td,.ptx-runestone-container th,.runestone-sphinx td,.runestone-sphinx th{padding:0}@media print{.ptx-runestone-container *,.ptx-runestone-container :after,.ptx-runestone-container :before,.runestone-sphinx *,.runestone-sphinx :after,.runestone-sphinx :before{background:transparent!important;-webkit-box-shadow:none!important;box-shadow:none!important;color:#000!important;text-shadow:none!important}.ptx-runestone-container a,.ptx-runestone-container a:visited,.runestone-sphinx a,.runestone-sphinx a:visited{text-decoration:underline}.ptx-runestone-container a[href]:after,.runestone-sphinx a[href]:after{content:" (" attr(href) ")"}.ptx-runestone-container abbr[title]:after,.runestone-sphinx abbr[title]:after{content:" (" attr(title) ")"}.ptx-runestone-container a[href^="#"]:after,.ptx-runestone-container a[href^="javascript:"]:after,.runestone-sphinx a[href^="#"]:after,.runestone-sphinx a[href^="javascript:"]:after{content:""}.ptx-runestone-container blockquote,.ptx-runestone-container pre,.runestone-sphinx blockquote,.runestone-sphinx pre{border:1px solid #999;page-break-inside:avoid}.ptx-runestone-container thead,.runestone-sphinx thead{display:table-header-group}.ptx-runestone-container img,.ptx-runestone-container tr,.runestone-sphinx img,.runestone-sphinx tr{page-break-inside:avoid}.ptx-runestone-container img,.runestone-sphinx img{max-width:100%!important}.ptx-runestone-container h2,.ptx-runestone-container h3,.ptx-runestone-container p,.runestone-sphinx h2,.runestone-sphinx h3,.runestone-sphinx p{orphans:3;widows:3}.ptx-runestone-container h2,.ptx-runestone-container h3,.runestone-sphinx h2,.runestone-sphinx h3{page-break-after:avoid}.ptx-runestone-container .navbar,.runestone-sphinx .navbar{display:none}.ptx-runestone-container .btn>.caret,.ptx-runestone-container .dropup>.btn>.caret,.runestone-sphinx .btn>.caret,.runestone-sphinx .dropup>.btn>.caret{border-top-color:#000!important}.ptx-runestone-container .label,.runestone-sphinx .label{border:1px solid #000}.ptx-runestone-container .table,.runestone-sphinx .table{border-collapse:collapse!important}.ptx-runestone-container .table td,.ptx-runestone-container .table th,.runestone-sphinx .table td,.runestone-sphinx .table th{background-color:#fff!important}.ptx-runestone-container .table-bordered td,.ptx-runestone-container .table-bordered th,.runestone-sphinx .table-bordered td,.runestone-sphinx .table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:Glyphicons Halflings;src:url(7a0f4b092e86cb52.eot);src:url(7a0f4b092e86cb52.eot?#iefix) format("embedded-opentype"),url(b70781972ce7320b.woff2) format("woff2"),url(4ba85deaf3670942.woff) format("woff"),url(009b407a9881be10.ttf) format("truetype"),url(85f0466cb4ab3a4d.svg#glyphicons_halflingsregular) format("svg")}.ptx-runestone-container .glyphicon,.runestone-sphinx .glyphicon{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-family:Glyphicons Halflings;font-style:normal;font-weight:400;line-height:1;position:relative;top:1px}.ptx-runestone-container .glyphicon-asterisk:before,.runestone-sphinx .glyphicon-asterisk:before{content:"\002a"}.ptx-runestone-container .glyphicon-plus:before,.runestone-sphinx .glyphicon-plus:before{content:"\002b"}.ptx-runestone-container .glyphicon-eur:before,.ptx-runestone-container .glyphicon-euro:before,.runestone-sphinx .glyphicon-eur:before,.runestone-sphinx .glyphicon-euro:before{content:"\20ac"}.ptx-runestone-container .glyphicon-minus:before,.runestone-sphinx .glyphicon-minus:before{content:"\2212"}.ptx-runestone-container .glyphicon-cloud:before,.runestone-sphinx .glyphicon-cloud:before{content:"\2601"}.ptx-runestone-container .glyphicon-envelope:before,.runestone-sphinx .glyphicon-envelope:before{content:"\2709"}.ptx-runestone-container .glyphicon-pencil:before,.runestone-sphinx .glyphicon-pencil:before{content:"\270f"}.ptx-runestone-container .glyphicon-glass:before,.runestone-sphinx .glyphicon-glass:before{content:"\e001"}.ptx-runestone-container .glyphicon-music:before,.runestone-sphinx .glyphicon-music:before{content:"\e002"}.ptx-runestone-container .glyphicon-search:before,.runestone-sphinx .glyphicon-search:before{content:"\e003"}.ptx-runestone-container .glyphicon-heart:before,.runestone-sphinx .glyphicon-heart:before{content:"\e005"}.ptx-runestone-container .glyphicon-star:before,.runestone-sphinx .glyphicon-star:before{content:"\e006"}.ptx-runestone-container .glyphicon-star-empty:before,.runestone-sphinx .glyphicon-star-empty:before{content:"\e007"}.ptx-runestone-container .glyphicon-user:before,.runestone-sphinx .glyphicon-user:before{content:"\e008"}.ptx-runestone-container .glyphicon-film:before,.runestone-sphinx .glyphicon-film:before{content:"\e009"}.ptx-runestone-container .glyphicon-th-large:before,.runestone-sphinx .glyphicon-th-large:before{content:"\e010"}.ptx-runestone-container .glyphicon-th:before,.runestone-sphinx .glyphicon-th:before{content:"\e011"}.ptx-runestone-container .glyphicon-th-list:before,.runestone-sphinx .glyphicon-th-list:before{content:"\e012"}.ptx-runestone-container .glyphicon-ok:before,.runestone-sphinx .glyphicon-ok:before{content:"\e013"}.ptx-runestone-container .glyphicon-remove:before,.runestone-sphinx .glyphicon-remove:before{content:"\e014"}.ptx-runestone-container .glyphicon-zoom-in:before,.runestone-sphinx .glyphicon-zoom-in:before{content:"\e015"}.ptx-runestone-container .glyphicon-zoom-out:before,.runestone-sphinx .glyphicon-zoom-out:before{content:"\e016"}.ptx-runestone-container .glyphicon-off:before,.runestone-sphinx .glyphicon-off:before{content:"\e017"}.ptx-runestone-container .glyphicon-signal:before,.runestone-sphinx .glyphicon-signal:before{content:"\e018"}.ptx-runestone-container .glyphicon-cog:before,.runestone-sphinx .glyphicon-cog:before{content:"\e019"}.ptx-runestone-container .glyphicon-trash:before,.runestone-sphinx .glyphicon-trash:before{content:"\e020"}.ptx-runestone-container .glyphicon-home:before,.runestone-sphinx .glyphicon-home:before{content:"\e021"}.ptx-runestone-container .glyphicon-file:before,.runestone-sphinx .glyphicon-file:before{content:"\e022"}.ptx-runestone-container .glyphicon-time:before,.runestone-sphinx .glyphicon-time:before{content:"\e023"}.ptx-runestone-container .glyphicon-road:before,.runestone-sphinx .glyphicon-road:before{content:"\e024"}.ptx-runestone-container .glyphicon-download-alt:before,.runestone-sphinx .glyphicon-download-alt:before{content:"\e025"}.ptx-runestone-container .glyphicon-download:before,.runestone-sphinx .glyphicon-download:before{content:"\e026"}.ptx-runestone-container .glyphicon-upload:before,.runestone-sphinx .glyphicon-upload:before{content:"\e027"}.ptx-runestone-container .glyphicon-inbox:before,.runestone-sphinx .glyphicon-inbox:before{content:"\e028"}.ptx-runestone-container .glyphicon-play-circle:before,.runestone-sphinx .glyphicon-play-circle:before{content:"\e029"}.ptx-runestone-container .glyphicon-repeat:before,.runestone-sphinx .glyphicon-repeat:before{content:"\e030"}.ptx-runestone-container .glyphicon-refresh:before,.runestone-sphinx .glyphicon-refresh:before{content:"\e031"}.ptx-runestone-container .glyphicon-list-alt:before,.runestone-sphinx .glyphicon-list-alt:before{content:"\e032"}.ptx-runestone-container .glyphicon-lock:before,.runestone-sphinx .glyphicon-lock:before{content:"\e033"}.ptx-runestone-container .glyphicon-flag:before,.runestone-sphinx .glyphicon-flag:before{content:"\e034"}.ptx-runestone-container .glyphicon-headphones:before,.runestone-sphinx .glyphicon-headphones:before{content:"\e035"}.ptx-runestone-container .glyphicon-volume-off:before,.runestone-sphinx .glyphicon-volume-off:before{content:"\e036"}.ptx-runestone-container .glyphicon-volume-down:before,.runestone-sphinx .glyphicon-volume-down:before{content:"\e037"}.ptx-runestone-container .glyphicon-volume-up:before,.runestone-sphinx .glyphicon-volume-up:before{content:"\e038"}.ptx-runestone-container .glyphicon-qrcode:before,.runestone-sphinx .glyphicon-qrcode:before{content:"\e039"}.ptx-runestone-container .glyphicon-barcode:before,.runestone-sphinx .glyphicon-barcode:before{content:"\e040"}.ptx-runestone-container .glyphicon-tag:before,.runestone-sphinx .glyphicon-tag:before{content:"\e041"}.ptx-runestone-container .glyphicon-tags:before,.runestone-sphinx .glyphicon-tags:before{content:"\e042"}.ptx-runestone-container .glyphicon-book:before,.runestone-sphinx .glyphicon-book:before{content:"\e043"}.ptx-runestone-container .glyphicon-bookmark:before,.runestone-sphinx .glyphicon-bookmark:before{content:"\e044"}.ptx-runestone-container .glyphicon-print:before,.runestone-sphinx .glyphicon-print:before{content:"\e045"}.ptx-runestone-container .glyphicon-camera:before,.runestone-sphinx .glyphicon-camera:before{content:"\e046"}.ptx-runestone-container .glyphicon-font:before,.runestone-sphinx .glyphicon-font:before{content:"\e047"}.ptx-runestone-container .glyphicon-bold:before,.runestone-sphinx .glyphicon-bold:before{content:"\e048"}.ptx-runestone-container .glyphicon-italic:before,.runestone-sphinx .glyphicon-italic:before{content:"\e049"}.ptx-runestone-container .glyphicon-text-height:before,.runestone-sphinx .glyphicon-text-height:before{content:"\e050"}.ptx-runestone-container .glyphicon-text-width:before,.runestone-sphinx .glyphicon-text-width:before{content:"\e051"}.ptx-runestone-container .glyphicon-align-left:before,.runestone-sphinx .glyphicon-align-left:before{content:"\e052"}.ptx-runestone-container .glyphicon-align-center:before,.runestone-sphinx .glyphicon-align-center:before{content:"\e053"}.ptx-runestone-container .glyphicon-align-right:before,.runestone-sphinx .glyphicon-align-right:before{content:"\e054"}.ptx-runestone-container .glyphicon-align-justify:before,.runestone-sphinx .glyphicon-align-justify:before{content:"\e055"}.ptx-runestone-container .glyphicon-list:before,.runestone-sphinx .glyphicon-list:before{content:"\e056"}.ptx-runestone-container .glyphicon-indent-left:before,.runestone-sphinx .glyphicon-indent-left:before{content:"\e057"}.ptx-runestone-container .glyphicon-indent-right:before,.runestone-sphinx .glyphicon-indent-right:before{content:"\e058"}.ptx-runestone-container .glyphicon-facetime-video:before,.runestone-sphinx .glyphicon-facetime-video:before{content:"\e059"}.ptx-runestone-container .glyphicon-picture:before,.runestone-sphinx .glyphicon-picture:before{content:"\e060"}.ptx-runestone-container .glyphicon-map-marker:before,.runestone-sphinx .glyphicon-map-marker:before{content:"\e062"}.ptx-runestone-container .glyphicon-adjust:before,.runestone-sphinx .glyphicon-adjust:before{content:"\e063"}.ptx-runestone-container .glyphicon-tint:before,.runestone-sphinx .glyphicon-tint:before{content:"\e064"}.ptx-runestone-container .glyphicon-edit:before,.runestone-sphinx .glyphicon-edit:before{content:"\e065"}.ptx-runestone-container .glyphicon-share:before,.runestone-sphinx .glyphicon-share:before{content:"\e066"}.ptx-runestone-container .glyphicon-check:before,.runestone-sphinx .glyphicon-check:before{content:"\e067"}.ptx-runestone-container .glyphicon-move:before,.runestone-sphinx .glyphicon-move:before{content:"\e068"}.ptx-runestone-container .glyphicon-step-backward:before,.runestone-sphinx .glyphicon-step-backward:before{content:"\e069"}.ptx-runestone-container .glyphicon-fast-backward:before,.runestone-sphinx .glyphicon-fast-backward:before{content:"\e070"}.ptx-runestone-container .glyphicon-backward:before,.runestone-sphinx .glyphicon-backward:before{content:"\e071"}.ptx-runestone-container .glyphicon-play:before,.runestone-sphinx .glyphicon-play:before{content:"\e072"}.ptx-runestone-container .glyphicon-pause:before,.runestone-sphinx .glyphicon-pause:before{content:"\e073"}.ptx-runestone-container .glyphicon-stop:before,.runestone-sphinx .glyphicon-stop:before{content:"\e074"}.ptx-runestone-container .glyphicon-forward:before,.runestone-sphinx .glyphicon-forward:before{content:"\e075"}.ptx-runestone-container .glyphicon-fast-forward:before,.runestone-sphinx .glyphicon-fast-forward:before{content:"\e076"}.ptx-runestone-container .glyphicon-step-forward:before,.runestone-sphinx .glyphicon-step-forward:before{content:"\e077"}.ptx-runestone-container .glyphicon-eject:before,.runestone-sphinx .glyphicon-eject:before{content:"\e078"}.ptx-runestone-container .glyphicon-chevron-left:before,.runestone-sphinx .glyphicon-chevron-left:before{content:"\e079"}.ptx-runestone-container .glyphicon-chevron-right:before,.runestone-sphinx .glyphicon-chevron-right:before{content:"\e080"}.ptx-runestone-container .glyphicon-plus-sign:before,.runestone-sphinx .glyphicon-plus-sign:before{content:"\e081"}.ptx-runestone-container .glyphicon-minus-sign:before,.runestone-sphinx .glyphicon-minus-sign:before{content:"\e082"}.ptx-runestone-container .glyphicon-remove-sign:before,.runestone-sphinx .glyphicon-remove-sign:before{content:"\e083"}.ptx-runestone-container .glyphicon-ok-sign:before,.runestone-sphinx .glyphicon-ok-sign:before{content:"\e084"}.ptx-runestone-container .glyphicon-question-sign:before,.runestone-sphinx .glyphicon-question-sign:before{content:"\e085"}.ptx-runestone-container .glyphicon-info-sign:before,.runestone-sphinx .glyphicon-info-sign:before{content:"\e086"}.ptx-runestone-container .glyphicon-screenshot:before,.runestone-sphinx .glyphicon-screenshot:before{content:"\e087"}.ptx-runestone-container .glyphicon-remove-circle:before,.runestone-sphinx .glyphicon-remove-circle:before{content:"\e088"}.ptx-runestone-container .glyphicon-ok-circle:before,.runestone-sphinx .glyphicon-ok-circle:before{content:"\e089"}.ptx-runestone-container .glyphicon-ban-circle:before,.runestone-sphinx .glyphicon-ban-circle:before{content:"\e090"}.ptx-runestone-container .glyphicon-arrow-left:before,.runestone-sphinx .glyphicon-arrow-left:before{content:"\e091"}.ptx-runestone-container .glyphicon-arrow-right:before,.runestone-sphinx .glyphicon-arrow-right:before{content:"\e092"}.ptx-runestone-container .glyphicon-arrow-up:before,.runestone-sphinx .glyphicon-arrow-up:before{content:"\e093"}.ptx-runestone-container .glyphicon-arrow-down:before,.runestone-sphinx .glyphicon-arrow-down:before{content:"\e094"}.ptx-runestone-container .glyphicon-share-alt:before,.runestone-sphinx .glyphicon-share-alt:before{content:"\e095"}.ptx-runestone-container .glyphicon-resize-full:before,.runestone-sphinx .glyphicon-resize-full:before{content:"\e096"}.ptx-runestone-container .glyphicon-resize-small:before,.runestone-sphinx .glyphicon-resize-small:before{content:"\e097"}.ptx-runestone-container .glyphicon-exclamation-sign:before,.runestone-sphinx .glyphicon-exclamation-sign:before{content:"\e101"}.ptx-runestone-container .glyphicon-gift:before,.runestone-sphinx .glyphicon-gift:before{content:"\e102"}.ptx-runestone-container .glyphicon-leaf:before,.runestone-sphinx .glyphicon-leaf:before{content:"\e103"}.ptx-runestone-container .glyphicon-fire:before,.runestone-sphinx .glyphicon-fire:before{content:"\e104"}.ptx-runestone-container .glyphicon-eye-open:before,.runestone-sphinx .glyphicon-eye-open:before{content:"\e105"}.ptx-runestone-container .glyphicon-eye-close:before,.runestone-sphinx .glyphicon-eye-close:before{content:"\e106"}.ptx-runestone-container .glyphicon-warning-sign:before,.runestone-sphinx .glyphicon-warning-sign:before{content:"\e107"}.ptx-runestone-container .glyphicon-plane:before,.runestone-sphinx .glyphicon-plane:before{content:"\e108"}.ptx-runestone-container .glyphicon-calendar:before,.runestone-sphinx .glyphicon-calendar:before{content:"\e109"}.ptx-runestone-container .glyphicon-random:before,.runestone-sphinx .glyphicon-random:before{content:"\e110"}.ptx-runestone-container .glyphicon-comment:before,.runestone-sphinx .glyphicon-comment:before{content:"\e111"}.ptx-runestone-container .glyphicon-magnet:before,.runestone-sphinx .glyphicon-magnet:before{content:"\e112"}.ptx-runestone-container .glyphicon-chevron-up:before,.runestone-sphinx .glyphicon-chevron-up:before{content:"\e113"}.ptx-runestone-container .glyphicon-chevron-down:before,.runestone-sphinx .glyphicon-chevron-down:before{content:"\e114"}.ptx-runestone-container .glyphicon-retweet:before,.runestone-sphinx .glyphicon-retweet:before{content:"\e115"}.ptx-runestone-container .glyphicon-shopping-cart:before,.runestone-sphinx .glyphicon-shopping-cart:before{content:"\e116"}.ptx-runestone-container .glyphicon-folder-close:before,.runestone-sphinx .glyphicon-folder-close:before{content:"\e117"}.ptx-runestone-container .glyphicon-folder-open:before,.runestone-sphinx .glyphicon-folder-open:before{content:"\e118"}.ptx-runestone-container .glyphicon-resize-vertical:before,.runestone-sphinx .glyphicon-resize-vertical:before{content:"\e119"}.ptx-runestone-container .glyphicon-resize-horizontal:before,.runestone-sphinx .glyphicon-resize-horizontal:before{content:"\e120"}.ptx-runestone-container .glyphicon-hdd:before,.runestone-sphinx .glyphicon-hdd:before{content:"\e121"}.ptx-runestone-container .glyphicon-bullhorn:before,.runestone-sphinx .glyphicon-bullhorn:before{content:"\e122"}.ptx-runestone-container .glyphicon-bell:before,.runestone-sphinx .glyphicon-bell:before{content:"\e123"}.ptx-runestone-container .glyphicon-certificate:before,.runestone-sphinx .glyphicon-certificate:before{content:"\e124"}.ptx-runestone-container .glyphicon-thumbs-up:before,.runestone-sphinx .glyphicon-thumbs-up:before{content:"\e125"}.ptx-runestone-container .glyphicon-thumbs-down:before,.runestone-sphinx .glyphicon-thumbs-down:before{content:"\e126"}.ptx-runestone-container .glyphicon-hand-right:before,.runestone-sphinx .glyphicon-hand-right:before{content:"\e127"}.ptx-runestone-container .glyphicon-hand-left:before,.runestone-sphinx .glyphicon-hand-left:before{content:"\e128"}.ptx-runestone-container .glyphicon-hand-up:before,.runestone-sphinx .glyphicon-hand-up:before{content:"\e129"}.ptx-runestone-container .glyphicon-hand-down:before,.runestone-sphinx .glyphicon-hand-down:before{content:"\e130"}.ptx-runestone-container .glyphicon-circle-arrow-right:before,.runestone-sphinx .glyphicon-circle-arrow-right:before{content:"\e131"}.ptx-runestone-container .glyphicon-circle-arrow-left:before,.runestone-sphinx .glyphicon-circle-arrow-left:before{content:"\e132"}.ptx-runestone-container .glyphicon-circle-arrow-up:before,.runestone-sphinx .glyphicon-circle-arrow-up:before{content:"\e133"}.ptx-runestone-container .glyphicon-circle-arrow-down:before,.runestone-sphinx .glyphicon-circle-arrow-down:before{content:"\e134"}.ptx-runestone-container .glyphicon-globe:before,.runestone-sphinx .glyphicon-globe:before{content:"\e135"}.ptx-runestone-container .glyphicon-wrench:before,.runestone-sphinx .glyphicon-wrench:before{content:"\e136"}.ptx-runestone-container .glyphicon-tasks:before,.runestone-sphinx .glyphicon-tasks:before{content:"\e137"}.ptx-runestone-container .glyphicon-filter:before,.runestone-sphinx .glyphicon-filter:before{content:"\e138"}.ptx-runestone-container .glyphicon-briefcase:before,.runestone-sphinx .glyphicon-briefcase:before{content:"\e139"}.ptx-runestone-container .glyphicon-fullscreen:before,.runestone-sphinx .glyphicon-fullscreen:before{content:"\e140"}.ptx-runestone-container .glyphicon-dashboard:before,.runestone-sphinx .glyphicon-dashboard:before{content:"\e141"}.ptx-runestone-container .glyphicon-paperclip:before,.runestone-sphinx .glyphicon-paperclip:before{content:"\e142"}.ptx-runestone-container .glyphicon-heart-empty:before,.runestone-sphinx .glyphicon-heart-empty:before{content:"\e143"}.ptx-runestone-container .glyphicon-link:before,.runestone-sphinx .glyphicon-link:before{content:"\e144"}.ptx-runestone-container .glyphicon-phone:before,.runestone-sphinx .glyphicon-phone:before{content:"\e145"}.ptx-runestone-container .glyphicon-pushpin:before,.runestone-sphinx .glyphicon-pushpin:before{content:"\e146"}.ptx-runestone-container .glyphicon-usd:before,.runestone-sphinx .glyphicon-usd:before{content:"\e148"}.ptx-runestone-container .glyphicon-gbp:before,.runestone-sphinx .glyphicon-gbp:before{content:"\e149"}.ptx-runestone-container .glyphicon-sort:before,.runestone-sphinx .glyphicon-sort:before{content:"\e150"}.ptx-runestone-container .glyphicon-sort-by-alphabet:before,.runestone-sphinx .glyphicon-sort-by-alphabet:before{content:"\e151"}.ptx-runestone-container .glyphicon-sort-by-alphabet-alt:before,.runestone-sphinx .glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.ptx-runestone-container .glyphicon-sort-by-order:before,.runestone-sphinx .glyphicon-sort-by-order:before{content:"\e153"}.ptx-runestone-container .glyphicon-sort-by-order-alt:before,.runestone-sphinx .glyphicon-sort-by-order-alt:before{content:"\e154"}.ptx-runestone-container .glyphicon-sort-by-attributes:before,.runestone-sphinx .glyphicon-sort-by-attributes:before{content:"\e155"}.ptx-runestone-container .glyphicon-sort-by-attributes-alt:before,.runestone-sphinx .glyphicon-sort-by-attributes-alt:before{content:"\e156"}.ptx-runestone-container .glyphicon-unchecked:before,.runestone-sphinx .glyphicon-unchecked:before{content:"\e157"}.ptx-runestone-container .glyphicon-expand:before,.runestone-sphinx .glyphicon-expand:before{content:"\e158"}.ptx-runestone-container .glyphicon-collapse-down:before,.runestone-sphinx .glyphicon-collapse-down:before{content:"\e159"}.ptx-runestone-container .glyphicon-collapse-up:before,.runestone-sphinx .glyphicon-collapse-up:before{content:"\e160"}.ptx-runestone-container .glyphicon-log-in:before,.runestone-sphinx .glyphicon-log-in:before{content:"\e161"}.ptx-runestone-container .glyphicon-flash:before,.runestone-sphinx .glyphicon-flash:before{content:"\e162"}.ptx-runestone-container .glyphicon-log-out:before,.runestone-sphinx .glyphicon-log-out:before{content:"\e163"}.ptx-runestone-container .glyphicon-new-window:before,.runestone-sphinx .glyphicon-new-window:before{content:"\e164"}.ptx-runestone-container .glyphicon-record:before,.runestone-sphinx .glyphicon-record:before{content:"\e165"}.ptx-runestone-container .glyphicon-save:before,.runestone-sphinx .glyphicon-save:before{content:"\e166"}.ptx-runestone-container .glyphicon-open:before,.runestone-sphinx .glyphicon-open:before{content:"\e167"}.ptx-runestone-container .glyphicon-saved:before,.runestone-sphinx .glyphicon-saved:before{content:"\e168"}.ptx-runestone-container .glyphicon-import:before,.runestone-sphinx .glyphicon-import:before{content:"\e169"}.ptx-runestone-container .glyphicon-export:before,.runestone-sphinx .glyphicon-export:before{content:"\e170"}.ptx-runestone-container .glyphicon-send:before,.runestone-sphinx .glyphicon-send:before{content:"\e171"}.ptx-runestone-container .glyphicon-floppy-disk:before,.runestone-sphinx .glyphicon-floppy-disk:before{content:"\e172"}.ptx-runestone-container .glyphicon-floppy-saved:before,.runestone-sphinx .glyphicon-floppy-saved:before{content:"\e173"}.ptx-runestone-container .glyphicon-floppy-remove:before,.runestone-sphinx .glyphicon-floppy-remove:before{content:"\e174"}.ptx-runestone-container .glyphicon-floppy-save:before,.runestone-sphinx .glyphicon-floppy-save:before{content:"\e175"}.ptx-runestone-container .glyphicon-floppy-open:before,.runestone-sphinx .glyphicon-floppy-open:before{content:"\e176"}.ptx-runestone-container .glyphicon-credit-card:before,.runestone-sphinx .glyphicon-credit-card:before{content:"\e177"}.ptx-runestone-container .glyphicon-transfer:before,.runestone-sphinx .glyphicon-transfer:before{content:"\e178"}.ptx-runestone-container .glyphicon-cutlery:before,.runestone-sphinx .glyphicon-cutlery:before{content:"\e179"}.ptx-runestone-container .glyphicon-header:before,.runestone-sphinx .glyphicon-header:before{content:"\e180"}.ptx-runestone-container .glyphicon-compressed:before,.runestone-sphinx .glyphicon-compressed:before{content:"\e181"}.ptx-runestone-container .glyphicon-earphone:before,.runestone-sphinx .glyphicon-earphone:before{content:"\e182"}.ptx-runestone-container .glyphicon-phone-alt:before,.runestone-sphinx .glyphicon-phone-alt:before{content:"\e183"}.ptx-runestone-container .glyphicon-tower:before,.runestone-sphinx .glyphicon-tower:before{content:"\e184"}.ptx-runestone-container .glyphicon-stats:before,.runestone-sphinx .glyphicon-stats:before{content:"\e185"}.ptx-runestone-container .glyphicon-sd-video:before,.runestone-sphinx .glyphicon-sd-video:before{content:"\e186"}.ptx-runestone-container .glyphicon-hd-video:before,.runestone-sphinx .glyphicon-hd-video:before{content:"\e187"}.ptx-runestone-container .glyphicon-subtitles:before,.runestone-sphinx .glyphicon-subtitles:before{content:"\e188"}.ptx-runestone-container .glyphicon-sound-stereo:before,.runestone-sphinx .glyphicon-sound-stereo:before{content:"\e189"}.ptx-runestone-container .glyphicon-sound-dolby:before,.runestone-sphinx .glyphicon-sound-dolby:before{content:"\e190"}.ptx-runestone-container .glyphicon-sound-5-1:before,.runestone-sphinx .glyphicon-sound-5-1:before{content:"\e191"}.ptx-runestone-container .glyphicon-sound-6-1:before,.runestone-sphinx .glyphicon-sound-6-1:before{content:"\e192"}.ptx-runestone-container .glyphicon-sound-7-1:before,.runestone-sphinx .glyphicon-sound-7-1:before{content:"\e193"}.ptx-runestone-container .glyphicon-copyright-mark:before,.runestone-sphinx .glyphicon-copyright-mark:before{content:"\e194"}.ptx-runestone-container .glyphicon-registration-mark:before,.runestone-sphinx .glyphicon-registration-mark:before{content:"\e195"}.ptx-runestone-container .glyphicon-cloud-download:before,.runestone-sphinx .glyphicon-cloud-download:before{content:"\e197"}.ptx-runestone-container .glyphicon-cloud-upload:before,.runestone-sphinx .glyphicon-cloud-upload:before{content:"\e198"}.ptx-runestone-container .glyphicon-tree-conifer:before,.runestone-sphinx .glyphicon-tree-conifer:before{content:"\e199"}.ptx-runestone-container .glyphicon-tree-deciduous:before,.runestone-sphinx .glyphicon-tree-deciduous:before{content:"\e200"}.ptx-runestone-container .glyphicon-cd:before,.runestone-sphinx .glyphicon-cd:before{content:"\e201"}.ptx-runestone-container .glyphicon-save-file:before,.runestone-sphinx .glyphicon-save-file:before{content:"\e202"}.ptx-runestone-container .glyphicon-open-file:before,.runestone-sphinx .glyphicon-open-file:before{content:"\e203"}.ptx-runestone-container .glyphicon-level-up:before,.runestone-sphinx .glyphicon-level-up:before{content:"\e204"}.ptx-runestone-container .glyphicon-copy:before,.runestone-sphinx .glyphicon-copy:before{content:"\e205"}.ptx-runestone-container .glyphicon-paste:before,.runestone-sphinx .glyphicon-paste:before{content:"\e206"}.ptx-runestone-container .glyphicon-alert:before,.runestone-sphinx .glyphicon-alert:before{content:"\e209"}.ptx-runestone-container .glyphicon-equalizer:before,.runestone-sphinx .glyphicon-equalizer:before{content:"\e210"}.ptx-runestone-container .glyphicon-king:before,.runestone-sphinx .glyphicon-king:before{content:"\e211"}.ptx-runestone-container .glyphicon-queen:before,.runestone-sphinx .glyphicon-queen:before{content:"\e212"}.ptx-runestone-container .glyphicon-pawn:before,.runestone-sphinx .glyphicon-pawn:before{content:"\e213"}.ptx-runestone-container .glyphicon-bishop:before,.runestone-sphinx .glyphicon-bishop:before{content:"\e214"}.ptx-runestone-container .glyphicon-knight:before,.runestone-sphinx .glyphicon-knight:before{content:"\e215"}.ptx-runestone-container .glyphicon-baby-formula:before,.runestone-sphinx .glyphicon-baby-formula:before{content:"\e216"}.ptx-runestone-container .glyphicon-tent:before,.runestone-sphinx .glyphicon-tent:before{content:"\26fa"}.ptx-runestone-container .glyphicon-blackboard:before,.runestone-sphinx .glyphicon-blackboard:before{content:"\e218"}.ptx-runestone-container .glyphicon-bed:before,.runestone-sphinx .glyphicon-bed:before{content:"\e219"}.ptx-runestone-container .glyphicon-apple:before,.runestone-sphinx .glyphicon-apple:before{content:"\f8ff"}.ptx-runestone-container .glyphicon-erase:before,.runestone-sphinx .glyphicon-erase:before{content:"\e221"}.ptx-runestone-container .glyphicon-hourglass:before,.runestone-sphinx .glyphicon-hourglass:before{content:"\231b"}.ptx-runestone-container .glyphicon-lamp:before,.runestone-sphinx .glyphicon-lamp:before{content:"\e223"}.ptx-runestone-container .glyphicon-duplicate:before,.runestone-sphinx .glyphicon-duplicate:before{content:"\e224"}.ptx-runestone-container .glyphicon-piggy-bank:before,.runestone-sphinx .glyphicon-piggy-bank:before{content:"\e225"}.ptx-runestone-container .glyphicon-scissors:before,.runestone-sphinx .glyphicon-scissors:before{content:"\e226"}.ptx-runestone-container .glyphicon-bitcoin:before,.ptx-runestone-container .glyphicon-btc:before,.ptx-runestone-container .glyphicon-xbt:before,.runestone-sphinx .glyphicon-bitcoin:before,.runestone-sphinx .glyphicon-btc:before,.runestone-sphinx .glyphicon-xbt:before{content:"\e227"}.ptx-runestone-container .glyphicon-jpy:before,.ptx-runestone-container .glyphicon-yen:before,.runestone-sphinx .glyphicon-jpy:before,.runestone-sphinx .glyphicon-yen:before{content:"\00a5"}.ptx-runestone-container .glyphicon-rub:before,.ptx-runestone-container .glyphicon-ruble:before,.runestone-sphinx .glyphicon-rub:before,.runestone-sphinx .glyphicon-ruble:before{content:"\20bd"}.ptx-runestone-container .glyphicon-scale:before,.runestone-sphinx .glyphicon-scale:before{content:"\e230"}.ptx-runestone-container .glyphicon-ice-lolly:before,.runestone-sphinx .glyphicon-ice-lolly:before{content:"\e231"}.ptx-runestone-container .glyphicon-ice-lolly-tasted:before,.runestone-sphinx .glyphicon-ice-lolly-tasted:before{content:"\e232"}.ptx-runestone-container .glyphicon-education:before,.runestone-sphinx .glyphicon-education:before{content:"\e233"}.ptx-runestone-container .glyphicon-option-horizontal:before,.runestone-sphinx .glyphicon-option-horizontal:before{content:"\e234"}.ptx-runestone-container .glyphicon-option-vertical:before,.runestone-sphinx .glyphicon-option-vertical:before{content:"\e235"}.ptx-runestone-container .glyphicon-menu-hamburger:before,.runestone-sphinx .glyphicon-menu-hamburger:before{content:"\e236"}.ptx-runestone-container .glyphicon-modal-window:before,.runestone-sphinx .glyphicon-modal-window:before{content:"\e237"}.ptx-runestone-container .glyphicon-oil:before,.runestone-sphinx .glyphicon-oil:before{content:"\e238"}.ptx-runestone-container .glyphicon-grain:before,.runestone-sphinx .glyphicon-grain:before{content:"\e239"}.ptx-runestone-container .glyphicon-sunglasses:before,.runestone-sphinx .glyphicon-sunglasses:before{content:"\e240"}.ptx-runestone-container .glyphicon-text-size:before,.runestone-sphinx .glyphicon-text-size:before{content:"\e241"}.ptx-runestone-container .glyphicon-text-color:before,.runestone-sphinx .glyphicon-text-color:before{content:"\e242"}.ptx-runestone-container .glyphicon-text-background:before,.runestone-sphinx .glyphicon-text-background:before{content:"\e243"}.ptx-runestone-container .glyphicon-object-align-top:before,.runestone-sphinx .glyphicon-object-align-top:before{content:"\e244"}.ptx-runestone-container .glyphicon-object-align-bottom:before,.runestone-sphinx .glyphicon-object-align-bottom:before{content:"\e245"}.ptx-runestone-container .glyphicon-object-align-horizontal:before,.runestone-sphinx .glyphicon-object-align-horizontal:before{content:"\e246"}.ptx-runestone-container .glyphicon-object-align-left:before,.runestone-sphinx .glyphicon-object-align-left:before{content:"\e247"}.ptx-runestone-container .glyphicon-object-align-vertical:before,.runestone-sphinx .glyphicon-object-align-vertical:before{content:"\e248"}.ptx-runestone-container .glyphicon-object-align-right:before,.runestone-sphinx .glyphicon-object-align-right:before{content:"\e249"}.ptx-runestone-container .glyphicon-triangle-right:before,.runestone-sphinx .glyphicon-triangle-right:before{content:"\e250"}.ptx-runestone-container .glyphicon-triangle-left:before,.runestone-sphinx .glyphicon-triangle-left:before{content:"\e251"}.ptx-runestone-container .glyphicon-triangle-bottom:before,.runestone-sphinx .glyphicon-triangle-bottom:before{content:"\e252"}.ptx-runestone-container .glyphicon-triangle-top:before,.runestone-sphinx .glyphicon-triangle-top:before{content:"\e253"}.ptx-runestone-container .glyphicon-console:before,.runestone-sphinx .glyphicon-console:before{content:"\e254"}.ptx-runestone-container .glyphicon-superscript:before,.runestone-sphinx .glyphicon-superscript:before{content:"\e255"}.ptx-runestone-container .glyphicon-subscript:before,.runestone-sphinx .glyphicon-subscript:before{content:"\e256"}.ptx-runestone-container .glyphicon-menu-left:before,.runestone-sphinx .glyphicon-menu-left:before{content:"\e257"}.ptx-runestone-container .glyphicon-menu-right:before,.runestone-sphinx .glyphicon-menu-right:before{content:"\e258"}.ptx-runestone-container .glyphicon-menu-down:before,.runestone-sphinx .glyphicon-menu-down:before{content:"\e259"}.ptx-runestone-container .glyphicon-menu-up:before,.runestone-sphinx .glyphicon-menu-up:before{content:"\e260"}.ptx-runestone-container *,.ptx-runestone-container :after,.ptx-runestone-container :before,.runestone-sphinx *,.runestone-sphinx :after,.runestone-sphinx :before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ptx-runestone-container html,.runestone-sphinx html{-webkit-tap-highlight-color:rgba(0,0,0,0);font-size:10px}.ptx-runestone-container body,.runestone-sphinx body{background-color:#fff;color:#333;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143}.ptx-runestone-container button,.ptx-runestone-container input,.ptx-runestone-container select,.ptx-runestone-container textarea,.runestone-sphinx button,.runestone-sphinx input,.runestone-sphinx select,.runestone-sphinx textarea{font-family:inherit;font-size:inherit;line-height:inherit}.ptx-runestone-container a,.runestone-sphinx a{color:#337ab7;text-decoration:none}.ptx-runestone-container a:focus,.ptx-runestone-container a:hover,.runestone-sphinx a:focus,.runestone-sphinx a:hover{color:#23527c;text-decoration:underline}.ptx-runestone-container a:focus,.runestone-sphinx a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.ptx-runestone-container figure,.runestone-sphinx figure{margin:0}.ptx-runestone-container img,.runestone-sphinx img{vertical-align:middle}.ptx-runestone-container .carousel-inner>.item>a>img,.ptx-runestone-container .carousel-inner>.item>img,.ptx-runestone-container .img-responsive,.ptx-runestone-container .thumbnail a>img,.ptx-runestone-container .thumbnail>img,.runestone-sphinx .carousel-inner>.item>a>img,.runestone-sphinx .carousel-inner>.item>img,.runestone-sphinx .img-responsive,.runestone-sphinx .thumbnail a>img,.runestone-sphinx .thumbnail>img{display:block;height:auto;max-width:100%}.ptx-runestone-container .img-rounded,.runestone-sphinx .img-rounded{border-radius:6px}.ptx-runestone-container .img-thumbnail,.runestone-sphinx .img-thumbnail{background-color:#fff;border:1px solid #ddd;border-radius:4px;display:inline-block;height:auto;line-height:1.42857143;max-width:100%;padding:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.ptx-runestone-container .img-circle,.runestone-sphinx .img-circle{border-radius:50%}.ptx-runestone-container hr,.runestone-sphinx hr{border:0;border-top:1px solid #eee;margin-bottom:20px;margin-top:20px}.ptx-runestone-container .sr-only,.runestone-sphinx .sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ptx-runestone-container .sr-only-focusable:active,.ptx-runestone-container .sr-only-focusable:focus,.runestone-sphinx .sr-only-focusable:active,.runestone-sphinx .sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.ptx-runestone-container [role=button],.runestone-sphinx [role=button]{cursor:pointer}.ptx-runestone-container .h1,.ptx-runestone-container .h2,.ptx-runestone-container .h3,.ptx-runestone-container .h4,.ptx-runestone-container .h5,.ptx-runestone-container .h6,.ptx-runestone-container h1,.ptx-runestone-container h2,.ptx-runestone-container h3,.ptx-runestone-container h4,.ptx-runestone-container h5,.ptx-runestone-container h6,.runestone-sphinx .h1,.runestone-sphinx .h2,.runestone-sphinx .h3,.runestone-sphinx .h4,.runestone-sphinx .h5,.runestone-sphinx .h6,.runestone-sphinx h1,.runestone-sphinx h2,.runestone-sphinx h3,.runestone-sphinx h4,.runestone-sphinx h5,.runestone-sphinx h6{color:inherit;font-family:inherit;font-weight:500;line-height:1.1}.ptx-runestone-container .h1 .small,.ptx-runestone-container .h1 small,.ptx-runestone-container .h2 .small,.ptx-runestone-container .h2 small,.ptx-runestone-container .h3 .small,.ptx-runestone-container .h3 small,.ptx-runestone-container .h4 .small,.ptx-runestone-container .h4 small,.ptx-runestone-container .h5 .small,.ptx-runestone-container .h5 small,.ptx-runestone-container .h6 .small,.ptx-runestone-container .h6 small,.ptx-runestone-container h1 .small,.ptx-runestone-container h1 small,.ptx-runestone-container h2 .small,.ptx-runestone-container h2 small,.ptx-runestone-container h3 .small,.ptx-runestone-container h3 small,.ptx-runestone-container h4 .small,.ptx-runestone-container h4 small,.ptx-runestone-container h5 .small,.ptx-runestone-container h5 small,.ptx-runestone-container h6 .small,.ptx-runestone-container h6 small,.runestone-sphinx .h1 .small,.runestone-sphinx .h1 small,.runestone-sphinx .h2 .small,.runestone-sphinx .h2 small,.runestone-sphinx .h3 .small,.runestone-sphinx .h3 small,.runestone-sphinx .h4 .small,.runestone-sphinx .h4 small,.runestone-sphinx .h5 .small,.runestone-sphinx .h5 small,.runestone-sphinx .h6 .small,.runestone-sphinx .h6 small,.runestone-sphinx h1 .small,.runestone-sphinx h1 small,.runestone-sphinx h2 .small,.runestone-sphinx h2 small,.runestone-sphinx h3 .small,.runestone-sphinx h3 small,.runestone-sphinx h4 .small,.runestone-sphinx h4 small,.runestone-sphinx h5 .small,.runestone-sphinx h5 small,.runestone-sphinx h6 .small,.runestone-sphinx h6 small{color:#777;font-weight:400;line-height:1}.ptx-runestone-container .h1,.ptx-runestone-container .h2,.ptx-runestone-container .h3,.ptx-runestone-container h1,.ptx-runestone-container h2,.ptx-runestone-container h3,.runestone-sphinx .h1,.runestone-sphinx .h2,.runestone-sphinx .h3,.runestone-sphinx h1,.runestone-sphinx h2,.runestone-sphinx h3{margin-bottom:10px;margin-top:20px}.ptx-runestone-container .h1 .small,.ptx-runestone-container .h1 small,.ptx-runestone-container .h2 .small,.ptx-runestone-container .h2 small,.ptx-runestone-container .h3 .small,.ptx-runestone-container .h3 small,.ptx-runestone-container h1 .small,.ptx-runestone-container h1 small,.ptx-runestone-container h2 .small,.ptx-runestone-container h2 small,.ptx-runestone-container h3 .small,.ptx-runestone-container h3 small,.runestone-sphinx .h1 .small,.runestone-sphinx .h1 small,.runestone-sphinx .h2 .small,.runestone-sphinx .h2 small,.runestone-sphinx .h3 .small,.runestone-sphinx .h3 small,.runestone-sphinx h1 .small,.runestone-sphinx h1 small,.runestone-sphinx h2 .small,.runestone-sphinx h2 small,.runestone-sphinx h3 .small,.runestone-sphinx h3 small{font-size:65%}.ptx-runestone-container .h4,.ptx-runestone-container .h5,.ptx-runestone-container .h6,.ptx-runestone-container h4,.ptx-runestone-container h5,.ptx-runestone-container h6,.runestone-sphinx .h4,.runestone-sphinx .h5,.runestone-sphinx .h6,.runestone-sphinx h4,.runestone-sphinx h5,.runestone-sphinx h6{margin-bottom:10px;margin-top:10px}.ptx-runestone-container .h4 .small,.ptx-runestone-container .h4 small,.ptx-runestone-container .h5 .small,.ptx-runestone-container .h5 small,.ptx-runestone-container .h6 .small,.ptx-runestone-container .h6 small,.ptx-runestone-container h4 .small,.ptx-runestone-container h4 small,.ptx-runestone-container h5 .small,.ptx-runestone-container h5 small,.ptx-runestone-container h6 .small,.ptx-runestone-container h6 small,.runestone-sphinx .h4 .small,.runestone-sphinx .h4 small,.runestone-sphinx .h5 .small,.runestone-sphinx .h5 small,.runestone-sphinx .h6 .small,.runestone-sphinx .h6 small,.runestone-sphinx h4 .small,.runestone-sphinx h4 small,.runestone-sphinx h5 .small,.runestone-sphinx h5 small,.runestone-sphinx h6 .small,.runestone-sphinx h6 small{font-size:75%}.ptx-runestone-container .h1,.ptx-runestone-container h1,.runestone-sphinx .h1,.runestone-sphinx h1{font-size:36px}.ptx-runestone-container .h2,.ptx-runestone-container h2,.runestone-sphinx .h2,.runestone-sphinx h2{font-size:30px}.ptx-runestone-container .h3,.ptx-runestone-container h3,.runestone-sphinx .h3,.runestone-sphinx h3{font-size:24px}.ptx-runestone-container .h4,.ptx-runestone-container h4,.runestone-sphinx .h4,.runestone-sphinx h4{font-size:18px}.ptx-runestone-container .h5,.ptx-runestone-container h5,.runestone-sphinx .h5,.runestone-sphinx h5{font-size:14px}.ptx-runestone-container .h6,.ptx-runestone-container h6,.runestone-sphinx .h6,.runestone-sphinx h6{font-size:12px}.ptx-runestone-container p,.runestone-sphinx p{margin:0 0 10px}.ptx-runestone-container .lead,.runestone-sphinx .lead{font-size:16px;font-weight:300;line-height:1.4;margin-bottom:20px}@media (min-width:768px){.ptx-runestone-container .lead,.runestone-sphinx .lead{font-size:21px}}.ptx-runestone-container .small,.ptx-runestone-container small,.runestone-sphinx .small,.runestone-sphinx small{font-size:85%}.ptx-runestone-container .mark,.ptx-runestone-container mark,.runestone-sphinx .mark,.runestone-sphinx mark{background-color:#fcf8e3;padding:.2em}.ptx-runestone-container .text-left,.runestone-sphinx .text-left{text-align:left}.ptx-runestone-container .text-right,.runestone-sphinx .text-right{text-align:right}.ptx-runestone-container .text-center,.runestone-sphinx .text-center{text-align:center}.ptx-runestone-container .text-justify,.runestone-sphinx .text-justify{text-align:justify}.ptx-runestone-container .text-nowrap,.runestone-sphinx .text-nowrap{white-space:nowrap}.ptx-runestone-container .text-lowercase,.runestone-sphinx .text-lowercase{text-transform:lowercase}.ptx-runestone-container .text-uppercase,.runestone-sphinx .text-uppercase{text-transform:uppercase}.ptx-runestone-container .text-capitalize,.runestone-sphinx .text-capitalize{text-transform:capitalize}.ptx-runestone-container .text-muted,.runestone-sphinx .text-muted{color:#777}.ptx-runestone-container .text-primary,.runestone-sphinx .text-primary{color:#337ab7}.ptx-runestone-container a.text-primary:focus,.ptx-runestone-container a.text-primary:hover,.runestone-sphinx a.text-primary:focus,.runestone-sphinx a.text-primary:hover{color:#286090}.ptx-runestone-container .text-success,.runestone-sphinx .text-success{color:#3c763d}.ptx-runestone-container a.text-success:focus,.ptx-runestone-container a.text-success:hover,.runestone-sphinx a.text-success:focus,.runestone-sphinx a.text-success:hover{color:#2b542c}.ptx-runestone-container .text-info,.runestone-sphinx .text-info{color:#31708f}.ptx-runestone-container a.text-info:focus,.ptx-runestone-container a.text-info:hover,.runestone-sphinx a.text-info:focus,.runestone-sphinx a.text-info:hover{color:#245269}.ptx-runestone-container .text-warning,.runestone-sphinx .text-warning{color:#8a6d3b}.ptx-runestone-container a.text-warning:focus,.ptx-runestone-container a.text-warning:hover,.runestone-sphinx a.text-warning:focus,.runestone-sphinx a.text-warning:hover{color:#66512c}.ptx-runestone-container .text-danger,.runestone-sphinx .text-danger{color:#a94442}.ptx-runestone-container a.text-danger:focus,.ptx-runestone-container a.text-danger:hover,.runestone-sphinx a.text-danger:focus,.runestone-sphinx a.text-danger:hover{color:#843534}.ptx-runestone-container .bg-primary,.runestone-sphinx .bg-primary{background-color:#337ab7;color:#fff}.ptx-runestone-container a.bg-primary:focus,.ptx-runestone-container a.bg-primary:hover,.runestone-sphinx a.bg-primary:focus,.runestone-sphinx a.bg-primary:hover{background-color:#286090}.ptx-runestone-container .bg-success,.runestone-sphinx .bg-success{background-color:#dff0d8}.ptx-runestone-container a.bg-success:focus,.ptx-runestone-container a.bg-success:hover,.runestone-sphinx a.bg-success:focus,.runestone-sphinx a.bg-success:hover{background-color:#c1e2b3}.ptx-runestone-container .bg-info,.runestone-sphinx .bg-info{background-color:#d9edf7}.ptx-runestone-container a.bg-info:focus,.ptx-runestone-container a.bg-info:hover,.runestone-sphinx a.bg-info:focus,.runestone-sphinx a.bg-info:hover{background-color:#afd9ee}.ptx-runestone-container .bg-warning,.runestone-sphinx .bg-warning{background-color:#fcf8e3}.ptx-runestone-container a.bg-warning:focus,.ptx-runestone-container a.bg-warning:hover,.runestone-sphinx a.bg-warning:focus,.runestone-sphinx a.bg-warning:hover{background-color:#f7ecb5}.ptx-runestone-container .bg-danger,.runestone-sphinx .bg-danger{background-color:#f2dede}.ptx-runestone-container a.bg-danger:focus,.ptx-runestone-container a.bg-danger:hover,.runestone-sphinx a.bg-danger:focus,.runestone-sphinx a.bg-danger:hover{background-color:#e4b9b9}.ptx-runestone-container .page-header,.runestone-sphinx .page-header{border-bottom:1px solid #eee;margin:40px 0 20px;padding-bottom:9px}.ptx-runestone-container ol,.ptx-runestone-container ul,.runestone-sphinx ol,.runestone-sphinx ul{margin-bottom:10px;margin-top:0}.ptx-runestone-container ol ol,.ptx-runestone-container ol ul,.ptx-runestone-container ul ol,.ptx-runestone-container ul ul,.runestone-sphinx ol ol,.runestone-sphinx ol ul,.runestone-sphinx ul ol,.runestone-sphinx ul ul{margin-bottom:0}.ptx-runestone-container .list-unstyled,.runestone-sphinx .list-unstyled{list-style:none;padding-left:0}.ptx-runestone-container .list-inline,.runestone-sphinx .list-inline{list-style:none;margin-left:-5px;padding-left:0}.ptx-runestone-container .list-inline>li,.runestone-sphinx .list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}.ptx-runestone-container dl,.runestone-sphinx dl{margin-bottom:20px;margin-top:0}.ptx-runestone-container dd,.ptx-runestone-container dt,.runestone-sphinx dd,.runestone-sphinx dt{line-height:1.42857143}.ptx-runestone-container dt,.runestone-sphinx dt{font-weight:700}.ptx-runestone-container dd,.runestone-sphinx dd{margin-left:0}@media (min-width:768px){.ptx-runestone-container .dl-horizontal dt,.runestone-sphinx .dl-horizontal dt{clear:left;float:left;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap;width:160px}.ptx-runestone-container .dl-horizontal dd,.runestone-sphinx .dl-horizontal dd{margin-left:180px}}.ptx-runestone-container abbr[data-original-title],.ptx-runestone-container abbr[title],.runestone-sphinx abbr[data-original-title],.runestone-sphinx abbr[title]{cursor:help}.ptx-runestone-container .initialism,.runestone-sphinx .initialism{font-size:90%;text-transform:uppercase}.ptx-runestone-container blockquote,.runestone-sphinx blockquote{border-left:5px solid #eee;font-size:17.5px;margin:0 0 20px;padding:10px 20px}.ptx-runestone-container blockquote ol:last-child,.ptx-runestone-container blockquote p:last-child,.ptx-runestone-container blockquote ul:last-child,.runestone-sphinx blockquote ol:last-child,.runestone-sphinx blockquote p:last-child,.runestone-sphinx blockquote ul:last-child{margin-bottom:0}.ptx-runestone-container blockquote .small,.ptx-runestone-container blockquote footer,.ptx-runestone-container blockquote small,.runestone-sphinx blockquote .small,.runestone-sphinx blockquote footer,.runestone-sphinx blockquote small{color:#777;display:block;font-size:80%;line-height:1.42857143}.ptx-runestone-container blockquote .small:before,.ptx-runestone-container blockquote footer:before,.ptx-runestone-container blockquote small:before,.runestone-sphinx blockquote .small:before,.runestone-sphinx blockquote footer:before,.runestone-sphinx blockquote small:before{content:"\2014 \00A0"}.ptx-runestone-container .blockquote-reverse,.ptx-runestone-container blockquote.pull-right,.runestone-sphinx .blockquote-reverse,.runestone-sphinx blockquote.pull-right{border-left:0;border-right:5px solid #eee;padding-left:0;padding-right:15px;text-align:right}.ptx-runestone-container .blockquote-reverse .small:before,.ptx-runestone-container .blockquote-reverse footer:before,.ptx-runestone-container .blockquote-reverse small:before,.ptx-runestone-container blockquote.pull-right .small:before,.ptx-runestone-container blockquote.pull-right footer:before,.ptx-runestone-container blockquote.pull-right small:before,.runestone-sphinx .blockquote-reverse .small:before,.runestone-sphinx .blockquote-reverse footer:before,.runestone-sphinx .blockquote-reverse small:before,.runestone-sphinx blockquote.pull-right .small:before,.runestone-sphinx blockquote.pull-right footer:before,.runestone-sphinx blockquote.pull-right small:before{content:""}.ptx-runestone-container .blockquote-reverse .small:after,.ptx-runestone-container .blockquote-reverse footer:after,.ptx-runestone-container .blockquote-reverse small:after,.ptx-runestone-container blockquote.pull-right .small:after,.ptx-runestone-container blockquote.pull-right footer:after,.ptx-runestone-container blockquote.pull-right small:after,.runestone-sphinx .blockquote-reverse .small:after,.runestone-sphinx .blockquote-reverse footer:after,.runestone-sphinx .blockquote-reverse small:after,.runestone-sphinx blockquote.pull-right .small:after,.runestone-sphinx blockquote.pull-right footer:after,.runestone-sphinx blockquote.pull-right small:after{content:"\00A0 \2014"}.ptx-runestone-container address,.runestone-sphinx address{font-style:normal;line-height:1.42857143;margin-bottom:20px}.ptx-runestone-container code,.ptx-runestone-container kbd,.ptx-runestone-container pre,.ptx-runestone-container samp,.runestone-sphinx code,.runestone-sphinx kbd,.runestone-sphinx pre,.runestone-sphinx samp{font-family:Menlo,Monaco,Consolas,Courier New,monospace}.ptx-runestone-container code,.runestone-sphinx code{background-color:#f9f2f4;border-radius:4px;color:#c7254e;font-size:90%;padding:2px 4px}.ptx-runestone-container kbd,.runestone-sphinx kbd{background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);color:#fff;font-size:90%;padding:2px 4px}.ptx-runestone-container kbd kbd,.runestone-sphinx kbd kbd{-webkit-box-shadow:none;box-shadow:none;font-size:100%;font-weight:700;padding:0}.ptx-runestone-container pre,.runestone-sphinx pre{word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px;color:#333;display:block;font-size:13px;line-height:1.42857143;margin:0 0 10px;padding:9.5px;word-break:break-all}.ptx-runestone-container pre code,.runestone-sphinx pre code{background-color:transparent;border-radius:0;color:inherit;font-size:inherit;padding:0;white-space:pre-wrap}.ptx-runestone-container .pre-scrollable,.runestone-sphinx .pre-scrollable{max-height:340px;overflow-y:scroll}.ptx-runestone-container .container,.runestone-sphinx .container{margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.ptx-runestone-container .container,.runestone-sphinx .container{width:750px}}@media (min-width:992px){.ptx-runestone-container .container,.runestone-sphinx .container{width:970px}}@media (min-width:1200px){.ptx-runestone-container .container,.runestone-sphinx .container{width:1170px}}.ptx-runestone-container .container-fluid,.runestone-sphinx .container-fluid{margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px}.ptx-runestone-container .row,.runestone-sphinx .row{margin-left:-15px;margin-right:-15px}.ptx-runestone-container .row-no-gutters,.runestone-sphinx .row-no-gutters{margin-left:0;margin-right:0}.ptx-runestone-container .row-no-gutters [class*=col-],.runestone-sphinx .row-no-gutters [class*=col-]{padding-left:0;padding-right:0}.ptx-runestone-container .col-lg-1,.ptx-runestone-container .col-lg-10,.ptx-runestone-container .col-lg-11,.ptx-runestone-container .col-lg-12,.ptx-runestone-container .col-lg-2,.ptx-runestone-container .col-lg-3,.ptx-runestone-container .col-lg-4,.ptx-runestone-container .col-lg-5,.ptx-runestone-container .col-lg-6,.ptx-runestone-container .col-lg-7,.ptx-runestone-container .col-lg-8,.ptx-runestone-container .col-lg-9,.ptx-runestone-container .col-md-1,.ptx-runestone-container .col-md-10,.ptx-runestone-container .col-md-11,.ptx-runestone-container .col-md-12,.ptx-runestone-container .col-md-2,.ptx-runestone-container .col-md-3,.ptx-runestone-container .col-md-4,.ptx-runestone-container .col-md-5,.ptx-runestone-container .col-md-6,.ptx-runestone-container .col-md-7,.ptx-runestone-container .col-md-8,.ptx-runestone-container .col-md-9,.ptx-runestone-container .col-sm-1,.ptx-runestone-container .col-sm-10,.ptx-runestone-container .col-sm-11,.ptx-runestone-container .col-sm-12,.ptx-runestone-container .col-sm-2,.ptx-runestone-container .col-sm-3,.ptx-runestone-container .col-sm-4,.ptx-runestone-container .col-sm-5,.ptx-runestone-container .col-sm-6,.ptx-runestone-container .col-sm-7,.ptx-runestone-container .col-sm-8,.ptx-runestone-container .col-sm-9,.ptx-runestone-container .col-xs-1,.ptx-runestone-container .col-xs-10,.ptx-runestone-container .col-xs-11,.ptx-runestone-container .col-xs-12,.ptx-runestone-container .col-xs-2,.ptx-runestone-container .col-xs-3,.ptx-runestone-container .col-xs-4,.ptx-runestone-container .col-xs-5,.ptx-runestone-container .col-xs-6,.ptx-runestone-container .col-xs-7,.ptx-runestone-container .col-xs-8,.ptx-runestone-container .col-xs-9,.runestone-sphinx .col-lg-1,.runestone-sphinx .col-lg-10,.runestone-sphinx .col-lg-11,.runestone-sphinx .col-lg-12,.runestone-sphinx .col-lg-2,.runestone-sphinx .col-lg-3,.runestone-sphinx .col-lg-4,.runestone-sphinx .col-lg-5,.runestone-sphinx .col-lg-6,.runestone-sphinx .col-lg-7,.runestone-sphinx .col-lg-8,.runestone-sphinx .col-lg-9,.runestone-sphinx .col-md-1,.runestone-sphinx .col-md-10,.runestone-sphinx .col-md-11,.runestone-sphinx .col-md-12,.runestone-sphinx .col-md-2,.runestone-sphinx .col-md-3,.runestone-sphinx .col-md-4,.runestone-sphinx .col-md-5,.runestone-sphinx .col-md-6,.runestone-sphinx .col-md-7,.runestone-sphinx .col-md-8,.runestone-sphinx .col-md-9,.runestone-sphinx .col-sm-1,.runestone-sphinx .col-sm-10,.runestone-sphinx .col-sm-11,.runestone-sphinx .col-sm-12,.runestone-sphinx .col-sm-2,.runestone-sphinx .col-sm-3,.runestone-sphinx .col-sm-4,.runestone-sphinx .col-sm-5,.runestone-sphinx .col-sm-6,.runestone-sphinx .col-sm-7,.runestone-sphinx .col-sm-8,.runestone-sphinx .col-sm-9,.runestone-sphinx .col-xs-1,.runestone-sphinx .col-xs-10,.runestone-sphinx .col-xs-11,.runestone-sphinx .col-xs-12,.runestone-sphinx .col-xs-2,.runestone-sphinx .col-xs-3,.runestone-sphinx .col-xs-4,.runestone-sphinx .col-xs-5,.runestone-sphinx .col-xs-6,.runestone-sphinx .col-xs-7,.runestone-sphinx .col-xs-8,.runestone-sphinx .col-xs-9{min-height:1px;padding-left:15px;padding-right:15px;position:relative}.ptx-runestone-container .col-xs-1,.ptx-runestone-container .col-xs-10,.ptx-runestone-container .col-xs-11,.ptx-runestone-container .col-xs-12,.ptx-runestone-container .col-xs-2,.ptx-runestone-container .col-xs-3,.ptx-runestone-container .col-xs-4,.ptx-runestone-container .col-xs-5,.ptx-runestone-container .col-xs-6,.ptx-runestone-container .col-xs-7,.ptx-runestone-container .col-xs-8,.ptx-runestone-container .col-xs-9,.runestone-sphinx .col-xs-1,.runestone-sphinx .col-xs-10,.runestone-sphinx .col-xs-11,.runestone-sphinx .col-xs-12,.runestone-sphinx .col-xs-2,.runestone-sphinx .col-xs-3,.runestone-sphinx .col-xs-4,.runestone-sphinx .col-xs-5,.runestone-sphinx .col-xs-6,.runestone-sphinx .col-xs-7,.runestone-sphinx .col-xs-8,.runestone-sphinx .col-xs-9{float:left}.ptx-runestone-container .col-xs-12,.runestone-sphinx .col-xs-12{width:100%}.ptx-runestone-container .col-xs-11,.runestone-sphinx .col-xs-11{width:91.66666667%}.ptx-runestone-container .col-xs-10,.runestone-sphinx .col-xs-10{width:83.33333333%}.ptx-runestone-container .col-xs-9,.runestone-sphinx .col-xs-9{width:75%}.ptx-runestone-container .col-xs-8,.runestone-sphinx .col-xs-8{width:66.66666667%}.ptx-runestone-container .col-xs-7,.runestone-sphinx .col-xs-7{width:58.33333333%}.ptx-runestone-container .col-xs-6,.runestone-sphinx .col-xs-6{width:50%}.ptx-runestone-container .col-xs-5,.runestone-sphinx .col-xs-5{width:41.66666667%}.ptx-runestone-container .col-xs-4,.runestone-sphinx .col-xs-4{width:33.33333333%}.ptx-runestone-container .col-xs-3,.runestone-sphinx .col-xs-3{width:25%}.ptx-runestone-container .col-xs-2,.runestone-sphinx .col-xs-2{width:16.66666667%}.ptx-runestone-container .col-xs-1,.runestone-sphinx .col-xs-1{width:8.33333333%}.ptx-runestone-container .col-xs-pull-12,.runestone-sphinx .col-xs-pull-12{right:100%}.ptx-runestone-container .col-xs-pull-11,.runestone-sphinx .col-xs-pull-11{right:91.66666667%}.ptx-runestone-container .col-xs-pull-10,.runestone-sphinx .col-xs-pull-10{right:83.33333333%}.ptx-runestone-container .col-xs-pull-9,.runestone-sphinx .col-xs-pull-9{right:75%}.ptx-runestone-container .col-xs-pull-8,.runestone-sphinx .col-xs-pull-8{right:66.66666667%}.ptx-runestone-container .col-xs-pull-7,.runestone-sphinx .col-xs-pull-7{right:58.33333333%}.ptx-runestone-container .col-xs-pull-6,.runestone-sphinx .col-xs-pull-6{right:50%}.ptx-runestone-container .col-xs-pull-5,.runestone-sphinx .col-xs-pull-5{right:41.66666667%}.ptx-runestone-container .col-xs-pull-4,.runestone-sphinx .col-xs-pull-4{right:33.33333333%}.ptx-runestone-container .col-xs-pull-3,.runestone-sphinx .col-xs-pull-3{right:25%}.ptx-runestone-container .col-xs-pull-2,.runestone-sphinx .col-xs-pull-2{right:16.66666667%}.ptx-runestone-container .col-xs-pull-1,.runestone-sphinx .col-xs-pull-1{right:8.33333333%}.ptx-runestone-container .col-xs-pull-0,.runestone-sphinx .col-xs-pull-0{right:auto}.ptx-runestone-container .col-xs-push-12,.runestone-sphinx .col-xs-push-12{left:100%}.ptx-runestone-container .col-xs-push-11,.runestone-sphinx .col-xs-push-11{left:91.66666667%}.ptx-runestone-container .col-xs-push-10,.runestone-sphinx .col-xs-push-10{left:83.33333333%}.ptx-runestone-container .col-xs-push-9,.runestone-sphinx .col-xs-push-9{left:75%}.ptx-runestone-container .col-xs-push-8,.runestone-sphinx .col-xs-push-8{left:66.66666667%}.ptx-runestone-container .col-xs-push-7,.runestone-sphinx .col-xs-push-7{left:58.33333333%}.ptx-runestone-container .col-xs-push-6,.runestone-sphinx .col-xs-push-6{left:50%}.ptx-runestone-container .col-xs-push-5,.runestone-sphinx .col-xs-push-5{left:41.66666667%}.ptx-runestone-container .col-xs-push-4,.runestone-sphinx .col-xs-push-4{left:33.33333333%}.ptx-runestone-container .col-xs-push-3,.runestone-sphinx .col-xs-push-3{left:25%}.ptx-runestone-container .col-xs-push-2,.runestone-sphinx .col-xs-push-2{left:16.66666667%}.ptx-runestone-container .col-xs-push-1,.runestone-sphinx .col-xs-push-1{left:8.33333333%}.ptx-runestone-container .col-xs-push-0,.runestone-sphinx .col-xs-push-0{left:auto}.ptx-runestone-container .col-xs-offset-12,.runestone-sphinx .col-xs-offset-12{margin-left:100%}.ptx-runestone-container .col-xs-offset-11,.runestone-sphinx .col-xs-offset-11{margin-left:91.66666667%}.ptx-runestone-container .col-xs-offset-10,.runestone-sphinx .col-xs-offset-10{margin-left:83.33333333%}.ptx-runestone-container .col-xs-offset-9,.runestone-sphinx .col-xs-offset-9{margin-left:75%}.ptx-runestone-container .col-xs-offset-8,.runestone-sphinx .col-xs-offset-8{margin-left:66.66666667%}.ptx-runestone-container .col-xs-offset-7,.runestone-sphinx .col-xs-offset-7{margin-left:58.33333333%}.ptx-runestone-container .col-xs-offset-6,.runestone-sphinx .col-xs-offset-6{margin-left:50%}.ptx-runestone-container .col-xs-offset-5,.runestone-sphinx .col-xs-offset-5{margin-left:41.66666667%}.ptx-runestone-container .col-xs-offset-4,.runestone-sphinx .col-xs-offset-4{margin-left:33.33333333%}.ptx-runestone-container .col-xs-offset-3,.runestone-sphinx .col-xs-offset-3{margin-left:25%}.ptx-runestone-container .col-xs-offset-2,.runestone-sphinx .col-xs-offset-2{margin-left:16.66666667%}.ptx-runestone-container .col-xs-offset-1,.runestone-sphinx .col-xs-offset-1{margin-left:8.33333333%}.ptx-runestone-container .col-xs-offset-0,.runestone-sphinx .col-xs-offset-0{margin-left:0}@media (min-width:768px){.ptx-runestone-container .col-sm-1,.ptx-runestone-container .col-sm-10,.ptx-runestone-container .col-sm-11,.ptx-runestone-container .col-sm-12,.ptx-runestone-container .col-sm-2,.ptx-runestone-container .col-sm-3,.ptx-runestone-container .col-sm-4,.ptx-runestone-container .col-sm-5,.ptx-runestone-container .col-sm-6,.ptx-runestone-container .col-sm-7,.ptx-runestone-container .col-sm-8,.ptx-runestone-container .col-sm-9,.runestone-sphinx .col-sm-1,.runestone-sphinx .col-sm-10,.runestone-sphinx .col-sm-11,.runestone-sphinx .col-sm-12,.runestone-sphinx .col-sm-2,.runestone-sphinx .col-sm-3,.runestone-sphinx .col-sm-4,.runestone-sphinx .col-sm-5,.runestone-sphinx .col-sm-6,.runestone-sphinx .col-sm-7,.runestone-sphinx .col-sm-8,.runestone-sphinx .col-sm-9{float:left}.ptx-runestone-container .col-sm-12,.runestone-sphinx .col-sm-12{width:100%}.ptx-runestone-container .col-sm-11,.runestone-sphinx .col-sm-11{width:91.66666667%}.ptx-runestone-container .col-sm-10,.runestone-sphinx .col-sm-10{width:83.33333333%}.ptx-runestone-container .col-sm-9,.runestone-sphinx .col-sm-9{width:75%}.ptx-runestone-container .col-sm-8,.runestone-sphinx .col-sm-8{width:66.66666667%}.ptx-runestone-container .col-sm-7,.runestone-sphinx .col-sm-7{width:58.33333333%}.ptx-runestone-container .col-sm-6,.runestone-sphinx .col-sm-6{width:50%}.ptx-runestone-container .col-sm-5,.runestone-sphinx .col-sm-5{width:41.66666667%}.ptx-runestone-container .col-sm-4,.runestone-sphinx .col-sm-4{width:33.33333333%}.ptx-runestone-container .col-sm-3,.runestone-sphinx .col-sm-3{width:25%}.ptx-runestone-container .col-sm-2,.runestone-sphinx .col-sm-2{width:16.66666667%}.ptx-runestone-container .col-sm-1,.runestone-sphinx .col-sm-1{width:8.33333333%}.ptx-runestone-container .col-sm-pull-12,.runestone-sphinx .col-sm-pull-12{right:100%}.ptx-runestone-container .col-sm-pull-11,.runestone-sphinx .col-sm-pull-11{right:91.66666667%}.ptx-runestone-container .col-sm-pull-10,.runestone-sphinx .col-sm-pull-10{right:83.33333333%}.ptx-runestone-container .col-sm-pull-9,.runestone-sphinx .col-sm-pull-9{right:75%}.ptx-runestone-container .col-sm-pull-8,.runestone-sphinx .col-sm-pull-8{right:66.66666667%}.ptx-runestone-container .col-sm-pull-7,.runestone-sphinx .col-sm-pull-7{right:58.33333333%}.ptx-runestone-container .col-sm-pull-6,.runestone-sphinx .col-sm-pull-6{right:50%}.ptx-runestone-container .col-sm-pull-5,.runestone-sphinx .col-sm-pull-5{right:41.66666667%}.ptx-runestone-container .col-sm-pull-4,.runestone-sphinx .col-sm-pull-4{right:33.33333333%}.ptx-runestone-container .col-sm-pull-3,.runestone-sphinx .col-sm-pull-3{right:25%}.ptx-runestone-container .col-sm-pull-2,.runestone-sphinx .col-sm-pull-2{right:16.66666667%}.ptx-runestone-container .col-sm-pull-1,.runestone-sphinx .col-sm-pull-1{right:8.33333333%}.ptx-runestone-container .col-sm-pull-0,.runestone-sphinx .col-sm-pull-0{right:auto}.ptx-runestone-container .col-sm-push-12,.runestone-sphinx .col-sm-push-12{left:100%}.ptx-runestone-container .col-sm-push-11,.runestone-sphinx .col-sm-push-11{left:91.66666667%}.ptx-runestone-container .col-sm-push-10,.runestone-sphinx .col-sm-push-10{left:83.33333333%}.ptx-runestone-container .col-sm-push-9,.runestone-sphinx .col-sm-push-9{left:75%}.ptx-runestone-container .col-sm-push-8,.runestone-sphinx .col-sm-push-8{left:66.66666667%}.ptx-runestone-container .col-sm-push-7,.runestone-sphinx .col-sm-push-7{left:58.33333333%}.ptx-runestone-container .col-sm-push-6,.runestone-sphinx .col-sm-push-6{left:50%}.ptx-runestone-container .col-sm-push-5,.runestone-sphinx .col-sm-push-5{left:41.66666667%}.ptx-runestone-container .col-sm-push-4,.runestone-sphinx .col-sm-push-4{left:33.33333333%}.ptx-runestone-container .col-sm-push-3,.runestone-sphinx .col-sm-push-3{left:25%}.ptx-runestone-container .col-sm-push-2,.runestone-sphinx .col-sm-push-2{left:16.66666667%}.ptx-runestone-container .col-sm-push-1,.runestone-sphinx .col-sm-push-1{left:8.33333333%}.ptx-runestone-container .col-sm-push-0,.runestone-sphinx .col-sm-push-0{left:auto}.ptx-runestone-container .col-sm-offset-12,.runestone-sphinx .col-sm-offset-12{margin-left:100%}.ptx-runestone-container .col-sm-offset-11,.runestone-sphinx .col-sm-offset-11{margin-left:91.66666667%}.ptx-runestone-container .col-sm-offset-10,.runestone-sphinx .col-sm-offset-10{margin-left:83.33333333%}.ptx-runestone-container .col-sm-offset-9,.runestone-sphinx .col-sm-offset-9{margin-left:75%}.ptx-runestone-container .col-sm-offset-8,.runestone-sphinx .col-sm-offset-8{margin-left:66.66666667%}.ptx-runestone-container .col-sm-offset-7,.runestone-sphinx .col-sm-offset-7{margin-left:58.33333333%}.ptx-runestone-container .col-sm-offset-6,.runestone-sphinx .col-sm-offset-6{margin-left:50%}.ptx-runestone-container .col-sm-offset-5,.runestone-sphinx .col-sm-offset-5{margin-left:41.66666667%}.ptx-runestone-container .col-sm-offset-4,.runestone-sphinx .col-sm-offset-4{margin-left:33.33333333%}.ptx-runestone-container .col-sm-offset-3,.runestone-sphinx .col-sm-offset-3{margin-left:25%}.ptx-runestone-container .col-sm-offset-2,.runestone-sphinx .col-sm-offset-2{margin-left:16.66666667%}.ptx-runestone-container .col-sm-offset-1,.runestone-sphinx .col-sm-offset-1{margin-left:8.33333333%}.ptx-runestone-container .col-sm-offset-0,.runestone-sphinx .col-sm-offset-0{margin-left:0}}@media (min-width:992px){.ptx-runestone-container .col-md-1,.ptx-runestone-container .col-md-10,.ptx-runestone-container .col-md-11,.ptx-runestone-container .col-md-12,.ptx-runestone-container .col-md-2,.ptx-runestone-container .col-md-3,.ptx-runestone-container .col-md-4,.ptx-runestone-container .col-md-5,.ptx-runestone-container .col-md-6,.ptx-runestone-container .col-md-7,.ptx-runestone-container .col-md-8,.ptx-runestone-container .col-md-9,.runestone-sphinx .col-md-1,.runestone-sphinx .col-md-10,.runestone-sphinx .col-md-11,.runestone-sphinx .col-md-12,.runestone-sphinx .col-md-2,.runestone-sphinx .col-md-3,.runestone-sphinx .col-md-4,.runestone-sphinx .col-md-5,.runestone-sphinx .col-md-6,.runestone-sphinx .col-md-7,.runestone-sphinx .col-md-8,.runestone-sphinx .col-md-9{float:left}.ptx-runestone-container .col-md-12,.runestone-sphinx .col-md-12{width:100%}.ptx-runestone-container .col-md-11,.runestone-sphinx .col-md-11{width:91.66666667%}.ptx-runestone-container .col-md-10,.runestone-sphinx .col-md-10{width:83.33333333%}.ptx-runestone-container .col-md-9,.runestone-sphinx .col-md-9{width:75%}.ptx-runestone-container .col-md-8,.runestone-sphinx .col-md-8{width:66.66666667%}.ptx-runestone-container .col-md-7,.runestone-sphinx .col-md-7{width:58.33333333%}.ptx-runestone-container .col-md-6,.runestone-sphinx .col-md-6{width:50%}.ptx-runestone-container .col-md-5,.runestone-sphinx .col-md-5{width:41.66666667%}.ptx-runestone-container .col-md-4,.runestone-sphinx .col-md-4{width:33.33333333%}.ptx-runestone-container .col-md-3,.runestone-sphinx .col-md-3{width:25%}.ptx-runestone-container .col-md-2,.runestone-sphinx .col-md-2{width:16.66666667%}.ptx-runestone-container .col-md-1,.runestone-sphinx .col-md-1{width:8.33333333%}.ptx-runestone-container .col-md-pull-12,.runestone-sphinx .col-md-pull-12{right:100%}.ptx-runestone-container .col-md-pull-11,.runestone-sphinx .col-md-pull-11{right:91.66666667%}.ptx-runestone-container .col-md-pull-10,.runestone-sphinx .col-md-pull-10{right:83.33333333%}.ptx-runestone-container .col-md-pull-9,.runestone-sphinx .col-md-pull-9{right:75%}.ptx-runestone-container .col-md-pull-8,.runestone-sphinx .col-md-pull-8{right:66.66666667%}.ptx-runestone-container .col-md-pull-7,.runestone-sphinx .col-md-pull-7{right:58.33333333%}.ptx-runestone-container .col-md-pull-6,.runestone-sphinx .col-md-pull-6{right:50%}.ptx-runestone-container .col-md-pull-5,.runestone-sphinx .col-md-pull-5{right:41.66666667%}.ptx-runestone-container .col-md-pull-4,.runestone-sphinx .col-md-pull-4{right:33.33333333%}.ptx-runestone-container .col-md-pull-3,.runestone-sphinx .col-md-pull-3{right:25%}.ptx-runestone-container .col-md-pull-2,.runestone-sphinx .col-md-pull-2{right:16.66666667%}.ptx-runestone-container .col-md-pull-1,.runestone-sphinx .col-md-pull-1{right:8.33333333%}.ptx-runestone-container .col-md-pull-0,.runestone-sphinx .col-md-pull-0{right:auto}.ptx-runestone-container .col-md-push-12,.runestone-sphinx .col-md-push-12{left:100%}.ptx-runestone-container .col-md-push-11,.runestone-sphinx .col-md-push-11{left:91.66666667%}.ptx-runestone-container .col-md-push-10,.runestone-sphinx .col-md-push-10{left:83.33333333%}.ptx-runestone-container .col-md-push-9,.runestone-sphinx .col-md-push-9{left:75%}.ptx-runestone-container .col-md-push-8,.runestone-sphinx .col-md-push-8{left:66.66666667%}.ptx-runestone-container .col-md-push-7,.runestone-sphinx .col-md-push-7{left:58.33333333%}.ptx-runestone-container .col-md-push-6,.runestone-sphinx .col-md-push-6{left:50%}.ptx-runestone-container .col-md-push-5,.runestone-sphinx .col-md-push-5{left:41.66666667%}.ptx-runestone-container .col-md-push-4,.runestone-sphinx .col-md-push-4{left:33.33333333%}.ptx-runestone-container .col-md-push-3,.runestone-sphinx .col-md-push-3{left:25%}.ptx-runestone-container .col-md-push-2,.runestone-sphinx .col-md-push-2{left:16.66666667%}.ptx-runestone-container .col-md-push-1,.runestone-sphinx .col-md-push-1{left:8.33333333%}.ptx-runestone-container .col-md-push-0,.runestone-sphinx .col-md-push-0{left:auto}.ptx-runestone-container .col-md-offset-12,.runestone-sphinx .col-md-offset-12{margin-left:100%}.ptx-runestone-container .col-md-offset-11,.runestone-sphinx .col-md-offset-11{margin-left:91.66666667%}.ptx-runestone-container .col-md-offset-10,.runestone-sphinx .col-md-offset-10{margin-left:83.33333333%}.ptx-runestone-container .col-md-offset-9,.runestone-sphinx .col-md-offset-9{margin-left:75%}.ptx-runestone-container .col-md-offset-8,.runestone-sphinx .col-md-offset-8{margin-left:66.66666667%}.ptx-runestone-container .col-md-offset-7,.runestone-sphinx .col-md-offset-7{margin-left:58.33333333%}.ptx-runestone-container .col-md-offset-6,.runestone-sphinx .col-md-offset-6{margin-left:50%}.ptx-runestone-container .col-md-offset-5,.runestone-sphinx .col-md-offset-5{margin-left:41.66666667%}.ptx-runestone-container .col-md-offset-4,.runestone-sphinx .col-md-offset-4{margin-left:33.33333333%}.ptx-runestone-container .col-md-offset-3,.runestone-sphinx .col-md-offset-3{margin-left:25%}.ptx-runestone-container .col-md-offset-2,.runestone-sphinx .col-md-offset-2{margin-left:16.66666667%}.ptx-runestone-container .col-md-offset-1,.runestone-sphinx .col-md-offset-1{margin-left:8.33333333%}.ptx-runestone-container .col-md-offset-0,.runestone-sphinx .col-md-offset-0{margin-left:0}}@media (min-width:1200px){.ptx-runestone-container .col-lg-1,.ptx-runestone-container .col-lg-10,.ptx-runestone-container .col-lg-11,.ptx-runestone-container .col-lg-12,.ptx-runestone-container .col-lg-2,.ptx-runestone-container .col-lg-3,.ptx-runestone-container .col-lg-4,.ptx-runestone-container .col-lg-5,.ptx-runestone-container .col-lg-6,.ptx-runestone-container .col-lg-7,.ptx-runestone-container .col-lg-8,.ptx-runestone-container .col-lg-9,.runestone-sphinx .col-lg-1,.runestone-sphinx .col-lg-10,.runestone-sphinx .col-lg-11,.runestone-sphinx .col-lg-12,.runestone-sphinx .col-lg-2,.runestone-sphinx .col-lg-3,.runestone-sphinx .col-lg-4,.runestone-sphinx .col-lg-5,.runestone-sphinx .col-lg-6,.runestone-sphinx .col-lg-7,.runestone-sphinx .col-lg-8,.runestone-sphinx .col-lg-9{float:left}.ptx-runestone-container .col-lg-12,.runestone-sphinx .col-lg-12{width:100%}.ptx-runestone-container .col-lg-11,.runestone-sphinx .col-lg-11{width:91.66666667%}.ptx-runestone-container .col-lg-10,.runestone-sphinx .col-lg-10{width:83.33333333%}.ptx-runestone-container .col-lg-9,.runestone-sphinx .col-lg-9{width:75%}.ptx-runestone-container .col-lg-8,.runestone-sphinx .col-lg-8{width:66.66666667%}.ptx-runestone-container .col-lg-7,.runestone-sphinx .col-lg-7{width:58.33333333%}.ptx-runestone-container .col-lg-6,.runestone-sphinx .col-lg-6{width:50%}.ptx-runestone-container .col-lg-5,.runestone-sphinx .col-lg-5{width:41.66666667%}.ptx-runestone-container .col-lg-4,.runestone-sphinx .col-lg-4{width:33.33333333%}.ptx-runestone-container .col-lg-3,.runestone-sphinx .col-lg-3{width:25%}.ptx-runestone-container .col-lg-2,.runestone-sphinx .col-lg-2{width:16.66666667%}.ptx-runestone-container .col-lg-1,.runestone-sphinx .col-lg-1{width:8.33333333%}.ptx-runestone-container .col-lg-pull-12,.runestone-sphinx .col-lg-pull-12{right:100%}.ptx-runestone-container .col-lg-pull-11,.runestone-sphinx .col-lg-pull-11{right:91.66666667%}.ptx-runestone-container .col-lg-pull-10,.runestone-sphinx .col-lg-pull-10{right:83.33333333%}.ptx-runestone-container .col-lg-pull-9,.runestone-sphinx .col-lg-pull-9{right:75%}.ptx-runestone-container .col-lg-pull-8,.runestone-sphinx .col-lg-pull-8{right:66.66666667%}.ptx-runestone-container .col-lg-pull-7,.runestone-sphinx .col-lg-pull-7{right:58.33333333%}.ptx-runestone-container .col-lg-pull-6,.runestone-sphinx .col-lg-pull-6{right:50%}.ptx-runestone-container .col-lg-pull-5,.runestone-sphinx .col-lg-pull-5{right:41.66666667%}.ptx-runestone-container .col-lg-pull-4,.runestone-sphinx .col-lg-pull-4{right:33.33333333%}.ptx-runestone-container .col-lg-pull-3,.runestone-sphinx .col-lg-pull-3{right:25%}.ptx-runestone-container .col-lg-pull-2,.runestone-sphinx .col-lg-pull-2{right:16.66666667%}.ptx-runestone-container .col-lg-pull-1,.runestone-sphinx .col-lg-pull-1{right:8.33333333%}.ptx-runestone-container .col-lg-pull-0,.runestone-sphinx .col-lg-pull-0{right:auto}.ptx-runestone-container .col-lg-push-12,.runestone-sphinx .col-lg-push-12{left:100%}.ptx-runestone-container .col-lg-push-11,.runestone-sphinx .col-lg-push-11{left:91.66666667%}.ptx-runestone-container .col-lg-push-10,.runestone-sphinx .col-lg-push-10{left:83.33333333%}.ptx-runestone-container .col-lg-push-9,.runestone-sphinx .col-lg-push-9{left:75%}.ptx-runestone-container .col-lg-push-8,.runestone-sphinx .col-lg-push-8{left:66.66666667%}.ptx-runestone-container .col-lg-push-7,.runestone-sphinx .col-lg-push-7{left:58.33333333%}.ptx-runestone-container .col-lg-push-6,.runestone-sphinx .col-lg-push-6{left:50%}.ptx-runestone-container .col-lg-push-5,.runestone-sphinx .col-lg-push-5{left:41.66666667%}.ptx-runestone-container .col-lg-push-4,.runestone-sphinx .col-lg-push-4{left:33.33333333%}.ptx-runestone-container .col-lg-push-3,.runestone-sphinx .col-lg-push-3{left:25%}.ptx-runestone-container .col-lg-push-2,.runestone-sphinx .col-lg-push-2{left:16.66666667%}.ptx-runestone-container .col-lg-push-1,.runestone-sphinx .col-lg-push-1{left:8.33333333%}.ptx-runestone-container .col-lg-push-0,.runestone-sphinx .col-lg-push-0{left:auto}.ptx-runestone-container .col-lg-offset-12,.runestone-sphinx .col-lg-offset-12{margin-left:100%}.ptx-runestone-container .col-lg-offset-11,.runestone-sphinx .col-lg-offset-11{margin-left:91.66666667%}.ptx-runestone-container .col-lg-offset-10,.runestone-sphinx .col-lg-offset-10{margin-left:83.33333333%}.ptx-runestone-container .col-lg-offset-9,.runestone-sphinx .col-lg-offset-9{margin-left:75%}.ptx-runestone-container .col-lg-offset-8,.runestone-sphinx .col-lg-offset-8{margin-left:66.66666667%}.ptx-runestone-container .col-lg-offset-7,.runestone-sphinx .col-lg-offset-7{margin-left:58.33333333%}.ptx-runestone-container .col-lg-offset-6,.runestone-sphinx .col-lg-offset-6{margin-left:50%}.ptx-runestone-container .col-lg-offset-5,.runestone-sphinx .col-lg-offset-5{margin-left:41.66666667%}.ptx-runestone-container .col-lg-offset-4,.runestone-sphinx .col-lg-offset-4{margin-left:33.33333333%}.ptx-runestone-container .col-lg-offset-3,.runestone-sphinx .col-lg-offset-3{margin-left:25%}.ptx-runestone-container .col-lg-offset-2,.runestone-sphinx .col-lg-offset-2{margin-left:16.66666667%}.ptx-runestone-container .col-lg-offset-1,.runestone-sphinx .col-lg-offset-1{margin-left:8.33333333%}.ptx-runestone-container .col-lg-offset-0,.runestone-sphinx .col-lg-offset-0{margin-left:0}}.ptx-runestone-container table,.runestone-sphinx table{background-color:transparent}.ptx-runestone-container table col[class*=col-],.runestone-sphinx table col[class*=col-]{display:table-column;float:none;position:static}.ptx-runestone-container table td[class*=col-],.ptx-runestone-container table th[class*=col-],.runestone-sphinx table td[class*=col-],.runestone-sphinx table th[class*=col-]{display:table-cell;float:none;position:static}.ptx-runestone-container caption,.runestone-sphinx caption{color:#777;padding-bottom:8px;padding-top:8px;text-align:left}.ptx-runestone-container th,.runestone-sphinx th{text-align:left}.ptx-runestone-container .table,.runestone-sphinx .table{margin-bottom:20px;max-width:100%;width:100%}.ptx-runestone-container .table>tbody>tr>td,.ptx-runestone-container .table>tbody>tr>th,.ptx-runestone-container .table>tfoot>tr>td,.ptx-runestone-container .table>tfoot>tr>th,.ptx-runestone-container .table>thead>tr>td,.ptx-runestone-container .table>thead>tr>th,.runestone-sphinx .table>tbody>tr>td,.runestone-sphinx .table>tbody>tr>th,.runestone-sphinx .table>tfoot>tr>td,.runestone-sphinx .table>tfoot>tr>th,.runestone-sphinx .table>thead>tr>td,.runestone-sphinx .table>thead>tr>th{border-top:1px solid #ddd;line-height:1.42857143;padding:8px;vertical-align:top}.ptx-runestone-container .table>thead>tr>th,.runestone-sphinx .table>thead>tr>th{border-bottom:2px solid #ddd;vertical-align:bottom}.ptx-runestone-container .table>caption+thead>tr:first-child>td,.ptx-runestone-container .table>caption+thead>tr:first-child>th,.ptx-runestone-container .table>colgroup+thead>tr:first-child>td,.ptx-runestone-container .table>colgroup+thead>tr:first-child>th,.ptx-runestone-container .table>thead:first-child>tr:first-child>td,.ptx-runestone-container .table>thead:first-child>tr:first-child>th,.runestone-sphinx .table>caption+thead>tr:first-child>td,.runestone-sphinx .table>caption+thead>tr:first-child>th,.runestone-sphinx .table>colgroup+thead>tr:first-child>td,.runestone-sphinx .table>colgroup+thead>tr:first-child>th,.runestone-sphinx .table>thead:first-child>tr:first-child>td,.runestone-sphinx .table>thead:first-child>tr:first-child>th{border-top:0}.ptx-runestone-container .table>tbody+tbody,.runestone-sphinx .table>tbody+tbody{border-top:2px solid #ddd}.ptx-runestone-container .table .table,.runestone-sphinx .table .table{background-color:#fff}.ptx-runestone-container .table-condensed>tbody>tr>td,.ptx-runestone-container .table-condensed>tbody>tr>th,.ptx-runestone-container .table-condensed>tfoot>tr>td,.ptx-runestone-container .table-condensed>tfoot>tr>th,.ptx-runestone-container .table-condensed>thead>tr>td,.ptx-runestone-container .table-condensed>thead>tr>th,.runestone-sphinx .table-condensed>tbody>tr>td,.runestone-sphinx .table-condensed>tbody>tr>th,.runestone-sphinx .table-condensed>tfoot>tr>td,.runestone-sphinx .table-condensed>tfoot>tr>th,.runestone-sphinx .table-condensed>thead>tr>td,.runestone-sphinx .table-condensed>thead>tr>th{padding:5px}.ptx-runestone-container .table-bordered,.ptx-runestone-container .table-bordered>tbody>tr>td,.ptx-runestone-container .table-bordered>tbody>tr>th,.ptx-runestone-container .table-bordered>tfoot>tr>td,.ptx-runestone-container .table-bordered>tfoot>tr>th,.ptx-runestone-container .table-bordered>thead>tr>td,.ptx-runestone-container .table-bordered>thead>tr>th,.runestone-sphinx .table-bordered,.runestone-sphinx .table-bordered>tbody>tr>td,.runestone-sphinx .table-bordered>tbody>tr>th,.runestone-sphinx .table-bordered>tfoot>tr>td,.runestone-sphinx .table-bordered>tfoot>tr>th,.runestone-sphinx .table-bordered>thead>tr>td,.runestone-sphinx .table-bordered>thead>tr>th{border:1px solid #ddd}.ptx-runestone-container .table-bordered>thead>tr>td,.ptx-runestone-container .table-bordered>thead>tr>th,.runestone-sphinx .table-bordered>thead>tr>td,.runestone-sphinx .table-bordered>thead>tr>th{border-bottom-width:2px}.ptx-runestone-container .table-striped>tbody>tr:nth-of-type(odd),.runestone-sphinx .table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.ptx-runestone-container .table-hover>tbody>tr:hover,.ptx-runestone-container .table>tbody>tr.active>td,.ptx-runestone-container .table>tbody>tr.active>th,.ptx-runestone-container .table>tbody>tr>td.active,.ptx-runestone-container .table>tbody>tr>th.active,.ptx-runestone-container .table>tfoot>tr.active>td,.ptx-runestone-container .table>tfoot>tr.active>th,.ptx-runestone-container .table>tfoot>tr>td.active,.ptx-runestone-container .table>tfoot>tr>th.active,.ptx-runestone-container .table>thead>tr.active>td,.ptx-runestone-container .table>thead>tr.active>th,.ptx-runestone-container .table>thead>tr>td.active,.ptx-runestone-container .table>thead>tr>th.active,.runestone-sphinx .table-hover>tbody>tr:hover,.runestone-sphinx .table>tbody>tr.active>td,.runestone-sphinx .table>tbody>tr.active>th,.runestone-sphinx .table>tbody>tr>td.active,.runestone-sphinx .table>tbody>tr>th.active,.runestone-sphinx .table>tfoot>tr.active>td,.runestone-sphinx .table>tfoot>tr.active>th,.runestone-sphinx .table>tfoot>tr>td.active,.runestone-sphinx .table>tfoot>tr>th.active,.runestone-sphinx .table>thead>tr.active>td,.runestone-sphinx .table>thead>tr.active>th,.runestone-sphinx .table>thead>tr>td.active,.runestone-sphinx .table>thead>tr>th.active{background-color:#f5f5f5}.ptx-runestone-container .table-hover>tbody>tr.active:hover>td,.ptx-runestone-container .table-hover>tbody>tr.active:hover>th,.ptx-runestone-container .table-hover>tbody>tr:hover>.active,.ptx-runestone-container .table-hover>tbody>tr>td.active:hover,.ptx-runestone-container .table-hover>tbody>tr>th.active:hover,.runestone-sphinx .table-hover>tbody>tr.active:hover>td,.runestone-sphinx .table-hover>tbody>tr.active:hover>th,.runestone-sphinx .table-hover>tbody>tr:hover>.active,.runestone-sphinx .table-hover>tbody>tr>td.active:hover,.runestone-sphinx .table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.ptx-runestone-container .table>tbody>tr.success>td,.ptx-runestone-container .table>tbody>tr.success>th,.ptx-runestone-container .table>tbody>tr>td.success,.ptx-runestone-container .table>tbody>tr>th.success,.ptx-runestone-container .table>tfoot>tr.success>td,.ptx-runestone-container .table>tfoot>tr.success>th,.ptx-runestone-container .table>tfoot>tr>td.success,.ptx-runestone-container .table>tfoot>tr>th.success,.ptx-runestone-container .table>thead>tr.success>td,.ptx-runestone-container .table>thead>tr.success>th,.ptx-runestone-container .table>thead>tr>td.success,.ptx-runestone-container .table>thead>tr>th.success,.runestone-sphinx .table>tbody>tr.success>td,.runestone-sphinx .table>tbody>tr.success>th,.runestone-sphinx .table>tbody>tr>td.success,.runestone-sphinx .table>tbody>tr>th.success,.runestone-sphinx .table>tfoot>tr.success>td,.runestone-sphinx .table>tfoot>tr.success>th,.runestone-sphinx .table>tfoot>tr>td.success,.runestone-sphinx .table>tfoot>tr>th.success,.runestone-sphinx .table>thead>tr.success>td,.runestone-sphinx .table>thead>tr.success>th,.runestone-sphinx .table>thead>tr>td.success,.runestone-sphinx .table>thead>tr>th.success{background-color:#dff0d8}.ptx-runestone-container .table-hover>tbody>tr.success:hover>td,.ptx-runestone-container .table-hover>tbody>tr.success:hover>th,.ptx-runestone-container .table-hover>tbody>tr:hover>.success,.ptx-runestone-container .table-hover>tbody>tr>td.success:hover,.ptx-runestone-container .table-hover>tbody>tr>th.success:hover,.runestone-sphinx .table-hover>tbody>tr.success:hover>td,.runestone-sphinx .table-hover>tbody>tr.success:hover>th,.runestone-sphinx .table-hover>tbody>tr:hover>.success,.runestone-sphinx .table-hover>tbody>tr>td.success:hover,.runestone-sphinx .table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.ptx-runestone-container .table>tbody>tr.info>td,.ptx-runestone-container .table>tbody>tr.info>th,.ptx-runestone-container .table>tbody>tr>td.info,.ptx-runestone-container .table>tbody>tr>th.info,.ptx-runestone-container .table>tfoot>tr.info>td,.ptx-runestone-container .table>tfoot>tr.info>th,.ptx-runestone-container .table>tfoot>tr>td.info,.ptx-runestone-container .table>tfoot>tr>th.info,.ptx-runestone-container .table>thead>tr.info>td,.ptx-runestone-container .table>thead>tr.info>th,.ptx-runestone-container .table>thead>tr>td.info,.ptx-runestone-container .table>thead>tr>th.info,.runestone-sphinx .table>tbody>tr.info>td,.runestone-sphinx .table>tbody>tr.info>th,.runestone-sphinx .table>tbody>tr>td.info,.runestone-sphinx .table>tbody>tr>th.info,.runestone-sphinx .table>tfoot>tr.info>td,.runestone-sphinx .table>tfoot>tr.info>th,.runestone-sphinx .table>tfoot>tr>td.info,.runestone-sphinx .table>tfoot>tr>th.info,.runestone-sphinx .table>thead>tr.info>td,.runestone-sphinx .table>thead>tr.info>th,.runestone-sphinx .table>thead>tr>td.info,.runestone-sphinx .table>thead>tr>th.info{background-color:#d9edf7}.ptx-runestone-container .table-hover>tbody>tr.info:hover>td,.ptx-runestone-container .table-hover>tbody>tr.info:hover>th,.ptx-runestone-container .table-hover>tbody>tr:hover>.info,.ptx-runestone-container .table-hover>tbody>tr>td.info:hover,.ptx-runestone-container .table-hover>tbody>tr>th.info:hover,.runestone-sphinx .table-hover>tbody>tr.info:hover>td,.runestone-sphinx .table-hover>tbody>tr.info:hover>th,.runestone-sphinx .table-hover>tbody>tr:hover>.info,.runestone-sphinx .table-hover>tbody>tr>td.info:hover,.runestone-sphinx .table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.ptx-runestone-container .table>tbody>tr.warning>td,.ptx-runestone-container .table>tbody>tr.warning>th,.ptx-runestone-container .table>tbody>tr>td.warning,.ptx-runestone-container .table>tbody>tr>th.warning,.ptx-runestone-container .table>tfoot>tr.warning>td,.ptx-runestone-container .table>tfoot>tr.warning>th,.ptx-runestone-container .table>tfoot>tr>td.warning,.ptx-runestone-container .table>tfoot>tr>th.warning,.ptx-runestone-container .table>thead>tr.warning>td,.ptx-runestone-container .table>thead>tr.warning>th,.ptx-runestone-container .table>thead>tr>td.warning,.ptx-runestone-container .table>thead>tr>th.warning,.runestone-sphinx .table>tbody>tr.warning>td,.runestone-sphinx .table>tbody>tr.warning>th,.runestone-sphinx .table>tbody>tr>td.warning,.runestone-sphinx .table>tbody>tr>th.warning,.runestone-sphinx .table>tfoot>tr.warning>td,.runestone-sphinx .table>tfoot>tr.warning>th,.runestone-sphinx .table>tfoot>tr>td.warning,.runestone-sphinx .table>tfoot>tr>th.warning,.runestone-sphinx .table>thead>tr.warning>td,.runestone-sphinx .table>thead>tr.warning>th,.runestone-sphinx .table>thead>tr>td.warning,.runestone-sphinx .table>thead>tr>th.warning{background-color:#fcf8e3}.ptx-runestone-container .table-hover>tbody>tr.warning:hover>td,.ptx-runestone-container .table-hover>tbody>tr.warning:hover>th,.ptx-runestone-container .table-hover>tbody>tr:hover>.warning,.ptx-runestone-container .table-hover>tbody>tr>td.warning:hover,.ptx-runestone-container .table-hover>tbody>tr>th.warning:hover,.runestone-sphinx .table-hover>tbody>tr.warning:hover>td,.runestone-sphinx .table-hover>tbody>tr.warning:hover>th,.runestone-sphinx .table-hover>tbody>tr:hover>.warning,.runestone-sphinx .table-hover>tbody>tr>td.warning:hover,.runestone-sphinx .table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.ptx-runestone-container .table>tbody>tr.danger>td,.ptx-runestone-container .table>tbody>tr.danger>th,.ptx-runestone-container .table>tbody>tr>td.danger,.ptx-runestone-container .table>tbody>tr>th.danger,.ptx-runestone-container .table>tfoot>tr.danger>td,.ptx-runestone-container .table>tfoot>tr.danger>th,.ptx-runestone-container .table>tfoot>tr>td.danger,.ptx-runestone-container .table>tfoot>tr>th.danger,.ptx-runestone-container .table>thead>tr.danger>td,.ptx-runestone-container .table>thead>tr.danger>th,.ptx-runestone-container .table>thead>tr>td.danger,.ptx-runestone-container .table>thead>tr>th.danger,.runestone-sphinx .table>tbody>tr.danger>td,.runestone-sphinx .table>tbody>tr.danger>th,.runestone-sphinx .table>tbody>tr>td.danger,.runestone-sphinx .table>tbody>tr>th.danger,.runestone-sphinx .table>tfoot>tr.danger>td,.runestone-sphinx .table>tfoot>tr.danger>th,.runestone-sphinx .table>tfoot>tr>td.danger,.runestone-sphinx .table>tfoot>tr>th.danger,.runestone-sphinx .table>thead>tr.danger>td,.runestone-sphinx .table>thead>tr.danger>th,.runestone-sphinx .table>thead>tr>td.danger,.runestone-sphinx .table>thead>tr>th.danger{background-color:#f2dede}.ptx-runestone-container .table-hover>tbody>tr.danger:hover>td,.ptx-runestone-container .table-hover>tbody>tr.danger:hover>th,.ptx-runestone-container .table-hover>tbody>tr:hover>.danger,.ptx-runestone-container .table-hover>tbody>tr>td.danger:hover,.ptx-runestone-container .table-hover>tbody>tr>th.danger:hover,.runestone-sphinx .table-hover>tbody>tr.danger:hover>td,.runestone-sphinx .table-hover>tbody>tr.danger:hover>th,.runestone-sphinx .table-hover>tbody>tr:hover>.danger,.runestone-sphinx .table-hover>tbody>tr>td.danger:hover,.runestone-sphinx .table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.ptx-runestone-container .table-responsive,.runestone-sphinx .table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.ptx-runestone-container .table-responsive,.runestone-sphinx .table-responsive{-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd;margin-bottom:15px;overflow-y:hidden;width:100%}.ptx-runestone-container .table-responsive>.table,.runestone-sphinx .table-responsive>.table{margin-bottom:0}.ptx-runestone-container .table-responsive>.table>tbody>tr>td,.ptx-runestone-container .table-responsive>.table>tbody>tr>th,.ptx-runestone-container .table-responsive>.table>tfoot>tr>td,.ptx-runestone-container .table-responsive>.table>tfoot>tr>th,.ptx-runestone-container .table-responsive>.table>thead>tr>td,.ptx-runestone-container .table-responsive>.table>thead>tr>th,.runestone-sphinx .table-responsive>.table>tbody>tr>td,.runestone-sphinx .table-responsive>.table>tbody>tr>th,.runestone-sphinx .table-responsive>.table>tfoot>tr>td,.runestone-sphinx .table-responsive>.table>tfoot>tr>th,.runestone-sphinx .table-responsive>.table>thead>tr>td,.runestone-sphinx .table-responsive>.table>thead>tr>th{white-space:nowrap}.ptx-runestone-container .table-responsive>.table-bordered,.runestone-sphinx .table-responsive>.table-bordered{border:0}.ptx-runestone-container .table-responsive>.table-bordered>tbody>tr>td:first-child,.ptx-runestone-container .table-responsive>.table-bordered>tbody>tr>th:first-child,.ptx-runestone-container .table-responsive>.table-bordered>tfoot>tr>td:first-child,.ptx-runestone-container .table-responsive>.table-bordered>tfoot>tr>th:first-child,.ptx-runestone-container .table-responsive>.table-bordered>thead>tr>td:first-child,.ptx-runestone-container .table-responsive>.table-bordered>thead>tr>th:first-child,.runestone-sphinx .table-responsive>.table-bordered>tbody>tr>td:first-child,.runestone-sphinx .table-responsive>.table-bordered>tbody>tr>th:first-child,.runestone-sphinx .table-responsive>.table-bordered>tfoot>tr>td:first-child,.runestone-sphinx .table-responsive>.table-bordered>tfoot>tr>th:first-child,.runestone-sphinx .table-responsive>.table-bordered>thead>tr>td:first-child,.runestone-sphinx .table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.ptx-runestone-container .table-responsive>.table-bordered>tbody>tr>td:last-child,.ptx-runestone-container .table-responsive>.table-bordered>tbody>tr>th:last-child,.ptx-runestone-container .table-responsive>.table-bordered>tfoot>tr>td:last-child,.ptx-runestone-container .table-responsive>.table-bordered>tfoot>tr>th:last-child,.ptx-runestone-container .table-responsive>.table-bordered>thead>tr>td:last-child,.ptx-runestone-container .table-responsive>.table-bordered>thead>tr>th:last-child,.runestone-sphinx .table-responsive>.table-bordered>tbody>tr>td:last-child,.runestone-sphinx .table-responsive>.table-bordered>tbody>tr>th:last-child,.runestone-sphinx .table-responsive>.table-bordered>tfoot>tr>td:last-child,.runestone-sphinx .table-responsive>.table-bordered>tfoot>tr>th:last-child,.runestone-sphinx .table-responsive>.table-bordered>thead>tr>td:last-child,.runestone-sphinx .table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.ptx-runestone-container .table-responsive>.table-bordered>tbody>tr:last-child>td,.ptx-runestone-container .table-responsive>.table-bordered>tbody>tr:last-child>th,.ptx-runestone-container .table-responsive>.table-bordered>tfoot>tr:last-child>td,.ptx-runestone-container .table-responsive>.table-bordered>tfoot>tr:last-child>th,.runestone-sphinx .table-responsive>.table-bordered>tbody>tr:last-child>td,.runestone-sphinx .table-responsive>.table-bordered>tbody>tr:last-child>th,.runestone-sphinx .table-responsive>.table-bordered>tfoot>tr:last-child>td,.runestone-sphinx .table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}.ptx-runestone-container fieldset,.runestone-sphinx fieldset{border:0;margin:0;min-width:0;padding:0}.ptx-runestone-container legend,.runestone-sphinx legend{border:0;border-bottom:1px solid #e5e5e5;color:#333;display:block;font-size:21px;line-height:inherit;margin-bottom:20px;padding:0;width:100%}.ptx-runestone-container label,.runestone-sphinx label{display:inline-block;font-weight:700;margin-bottom:5px;max-width:100%}.ptx-runestone-container input[type=search],.runestone-sphinx input[type=search]{-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ptx-runestone-container input[type=checkbox],.ptx-runestone-container input[type=radio],.runestone-sphinx input[type=checkbox],.runestone-sphinx input[type=radio]{line-height:normal;margin:4px 0 0;margin-top:1px\9}.ptx-runestone-container fieldset[disabled] input[type=checkbox],.ptx-runestone-container fieldset[disabled] input[type=radio],.ptx-runestone-container input[type=checkbox].disabled,.ptx-runestone-container input[type=checkbox][disabled],.ptx-runestone-container input[type=radio].disabled,.ptx-runestone-container input[type=radio][disabled],.runestone-sphinx fieldset[disabled] input[type=checkbox],.runestone-sphinx fieldset[disabled] input[type=radio],.runestone-sphinx input[type=checkbox].disabled,.runestone-sphinx input[type=checkbox][disabled],.runestone-sphinx input[type=radio].disabled,.runestone-sphinx input[type=radio][disabled]{cursor:not-allowed}.ptx-runestone-container input[type=file],.runestone-sphinx input[type=file]{display:block}.ptx-runestone-container input[type=range],.runestone-sphinx input[type=range]{display:block;width:100%}.ptx-runestone-container select[multiple],.ptx-runestone-container select[size],.runestone-sphinx select[multiple],.runestone-sphinx select[size]{height:auto}.ptx-runestone-container input[type=checkbox]:focus,.ptx-runestone-container input[type=file]:focus,.ptx-runestone-container input[type=radio]:focus,.runestone-sphinx input[type=checkbox]:focus,.runestone-sphinx input[type=file]:focus,.runestone-sphinx input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.ptx-runestone-container output,.runestone-sphinx output{color:#555;display:block;font-size:14px;line-height:1.42857143;padding-top:7px}.ptx-runestone-container .form-control,.runestone-sphinx .form-control{background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);color:#555;display:block;font-size:14px;height:34px;line-height:1.42857143;padding:6px 12px;-webkit-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-o-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;width:100%}.ptx-runestone-container .form-control:focus,.runestone-sphinx .form-control:focus{border-color:#66afe9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);outline:0}.ptx-runestone-container .form-control::-moz-placeholder,.runestone-sphinx .form-control::-moz-placeholder{color:#999;opacity:1}.ptx-runestone-container .form-control:-ms-input-placeholder,.runestone-sphinx .form-control:-ms-input-placeholder{color:#999}.ptx-runestone-container .form-control::-webkit-input-placeholder,.runestone-sphinx .form-control::-webkit-input-placeholder{color:#999}.ptx-runestone-container .form-control::-ms-expand,.runestone-sphinx .form-control::-ms-expand{background-color:transparent;border:0}.ptx-runestone-container .form-control[disabled],.ptx-runestone-container .form-control[readonly],.ptx-runestone-container fieldset[disabled] .form-control,.runestone-sphinx .form-control[disabled],.runestone-sphinx .form-control[readonly],.runestone-sphinx fieldset[disabled] .form-control{background-color:#eee;opacity:1}.ptx-runestone-container .form-control[disabled],.ptx-runestone-container fieldset[disabled] .form-control,.runestone-sphinx .form-control[disabled],.runestone-sphinx fieldset[disabled] .form-control{cursor:not-allowed}.ptx-runestone-container textarea.form-control,.runestone-sphinx textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){.ptx-runestone-container input[type=date].form-control,.ptx-runestone-container input[type=datetime-local].form-control,.ptx-runestone-container input[type=month].form-control,.ptx-runestone-container input[type=time].form-control,.runestone-sphinx input[type=date].form-control,.runestone-sphinx input[type=datetime-local].form-control,.runestone-sphinx input[type=month].form-control,.runestone-sphinx input[type=time].form-control{line-height:34px}.ptx-runestone-container .input-group-sm input[type=date],.ptx-runestone-container .input-group-sm input[type=datetime-local],.ptx-runestone-container .input-group-sm input[type=month],.ptx-runestone-container .input-group-sm input[type=time],.ptx-runestone-container input[type=date].input-sm,.ptx-runestone-container input[type=datetime-local].input-sm,.ptx-runestone-container input[type=month].input-sm,.ptx-runestone-container input[type=time].input-sm,.runestone-sphinx .input-group-sm input[type=date],.runestone-sphinx .input-group-sm input[type=datetime-local],.runestone-sphinx .input-group-sm input[type=month],.runestone-sphinx .input-group-sm input[type=time],.runestone-sphinx input[type=date].input-sm,.runestone-sphinx input[type=datetime-local].input-sm,.runestone-sphinx input[type=month].input-sm,.runestone-sphinx input[type=time].input-sm{line-height:30px}.ptx-runestone-container .input-group-lg input[type=date],.ptx-runestone-container .input-group-lg input[type=datetime-local],.ptx-runestone-container .input-group-lg input[type=month],.ptx-runestone-container .input-group-lg input[type=time],.ptx-runestone-container input[type=date].input-lg,.ptx-runestone-container input[type=datetime-local].input-lg,.ptx-runestone-container input[type=month].input-lg,.ptx-runestone-container input[type=time].input-lg,.runestone-sphinx .input-group-lg input[type=date],.runestone-sphinx .input-group-lg input[type=datetime-local],.runestone-sphinx .input-group-lg input[type=month],.runestone-sphinx .input-group-lg input[type=time],.runestone-sphinx input[type=date].input-lg,.runestone-sphinx input[type=datetime-local].input-lg,.runestone-sphinx input[type=month].input-lg,.runestone-sphinx input[type=time].input-lg{line-height:46px}}.ptx-runestone-container .form-group,.runestone-sphinx .form-group{margin-bottom:15px}.ptx-runestone-container .checkbox,.ptx-runestone-container .radio,.runestone-sphinx .checkbox,.runestone-sphinx .radio{display:block;margin-bottom:10px;margin-top:10px;position:relative}.ptx-runestone-container .checkbox.disabled label,.ptx-runestone-container .radio.disabled label,.ptx-runestone-container fieldset[disabled] .checkbox label,.ptx-runestone-container fieldset[disabled] .radio label,.runestone-sphinx .checkbox.disabled label,.runestone-sphinx .radio.disabled label,.runestone-sphinx fieldset[disabled] .checkbox label,.runestone-sphinx fieldset[disabled] .radio label{cursor:not-allowed}.ptx-runestone-container .checkbox label,.ptx-runestone-container .radio label,.runestone-sphinx .checkbox label,.runestone-sphinx .radio label{cursor:pointer;font-weight:400;margin-bottom:0;min-height:20px;padding-left:20px}.ptx-runestone-container .checkbox input[type=checkbox],.ptx-runestone-container .checkbox-inline input[type=checkbox],.ptx-runestone-container .radio input[type=radio],.ptx-runestone-container .radio-inline input[type=radio],.runestone-sphinx .checkbox input[type=checkbox],.runestone-sphinx .checkbox-inline input[type=checkbox],.runestone-sphinx .radio input[type=radio],.runestone-sphinx .radio-inline input[type=radio]{margin-left:-20px;margin-top:4px\9;position:absolute}.ptx-runestone-container .checkbox+.checkbox,.ptx-runestone-container .radio+.radio,.runestone-sphinx .checkbox+.checkbox,.runestone-sphinx .radio+.radio{margin-top:-5px}.ptx-runestone-container .checkbox-inline,.ptx-runestone-container .radio-inline,.runestone-sphinx .checkbox-inline,.runestone-sphinx .radio-inline{cursor:pointer;display:inline-block;font-weight:400;margin-bottom:0;padding-left:20px;position:relative;vertical-align:middle}.ptx-runestone-container .checkbox-inline.disabled,.ptx-runestone-container .radio-inline.disabled,.ptx-runestone-container fieldset[disabled] .checkbox-inline,.ptx-runestone-container fieldset[disabled] .radio-inline,.runestone-sphinx .checkbox-inline.disabled,.runestone-sphinx .radio-inline.disabled,.runestone-sphinx fieldset[disabled] .checkbox-inline,.runestone-sphinx fieldset[disabled] .radio-inline{cursor:not-allowed}.ptx-runestone-container .checkbox-inline+.checkbox-inline,.ptx-runestone-container .radio-inline+.radio-inline,.runestone-sphinx .checkbox-inline+.checkbox-inline,.runestone-sphinx .radio-inline+.radio-inline{margin-left:10px;margin-top:0}.ptx-runestone-container .form-control-static,.runestone-sphinx .form-control-static{margin-bottom:0;min-height:34px;padding-bottom:7px;padding-top:7px}.ptx-runestone-container .form-control-static.input-lg,.ptx-runestone-container .form-control-static.input-sm,.runestone-sphinx .form-control-static.input-lg,.runestone-sphinx .form-control-static.input-sm{padding-left:0;padding-right:0}.ptx-runestone-container .input-sm,.runestone-sphinx .input-sm{border-radius:3px;font-size:12px;height:30px;line-height:1.5;padding:5px 10px}.ptx-runestone-container select.input-sm,.runestone-sphinx select.input-sm{height:30px;line-height:30px}.ptx-runestone-container select[multiple].input-sm,.ptx-runestone-container textarea.input-sm,.runestone-sphinx select[multiple].input-sm,.runestone-sphinx textarea.input-sm{height:auto}.ptx-runestone-container .form-group-sm .form-control,.runestone-sphinx .form-group-sm .form-control{border-radius:3px;font-size:12px;height:30px;line-height:1.5;padding:5px 10px}.ptx-runestone-container .form-group-sm select.form-control,.runestone-sphinx .form-group-sm select.form-control{height:30px;line-height:30px}.ptx-runestone-container .form-group-sm select[multiple].form-control,.ptx-runestone-container .form-group-sm textarea.form-control,.runestone-sphinx .form-group-sm select[multiple].form-control,.runestone-sphinx .form-group-sm textarea.form-control{height:auto}.ptx-runestone-container .form-group-sm .form-control-static,.runestone-sphinx .form-group-sm .form-control-static{font-size:12px;height:30px;line-height:1.5;min-height:32px;padding:6px 10px}.ptx-runestone-container .input-lg,.runestone-sphinx .input-lg{border-radius:6px;font-size:18px;height:46px;line-height:1.3333333;padding:10px 16px}.ptx-runestone-container select.input-lg,.runestone-sphinx select.input-lg{height:46px;line-height:46px}.ptx-runestone-container select[multiple].input-lg,.ptx-runestone-container textarea.input-lg,.runestone-sphinx select[multiple].input-lg,.runestone-sphinx textarea.input-lg{height:auto}.ptx-runestone-container .form-group-lg .form-control,.runestone-sphinx .form-group-lg .form-control{border-radius:6px;font-size:18px;height:46px;line-height:1.3333333;padding:10px 16px}.ptx-runestone-container .form-group-lg select.form-control,.runestone-sphinx .form-group-lg select.form-control{height:46px;line-height:46px}.ptx-runestone-container .form-group-lg select[multiple].form-control,.ptx-runestone-container .form-group-lg textarea.form-control,.runestone-sphinx .form-group-lg select[multiple].form-control,.runestone-sphinx .form-group-lg textarea.form-control{height:auto}.ptx-runestone-container .form-group-lg .form-control-static,.runestone-sphinx .form-group-lg .form-control-static{font-size:18px;height:46px;line-height:1.3333333;min-height:38px;padding:11px 16px}.ptx-runestone-container .has-feedback,.runestone-sphinx .has-feedback{position:relative}.ptx-runestone-container .has-feedback .form-control,.runestone-sphinx .has-feedback .form-control{padding-right:42.5px}.ptx-runestone-container .form-control-feedback,.runestone-sphinx .form-control-feedback{display:block;height:34px;line-height:34px;pointer-events:none;position:absolute;right:0;text-align:center;top:0;width:34px;z-index:2}.ptx-runestone-container .form-group-lg .form-control+.form-control-feedback,.ptx-runestone-container .input-group-lg+.form-control-feedback,.ptx-runestone-container .input-lg+.form-control-feedback,.runestone-sphinx .form-group-lg .form-control+.form-control-feedback,.runestone-sphinx .input-group-lg+.form-control-feedback,.runestone-sphinx .input-lg+.form-control-feedback{height:46px;line-height:46px;width:46px}.ptx-runestone-container .form-group-sm .form-control+.form-control-feedback,.ptx-runestone-container .input-group-sm+.form-control-feedback,.ptx-runestone-container .input-sm+.form-control-feedback,.runestone-sphinx .form-group-sm .form-control+.form-control-feedback,.runestone-sphinx .input-group-sm+.form-control-feedback,.runestone-sphinx .input-sm+.form-control-feedback{height:30px;line-height:30px;width:30px}.ptx-runestone-container .has-success .checkbox,.ptx-runestone-container .has-success .checkbox-inline,.ptx-runestone-container .has-success .control-label,.ptx-runestone-container .has-success .help-block,.ptx-runestone-container .has-success .radio,.ptx-runestone-container .has-success .radio-inline,.ptx-runestone-container .has-success.checkbox label,.ptx-runestone-container .has-success.checkbox-inline label,.ptx-runestone-container .has-success.radio label,.ptx-runestone-container .has-success.radio-inline label,.runestone-sphinx .has-success .checkbox,.runestone-sphinx .has-success .checkbox-inline,.runestone-sphinx .has-success .control-label,.runestone-sphinx .has-success .help-block,.runestone-sphinx .has-success .radio,.runestone-sphinx .has-success .radio-inline,.runestone-sphinx .has-success.checkbox label,.runestone-sphinx .has-success.checkbox-inline label,.runestone-sphinx .has-success.radio label,.runestone-sphinx .has-success.radio-inline label{color:#3c763d}.ptx-runestone-container .has-success .form-control,.runestone-sphinx .has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.ptx-runestone-container .has-success .form-control:focus,.runestone-sphinx .has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.ptx-runestone-container .has-success .input-group-addon,.runestone-sphinx .has-success .input-group-addon{background-color:#dff0d8;border-color:#3c763d;color:#3c763d}.ptx-runestone-container .has-success .form-control-feedback,.runestone-sphinx .has-success .form-control-feedback{color:#3c763d}.ptx-runestone-container .has-warning .checkbox,.ptx-runestone-container .has-warning .checkbox-inline,.ptx-runestone-container .has-warning .control-label,.ptx-runestone-container .has-warning .help-block,.ptx-runestone-container .has-warning .radio,.ptx-runestone-container .has-warning .radio-inline,.ptx-runestone-container .has-warning.checkbox label,.ptx-runestone-container .has-warning.checkbox-inline label,.ptx-runestone-container .has-warning.radio label,.ptx-runestone-container .has-warning.radio-inline label,.runestone-sphinx .has-warning .checkbox,.runestone-sphinx .has-warning .checkbox-inline,.runestone-sphinx .has-warning .control-label,.runestone-sphinx .has-warning .help-block,.runestone-sphinx .has-warning .radio,.runestone-sphinx .has-warning .radio-inline,.runestone-sphinx .has-warning.checkbox label,.runestone-sphinx .has-warning.checkbox-inline label,.runestone-sphinx .has-warning.radio label,.runestone-sphinx .has-warning.radio-inline label{color:#8a6d3b}.ptx-runestone-container .has-warning .form-control,.runestone-sphinx .has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.ptx-runestone-container .has-warning .form-control:focus,.runestone-sphinx .has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.ptx-runestone-container .has-warning .input-group-addon,.runestone-sphinx .has-warning .input-group-addon{background-color:#fcf8e3;border-color:#8a6d3b;color:#8a6d3b}.ptx-runestone-container .has-warning .form-control-feedback,.runestone-sphinx .has-warning .form-control-feedback{color:#8a6d3b}.ptx-runestone-container .has-error .checkbox,.ptx-runestone-container .has-error .checkbox-inline,.ptx-runestone-container .has-error .control-label,.ptx-runestone-container .has-error .help-block,.ptx-runestone-container .has-error .radio,.ptx-runestone-container .has-error .radio-inline,.ptx-runestone-container .has-error.checkbox label,.ptx-runestone-container .has-error.checkbox-inline label,.ptx-runestone-container .has-error.radio label,.ptx-runestone-container .has-error.radio-inline label,.runestone-sphinx .has-error .checkbox,.runestone-sphinx .has-error .checkbox-inline,.runestone-sphinx .has-error .control-label,.runestone-sphinx .has-error .help-block,.runestone-sphinx .has-error .radio,.runestone-sphinx .has-error .radio-inline,.runestone-sphinx .has-error.checkbox label,.runestone-sphinx .has-error.checkbox-inline label,.runestone-sphinx .has-error.radio label,.runestone-sphinx .has-error.radio-inline label{color:#a94442}.ptx-runestone-container .has-error .form-control,.runestone-sphinx .has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.ptx-runestone-container .has-error .form-control:focus,.runestone-sphinx .has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.ptx-runestone-container .has-error .input-group-addon,.runestone-sphinx .has-error .input-group-addon{background-color:#f2dede;border-color:#a94442;color:#a94442}.ptx-runestone-container .has-error .form-control-feedback,.runestone-sphinx .has-error .form-control-feedback{color:#a94442}.ptx-runestone-container .has-feedback label~.form-control-feedback,.runestone-sphinx .has-feedback label~.form-control-feedback{top:25px}.ptx-runestone-container .has-feedback label.sr-only~.form-control-feedback,.runestone-sphinx .has-feedback label.sr-only~.form-control-feedback{top:0}.ptx-runestone-container .help-block,.runestone-sphinx .help-block{color:#737373;display:block;margin-bottom:10px;margin-top:5px}@media (min-width:768px){.ptx-runestone-container .form-inline .form-group,.runestone-sphinx .form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.ptx-runestone-container .form-inline .form-control,.runestone-sphinx .form-inline .form-control{display:inline-block;vertical-align:middle;width:auto}.ptx-runestone-container .form-inline .form-control-static,.runestone-sphinx .form-inline .form-control-static{display:inline-block}.ptx-runestone-container .form-inline .input-group,.runestone-sphinx .form-inline .input-group{display:inline-table;vertical-align:middle}.ptx-runestone-container .form-inline .input-group .form-control,.ptx-runestone-container .form-inline .input-group .input-group-addon,.ptx-runestone-container .form-inline .input-group .input-group-btn,.runestone-sphinx .form-inline .input-group .form-control,.runestone-sphinx .form-inline .input-group .input-group-addon,.runestone-sphinx .form-inline .input-group .input-group-btn{width:auto}.ptx-runestone-container .form-inline .input-group>.form-control,.runestone-sphinx .form-inline .input-group>.form-control{width:100%}.ptx-runestone-container .form-inline .control-label,.runestone-sphinx .form-inline .control-label{margin-bottom:0;vertical-align:middle}.ptx-runestone-container .form-inline .checkbox,.ptx-runestone-container .form-inline .radio,.runestone-sphinx .form-inline .checkbox,.runestone-sphinx .form-inline .radio{display:inline-block;margin-bottom:0;margin-top:0;vertical-align:middle}.ptx-runestone-container .form-inline .checkbox label,.ptx-runestone-container .form-inline .radio label,.runestone-sphinx .form-inline .checkbox label,.runestone-sphinx .form-inline .radio label{padding-left:0}.ptx-runestone-container .form-inline .checkbox input[type=checkbox],.ptx-runestone-container .form-inline .radio input[type=radio],.runestone-sphinx .form-inline .checkbox input[type=checkbox],.runestone-sphinx .form-inline .radio input[type=radio]{margin-left:0;position:relative}.ptx-runestone-container .form-inline .has-feedback .form-control-feedback,.runestone-sphinx .form-inline .has-feedback .form-control-feedback{top:0}}.ptx-runestone-container .form-horizontal .checkbox,.ptx-runestone-container .form-horizontal .checkbox-inline,.ptx-runestone-container .form-horizontal .radio,.ptx-runestone-container .form-horizontal .radio-inline,.runestone-sphinx .form-horizontal .checkbox,.runestone-sphinx .form-horizontal .checkbox-inline,.runestone-sphinx .form-horizontal .radio,.runestone-sphinx .form-horizontal .radio-inline{margin-bottom:0;margin-top:0;padding-top:7px}.ptx-runestone-container .form-horizontal .checkbox,.ptx-runestone-container .form-horizontal .radio,.runestone-sphinx .form-horizontal .checkbox,.runestone-sphinx .form-horizontal .radio{min-height:27px}.ptx-runestone-container .form-horizontal .form-group,.runestone-sphinx .form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.ptx-runestone-container .form-horizontal .control-label,.runestone-sphinx .form-horizontal .control-label{margin-bottom:0;padding-top:7px;text-align:right}}.ptx-runestone-container .form-horizontal .has-feedback .form-control-feedback,.runestone-sphinx .form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.ptx-runestone-container .form-horizontal .form-group-lg .control-label,.runestone-sphinx .form-horizontal .form-group-lg .control-label{font-size:18px;padding-top:11px}.ptx-runestone-container .form-horizontal .form-group-sm .control-label,.runestone-sphinx .form-horizontal .form-group-sm .control-label{font-size:12px;padding-top:6px}}.ptx-runestone-container .btn,.runestone-sphinx .btn{background-image:none;border:1px solid transparent;border-radius:4px;cursor:pointer;display:inline-block;font-size:14px;font-weight:400;line-height:1.42857143;margin-bottom:0;padding:6px 12px;text-align:center;-ms-touch-action:manipulation;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.ptx-runestone-container .btn.active.focus,.ptx-runestone-container .btn.active:focus,.ptx-runestone-container .btn.focus,.ptx-runestone-container .btn:active.focus,.ptx-runestone-container .btn:active:focus,.ptx-runestone-container .btn:focus,.runestone-sphinx .btn.active.focus,.runestone-sphinx .btn.active:focus,.runestone-sphinx .btn.focus,.runestone-sphinx .btn:active.focus,.runestone-sphinx .btn:active:focus,.runestone-sphinx .btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.ptx-runestone-container .btn.focus,.ptx-runestone-container .btn:focus,.ptx-runestone-container .btn:hover,.runestone-sphinx .btn.focus,.runestone-sphinx .btn:focus,.runestone-sphinx .btn:hover{color:#333;text-decoration:none}.ptx-runestone-container .btn.active,.ptx-runestone-container .btn:active,.runestone-sphinx .btn.active,.runestone-sphinx .btn:active{background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125);outline:0}.ptx-runestone-container .btn.disabled,.ptx-runestone-container .btn[disabled],.ptx-runestone-container fieldset[disabled] .btn,.runestone-sphinx .btn.disabled,.runestone-sphinx .btn[disabled],.runestone-sphinx fieldset[disabled] .btn{-webkit-box-shadow:none;box-shadow:none;cursor:not-allowed;filter:alpha(opacity=65);opacity:.65}.ptx-runestone-container a.btn.disabled,.ptx-runestone-container fieldset[disabled] a.btn,.runestone-sphinx a.btn.disabled,.runestone-sphinx fieldset[disabled] a.btn{pointer-events:none}.ptx-runestone-container .btn-default,.runestone-sphinx .btn-default{background-color:#fff;border-color:#ccc;color:#333}.ptx-runestone-container .btn-default.focus,.ptx-runestone-container .btn-default:focus,.runestone-sphinx .btn-default.focus,.runestone-sphinx .btn-default:focus{background-color:#e6e6e6;border-color:#8c8c8c;color:#333}.ptx-runestone-container .btn-default:hover,.runestone-sphinx .btn-default:hover{background-color:#e6e6e6;border-color:#adadad;color:#333}.ptx-runestone-container .btn-default.active,.ptx-runestone-container .btn-default:active,.ptx-runestone-container .open>.dropdown-toggle.btn-default,.runestone-sphinx .btn-default.active,.runestone-sphinx .btn-default:active,.runestone-sphinx .open>.dropdown-toggle.btn-default{background-color:#e6e6e6;background-image:none;border-color:#adadad;color:#333}.ptx-runestone-container .btn-default.active.focus,.ptx-runestone-container .btn-default.active:focus,.ptx-runestone-container .btn-default.active:hover,.ptx-runestone-container .btn-default:active.focus,.ptx-runestone-container .btn-default:active:focus,.ptx-runestone-container .btn-default:active:hover,.ptx-runestone-container .open>.dropdown-toggle.btn-default.focus,.ptx-runestone-container .open>.dropdown-toggle.btn-default:focus,.ptx-runestone-container .open>.dropdown-toggle.btn-default:hover,.runestone-sphinx .btn-default.active.focus,.runestone-sphinx .btn-default.active:focus,.runestone-sphinx .btn-default.active:hover,.runestone-sphinx .btn-default:active.focus,.runestone-sphinx .btn-default:active:focus,.runestone-sphinx .btn-default:active:hover,.runestone-sphinx .open>.dropdown-toggle.btn-default.focus,.runestone-sphinx .open>.dropdown-toggle.btn-default:focus,.runestone-sphinx .open>.dropdown-toggle.btn-default:hover{background-color:#d4d4d4;border-color:#8c8c8c;color:#333}.ptx-runestone-container .btn-default.disabled.focus,.ptx-runestone-container .btn-default.disabled:focus,.ptx-runestone-container .btn-default.disabled:hover,.ptx-runestone-container .btn-default[disabled].focus,.ptx-runestone-container .btn-default[disabled]:focus,.ptx-runestone-container .btn-default[disabled]:hover,.ptx-runestone-container fieldset[disabled] .btn-default.focus,.ptx-runestone-container fieldset[disabled] .btn-default:focus,.ptx-runestone-container fieldset[disabled] .btn-default:hover,.runestone-sphinx .btn-default.disabled.focus,.runestone-sphinx .btn-default.disabled:focus,.runestone-sphinx .btn-default.disabled:hover,.runestone-sphinx .btn-default[disabled].focus,.runestone-sphinx .btn-default[disabled]:focus,.runestone-sphinx .btn-default[disabled]:hover,.runestone-sphinx fieldset[disabled] .btn-default.focus,.runestone-sphinx fieldset[disabled] .btn-default:focus,.runestone-sphinx fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.ptx-runestone-container .btn-default .badge,.runestone-sphinx .btn-default .badge{background-color:#333;color:#fff}.ptx-runestone-container .btn-primary,.runestone-sphinx .btn-primary{background-color:#337ab7;border-color:#2e6da4;color:#fff}.ptx-runestone-container .btn-primary.focus,.ptx-runestone-container .btn-primary:focus,.runestone-sphinx .btn-primary.focus,.runestone-sphinx .btn-primary:focus{background-color:#286090;border-color:#122b40;color:#fff}.ptx-runestone-container .btn-primary:hover,.runestone-sphinx .btn-primary:hover{background-color:#286090;border-color:#204d74;color:#fff}.ptx-runestone-container .btn-primary.active,.ptx-runestone-container .btn-primary:active,.ptx-runestone-container .open>.dropdown-toggle.btn-primary,.runestone-sphinx .btn-primary.active,.runestone-sphinx .btn-primary:active,.runestone-sphinx .open>.dropdown-toggle.btn-primary{background-color:#286090;background-image:none;border-color:#204d74;color:#fff}.ptx-runestone-container .btn-primary.active.focus,.ptx-runestone-container .btn-primary.active:focus,.ptx-runestone-container .btn-primary.active:hover,.ptx-runestone-container .btn-primary:active.focus,.ptx-runestone-container .btn-primary:active:focus,.ptx-runestone-container .btn-primary:active:hover,.ptx-runestone-container .open>.dropdown-toggle.btn-primary.focus,.ptx-runestone-container .open>.dropdown-toggle.btn-primary:focus,.ptx-runestone-container .open>.dropdown-toggle.btn-primary:hover,.runestone-sphinx .btn-primary.active.focus,.runestone-sphinx .btn-primary.active:focus,.runestone-sphinx .btn-primary.active:hover,.runestone-sphinx .btn-primary:active.focus,.runestone-sphinx .btn-primary:active:focus,.runestone-sphinx .btn-primary:active:hover,.runestone-sphinx .open>.dropdown-toggle.btn-primary.focus,.runestone-sphinx .open>.dropdown-toggle.btn-primary:focus,.runestone-sphinx .open>.dropdown-toggle.btn-primary:hover{background-color:#204d74;border-color:#122b40;color:#fff}.ptx-runestone-container .btn-primary.disabled.focus,.ptx-runestone-container .btn-primary.disabled:focus,.ptx-runestone-container .btn-primary.disabled:hover,.ptx-runestone-container .btn-primary[disabled].focus,.ptx-runestone-container .btn-primary[disabled]:focus,.ptx-runestone-container .btn-primary[disabled]:hover,.ptx-runestone-container fieldset[disabled] .btn-primary.focus,.ptx-runestone-container fieldset[disabled] .btn-primary:focus,.ptx-runestone-container fieldset[disabled] .btn-primary:hover,.runestone-sphinx .btn-primary.disabled.focus,.runestone-sphinx .btn-primary.disabled:focus,.runestone-sphinx .btn-primary.disabled:hover,.runestone-sphinx .btn-primary[disabled].focus,.runestone-sphinx .btn-primary[disabled]:focus,.runestone-sphinx .btn-primary[disabled]:hover,.runestone-sphinx fieldset[disabled] .btn-primary.focus,.runestone-sphinx fieldset[disabled] .btn-primary:focus,.runestone-sphinx fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.ptx-runestone-container .btn-primary .badge,.runestone-sphinx .btn-primary .badge{background-color:#fff;color:#337ab7}.ptx-runestone-container .btn-success,.runestone-sphinx .btn-success{background-color:#5cb85c;border-color:#4cae4c;color:#fff}.ptx-runestone-container .btn-success.focus,.ptx-runestone-container .btn-success:focus,.runestone-sphinx .btn-success.focus,.runestone-sphinx .btn-success:focus{background-color:#449d44;border-color:#255625;color:#fff}.ptx-runestone-container .btn-success:hover,.runestone-sphinx .btn-success:hover{background-color:#449d44;border-color:#398439;color:#fff}.ptx-runestone-container .btn-success.active,.ptx-runestone-container .btn-success:active,.ptx-runestone-container .open>.dropdown-toggle.btn-success,.runestone-sphinx .btn-success.active,.runestone-sphinx .btn-success:active,.runestone-sphinx .open>.dropdown-toggle.btn-success{background-color:#449d44;background-image:none;border-color:#398439;color:#fff}.ptx-runestone-container .btn-success.active.focus,.ptx-runestone-container .btn-success.active:focus,.ptx-runestone-container .btn-success.active:hover,.ptx-runestone-container .btn-success:active.focus,.ptx-runestone-container .btn-success:active:focus,.ptx-runestone-container .btn-success:active:hover,.ptx-runestone-container .open>.dropdown-toggle.btn-success.focus,.ptx-runestone-container .open>.dropdown-toggle.btn-success:focus,.ptx-runestone-container .open>.dropdown-toggle.btn-success:hover,.runestone-sphinx .btn-success.active.focus,.runestone-sphinx .btn-success.active:focus,.runestone-sphinx .btn-success.active:hover,.runestone-sphinx .btn-success:active.focus,.runestone-sphinx .btn-success:active:focus,.runestone-sphinx .btn-success:active:hover,.runestone-sphinx .open>.dropdown-toggle.btn-success.focus,.runestone-sphinx .open>.dropdown-toggle.btn-success:focus,.runestone-sphinx .open>.dropdown-toggle.btn-success:hover{background-color:#398439;border-color:#255625;color:#fff}.ptx-runestone-container .btn-success.disabled.focus,.ptx-runestone-container .btn-success.disabled:focus,.ptx-runestone-container .btn-success.disabled:hover,.ptx-runestone-container .btn-success[disabled].focus,.ptx-runestone-container .btn-success[disabled]:focus,.ptx-runestone-container .btn-success[disabled]:hover,.ptx-runestone-container fieldset[disabled] .btn-success.focus,.ptx-runestone-container fieldset[disabled] .btn-success:focus,.ptx-runestone-container fieldset[disabled] .btn-success:hover,.runestone-sphinx .btn-success.disabled.focus,.runestone-sphinx .btn-success.disabled:focus,.runestone-sphinx .btn-success.disabled:hover,.runestone-sphinx .btn-success[disabled].focus,.runestone-sphinx .btn-success[disabled]:focus,.runestone-sphinx .btn-success[disabled]:hover,.runestone-sphinx fieldset[disabled] .btn-success.focus,.runestone-sphinx fieldset[disabled] .btn-success:focus,.runestone-sphinx fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.ptx-runestone-container .btn-success .badge,.runestone-sphinx .btn-success .badge{background-color:#fff;color:#5cb85c}.ptx-runestone-container .btn-info,.runestone-sphinx .btn-info{background-color:#5bc0de;border-color:#46b8da;color:#fff}.ptx-runestone-container .btn-info.focus,.ptx-runestone-container .btn-info:focus,.runestone-sphinx .btn-info.focus,.runestone-sphinx .btn-info:focus{background-color:#31b0d5;border-color:#1b6d85;color:#fff}.ptx-runestone-container .btn-info:hover,.runestone-sphinx .btn-info:hover{background-color:#31b0d5;border-color:#269abc;color:#fff}.ptx-runestone-container .btn-info.active,.ptx-runestone-container .btn-info:active,.ptx-runestone-container .open>.dropdown-toggle.btn-info,.runestone-sphinx .btn-info.active,.runestone-sphinx .btn-info:active,.runestone-sphinx .open>.dropdown-toggle.btn-info{background-color:#31b0d5;background-image:none;border-color:#269abc;color:#fff}.ptx-runestone-container .btn-info.active.focus,.ptx-runestone-container .btn-info.active:focus,.ptx-runestone-container .btn-info.active:hover,.ptx-runestone-container .btn-info:active.focus,.ptx-runestone-container .btn-info:active:focus,.ptx-runestone-container .btn-info:active:hover,.ptx-runestone-container .open>.dropdown-toggle.btn-info.focus,.ptx-runestone-container .open>.dropdown-toggle.btn-info:focus,.ptx-runestone-container .open>.dropdown-toggle.btn-info:hover,.runestone-sphinx .btn-info.active.focus,.runestone-sphinx .btn-info.active:focus,.runestone-sphinx .btn-info.active:hover,.runestone-sphinx .btn-info:active.focus,.runestone-sphinx .btn-info:active:focus,.runestone-sphinx .btn-info:active:hover,.runestone-sphinx .open>.dropdown-toggle.btn-info.focus,.runestone-sphinx .open>.dropdown-toggle.btn-info:focus,.runestone-sphinx .open>.dropdown-toggle.btn-info:hover{background-color:#269abc;border-color:#1b6d85;color:#fff}.ptx-runestone-container .btn-info.disabled.focus,.ptx-runestone-container .btn-info.disabled:focus,.ptx-runestone-container .btn-info.disabled:hover,.ptx-runestone-container .btn-info[disabled].focus,.ptx-runestone-container .btn-info[disabled]:focus,.ptx-runestone-container .btn-info[disabled]:hover,.ptx-runestone-container fieldset[disabled] .btn-info.focus,.ptx-runestone-container fieldset[disabled] .btn-info:focus,.ptx-runestone-container fieldset[disabled] .btn-info:hover,.runestone-sphinx .btn-info.disabled.focus,.runestone-sphinx .btn-info.disabled:focus,.runestone-sphinx .btn-info.disabled:hover,.runestone-sphinx .btn-info[disabled].focus,.runestone-sphinx .btn-info[disabled]:focus,.runestone-sphinx .btn-info[disabled]:hover,.runestone-sphinx fieldset[disabled] .btn-info.focus,.runestone-sphinx fieldset[disabled] .btn-info:focus,.runestone-sphinx fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.ptx-runestone-container .btn-info .badge,.runestone-sphinx .btn-info .badge{background-color:#fff;color:#5bc0de}.ptx-runestone-container .btn-warning,.runestone-sphinx .btn-warning{background-color:#f0ad4e;border-color:#eea236;color:#fff}.ptx-runestone-container .btn-warning.focus,.ptx-runestone-container .btn-warning:focus,.runestone-sphinx .btn-warning.focus,.runestone-sphinx .btn-warning:focus{background-color:#ec971f;border-color:#985f0d;color:#fff}.ptx-runestone-container .btn-warning:hover,.runestone-sphinx .btn-warning:hover{background-color:#ec971f;border-color:#d58512;color:#fff}.ptx-runestone-container .btn-warning.active,.ptx-runestone-container .btn-warning:active,.ptx-runestone-container .open>.dropdown-toggle.btn-warning,.runestone-sphinx .btn-warning.active,.runestone-sphinx .btn-warning:active,.runestone-sphinx .open>.dropdown-toggle.btn-warning{background-color:#ec971f;background-image:none;border-color:#d58512;color:#fff}.ptx-runestone-container .btn-warning.active.focus,.ptx-runestone-container .btn-warning.active:focus,.ptx-runestone-container .btn-warning.active:hover,.ptx-runestone-container .btn-warning:active.focus,.ptx-runestone-container .btn-warning:active:focus,.ptx-runestone-container .btn-warning:active:hover,.ptx-runestone-container .open>.dropdown-toggle.btn-warning.focus,.ptx-runestone-container .open>.dropdown-toggle.btn-warning:focus,.ptx-runestone-container .open>.dropdown-toggle.btn-warning:hover,.runestone-sphinx .btn-warning.active.focus,.runestone-sphinx .btn-warning.active:focus,.runestone-sphinx .btn-warning.active:hover,.runestone-sphinx .btn-warning:active.focus,.runestone-sphinx .btn-warning:active:focus,.runestone-sphinx .btn-warning:active:hover,.runestone-sphinx .open>.dropdown-toggle.btn-warning.focus,.runestone-sphinx .open>.dropdown-toggle.btn-warning:focus,.runestone-sphinx .open>.dropdown-toggle.btn-warning:hover{background-color:#d58512;border-color:#985f0d;color:#fff}.ptx-runestone-container .btn-warning.disabled.focus,.ptx-runestone-container .btn-warning.disabled:focus,.ptx-runestone-container .btn-warning.disabled:hover,.ptx-runestone-container .btn-warning[disabled].focus,.ptx-runestone-container .btn-warning[disabled]:focus,.ptx-runestone-container .btn-warning[disabled]:hover,.ptx-runestone-container fieldset[disabled] .btn-warning.focus,.ptx-runestone-container fieldset[disabled] .btn-warning:focus,.ptx-runestone-container fieldset[disabled] .btn-warning:hover,.runestone-sphinx .btn-warning.disabled.focus,.runestone-sphinx .btn-warning.disabled:focus,.runestone-sphinx .btn-warning.disabled:hover,.runestone-sphinx .btn-warning[disabled].focus,.runestone-sphinx .btn-warning[disabled]:focus,.runestone-sphinx .btn-warning[disabled]:hover,.runestone-sphinx fieldset[disabled] .btn-warning.focus,.runestone-sphinx fieldset[disabled] .btn-warning:focus,.runestone-sphinx fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.ptx-runestone-container .btn-warning .badge,.runestone-sphinx .btn-warning .badge{background-color:#fff;color:#f0ad4e}.ptx-runestone-container .btn-danger,.runestone-sphinx .btn-danger{background-color:#d9534f;border-color:#d43f3a;color:#fff}.ptx-runestone-container .btn-danger.focus,.ptx-runestone-container .btn-danger:focus,.runestone-sphinx .btn-danger.focus,.runestone-sphinx .btn-danger:focus{background-color:#c9302c;border-color:#761c19;color:#fff}.ptx-runestone-container .btn-danger:hover,.runestone-sphinx .btn-danger:hover{background-color:#c9302c;border-color:#ac2925;color:#fff}.ptx-runestone-container .btn-danger.active,.ptx-runestone-container .btn-danger:active,.ptx-runestone-container .open>.dropdown-toggle.btn-danger,.runestone-sphinx .btn-danger.active,.runestone-sphinx .btn-danger:active,.runestone-sphinx .open>.dropdown-toggle.btn-danger{background-color:#c9302c;background-image:none;border-color:#ac2925;color:#fff}.ptx-runestone-container .btn-danger.active.focus,.ptx-runestone-container .btn-danger.active:focus,.ptx-runestone-container .btn-danger.active:hover,.ptx-runestone-container .btn-danger:active.focus,.ptx-runestone-container .btn-danger:active:focus,.ptx-runestone-container .btn-danger:active:hover,.ptx-runestone-container .open>.dropdown-toggle.btn-danger.focus,.ptx-runestone-container .open>.dropdown-toggle.btn-danger:focus,.ptx-runestone-container .open>.dropdown-toggle.btn-danger:hover,.runestone-sphinx .btn-danger.active.focus,.runestone-sphinx .btn-danger.active:focus,.runestone-sphinx .btn-danger.active:hover,.runestone-sphinx .btn-danger:active.focus,.runestone-sphinx .btn-danger:active:focus,.runestone-sphinx .btn-danger:active:hover,.runestone-sphinx .open>.dropdown-toggle.btn-danger.focus,.runestone-sphinx .open>.dropdown-toggle.btn-danger:focus,.runestone-sphinx .open>.dropdown-toggle.btn-danger:hover{background-color:#ac2925;border-color:#761c19;color:#fff}.ptx-runestone-container .btn-danger.disabled.focus,.ptx-runestone-container .btn-danger.disabled:focus,.ptx-runestone-container .btn-danger.disabled:hover,.ptx-runestone-container .btn-danger[disabled].focus,.ptx-runestone-container .btn-danger[disabled]:focus,.ptx-runestone-container .btn-danger[disabled]:hover,.ptx-runestone-container fieldset[disabled] .btn-danger.focus,.ptx-runestone-container fieldset[disabled] .btn-danger:focus,.ptx-runestone-container fieldset[disabled] .btn-danger:hover,.runestone-sphinx .btn-danger.disabled.focus,.runestone-sphinx .btn-danger.disabled:focus,.runestone-sphinx .btn-danger.disabled:hover,.runestone-sphinx .btn-danger[disabled].focus,.runestone-sphinx .btn-danger[disabled]:focus,.runestone-sphinx .btn-danger[disabled]:hover,.runestone-sphinx fieldset[disabled] .btn-danger.focus,.runestone-sphinx fieldset[disabled] .btn-danger:focus,.runestone-sphinx fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.ptx-runestone-container .btn-danger .badge,.runestone-sphinx .btn-danger .badge{background-color:#fff;color:#d9534f}.ptx-runestone-container .btn-link,.runestone-sphinx .btn-link{border-radius:0;color:#337ab7;font-weight:400}.ptx-runestone-container .btn-link,.ptx-runestone-container .btn-link.active,.ptx-runestone-container .btn-link:active,.ptx-runestone-container .btn-link[disabled],.ptx-runestone-container fieldset[disabled] .btn-link,.runestone-sphinx .btn-link,.runestone-sphinx .btn-link.active,.runestone-sphinx .btn-link:active,.runestone-sphinx .btn-link[disabled],.runestone-sphinx fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.ptx-runestone-container .btn-link,.ptx-runestone-container .btn-link:active,.ptx-runestone-container .btn-link:focus,.ptx-runestone-container .btn-link:hover,.runestone-sphinx .btn-link,.runestone-sphinx .btn-link:active,.runestone-sphinx .btn-link:focus,.runestone-sphinx .btn-link:hover{border-color:transparent}.ptx-runestone-container .btn-link:focus,.ptx-runestone-container .btn-link:hover,.runestone-sphinx .btn-link:focus,.runestone-sphinx .btn-link:hover{background-color:transparent;color:#23527c;text-decoration:underline}.ptx-runestone-container .btn-link[disabled]:focus,.ptx-runestone-container .btn-link[disabled]:hover,.ptx-runestone-container fieldset[disabled] .btn-link:focus,.ptx-runestone-container fieldset[disabled] .btn-link:hover,.runestone-sphinx .btn-link[disabled]:focus,.runestone-sphinx .btn-link[disabled]:hover,.runestone-sphinx fieldset[disabled] .btn-link:focus,.runestone-sphinx fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.ptx-runestone-container .btn-group-lg>.btn,.ptx-runestone-container .btn-lg,.runestone-sphinx .btn-group-lg>.btn,.runestone-sphinx .btn-lg{border-radius:6px;font-size:18px;line-height:1.3333333;padding:10px 16px}.ptx-runestone-container .btn-group-sm>.btn,.ptx-runestone-container .btn-sm,.runestone-sphinx .btn-group-sm>.btn,.runestone-sphinx .btn-sm{border-radius:3px;font-size:12px;line-height:1.5;padding:5px 10px}.ptx-runestone-container .btn-group-xs>.btn,.ptx-runestone-container .btn-xs,.runestone-sphinx .btn-group-xs>.btn,.runestone-sphinx .btn-xs{border-radius:3px;font-size:12px;line-height:1.5;padding:1px 5px}.ptx-runestone-container .btn-block,.runestone-sphinx .btn-block{display:block;width:100%}.ptx-runestone-container .btn-block+.btn-block,.runestone-sphinx .btn-block+.btn-block{margin-top:5px}.ptx-runestone-container input[type=button].btn-block,.ptx-runestone-container input[type=reset].btn-block,.ptx-runestone-container input[type=submit].btn-block,.runestone-sphinx input[type=button].btn-block,.runestone-sphinx input[type=reset].btn-block,.runestone-sphinx input[type=submit].btn-block{width:100%}.ptx-runestone-container .fade,.runestone-sphinx .fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.ptx-runestone-container .fade.in,.runestone-sphinx .fade.in{opacity:1}.ptx-runestone-container .collapse,.runestone-sphinx .collapse{display:none}.ptx-runestone-container .collapse.in,.runestone-sphinx .collapse.in{display:block}.ptx-runestone-container tr.collapse.in,.runestone-sphinx tr.collapse.in{display:table-row}.ptx-runestone-container tbody.collapse.in,.runestone-sphinx tbody.collapse.in{display:table-row-group}.ptx-runestone-container .collapsing,.runestone-sphinx .collapsing{height:0;overflow:hidden;position:relative;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.ptx-runestone-container .caret,.runestone-sphinx .caret{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px dashed;border-top:4px solid\9;display:inline-block;height:0;margin-left:2px;vertical-align:middle;width:0}.ptx-runestone-container .dropdown,.ptx-runestone-container .dropup,.runestone-sphinx .dropdown,.runestone-sphinx .dropup{position:relative}.ptx-runestone-container .dropdown-toggle:focus,.runestone-sphinx .dropdown-toggle:focus{outline:0}.ptx-runestone-container .dropdown-menu,.runestone-sphinx .dropdown-menu{background-clip:padding-box;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);display:none;float:left;font-size:14px;left:0;list-style:none;margin:2px 0 0;min-width:160px;padding:5px 0;position:absolute;text-align:left;top:100%;z-index:1000}.ptx-runestone-container .dropdown-menu.pull-right,.runestone-sphinx .dropdown-menu.pull-right{left:auto;right:0}.ptx-runestone-container .dropdown-menu .divider,.runestone-sphinx .dropdown-menu .divider{background-color:#e5e5e5;height:1px;margin:9px 0;overflow:hidden}.ptx-runestone-container .dropdown-menu>li>a,.runestone-sphinx .dropdown-menu>li>a{clear:both;color:#333;display:block;font-weight:400;line-height:1.42857143;padding:3px 20px;white-space:nowrap}.ptx-runestone-container .dropdown-menu>li>a:focus,.ptx-runestone-container .dropdown-menu>li>a:hover,.runestone-sphinx .dropdown-menu>li>a:focus,.runestone-sphinx .dropdown-menu>li>a:hover{background-color:#f5f5f5;color:#262626;text-decoration:none}.ptx-runestone-container .dropdown-menu>.active>a,.ptx-runestone-container .dropdown-menu>.active>a:focus,.ptx-runestone-container .dropdown-menu>.active>a:hover,.runestone-sphinx .dropdown-menu>.active>a,.runestone-sphinx .dropdown-menu>.active>a:focus,.runestone-sphinx .dropdown-menu>.active>a:hover{background-color:#337ab7;color:#fff;outline:0;text-decoration:none}.ptx-runestone-container .dropdown-menu>.disabled>a,.ptx-runestone-container .dropdown-menu>.disabled>a:focus,.ptx-runestone-container .dropdown-menu>.disabled>a:hover,.runestone-sphinx .dropdown-menu>.disabled>a,.runestone-sphinx .dropdown-menu>.disabled>a:focus,.runestone-sphinx .dropdown-menu>.disabled>a:hover{color:#777}.ptx-runestone-container .dropdown-menu>.disabled>a:focus,.ptx-runestone-container .dropdown-menu>.disabled>a:hover,.runestone-sphinx .dropdown-menu>.disabled>a:focus,.runestone-sphinx .dropdown-menu>.disabled>a:hover{background-color:transparent;background-image:none;cursor:not-allowed;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);text-decoration:none}.ptx-runestone-container .open>.dropdown-menu,.runestone-sphinx .open>.dropdown-menu{display:block}.ptx-runestone-container .open>a,.runestone-sphinx .open>a{outline:0}.ptx-runestone-container .dropdown-menu-right,.runestone-sphinx .dropdown-menu-right{left:auto;right:0}.ptx-runestone-container .dropdown-menu-left,.runestone-sphinx .dropdown-menu-left{left:0;right:auto}.ptx-runestone-container .dropdown-header,.runestone-sphinx .dropdown-header{color:#777;display:block;font-size:12px;line-height:1.42857143;padding:3px 20px;white-space:nowrap}.ptx-runestone-container .dropdown-backdrop,.runestone-sphinx .dropdown-backdrop{bottom:0;left:0;position:fixed;right:0;top:0;z-index:990}.ptx-runestone-container .pull-right>.dropdown-menu,.runestone-sphinx .pull-right>.dropdown-menu{left:auto;right:0}.ptx-runestone-container .dropup .caret,.ptx-runestone-container .navbar-fixed-bottom .dropdown .caret,.runestone-sphinx .dropup .caret,.runestone-sphinx .navbar-fixed-bottom .dropdown .caret{border-bottom:4px dashed;border-bottom:4px solid\9;border-top:0;content:""}.ptx-runestone-container .dropup .dropdown-menu,.ptx-runestone-container .navbar-fixed-bottom .dropdown .dropdown-menu,.runestone-sphinx .dropup .dropdown-menu,.runestone-sphinx .navbar-fixed-bottom .dropdown .dropdown-menu{bottom:100%;margin-bottom:2px;top:auto}@media (min-width:768px){.ptx-runestone-container .navbar-right .dropdown-menu,.runestone-sphinx .navbar-right .dropdown-menu{left:auto;right:0}.ptx-runestone-container .navbar-right .dropdown-menu-left,.runestone-sphinx .navbar-right .dropdown-menu-left{left:0;right:auto}}.ptx-runestone-container .btn-group,.ptx-runestone-container .btn-group-vertical,.runestone-sphinx .btn-group,.runestone-sphinx .btn-group-vertical{display:inline-block;position:relative;vertical-align:middle}.ptx-runestone-container .btn-group-vertical>.btn,.ptx-runestone-container .btn-group>.btn,.runestone-sphinx .btn-group-vertical>.btn,.runestone-sphinx .btn-group>.btn{float:left;position:relative}.ptx-runestone-container .btn-group-vertical>.btn.active,.ptx-runestone-container .btn-group-vertical>.btn:active,.ptx-runestone-container .btn-group-vertical>.btn:focus,.ptx-runestone-container .btn-group-vertical>.btn:hover,.ptx-runestone-container .btn-group>.btn.active,.ptx-runestone-container .btn-group>.btn:active,.ptx-runestone-container .btn-group>.btn:focus,.ptx-runestone-container .btn-group>.btn:hover,.runestone-sphinx .btn-group-vertical>.btn.active,.runestone-sphinx .btn-group-vertical>.btn:active,.runestone-sphinx .btn-group-vertical>.btn:focus,.runestone-sphinx .btn-group-vertical>.btn:hover,.runestone-sphinx .btn-group>.btn.active,.runestone-sphinx .btn-group>.btn:active,.runestone-sphinx .btn-group>.btn:focus,.runestone-sphinx .btn-group>.btn:hover{z-index:2}.ptx-runestone-container .btn-group .btn+.btn,.ptx-runestone-container .btn-group .btn+.btn-group,.ptx-runestone-container .btn-group .btn-group+.btn,.ptx-runestone-container .btn-group .btn-group+.btn-group,.runestone-sphinx .btn-group .btn+.btn,.runestone-sphinx .btn-group .btn+.btn-group,.runestone-sphinx .btn-group .btn-group+.btn,.runestone-sphinx .btn-group .btn-group+.btn-group{margin-left:-1px}.ptx-runestone-container .btn-toolbar,.runestone-sphinx .btn-toolbar{margin-left:-5px}.ptx-runestone-container .btn-toolbar .btn,.ptx-runestone-container .btn-toolbar .btn-group,.ptx-runestone-container .btn-toolbar .input-group,.runestone-sphinx .btn-toolbar .btn,.runestone-sphinx .btn-toolbar .btn-group,.runestone-sphinx .btn-toolbar .input-group{float:left}.ptx-runestone-container .btn-toolbar>.btn,.ptx-runestone-container .btn-toolbar>.btn-group,.ptx-runestone-container .btn-toolbar>.input-group,.runestone-sphinx .btn-toolbar>.btn,.runestone-sphinx .btn-toolbar>.btn-group,.runestone-sphinx .btn-toolbar>.input-group{margin-left:5px}.ptx-runestone-container .btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle),.runestone-sphinx .btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.ptx-runestone-container .btn-group>.btn:first-child,.runestone-sphinx .btn-group>.btn:first-child{margin-left:0}.ptx-runestone-container .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle),.runestone-sphinx .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.ptx-runestone-container .btn-group>.btn:last-child:not(:first-child),.ptx-runestone-container .btn-group>.dropdown-toggle:not(:first-child),.runestone-sphinx .btn-group>.btn:last-child:not(:first-child),.runestone-sphinx .btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.ptx-runestone-container .btn-group>.btn-group,.runestone-sphinx .btn-group>.btn-group{float:left}.ptx-runestone-container .btn-group>.btn-group:not(:first-child):not(:last-child)>.btn,.runestone-sphinx .btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.ptx-runestone-container .btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.ptx-runestone-container .btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle,.runestone-sphinx .btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.runestone-sphinx .btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.ptx-runestone-container .btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child,.runestone-sphinx .btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.ptx-runestone-container .btn-group .dropdown-toggle:active,.ptx-runestone-container .btn-group.open .dropdown-toggle,.runestone-sphinx .btn-group .dropdown-toggle:active,.runestone-sphinx .btn-group.open .dropdown-toggle{outline:0}.ptx-runestone-container .btn-group>.btn+.dropdown-toggle,.runestone-sphinx .btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.ptx-runestone-container .btn-group>.btn-lg+.dropdown-toggle,.runestone-sphinx .btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.ptx-runestone-container .btn-group.open .dropdown-toggle,.runestone-sphinx .btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.ptx-runestone-container .btn-group.open .dropdown-toggle.btn-link,.runestone-sphinx .btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.ptx-runestone-container .btn .caret,.runestone-sphinx .btn .caret{margin-left:0}.ptx-runestone-container .btn-lg .caret,.runestone-sphinx .btn-lg .caret{border-width:5px 5px 0}.ptx-runestone-container .dropup .btn-lg .caret,.runestone-sphinx .dropup .btn-lg .caret{border-width:0 5px 5px}.ptx-runestone-container .btn-group-vertical>.btn,.ptx-runestone-container .btn-group-vertical>.btn-group,.ptx-runestone-container .btn-group-vertical>.btn-group>.btn,.runestone-sphinx .btn-group-vertical>.btn,.runestone-sphinx .btn-group-vertical>.btn-group,.runestone-sphinx .btn-group-vertical>.btn-group>.btn{display:block;float:none;max-width:100%;width:100%}.ptx-runestone-container .btn-group-vertical>.btn-group>.btn,.runestone-sphinx .btn-group-vertical>.btn-group>.btn{float:none}.ptx-runestone-container .btn-group-vertical>.btn+.btn,.ptx-runestone-container .btn-group-vertical>.btn+.btn-group,.ptx-runestone-container .btn-group-vertical>.btn-group+.btn,.ptx-runestone-container .btn-group-vertical>.btn-group+.btn-group,.runestone-sphinx .btn-group-vertical>.btn+.btn,.runestone-sphinx .btn-group-vertical>.btn+.btn-group,.runestone-sphinx .btn-group-vertical>.btn-group+.btn,.runestone-sphinx .btn-group-vertical>.btn-group+.btn-group{margin-left:0;margin-top:-1px}.ptx-runestone-container .btn-group-vertical>.btn:not(:first-child):not(:last-child),.runestone-sphinx .btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.ptx-runestone-container .btn-group-vertical>.btn:first-child:not(:last-child),.runestone-sphinx .btn-group-vertical>.btn:first-child:not(:last-child){border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:4px;border-top-right-radius:4px}.ptx-runestone-container .btn-group-vertical>.btn:last-child:not(:first-child),.runestone-sphinx .btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-top-left-radius:0;border-top-right-radius:0}.ptx-runestone-container .btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn,.runestone-sphinx .btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.ptx-runestone-container .btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.ptx-runestone-container .btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle,.runestone-sphinx .btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.runestone-sphinx .btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-left-radius:0;border-bottom-right-radius:0}.ptx-runestone-container .btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child,.runestone-sphinx .btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.ptx-runestone-container .btn-group-justified,.runestone-sphinx .btn-group-justified{border-collapse:separate;display:table;table-layout:fixed;width:100%}.ptx-runestone-container .btn-group-justified>.btn,.ptx-runestone-container .btn-group-justified>.btn-group,.runestone-sphinx .btn-group-justified>.btn,.runestone-sphinx .btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.ptx-runestone-container .btn-group-justified>.btn-group .btn,.runestone-sphinx .btn-group-justified>.btn-group .btn{width:100%}.ptx-runestone-container .btn-group-justified>.btn-group .dropdown-menu,.runestone-sphinx .btn-group-justified>.btn-group .dropdown-menu{left:auto}.ptx-runestone-container [data-toggle=buttons]>.btn input[type=checkbox],.ptx-runestone-container [data-toggle=buttons]>.btn input[type=radio],.ptx-runestone-container [data-toggle=buttons]>.btn-group>.btn input[type=checkbox],.ptx-runestone-container [data-toggle=buttons]>.btn-group>.btn input[type=radio],.runestone-sphinx [data-toggle=buttons]>.btn input[type=checkbox],.runestone-sphinx [data-toggle=buttons]>.btn input[type=radio],.runestone-sphinx [data-toggle=buttons]>.btn-group>.btn input[type=checkbox],.runestone-sphinx [data-toggle=buttons]>.btn-group>.btn input[type=radio]{clip:rect(0,0,0,0);pointer-events:none;position:absolute}.ptx-runestone-container .input-group,.runestone-sphinx .input-group{border-collapse:separate;display:table;position:relative}.ptx-runestone-container .input-group[class*=col-],.runestone-sphinx .input-group[class*=col-]{float:none;padding-left:0;padding-right:0}.ptx-runestone-container .input-group .form-control,.runestone-sphinx .input-group .form-control{float:left;margin-bottom:0;position:relative;width:100%;z-index:2}.ptx-runestone-container .input-group .form-control:focus,.runestone-sphinx .input-group .form-control:focus{z-index:3}.ptx-runestone-container .input-group-lg>.form-control,.ptx-runestone-container .input-group-lg>.input-group-addon,.ptx-runestone-container .input-group-lg>.input-group-btn>.btn,.runestone-sphinx .input-group-lg>.form-control,.runestone-sphinx .input-group-lg>.input-group-addon,.runestone-sphinx .input-group-lg>.input-group-btn>.btn{border-radius:6px;font-size:18px;height:46px;line-height:1.3333333;padding:10px 16px}.ptx-runestone-container select.input-group-lg>.form-control,.ptx-runestone-container select.input-group-lg>.input-group-addon,.ptx-runestone-container select.input-group-lg>.input-group-btn>.btn,.runestone-sphinx select.input-group-lg>.form-control,.runestone-sphinx select.input-group-lg>.input-group-addon,.runestone-sphinx select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}.ptx-runestone-container select[multiple].input-group-lg>.form-control,.ptx-runestone-container select[multiple].input-group-lg>.input-group-addon,.ptx-runestone-container select[multiple].input-group-lg>.input-group-btn>.btn,.ptx-runestone-container textarea.input-group-lg>.form-control,.ptx-runestone-container textarea.input-group-lg>.input-group-addon,.ptx-runestone-container textarea.input-group-lg>.input-group-btn>.btn,.runestone-sphinx select[multiple].input-group-lg>.form-control,.runestone-sphinx select[multiple].input-group-lg>.input-group-addon,.runestone-sphinx select[multiple].input-group-lg>.input-group-btn>.btn,.runestone-sphinx textarea.input-group-lg>.form-control,.runestone-sphinx textarea.input-group-lg>.input-group-addon,.runestone-sphinx textarea.input-group-lg>.input-group-btn>.btn{height:auto}.ptx-runestone-container .input-group-sm>.form-control,.ptx-runestone-container .input-group-sm>.input-group-addon,.ptx-runestone-container .input-group-sm>.input-group-btn>.btn,.runestone-sphinx .input-group-sm>.form-control,.runestone-sphinx .input-group-sm>.input-group-addon,.runestone-sphinx .input-group-sm>.input-group-btn>.btn{border-radius:3px;font-size:12px;height:30px;line-height:1.5;padding:5px 10px}.ptx-runestone-container select.input-group-sm>.form-control,.ptx-runestone-container select.input-group-sm>.input-group-addon,.ptx-runestone-container select.input-group-sm>.input-group-btn>.btn,.runestone-sphinx select.input-group-sm>.form-control,.runestone-sphinx select.input-group-sm>.input-group-addon,.runestone-sphinx select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}.ptx-runestone-container select[multiple].input-group-sm>.form-control,.ptx-runestone-container select[multiple].input-group-sm>.input-group-addon,.ptx-runestone-container select[multiple].input-group-sm>.input-group-btn>.btn,.ptx-runestone-container textarea.input-group-sm>.form-control,.ptx-runestone-container textarea.input-group-sm>.input-group-addon,.ptx-runestone-container textarea.input-group-sm>.input-group-btn>.btn,.runestone-sphinx select[multiple].input-group-sm>.form-control,.runestone-sphinx select[multiple].input-group-sm>.input-group-addon,.runestone-sphinx select[multiple].input-group-sm>.input-group-btn>.btn,.runestone-sphinx textarea.input-group-sm>.form-control,.runestone-sphinx textarea.input-group-sm>.input-group-addon,.runestone-sphinx textarea.input-group-sm>.input-group-btn>.btn{height:auto}.ptx-runestone-container .input-group .form-control,.ptx-runestone-container .input-group-addon,.ptx-runestone-container .input-group-btn,.runestone-sphinx .input-group .form-control,.runestone-sphinx .input-group-addon,.runestone-sphinx .input-group-btn{display:table-cell}.ptx-runestone-container .input-group .form-control:not(:first-child):not(:last-child),.ptx-runestone-container .input-group-addon:not(:first-child):not(:last-child),.ptx-runestone-container .input-group-btn:not(:first-child):not(:last-child),.runestone-sphinx .input-group .form-control:not(:first-child):not(:last-child),.runestone-sphinx .input-group-addon:not(:first-child):not(:last-child),.runestone-sphinx .input-group-btn:not(:first-child):not(:last-child){border-radius:0}.ptx-runestone-container .input-group-addon,.ptx-runestone-container .input-group-btn,.runestone-sphinx .input-group-addon,.runestone-sphinx .input-group-btn{vertical-align:middle;white-space:nowrap;width:1%}.ptx-runestone-container .input-group-addon,.runestone-sphinx .input-group-addon{background-color:#eee;border:1px solid #ccc;border-radius:4px;color:#555;font-size:14px;font-weight:400;line-height:1;padding:6px 12px;text-align:center}.ptx-runestone-container .input-group-addon.input-sm,.runestone-sphinx .input-group-addon.input-sm{border-radius:3px;font-size:12px;padding:5px 10px}.ptx-runestone-container .input-group-addon.input-lg,.runestone-sphinx .input-group-addon.input-lg{border-radius:6px;font-size:18px;padding:10px 16px}.ptx-runestone-container .input-group-addon input[type=checkbox],.ptx-runestone-container .input-group-addon input[type=radio],.runestone-sphinx .input-group-addon input[type=checkbox],.runestone-sphinx .input-group-addon input[type=radio]{margin-top:0}.ptx-runestone-container .input-group .form-control:first-child,.ptx-runestone-container .input-group-addon:first-child,.ptx-runestone-container .input-group-btn:first-child>.btn,.ptx-runestone-container .input-group-btn:first-child>.btn-group>.btn,.ptx-runestone-container .input-group-btn:first-child>.dropdown-toggle,.ptx-runestone-container .input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.ptx-runestone-container .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.runestone-sphinx .input-group .form-control:first-child,.runestone-sphinx .input-group-addon:first-child,.runestone-sphinx .input-group-btn:first-child>.btn,.runestone-sphinx .input-group-btn:first-child>.btn-group>.btn,.runestone-sphinx .input-group-btn:first-child>.dropdown-toggle,.runestone-sphinx .input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.runestone-sphinx .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.ptx-runestone-container .input-group-addon:first-child,.runestone-sphinx .input-group-addon:first-child{border-right:0}.ptx-runestone-container .input-group .form-control:last-child,.ptx-runestone-container .input-group-addon:last-child,.ptx-runestone-container .input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.ptx-runestone-container .input-group-btn:first-child>.btn:not(:first-child),.ptx-runestone-container .input-group-btn:last-child>.btn,.ptx-runestone-container .input-group-btn:last-child>.btn-group>.btn,.ptx-runestone-container .input-group-btn:last-child>.dropdown-toggle,.runestone-sphinx .input-group .form-control:last-child,.runestone-sphinx .input-group-addon:last-child,.runestone-sphinx .input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.runestone-sphinx .input-group-btn:first-child>.btn:not(:first-child),.runestone-sphinx .input-group-btn:last-child>.btn,.runestone-sphinx .input-group-btn:last-child>.btn-group>.btn,.runestone-sphinx .input-group-btn:last-child>.dropdown-toggle{border-bottom-left-radius:0;border-top-left-radius:0}.ptx-runestone-container .input-group-addon:last-child,.runestone-sphinx .input-group-addon:last-child{border-left:0}.ptx-runestone-container .input-group-btn,.runestone-sphinx .input-group-btn{font-size:0;position:relative;white-space:nowrap}.ptx-runestone-container .input-group-btn>.btn,.runestone-sphinx .input-group-btn>.btn{position:relative}.ptx-runestone-container .input-group-btn>.btn+.btn,.runestone-sphinx .input-group-btn>.btn+.btn{margin-left:-1px}.ptx-runestone-container .input-group-btn>.btn:active,.ptx-runestone-container .input-group-btn>.btn:focus,.ptx-runestone-container .input-group-btn>.btn:hover,.runestone-sphinx .input-group-btn>.btn:active,.runestone-sphinx .input-group-btn>.btn:focus,.runestone-sphinx .input-group-btn>.btn:hover{z-index:2}.ptx-runestone-container .input-group-btn:first-child>.btn,.ptx-runestone-container .input-group-btn:first-child>.btn-group,.runestone-sphinx .input-group-btn:first-child>.btn,.runestone-sphinx .input-group-btn:first-child>.btn-group{margin-right:-1px}.ptx-runestone-container .input-group-btn:last-child>.btn,.ptx-runestone-container .input-group-btn:last-child>.btn-group,.runestone-sphinx .input-group-btn:last-child>.btn,.runestone-sphinx .input-group-btn:last-child>.btn-group{margin-left:-1px;z-index:2}.ptx-runestone-container .nav,.runestone-sphinx .nav{list-style:none;margin-bottom:0;padding-left:0}.ptx-runestone-container .nav>li,.runestone-sphinx .nav>li{display:block;position:relative}.ptx-runestone-container .nav>li>a,.runestone-sphinx .nav>li>a{display:block;padding:10px 15px;position:relative}.ptx-runestone-container .nav>li>a:focus,.ptx-runestone-container .nav>li>a:hover,.runestone-sphinx .nav>li>a:focus,.runestone-sphinx .nav>li>a:hover{background-color:#eee;text-decoration:none}.ptx-runestone-container .nav>li.disabled>a,.runestone-sphinx .nav>li.disabled>a{color:#777}.ptx-runestone-container .nav>li.disabled>a:focus,.ptx-runestone-container .nav>li.disabled>a:hover,.runestone-sphinx .nav>li.disabled>a:focus,.runestone-sphinx .nav>li.disabled>a:hover{background-color:transparent;color:#777;cursor:not-allowed;text-decoration:none}.ptx-runestone-container .nav .open>a,.ptx-runestone-container .nav .open>a:focus,.ptx-runestone-container .nav .open>a:hover,.runestone-sphinx .nav .open>a,.runestone-sphinx .nav .open>a:focus,.runestone-sphinx .nav .open>a:hover{background-color:#eee;border-color:#337ab7}.ptx-runestone-container .nav .nav-divider,.runestone-sphinx .nav .nav-divider{background-color:#e5e5e5;height:1px;margin:9px 0;overflow:hidden}.ptx-runestone-container .nav>li>a>img,.runestone-sphinx .nav>li>a>img{max-width:none}.ptx-runestone-container .nav-tabs,.runestone-sphinx .nav-tabs{border-bottom:1px solid #ddd}.ptx-runestone-container .nav-tabs>li,.runestone-sphinx .nav-tabs>li{float:left;margin-bottom:-1px}.ptx-runestone-container .nav-tabs>li>a,.runestone-sphinx .nav-tabs>li>a{border:1px solid transparent;border-radius:4px 4px 0 0;line-height:1.42857143;margin-right:2px}.ptx-runestone-container .nav-tabs>li>a:hover,.runestone-sphinx .nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.ptx-runestone-container .nav-tabs>li.active>a,.ptx-runestone-container .nav-tabs>li.active>a:focus,.ptx-runestone-container .nav-tabs>li.active>a:hover,.runestone-sphinx .nav-tabs>li.active>a,.runestone-sphinx .nav-tabs>li.active>a:focus,.runestone-sphinx .nav-tabs>li.active>a:hover{background-color:#fff;border:1px solid;border-color:#ddd #ddd transparent;color:#555;cursor:default}.ptx-runestone-container .nav-tabs.nav-justified,.runestone-sphinx .nav-tabs.nav-justified{border-bottom:0;width:100%}.ptx-runestone-container .nav-tabs.nav-justified>li,.runestone-sphinx .nav-tabs.nav-justified>li{float:none}.ptx-runestone-container .nav-tabs.nav-justified>li>a,.runestone-sphinx .nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.ptx-runestone-container .nav-tabs.nav-justified>.dropdown .dropdown-menu,.runestone-sphinx .nav-tabs.nav-justified>.dropdown .dropdown-menu{left:auto;top:auto}@media (min-width:768px){.ptx-runestone-container .nav-tabs.nav-justified>li,.runestone-sphinx .nav-tabs.nav-justified>li{display:table-cell;width:1%}.ptx-runestone-container .nav-tabs.nav-justified>li>a,.runestone-sphinx .nav-tabs.nav-justified>li>a{margin-bottom:0}}.ptx-runestone-container .nav-tabs.nav-justified>li>a,.runestone-sphinx .nav-tabs.nav-justified>li>a{border-radius:4px;margin-right:0}.ptx-runestone-container .nav-tabs.nav-justified>.active>a,.ptx-runestone-container .nav-tabs.nav-justified>.active>a:focus,.ptx-runestone-container .nav-tabs.nav-justified>.active>a:hover,.runestone-sphinx .nav-tabs.nav-justified>.active>a,.runestone-sphinx .nav-tabs.nav-justified>.active>a:focus,.runestone-sphinx .nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.ptx-runestone-container .nav-tabs.nav-justified>li>a,.runestone-sphinx .nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.ptx-runestone-container .nav-tabs.nav-justified>.active>a,.ptx-runestone-container .nav-tabs.nav-justified>.active>a:focus,.ptx-runestone-container .nav-tabs.nav-justified>.active>a:hover,.runestone-sphinx .nav-tabs.nav-justified>.active>a,.runestone-sphinx .nav-tabs.nav-justified>.active>a:focus,.runestone-sphinx .nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.ptx-runestone-container .nav-pills>li,.runestone-sphinx .nav-pills>li{float:left}.ptx-runestone-container .nav-pills>li>a,.runestone-sphinx .nav-pills>li>a{border-radius:4px}.ptx-runestone-container .nav-pills>li+li,.runestone-sphinx .nav-pills>li+li{margin-left:2px}.ptx-runestone-container .nav-pills>li.active>a,.ptx-runestone-container .nav-pills>li.active>a:focus,.ptx-runestone-container .nav-pills>li.active>a:hover,.runestone-sphinx .nav-pills>li.active>a,.runestone-sphinx .nav-pills>li.active>a:focus,.runestone-sphinx .nav-pills>li.active>a:hover{background-color:#337ab7;color:#fff}.ptx-runestone-container .nav-stacked>li,.runestone-sphinx .nav-stacked>li{float:none}.ptx-runestone-container .nav-stacked>li+li,.runestone-sphinx .nav-stacked>li+li{margin-left:0;margin-top:2px}.ptx-runestone-container .nav-justified,.runestone-sphinx .nav-justified{width:100%}.ptx-runestone-container .nav-justified>li,.runestone-sphinx .nav-justified>li{float:none}.ptx-runestone-container .nav-justified>li>a,.runestone-sphinx .nav-justified>li>a{margin-bottom:5px;text-align:center}.ptx-runestone-container .nav-justified>.dropdown .dropdown-menu,.runestone-sphinx .nav-justified>.dropdown .dropdown-menu{left:auto;top:auto}@media (min-width:768px){.ptx-runestone-container .nav-justified>li,.runestone-sphinx .nav-justified>li{display:table-cell;width:1%}.ptx-runestone-container .nav-justified>li>a,.runestone-sphinx .nav-justified>li>a{margin-bottom:0}}.ptx-runestone-container .nav-tabs-justified,.runestone-sphinx .nav-tabs-justified{border-bottom:0}.ptx-runestone-container .nav-tabs-justified>li>a,.runestone-sphinx .nav-tabs-justified>li>a{border-radius:4px;margin-right:0}.ptx-runestone-container .nav-tabs-justified>.active>a,.ptx-runestone-container .nav-tabs-justified>.active>a:focus,.ptx-runestone-container .nav-tabs-justified>.active>a:hover,.runestone-sphinx .nav-tabs-justified>.active>a,.runestone-sphinx .nav-tabs-justified>.active>a:focus,.runestone-sphinx .nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.ptx-runestone-container .nav-tabs-justified>li>a,.runestone-sphinx .nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.ptx-runestone-container .nav-tabs-justified>.active>a,.ptx-runestone-container .nav-tabs-justified>.active>a:focus,.ptx-runestone-container .nav-tabs-justified>.active>a:hover,.runestone-sphinx .nav-tabs-justified>.active>a,.runestone-sphinx .nav-tabs-justified>.active>a:focus,.runestone-sphinx .nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.ptx-runestone-container .tab-content>.tab-pane,.runestone-sphinx .tab-content>.tab-pane{display:none}.ptx-runestone-container .tab-content>.active,.runestone-sphinx .tab-content>.active{display:block}.ptx-runestone-container .nav-tabs .dropdown-menu,.runestone-sphinx .nav-tabs .dropdown-menu{border-top-left-radius:0;border-top-right-radius:0;margin-top:-1px}.ptx-runestone-container .navbar,.runestone-sphinx .navbar{border:1px solid transparent;margin-bottom:20px;min-height:50px;position:relative}@media (min-width:768px){.ptx-runestone-container .navbar,.runestone-sphinx .navbar{border-radius:4px}.ptx-runestone-container .navbar-header,.runestone-sphinx .navbar-header{float:left}}.ptx-runestone-container .navbar-collapse,.runestone-sphinx .navbar-collapse{-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1);overflow-x:visible;padding-left:15px;padding-right:15px}.ptx-runestone-container .navbar-collapse.in,.runestone-sphinx .navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.ptx-runestone-container .navbar-collapse,.runestone-sphinx .navbar-collapse{border-top:0;-webkit-box-shadow:none;box-shadow:none;width:auto}.ptx-runestone-container .navbar-collapse.collapse,.runestone-sphinx .navbar-collapse.collapse{display:block!important;height:auto!important;overflow:visible!important;padding-bottom:0}.ptx-runestone-container .navbar-collapse.in,.runestone-sphinx .navbar-collapse.in{overflow-y:visible}.ptx-runestone-container .navbar-fixed-bottom .navbar-collapse,.ptx-runestone-container .navbar-fixed-top .navbar-collapse,.ptx-runestone-container .navbar-static-top .navbar-collapse,.runestone-sphinx .navbar-fixed-bottom .navbar-collapse,.runestone-sphinx .navbar-fixed-top .navbar-collapse,.runestone-sphinx .navbar-static-top .navbar-collapse{padding-left:0;padding-right:0}}.ptx-runestone-container .navbar-fixed-bottom,.ptx-runestone-container .navbar-fixed-top,.runestone-sphinx .navbar-fixed-bottom,.runestone-sphinx .navbar-fixed-top{left:0;position:fixed;right:0;z-index:1030}.ptx-runestone-container .navbar-fixed-bottom .navbar-collapse,.ptx-runestone-container .navbar-fixed-top .navbar-collapse,.runestone-sphinx .navbar-fixed-bottom .navbar-collapse,.runestone-sphinx .navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.ptx-runestone-container .navbar-fixed-bottom .navbar-collapse,.ptx-runestone-container .navbar-fixed-top .navbar-collapse,.runestone-sphinx .navbar-fixed-bottom .navbar-collapse,.runestone-sphinx .navbar-fixed-top .navbar-collapse{max-height:200px}}@media (min-width:768px){.ptx-runestone-container .navbar-fixed-bottom,.ptx-runestone-container .navbar-fixed-top,.runestone-sphinx .navbar-fixed-bottom,.runestone-sphinx .navbar-fixed-top{border-radius:0}}.ptx-runestone-container .navbar-fixed-top,.runestone-sphinx .navbar-fixed-top{border-width:0 0 1px;top:0}.ptx-runestone-container .navbar-fixed-bottom,.runestone-sphinx .navbar-fixed-bottom{border-width:1px 0 0;bottom:0;margin-bottom:0}.ptx-runestone-container .container-fluid>.navbar-collapse,.ptx-runestone-container .container-fluid>.navbar-header,.ptx-runestone-container .container>.navbar-collapse,.ptx-runestone-container .container>.navbar-header,.runestone-sphinx .container-fluid>.navbar-collapse,.runestone-sphinx .container-fluid>.navbar-header,.runestone-sphinx .container>.navbar-collapse,.runestone-sphinx .container>.navbar-header{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.ptx-runestone-container .container-fluid>.navbar-collapse,.ptx-runestone-container .container-fluid>.navbar-header,.ptx-runestone-container .container>.navbar-collapse,.ptx-runestone-container .container>.navbar-header,.runestone-sphinx .container-fluid>.navbar-collapse,.runestone-sphinx .container-fluid>.navbar-header,.runestone-sphinx .container>.navbar-collapse,.runestone-sphinx .container>.navbar-header{margin-left:0;margin-right:0}}.ptx-runestone-container .navbar-static-top,.runestone-sphinx .navbar-static-top{border-width:0 0 1px;z-index:1000}@media (min-width:768px){.ptx-runestone-container .navbar-static-top,.runestone-sphinx .navbar-static-top{border-radius:0}}.ptx-runestone-container .navbar-brand,.runestone-sphinx .navbar-brand{float:left;font-size:18px;height:50px;line-height:20px;padding:15px}.ptx-runestone-container .navbar-brand:focus,.ptx-runestone-container .navbar-brand:hover,.runestone-sphinx .navbar-brand:focus,.runestone-sphinx .navbar-brand:hover{text-decoration:none}.ptx-runestone-container .navbar-brand>img,.runestone-sphinx .navbar-brand>img{display:block}@media (min-width:768px){.ptx-runestone-container .navbar>.container .navbar-brand,.ptx-runestone-container .navbar>.container-fluid .navbar-brand,.runestone-sphinx .navbar>.container .navbar-brand,.runestone-sphinx .navbar>.container-fluid .navbar-brand{margin-left:-15px}}.ptx-runestone-container .navbar-toggle,.runestone-sphinx .navbar-toggle{background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px;float:right;margin-bottom:8px;margin-right:15px;margin-top:8px;padding:9px 10px;position:relative}.ptx-runestone-container .navbar-toggle:focus,.runestone-sphinx .navbar-toggle:focus{outline:0}.ptx-runestone-container .navbar-toggle .icon-bar,.runestone-sphinx .navbar-toggle .icon-bar{border-radius:1px;display:block;height:2px;width:22px}.ptx-runestone-container .navbar-toggle .icon-bar+.icon-bar,.runestone-sphinx .navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.ptx-runestone-container .navbar-toggle,.runestone-sphinx .navbar-toggle{display:none}}.ptx-runestone-container .navbar-nav,.runestone-sphinx .navbar-nav{margin:7.5px -15px}.ptx-runestone-container .navbar-nav>li>a,.runestone-sphinx .navbar-nav>li>a{line-height:20px;padding-bottom:10px;padding-top:10px}@media (max-width:767px){.ptx-runestone-container .navbar-nav .open .dropdown-menu,.runestone-sphinx .navbar-nav .open .dropdown-menu{background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none;float:none;margin-top:0;position:static;width:auto}.ptx-runestone-container .navbar-nav .open .dropdown-menu .dropdown-header,.ptx-runestone-container .navbar-nav .open .dropdown-menu>li>a,.runestone-sphinx .navbar-nav .open .dropdown-menu .dropdown-header,.runestone-sphinx .navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.ptx-runestone-container .navbar-nav .open .dropdown-menu>li>a,.runestone-sphinx .navbar-nav .open .dropdown-menu>li>a{line-height:20px}.ptx-runestone-container .navbar-nav .open .dropdown-menu>li>a:focus,.ptx-runestone-container .navbar-nav .open .dropdown-menu>li>a:hover,.runestone-sphinx .navbar-nav .open .dropdown-menu>li>a:focus,.runestone-sphinx .navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.ptx-runestone-container .navbar-nav,.runestone-sphinx .navbar-nav{float:left;margin:0}.ptx-runestone-container .navbar-nav>li,.runestone-sphinx .navbar-nav>li{float:left}.ptx-runestone-container .navbar-nav>li>a,.runestone-sphinx .navbar-nav>li>a{padding-bottom:15px;padding-top:15px}}.ptx-runestone-container .navbar-form,.runestone-sphinx .navbar-form{border-bottom:1px solid transparent;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1),0 1px 0 hsla(0,0%,100%,.1);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1),0 1px 0 hsla(0,0%,100%,.1);margin:8px -15px;padding:10px 15px}@media (min-width:768px){.ptx-runestone-container .navbar-form .form-group,.runestone-sphinx .navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.ptx-runestone-container .navbar-form .form-control,.runestone-sphinx .navbar-form .form-control{display:inline-block;vertical-align:middle;width:auto}.ptx-runestone-container .navbar-form .form-control-static,.runestone-sphinx .navbar-form .form-control-static{display:inline-block}.ptx-runestone-container .navbar-form .input-group,.runestone-sphinx .navbar-form .input-group{display:inline-table;vertical-align:middle}.ptx-runestone-container .navbar-form .input-group .form-control,.ptx-runestone-container .navbar-form .input-group .input-group-addon,.ptx-runestone-container .navbar-form .input-group .input-group-btn,.runestone-sphinx .navbar-form .input-group .form-control,.runestone-sphinx .navbar-form .input-group .input-group-addon,.runestone-sphinx .navbar-form .input-group .input-group-btn{width:auto}.ptx-runestone-container .navbar-form .input-group>.form-control,.runestone-sphinx .navbar-form .input-group>.form-control{width:100%}.ptx-runestone-container .navbar-form .control-label,.runestone-sphinx .navbar-form .control-label{margin-bottom:0;vertical-align:middle}.ptx-runestone-container .navbar-form .checkbox,.ptx-runestone-container .navbar-form .radio,.runestone-sphinx .navbar-form .checkbox,.runestone-sphinx .navbar-form .radio{display:inline-block;margin-bottom:0;margin-top:0;vertical-align:middle}.ptx-runestone-container .navbar-form .checkbox label,.ptx-runestone-container .navbar-form .radio label,.runestone-sphinx .navbar-form .checkbox label,.runestone-sphinx .navbar-form .radio label{padding-left:0}.ptx-runestone-container .navbar-form .checkbox input[type=checkbox],.ptx-runestone-container .navbar-form .radio input[type=radio],.runestone-sphinx .navbar-form .checkbox input[type=checkbox],.runestone-sphinx .navbar-form .radio input[type=radio]{margin-left:0;position:relative}.ptx-runestone-container .navbar-form .has-feedback .form-control-feedback,.runestone-sphinx .navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.ptx-runestone-container .navbar-form .form-group,.runestone-sphinx .navbar-form .form-group{margin-bottom:5px}.ptx-runestone-container .navbar-form .form-group:last-child,.runestone-sphinx .navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.ptx-runestone-container .navbar-form,.runestone-sphinx .navbar-form{border:0;-webkit-box-shadow:none;box-shadow:none;margin-left:0;margin-right:0;padding-bottom:0;padding-top:0;width:auto}}.ptx-runestone-container .navbar-nav>li>.dropdown-menu,.runestone-sphinx .navbar-nav>li>.dropdown-menu{border-top-left-radius:0;border-top-right-radius:0;margin-top:0}.ptx-runestone-container .navbar-fixed-bottom .navbar-nav>li>.dropdown-menu,.runestone-sphinx .navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:4px;border-top-right-radius:4px;margin-bottom:0}.ptx-runestone-container .navbar-btn,.runestone-sphinx .navbar-btn{margin-bottom:8px;margin-top:8px}.ptx-runestone-container .navbar-btn.btn-sm,.runestone-sphinx .navbar-btn.btn-sm{margin-bottom:10px;margin-top:10px}.ptx-runestone-container .navbar-btn.btn-xs,.runestone-sphinx .navbar-btn.btn-xs{margin-bottom:14px;margin-top:14px}.ptx-runestone-container .navbar-text,.runestone-sphinx .navbar-text{margin-bottom:15px;margin-top:15px}@media (min-width:768px){.ptx-runestone-container .navbar-text,.runestone-sphinx .navbar-text{float:left;margin-left:15px;margin-right:15px}.ptx-runestone-container .navbar-left,.runestone-sphinx .navbar-left{float:left!important}.ptx-runestone-container .navbar-right,.runestone-sphinx .navbar-right{float:right!important;margin-right:-15px}.ptx-runestone-container .navbar-right~.navbar-right,.runestone-sphinx .navbar-right~.navbar-right{margin-right:0}}.ptx-runestone-container .navbar-default,.runestone-sphinx .navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.ptx-runestone-container .navbar-default .navbar-brand,.runestone-sphinx .navbar-default .navbar-brand{color:#777}.ptx-runestone-container .navbar-default .navbar-brand:focus,.ptx-runestone-container .navbar-default .navbar-brand:hover,.runestone-sphinx .navbar-default .navbar-brand:focus,.runestone-sphinx .navbar-default .navbar-brand:hover{background-color:transparent;color:#5e5e5e}.ptx-runestone-container .navbar-default .navbar-nav>li>a,.ptx-runestone-container .navbar-default .navbar-text,.runestone-sphinx .navbar-default .navbar-nav>li>a,.runestone-sphinx .navbar-default .navbar-text{color:#777}.ptx-runestone-container .navbar-default .navbar-nav>li>a:focus,.ptx-runestone-container .navbar-default .navbar-nav>li>a:hover,.runestone-sphinx .navbar-default .navbar-nav>li>a:focus,.runestone-sphinx .navbar-default .navbar-nav>li>a:hover{background-color:transparent;color:#333}.ptx-runestone-container .navbar-default .navbar-nav>.active>a,.ptx-runestone-container .navbar-default .navbar-nav>.active>a:focus,.ptx-runestone-container .navbar-default .navbar-nav>.active>a:hover,.runestone-sphinx .navbar-default .navbar-nav>.active>a,.runestone-sphinx .navbar-default .navbar-nav>.active>a:focus,.runestone-sphinx .navbar-default .navbar-nav>.active>a:hover{background-color:#e7e7e7;color:#555}.ptx-runestone-container .navbar-default .navbar-nav>.disabled>a,.ptx-runestone-container .navbar-default .navbar-nav>.disabled>a:focus,.ptx-runestone-container .navbar-default .navbar-nav>.disabled>a:hover,.runestone-sphinx .navbar-default .navbar-nav>.disabled>a,.runestone-sphinx .navbar-default .navbar-nav>.disabled>a:focus,.runestone-sphinx .navbar-default .navbar-nav>.disabled>a:hover{background-color:transparent;color:#ccc}.ptx-runestone-container .navbar-default .navbar-nav>.open>a,.ptx-runestone-container .navbar-default .navbar-nav>.open>a:focus,.ptx-runestone-container .navbar-default .navbar-nav>.open>a:hover,.runestone-sphinx .navbar-default .navbar-nav>.open>a,.runestone-sphinx .navbar-default .navbar-nav>.open>a:focus,.runestone-sphinx .navbar-default .navbar-nav>.open>a:hover{background-color:#e7e7e7;color:#555}@media (max-width:767px){.ptx-runestone-container .navbar-default .navbar-nav .open .dropdown-menu>li>a,.runestone-sphinx .navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.ptx-runestone-container .navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.ptx-runestone-container .navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.runestone-sphinx .navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.runestone-sphinx .navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{background-color:transparent;color:#333}.ptx-runestone-container .navbar-default .navbar-nav .open .dropdown-menu>.active>a,.ptx-runestone-container .navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.ptx-runestone-container .navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.runestone-sphinx .navbar-default .navbar-nav .open .dropdown-menu>.active>a,.runestone-sphinx .navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.runestone-sphinx .navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{background-color:#e7e7e7;color:#555}.ptx-runestone-container .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.ptx-runestone-container .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.ptx-runestone-container .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.runestone-sphinx .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.runestone-sphinx .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.runestone-sphinx .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{background-color:transparent;color:#ccc}}.ptx-runestone-container .navbar-default .navbar-toggle,.runestone-sphinx .navbar-default .navbar-toggle{border-color:#ddd}.ptx-runestone-container .navbar-default .navbar-toggle:focus,.ptx-runestone-container .navbar-default .navbar-toggle:hover,.runestone-sphinx .navbar-default .navbar-toggle:focus,.runestone-sphinx .navbar-default .navbar-toggle:hover{background-color:#ddd}.ptx-runestone-container .navbar-default .navbar-toggle .icon-bar,.runestone-sphinx .navbar-default .navbar-toggle .icon-bar{background-color:#888}.ptx-runestone-container .navbar-default .navbar-collapse,.ptx-runestone-container .navbar-default .navbar-form,.runestone-sphinx .navbar-default .navbar-collapse,.runestone-sphinx .navbar-default .navbar-form{border-color:#e7e7e7}.ptx-runestone-container .navbar-default .navbar-link,.runestone-sphinx .navbar-default .navbar-link{color:#777}.ptx-runestone-container .navbar-default .navbar-link:hover,.runestone-sphinx .navbar-default .navbar-link:hover{color:#333}.ptx-runestone-container .navbar-default .btn-link,.runestone-sphinx .navbar-default .btn-link{color:#777}.ptx-runestone-container .navbar-default .btn-link:focus,.ptx-runestone-container .navbar-default .btn-link:hover,.runestone-sphinx .navbar-default .btn-link:focus,.runestone-sphinx .navbar-default .btn-link:hover{color:#333}.ptx-runestone-container .navbar-default .btn-link[disabled]:focus,.ptx-runestone-container .navbar-default .btn-link[disabled]:hover,.ptx-runestone-container fieldset[disabled] .navbar-default .btn-link:focus,.ptx-runestone-container fieldset[disabled] .navbar-default .btn-link:hover,.runestone-sphinx .navbar-default .btn-link[disabled]:focus,.runestone-sphinx .navbar-default .btn-link[disabled]:hover,.runestone-sphinx fieldset[disabled] .navbar-default .btn-link:focus,.runestone-sphinx fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.ptx-runestone-container .navbar-inverse,.runestone-sphinx .navbar-inverse{background-color:#222;border-color:#080808}.ptx-runestone-container .navbar-inverse .navbar-brand,.runestone-sphinx .navbar-inverse .navbar-brand{color:#9d9d9d}.ptx-runestone-container .navbar-inverse .navbar-brand:focus,.ptx-runestone-container .navbar-inverse .navbar-brand:hover,.runestone-sphinx .navbar-inverse .navbar-brand:focus,.runestone-sphinx .navbar-inverse .navbar-brand:hover{background-color:transparent;color:#fff}.ptx-runestone-container .navbar-inverse .navbar-nav>li>a,.ptx-runestone-container .navbar-inverse .navbar-text,.runestone-sphinx .navbar-inverse .navbar-nav>li>a,.runestone-sphinx .navbar-inverse .navbar-text{color:#9d9d9d}.ptx-runestone-container .navbar-inverse .navbar-nav>li>a:focus,.ptx-runestone-container .navbar-inverse .navbar-nav>li>a:hover,.runestone-sphinx .navbar-inverse .navbar-nav>li>a:focus,.runestone-sphinx .navbar-inverse .navbar-nav>li>a:hover{background-color:transparent;color:#fff}.ptx-runestone-container .navbar-inverse .navbar-nav>.active>a,.ptx-runestone-container .navbar-inverse .navbar-nav>.active>a:focus,.ptx-runestone-container .navbar-inverse .navbar-nav>.active>a:hover,.runestone-sphinx .navbar-inverse .navbar-nav>.active>a,.runestone-sphinx .navbar-inverse .navbar-nav>.active>a:focus,.runestone-sphinx .navbar-inverse .navbar-nav>.active>a:hover{background-color:#080808;color:#fff}.ptx-runestone-container .navbar-inverse .navbar-nav>.disabled>a,.ptx-runestone-container .navbar-inverse .navbar-nav>.disabled>a:focus,.ptx-runestone-container .navbar-inverse .navbar-nav>.disabled>a:hover,.runestone-sphinx .navbar-inverse .navbar-nav>.disabled>a,.runestone-sphinx .navbar-inverse .navbar-nav>.disabled>a:focus,.runestone-sphinx .navbar-inverse .navbar-nav>.disabled>a:hover{background-color:transparent;color:#444}.ptx-runestone-container .navbar-inverse .navbar-nav>.open>a,.ptx-runestone-container .navbar-inverse .navbar-nav>.open>a:focus,.ptx-runestone-container .navbar-inverse .navbar-nav>.open>a:hover,.runestone-sphinx .navbar-inverse .navbar-nav>.open>a,.runestone-sphinx .navbar-inverse .navbar-nav>.open>a:focus,.runestone-sphinx .navbar-inverse .navbar-nav>.open>a:hover{background-color:#080808;color:#fff}@media (max-width:767px){.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu .divider,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu>li>a,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{background-color:transparent;color:#fff}.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{background-color:#080808;color:#fff}.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{background-color:transparent;color:#444}}.ptx-runestone-container .navbar-inverse .navbar-toggle,.runestone-sphinx .navbar-inverse .navbar-toggle{border-color:#333}.ptx-runestone-container .navbar-inverse .navbar-toggle:focus,.ptx-runestone-container .navbar-inverse .navbar-toggle:hover,.runestone-sphinx .navbar-inverse .navbar-toggle:focus,.runestone-sphinx .navbar-inverse .navbar-toggle:hover{background-color:#333}.ptx-runestone-container .navbar-inverse .navbar-toggle .icon-bar,.runestone-sphinx .navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.ptx-runestone-container .navbar-inverse .navbar-collapse,.ptx-runestone-container .navbar-inverse .navbar-form,.runestone-sphinx .navbar-inverse .navbar-collapse,.runestone-sphinx .navbar-inverse .navbar-form{border-color:#101010}.ptx-runestone-container .navbar-inverse .navbar-link,.runestone-sphinx .navbar-inverse .navbar-link{color:#9d9d9d}.ptx-runestone-container .navbar-inverse .navbar-link:hover,.runestone-sphinx .navbar-inverse .navbar-link:hover{color:#fff}.ptx-runestone-container .navbar-inverse .btn-link,.runestone-sphinx .navbar-inverse .btn-link{color:#9d9d9d}.ptx-runestone-container .navbar-inverse .btn-link:focus,.ptx-runestone-container .navbar-inverse .btn-link:hover,.runestone-sphinx .navbar-inverse .btn-link:focus,.runestone-sphinx .navbar-inverse .btn-link:hover{color:#fff}.ptx-runestone-container .navbar-inverse .btn-link[disabled]:focus,.ptx-runestone-container .navbar-inverse .btn-link[disabled]:hover,.ptx-runestone-container fieldset[disabled] .navbar-inverse .btn-link:focus,.ptx-runestone-container fieldset[disabled] .navbar-inverse .btn-link:hover,.runestone-sphinx .navbar-inverse .btn-link[disabled]:focus,.runestone-sphinx .navbar-inverse .btn-link[disabled]:hover,.runestone-sphinx fieldset[disabled] .navbar-inverse .btn-link:focus,.runestone-sphinx fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.ptx-runestone-container .breadcrumb,.runestone-sphinx .breadcrumb{background-color:#f5f5f5;border-radius:4px;list-style:none;margin-bottom:20px;padding:8px 15px}.ptx-runestone-container .breadcrumb>li,.runestone-sphinx .breadcrumb>li{display:inline-block}.ptx-runestone-container .breadcrumb>li+li:before,.runestone-sphinx .breadcrumb>li+li:before{color:#ccc;content:"/\00a0";padding:0 5px}.ptx-runestone-container .breadcrumb>.active,.runestone-sphinx .breadcrumb>.active{color:#777}.ptx-runestone-container .pagination,.runestone-sphinx .pagination{border-radius:4px;display:inline-block;margin:20px 0;padding-left:0}.ptx-runestone-container .pagination>li,.runestone-sphinx .pagination>li{display:inline}.ptx-runestone-container .pagination>li>a,.ptx-runestone-container .pagination>li>span,.runestone-sphinx .pagination>li>a,.runestone-sphinx .pagination>li>span{background-color:#fff;border:1px solid #ddd;color:#337ab7;float:left;line-height:1.42857143;margin-left:-1px;padding:6px 12px;position:relative;text-decoration:none}.ptx-runestone-container .pagination>li>a:focus,.ptx-runestone-container .pagination>li>a:hover,.ptx-runestone-container .pagination>li>span:focus,.ptx-runestone-container .pagination>li>span:hover,.runestone-sphinx .pagination>li>a:focus,.runestone-sphinx .pagination>li>a:hover,.runestone-sphinx .pagination>li>span:focus,.runestone-sphinx .pagination>li>span:hover{background-color:#eee;border-color:#ddd;color:#23527c;z-index:2}.ptx-runestone-container .pagination>li:first-child>a,.ptx-runestone-container .pagination>li:first-child>span,.runestone-sphinx .pagination>li:first-child>a,.runestone-sphinx .pagination>li:first-child>span{border-bottom-left-radius:4px;border-top-left-radius:4px;margin-left:0}.ptx-runestone-container .pagination>li:last-child>a,.ptx-runestone-container .pagination>li:last-child>span,.runestone-sphinx .pagination>li:last-child>a,.runestone-sphinx .pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.ptx-runestone-container .pagination>.active>a,.ptx-runestone-container .pagination>.active>a:focus,.ptx-runestone-container .pagination>.active>a:hover,.ptx-runestone-container .pagination>.active>span,.ptx-runestone-container .pagination>.active>span:focus,.ptx-runestone-container .pagination>.active>span:hover,.runestone-sphinx .pagination>.active>a,.runestone-sphinx .pagination>.active>a:focus,.runestone-sphinx .pagination>.active>a:hover,.runestone-sphinx .pagination>.active>span,.runestone-sphinx .pagination>.active>span:focus,.runestone-sphinx .pagination>.active>span:hover{background-color:#337ab7;border-color:#337ab7;color:#fff;cursor:default;z-index:3}.ptx-runestone-container .pagination>.disabled>a,.ptx-runestone-container .pagination>.disabled>a:focus,.ptx-runestone-container .pagination>.disabled>a:hover,.ptx-runestone-container .pagination>.disabled>span,.ptx-runestone-container .pagination>.disabled>span:focus,.ptx-runestone-container .pagination>.disabled>span:hover,.runestone-sphinx .pagination>.disabled>a,.runestone-sphinx .pagination>.disabled>a:focus,.runestone-sphinx .pagination>.disabled>a:hover,.runestone-sphinx .pagination>.disabled>span,.runestone-sphinx .pagination>.disabled>span:focus,.runestone-sphinx .pagination>.disabled>span:hover{background-color:#fff;border-color:#ddd;color:#777;cursor:not-allowed}.ptx-runestone-container .pagination-lg>li>a,.ptx-runestone-container .pagination-lg>li>span,.runestone-sphinx .pagination-lg>li>a,.runestone-sphinx .pagination-lg>li>span{font-size:18px;line-height:1.3333333;padding:10px 16px}.ptx-runestone-container .pagination-lg>li:first-child>a,.ptx-runestone-container .pagination-lg>li:first-child>span,.runestone-sphinx .pagination-lg>li:first-child>a,.runestone-sphinx .pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.ptx-runestone-container .pagination-lg>li:last-child>a,.ptx-runestone-container .pagination-lg>li:last-child>span,.runestone-sphinx .pagination-lg>li:last-child>a,.runestone-sphinx .pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.ptx-runestone-container .pagination-sm>li>a,.ptx-runestone-container .pagination-sm>li>span,.runestone-sphinx .pagination-sm>li>a,.runestone-sphinx .pagination-sm>li>span{font-size:12px;line-height:1.5;padding:5px 10px}.ptx-runestone-container .pagination-sm>li:first-child>a,.ptx-runestone-container .pagination-sm>li:first-child>span,.runestone-sphinx .pagination-sm>li:first-child>a,.runestone-sphinx .pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.ptx-runestone-container .pagination-sm>li:last-child>a,.ptx-runestone-container .pagination-sm>li:last-child>span,.runestone-sphinx .pagination-sm>li:last-child>a,.runestone-sphinx .pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.ptx-runestone-container .pager,.runestone-sphinx .pager{list-style:none;margin:20px 0;padding-left:0;text-align:center}.ptx-runestone-container .pager li,.runestone-sphinx .pager li{display:inline}.ptx-runestone-container .pager li>a,.ptx-runestone-container .pager li>span,.runestone-sphinx .pager li>a,.runestone-sphinx .pager li>span{background-color:#fff;border:1px solid #ddd;border-radius:15px;display:inline-block;padding:5px 14px}.ptx-runestone-container .pager li>a:focus,.ptx-runestone-container .pager li>a:hover,.runestone-sphinx .pager li>a:focus,.runestone-sphinx .pager li>a:hover{background-color:#eee;text-decoration:none}.ptx-runestone-container .pager .next>a,.ptx-runestone-container .pager .next>span,.runestone-sphinx .pager .next>a,.runestone-sphinx .pager .next>span{float:right}.ptx-runestone-container .pager .previous>a,.ptx-runestone-container .pager .previous>span,.runestone-sphinx .pager .previous>a,.runestone-sphinx .pager .previous>span{float:left}.ptx-runestone-container .pager .disabled>a,.ptx-runestone-container .pager .disabled>a:focus,.ptx-runestone-container .pager .disabled>a:hover,.ptx-runestone-container .pager .disabled>span,.runestone-sphinx .pager .disabled>a,.runestone-sphinx .pager .disabled>a:focus,.runestone-sphinx .pager .disabled>a:hover,.runestone-sphinx .pager .disabled>span{background-color:#fff;color:#777;cursor:not-allowed}.ptx-runestone-container .label,.runestone-sphinx .label{border-radius:.25em;color:#fff;display:inline;font-size:75%;font-weight:700;line-height:1;padding:.2em .6em .3em;text-align:center;vertical-align:baseline;white-space:nowrap}.ptx-runestone-container a.label:focus,.ptx-runestone-container a.label:hover,.runestone-sphinx a.label:focus,.runestone-sphinx a.label:hover{color:#fff;cursor:pointer;text-decoration:none}.ptx-runestone-container .label:empty,.runestone-sphinx .label:empty{display:none}.ptx-runestone-container .btn .label,.runestone-sphinx .btn .label{position:relative;top:-1px}.ptx-runestone-container .label-default,.runestone-sphinx .label-default{background-color:#777}.ptx-runestone-container .label-default[href]:focus,.ptx-runestone-container .label-default[href]:hover,.runestone-sphinx .label-default[href]:focus,.runestone-sphinx .label-default[href]:hover{background-color:#5e5e5e}.ptx-runestone-container .label-primary,.runestone-sphinx .label-primary{background-color:#337ab7}.ptx-runestone-container .label-primary[href]:focus,.ptx-runestone-container .label-primary[href]:hover,.runestone-sphinx .label-primary[href]:focus,.runestone-sphinx .label-primary[href]:hover{background-color:#286090}.ptx-runestone-container .label-success,.runestone-sphinx .label-success{background-color:#5cb85c}.ptx-runestone-container .label-success[href]:focus,.ptx-runestone-container .label-success[href]:hover,.runestone-sphinx .label-success[href]:focus,.runestone-sphinx .label-success[href]:hover{background-color:#449d44}.ptx-runestone-container .label-info,.runestone-sphinx .label-info{background-color:#5bc0de}.ptx-runestone-container .label-info[href]:focus,.ptx-runestone-container .label-info[href]:hover,.runestone-sphinx .label-info[href]:focus,.runestone-sphinx .label-info[href]:hover{background-color:#31b0d5}.ptx-runestone-container .label-warning,.runestone-sphinx .label-warning{background-color:#f0ad4e}.ptx-runestone-container .label-warning[href]:focus,.ptx-runestone-container .label-warning[href]:hover,.runestone-sphinx .label-warning[href]:focus,.runestone-sphinx .label-warning[href]:hover{background-color:#ec971f}.ptx-runestone-container .label-danger,.runestone-sphinx .label-danger{background-color:#d9534f}.ptx-runestone-container .label-danger[href]:focus,.ptx-runestone-container .label-danger[href]:hover,.runestone-sphinx .label-danger[href]:focus,.runestone-sphinx .label-danger[href]:hover{background-color:#c9302c}.ptx-runestone-container .badge,.runestone-sphinx .badge{background-color:#777;border-radius:10px;color:#fff;display:inline-block;font-size:12px;font-weight:700;line-height:1;min-width:10px;padding:3px 7px;text-align:center;vertical-align:middle;white-space:nowrap}.ptx-runestone-container .badge:empty,.runestone-sphinx .badge:empty{display:none}.ptx-runestone-container .btn .badge,.runestone-sphinx .btn .badge{position:relative;top:-1px}.ptx-runestone-container .btn-group-xs>.btn .badge,.ptx-runestone-container .btn-xs .badge,.runestone-sphinx .btn-group-xs>.btn .badge,.runestone-sphinx .btn-xs .badge{padding:1px 5px;top:0}.ptx-runestone-container a.badge:focus,.ptx-runestone-container a.badge:hover,.runestone-sphinx a.badge:focus,.runestone-sphinx a.badge:hover{color:#fff;cursor:pointer;text-decoration:none}.ptx-runestone-container .list-group-item.active>.badge,.ptx-runestone-container .nav-pills>.active>a>.badge,.runestone-sphinx .list-group-item.active>.badge,.runestone-sphinx .nav-pills>.active>a>.badge{background-color:#fff;color:#337ab7}.ptx-runestone-container .list-group-item>.badge,.runestone-sphinx .list-group-item>.badge{float:right}.ptx-runestone-container .list-group-item>.badge+.badge,.runestone-sphinx .list-group-item>.badge+.badge{margin-right:5px}.ptx-runestone-container .nav-pills>li>a>.badge,.runestone-sphinx .nav-pills>li>a>.badge{margin-left:3px}.ptx-runestone-container .jumbotron,.runestone-sphinx .jumbotron{background-color:#eee;color:inherit;margin-bottom:30px;padding-bottom:30px;padding-top:30px}.ptx-runestone-container .jumbotron .h1,.ptx-runestone-container .jumbotron h1,.runestone-sphinx .jumbotron .h1,.runestone-sphinx .jumbotron h1{color:inherit}.ptx-runestone-container .jumbotron p,.runestone-sphinx .jumbotron p{font-size:21px;font-weight:200;margin-bottom:15px}.ptx-runestone-container .jumbotron>hr,.runestone-sphinx .jumbotron>hr{border-top-color:#d5d5d5}.ptx-runestone-container .container .jumbotron,.ptx-runestone-container .container-fluid .jumbotron,.runestone-sphinx .container .jumbotron,.runestone-sphinx .container-fluid .jumbotron{border-radius:6px;padding-left:15px;padding-right:15px}.ptx-runestone-container .jumbotron .container,.runestone-sphinx .jumbotron .container{max-width:100%}@media screen and (min-width:768px){.ptx-runestone-container .jumbotron,.runestone-sphinx .jumbotron{padding-bottom:48px;padding-top:48px}.ptx-runestone-container .container .jumbotron,.ptx-runestone-container .container-fluid .jumbotron,.runestone-sphinx .container .jumbotron,.runestone-sphinx .container-fluid .jumbotron{padding-left:60px;padding-right:60px}.ptx-runestone-container .jumbotron .h1,.ptx-runestone-container .jumbotron h1,.runestone-sphinx .jumbotron .h1,.runestone-sphinx .jumbotron h1{font-size:63px}}.ptx-runestone-container .thumbnail,.runestone-sphinx .thumbnail{background-color:#fff;border:1px solid #ddd;border-radius:4px;display:block;line-height:1.42857143;margin-bottom:20px;padding:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.ptx-runestone-container .thumbnail a>img,.ptx-runestone-container .thumbnail>img,.runestone-sphinx .thumbnail a>img,.runestone-sphinx .thumbnail>img{margin-left:auto;margin-right:auto}.ptx-runestone-container a.thumbnail.active,.ptx-runestone-container a.thumbnail:focus,.ptx-runestone-container a.thumbnail:hover,.runestone-sphinx a.thumbnail.active,.runestone-sphinx a.thumbnail:focus,.runestone-sphinx a.thumbnail:hover{border-color:#337ab7}.ptx-runestone-container .thumbnail .caption,.runestone-sphinx .thumbnail .caption{color:#333;padding:9px}.ptx-runestone-container .alert,.runestone-sphinx .alert{border:1px solid transparent;border-radius:4px;margin-bottom:20px;padding:15px}.ptx-runestone-container .alert h4,.runestone-sphinx .alert h4{color:inherit;margin-top:0}.ptx-runestone-container .alert .alert-link,.runestone-sphinx .alert .alert-link{font-weight:700}.ptx-runestone-container .alert>p,.ptx-runestone-container .alert>ul,.runestone-sphinx .alert>p,.runestone-sphinx .alert>ul{margin-bottom:0}.ptx-runestone-container .alert>p+p,.runestone-sphinx .alert>p+p{margin-top:5px}.ptx-runestone-container .alert-dismissable,.ptx-runestone-container .alert-dismissible,.runestone-sphinx .alert-dismissable,.runestone-sphinx .alert-dismissible{padding-right:35px}.ptx-runestone-container .alert-dismissable .close,.ptx-runestone-container .alert-dismissible .close,.runestone-sphinx .alert-dismissable .close,.runestone-sphinx .alert-dismissible .close{color:inherit;position:relative;right:-21px;top:-2px}.ptx-runestone-container .alert-success,.runestone-sphinx .alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.ptx-runestone-container .alert-success hr,.runestone-sphinx .alert-success hr{border-top-color:#c9e2b3}.ptx-runestone-container .alert-success .alert-link,.runestone-sphinx .alert-success .alert-link{color:#2b542c}.ptx-runestone-container .alert-info,.runestone-sphinx .alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.ptx-runestone-container .alert-info hr,.runestone-sphinx .alert-info hr{border-top-color:#a6e1ec}.ptx-runestone-container .alert-info .alert-link,.runestone-sphinx .alert-info .alert-link{color:#245269}.ptx-runestone-container .alert-warning,.runestone-sphinx .alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.ptx-runestone-container .alert-warning hr,.runestone-sphinx .alert-warning hr{border-top-color:#f7e1b5}.ptx-runestone-container .alert-warning .alert-link,.runestone-sphinx .alert-warning .alert-link{color:#66512c}.ptx-runestone-container .alert-danger,.runestone-sphinx .alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.ptx-runestone-container .alert-danger hr,.runestone-sphinx .alert-danger hr{border-top-color:#e4b9c0}.ptx-runestone-container .alert-danger .alert-link,.runestone-sphinx .alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}.ptx-runestone-container .progress,.runestone-sphinx .progress{background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);height:20px;margin-bottom:20px;overflow:hidden}.ptx-runestone-container .progress-bar,.runestone-sphinx .progress-bar{background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);color:#fff;float:left;font-size:12px;height:100%;line-height:20px;text-align:center;-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease;width:0}.ptx-runestone-container .progress-bar-striped,.ptx-runestone-container .progress-striped .progress-bar,.runestone-sphinx .progress-bar-striped,.runestone-sphinx .progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.ptx-runestone-container .progress-bar.active,.ptx-runestone-container .progress.active .progress-bar,.runestone-sphinx .progress-bar.active,.runestone-sphinx .progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.ptx-runestone-container .progress-bar-success,.runestone-sphinx .progress-bar-success{background-color:#5cb85c}.ptx-runestone-container .progress-striped .progress-bar-success,.runestone-sphinx .progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ptx-runestone-container .progress-bar-info,.runestone-sphinx .progress-bar-info{background-color:#5bc0de}.ptx-runestone-container .progress-striped .progress-bar-info,.runestone-sphinx .progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ptx-runestone-container .progress-bar-warning,.runestone-sphinx .progress-bar-warning{background-color:#f0ad4e}.ptx-runestone-container .progress-striped .progress-bar-warning,.runestone-sphinx .progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ptx-runestone-container .progress-bar-danger,.runestone-sphinx .progress-bar-danger{background-color:#d9534f}.ptx-runestone-container .progress-striped .progress-bar-danger,.runestone-sphinx .progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ptx-runestone-container .media,.runestone-sphinx .media{margin-top:15px}.ptx-runestone-container .media:first-child,.runestone-sphinx .media:first-child{margin-top:0}.ptx-runestone-container .media,.ptx-runestone-container .media-body,.runestone-sphinx .media,.runestone-sphinx .media-body{zoom:1;overflow:hidden}.ptx-runestone-container .media-body,.runestone-sphinx .media-body{width:10000px}.ptx-runestone-container .media-object,.runestone-sphinx .media-object{display:block}.ptx-runestone-container .media-object.img-thumbnail,.runestone-sphinx .media-object.img-thumbnail{max-width:none}.ptx-runestone-container .media-right,.ptx-runestone-container .media>.pull-right,.runestone-sphinx .media-right,.runestone-sphinx .media>.pull-right{padding-left:10px}.ptx-runestone-container .media-left,.ptx-runestone-container .media>.pull-left,.runestone-sphinx .media-left,.runestone-sphinx .media>.pull-left{padding-right:10px}.ptx-runestone-container .media-body,.ptx-runestone-container .media-left,.ptx-runestone-container .media-right,.runestone-sphinx .media-body,.runestone-sphinx .media-left,.runestone-sphinx .media-right{display:table-cell;vertical-align:top}.ptx-runestone-container .media-middle,.runestone-sphinx .media-middle{vertical-align:middle}.ptx-runestone-container .media-bottom,.runestone-sphinx .media-bottom{vertical-align:bottom}.ptx-runestone-container .media-heading,.runestone-sphinx .media-heading{margin-bottom:5px;margin-top:0}.ptx-runestone-container .media-list,.runestone-sphinx .media-list{list-style:none;padding-left:0}.ptx-runestone-container .list-group,.runestone-sphinx .list-group{margin-bottom:20px;padding-left:0}.ptx-runestone-container .list-group-item,.runestone-sphinx .list-group-item{background-color:#fff;border:1px solid #ddd;display:block;margin-bottom:-1px;padding:10px 15px;position:relative}.ptx-runestone-container .list-group-item:first-child,.runestone-sphinx .list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.ptx-runestone-container .list-group-item:last-child,.runestone-sphinx .list-group-item:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;margin-bottom:0}.ptx-runestone-container .list-group-item.disabled,.ptx-runestone-container .list-group-item.disabled:focus,.ptx-runestone-container .list-group-item.disabled:hover,.runestone-sphinx .list-group-item.disabled,.runestone-sphinx .list-group-item.disabled:focus,.runestone-sphinx .list-group-item.disabled:hover{background-color:#eee;color:#777;cursor:not-allowed}.ptx-runestone-container .list-group-item.disabled .list-group-item-heading,.ptx-runestone-container .list-group-item.disabled:focus .list-group-item-heading,.ptx-runestone-container .list-group-item.disabled:hover .list-group-item-heading,.runestone-sphinx .list-group-item.disabled .list-group-item-heading,.runestone-sphinx .list-group-item.disabled:focus .list-group-item-heading,.runestone-sphinx .list-group-item.disabled:hover .list-group-item-heading{color:inherit}.ptx-runestone-container .list-group-item.disabled .list-group-item-text,.ptx-runestone-container .list-group-item.disabled:focus .list-group-item-text,.ptx-runestone-container .list-group-item.disabled:hover .list-group-item-text,.runestone-sphinx .list-group-item.disabled .list-group-item-text,.runestone-sphinx .list-group-item.disabled:focus .list-group-item-text,.runestone-sphinx .list-group-item.disabled:hover .list-group-item-text{color:#777}.ptx-runestone-container .list-group-item.active,.ptx-runestone-container .list-group-item.active:focus,.ptx-runestone-container .list-group-item.active:hover,.runestone-sphinx .list-group-item.active,.runestone-sphinx .list-group-item.active:focus,.runestone-sphinx .list-group-item.active:hover{background-color:#337ab7;border-color:#337ab7;color:#fff;z-index:2}.ptx-runestone-container .list-group-item.active .list-group-item-heading,.ptx-runestone-container .list-group-item.active .list-group-item-heading>.small,.ptx-runestone-container .list-group-item.active .list-group-item-heading>small,.ptx-runestone-container .list-group-item.active:focus .list-group-item-heading,.ptx-runestone-container .list-group-item.active:focus .list-group-item-heading>.small,.ptx-runestone-container .list-group-item.active:focus .list-group-item-heading>small,.ptx-runestone-container .list-group-item.active:hover .list-group-item-heading,.ptx-runestone-container .list-group-item.active:hover .list-group-item-heading>.small,.ptx-runestone-container .list-group-item.active:hover .list-group-item-heading>small,.runestone-sphinx .list-group-item.active .list-group-item-heading,.runestone-sphinx .list-group-item.active .list-group-item-heading>.small,.runestone-sphinx .list-group-item.active .list-group-item-heading>small,.runestone-sphinx .list-group-item.active:focus .list-group-item-heading,.runestone-sphinx .list-group-item.active:focus .list-group-item-heading>.small,.runestone-sphinx .list-group-item.active:focus .list-group-item-heading>small,.runestone-sphinx .list-group-item.active:hover .list-group-item-heading,.runestone-sphinx .list-group-item.active:hover .list-group-item-heading>.small,.runestone-sphinx .list-group-item.active:hover .list-group-item-heading>small{color:inherit}.ptx-runestone-container .list-group-item.active .list-group-item-text,.ptx-runestone-container .list-group-item.active:focus .list-group-item-text,.ptx-runestone-container .list-group-item.active:hover .list-group-item-text,.runestone-sphinx .list-group-item.active .list-group-item-text,.runestone-sphinx .list-group-item.active:focus .list-group-item-text,.runestone-sphinx .list-group-item.active:hover .list-group-item-text{color:#c7ddef}.ptx-runestone-container a.list-group-item,.ptx-runestone-container button.list-group-item,.runestone-sphinx a.list-group-item,.runestone-sphinx button.list-group-item{color:#555}.ptx-runestone-container a.list-group-item .list-group-item-heading,.ptx-runestone-container button.list-group-item .list-group-item-heading,.runestone-sphinx a.list-group-item .list-group-item-heading,.runestone-sphinx button.list-group-item .list-group-item-heading{color:#333}.ptx-runestone-container a.list-group-item:focus,.ptx-runestone-container a.list-group-item:hover,.ptx-runestone-container button.list-group-item:focus,.ptx-runestone-container button.list-group-item:hover,.runestone-sphinx a.list-group-item:focus,.runestone-sphinx a.list-group-item:hover,.runestone-sphinx button.list-group-item:focus,.runestone-sphinx button.list-group-item:hover{background-color:#f5f5f5;color:#555;text-decoration:none}.ptx-runestone-container button.list-group-item,.runestone-sphinx button.list-group-item{text-align:left;width:100%}.ptx-runestone-container .list-group-item-success,.runestone-sphinx .list-group-item-success{background-color:#dff0d8;color:#3c763d}.ptx-runestone-container a.list-group-item-success,.ptx-runestone-container button.list-group-item-success,.runestone-sphinx a.list-group-item-success,.runestone-sphinx button.list-group-item-success{color:#3c763d}.ptx-runestone-container a.list-group-item-success .list-group-item-heading,.ptx-runestone-container button.list-group-item-success .list-group-item-heading,.runestone-sphinx a.list-group-item-success .list-group-item-heading,.runestone-sphinx button.list-group-item-success .list-group-item-heading{color:inherit}.ptx-runestone-container a.list-group-item-success:focus,.ptx-runestone-container a.list-group-item-success:hover,.ptx-runestone-container button.list-group-item-success:focus,.ptx-runestone-container button.list-group-item-success:hover,.runestone-sphinx a.list-group-item-success:focus,.runestone-sphinx a.list-group-item-success:hover,.runestone-sphinx button.list-group-item-success:focus,.runestone-sphinx button.list-group-item-success:hover{background-color:#d0e9c6;color:#3c763d}.ptx-runestone-container a.list-group-item-success.active,.ptx-runestone-container a.list-group-item-success.active:focus,.ptx-runestone-container a.list-group-item-success.active:hover,.ptx-runestone-container button.list-group-item-success.active,.ptx-runestone-container button.list-group-item-success.active:focus,.ptx-runestone-container button.list-group-item-success.active:hover,.runestone-sphinx a.list-group-item-success.active,.runestone-sphinx a.list-group-item-success.active:focus,.runestone-sphinx a.list-group-item-success.active:hover,.runestone-sphinx button.list-group-item-success.active,.runestone-sphinx button.list-group-item-success.active:focus,.runestone-sphinx button.list-group-item-success.active:hover{background-color:#3c763d;border-color:#3c763d;color:#fff}.ptx-runestone-container .list-group-item-info,.runestone-sphinx .list-group-item-info{background-color:#d9edf7;color:#31708f}.ptx-runestone-container a.list-group-item-info,.ptx-runestone-container button.list-group-item-info,.runestone-sphinx a.list-group-item-info,.runestone-sphinx button.list-group-item-info{color:#31708f}.ptx-runestone-container a.list-group-item-info .list-group-item-heading,.ptx-runestone-container button.list-group-item-info .list-group-item-heading,.runestone-sphinx a.list-group-item-info .list-group-item-heading,.runestone-sphinx button.list-group-item-info .list-group-item-heading{color:inherit}.ptx-runestone-container a.list-group-item-info:focus,.ptx-runestone-container a.list-group-item-info:hover,.ptx-runestone-container button.list-group-item-info:focus,.ptx-runestone-container button.list-group-item-info:hover,.runestone-sphinx a.list-group-item-info:focus,.runestone-sphinx a.list-group-item-info:hover,.runestone-sphinx button.list-group-item-info:focus,.runestone-sphinx button.list-group-item-info:hover{background-color:#c4e3f3;color:#31708f}.ptx-runestone-container a.list-group-item-info.active,.ptx-runestone-container a.list-group-item-info.active:focus,.ptx-runestone-container a.list-group-item-info.active:hover,.ptx-runestone-container button.list-group-item-info.active,.ptx-runestone-container button.list-group-item-info.active:focus,.ptx-runestone-container button.list-group-item-info.active:hover,.runestone-sphinx a.list-group-item-info.active,.runestone-sphinx a.list-group-item-info.active:focus,.runestone-sphinx a.list-group-item-info.active:hover,.runestone-sphinx button.list-group-item-info.active,.runestone-sphinx button.list-group-item-info.active:focus,.runestone-sphinx button.list-group-item-info.active:hover{background-color:#31708f;border-color:#31708f;color:#fff}.ptx-runestone-container .list-group-item-warning,.runestone-sphinx .list-group-item-warning{background-color:#fcf8e3;color:#8a6d3b}.ptx-runestone-container a.list-group-item-warning,.ptx-runestone-container button.list-group-item-warning,.runestone-sphinx a.list-group-item-warning,.runestone-sphinx button.list-group-item-warning{color:#8a6d3b}.ptx-runestone-container a.list-group-item-warning .list-group-item-heading,.ptx-runestone-container button.list-group-item-warning .list-group-item-heading,.runestone-sphinx a.list-group-item-warning .list-group-item-heading,.runestone-sphinx button.list-group-item-warning .list-group-item-heading{color:inherit}.ptx-runestone-container a.list-group-item-warning:focus,.ptx-runestone-container a.list-group-item-warning:hover,.ptx-runestone-container button.list-group-item-warning:focus,.ptx-runestone-container button.list-group-item-warning:hover,.runestone-sphinx a.list-group-item-warning:focus,.runestone-sphinx a.list-group-item-warning:hover,.runestone-sphinx button.list-group-item-warning:focus,.runestone-sphinx button.list-group-item-warning:hover{background-color:#faf2cc;color:#8a6d3b}.ptx-runestone-container a.list-group-item-warning.active,.ptx-runestone-container a.list-group-item-warning.active:focus,.ptx-runestone-container a.list-group-item-warning.active:hover,.ptx-runestone-container button.list-group-item-warning.active,.ptx-runestone-container button.list-group-item-warning.active:focus,.ptx-runestone-container button.list-group-item-warning.active:hover,.runestone-sphinx a.list-group-item-warning.active,.runestone-sphinx a.list-group-item-warning.active:focus,.runestone-sphinx a.list-group-item-warning.active:hover,.runestone-sphinx button.list-group-item-warning.active,.runestone-sphinx button.list-group-item-warning.active:focus,.runestone-sphinx button.list-group-item-warning.active:hover{background-color:#8a6d3b;border-color:#8a6d3b;color:#fff}.ptx-runestone-container .list-group-item-danger,.runestone-sphinx .list-group-item-danger{background-color:#f2dede;color:#a94442}.ptx-runestone-container a.list-group-item-danger,.ptx-runestone-container button.list-group-item-danger,.runestone-sphinx a.list-group-item-danger,.runestone-sphinx button.list-group-item-danger{color:#a94442}.ptx-runestone-container a.list-group-item-danger .list-group-item-heading,.ptx-runestone-container button.list-group-item-danger .list-group-item-heading,.runestone-sphinx a.list-group-item-danger .list-group-item-heading,.runestone-sphinx button.list-group-item-danger .list-group-item-heading{color:inherit}.ptx-runestone-container a.list-group-item-danger:focus,.ptx-runestone-container a.list-group-item-danger:hover,.ptx-runestone-container button.list-group-item-danger:focus,.ptx-runestone-container button.list-group-item-danger:hover,.runestone-sphinx a.list-group-item-danger:focus,.runestone-sphinx a.list-group-item-danger:hover,.runestone-sphinx button.list-group-item-danger:focus,.runestone-sphinx button.list-group-item-danger:hover{background-color:#ebcccc;color:#a94442}.ptx-runestone-container a.list-group-item-danger.active,.ptx-runestone-container a.list-group-item-danger.active:focus,.ptx-runestone-container a.list-group-item-danger.active:hover,.ptx-runestone-container button.list-group-item-danger.active,.ptx-runestone-container button.list-group-item-danger.active:focus,.ptx-runestone-container button.list-group-item-danger.active:hover,.runestone-sphinx a.list-group-item-danger.active,.runestone-sphinx a.list-group-item-danger.active:focus,.runestone-sphinx a.list-group-item-danger.active:hover,.runestone-sphinx button.list-group-item-danger.active,.runestone-sphinx button.list-group-item-danger.active:focus,.runestone-sphinx button.list-group-item-danger.active:hover{background-color:#a94442;border-color:#a94442;color:#fff}.ptx-runestone-container .list-group-item-heading,.runestone-sphinx .list-group-item-heading{margin-bottom:5px;margin-top:0}.ptx-runestone-container .list-group-item-text,.runestone-sphinx .list-group-item-text{line-height:1.3;margin-bottom:0}.ptx-runestone-container .panel,.runestone-sphinx .panel{background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05);margin-bottom:20px}.ptx-runestone-container .panel-body,.runestone-sphinx .panel-body{padding:15px}.ptx-runestone-container .panel-heading,.runestone-sphinx .panel-heading{border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px;padding:10px 15px}.ptx-runestone-container .panel-heading>.dropdown .dropdown-toggle,.runestone-sphinx .panel-heading>.dropdown .dropdown-toggle{color:inherit}.ptx-runestone-container .panel-title,.runestone-sphinx .panel-title{color:inherit;font-size:16px;margin-bottom:0;margin-top:0}.ptx-runestone-container .panel-title>.small,.ptx-runestone-container .panel-title>.small>a,.ptx-runestone-container .panel-title>a,.ptx-runestone-container .panel-title>small,.ptx-runestone-container .panel-title>small>a,.runestone-sphinx .panel-title>.small,.runestone-sphinx .panel-title>.small>a,.runestone-sphinx .panel-title>a,.runestone-sphinx .panel-title>small,.runestone-sphinx .panel-title>small>a{color:inherit}.ptx-runestone-container .panel-footer,.runestone-sphinx .panel-footer{background-color:#f5f5f5;border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-top:1px solid #ddd;padding:10px 15px}.ptx-runestone-container .panel>.list-group,.ptx-runestone-container .panel>.panel-collapse>.list-group,.runestone-sphinx .panel>.list-group,.runestone-sphinx .panel>.panel-collapse>.list-group{margin-bottom:0}.ptx-runestone-container .panel>.list-group .list-group-item,.ptx-runestone-container .panel>.panel-collapse>.list-group .list-group-item,.runestone-sphinx .panel>.list-group .list-group-item,.runestone-sphinx .panel>.panel-collapse>.list-group .list-group-item{border-radius:0;border-width:1px 0}.ptx-runestone-container .panel>.list-group:first-child .list-group-item:first-child,.ptx-runestone-container .panel>.panel-collapse>.list-group:first-child .list-group-item:first-child,.runestone-sphinx .panel>.list-group:first-child .list-group-item:first-child,.runestone-sphinx .panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.ptx-runestone-container .panel>.list-group:last-child .list-group-item:last-child,.ptx-runestone-container .panel>.panel-collapse>.list-group:last-child .list-group-item:last-child,.runestone-sphinx .panel>.list-group:last-child .list-group-item:last-child,.runestone-sphinx .panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-left-radius:3px;border-bottom-right-radius:3px}.ptx-runestone-container .panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child,.runestone-sphinx .panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.ptx-runestone-container .list-group+.panel-footer,.ptx-runestone-container .panel-heading+.list-group .list-group-item:first-child,.runestone-sphinx .list-group+.panel-footer,.runestone-sphinx .panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.ptx-runestone-container .panel>.panel-collapse>.table,.ptx-runestone-container .panel>.table,.ptx-runestone-container .panel>.table-responsive>.table,.runestone-sphinx .panel>.panel-collapse>.table,.runestone-sphinx .panel>.table,.runestone-sphinx .panel>.table-responsive>.table{margin-bottom:0}.ptx-runestone-container .panel>.panel-collapse>.table caption,.ptx-runestone-container .panel>.table caption,.ptx-runestone-container .panel>.table-responsive>.table caption,.runestone-sphinx .panel>.panel-collapse>.table caption,.runestone-sphinx .panel>.table caption,.runestone-sphinx .panel>.table-responsive>.table caption{padding-left:15px;padding-right:15px}.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child,.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.ptx-runestone-container .panel>.table:first-child,.ptx-runestone-container .panel>.table:first-child>tbody:first-child>tr:first-child,.ptx-runestone-container .panel>.table:first-child>thead:first-child>tr:first-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.runestone-sphinx .panel>.table:first-child,.runestone-sphinx .panel>.table:first-child>tbody:first-child>tr:first-child,.runestone-sphinx .panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.ptx-runestone-container .panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.ptx-runestone-container .panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.ptx-runestone-container .panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.ptx-runestone-container .panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.runestone-sphinx .panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.runestone-sphinx .panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.runestone-sphinx .panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.runestone-sphinx .panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.ptx-runestone-container .panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.ptx-runestone-container .panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.ptx-runestone-container .panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.ptx-runestone-container .panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.runestone-sphinx .panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.runestone-sphinx .panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.runestone-sphinx .panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.runestone-sphinx .panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child,.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.ptx-runestone-container .panel>.table:last-child,.ptx-runestone-container .panel>.table:last-child>tbody:last-child>tr:last-child,.ptx-runestone-container .panel>.table:last-child>tfoot:last-child>tr:last-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.runestone-sphinx .panel>.table:last-child,.runestone-sphinx .panel>.table:last-child>tbody:last-child>tr:last-child,.runestone-sphinx .panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.ptx-runestone-container .panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.ptx-runestone-container .panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.ptx-runestone-container .panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.ptx-runestone-container .panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.runestone-sphinx .panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.runestone-sphinx .panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.runestone-sphinx .panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.runestone-sphinx .panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.ptx-runestone-container .panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.ptx-runestone-container .panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.ptx-runestone-container .panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.ptx-runestone-container .panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.runestone-sphinx .panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.runestone-sphinx .panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.runestone-sphinx .panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.runestone-sphinx .panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.ptx-runestone-container .panel>.panel-body+.table,.ptx-runestone-container .panel>.panel-body+.table-responsive,.ptx-runestone-container .panel>.table+.panel-body,.ptx-runestone-container .panel>.table-responsive+.panel-body,.runestone-sphinx .panel>.panel-body+.table,.runestone-sphinx .panel>.panel-body+.table-responsive,.runestone-sphinx .panel>.table+.panel-body,.runestone-sphinx .panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.ptx-runestone-container .panel>.table>tbody:first-child>tr:first-child td,.ptx-runestone-container .panel>.table>tbody:first-child>tr:first-child th,.runestone-sphinx .panel>.table>tbody:first-child>tr:first-child td,.runestone-sphinx .panel>.table>tbody:first-child>tr:first-child th{border-top:0}.ptx-runestone-container .panel>.table-bordered,.ptx-runestone-container .panel>.table-responsive>.table-bordered,.runestone-sphinx .panel>.table-bordered,.runestone-sphinx .panel>.table-responsive>.table-bordered{border:0}.ptx-runestone-container .panel>.table-bordered>tbody>tr>td:first-child,.ptx-runestone-container .panel>.table-bordered>tbody>tr>th:first-child,.ptx-runestone-container .panel>.table-bordered>tfoot>tr>td:first-child,.ptx-runestone-container .panel>.table-bordered>tfoot>tr>th:first-child,.ptx-runestone-container .panel>.table-bordered>thead>tr>td:first-child,.ptx-runestone-container .panel>.table-bordered>thead>tr>th:first-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.runestone-sphinx .panel>.table-bordered>tbody>tr>td:first-child,.runestone-sphinx .panel>.table-bordered>tbody>tr>th:first-child,.runestone-sphinx .panel>.table-bordered>tfoot>tr>td:first-child,.runestone-sphinx .panel>.table-bordered>tfoot>tr>th:first-child,.runestone-sphinx .panel>.table-bordered>thead>tr>td:first-child,.runestone-sphinx .panel>.table-bordered>thead>tr>th:first-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.ptx-runestone-container .panel>.table-bordered>tbody>tr>td:last-child,.ptx-runestone-container .panel>.table-bordered>tbody>tr>th:last-child,.ptx-runestone-container .panel>.table-bordered>tfoot>tr>td:last-child,.ptx-runestone-container .panel>.table-bordered>tfoot>tr>th:last-child,.ptx-runestone-container .panel>.table-bordered>thead>tr>td:last-child,.ptx-runestone-container .panel>.table-bordered>thead>tr>th:last-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.runestone-sphinx .panel>.table-bordered>tbody>tr>td:last-child,.runestone-sphinx .panel>.table-bordered>tbody>tr>th:last-child,.runestone-sphinx .panel>.table-bordered>tfoot>tr>td:last-child,.runestone-sphinx .panel>.table-bordered>tfoot>tr>th:last-child,.runestone-sphinx .panel>.table-bordered>thead>tr>td:last-child,.runestone-sphinx .panel>.table-bordered>thead>tr>th:last-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.ptx-runestone-container .panel>.table-bordered>tbody>tr:first-child>td,.ptx-runestone-container .panel>.table-bordered>tbody>tr:first-child>th,.ptx-runestone-container .panel>.table-bordered>tbody>tr:last-child>td,.ptx-runestone-container .panel>.table-bordered>tbody>tr:last-child>th,.ptx-runestone-container .panel>.table-bordered>tfoot>tr:last-child>td,.ptx-runestone-container .panel>.table-bordered>tfoot>tr:last-child>th,.ptx-runestone-container .panel>.table-bordered>thead>tr:first-child>td,.ptx-runestone-container .panel>.table-bordered>thead>tr:first-child>th,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.ptx-runestone-container .panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.ptx-runestone-container .panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.runestone-sphinx .panel>.table-bordered>tbody>tr:first-child>td,.runestone-sphinx .panel>.table-bordered>tbody>tr:first-child>th,.runestone-sphinx .panel>.table-bordered>tbody>tr:last-child>td,.runestone-sphinx .panel>.table-bordered>tbody>tr:last-child>th,.runestone-sphinx .panel>.table-bordered>tfoot>tr:last-child>td,.runestone-sphinx .panel>.table-bordered>tfoot>tr:last-child>th,.runestone-sphinx .panel>.table-bordered>thead>tr:first-child>td,.runestone-sphinx .panel>.table-bordered>thead>tr:first-child>th,.runestone-sphinx .panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.runestone-sphinx .panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.runestone-sphinx .panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.runestone-sphinx .panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.runestone-sphinx .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.runestone-sphinx .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.runestone-sphinx .panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.runestone-sphinx .panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.ptx-runestone-container .panel>.table-responsive,.runestone-sphinx .panel>.table-responsive{border:0;margin-bottom:0}.ptx-runestone-container .panel-group,.runestone-sphinx .panel-group{margin-bottom:20px}.ptx-runestone-container .panel-group .panel,.runestone-sphinx .panel-group .panel{border-radius:4px;margin-bottom:0}.ptx-runestone-container .panel-group .panel+.panel,.runestone-sphinx .panel-group .panel+.panel{margin-top:5px}.ptx-runestone-container .panel-group .panel-heading,.runestone-sphinx .panel-group .panel-heading{border-bottom:0}.ptx-runestone-container .panel-group .panel-heading+.panel-collapse>.list-group,.ptx-runestone-container .panel-group .panel-heading+.panel-collapse>.panel-body,.runestone-sphinx .panel-group .panel-heading+.panel-collapse>.list-group,.runestone-sphinx .panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.ptx-runestone-container .panel-group .panel-footer,.runestone-sphinx .panel-group .panel-footer{border-top:0}.ptx-runestone-container .panel-group .panel-footer+.panel-collapse .panel-body,.runestone-sphinx .panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.ptx-runestone-container .panel-default,.runestone-sphinx .panel-default{border-color:#ddd}.ptx-runestone-container .panel-default>.panel-heading,.runestone-sphinx .panel-default>.panel-heading{background-color:#f5f5f5;border-color:#ddd;color:#333}.ptx-runestone-container .panel-default>.panel-heading+.panel-collapse>.panel-body,.runestone-sphinx .panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.ptx-runestone-container .panel-default>.panel-heading .badge,.runestone-sphinx .panel-default>.panel-heading .badge{background-color:#333;color:#f5f5f5}.ptx-runestone-container .panel-default>.panel-footer+.panel-collapse>.panel-body,.runestone-sphinx .panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.ptx-runestone-container .panel-primary,.runestone-sphinx .panel-primary{border-color:#337ab7}.ptx-runestone-container .panel-primary>.panel-heading,.runestone-sphinx .panel-primary>.panel-heading{background-color:#337ab7;border-color:#337ab7;color:#fff}.ptx-runestone-container .panel-primary>.panel-heading+.panel-collapse>.panel-body,.runestone-sphinx .panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.ptx-runestone-container .panel-primary>.panel-heading .badge,.runestone-sphinx .panel-primary>.panel-heading .badge{background-color:#fff;color:#337ab7}.ptx-runestone-container .panel-primary>.panel-footer+.panel-collapse>.panel-body,.runestone-sphinx .panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.ptx-runestone-container .panel-success,.runestone-sphinx .panel-success{border-color:#d6e9c6}.ptx-runestone-container .panel-success>.panel-heading,.runestone-sphinx .panel-success>.panel-heading{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.ptx-runestone-container .panel-success>.panel-heading+.panel-collapse>.panel-body,.runestone-sphinx .panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.ptx-runestone-container .panel-success>.panel-heading .badge,.runestone-sphinx .panel-success>.panel-heading .badge{background-color:#3c763d;color:#dff0d8}.ptx-runestone-container .panel-success>.panel-footer+.panel-collapse>.panel-body,.runestone-sphinx .panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.ptx-runestone-container .panel-info,.runestone-sphinx .panel-info{border-color:#bce8f1}.ptx-runestone-container .panel-info>.panel-heading,.runestone-sphinx .panel-info>.panel-heading{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.ptx-runestone-container .panel-info>.panel-heading+.panel-collapse>.panel-body,.runestone-sphinx .panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.ptx-runestone-container .panel-info>.panel-heading .badge,.runestone-sphinx .panel-info>.panel-heading .badge{background-color:#31708f;color:#d9edf7}.ptx-runestone-container .panel-info>.panel-footer+.panel-collapse>.panel-body,.runestone-sphinx .panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.ptx-runestone-container .panel-warning,.runestone-sphinx .panel-warning{border-color:#faebcc}.ptx-runestone-container .panel-warning>.panel-heading,.runestone-sphinx .panel-warning>.panel-heading{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.ptx-runestone-container .panel-warning>.panel-heading+.panel-collapse>.panel-body,.runestone-sphinx .panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.ptx-runestone-container .panel-warning>.panel-heading .badge,.runestone-sphinx .panel-warning>.panel-heading .badge{background-color:#8a6d3b;color:#fcf8e3}.ptx-runestone-container .panel-warning>.panel-footer+.panel-collapse>.panel-body,.runestone-sphinx .panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.ptx-runestone-container .panel-danger,.runestone-sphinx .panel-danger{border-color:#ebccd1}.ptx-runestone-container .panel-danger>.panel-heading,.runestone-sphinx .panel-danger>.panel-heading{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.ptx-runestone-container .panel-danger>.panel-heading+.panel-collapse>.panel-body,.runestone-sphinx .panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.ptx-runestone-container .panel-danger>.panel-heading .badge,.runestone-sphinx .panel-danger>.panel-heading .badge{background-color:#a94442;color:#f2dede}.ptx-runestone-container .panel-danger>.panel-footer+.panel-collapse>.panel-body,.runestone-sphinx .panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.ptx-runestone-container .embed-responsive,.runestone-sphinx .embed-responsive{display:block;height:0;overflow:hidden;padding:0;position:relative}.ptx-runestone-container .embed-responsive .embed-responsive-item,.ptx-runestone-container .embed-responsive embed,.ptx-runestone-container .embed-responsive iframe,.ptx-runestone-container .embed-responsive object,.ptx-runestone-container .embed-responsive video,.runestone-sphinx .embed-responsive .embed-responsive-item,.runestone-sphinx .embed-responsive embed,.runestone-sphinx .embed-responsive iframe,.runestone-sphinx .embed-responsive object,.runestone-sphinx .embed-responsive video{border:0;bottom:0;height:100%;left:0;position:absolute;top:0;width:100%}.ptx-runestone-container .embed-responsive-16by9,.runestone-sphinx .embed-responsive-16by9{padding-bottom:56.25%}.ptx-runestone-container .embed-responsive-4by3,.runestone-sphinx .embed-responsive-4by3{padding-bottom:75%}.ptx-runestone-container .well,.runestone-sphinx .well{background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05);margin-bottom:20px;min-height:20px;padding:19px}.ptx-runestone-container .well blockquote,.runestone-sphinx .well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.ptx-runestone-container .well-lg,.runestone-sphinx .well-lg{border-radius:6px;padding:24px}.ptx-runestone-container .well-sm,.runestone-sphinx .well-sm{border-radius:3px;padding:9px}.ptx-runestone-container .close,.runestone-sphinx .close{color:#000;filter:alpha(opacity=20);float:right;font-size:21px;font-weight:700;line-height:1;opacity:.2;text-shadow:0 1px 0 #fff}.ptx-runestone-container .close:focus,.ptx-runestone-container .close:hover,.runestone-sphinx .close:focus,.runestone-sphinx .close:hover{color:#000;cursor:pointer;filter:alpha(opacity=50);opacity:.5;text-decoration:none}.ptx-runestone-container button.close,.runestone-sphinx button.close{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;cursor:pointer;padding:0}.ptx-runestone-container .modal-open,.runestone-sphinx .modal-open{overflow:hidden}.ptx-runestone-container .modal,.runestone-sphinx .modal{-webkit-overflow-scrolling:touch;bottom:0;display:none;left:0;outline:0;overflow:hidden;position:fixed;right:0;top:0;z-index:1050}.ptx-runestone-container .modal.fade .modal-dialog,.runestone-sphinx .modal.fade .modal-dialog{-webkit-transform:translateY(-25%);-ms-transform:translateY(-25%);-o-transform:translateY(-25%);transform:translateY(-25%);-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out,-o-transform .3s ease-out}.ptx-runestone-container .modal.in .modal-dialog,.runestone-sphinx .modal.in .modal-dialog{-webkit-transform:translate(0);-ms-transform:translate(0);-o-transform:translate(0);transform:translate(0)}.ptx-runestone-container .modal-open .modal,.runestone-sphinx .modal-open .modal{overflow-x:hidden;overflow-y:auto}.ptx-runestone-container .modal-dialog,.runestone-sphinx .modal-dialog{margin:10px;position:relative;width:auto}.ptx-runestone-container .modal-content,.runestone-sphinx .modal-content{background-clip:padding-box;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0;position:relative}.ptx-runestone-container .modal-backdrop,.runestone-sphinx .modal-backdrop{background-color:#000;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1040}.ptx-runestone-container .modal-backdrop.fade,.runestone-sphinx .modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.ptx-runestone-container .modal-backdrop.in,.runestone-sphinx .modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.ptx-runestone-container .modal-header,.runestone-sphinx .modal-header{border-bottom:1px solid #e5e5e5;padding:15px}.ptx-runestone-container .modal-header .close,.runestone-sphinx .modal-header .close{margin-top:-2px}.ptx-runestone-container .modal-title,.runestone-sphinx .modal-title{line-height:1.42857143;margin:0}.ptx-runestone-container .modal-body,.runestone-sphinx .modal-body{padding:15px;position:relative}.ptx-runestone-container .modal-footer,.runestone-sphinx .modal-footer{border-top:1px solid #e5e5e5;padding:15px;text-align:right}.ptx-runestone-container .modal-footer .btn+.btn,.runestone-sphinx .modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.ptx-runestone-container .modal-footer .btn-group .btn+.btn,.runestone-sphinx .modal-footer .btn-group .btn+.btn{margin-left:-1px}.ptx-runestone-container .modal-footer .btn-block+.btn-block,.runestone-sphinx .modal-footer .btn-block+.btn-block{margin-left:0}.ptx-runestone-container .modal-scrollbar-measure,.runestone-sphinx .modal-scrollbar-measure{height:50px;overflow:scroll;position:absolute;top:-9999px;width:50px}@media (min-width:768px){.ptx-runestone-container .modal-dialog,.runestone-sphinx .modal-dialog{margin:30px auto;width:600px}.ptx-runestone-container .modal-content,.runestone-sphinx .modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.ptx-runestone-container .modal-sm,.runestone-sphinx .modal-sm{width:300px}}@media (min-width:992px){.ptx-runestone-container .modal-lg,.runestone-sphinx .modal-lg{width:900px}}.ptx-runestone-container .tooltip,.runestone-sphinx .tooltip{word-wrap:normal;display:block;filter:alpha(opacity=0);font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.42857143;opacity:0;position:absolute;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;z-index:1070}.ptx-runestone-container .tooltip.in,.runestone-sphinx .tooltip.in{filter:alpha(opacity=90);opacity:.9}.ptx-runestone-container .tooltip.top,.runestone-sphinx .tooltip.top{margin-top:-3px;padding:5px 0}.ptx-runestone-container .tooltip.right,.runestone-sphinx .tooltip.right{margin-left:3px;padding:0 5px}.ptx-runestone-container .tooltip.bottom,.runestone-sphinx .tooltip.bottom{margin-top:3px;padding:5px 0}.ptx-runestone-container .tooltip.left,.runestone-sphinx .tooltip.left{margin-left:-3px;padding:0 5px}.ptx-runestone-container .tooltip.top .tooltip-arrow,.runestone-sphinx .tooltip.top .tooltip-arrow{border-top-color:#000;border-width:5px 5px 0;bottom:0;left:50%;margin-left:-5px}.ptx-runestone-container .tooltip.top-left .tooltip-arrow,.runestone-sphinx .tooltip.top-left .tooltip-arrow{border-top-color:#000;border-width:5px 5px 0;bottom:0;margin-bottom:-5px;right:5px}.ptx-runestone-container .tooltip.top-right .tooltip-arrow,.runestone-sphinx .tooltip.top-right .tooltip-arrow{border-top-color:#000;border-width:5px 5px 0;bottom:0;left:5px;margin-bottom:-5px}.ptx-runestone-container .tooltip.right .tooltip-arrow,.runestone-sphinx .tooltip.right .tooltip-arrow{border-right-color:#000;border-width:5px 5px 5px 0;left:0;margin-top:-5px;top:50%}.ptx-runestone-container .tooltip.left .tooltip-arrow,.runestone-sphinx .tooltip.left .tooltip-arrow{border-left-color:#000;border-width:5px 0 5px 5px;margin-top:-5px;right:0;top:50%}.ptx-runestone-container .tooltip.bottom .tooltip-arrow,.runestone-sphinx .tooltip.bottom .tooltip-arrow{border-bottom-color:#000;border-width:0 5px 5px;left:50%;margin-left:-5px;top:0}.ptx-runestone-container .tooltip.bottom-left .tooltip-arrow,.runestone-sphinx .tooltip.bottom-left .tooltip-arrow{border-bottom-color:#000;border-width:0 5px 5px;margin-top:-5px;right:5px;top:0}.ptx-runestone-container .tooltip.bottom-right .tooltip-arrow,.runestone-sphinx .tooltip.bottom-right .tooltip-arrow{border-bottom-color:#000;border-width:0 5px 5px;left:5px;margin-top:-5px;top:0}.ptx-runestone-container .tooltip-inner,.runestone-sphinx .tooltip-inner{background-color:#000;border-radius:4px;color:#fff;max-width:200px;padding:3px 8px;text-align:center}.ptx-runestone-container .tooltip-arrow,.runestone-sphinx .tooltip-arrow{border-color:transparent;border-style:solid;height:0;position:absolute;width:0}.ptx-runestone-container .popover,.runestone-sphinx .popover{word-wrap:normal;background-clip:padding-box;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);display:none;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;left:0;letter-spacing:normal;line-break:auto;line-height:1.42857143;max-width:276px;padding:1px;position:absolute;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;top:0;white-space:normal;word-break:normal;word-spacing:normal;z-index:1060}.ptx-runestone-container .popover.top,.runestone-sphinx .popover.top{margin-top:-10px}.ptx-runestone-container .popover.right,.runestone-sphinx .popover.right{margin-left:10px}.ptx-runestone-container .popover.bottom,.runestone-sphinx .popover.bottom{margin-top:10px}.ptx-runestone-container .popover.left,.runestone-sphinx .popover.left{margin-left:-10px}.ptx-runestone-container .popover>.arrow,.runestone-sphinx .popover>.arrow{border-width:11px}.ptx-runestone-container .popover>.arrow,.ptx-runestone-container .popover>.arrow:after,.runestone-sphinx .popover>.arrow,.runestone-sphinx .popover>.arrow:after{border-color:transparent;border-style:solid;display:block;height:0;position:absolute;width:0}.ptx-runestone-container .popover>.arrow:after,.runestone-sphinx .popover>.arrow:after{border-width:10px;content:""}.ptx-runestone-container .popover.top>.arrow,.runestone-sphinx .popover.top>.arrow{border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-11px;left:50%;margin-left:-11px}.ptx-runestone-container .popover.top>.arrow:after,.runestone-sphinx .popover.top>.arrow:after{border-bottom-width:0;border-top-color:#fff;bottom:1px;content:" ";margin-left:-10px}.ptx-runestone-container .popover.right>.arrow,.runestone-sphinx .popover.right>.arrow{border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,.25);left:-11px;margin-top:-11px;top:50%}.ptx-runestone-container .popover.right>.arrow:after,.runestone-sphinx .popover.right>.arrow:after{border-left-width:0;border-right-color:#fff;bottom:-10px;content:" ";left:1px}.ptx-runestone-container .popover.bottom>.arrow,.runestone-sphinx .popover.bottom>.arrow{border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);border-top-width:0;left:50%;margin-left:-11px;top:-11px}.ptx-runestone-container .popover.bottom>.arrow:after,.runestone-sphinx .popover.bottom>.arrow:after{border-bottom-color:#fff;border-top-width:0;content:" ";margin-left:-10px;top:1px}.ptx-runestone-container .popover.left>.arrow,.runestone-sphinx .popover.left>.arrow{border-left-color:#999;border-left-color:rgba(0,0,0,.25);border-right-width:0;margin-top:-11px;right:-11px;top:50%}.ptx-runestone-container .popover.left>.arrow:after,.runestone-sphinx .popover.left>.arrow:after{border-left-color:#fff;border-right-width:0;bottom:-10px;content:" ";right:1px}.ptx-runestone-container .popover-title,.runestone-sphinx .popover-title{background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0;font-size:14px;margin:0;padding:8px 14px}.ptx-runestone-container .popover-content,.runestone-sphinx .popover-content{padding:9px 14px}.ptx-runestone-container .carousel,.runestone-sphinx .carousel{position:relative}.ptx-runestone-container .carousel-inner,.runestone-sphinx .carousel-inner{overflow:hidden;position:relative;width:100%}.ptx-runestone-container .carousel-inner>.item,.runestone-sphinx .carousel-inner>.item{display:none;position:relative;-webkit-transition:left .6s ease-in-out;-o-transition:left .6s ease-in-out;transition:left .6s ease-in-out}.ptx-runestone-container .carousel-inner>.item>a>img,.ptx-runestone-container .carousel-inner>.item>img,.runestone-sphinx .carousel-inner>.item>a>img,.runestone-sphinx .carousel-inner>.item>img{line-height:1}@media (-webkit-transform-3d),(transform-3d){.ptx-runestone-container .carousel-inner>.item,.runestone-sphinx .carousel-inner>.item{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px;-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;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,-o-transform .6s ease-in-out}.ptx-runestone-container .carousel-inner>.item.active.right,.ptx-runestone-container .carousel-inner>.item.next,.runestone-sphinx .carousel-inner>.item.active.right,.runestone-sphinx .carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.ptx-runestone-container .carousel-inner>.item.active.left,.ptx-runestone-container .carousel-inner>.item.prev,.runestone-sphinx .carousel-inner>.item.active.left,.runestone-sphinx .carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.ptx-runestone-container .carousel-inner>.item.active,.ptx-runestone-container .carousel-inner>.item.next.left,.ptx-runestone-container .carousel-inner>.item.prev.right,.runestone-sphinx .carousel-inner>.item.active,.runestone-sphinx .carousel-inner>.item.next.left,.runestone-sphinx .carousel-inner>.item.prev.right{left:0;-webkit-transform:translateZ(0);transform:translateZ(0)}}.ptx-runestone-container .carousel-inner>.active,.ptx-runestone-container .carousel-inner>.next,.ptx-runestone-container .carousel-inner>.prev,.runestone-sphinx .carousel-inner>.active,.runestone-sphinx .carousel-inner>.next,.runestone-sphinx .carousel-inner>.prev{display:block}.ptx-runestone-container .carousel-inner>.active,.runestone-sphinx .carousel-inner>.active{left:0}.ptx-runestone-container .carousel-inner>.next,.ptx-runestone-container .carousel-inner>.prev,.runestone-sphinx .carousel-inner>.next,.runestone-sphinx .carousel-inner>.prev{position:absolute;top:0;width:100%}.ptx-runestone-container .carousel-inner>.next,.runestone-sphinx .carousel-inner>.next{left:100%}.ptx-runestone-container .carousel-inner>.prev,.runestone-sphinx .carousel-inner>.prev{left:-100%}.ptx-runestone-container .carousel-inner>.next.left,.ptx-runestone-container .carousel-inner>.prev.right,.runestone-sphinx .carousel-inner>.next.left,.runestone-sphinx .carousel-inner>.prev.right{left:0}.ptx-runestone-container .carousel-inner>.active.left,.runestone-sphinx .carousel-inner>.active.left{left:-100%}.ptx-runestone-container .carousel-inner>.active.right,.runestone-sphinx .carousel-inner>.active.right{left:100%}.ptx-runestone-container .carousel-control,.runestone-sphinx .carousel-control{background-color:transparent;bottom:0;color:#fff;filter:alpha(opacity=50);font-size:20px;left:0;opacity:.5;position:absolute;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);top:0;width:15%}.ptx-runestone-container .carousel-control.left,.runestone-sphinx .carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5),transparent);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,transparent 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(transparent));background-image:linear-gradient(90deg,rgba(0,0,0,.5) 0,transparent);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#80000000",endColorstr="#00000000",GradientType=1)}.ptx-runestone-container .carousel-control.right,.runestone-sphinx .carousel-control.right{background-image:-webkit-linear-gradient(left,transparent,rgba(0,0,0,.5));background-image:-o-linear-gradient(left,transparent 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(transparent),to(rgba(0,0,0,.5)));background-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.5));background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#00000000",endColorstr="#80000000",GradientType=1);left:auto;right:0}.ptx-runestone-container .carousel-control:focus,.ptx-runestone-container .carousel-control:hover,.runestone-sphinx .carousel-control:focus,.runestone-sphinx .carousel-control:hover{color:#fff;filter:alpha(opacity=90);opacity:.9;outline:0;text-decoration:none}.ptx-runestone-container .carousel-control .glyphicon-chevron-left,.ptx-runestone-container .carousel-control .glyphicon-chevron-right,.ptx-runestone-container .carousel-control .icon-next,.ptx-runestone-container .carousel-control .icon-prev,.runestone-sphinx .carousel-control .glyphicon-chevron-left,.runestone-sphinx .carousel-control .glyphicon-chevron-right,.runestone-sphinx .carousel-control .icon-next,.runestone-sphinx .carousel-control .icon-prev{display:inline-block;margin-top:-10px;position:absolute;top:50%;z-index:5}.ptx-runestone-container .carousel-control .glyphicon-chevron-left,.ptx-runestone-container .carousel-control .icon-prev,.runestone-sphinx .carousel-control .glyphicon-chevron-left,.runestone-sphinx .carousel-control .icon-prev{left:50%;margin-left:-10px}.ptx-runestone-container .carousel-control .glyphicon-chevron-right,.ptx-runestone-container .carousel-control .icon-next,.runestone-sphinx .carousel-control .glyphicon-chevron-right,.runestone-sphinx .carousel-control .icon-next{margin-right:-10px;right:50%}.ptx-runestone-container .carousel-control .icon-next,.ptx-runestone-container .carousel-control .icon-prev,.runestone-sphinx .carousel-control .icon-next,.runestone-sphinx .carousel-control .icon-prev{font-family:serif;height:20px;line-height:1;width:20px}.ptx-runestone-container .carousel-control .icon-prev:before,.runestone-sphinx .carousel-control .icon-prev:before{content:"\2039"}.ptx-runestone-container .carousel-control .icon-next:before,.runestone-sphinx .carousel-control .icon-next:before{content:"\203a"}.ptx-runestone-container .carousel-indicators,.runestone-sphinx .carousel-indicators{bottom:10px;left:50%;list-style:none;margin-left:-30%;padding-left:0;position:absolute;text-align:center;width:60%;z-index:15}.ptx-runestone-container .carousel-indicators li,.runestone-sphinx .carousel-indicators li{background-color:#000\9;background-color:transparent;border:1px solid #fff;border-radius:10px;cursor:pointer;display:inline-block;height:10px;margin:1px;text-indent:-999px;width:10px}.ptx-runestone-container .carousel-indicators .active,.runestone-sphinx .carousel-indicators .active{background-color:#fff;height:12px;margin:0;width:12px}.ptx-runestone-container .carousel-caption,.runestone-sphinx .carousel-caption{bottom:20px;color:#fff;left:15%;padding-bottom:20px;padding-top:20px;position:absolute;right:15%;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);z-index:10}.ptx-runestone-container .carousel-caption .btn,.runestone-sphinx .carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.ptx-runestone-container .carousel-control .glyphicon-chevron-left,.ptx-runestone-container .carousel-control .glyphicon-chevron-right,.ptx-runestone-container .carousel-control .icon-next,.ptx-runestone-container .carousel-control .icon-prev,.runestone-sphinx .carousel-control .glyphicon-chevron-left,.runestone-sphinx .carousel-control .glyphicon-chevron-right,.runestone-sphinx .carousel-control .icon-next,.runestone-sphinx .carousel-control .icon-prev{font-size:30px;height:30px;margin-top:-10px;width:30px}.ptx-runestone-container .carousel-control .glyphicon-chevron-left,.ptx-runestone-container .carousel-control .icon-prev,.runestone-sphinx .carousel-control .glyphicon-chevron-left,.runestone-sphinx .carousel-control .icon-prev{margin-left:-10px}.ptx-runestone-container .carousel-control .glyphicon-chevron-right,.ptx-runestone-container .carousel-control .icon-next,.runestone-sphinx .carousel-control .glyphicon-chevron-right,.runestone-sphinx .carousel-control .icon-next{margin-right:-10px}.ptx-runestone-container .carousel-caption,.runestone-sphinx .carousel-caption{left:20%;padding-bottom:30px;right:20%}.ptx-runestone-container .carousel-indicators,.runestone-sphinx .carousel-indicators{bottom:20px}}.ptx-runestone-container .btn-group-vertical>.btn-group:after,.ptx-runestone-container .btn-group-vertical>.btn-group:before,.ptx-runestone-container .btn-toolbar:after,.ptx-runestone-container .btn-toolbar:before,.ptx-runestone-container .clearfix:after,.ptx-runestone-container .clearfix:before,.ptx-runestone-container .container-fluid:after,.ptx-runestone-container .container-fluid:before,.ptx-runestone-container .container:after,.ptx-runestone-container .container:before,.ptx-runestone-container .dl-horizontal dd:after,.ptx-runestone-container .dl-horizontal dd:before,.ptx-runestone-container .form-horizontal .form-group:after,.ptx-runestone-container .form-horizontal .form-group:before,.ptx-runestone-container .modal-footer:after,.ptx-runestone-container .modal-footer:before,.ptx-runestone-container .modal-header:after,.ptx-runestone-container .modal-header:before,.ptx-runestone-container .nav:after,.ptx-runestone-container .nav:before,.ptx-runestone-container .navbar-collapse:after,.ptx-runestone-container .navbar-collapse:before,.ptx-runestone-container .navbar-header:after,.ptx-runestone-container .navbar-header:before,.ptx-runestone-container .navbar:after,.ptx-runestone-container .navbar:before,.ptx-runestone-container .pager:after,.ptx-runestone-container .pager:before,.ptx-runestone-container .panel-body:after,.ptx-runestone-container .panel-body:before,.ptx-runestone-container .row:after,.ptx-runestone-container .row:before,.runestone-sphinx .btn-group-vertical>.btn-group:after,.runestone-sphinx .btn-group-vertical>.btn-group:before,.runestone-sphinx .btn-toolbar:after,.runestone-sphinx .btn-toolbar:before,.runestone-sphinx .clearfix:after,.runestone-sphinx .clearfix:before,.runestone-sphinx .container-fluid:after,.runestone-sphinx .container-fluid:before,.runestone-sphinx .container:after,.runestone-sphinx .container:before,.runestone-sphinx .dl-horizontal dd:after,.runestone-sphinx .dl-horizontal dd:before,.runestone-sphinx .form-horizontal .form-group:after,.runestone-sphinx .form-horizontal .form-group:before,.runestone-sphinx .modal-footer:after,.runestone-sphinx .modal-footer:before,.runestone-sphinx .modal-header:after,.runestone-sphinx .modal-header:before,.runestone-sphinx .nav:after,.runestone-sphinx .nav:before,.runestone-sphinx .navbar-collapse:after,.runestone-sphinx .navbar-collapse:before,.runestone-sphinx .navbar-header:after,.runestone-sphinx .navbar-header:before,.runestone-sphinx .navbar:after,.runestone-sphinx .navbar:before,.runestone-sphinx .pager:after,.runestone-sphinx .pager:before,.runestone-sphinx .panel-body:after,.runestone-sphinx .panel-body:before,.runestone-sphinx .row:after,.runestone-sphinx .row:before{content:" ";display:table}.ptx-runestone-container .btn-group-vertical>.btn-group:after,.ptx-runestone-container .btn-toolbar:after,.ptx-runestone-container .clearfix:after,.ptx-runestone-container .container-fluid:after,.ptx-runestone-container .container:after,.ptx-runestone-container .dl-horizontal dd:after,.ptx-runestone-container .form-horizontal .form-group:after,.ptx-runestone-container .modal-footer:after,.ptx-runestone-container .modal-header:after,.ptx-runestone-container .nav:after,.ptx-runestone-container .navbar-collapse:after,.ptx-runestone-container .navbar-header:after,.ptx-runestone-container .navbar:after,.ptx-runestone-container .pager:after,.ptx-runestone-container .panel-body:after,.ptx-runestone-container .row:after,.runestone-sphinx .btn-group-vertical>.btn-group:after,.runestone-sphinx .btn-toolbar:after,.runestone-sphinx .clearfix:after,.runestone-sphinx .container-fluid:after,.runestone-sphinx .container:after,.runestone-sphinx .dl-horizontal dd:after,.runestone-sphinx .form-horizontal .form-group:after,.runestone-sphinx .modal-footer:after,.runestone-sphinx .modal-header:after,.runestone-sphinx .nav:after,.runestone-sphinx .navbar-collapse:after,.runestone-sphinx .navbar-header:after,.runestone-sphinx .navbar:after,.runestone-sphinx .pager:after,.runestone-sphinx .panel-body:after,.runestone-sphinx .row:after{clear:both}.ptx-runestone-container .center-block,.runestone-sphinx .center-block{display:block;margin-left:auto;margin-right:auto}.ptx-runestone-container .pull-right,.runestone-sphinx .pull-right{float:right!important}.ptx-runestone-container .pull-left,.runestone-sphinx .pull-left{float:left!important}.ptx-runestone-container .hide,.runestone-sphinx .hide{display:none!important}.ptx-runestone-container .show,.runestone-sphinx .show{display:block!important}.ptx-runestone-container .invisible,.runestone-sphinx .invisible{visibility:hidden}.ptx-runestone-container .text-hide,.runestone-sphinx .text-hide{background-color:transparent;border:0;color:transparent;font:0/0 a;text-shadow:none}.ptx-runestone-container .hidden,.runestone-sphinx .hidden{display:none!important}.ptx-runestone-container .affix,.runestone-sphinx .affix{position:fixed}@-ms-viewport{width:device-width}.ptx-runestone-container .visible-lg,.ptx-runestone-container .visible-lg-block,.ptx-runestone-container .visible-lg-inline,.ptx-runestone-container .visible-lg-inline-block,.ptx-runestone-container .visible-md,.ptx-runestone-container .visible-md-block,.ptx-runestone-container .visible-md-inline,.ptx-runestone-container .visible-md-inline-block,.ptx-runestone-container .visible-sm,.ptx-runestone-container .visible-sm-block,.ptx-runestone-container .visible-sm-inline,.ptx-runestone-container .visible-sm-inline-block,.ptx-runestone-container .visible-xs,.ptx-runestone-container .visible-xs-block,.ptx-runestone-container .visible-xs-inline,.ptx-runestone-container .visible-xs-inline-block,.runestone-sphinx .visible-lg,.runestone-sphinx .visible-lg-block,.runestone-sphinx .visible-lg-inline,.runestone-sphinx .visible-lg-inline-block,.runestone-sphinx .visible-md,.runestone-sphinx .visible-md-block,.runestone-sphinx .visible-md-inline,.runestone-sphinx .visible-md-inline-block,.runestone-sphinx .visible-sm,.runestone-sphinx .visible-sm-block,.runestone-sphinx .visible-sm-inline,.runestone-sphinx .visible-sm-inline-block,.runestone-sphinx .visible-xs,.runestone-sphinx .visible-xs-block,.runestone-sphinx .visible-xs-inline,.runestone-sphinx .visible-xs-inline-block{display:none!important}@media (max-width:767px){.ptx-runestone-container .visible-xs,.runestone-sphinx .visible-xs{display:block!important}.ptx-runestone-container table.visible-xs,.runestone-sphinx table.visible-xs{display:table!important}.ptx-runestone-container tr.visible-xs,.runestone-sphinx tr.visible-xs{display:table-row!important}.ptx-runestone-container td.visible-xs,.ptx-runestone-container th.visible-xs,.runestone-sphinx td.visible-xs,.runestone-sphinx th.visible-xs{display:table-cell!important}.ptx-runestone-container .visible-xs-block,.runestone-sphinx .visible-xs-block{display:block!important}.ptx-runestone-container .visible-xs-inline,.runestone-sphinx .visible-xs-inline{display:inline!important}.ptx-runestone-container .visible-xs-inline-block,.runestone-sphinx .visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.ptx-runestone-container .visible-sm,.runestone-sphinx .visible-sm{display:block!important}.ptx-runestone-container table.visible-sm,.runestone-sphinx table.visible-sm{display:table!important}.ptx-runestone-container tr.visible-sm,.runestone-sphinx tr.visible-sm{display:table-row!important}.ptx-runestone-container td.visible-sm,.ptx-runestone-container th.visible-sm,.runestone-sphinx td.visible-sm,.runestone-sphinx th.visible-sm{display:table-cell!important}.ptx-runestone-container .visible-sm-block,.runestone-sphinx .visible-sm-block{display:block!important}.ptx-runestone-container .visible-sm-inline,.runestone-sphinx .visible-sm-inline{display:inline!important}.ptx-runestone-container .visible-sm-inline-block,.runestone-sphinx .visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.ptx-runestone-container .visible-md,.runestone-sphinx .visible-md{display:block!important}.ptx-runestone-container table.visible-md,.runestone-sphinx table.visible-md{display:table!important}.ptx-runestone-container tr.visible-md,.runestone-sphinx tr.visible-md{display:table-row!important}.ptx-runestone-container td.visible-md,.ptx-runestone-container th.visible-md,.runestone-sphinx td.visible-md,.runestone-sphinx th.visible-md{display:table-cell!important}.ptx-runestone-container .visible-md-block,.runestone-sphinx .visible-md-block{display:block!important}.ptx-runestone-container .visible-md-inline,.runestone-sphinx .visible-md-inline{display:inline!important}.ptx-runestone-container .visible-md-inline-block,.runestone-sphinx .visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.ptx-runestone-container .visible-lg,.runestone-sphinx .visible-lg{display:block!important}.ptx-runestone-container table.visible-lg,.runestone-sphinx table.visible-lg{display:table!important}.ptx-runestone-container tr.visible-lg,.runestone-sphinx tr.visible-lg{display:table-row!important}.ptx-runestone-container td.visible-lg,.ptx-runestone-container th.visible-lg,.runestone-sphinx td.visible-lg,.runestone-sphinx th.visible-lg{display:table-cell!important}.ptx-runestone-container .visible-lg-block,.runestone-sphinx .visible-lg-block{display:block!important}.ptx-runestone-container .visible-lg-inline,.runestone-sphinx .visible-lg-inline{display:inline!important}.ptx-runestone-container .visible-lg-inline-block,.runestone-sphinx .visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.ptx-runestone-container .hidden-xs,.runestone-sphinx .hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.ptx-runestone-container .hidden-sm,.runestone-sphinx .hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.ptx-runestone-container .hidden-md,.runestone-sphinx .hidden-md{display:none!important}}@media (min-width:1200px){.ptx-runestone-container .hidden-lg,.runestone-sphinx .hidden-lg{display:none!important}}.ptx-runestone-container .visible-print,.runestone-sphinx .visible-print{display:none!important}@media print{.ptx-runestone-container .visible-print,.runestone-sphinx .visible-print{display:block!important}.ptx-runestone-container table.visible-print,.runestone-sphinx table.visible-print{display:table!important}.ptx-runestone-container tr.visible-print,.runestone-sphinx tr.visible-print{display:table-row!important}.ptx-runestone-container td.visible-print,.ptx-runestone-container th.visible-print,.runestone-sphinx td.visible-print,.runestone-sphinx th.visible-print{display:table-cell!important}}.ptx-runestone-container .visible-print-block,.runestone-sphinx .visible-print-block{display:none!important}@media print{.ptx-runestone-container .visible-print-block,.runestone-sphinx .visible-print-block{display:block!important}}.ptx-runestone-container .visible-print-inline,.runestone-sphinx .visible-print-inline{display:none!important}@media print{.ptx-runestone-container .visible-print-inline,.runestone-sphinx .visible-print-inline{display:inline!important}}.ptx-runestone-container .visible-print-inline-block,.runestone-sphinx .visible-print-inline-block{display:none!important}@media print{.ptx-runestone-container .visible-print-inline-block,.runestone-sphinx .visible-print-inline-block{display:inline-block!important}.ptx-runestone-container .hidden-print,.runestone-sphinx .hidden-print{display:none!important}}.ptx-runestone-container :root,.runestone-sphinx :root{--background:#fff;--outerBackground:#eee;--links:#0645ad;--bodyFont:#000;--tooltip:#fff;--grayToWhite:#333;--navbar:#f8f8f8;--navbarFont:#707070;--navbarFontHover:#000;--alerts:#d9edf7;--completionButton:#f19711;--completionButtonHover:#ff9f19;--admonition:#fcf8e3;--admonitionBorder:#fbeed5;--codeButtons:#474949;--codeButtonsBorder:#474949;--dangerAlerts:#f2dede;--successAlerts:#dff0d8;--contentWidthRegular:660px;--contentWidthWide:1060px;--componentBgColor:#f0f8ff;--componentBorderColor:#000;--questionBgColor:#e1efff}.ptx-runestone-container [data-theme=dark],.runestone-sphinx [data-theme=dark]{--background:#2c2f33;--outerBackground:#23272a;--links:#7289da;--bodyFont:#99aab5;--tooltip:#000;--grayToWhite:#fff;--navbar:#3d3d3d;--navbarFont:#fff;--navbarFontHover:#d6d6d6;--alerts:#714082;--completionButton:#650087;--completionButtonHover:#560073;--admonition:#3d3d3d;--admonitionBorder:#262626;--codeButtons:#7289da;--codeButtonsBorder:#fff;--dangerAlerts:#8c2626;--successAlerts:#217300;--componentBgColor:#07467d;--componentBorderColor:#939090;--questionBgColor:#17555d}.ptx-runestone-container td.linenos pre,.runestone-sphinx td.linenos pre{color:#6b6b6b}.ptx-runestone-container .str,.runestone-sphinx .str{color:#006b00}.ptx-runestone-container .parsons .block,.runestone-sphinx .parsons .block{background-color:#fafafa}.ptx-runestone-container .highlight .c1,.runestone-sphinx .highlight .c1{color:#376a7b}.ptx-runestone-container .highlight .nn,.runestone-sphinx .highlight .nn{color:#0f6c95}.ptx-runestone-container .highlight .gp,.runestone-sphinx .highlight .gp{color:#a14c08}.ptx-runestone-container .highlight .si,.runestone-sphinx .highlight .si{color:#3c773d}.ptx-runestone-container .highlight .nc,.runestone-sphinx .highlight .nc{color:#0b719d}.ptx-runestone-container ul.search li div.context,.runestone-sphinx ul.search li div.context{color:#6b6b6b}.ptx-runestone-container span.highlighted,.runestone-sphinx span.highlighted{color:#4d4d4d}.ptx-runestone-container .CodeMirror-linenumber,.runestone-sphinx .CodeMirror-linenumber{color:#6b6b6b}.ptx-runestone-container .alert-warning,.runestone-sphinx .alert-warning{background-color:var(--admonition);border-color:var(--admonitionBorder)}.ptx-runestone-container div.ExecutionVisualizer table#pyCodeOutput .lineNo,.runestone-sphinx div.ExecutionVisualizer table#pyCodeOutput .lineNo{color:#6b6b6b}.ptx-runestone-container body,.runestone-sphinx body{background-color:var(--outerBackground);counter-reset:rscomponent;padding-top:60px}.ptx-runestone-container h5,.runestone-sphinx h5{font-weight:700;padding:10px 0}.ptx-runestone-container #table-of-contents a,.runestone-sphinx #table-of-contents a{color:var(--links)}.ptx-runestone-container #table-of-contents a:hover,.runestone-sphinx #table-of-contents a:hover{color:var(--links);text-decoration:underline}.ptx-runestone-container #table-of-contents.section,.runestone-sphinx #table-of-contents.section{font-size:16px}.ptx-runestone-container .navbar-default,.runestone-sphinx .navbar-default{background-color:var(--navbar)}.ptx-runestone-container .navbar-default .navbar-nav>li,.ptx-runestone-container .navbar-default .navbar-nav>li>a,.runestone-sphinx .navbar-default .navbar-nav>li,.runestone-sphinx .navbar-default .navbar-nav>li>a{color:var(--navbarFont)}.ptx-runestone-container .navbar-default .navbar-nav>li>a:hover,.runestone-sphinx .navbar-default .navbar-nav>li>a:hover{color:var(--navbarFontHover)}.ptx-runestone-container .navbar-default .navbar-brand,.runestone-sphinx .navbar-default .navbar-brand{color:var(--navbarFont)}.ptx-runestone-container .toctree-wrapper,.runestone-sphinx .toctree-wrapper{font-size:16px}.ptx-runestone-container .toctree-wrapper a,.runestone-sphinx .toctree-wrapper a{color:var(--links)}.ptx-runestone-container .toctree-wrapper a:hover,.runestone-sphinx .toctree-wrapper a:hover{color:var(--links);text-decoration:underline}.ptx-runestone-container #index-and-search.section,.runestone-sphinx #index-and-search.section{font-size:16px}.ptx-runestone-container #index-and-search.section a,.runestone-sphinx #index-and-search.section a{color:var(--links)}.ptx-runestone-container #index-and-search.section a:hover,.runestone-sphinx #index-and-search.section a:hover{color:var(--links);text-decoration:underline}.ptx-runestone-container a,.runestone-sphinx a{color:var(--links)}@media (max-width:768px){.ptx-runestone-container body,.runestone-sphinx body{padding-top:0}.ptx-runestone-container .navbar-fixed-top,.runestone-sphinx .navbar-fixed-top{position:static}}@media (min-width:768px){.ptx-runestone-container .navbar .divider-vertical,.runestone-sphinx .navbar .divider-vertical{border-left:1px solid #f2f2f2;margin:0 3px}.ptx-runestone-container .navbar-fixed-top .container,.runestone-sphinx .navbar-fixed-top .container{padding:0}}.ptx-runestone-container div.container,.runestone-sphinx div.container{background-color:var(--background)}.ptx-runestone-container .container,.runestone-sphinx .container{padding-left:10px;padding-right:10px}.ptx-runestone-container .runestone,.runestone-sphinx .runestone{background-color:var(--componentBgColor);border-color:var(--componentBorderColor);border-radius:10px;border-style:solid;clear:both;margin-bottom:20px;margin-top:20px;padding:15px}.ptx-runestone-container #main-content section>:not(section),.runestone-sphinx #main-content section>:not(section){margin-left:auto;margin-right:auto;max-width:var(--contentWidthRegular)}.ptx-runestone-container #main-content section>.codelens,.ptx-runestone-container #main-content section>.jupyterlite_sphinx_iframe_container,.ptx-runestone-container #main-content section>.question,.ptx-runestone-container #main-content section>.runestone.ac_section,.ptx-runestone-container #main-content section>.runestone.codelens,.ptx-runestone-container #main-content section>.runestone.parsons-container,.ptx-runestone-container #main-content section>.runestone.parsons-problems,.ptx-runestone-container #main-content section>.timedAssessment,.ptx-runestone-container #main-content section>section,.runestone-sphinx #main-content section>.codelens,.runestone-sphinx #main-content section>.jupyterlite_sphinx_iframe_container,.runestone-sphinx #main-content section>.question,.runestone-sphinx #main-content section>.runestone.ac_section,.runestone-sphinx #main-content section>.runestone.codelens,.runestone-sphinx #main-content section>.runestone.parsons-container,.runestone-sphinx #main-content section>.runestone.parsons-problems,.runestone-sphinx #main-content section>.timedAssessment,.runestone-sphinx #main-content section>section{margin-left:auto;margin-right:auto;max-width:var(--contentWidthWide)}.ptx-runestone-container #main-content section>.full-width,.runestone-sphinx #main-content section>.full-width{max-width:var(--contentWidthWide)}.ptx-runestone-container .container section>img,.runestone-sphinx .container section>img{display:block;margin-left:auto;margin-right:auto}.ptx-runestone-container .container-fluid>.navbar-collapse,.ptx-runestone-container .container-fluid>.navbar-header,.ptx-runestone-container .container>.navbar-collapse,.ptx-runestone-container .container>.navbar-header,.runestone-sphinx .container-fluid>.navbar-collapse,.runestone-sphinx .container-fluid>.navbar-header,.runestone-sphinx .container>.navbar-collapse,.runestone-sphinx .container>.navbar-header{margin-left:0;margin-right:0}.ptx-runestone-container .navbar>.container .navbar-brand,.runestone-sphinx .navbar>.container .navbar-brand{margin-left:0}.ptx-runestone-container .navbar>.container,.runestone-sphinx .navbar>.container{background-color:var(--navbar)}.ptx-runestone-container .navbar-toggle,.runestone-sphinx .navbar-toggle{margin-right:0}.ptx-runestone-container .footer>.container,.runestone-sphinx .footer>.container{background-color:var(--outerBackground)}.ptx-runestone-container .footer>.container p>a,.runestone-sphinx .footer>.container p>a{color:var(--links)}.ptx-runestone-container .brand-logo,.runestone-sphinx .brand-logo{display:block;float:left;margin-top:4px}.ptx-runestone-container .brand-logo img,.runestone-sphinx .brand-logo img{height:40px}.ptx-runestone-container .social-menu,.runestone-sphinx .social-menu{padding:10px 10px 15px 20px;width:220px}.ptx-runestone-container .fb-like,.runestone-sphinx .fb-like{margin-top:7px}.ptx-runestone-container .fb_iframe_widget iframe,.ptx-runestone-container .fb_iframe_widget span,.runestone-sphinx .fb_iframe_widget iframe,.runestone-sphinx .fb_iframe_widget span{height:20px!important;width:82px!important}.ptx-runestone-container .twitter-follow-button,.runestone-sphinx .twitter-follow-button{margin-top:10px}.ptx-runestone-container .gittip,.runestone-sphinx .gittip{margin-top:8px}.ptx-runestone-container .gittip-button,.runestone-sphinx .gittip-button{margin-bottom:-6px}.ptx-runestone-container .dropdown-menu>li>div,.ptx-runestone-container .dropdown-menu>li>label,.ptx-runestone-container .dropdown-menu>li>span,.runestone-sphinx .dropdown-menu>li>div,.runestone-sphinx .dropdown-menu>li>label,.runestone-sphinx .dropdown-menu>li>span{clear:both;color:var(--grayToWhite);display:block;font-weight:700;line-height:20px;padding:3px 20px;white-space:nowrap}.ptx-runestone-container .dropdown-menu>li>label:focus,.ptx-runestone-container .dropdown-menu>li>label:hover,.runestone-sphinx .dropdown-menu>li>label:focus,.runestone-sphinx .dropdown-menu>li>label:hover{background-color:#f5f5f5;color:#262626;text-decoration:none}.ptx-runestone-container .dropdown-menu>li>a,.runestone-sphinx .dropdown-menu>li>a{color:var(--grayToWhite)}.ptx-runestone-container .loggedinuser,.runestone-sphinx .loggedinuser{font-weight:700}.ptx-runestone-container .CodeMirror,.runestone-sphinx .CodeMirror{background-color:var(--background);clear:both;margin:0 0 1em}.ptx-runestone-container .ac_section .CodeMirror pre,.runestone-sphinx .ac_section .CodeMirror pre{word-wrap:normal;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;-o-border-radius:0;border-radius:0;border-width:0;font-family:Menlo,Monaco,Consolas,Courier New,monospace;font-size:inherit;margin:0;padding:0;white-space:pre}.ptx-runestone-container btn.btn-sm,.ptx-runestone-container button.btn,.ptx-runestone-container input[type=button].btn.btn-sm,.ptx-runestone-container input[type=submit].btn.btn-sm,.runestone-sphinx btn.btn-sm,.runestone-sphinx button.btn,.runestone-sphinx input[type=button].btn.btn-sm,.runestone-sphinx input[type=submit].btn.btn-sm{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:1em}.ptx-runestone-container .dropdown-menu .input-group .input-group-btn button.btn,.runestone-sphinx .dropdown-menu .input-group .input-group-btn button.btn{font-size:14px}.ptx-runestone-container .btn,.runestone-sphinx .btn{margin:5px}.ptx-runestone-container .btn.disabled,.runestone-sphinx .btn.disabled{pointer-events:auto}.ptx-runestone-container .btn-default,.ptx-runestone-container .btn-default.disabled,.ptx-runestone-container .btn-default.disabled:hover,.ptx-runestone-container .btn-default[disabled],.ptx-runestone-container .btn-default[disabled]:hover,.runestone-sphinx .btn-default,.runestone-sphinx .btn-default.disabled,.runestone-sphinx .btn-default.disabled:hover,.runestone-sphinx .btn-default[disabled],.runestone-sphinx .btn-default[disabled]:hover{background-color:var(--codeButtons);border-color:var(codeButtonsBorder);color:#fff}.ptx-runestone-container .btn-default.active,.ptx-runestone-container .btn-default:active,.ptx-runestone-container .btn-default:focus,.ptx-runestone-container .btn-default:hover,.runestone-sphinx .btn-default.active,.runestone-sphinx .btn-default:active,.runestone-sphinx .btn-default:focus,.runestone-sphinx .btn-default:hover{background-color:#3a3c3c;border-color:#2e2f2f;color:#fff}.ptx-runestone-container input[type=checkbox],.ptx-runestone-container input[type=radio],.runestone-sphinx input[type=checkbox],.runestone-sphinx input[type=radio]{margin-right:5px}.ptx-runestone-container .tooltip,.runestone-sphinx .tooltip{z-index:2000!important}.ptx-runestone-container .tooltip.in,.runestone-sphinx .tooltip.in{filter:alpha(opacity=80);opacity:.8}.ptx-runestone-container h2,.runestone-sphinx h2{margin-top:20px}.ptx-runestone-container .alert form,.runestone-sphinx .alert form{margin-bottom:0}.ptx-runestone-container .alert,.runestone-sphinx .alert{color:var(--grayToWhite);padding:10px}.ptx-runestone-container .alert-info,.runestone-sphinx .alert-info{background-color:var(--alerts)}.ptx-runestone-container .alert-danger,.runestone-sphinx .alert-danger{background-color:var(--dangerAlerts)}.ptx-runestone-container .alert-success,.runestone-sphinx .alert-success{background-color:var(--successAlerts)}.ptx-runestone-container .unittest-results.alert-danger,.runestone-sphinx .unittest-results.alert-danger{background-color:var(--dangerAlerts)!important}.ptx-runestone-container .unittest-results.alert-success,.runestone-sphinx .unittest-results.alert-success{background-color:var(--successAlerts)!important}.ptx-runestone-container .alert label,.runestone-sphinx .alert label{font-weight:400}.ptx-runestone-container .navbar_message,.runestone-sphinx .navbar_message{font-weight:700;margin-top:15px}.ptx-runestone-container dt.label>span.brackets:not(span.brackets>a),.ptx-runestone-container dt.label>span.fn-backref:not(span.fn-backref>a),.runestone-sphinx dt.label>span.brackets:not(span.brackets>a),.runestone-sphinx dt.label>span.fn-backref:not(span.fn-backref>a){color:#000}.ptx-runestone-container .admonition,.runestone-sphinx .admonition{background-color:var(--admonition);border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;margin-bottom:20px!important;margin-top:20px!important;padding:8px 35px 8px 14px!important;text-shadow:0 1px 0 hsla(0,0%,100%,.5)}.ptx-runestone-container .admonition.caution,.runestone-sphinx .admonition.caution{background-color:#f2dede;border-color:#eed3d7;color:#a33f3e}.ptx-runestone-container .admonition.note,.ptx-runestone-container .admonition.tip,.runestone-sphinx .admonition.note,.runestone-sphinx .admonition.tip{background-color:#d9edf7;border-color:#bce8f1;color:#333}.ptx-runestone-container div.flash,.runestone-sphinx div.flash{-webkit-font-smoothing:antialiased;background-color:#000;background-image:-webkit-linear-gradient(top,#222,#000);background-image:-o-linear-gradient(top,#222,#000);background-image:-moz-linear-gradient(90deg,#222,#000);background-image:linear-gradient(top,#222,#000);background-repeat:repeat-x;border:2px solid #fff;border-radius:8px;-moz-border-radius:8px;-webkit-border-radius:8px;color:#fff;cursor:pointer;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;margin:0 0 10px 10px;opacity:.95;padding:10px;position:fixed;right:45px;top:55px;vertical-align:middle;z-index:2000}.ptx-runestone-container #web2py_user_form,.runestone-sphinx #web2py_user_form{margin-top:10px}.ptx-runestone-container #web2py_user_form form,.runestone-sphinx #web2py_user_form form{float:left;margin-right:150px;padding-top:3px}.ptx-runestone-container #web2py_user_form td,.runestone-sphinx #web2py_user_form td{padding-bottom:15px}.ptx-runestone-container #web2py_user_form td.w2p_fw,.runestone-sphinx #web2py_user_form td.w2p_fw{width:299px}.ptx-runestone-container #auth-actions,.runestone-sphinx #auth-actions{margin-top:50px}.ptx-runestone-container #sign_in_text td,.runestone-sphinx #sign_in_text td{color:#333;font-family:lucida grande,Verdana,sans-serif;font-size:17px;padding-bottom:13px}.ptx-runestone-container #auth_user_remember,.runestone-sphinx #auth_user_remember{margin-top:-20px}.ptx-runestone-container #exercises>ol>li,.ptx-runestone-container #programming-exercises>ol>li,.runestone-sphinx #exercises>ol>li,.runestone-sphinx #programming-exercises>ol>li{margin-bottom:30px}.ptx-runestone-container #exercises>ol>li:nth-child(2n),.ptx-runestone-container #programming-exercises>ol>li:nth-child(2n),.runestone-sphinx #exercises>ol>li:nth-child(2n),.runestone-sphinx #programming-exercises>ol>li:nth-child(2n){background:#faf7df;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;padding:1.2em 1.4em}.ptx-runestone-container .scratch-ac-modal,.runestone-sphinx .scratch-ac-modal{max-height:90%;overflow-y:scroll;width:90%}.ptx-runestone-container .compare-modal .progress,.runestone-sphinx .compare-modal .progress{margin-bottom:0}.ptx-runestone-container .compare-me-progress,.runestone-sphinx .compare-me-progress{width:100%}.ptx-runestone-container .compare-me-progress .progress-bar,.ptx-runestone-container .unittest-results-progress .progress-bar,.runestone-sphinx .compare-me-progress .progress-bar,.runestone-sphinx .unittest-results-progress .progress-bar{color:#333}.ptx-runestone-container .unittest-results-progress,.runestone-sphinx .unittest-results-progress{width:25%}.ptx-runestone-container .compare-modal,.runestone-sphinx .compare-modal{width:350px}.ptx-runestone-container .compare-modal table,.runestone-sphinx .compare-modal table{border-collapse:separate;border-spacing:10px 5px}.ptx-runestone-container .codelens-modal,.runestone-sphinx .codelens-modal{bottom:auto;left:auto;right:20%;top:20%}@media (max-width:768px){.ptx-runestone-container .codelens-modal,.runestone-sphinx .codelens-modal{bottom:0!important;left:0!important;right:0!important;top:0!important}}.ptx-runestone-container .codelens-modal>.modal-dialog,.runestone-sphinx .codelens-modal>.modal-dialog{width:400px}.ptx-runestone-container .footnote.table,.runestone-sphinx .footnote.table{margin-bottom:10px;width:auto}.ptx-runestone-container .footnote.table td.label,.runestone-sphinx .footnote.table td.label{background-color:#d9edf7;padding:2px 5px}.ptx-runestone-container .ac-canvas,.runestone-sphinx .ac-canvas{background-color:#fff;display:inline-block}.ptx-runestone-container .video-play-overlay,.runestone-sphinx .video-play-overlay{background-position:50%;background-repeat:no-repeat;height:85px;left:44%;position:relative;top:-150px;width:130px}.ptx-runestone-container .video_popup video,.runestone-sphinx .video_popup video{cursor:pointer;width:var(--contentWidthRegular)}.ptx-runestone-container .ui-sortable-helper,.runestone-sphinx .ui-sortable-helper{height:auto!important;width:auto!important}.ptx-runestone-container .navLink,.runestone-sphinx .navLink{bottom:65px;display:inline;opacity:.4;position:fixed;z-index:2}.ptx-runestone-container .navLink:hover,.runestone-sphinx .navLink:hover{opacity:1}.ptx-runestone-container .navLink a,.runestone-sphinx .navLink a{background-color:#fff;border:2px solid #d3d3d3;display:inline-block;height:50px;width:100px}.ptx-runestone-container #relations-next,.runestone-sphinx #relations-next{right:35px}.ptx-runestone-container #relations-prev,.runestone-sphinx #relations-prev{left:35px}.ptx-runestone-container .nextprev-list,.runestone-sphinx .nextprev-list{height:50px;margin:10px;padding-left:0}@media (max-width:600px){.ptx-runestone-container .navLink,.runestone-sphinx .navLink{bottom:auto;display:inline-block;position:absolute}.ptx-runestone-container #relations-next,.ptx-runestone-container #relations-prev,.runestone-sphinx #relations-next,.runestone-sphinx #relations-prev{display:inline;padding:0 20px;width:25%}}.ptx-runestone-container #completionButton,.runestone-sphinx #completionButton{color:var(--completionButtonText);font-weight:700;margin-bottom:15px;margin-top:25px;padding-left:70px;padding-right:70px}.ptx-runestone-container .buttonAskCompletion,.runestone-sphinx .buttonAskCompletion{background-color:var(--completionButton);border-color:var(--completionButtonHover);font-weight:700}.ptx-runestone-container .buttonAskCompletion:hover,.runestone-sphinx .buttonAskCompletion:hover{background-color:var(--completionButtonHover);border-color:var(--completionButtonHover)}.ptx-runestone-container .buttonConfirmCompletion,.runestone-sphinx .buttonConfirmCompletion{background-color:#377e22;border-color:#3dc682;color:#fff!important}.ptx-runestone-container .buttonConfirmCompletion:hover,.runestone-sphinx .buttonConfirmCompletion:hover{background-color:#3dc682;border-color:#3dc682}.ptx-runestone-container .navLinkBg,.runestone-sphinx .navLinkBg{background-color:#fff;bottom:55px;-webkit-box-shadow:0 0 3px rgba(50,50,50,.5);-moz-box-shadow:0 0 3px rgba(50,50,50,.5);box-shadow:0 0 3px rgba(50,50,50,.5);color:#999;font-weight:700;height:40px;position:fixed;z-index:1}.ptx-runestone-container .navLinkBg:hover,.runestone-sphinx .navLinkBg:hover{color:#999}.ptx-runestone-container #navLinkBgRight,.runestone-sphinx #navLinkBgRight{padding:10px 15px 0 65px;right:-1000px}.ptx-runestone-container #navLinkBgLeft,.runestone-sphinx #navLinkBgLeft{left:-65px;padding-left:15px;padding-right:50px}.ptx-runestone-container .activehtml,.runestone-sphinx .activehtml{background-color:#fff;height:400px;width:100%}.ptx-runestone-container .container section>div.sidebar,.runestone-sphinx .container section>div.sidebar{margin:0 0 .5em 1em}.ptx-runestone-container a.disqus_thread_link,.runestone-sphinx a.disqus_thread_link{display:block}.ptx-runestone-container .reveal_button,.runestone-sphinx .reveal_button{display:block;margin-left:0}.ptx-runestone-container iframe[seamless],.runestone-sphinx iframe[seamless]{display:block}@media (min-width:768px){.ptx-runestone-container .container section>div.sidebar,.runestone-sphinx .container section>div.sidebar{margin:0 3em .5em 1em}}@media (min-width:992px){.ptx-runestone-container .container section>div.sidebar,.runestone-sphinx .container section>div.sidebar{margin:0 11em .5em 1em}}@media (min-width:1200px){.ptx-runestone-container .container section>div.sidebar,.runestone-sphinx .container section>div.sidebar{margin:0 18em .5em 1em}}.ptx-runestone-container div.ExecutionVisualizer table.visualizer,.runestone-sphinx div.ExecutionVisualizer table.visualizer{background-color:#fff;margin-left:auto;margin-right:auto;width:auto}.ptx-runestone-container .sltooltip,.runestone-sphinx .sltooltip{bottom:120%;display:block;font-size:11px;margin-left:-2em;margin-top:-2px;padding-bottom:5px;position:absolute;visibility:visible;z-index:1020}.ptx-runestone-container .sltooltip .sltooltip-arrow,.runestone-sphinx .sltooltip .sltooltip-arrow{border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000;bottom:0;height:0;left:50%;margin-left:-5px;position:absolute;width:0}.ptx-runestone-container .sltooltip-inner,.runestone-sphinx .sltooltip-inner{background-color:#000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;color:var(--tooltip);max-width:200px;padding:3px 8px;text-align:center;text-decoration:none}.ptx-runestone-container ul.dropdown-menu.globaltoc,.runestone-sphinx ul.dropdown-menu.globaltoc{max-height:700px;overflow:auto}.ptx-runestone-container .globaltoc span.caption-text,.runestone-sphinx .globaltoc span.caption-text{display:inline-block;font-size:large;font-weight:700}.ptx-runestone-container textarea.lp-result,.runestone-sphinx textarea.lp-result{font-family:monospace;height:10em;width:100%}.ptx-runestone-container .visuallyhidden,.runestone-sphinx .visuallyhidden{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.ptx-runestone-container .visuallyhidden.focusable:active,.ptx-runestone-container .visuallyhidden.focusable:focus,.runestone-sphinx .visuallyhidden.focusable:active,.runestone-sphinx .visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;white-space:inherit;width:auto}.ptx-runestone-container .blockquote,.runestone-sphinx .blockquote{font-size:large;font-style:italic;padding-left:2em;padding-right:2em;text-align:center}.ptx-runestone-container #subchapterprogress.ui-progressbar .ui-progressbar-value,.runestone-sphinx #subchapterprogress.ui-progressbar .ui-progressbar-value{border-radius:0;margin:0}.ptx-runestone-container #subchapterprogress>div,.runestone-sphinx #subchapterprogress>div{background:green}.ptx-runestone-container #subchapterprogress>div.loggedout,.runestone-sphinx #subchapterprogress>div.loggedout{background:#d3d3d3}.ptx-runestone-container .runestone_caption,.runestone-sphinx .runestone_caption{text-align:center}.ptx-runestone-container .runestone_caption_divid,.runestone-sphinx .runestone_caption_divid{opacity:50%}.ptx-runestone-container #questions .runestone_caption:before,.runestone-sphinx #questions .runestone_caption:before{content:"Problem: " counter(rscomponent) " -- ";counter-increment:rscomponent}.ptx-runestone-container body,.runestone-sphinx body{color:var(--bodyFont)}.ptx-runestone-container .jupyter_container .output,.runestone-sphinx .jupyter_container .output{margin-top:10px}.ptx-runestone-container .jupyter_container .output td,.ptx-runestone-container .jupyter_container .output th,.runestone-sphinx .jupyter_container .output td,.runestone-sphinx .jupyter_container .output th{padding-left:5px;padding-right:5px}.ptx-runestone-container .dropdown-menu>li>label.theme-switch,.runestone-sphinx .dropdown-menu>li>label.theme-switch{align-items:center;cursor:pointer;display:flex;font-weight:400}.ptx-runestone-container .theme-switch input,.runestone-sphinx .theme-switch input{display:none}.ptx-runestone-container .theme-switch .slider,.runestone-sphinx .theme-switch .slider{background-color:#ccc;height:1.25em;margin-right:3px;position:relative;transition:.4s;width:2em}.ptx-runestone-container .theme-switch .slider:before,.runestone-sphinx .theme-switch .slider:before{background-color:#fff;bottom:2px;content:"";height:calc(1.25em - 4px);left:2px;position:absolute;transition:.4s;width:calc(1.25em - 4px)}.ptx-runestone-container .theme-switch input:checked+.slider,.runestone-sphinx .theme-switch input:checked+.slider{background-color:#66bb6a}.ptx-runestone-container .theme-switch input:checked+.slider:before,.runestone-sphinx .theme-switch input:checked+.slider:before{transform:translateX(calc(.75em - 1px))}.ptx-runestone-container .theme-switch .slider.round,.ptx-runestone-container .theme-switch .slider.round:before,.runestone-sphinx .theme-switch .slider.round,.runestone-sphinx .theme-switch .slider.round:before{border-radius:1.25em}.ptx-runestone-container .adcopy,.runestone-sphinx .adcopy{background-color:#f2e0c3;border:2px solid #000;border-radius:10px;margin-left:auto;margin-right:auto;margin-top:10px;padding:10px;width:60%}.ptx-runestone-container .adcopy .donateb,.runestone-sphinx .adcopy .donateb{margin-left:30%}.ptx-runestone-container .isCorrect:before,.runestone-sphinx .isCorrect:before{content:"✅ ";float:right;padding-left:4px}.ptx-runestone-container .isInCorrect:before,.runestone-sphinx .isInCorrect:before{content:"⚠️ ";float:right;padding-left:4px}.ptx-runestone-container pre,.runestone-sphinx pre{background:inherit;color:inherit}.ptx-runestone-container summary.ptx-footnote__number,.runestone-sphinx summary.ptx-footnote__number{display:inline}.ptx-runestone-container summary.knowl__link,.runestone-sphinx summary.knowl__link{display:list-item inline}.ptx-runestone-container details.ptx-footnote,.runestone-sphinx details.ptx-footnote{display:inline}.ptx-runestone-container .handsontable td,.ptx-runestone-container .handsontable th,.runestone-sphinx .handsontable td,.runestone-sphinx .handsontable th{background-color:var(--content-background,#fff);color:var(--bodyFont,#000)}.ptx-runestone-container legend,.runestone-sphinx legend{border-bottom-color:var(--grayToWhite,#333);color:var(--grayToWhite,#333)}.ptx-runestone-container .autopermalink,.runestone-sphinx .autopermalink{display:none}.ptx-runestone-container :root,.runestone-sphinx :root{--codebuttons:#474949}.ptx-runestone-container [data-theme=dark],.runestone-sphinx [data-theme=dark]{--codebuttons:#2c0aa6}.ptx-runestone-container li.dropdown.open a.dropdown-toggle,.ptx-runestone-container li.dropdown.open a.dropdown-toggle:focus,.runestone-sphinx li.dropdown.open a.dropdown-toggle,.runestone-sphinx li.dropdown.open a.dropdown-toggle:focus{background-color:#2a5659!important;border:0!important;color:#f8f8f8!important}.ptx-runestone-container a.dropdown-toggle:focus,.runestone-sphinx a.dropdown-toggle:focus{background-color:#52a6ac!important;color:#f8f8f8!important}.ptx-runestone-container li.divider-vertical,.runestone-sphinx li.divider-vertical{margin:0!important}.ptx-runestone-container li.dropdown a.dropdown-toggle,.runestone-sphinx li.dropdown a.dropdown-toggle{padding:15px 18px!important}.ptx-runestone-container button.btn.btn-default:active,.ptx-runestone-container button.btn.btn-default:focus,.runestone-sphinx button.btn.btn-default:active,.runestone-sphinx button.btn.btn-default:focus{background-color:#fff!important;color:#474949!important}.ptx-runestone-container button.btn.btn-default,.runestone-sphinx button.btn.btn-default{background-color:#474949!important;color:#fff!important}.ptx-runestone-container button.btn.btn-default.btn-sm.disabled:active,.ptx-runestone-container button.btn.btn-default.btn-sm.disabled:focus,.runestone-sphinx button.btn.btn-default.btn-sm.disabled:active,.runestone-sphinx button.btn.btn-default.btn-sm.disabled:focus{background-color:#fff!important;color:#474949!important}.ptx-runestone-container button.btn.btn-default.btn-sm.disabled,.runestone-sphinx button.btn.btn-default.btn-sm.disabled{background-color:#474949!important;color:#fff!important}.ptx-runestone-container button.btn.btn-success:active,.ptx-runestone-container button.btn.btn-success:focus,.runestone-sphinx button.btn.btn-success:active,.runestone-sphinx button.btn.btn-success:focus{background-color:#fff!important;color:#427e44!important}.ptx-runestone-container button.btn.btn-success,.runestone-sphinx button.btn.btn-success{background-color:#427e44!important;color:#fff!important}.ptx-runestone-container button.btn.btn-primary:active,.ptx-runestone-container button.btn.btn-primary:focus,.runestone-sphinx button.btn.btn-primary:active,.runestone-sphinx button.btn.btn-primary:focus{background-color:#fff!important;color:#3379b6!important}.ptx-runestone-container button.btn.btn-primary,.runestone-sphinx button.btn.btn-primary{background-color:#3379b6!important;color:#fff!important}.ptx-runestone-container button.btn.btn-info:active,.ptx-runestone-container button.btn.btn-info:focus,.runestone-sphinx button.btn.btn-info:active,.runestone-sphinx button.btn.btn-info:focus{background-color:#fff!important;color:#1a6a83!important}.ptx-runestone-container button.btn.btn-info,.runestone-sphinx button.btn.btn-info{background-color:#1a6a83!important;color:#fff!important}.ptx-runestone-container button.btn.btn-warning:active,.ptx-runestone-container button.btn.btn-warning:focus,.runestone-sphinx button.btn.btn-warning:active,.runestone-sphinx button.btn.btn-warning:focus{background-color:#fff!important;color:#945c0e!important}.ptx-runestone-container button.btn.btn-warning,.runestone-sphinx button.btn.btn-warning{background-color:#945c0e!important;color:#fff!important}.ptx-runestone-container button.btn.btn-danger:active,.ptx-runestone-container button.btn.btn-danger:focus,.runestone-sphinx button.btn.btn-danger:active,.runestone-sphinx button.btn.btn-danger:focus{background-color:#fff!important;color:#d33a35!important}.ptx-runestone-container button.btn.btn-danger,.runestone-sphinx button.btn.btn-danger{background-color:#d33a35!important;color:#fff!important}.ptx-runestone-container button.btn.btn-link:active,.ptx-runestone-container button.btn.btn-link:focus,.runestone-sphinx button.btn.btn-link:active,.runestone-sphinx button.btn.btn-link:focus{background-color:#1a6a83!important;color:#fff!important}.ptx-runestone-container button.btn.btn-link,.runestone-sphinx button.btn.btn-link{background-color:#fff!important;color:#1a6a83!important}:root{--background:#fff;--outerBackground:#eee;--links:#0645ad;--bodyFont:var(--body-text-color,#000);--tooltip:#fff;--grayToWhite:#333;--navbar:#f8f8f8;--navbarFont:#707070;--navbarFontHover:#000;--alerts:#d9edf7;--completionButton:#f19711;--completionButtonHover:#ff9f19;--completionButtonText:#000;--admonition:#fcf8e3;--admonitionBorder:#fbeed5;--codeButtons:#474949;--codeButtonsBorder:#474949;--dangerAlerts:#f2dede;--successAlerts:#dff0d8;--contentWidthRegular:660px;--contentWidthWide:1060px;--componentBgColor:#f0f8ff;--componentBorderColor:#000;--questionBgColor:#e1efff;--parsonsBgColor:#ffa;--parsonsBorderColor:#ee0;--parsonsCorrectBgColor:#dff0d8;--parsonsCorrectBorderColor:#ade595;--parsonsIncorrectBgColor:#f2dede;--parsonsIncorrectBorderColor:#f2b6b6}:root.dark-mode{--background:#2c2f33;--outerBackground:#23272a;--links:#7289da;--bodyFont:var(--body-text-color,#99aab5);--tooltip:#000;--grayToWhite:#aaa;--navbar:#3d3d3d;--navbarFont:#fff;--navbarFontHover:#d6d6d6;--alerts:#714082;--completionButton:#650087;--completionButtonHover:#560073;--completionButtonText:#fff;--admonition:#3d3d3d;--admonitionBorder:#262626;--codeButtons:#67739d;--codeButtonsBorder:#fff;--dangerAlerts:#8c2626;--successAlerts:#217300;--componentBgColor:var(--rs-component-bg,var(--knowl-background,#07467d));--componentBorderColor:var(--rs-component-border,var(--knowl-border-color,#939090));--questionBgColor:var(--rs-component-bg,var(--knowl-nested-1-background,#0f5a9b));--parsonsBgColor:#e8e8b2;--parsonsBorderColor:#a8a82d;--parsonsCorrectBgColor:#a3c097;--parsonsCorrectBorderColor:#60904c;--parsonsIncorrectBgColor:#ae9090;--parsonsIncorrectBorderColor:#c16b6b}[data-theme=dark]{--background:#2c2f33;--outerBackground:#23272a;--links:#7289da;--bodyFont:#99aab5;--tooltip:#000;--grayToWhite:#fff;--navbar:#3d3d3d;--navbarFont:#fff;--navbarFontHover:#d6d6d6;--alerts:#714082;--completionButton:#650087;--completionButtonHover:#560073;--completionButtonText:#fff;--admonition:#3d3d3d;--admonitionBorder:#262626;--codeButtons:#7289da;--codeButtonsBorder:#fff;--dangerAlerts:#8c2626;--successAlerts:#217300;--componentBgColor:#07467d;--componentBorderColor:#939090;--questionBgColor:#17555d}#scprogresscontainer{margin:10px auto;max-width:500px;width:100%}#subchapterprogress{background-color:var(--alerts);border:1px solid var(--grayToWhite);border-radius:5px;height:20px;position:relative;width:100%}.exercise-statement{display:block;margin-bottom:1em}:root{--menu:#fff}[data-theme=dark]{--menu:#000}.my-highlighted-text{background-color:#ff9}.social-highlighted-text{background-color:#fcc}.highlight-option-box{left:0;position:absolute;top:0}.highlight-option-box li{height:24px}#continue-reading{display:none;padding-top:20px}#continue-reading a{float:right;margin-right:20px}li.completed{list-style-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAO5JREFUeNpi/P//PwMlgImBQjAwBthc4osH4skgNguJGrmA1BQgjgPiUJIMAGpWBVKrgNgAiL2P6H3aRrQBQM12QGo1EIsBcQxMM0oYABXxAjETFs2+QGobVHM9UPNSjEAEKgoEUjeBuBhNcwDUZm4gXg/U3IRuAcwLSkAsCcRdQE16QDoRiG2BGGQbOxA/BOIcbN5jhKVEoMYiINULFT8PxCJALAvlhwBtX4vXAKghpSBXoKlZCtQcQ1RCAirsBlJVSEIfgLiRpJQINKQdSNVCuTOB/Nt44xjkBWzY+iJvGRBr4pKHYUZKszNAgAEAln9yGpx/ZXMAAAAASUVORK5CYII=)}li.active{list-style-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIlJREFUeNpi/P//PwMlgImBQjAMDGCBsxZIkaYz4RmaAZhAHYjNoOxTQHwTvwsQgAeIe4E4DU18FhAXAPF3QgbMB+IQLOIgA4WAOBRfIOri0AwDIDktfAbYEBF89jRNB0eI0HMEnwGXgXgNHs1roGrweiERGmUMWKIxkZh08AWI04G4j5iEBBBgAPddF58mobqdAAAAAElFTkSuQmCC)}.infoTextCompleted{color:#3dc682}.infoTextActive,.infoTextCompleted{display:none;font-size:.9em;font-style:italic;margin-left:10px;opacity:.7}.infoTextActive{color:#ff9f19}.dropdown-menu{background-clip:padding-box;background-color:var(--menu);border:1px solid rgba(0,0,0,.2);border-radius:5px 5px 5px 5px;box-shadow:0 5px 10px rgba(0,0,0,.2);display:none;list-style:none outside none;margin:1px 0 0;min-width:160px;padding:4px 0;position:absolute;top:100%;z-index:1000}.dropdown-menu ul{list-style:disc none outside;margin:0 0 9px 25px;padding:0}.sidebar-highlights{background-color:#ff9}div.documentwrapper{border:0}div.bodywrapper{border-right:0}div.sphinxsidebar{border-left:1px solid #ccc;padding-left:10px}.body>.section .section{padding-top:1px}#jump-to-chapter{border:1px solid #ccc;letter-spacing:.015em;line-height:120%;margin-left:auto;margin-right:auto;padding:.5em;width:80%}#navigation-links{background-color:#f8f8f8;border:1px solid #ccc;margin:10px;padding:10px}.matrixeq_container{margin:0 0 6px;padding:6px}span.matrix_table{border:2px solid #000;margin:0 0 4px;overflow:visible;padding:0 1px;text-align:center}span.matrix_column,span.matrix_table{background-color:inherit;display:inline-table}span.matrix_column{border-width:0;font-family:monospace;font-size:12px;margin:0 1px;padding:2px 8px;vertical-align:middle}span.matrix_column div{background-color:inherit;display:block;margin:1px;padding:2px}span.matrix_table .matrix_column{border-style:none;margin-left:5px;margin-right:5px}span.matrix_table:before{top:-2px}span.matrix_table:after,span.matrix_table:before{background-color:inherit;content:" ";display:block;height:2px;margin:0 auto;position:relative;text-align:center;width:85%;z-index:100}span.matrix_table:after{top:2px}span.matrix_column:before{top:-2px}span.matrix_column:after,span.matrix_column:before{content:" ";display:block;height:2px;position:relative;width:85%;z-index:100}span.matrix_column:after{top:2px}span.matrix_table span.matrix_column:after,span.matrix_table span.matrix_column:before{height:0}span.matrix_table input[type=text]{appearance:none;background-color:inherit;box-shadow:none;display:block;font-family:sans-serif;font-size:12px;height:24px;margin:0;text-align:right;width:50px}span.matrix_operator{font-family:monospace;font-size:18px;margin:0 4px;padding:0}span.matrix_label,span.matrix_operator{display:inline-table;vertical-align:middle}span.matrix_label{font-family:sans-serif;font-size:12px;margin:0 1px;padding:0 0 0 20px}.lightcyanColor{background-color:#e0ffff}.lightgreyColor{background-color:#d3d3d3}.purpleColor{background-color:#dfb5e8}.yellowColor{background-color:#fdff9d}.webgl_container{background-color:#fcf8e3;display:block;margin-bottom:1em}.webgl_cmds,.webgl_container{box-sizing:border-box;width:100%}.webgl_cmds{padding:6px;text-align:center}.webgl_row2{box-sizing:border-box;display:block;height:550px;padding:0 4px;width:100%}.webgl_canvas,.webgl_editors{box-sizing:border-box;display:block;float:left;visibility:visible;width:50%}.webgl_canvas{font-size:12px;font-weight:400;padding-left:5px}.webgl_output{box-sizing:border-box;float:left;margin-top:6px;padding:4px;width:100%}.webgl_nav_tabs{background-color:#cfccb8;border-color:#fbeed5;display:inline-flex;height:31px;margin:0;overflow:hidden;padding:6px 0 0;width:100%}.webgl_nav_tabs,.webgl_nav_tabs li{border-top-left-radius:4px;border-top-right-radius:4px;list-style-type:none}.webgl_nav_tabs li{background-color:#e6e2cc;float:left;font-size:9pt;margin:0 0 0 4px;padding:4px 1px 4px 4px;position:relative}.webgl_nav_tabs li>a{color:#555;padding:8px;text-decoration:none}.webgl_nav_tabs>li>a:hover{border-bottom-width:0;border-color:#b4b19d}.webgl_nav_tabs li.active{background-color:#fff;list-style-image:none;list-style-type:none}.webgl_tab_content{background-color:#fcf8e3;border:0;clear:both;color:#c09853;margin:0 0 20px;position:absolute;width:100%;z-index:1}.webgl_tab_content.active{z-index:2}.webgl_tab_content>*{margin-left:auto;margin-right:auto}.webgl_tab_content .clearfix{position:static}.webgl_tab_editor{background-color:#fcf8e3;border:0;clear:both;color:#c09853;margin:0 0 20px;padding:10px 4px;position:absolute;width:100%}.webgl_code{float:left;width:100%}.webgl_tab_contents_text{background-color:#fcf8e3;border:0;clear:both;color:#c09853;margin:0 0 20px;padding:10px 4px;position:absolute;width:100%;z-index:1}.webgl_errorMessages{color:red}.webgl_warningMessages{color:#aa22a4}.webgl_infoMessages{color:#189040}.webgl_output_div{background-color:#fff;border:1px solid #d3d3d3;font-size:12px;font-weight:400;height:14em;margin:2px;overflow:auto;padding-bottom:4px;padding-left:4px;padding-top:4px;width:100%}.webgl_editor_highlight{background-color:#eee}.webgl_btn{background-color:thistle;border:1px solid transparent;border-radius:4px;cursor:pointer;display:inline-block;font-size:12px;font-weight:400;margin-bottom:0;padding:3px 6px;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.webgl_tabbed_editor{font-family:monospace,sans-serif;font-size:9pt;font-style:normal;resize:none;width:100%}.canvas3D{height:100%;width:100%}.CodeMirror.webgl-default{border:1px solid #eee;font-family:monospace,sans-serif;font-size:8pt;font-style:normal}button.btn.webgl-default{font-size:8pt}.runestone-sphinx .hidden{display:none}.runestone-sphinx .view-toggle{padding:.85em}.runestone-sphinx .presentation-mode section *{display:none}.runestone-sphinx .presentation-mode section .runestone,.runestone-sphinx .presentation-mode section .runestone *{display:initial}.runestone-sphinx .full-height,.runestone-sphinx .present{height:100vh}.runestone-sphinx .bottom{bottom:0;position:absolute}.runestone-sphinx #codeDisplayDiv{width:auto!important}.runestone-sphinx div.ExecutionVisualizer #dataViz{margin:0}.runestone-sphinx div.ExecutionVisualizer div#stackHeader{text-align:center}.runestone-sphinx #stackFrame{display:block!important}.runestone-sphinx #stackHeapTable{width:100%}.runestone-sphinx #stackHeapTable tr{justify-content:space-around}.runestone-sphinx div.ExecutionVisualizer td#heap_td,.runestone-sphinx div.ExecutionVisualizer td#stack_td{flex:1}.runestone-sphinx .presentation-title{display:none}.runestone-sphinx .present .presentation-title{display:block}.runestone-sphinx div.ExecutionVisualizer div#heap{float:none;padding-left:0}.runestone-sphinx #heap_td tr,.runestone-sphinx #stack_td tr{display:table-row}.runestone-sphinx #codeDisplayDiv{margin:0 auto}.runestone-sphinx #vizLayoutTd{flex:1}.runestone-sphinx #vizLayoutTdFirst{flex:2}.runestone-sphinx #vizLayoutTdSecond{flex:1}.runestone-sphinx #vizLayoutTdThird{flex:2}.runestone-sphinx #progOutputs{display:block!important;margin:0 20px;width:60%}.runestone-sphinx #pyStdout{width:100%!important}.runestone-sphinx div.ExecutionVisualizer #pyStdout{margin-bottom:1em}.runestone-sphinx div.ExecutionVisualizer table.visualizer{width:100%}.runestone-sphinx .present #vizLayoutTdThird{text-align:left}.runestone-sphinx .ac-block{display:flex;margin-bottom:1em}.runestone-sphinx .row-mode .ac-block{display:block;margin-bottom:0}.runestone-sphinx .row-mode .ac_code_div,.runestone-sphinx .row-mode .ac_output{display:block;float:none;max-width:none;width:auto}.runestone-sphinx .row-mode .ac_code_div{margin-bottom:1em}.runestone-sphinx .ac_section>*{max-width:100%}.runestone-sphinx .ac_output{display:block;max-width:100%}.runestone-sphinx .ac_output pre{min-height:60px;visibility:visible!important}.runestone-sphinx .CodeMirror{border-radius:3px;margin:0;max-width:100%;min-height:60px}.runestone-sphinx .container section>runestone:not(.ac_section){margin:0;max-width:none}.runestone-sphinx .presentation-options{align-items:center;display:flex;justify-content:flex-end}.runestone-sphinx .layout-btn{align-items:center;background-color:#fbeed5;border:2px solid #dfd4be;border-radius:2px;display:flex;justify-content:center;margin:0 .5rem;padding:.25rem;transition:all .2s ease}.runestone-sphinx .layout-btn.active-layout,.runestone-sphinx .layout-btn:focus{border:2px solid #979797;outline:none}.runestone-sphinx .sketchpad-container{min-height:300px;min-width:50%;padding:0 15px}.runestone-sphinx .card-mode .sketchpad-container{display:inline-block;margin:0;vertical-align:top;width:50%}.runestone-sphinx .row-mode .error{margin:20px 15px}.runestone-sphinx .card-mode .error{display:inline-block;margin:28px 0 0;padding:0 15px;vertical-align:top;width:50%}.runestone-sphinx .sketchpad{background:#fff;border:2px solid grey;border-radius:3px;display:block;min-height:300px;width:100%}.runestone-sphinx .btn-presenter{border-radius:3px;font-weight:500;margin:1.5rem 0 1.5rem 1.5rem;padding:.5rem 1rem}.runestone-sphinx .btn-grey-outline{background:#fff;border:2px solid grey;color:grey}.runestone-sphinx .btn-grey-solid{background:grey;border:2px solid grey;color:#fff}.runestone-sphinx body.present .ac_section>*{max-width:none}.runestone-sphinx body.present iframe{width:100%}.runestone-sphinx body.present #relations-next,.runestone-sphinx body.present #relations-prev,.runestone-sphinx body.present .navLinkBg{display:none}.runestone-sphinx body.present .btn-presenter{position:absolute}.runestone-sphinx body.present .btn-presenter.prev-exercise{left:0}.runestone-sphinx body.present .btn-presenter.next-exercise{right:0} -/*# sourceMappingURL=prefix-runestone.f4ab138da65f4203.css.map*/ \ No newline at end of file + /*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */}.ptx-runestone-container html,.runestone-sphinx html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;font-family:sans-serif}.ptx-runestone-container body,.runestone-sphinx body{margin:0}.ptx-runestone-container article,.ptx-runestone-container aside,.ptx-runestone-container details,.ptx-runestone-container figcaption,.ptx-runestone-container figure,.ptx-runestone-container footer,.ptx-runestone-container header,.ptx-runestone-container hgroup,.ptx-runestone-container main,.ptx-runestone-container menu,.ptx-runestone-container nav,.ptx-runestone-container section,.ptx-runestone-container summary,.runestone-sphinx article,.runestone-sphinx aside,.runestone-sphinx details,.runestone-sphinx figcaption,.runestone-sphinx figure,.runestone-sphinx footer,.runestone-sphinx header,.runestone-sphinx hgroup,.runestone-sphinx main,.runestone-sphinx menu,.runestone-sphinx nav,.runestone-sphinx section,.runestone-sphinx summary{display:block}.ptx-runestone-container audio,.ptx-runestone-container canvas,.ptx-runestone-container progress,.ptx-runestone-container video,.runestone-sphinx audio,.runestone-sphinx canvas,.runestone-sphinx progress,.runestone-sphinx video{display:inline-block;vertical-align:baseline}.ptx-runestone-container audio:not([controls]),.runestone-sphinx audio:not([controls]){display:none;height:0}.ptx-runestone-container [hidden],.ptx-runestone-container template,.runestone-sphinx [hidden],.runestone-sphinx template{display:none}.ptx-runestone-container a,.runestone-sphinx a{background-color:transparent}.ptx-runestone-container a:active,.ptx-runestone-container a:hover,.runestone-sphinx a:active,.runestone-sphinx a:hover{outline:0}.ptx-runestone-container abbr[title],.runestone-sphinx abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;text-decoration:underline dotted}.ptx-runestone-container b,.ptx-runestone-container strong,.runestone-sphinx b,.runestone-sphinx strong{font-weight:700}.ptx-runestone-container dfn,.runestone-sphinx dfn{font-style:italic}.ptx-runestone-container h1,.runestone-sphinx h1{font-size:2em;margin:.67em 0}.ptx-runestone-container mark,.runestone-sphinx mark{background:#ff0;color:#000}.ptx-runestone-container small,.runestone-sphinx small{font-size:80%}.ptx-runestone-container sub,.ptx-runestone-container sup,.runestone-sphinx sub,.runestone-sphinx sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.ptx-runestone-container sup,.runestone-sphinx sup{top:-.5em}.ptx-runestone-container sub,.runestone-sphinx sub{bottom:-.25em}.ptx-runestone-container img,.runestone-sphinx img{border:0}.ptx-runestone-container svg:not(:root),.runestone-sphinx svg:not(:root){overflow:hidden}.ptx-runestone-container figure,.runestone-sphinx figure{margin:1em 40px}.ptx-runestone-container hr,.runestone-sphinx hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}.ptx-runestone-container pre,.runestone-sphinx pre{overflow:auto}.ptx-runestone-container code,.ptx-runestone-container kbd,.ptx-runestone-container pre,.ptx-runestone-container samp,.runestone-sphinx code,.runestone-sphinx kbd,.runestone-sphinx pre,.runestone-sphinx samp{font-family:monospace,monospace;font-size:1em}.ptx-runestone-container button,.ptx-runestone-container input,.ptx-runestone-container optgroup,.ptx-runestone-container select,.ptx-runestone-container textarea,.runestone-sphinx button,.runestone-sphinx input,.runestone-sphinx optgroup,.runestone-sphinx select,.runestone-sphinx textarea{color:inherit;font:inherit;margin:0}.ptx-runestone-container button,.runestone-sphinx button{overflow:visible}.ptx-runestone-container button,.ptx-runestone-container select,.runestone-sphinx button,.runestone-sphinx select{text-transform:none}.ptx-runestone-container button,.ptx-runestone-container html input[type=button],.ptx-runestone-container input[type=reset],.ptx-runestone-container input[type=submit],.runestone-sphinx button,.runestone-sphinx html input[type=button],.runestone-sphinx input[type=reset],.runestone-sphinx input[type=submit]{-webkit-appearance:button;cursor:pointer}.ptx-runestone-container button[disabled],.ptx-runestone-container html input[disabled],.runestone-sphinx button[disabled],.runestone-sphinx html input[disabled]{cursor:default}.ptx-runestone-container button::-moz-focus-inner,.ptx-runestone-container input::-moz-focus-inner,.runestone-sphinx button::-moz-focus-inner,.runestone-sphinx input::-moz-focus-inner{border:0;padding:0}.ptx-runestone-container input,.runestone-sphinx input{line-height:normal}.ptx-runestone-container input[type=checkbox],.ptx-runestone-container input[type=radio],.runestone-sphinx input[type=checkbox],.runestone-sphinx input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}.ptx-runestone-container input[type=number]::-webkit-inner-spin-button,.ptx-runestone-container input[type=number]::-webkit-outer-spin-button,.runestone-sphinx input[type=number]::-webkit-inner-spin-button,.runestone-sphinx input[type=number]::-webkit-outer-spin-button{height:auto}.ptx-runestone-container input[type=search],.runestone-sphinx input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.ptx-runestone-container input[type=search]::-webkit-search-cancel-button,.ptx-runestone-container input[type=search]::-webkit-search-decoration,.runestone-sphinx input[type=search]::-webkit-search-cancel-button,.runestone-sphinx input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.ptx-runestone-container fieldset,.runestone-sphinx fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}.ptx-runestone-container textarea,.runestone-sphinx textarea{overflow:auto}.ptx-runestone-container optgroup,.runestone-sphinx optgroup{font-weight:700}.ptx-runestone-container table,.runestone-sphinx table{border-collapse:collapse;border-spacing:0}.ptx-runestone-container td,.ptx-runestone-container th,.runestone-sphinx td,.runestone-sphinx th{padding:0}@media print{.ptx-runestone-container *,.ptx-runestone-container :after,.ptx-runestone-container :before,.runestone-sphinx *,.runestone-sphinx :after,.runestone-sphinx :before{background:transparent!important;-webkit-box-shadow:none!important;box-shadow:none!important;color:#000!important;text-shadow:none!important}.ptx-runestone-container a,.ptx-runestone-container a:visited,.runestone-sphinx a,.runestone-sphinx a:visited{text-decoration:underline}.ptx-runestone-container a[href]:after,.runestone-sphinx a[href]:after{content:" (" attr(href) ")"}.ptx-runestone-container abbr[title]:after,.runestone-sphinx abbr[title]:after{content:" (" attr(title) ")"}.ptx-runestone-container a[href^="#"]:after,.ptx-runestone-container a[href^="javascript:"]:after,.runestone-sphinx a[href^="#"]:after,.runestone-sphinx a[href^="javascript:"]:after{content:""}.ptx-runestone-container blockquote,.ptx-runestone-container pre,.runestone-sphinx blockquote,.runestone-sphinx pre{border:1px solid #999;page-break-inside:avoid}.ptx-runestone-container thead,.runestone-sphinx thead{display:table-header-group}.ptx-runestone-container img,.ptx-runestone-container tr,.runestone-sphinx img,.runestone-sphinx tr{page-break-inside:avoid}.ptx-runestone-container img,.runestone-sphinx img{max-width:100%!important}.ptx-runestone-container h2,.ptx-runestone-container h3,.ptx-runestone-container p,.runestone-sphinx h2,.runestone-sphinx h3,.runestone-sphinx p{orphans:3;widows:3}.ptx-runestone-container h2,.ptx-runestone-container h3,.runestone-sphinx h2,.runestone-sphinx h3{page-break-after:avoid}.ptx-runestone-container .navbar,.runestone-sphinx .navbar{display:none}.ptx-runestone-container .btn>.caret,.ptx-runestone-container .dropup>.btn>.caret,.runestone-sphinx .btn>.caret,.runestone-sphinx .dropup>.btn>.caret{border-top-color:#000!important}.ptx-runestone-container .label,.runestone-sphinx .label{border:1px solid #000}.ptx-runestone-container .table,.runestone-sphinx .table{border-collapse:collapse!important}.ptx-runestone-container .table td,.ptx-runestone-container .table th,.runestone-sphinx .table td,.runestone-sphinx .table th{background-color:#fff!important}.ptx-runestone-container .table-bordered td,.ptx-runestone-container .table-bordered th,.runestone-sphinx .table-bordered td,.runestone-sphinx .table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:Glyphicons Halflings;src:url(7a0f4b092e86cb52.eot);src:url(7a0f4b092e86cb52.eot?#iefix) format("embedded-opentype"),url(b70781972ce7320b.woff2) format("woff2"),url(4ba85deaf3670942.woff) format("woff"),url(009b407a9881be10.ttf) format("truetype"),url(85f0466cb4ab3a4d.svg#glyphicons_halflingsregular) format("svg")}.ptx-runestone-container .glyphicon,.runestone-sphinx .glyphicon{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-family:Glyphicons Halflings;font-style:normal;font-weight:400;line-height:1;position:relative;top:1px}.ptx-runestone-container .glyphicon-asterisk:before,.runestone-sphinx .glyphicon-asterisk:before{content:"\002a"}.ptx-runestone-container .glyphicon-plus:before,.runestone-sphinx .glyphicon-plus:before{content:"\002b"}.ptx-runestone-container .glyphicon-eur:before,.ptx-runestone-container .glyphicon-euro:before,.runestone-sphinx .glyphicon-eur:before,.runestone-sphinx .glyphicon-euro:before{content:"\20ac"}.ptx-runestone-container .glyphicon-minus:before,.runestone-sphinx .glyphicon-minus:before{content:"\2212"}.ptx-runestone-container .glyphicon-cloud:before,.runestone-sphinx .glyphicon-cloud:before{content:"\2601"}.ptx-runestone-container .glyphicon-envelope:before,.runestone-sphinx .glyphicon-envelope:before{content:"\2709"}.ptx-runestone-container .glyphicon-pencil:before,.runestone-sphinx .glyphicon-pencil:before{content:"\270f"}.ptx-runestone-container .glyphicon-glass:before,.runestone-sphinx .glyphicon-glass:before{content:"\e001"}.ptx-runestone-container .glyphicon-music:before,.runestone-sphinx .glyphicon-music:before{content:"\e002"}.ptx-runestone-container .glyphicon-search:before,.runestone-sphinx .glyphicon-search:before{content:"\e003"}.ptx-runestone-container .glyphicon-heart:before,.runestone-sphinx .glyphicon-heart:before{content:"\e005"}.ptx-runestone-container .glyphicon-star:before,.runestone-sphinx .glyphicon-star:before{content:"\e006"}.ptx-runestone-container .glyphicon-star-empty:before,.runestone-sphinx .glyphicon-star-empty:before{content:"\e007"}.ptx-runestone-container .glyphicon-user:before,.runestone-sphinx .glyphicon-user:before{content:"\e008"}.ptx-runestone-container .glyphicon-film:before,.runestone-sphinx .glyphicon-film:before{content:"\e009"}.ptx-runestone-container .glyphicon-th-large:before,.runestone-sphinx .glyphicon-th-large:before{content:"\e010"}.ptx-runestone-container .glyphicon-th:before,.runestone-sphinx .glyphicon-th:before{content:"\e011"}.ptx-runestone-container .glyphicon-th-list:before,.runestone-sphinx .glyphicon-th-list:before{content:"\e012"}.ptx-runestone-container .glyphicon-ok:before,.runestone-sphinx .glyphicon-ok:before{content:"\e013"}.ptx-runestone-container .glyphicon-remove:before,.runestone-sphinx .glyphicon-remove:before{content:"\e014"}.ptx-runestone-container .glyphicon-zoom-in:before,.runestone-sphinx .glyphicon-zoom-in:before{content:"\e015"}.ptx-runestone-container .glyphicon-zoom-out:before,.runestone-sphinx .glyphicon-zoom-out:before{content:"\e016"}.ptx-runestone-container .glyphicon-off:before,.runestone-sphinx .glyphicon-off:before{content:"\e017"}.ptx-runestone-container .glyphicon-signal:before,.runestone-sphinx .glyphicon-signal:before{content:"\e018"}.ptx-runestone-container .glyphicon-cog:before,.runestone-sphinx .glyphicon-cog:before{content:"\e019"}.ptx-runestone-container .glyphicon-trash:before,.runestone-sphinx .glyphicon-trash:before{content:"\e020"}.ptx-runestone-container .glyphicon-home:before,.runestone-sphinx .glyphicon-home:before{content:"\e021"}.ptx-runestone-container .glyphicon-file:before,.runestone-sphinx .glyphicon-file:before{content:"\e022"}.ptx-runestone-container .glyphicon-time:before,.runestone-sphinx .glyphicon-time:before{content:"\e023"}.ptx-runestone-container .glyphicon-road:before,.runestone-sphinx .glyphicon-road:before{content:"\e024"}.ptx-runestone-container .glyphicon-download-alt:before,.runestone-sphinx .glyphicon-download-alt:before{content:"\e025"}.ptx-runestone-container .glyphicon-download:before,.runestone-sphinx .glyphicon-download:before{content:"\e026"}.ptx-runestone-container .glyphicon-upload:before,.runestone-sphinx .glyphicon-upload:before{content:"\e027"}.ptx-runestone-container .glyphicon-inbox:before,.runestone-sphinx .glyphicon-inbox:before{content:"\e028"}.ptx-runestone-container .glyphicon-play-circle:before,.runestone-sphinx .glyphicon-play-circle:before{content:"\e029"}.ptx-runestone-container .glyphicon-repeat:before,.runestone-sphinx .glyphicon-repeat:before{content:"\e030"}.ptx-runestone-container .glyphicon-refresh:before,.runestone-sphinx .glyphicon-refresh:before{content:"\e031"}.ptx-runestone-container .glyphicon-list-alt:before,.runestone-sphinx .glyphicon-list-alt:before{content:"\e032"}.ptx-runestone-container .glyphicon-lock:before,.runestone-sphinx .glyphicon-lock:before{content:"\e033"}.ptx-runestone-container .glyphicon-flag:before,.runestone-sphinx .glyphicon-flag:before{content:"\e034"}.ptx-runestone-container .glyphicon-headphones:before,.runestone-sphinx .glyphicon-headphones:before{content:"\e035"}.ptx-runestone-container .glyphicon-volume-off:before,.runestone-sphinx .glyphicon-volume-off:before{content:"\e036"}.ptx-runestone-container .glyphicon-volume-down:before,.runestone-sphinx .glyphicon-volume-down:before{content:"\e037"}.ptx-runestone-container .glyphicon-volume-up:before,.runestone-sphinx .glyphicon-volume-up:before{content:"\e038"}.ptx-runestone-container .glyphicon-qrcode:before,.runestone-sphinx .glyphicon-qrcode:before{content:"\e039"}.ptx-runestone-container .glyphicon-barcode:before,.runestone-sphinx .glyphicon-barcode:before{content:"\e040"}.ptx-runestone-container .glyphicon-tag:before,.runestone-sphinx .glyphicon-tag:before{content:"\e041"}.ptx-runestone-container .glyphicon-tags:before,.runestone-sphinx .glyphicon-tags:before{content:"\e042"}.ptx-runestone-container .glyphicon-book:before,.runestone-sphinx .glyphicon-book:before{content:"\e043"}.ptx-runestone-container .glyphicon-bookmark:before,.runestone-sphinx .glyphicon-bookmark:before{content:"\e044"}.ptx-runestone-container .glyphicon-print:before,.runestone-sphinx .glyphicon-print:before{content:"\e045"}.ptx-runestone-container .glyphicon-camera:before,.runestone-sphinx .glyphicon-camera:before{content:"\e046"}.ptx-runestone-container .glyphicon-font:before,.runestone-sphinx .glyphicon-font:before{content:"\e047"}.ptx-runestone-container .glyphicon-bold:before,.runestone-sphinx .glyphicon-bold:before{content:"\e048"}.ptx-runestone-container .glyphicon-italic:before,.runestone-sphinx .glyphicon-italic:before{content:"\e049"}.ptx-runestone-container .glyphicon-text-height:before,.runestone-sphinx .glyphicon-text-height:before{content:"\e050"}.ptx-runestone-container .glyphicon-text-width:before,.runestone-sphinx .glyphicon-text-width:before{content:"\e051"}.ptx-runestone-container .glyphicon-align-left:before,.runestone-sphinx .glyphicon-align-left:before{content:"\e052"}.ptx-runestone-container .glyphicon-align-center:before,.runestone-sphinx .glyphicon-align-center:before{content:"\e053"}.ptx-runestone-container .glyphicon-align-right:before,.runestone-sphinx .glyphicon-align-right:before{content:"\e054"}.ptx-runestone-container .glyphicon-align-justify:before,.runestone-sphinx .glyphicon-align-justify:before{content:"\e055"}.ptx-runestone-container .glyphicon-list:before,.runestone-sphinx .glyphicon-list:before{content:"\e056"}.ptx-runestone-container .glyphicon-indent-left:before,.runestone-sphinx .glyphicon-indent-left:before{content:"\e057"}.ptx-runestone-container .glyphicon-indent-right:before,.runestone-sphinx .glyphicon-indent-right:before{content:"\e058"}.ptx-runestone-container .glyphicon-facetime-video:before,.runestone-sphinx .glyphicon-facetime-video:before{content:"\e059"}.ptx-runestone-container .glyphicon-picture:before,.runestone-sphinx .glyphicon-picture:before{content:"\e060"}.ptx-runestone-container .glyphicon-map-marker:before,.runestone-sphinx .glyphicon-map-marker:before{content:"\e062"}.ptx-runestone-container .glyphicon-adjust:before,.runestone-sphinx .glyphicon-adjust:before{content:"\e063"}.ptx-runestone-container .glyphicon-tint:before,.runestone-sphinx .glyphicon-tint:before{content:"\e064"}.ptx-runestone-container .glyphicon-edit:before,.runestone-sphinx .glyphicon-edit:before{content:"\e065"}.ptx-runestone-container .glyphicon-share:before,.runestone-sphinx .glyphicon-share:before{content:"\e066"}.ptx-runestone-container .glyphicon-check:before,.runestone-sphinx .glyphicon-check:before{content:"\e067"}.ptx-runestone-container .glyphicon-move:before,.runestone-sphinx .glyphicon-move:before{content:"\e068"}.ptx-runestone-container .glyphicon-step-backward:before,.runestone-sphinx .glyphicon-step-backward:before{content:"\e069"}.ptx-runestone-container .glyphicon-fast-backward:before,.runestone-sphinx .glyphicon-fast-backward:before{content:"\e070"}.ptx-runestone-container .glyphicon-backward:before,.runestone-sphinx .glyphicon-backward:before{content:"\e071"}.ptx-runestone-container .glyphicon-play:before,.runestone-sphinx .glyphicon-play:before{content:"\e072"}.ptx-runestone-container .glyphicon-pause:before,.runestone-sphinx .glyphicon-pause:before{content:"\e073"}.ptx-runestone-container .glyphicon-stop:before,.runestone-sphinx .glyphicon-stop:before{content:"\e074"}.ptx-runestone-container .glyphicon-forward:before,.runestone-sphinx .glyphicon-forward:before{content:"\e075"}.ptx-runestone-container .glyphicon-fast-forward:before,.runestone-sphinx .glyphicon-fast-forward:before{content:"\e076"}.ptx-runestone-container .glyphicon-step-forward:before,.runestone-sphinx .glyphicon-step-forward:before{content:"\e077"}.ptx-runestone-container .glyphicon-eject:before,.runestone-sphinx .glyphicon-eject:before{content:"\e078"}.ptx-runestone-container .glyphicon-chevron-left:before,.runestone-sphinx .glyphicon-chevron-left:before{content:"\e079"}.ptx-runestone-container .glyphicon-chevron-right:before,.runestone-sphinx .glyphicon-chevron-right:before{content:"\e080"}.ptx-runestone-container .glyphicon-plus-sign:before,.runestone-sphinx .glyphicon-plus-sign:before{content:"\e081"}.ptx-runestone-container .glyphicon-minus-sign:before,.runestone-sphinx .glyphicon-minus-sign:before{content:"\e082"}.ptx-runestone-container .glyphicon-remove-sign:before,.runestone-sphinx .glyphicon-remove-sign:before{content:"\e083"}.ptx-runestone-container .glyphicon-ok-sign:before,.runestone-sphinx .glyphicon-ok-sign:before{content:"\e084"}.ptx-runestone-container .glyphicon-question-sign:before,.runestone-sphinx .glyphicon-question-sign:before{content:"\e085"}.ptx-runestone-container .glyphicon-info-sign:before,.runestone-sphinx .glyphicon-info-sign:before{content:"\e086"}.ptx-runestone-container .glyphicon-screenshot:before,.runestone-sphinx .glyphicon-screenshot:before{content:"\e087"}.ptx-runestone-container .glyphicon-remove-circle:before,.runestone-sphinx .glyphicon-remove-circle:before{content:"\e088"}.ptx-runestone-container .glyphicon-ok-circle:before,.runestone-sphinx .glyphicon-ok-circle:before{content:"\e089"}.ptx-runestone-container .glyphicon-ban-circle:before,.runestone-sphinx .glyphicon-ban-circle:before{content:"\e090"}.ptx-runestone-container .glyphicon-arrow-left:before,.runestone-sphinx .glyphicon-arrow-left:before{content:"\e091"}.ptx-runestone-container .glyphicon-arrow-right:before,.runestone-sphinx .glyphicon-arrow-right:before{content:"\e092"}.ptx-runestone-container .glyphicon-arrow-up:before,.runestone-sphinx .glyphicon-arrow-up:before{content:"\e093"}.ptx-runestone-container .glyphicon-arrow-down:before,.runestone-sphinx .glyphicon-arrow-down:before{content:"\e094"}.ptx-runestone-container .glyphicon-share-alt:before,.runestone-sphinx .glyphicon-share-alt:before{content:"\e095"}.ptx-runestone-container .glyphicon-resize-full:before,.runestone-sphinx .glyphicon-resize-full:before{content:"\e096"}.ptx-runestone-container .glyphicon-resize-small:before,.runestone-sphinx .glyphicon-resize-small:before{content:"\e097"}.ptx-runestone-container .glyphicon-exclamation-sign:before,.runestone-sphinx .glyphicon-exclamation-sign:before{content:"\e101"}.ptx-runestone-container .glyphicon-gift:before,.runestone-sphinx .glyphicon-gift:before{content:"\e102"}.ptx-runestone-container .glyphicon-leaf:before,.runestone-sphinx .glyphicon-leaf:before{content:"\e103"}.ptx-runestone-container .glyphicon-fire:before,.runestone-sphinx .glyphicon-fire:before{content:"\e104"}.ptx-runestone-container .glyphicon-eye-open:before,.runestone-sphinx .glyphicon-eye-open:before{content:"\e105"}.ptx-runestone-container .glyphicon-eye-close:before,.runestone-sphinx .glyphicon-eye-close:before{content:"\e106"}.ptx-runestone-container .glyphicon-warning-sign:before,.runestone-sphinx .glyphicon-warning-sign:before{content:"\e107"}.ptx-runestone-container .glyphicon-plane:before,.runestone-sphinx .glyphicon-plane:before{content:"\e108"}.ptx-runestone-container .glyphicon-calendar:before,.runestone-sphinx .glyphicon-calendar:before{content:"\e109"}.ptx-runestone-container .glyphicon-random:before,.runestone-sphinx .glyphicon-random:before{content:"\e110"}.ptx-runestone-container .glyphicon-comment:before,.runestone-sphinx .glyphicon-comment:before{content:"\e111"}.ptx-runestone-container .glyphicon-magnet:before,.runestone-sphinx .glyphicon-magnet:before{content:"\e112"}.ptx-runestone-container .glyphicon-chevron-up:before,.runestone-sphinx .glyphicon-chevron-up:before{content:"\e113"}.ptx-runestone-container .glyphicon-chevron-down:before,.runestone-sphinx .glyphicon-chevron-down:before{content:"\e114"}.ptx-runestone-container .glyphicon-retweet:before,.runestone-sphinx .glyphicon-retweet:before{content:"\e115"}.ptx-runestone-container .glyphicon-shopping-cart:before,.runestone-sphinx .glyphicon-shopping-cart:before{content:"\e116"}.ptx-runestone-container .glyphicon-folder-close:before,.runestone-sphinx .glyphicon-folder-close:before{content:"\e117"}.ptx-runestone-container .glyphicon-folder-open:before,.runestone-sphinx .glyphicon-folder-open:before{content:"\e118"}.ptx-runestone-container .glyphicon-resize-vertical:before,.runestone-sphinx .glyphicon-resize-vertical:before{content:"\e119"}.ptx-runestone-container .glyphicon-resize-horizontal:before,.runestone-sphinx .glyphicon-resize-horizontal:before{content:"\e120"}.ptx-runestone-container .glyphicon-hdd:before,.runestone-sphinx .glyphicon-hdd:before{content:"\e121"}.ptx-runestone-container .glyphicon-bullhorn:before,.runestone-sphinx .glyphicon-bullhorn:before{content:"\e122"}.ptx-runestone-container .glyphicon-bell:before,.runestone-sphinx .glyphicon-bell:before{content:"\e123"}.ptx-runestone-container .glyphicon-certificate:before,.runestone-sphinx .glyphicon-certificate:before{content:"\e124"}.ptx-runestone-container .glyphicon-thumbs-up:before,.runestone-sphinx .glyphicon-thumbs-up:before{content:"\e125"}.ptx-runestone-container .glyphicon-thumbs-down:before,.runestone-sphinx .glyphicon-thumbs-down:before{content:"\e126"}.ptx-runestone-container .glyphicon-hand-right:before,.runestone-sphinx .glyphicon-hand-right:before{content:"\e127"}.ptx-runestone-container .glyphicon-hand-left:before,.runestone-sphinx .glyphicon-hand-left:before{content:"\e128"}.ptx-runestone-container .glyphicon-hand-up:before,.runestone-sphinx .glyphicon-hand-up:before{content:"\e129"}.ptx-runestone-container .glyphicon-hand-down:before,.runestone-sphinx .glyphicon-hand-down:before{content:"\e130"}.ptx-runestone-container .glyphicon-circle-arrow-right:before,.runestone-sphinx .glyphicon-circle-arrow-right:before{content:"\e131"}.ptx-runestone-container .glyphicon-circle-arrow-left:before,.runestone-sphinx .glyphicon-circle-arrow-left:before{content:"\e132"}.ptx-runestone-container .glyphicon-circle-arrow-up:before,.runestone-sphinx .glyphicon-circle-arrow-up:before{content:"\e133"}.ptx-runestone-container .glyphicon-circle-arrow-down:before,.runestone-sphinx .glyphicon-circle-arrow-down:before{content:"\e134"}.ptx-runestone-container .glyphicon-globe:before,.runestone-sphinx .glyphicon-globe:before{content:"\e135"}.ptx-runestone-container .glyphicon-wrench:before,.runestone-sphinx .glyphicon-wrench:before{content:"\e136"}.ptx-runestone-container .glyphicon-tasks:before,.runestone-sphinx .glyphicon-tasks:before{content:"\e137"}.ptx-runestone-container .glyphicon-filter:before,.runestone-sphinx .glyphicon-filter:before{content:"\e138"}.ptx-runestone-container .glyphicon-briefcase:before,.runestone-sphinx .glyphicon-briefcase:before{content:"\e139"}.ptx-runestone-container .glyphicon-fullscreen:before,.runestone-sphinx .glyphicon-fullscreen:before{content:"\e140"}.ptx-runestone-container .glyphicon-dashboard:before,.runestone-sphinx .glyphicon-dashboard:before{content:"\e141"}.ptx-runestone-container .glyphicon-paperclip:before,.runestone-sphinx .glyphicon-paperclip:before{content:"\e142"}.ptx-runestone-container .glyphicon-heart-empty:before,.runestone-sphinx .glyphicon-heart-empty:before{content:"\e143"}.ptx-runestone-container .glyphicon-link:before,.runestone-sphinx .glyphicon-link:before{content:"\e144"}.ptx-runestone-container .glyphicon-phone:before,.runestone-sphinx .glyphicon-phone:before{content:"\e145"}.ptx-runestone-container .glyphicon-pushpin:before,.runestone-sphinx .glyphicon-pushpin:before{content:"\e146"}.ptx-runestone-container .glyphicon-usd:before,.runestone-sphinx .glyphicon-usd:before{content:"\e148"}.ptx-runestone-container .glyphicon-gbp:before,.runestone-sphinx .glyphicon-gbp:before{content:"\e149"}.ptx-runestone-container .glyphicon-sort:before,.runestone-sphinx .glyphicon-sort:before{content:"\e150"}.ptx-runestone-container .glyphicon-sort-by-alphabet:before,.runestone-sphinx .glyphicon-sort-by-alphabet:before{content:"\e151"}.ptx-runestone-container .glyphicon-sort-by-alphabet-alt:before,.runestone-sphinx .glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.ptx-runestone-container .glyphicon-sort-by-order:before,.runestone-sphinx .glyphicon-sort-by-order:before{content:"\e153"}.ptx-runestone-container .glyphicon-sort-by-order-alt:before,.runestone-sphinx .glyphicon-sort-by-order-alt:before{content:"\e154"}.ptx-runestone-container .glyphicon-sort-by-attributes:before,.runestone-sphinx .glyphicon-sort-by-attributes:before{content:"\e155"}.ptx-runestone-container .glyphicon-sort-by-attributes-alt:before,.runestone-sphinx .glyphicon-sort-by-attributes-alt:before{content:"\e156"}.ptx-runestone-container .glyphicon-unchecked:before,.runestone-sphinx .glyphicon-unchecked:before{content:"\e157"}.ptx-runestone-container .glyphicon-expand:before,.runestone-sphinx .glyphicon-expand:before{content:"\e158"}.ptx-runestone-container .glyphicon-collapse-down:before,.runestone-sphinx .glyphicon-collapse-down:before{content:"\e159"}.ptx-runestone-container .glyphicon-collapse-up:before,.runestone-sphinx .glyphicon-collapse-up:before{content:"\e160"}.ptx-runestone-container .glyphicon-log-in:before,.runestone-sphinx .glyphicon-log-in:before{content:"\e161"}.ptx-runestone-container .glyphicon-flash:before,.runestone-sphinx .glyphicon-flash:before{content:"\e162"}.ptx-runestone-container .glyphicon-log-out:before,.runestone-sphinx .glyphicon-log-out:before{content:"\e163"}.ptx-runestone-container .glyphicon-new-window:before,.runestone-sphinx .glyphicon-new-window:before{content:"\e164"}.ptx-runestone-container .glyphicon-record:before,.runestone-sphinx .glyphicon-record:before{content:"\e165"}.ptx-runestone-container .glyphicon-save:before,.runestone-sphinx .glyphicon-save:before{content:"\e166"}.ptx-runestone-container .glyphicon-open:before,.runestone-sphinx .glyphicon-open:before{content:"\e167"}.ptx-runestone-container .glyphicon-saved:before,.runestone-sphinx .glyphicon-saved:before{content:"\e168"}.ptx-runestone-container .glyphicon-import:before,.runestone-sphinx .glyphicon-import:before{content:"\e169"}.ptx-runestone-container .glyphicon-export:before,.runestone-sphinx .glyphicon-export:before{content:"\e170"}.ptx-runestone-container .glyphicon-send:before,.runestone-sphinx .glyphicon-send:before{content:"\e171"}.ptx-runestone-container .glyphicon-floppy-disk:before,.runestone-sphinx .glyphicon-floppy-disk:before{content:"\e172"}.ptx-runestone-container .glyphicon-floppy-saved:before,.runestone-sphinx .glyphicon-floppy-saved:before{content:"\e173"}.ptx-runestone-container .glyphicon-floppy-remove:before,.runestone-sphinx .glyphicon-floppy-remove:before{content:"\e174"}.ptx-runestone-container .glyphicon-floppy-save:before,.runestone-sphinx .glyphicon-floppy-save:before{content:"\e175"}.ptx-runestone-container .glyphicon-floppy-open:before,.runestone-sphinx .glyphicon-floppy-open:before{content:"\e176"}.ptx-runestone-container .glyphicon-credit-card:before,.runestone-sphinx .glyphicon-credit-card:before{content:"\e177"}.ptx-runestone-container .glyphicon-transfer:before,.runestone-sphinx .glyphicon-transfer:before{content:"\e178"}.ptx-runestone-container .glyphicon-cutlery:before,.runestone-sphinx .glyphicon-cutlery:before{content:"\e179"}.ptx-runestone-container .glyphicon-header:before,.runestone-sphinx .glyphicon-header:before{content:"\e180"}.ptx-runestone-container .glyphicon-compressed:before,.runestone-sphinx .glyphicon-compressed:before{content:"\e181"}.ptx-runestone-container .glyphicon-earphone:before,.runestone-sphinx .glyphicon-earphone:before{content:"\e182"}.ptx-runestone-container .glyphicon-phone-alt:before,.runestone-sphinx .glyphicon-phone-alt:before{content:"\e183"}.ptx-runestone-container .glyphicon-tower:before,.runestone-sphinx .glyphicon-tower:before{content:"\e184"}.ptx-runestone-container .glyphicon-stats:before,.runestone-sphinx .glyphicon-stats:before{content:"\e185"}.ptx-runestone-container .glyphicon-sd-video:before,.runestone-sphinx .glyphicon-sd-video:before{content:"\e186"}.ptx-runestone-container .glyphicon-hd-video:before,.runestone-sphinx .glyphicon-hd-video:before{content:"\e187"}.ptx-runestone-container .glyphicon-subtitles:before,.runestone-sphinx .glyphicon-subtitles:before{content:"\e188"}.ptx-runestone-container .glyphicon-sound-stereo:before,.runestone-sphinx .glyphicon-sound-stereo:before{content:"\e189"}.ptx-runestone-container .glyphicon-sound-dolby:before,.runestone-sphinx .glyphicon-sound-dolby:before{content:"\e190"}.ptx-runestone-container .glyphicon-sound-5-1:before,.runestone-sphinx .glyphicon-sound-5-1:before{content:"\e191"}.ptx-runestone-container .glyphicon-sound-6-1:before,.runestone-sphinx .glyphicon-sound-6-1:before{content:"\e192"}.ptx-runestone-container .glyphicon-sound-7-1:before,.runestone-sphinx .glyphicon-sound-7-1:before{content:"\e193"}.ptx-runestone-container .glyphicon-copyright-mark:before,.runestone-sphinx .glyphicon-copyright-mark:before{content:"\e194"}.ptx-runestone-container .glyphicon-registration-mark:before,.runestone-sphinx .glyphicon-registration-mark:before{content:"\e195"}.ptx-runestone-container .glyphicon-cloud-download:before,.runestone-sphinx .glyphicon-cloud-download:before{content:"\e197"}.ptx-runestone-container .glyphicon-cloud-upload:before,.runestone-sphinx .glyphicon-cloud-upload:before{content:"\e198"}.ptx-runestone-container .glyphicon-tree-conifer:before,.runestone-sphinx .glyphicon-tree-conifer:before{content:"\e199"}.ptx-runestone-container .glyphicon-tree-deciduous:before,.runestone-sphinx .glyphicon-tree-deciduous:before{content:"\e200"}.ptx-runestone-container .glyphicon-cd:before,.runestone-sphinx .glyphicon-cd:before{content:"\e201"}.ptx-runestone-container .glyphicon-save-file:before,.runestone-sphinx .glyphicon-save-file:before{content:"\e202"}.ptx-runestone-container .glyphicon-open-file:before,.runestone-sphinx .glyphicon-open-file:before{content:"\e203"}.ptx-runestone-container .glyphicon-level-up:before,.runestone-sphinx .glyphicon-level-up:before{content:"\e204"}.ptx-runestone-container .glyphicon-copy:before,.runestone-sphinx .glyphicon-copy:before{content:"\e205"}.ptx-runestone-container .glyphicon-paste:before,.runestone-sphinx .glyphicon-paste:before{content:"\e206"}.ptx-runestone-container .glyphicon-alert:before,.runestone-sphinx .glyphicon-alert:before{content:"\e209"}.ptx-runestone-container .glyphicon-equalizer:before,.runestone-sphinx .glyphicon-equalizer:before{content:"\e210"}.ptx-runestone-container .glyphicon-king:before,.runestone-sphinx .glyphicon-king:before{content:"\e211"}.ptx-runestone-container .glyphicon-queen:before,.runestone-sphinx .glyphicon-queen:before{content:"\e212"}.ptx-runestone-container .glyphicon-pawn:before,.runestone-sphinx .glyphicon-pawn:before{content:"\e213"}.ptx-runestone-container .glyphicon-bishop:before,.runestone-sphinx .glyphicon-bishop:before{content:"\e214"}.ptx-runestone-container .glyphicon-knight:before,.runestone-sphinx .glyphicon-knight:before{content:"\e215"}.ptx-runestone-container .glyphicon-baby-formula:before,.runestone-sphinx .glyphicon-baby-formula:before{content:"\e216"}.ptx-runestone-container .glyphicon-tent:before,.runestone-sphinx .glyphicon-tent:before{content:"\26fa"}.ptx-runestone-container .glyphicon-blackboard:before,.runestone-sphinx .glyphicon-blackboard:before{content:"\e218"}.ptx-runestone-container .glyphicon-bed:before,.runestone-sphinx .glyphicon-bed:before{content:"\e219"}.ptx-runestone-container .glyphicon-apple:before,.runestone-sphinx .glyphicon-apple:before{content:"\f8ff"}.ptx-runestone-container .glyphicon-erase:before,.runestone-sphinx .glyphicon-erase:before{content:"\e221"}.ptx-runestone-container .glyphicon-hourglass:before,.runestone-sphinx .glyphicon-hourglass:before{content:"\231b"}.ptx-runestone-container .glyphicon-lamp:before,.runestone-sphinx .glyphicon-lamp:before{content:"\e223"}.ptx-runestone-container .glyphicon-duplicate:before,.runestone-sphinx .glyphicon-duplicate:before{content:"\e224"}.ptx-runestone-container .glyphicon-piggy-bank:before,.runestone-sphinx .glyphicon-piggy-bank:before{content:"\e225"}.ptx-runestone-container .glyphicon-scissors:before,.runestone-sphinx .glyphicon-scissors:before{content:"\e226"}.ptx-runestone-container .glyphicon-bitcoin:before,.ptx-runestone-container .glyphicon-btc:before,.ptx-runestone-container .glyphicon-xbt:before,.runestone-sphinx .glyphicon-bitcoin:before,.runestone-sphinx .glyphicon-btc:before,.runestone-sphinx .glyphicon-xbt:before{content:"\e227"}.ptx-runestone-container .glyphicon-jpy:before,.ptx-runestone-container .glyphicon-yen:before,.runestone-sphinx .glyphicon-jpy:before,.runestone-sphinx .glyphicon-yen:before{content:"\00a5"}.ptx-runestone-container .glyphicon-rub:before,.ptx-runestone-container .glyphicon-ruble:before,.runestone-sphinx .glyphicon-rub:before,.runestone-sphinx .glyphicon-ruble:before{content:"\20bd"}.ptx-runestone-container .glyphicon-scale:before,.runestone-sphinx .glyphicon-scale:before{content:"\e230"}.ptx-runestone-container .glyphicon-ice-lolly:before,.runestone-sphinx .glyphicon-ice-lolly:before{content:"\e231"}.ptx-runestone-container .glyphicon-ice-lolly-tasted:before,.runestone-sphinx .glyphicon-ice-lolly-tasted:before{content:"\e232"}.ptx-runestone-container .glyphicon-education:before,.runestone-sphinx .glyphicon-education:before{content:"\e233"}.ptx-runestone-container .glyphicon-option-horizontal:before,.runestone-sphinx .glyphicon-option-horizontal:before{content:"\e234"}.ptx-runestone-container .glyphicon-option-vertical:before,.runestone-sphinx .glyphicon-option-vertical:before{content:"\e235"}.ptx-runestone-container .glyphicon-menu-hamburger:before,.runestone-sphinx .glyphicon-menu-hamburger:before{content:"\e236"}.ptx-runestone-container .glyphicon-modal-window:before,.runestone-sphinx .glyphicon-modal-window:before{content:"\e237"}.ptx-runestone-container .glyphicon-oil:before,.runestone-sphinx .glyphicon-oil:before{content:"\e238"}.ptx-runestone-container .glyphicon-grain:before,.runestone-sphinx .glyphicon-grain:before{content:"\e239"}.ptx-runestone-container .glyphicon-sunglasses:before,.runestone-sphinx .glyphicon-sunglasses:before{content:"\e240"}.ptx-runestone-container .glyphicon-text-size:before,.runestone-sphinx .glyphicon-text-size:before{content:"\e241"}.ptx-runestone-container .glyphicon-text-color:before,.runestone-sphinx .glyphicon-text-color:before{content:"\e242"}.ptx-runestone-container .glyphicon-text-background:before,.runestone-sphinx .glyphicon-text-background:before{content:"\e243"}.ptx-runestone-container .glyphicon-object-align-top:before,.runestone-sphinx .glyphicon-object-align-top:before{content:"\e244"}.ptx-runestone-container .glyphicon-object-align-bottom:before,.runestone-sphinx .glyphicon-object-align-bottom:before{content:"\e245"}.ptx-runestone-container .glyphicon-object-align-horizontal:before,.runestone-sphinx .glyphicon-object-align-horizontal:before{content:"\e246"}.ptx-runestone-container .glyphicon-object-align-left:before,.runestone-sphinx .glyphicon-object-align-left:before{content:"\e247"}.ptx-runestone-container .glyphicon-object-align-vertical:before,.runestone-sphinx .glyphicon-object-align-vertical:before{content:"\e248"}.ptx-runestone-container .glyphicon-object-align-right:before,.runestone-sphinx .glyphicon-object-align-right:before{content:"\e249"}.ptx-runestone-container .glyphicon-triangle-right:before,.runestone-sphinx .glyphicon-triangle-right:before{content:"\e250"}.ptx-runestone-container .glyphicon-triangle-left:before,.runestone-sphinx .glyphicon-triangle-left:before{content:"\e251"}.ptx-runestone-container .glyphicon-triangle-bottom:before,.runestone-sphinx .glyphicon-triangle-bottom:before{content:"\e252"}.ptx-runestone-container .glyphicon-triangle-top:before,.runestone-sphinx .glyphicon-triangle-top:before{content:"\e253"}.ptx-runestone-container .glyphicon-console:before,.runestone-sphinx .glyphicon-console:before{content:"\e254"}.ptx-runestone-container .glyphicon-superscript:before,.runestone-sphinx .glyphicon-superscript:before{content:"\e255"}.ptx-runestone-container .glyphicon-subscript:before,.runestone-sphinx .glyphicon-subscript:before{content:"\e256"}.ptx-runestone-container .glyphicon-menu-left:before,.runestone-sphinx .glyphicon-menu-left:before{content:"\e257"}.ptx-runestone-container .glyphicon-menu-right:before,.runestone-sphinx .glyphicon-menu-right:before{content:"\e258"}.ptx-runestone-container .glyphicon-menu-down:before,.runestone-sphinx .glyphicon-menu-down:before{content:"\e259"}.ptx-runestone-container .glyphicon-menu-up:before,.runestone-sphinx .glyphicon-menu-up:before{content:"\e260"}.ptx-runestone-container *,.ptx-runestone-container :after,.ptx-runestone-container :before,.runestone-sphinx *,.runestone-sphinx :after,.runestone-sphinx :before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ptx-runestone-container html,.runestone-sphinx html{-webkit-tap-highlight-color:rgba(0,0,0,0);font-size:10px}.ptx-runestone-container body,.runestone-sphinx body{background-color:#fff;color:#333;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143}.ptx-runestone-container button,.ptx-runestone-container input,.ptx-runestone-container select,.ptx-runestone-container textarea,.runestone-sphinx button,.runestone-sphinx input,.runestone-sphinx select,.runestone-sphinx textarea{font-family:inherit;font-size:inherit;line-height:inherit}.ptx-runestone-container a,.runestone-sphinx a{color:#337ab7;text-decoration:none}.ptx-runestone-container a:focus,.ptx-runestone-container a:hover,.runestone-sphinx a:focus,.runestone-sphinx a:hover{color:#23527c;text-decoration:underline}.ptx-runestone-container a:focus,.runestone-sphinx a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.ptx-runestone-container figure,.runestone-sphinx figure{margin:0}.ptx-runestone-container img,.runestone-sphinx img{vertical-align:middle}.ptx-runestone-container .carousel-inner>.item>a>img,.ptx-runestone-container .carousel-inner>.item>img,.ptx-runestone-container .img-responsive,.ptx-runestone-container .thumbnail a>img,.ptx-runestone-container .thumbnail>img,.runestone-sphinx .carousel-inner>.item>a>img,.runestone-sphinx .carousel-inner>.item>img,.runestone-sphinx .img-responsive,.runestone-sphinx .thumbnail a>img,.runestone-sphinx .thumbnail>img{display:block;height:auto;max-width:100%}.ptx-runestone-container .img-rounded,.runestone-sphinx .img-rounded{border-radius:6px}.ptx-runestone-container .img-thumbnail,.runestone-sphinx .img-thumbnail{background-color:#fff;border:1px solid #ddd;border-radius:4px;display:inline-block;height:auto;line-height:1.42857143;max-width:100%;padding:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.ptx-runestone-container .img-circle,.runestone-sphinx .img-circle{border-radius:50%}.ptx-runestone-container hr,.runestone-sphinx hr{border:0;border-top:1px solid #eee;margin-bottom:20px;margin-top:20px}.ptx-runestone-container .sr-only,.runestone-sphinx .sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ptx-runestone-container .sr-only-focusable:active,.ptx-runestone-container .sr-only-focusable:focus,.runestone-sphinx .sr-only-focusable:active,.runestone-sphinx .sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.ptx-runestone-container [role=button],.runestone-sphinx [role=button]{cursor:pointer}.ptx-runestone-container .h1,.ptx-runestone-container .h2,.ptx-runestone-container .h3,.ptx-runestone-container .h4,.ptx-runestone-container .h5,.ptx-runestone-container .h6,.ptx-runestone-container h1,.ptx-runestone-container h2,.ptx-runestone-container h3,.ptx-runestone-container h4,.ptx-runestone-container h5,.ptx-runestone-container h6,.runestone-sphinx .h1,.runestone-sphinx .h2,.runestone-sphinx .h3,.runestone-sphinx .h4,.runestone-sphinx .h5,.runestone-sphinx .h6,.runestone-sphinx h1,.runestone-sphinx h2,.runestone-sphinx h3,.runestone-sphinx h4,.runestone-sphinx h5,.runestone-sphinx h6{color:inherit;font-family:inherit;font-weight:500;line-height:1.1}.ptx-runestone-container .h1 .small,.ptx-runestone-container .h1 small,.ptx-runestone-container .h2 .small,.ptx-runestone-container .h2 small,.ptx-runestone-container .h3 .small,.ptx-runestone-container .h3 small,.ptx-runestone-container .h4 .small,.ptx-runestone-container .h4 small,.ptx-runestone-container .h5 .small,.ptx-runestone-container .h5 small,.ptx-runestone-container .h6 .small,.ptx-runestone-container .h6 small,.ptx-runestone-container h1 .small,.ptx-runestone-container h1 small,.ptx-runestone-container h2 .small,.ptx-runestone-container h2 small,.ptx-runestone-container h3 .small,.ptx-runestone-container h3 small,.ptx-runestone-container h4 .small,.ptx-runestone-container h4 small,.ptx-runestone-container h5 .small,.ptx-runestone-container h5 small,.ptx-runestone-container h6 .small,.ptx-runestone-container h6 small,.runestone-sphinx .h1 .small,.runestone-sphinx .h1 small,.runestone-sphinx .h2 .small,.runestone-sphinx .h2 small,.runestone-sphinx .h3 .small,.runestone-sphinx .h3 small,.runestone-sphinx .h4 .small,.runestone-sphinx .h4 small,.runestone-sphinx .h5 .small,.runestone-sphinx .h5 small,.runestone-sphinx .h6 .small,.runestone-sphinx .h6 small,.runestone-sphinx h1 .small,.runestone-sphinx h1 small,.runestone-sphinx h2 .small,.runestone-sphinx h2 small,.runestone-sphinx h3 .small,.runestone-sphinx h3 small,.runestone-sphinx h4 .small,.runestone-sphinx h4 small,.runestone-sphinx h5 .small,.runestone-sphinx h5 small,.runestone-sphinx h6 .small,.runestone-sphinx h6 small{color:#777;font-weight:400;line-height:1}.ptx-runestone-container .h1,.ptx-runestone-container .h2,.ptx-runestone-container .h3,.ptx-runestone-container h1,.ptx-runestone-container h2,.ptx-runestone-container h3,.runestone-sphinx .h1,.runestone-sphinx .h2,.runestone-sphinx .h3,.runestone-sphinx h1,.runestone-sphinx h2,.runestone-sphinx h3{margin-bottom:10px;margin-top:20px}.ptx-runestone-container .h1 .small,.ptx-runestone-container .h1 small,.ptx-runestone-container .h2 .small,.ptx-runestone-container .h2 small,.ptx-runestone-container .h3 .small,.ptx-runestone-container .h3 small,.ptx-runestone-container h1 .small,.ptx-runestone-container h1 small,.ptx-runestone-container h2 .small,.ptx-runestone-container h2 small,.ptx-runestone-container h3 .small,.ptx-runestone-container h3 small,.runestone-sphinx .h1 .small,.runestone-sphinx .h1 small,.runestone-sphinx .h2 .small,.runestone-sphinx .h2 small,.runestone-sphinx .h3 .small,.runestone-sphinx .h3 small,.runestone-sphinx h1 .small,.runestone-sphinx h1 small,.runestone-sphinx h2 .small,.runestone-sphinx h2 small,.runestone-sphinx h3 .small,.runestone-sphinx h3 small{font-size:65%}.ptx-runestone-container .h4,.ptx-runestone-container .h5,.ptx-runestone-container .h6,.ptx-runestone-container h4,.ptx-runestone-container h5,.ptx-runestone-container h6,.runestone-sphinx .h4,.runestone-sphinx .h5,.runestone-sphinx .h6,.runestone-sphinx h4,.runestone-sphinx h5,.runestone-sphinx h6{margin-bottom:10px;margin-top:10px}.ptx-runestone-container .h4 .small,.ptx-runestone-container .h4 small,.ptx-runestone-container .h5 .small,.ptx-runestone-container .h5 small,.ptx-runestone-container .h6 .small,.ptx-runestone-container .h6 small,.ptx-runestone-container h4 .small,.ptx-runestone-container h4 small,.ptx-runestone-container h5 .small,.ptx-runestone-container h5 small,.ptx-runestone-container h6 .small,.ptx-runestone-container h6 small,.runestone-sphinx .h4 .small,.runestone-sphinx .h4 small,.runestone-sphinx .h5 .small,.runestone-sphinx .h5 small,.runestone-sphinx .h6 .small,.runestone-sphinx .h6 small,.runestone-sphinx h4 .small,.runestone-sphinx h4 small,.runestone-sphinx h5 .small,.runestone-sphinx h5 small,.runestone-sphinx h6 .small,.runestone-sphinx h6 small{font-size:75%}.ptx-runestone-container .h1,.ptx-runestone-container h1,.runestone-sphinx .h1,.runestone-sphinx h1{font-size:36px}.ptx-runestone-container .h2,.ptx-runestone-container h2,.runestone-sphinx .h2,.runestone-sphinx h2{font-size:30px}.ptx-runestone-container .h3,.ptx-runestone-container h3,.runestone-sphinx .h3,.runestone-sphinx h3{font-size:24px}.ptx-runestone-container .h4,.ptx-runestone-container h4,.runestone-sphinx .h4,.runestone-sphinx h4{font-size:18px}.ptx-runestone-container .h5,.ptx-runestone-container h5,.runestone-sphinx .h5,.runestone-sphinx h5{font-size:14px}.ptx-runestone-container .h6,.ptx-runestone-container h6,.runestone-sphinx .h6,.runestone-sphinx h6{font-size:12px}.ptx-runestone-container p,.runestone-sphinx p{margin:0 0 10px}.ptx-runestone-container .lead,.runestone-sphinx .lead{font-size:16px;font-weight:300;line-height:1.4;margin-bottom:20px}@media (min-width:768px){.ptx-runestone-container .lead,.runestone-sphinx .lead{font-size:21px}}.ptx-runestone-container .small,.ptx-runestone-container small,.runestone-sphinx .small,.runestone-sphinx small{font-size:85%}.ptx-runestone-container .mark,.ptx-runestone-container mark,.runestone-sphinx .mark,.runestone-sphinx mark{background-color:#fcf8e3;padding:.2em}.ptx-runestone-container .text-left,.runestone-sphinx .text-left{text-align:left}.ptx-runestone-container .text-right,.runestone-sphinx .text-right{text-align:right}.ptx-runestone-container .text-center,.runestone-sphinx .text-center{text-align:center}.ptx-runestone-container .text-justify,.runestone-sphinx .text-justify{text-align:justify}.ptx-runestone-container .text-nowrap,.runestone-sphinx .text-nowrap{white-space:nowrap}.ptx-runestone-container .text-lowercase,.runestone-sphinx .text-lowercase{text-transform:lowercase}.ptx-runestone-container .text-uppercase,.runestone-sphinx .text-uppercase{text-transform:uppercase}.ptx-runestone-container .text-capitalize,.runestone-sphinx .text-capitalize{text-transform:capitalize}.ptx-runestone-container .text-muted,.runestone-sphinx .text-muted{color:#777}.ptx-runestone-container .text-primary,.runestone-sphinx .text-primary{color:#337ab7}.ptx-runestone-container a.text-primary:focus,.ptx-runestone-container a.text-primary:hover,.runestone-sphinx a.text-primary:focus,.runestone-sphinx a.text-primary:hover{color:#286090}.ptx-runestone-container .text-success,.runestone-sphinx .text-success{color:#3c763d}.ptx-runestone-container a.text-success:focus,.ptx-runestone-container a.text-success:hover,.runestone-sphinx a.text-success:focus,.runestone-sphinx a.text-success:hover{color:#2b542c}.ptx-runestone-container .text-info,.runestone-sphinx .text-info{color:#31708f}.ptx-runestone-container a.text-info:focus,.ptx-runestone-container a.text-info:hover,.runestone-sphinx a.text-info:focus,.runestone-sphinx a.text-info:hover{color:#245269}.ptx-runestone-container .text-warning,.runestone-sphinx .text-warning{color:#8a6d3b}.ptx-runestone-container a.text-warning:focus,.ptx-runestone-container a.text-warning:hover,.runestone-sphinx a.text-warning:focus,.runestone-sphinx a.text-warning:hover{color:#66512c}.ptx-runestone-container .text-danger,.runestone-sphinx .text-danger{color:#a94442}.ptx-runestone-container a.text-danger:focus,.ptx-runestone-container a.text-danger:hover,.runestone-sphinx a.text-danger:focus,.runestone-sphinx a.text-danger:hover{color:#843534}.ptx-runestone-container .bg-primary,.runestone-sphinx .bg-primary{background-color:#337ab7;color:#fff}.ptx-runestone-container a.bg-primary:focus,.ptx-runestone-container a.bg-primary:hover,.runestone-sphinx a.bg-primary:focus,.runestone-sphinx a.bg-primary:hover{background-color:#286090}.ptx-runestone-container .bg-success,.runestone-sphinx .bg-success{background-color:#dff0d8}.ptx-runestone-container a.bg-success:focus,.ptx-runestone-container a.bg-success:hover,.runestone-sphinx a.bg-success:focus,.runestone-sphinx a.bg-success:hover{background-color:#c1e2b3}.ptx-runestone-container .bg-info,.runestone-sphinx .bg-info{background-color:#d9edf7}.ptx-runestone-container a.bg-info:focus,.ptx-runestone-container a.bg-info:hover,.runestone-sphinx a.bg-info:focus,.runestone-sphinx a.bg-info:hover{background-color:#afd9ee}.ptx-runestone-container .bg-warning,.runestone-sphinx .bg-warning{background-color:#fcf8e3}.ptx-runestone-container a.bg-warning:focus,.ptx-runestone-container a.bg-warning:hover,.runestone-sphinx a.bg-warning:focus,.runestone-sphinx a.bg-warning:hover{background-color:#f7ecb5}.ptx-runestone-container .bg-danger,.runestone-sphinx .bg-danger{background-color:#f2dede}.ptx-runestone-container a.bg-danger:focus,.ptx-runestone-container a.bg-danger:hover,.runestone-sphinx a.bg-danger:focus,.runestone-sphinx a.bg-danger:hover{background-color:#e4b9b9}.ptx-runestone-container .page-header,.runestone-sphinx .page-header{border-bottom:1px solid #eee;margin:40px 0 20px;padding-bottom:9px}.ptx-runestone-container ol,.ptx-runestone-container ul,.runestone-sphinx ol,.runestone-sphinx ul{margin-bottom:10px;margin-top:0}.ptx-runestone-container ol ol,.ptx-runestone-container ol ul,.ptx-runestone-container ul ol,.ptx-runestone-container ul ul,.runestone-sphinx ol ol,.runestone-sphinx ol ul,.runestone-sphinx ul ol,.runestone-sphinx ul ul{margin-bottom:0}.ptx-runestone-container .list-unstyled,.runestone-sphinx .list-unstyled{list-style:none;padding-left:0}.ptx-runestone-container .list-inline,.runestone-sphinx .list-inline{list-style:none;margin-left:-5px;padding-left:0}.ptx-runestone-container .list-inline>li,.runestone-sphinx .list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}.ptx-runestone-container dl,.runestone-sphinx dl{margin-bottom:20px;margin-top:0}.ptx-runestone-container dd,.ptx-runestone-container dt,.runestone-sphinx dd,.runestone-sphinx dt{line-height:1.42857143}.ptx-runestone-container dt,.runestone-sphinx dt{font-weight:700}.ptx-runestone-container dd,.runestone-sphinx dd{margin-left:0}@media (min-width:768px){.ptx-runestone-container .dl-horizontal dt,.runestone-sphinx .dl-horizontal dt{clear:left;float:left;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap;width:160px}.ptx-runestone-container .dl-horizontal dd,.runestone-sphinx .dl-horizontal dd{margin-left:180px}}.ptx-runestone-container abbr[data-original-title],.ptx-runestone-container abbr[title],.runestone-sphinx abbr[data-original-title],.runestone-sphinx abbr[title]{cursor:help}.ptx-runestone-container .initialism,.runestone-sphinx .initialism{font-size:90%;text-transform:uppercase}.ptx-runestone-container blockquote,.runestone-sphinx blockquote{border-left:5px solid #eee;font-size:17.5px;margin:0 0 20px;padding:10px 20px}.ptx-runestone-container blockquote ol:last-child,.ptx-runestone-container blockquote p:last-child,.ptx-runestone-container blockquote ul:last-child,.runestone-sphinx blockquote ol:last-child,.runestone-sphinx blockquote p:last-child,.runestone-sphinx blockquote ul:last-child{margin-bottom:0}.ptx-runestone-container blockquote .small,.ptx-runestone-container blockquote footer,.ptx-runestone-container blockquote small,.runestone-sphinx blockquote .small,.runestone-sphinx blockquote footer,.runestone-sphinx blockquote small{color:#777;display:block;font-size:80%;line-height:1.42857143}.ptx-runestone-container blockquote .small:before,.ptx-runestone-container blockquote footer:before,.ptx-runestone-container blockquote small:before,.runestone-sphinx blockquote .small:before,.runestone-sphinx blockquote footer:before,.runestone-sphinx blockquote small:before{content:"\2014 \00A0"}.ptx-runestone-container .blockquote-reverse,.ptx-runestone-container blockquote.pull-right,.runestone-sphinx .blockquote-reverse,.runestone-sphinx blockquote.pull-right{border-left:0;border-right:5px solid #eee;padding-left:0;padding-right:15px;text-align:right}.ptx-runestone-container .blockquote-reverse .small:before,.ptx-runestone-container .blockquote-reverse footer:before,.ptx-runestone-container .blockquote-reverse small:before,.ptx-runestone-container blockquote.pull-right .small:before,.ptx-runestone-container blockquote.pull-right footer:before,.ptx-runestone-container blockquote.pull-right small:before,.runestone-sphinx .blockquote-reverse .small:before,.runestone-sphinx .blockquote-reverse footer:before,.runestone-sphinx .blockquote-reverse small:before,.runestone-sphinx blockquote.pull-right .small:before,.runestone-sphinx blockquote.pull-right footer:before,.runestone-sphinx blockquote.pull-right small:before{content:""}.ptx-runestone-container .blockquote-reverse .small:after,.ptx-runestone-container .blockquote-reverse footer:after,.ptx-runestone-container .blockquote-reverse small:after,.ptx-runestone-container blockquote.pull-right .small:after,.ptx-runestone-container blockquote.pull-right footer:after,.ptx-runestone-container blockquote.pull-right small:after,.runestone-sphinx .blockquote-reverse .small:after,.runestone-sphinx .blockquote-reverse footer:after,.runestone-sphinx .blockquote-reverse small:after,.runestone-sphinx blockquote.pull-right .small:after,.runestone-sphinx blockquote.pull-right footer:after,.runestone-sphinx blockquote.pull-right small:after{content:"\00A0 \2014"}.ptx-runestone-container address,.runestone-sphinx address{font-style:normal;line-height:1.42857143;margin-bottom:20px}.ptx-runestone-container code,.ptx-runestone-container kbd,.ptx-runestone-container pre,.ptx-runestone-container samp,.runestone-sphinx code,.runestone-sphinx kbd,.runestone-sphinx pre,.runestone-sphinx samp{font-family:Menlo,Monaco,Consolas,Courier New,monospace}.ptx-runestone-container code,.runestone-sphinx code{background-color:#f9f2f4;border-radius:4px;color:#c7254e;font-size:90%;padding:2px 4px}.ptx-runestone-container kbd,.runestone-sphinx kbd{background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);color:#fff;font-size:90%;padding:2px 4px}.ptx-runestone-container kbd kbd,.runestone-sphinx kbd kbd{-webkit-box-shadow:none;box-shadow:none;font-size:100%;font-weight:700;padding:0}.ptx-runestone-container pre,.runestone-sphinx pre{word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px;color:#333;display:block;font-size:13px;line-height:1.42857143;margin:0 0 10px;padding:9.5px;word-break:break-all}.ptx-runestone-container pre code,.runestone-sphinx pre code{background-color:transparent;border-radius:0;color:inherit;font-size:inherit;padding:0;white-space:pre-wrap}.ptx-runestone-container .pre-scrollable,.runestone-sphinx .pre-scrollable{max-height:340px;overflow-y:scroll}.ptx-runestone-container .container,.runestone-sphinx .container{margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.ptx-runestone-container .container,.runestone-sphinx .container{width:750px}}@media (min-width:992px){.ptx-runestone-container .container,.runestone-sphinx .container{width:970px}}@media (min-width:1200px){.ptx-runestone-container .container,.runestone-sphinx .container{width:1170px}}.ptx-runestone-container .container-fluid,.runestone-sphinx .container-fluid{margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px}.ptx-runestone-container .row,.runestone-sphinx .row{margin-left:-15px;margin-right:-15px}.ptx-runestone-container .row-no-gutters,.runestone-sphinx .row-no-gutters{margin-left:0;margin-right:0}.ptx-runestone-container .row-no-gutters [class*=col-],.runestone-sphinx .row-no-gutters [class*=col-]{padding-left:0;padding-right:0}.ptx-runestone-container .col-lg-1,.ptx-runestone-container .col-lg-10,.ptx-runestone-container .col-lg-11,.ptx-runestone-container .col-lg-12,.ptx-runestone-container .col-lg-2,.ptx-runestone-container .col-lg-3,.ptx-runestone-container .col-lg-4,.ptx-runestone-container .col-lg-5,.ptx-runestone-container .col-lg-6,.ptx-runestone-container .col-lg-7,.ptx-runestone-container .col-lg-8,.ptx-runestone-container .col-lg-9,.ptx-runestone-container .col-md-1,.ptx-runestone-container .col-md-10,.ptx-runestone-container .col-md-11,.ptx-runestone-container .col-md-12,.ptx-runestone-container .col-md-2,.ptx-runestone-container .col-md-3,.ptx-runestone-container .col-md-4,.ptx-runestone-container .col-md-5,.ptx-runestone-container .col-md-6,.ptx-runestone-container .col-md-7,.ptx-runestone-container .col-md-8,.ptx-runestone-container .col-md-9,.ptx-runestone-container .col-sm-1,.ptx-runestone-container .col-sm-10,.ptx-runestone-container .col-sm-11,.ptx-runestone-container .col-sm-12,.ptx-runestone-container .col-sm-2,.ptx-runestone-container .col-sm-3,.ptx-runestone-container .col-sm-4,.ptx-runestone-container .col-sm-5,.ptx-runestone-container .col-sm-6,.ptx-runestone-container .col-sm-7,.ptx-runestone-container .col-sm-8,.ptx-runestone-container .col-sm-9,.ptx-runestone-container .col-xs-1,.ptx-runestone-container .col-xs-10,.ptx-runestone-container .col-xs-11,.ptx-runestone-container .col-xs-12,.ptx-runestone-container .col-xs-2,.ptx-runestone-container .col-xs-3,.ptx-runestone-container .col-xs-4,.ptx-runestone-container .col-xs-5,.ptx-runestone-container .col-xs-6,.ptx-runestone-container .col-xs-7,.ptx-runestone-container .col-xs-8,.ptx-runestone-container .col-xs-9,.runestone-sphinx .col-lg-1,.runestone-sphinx .col-lg-10,.runestone-sphinx .col-lg-11,.runestone-sphinx .col-lg-12,.runestone-sphinx .col-lg-2,.runestone-sphinx .col-lg-3,.runestone-sphinx .col-lg-4,.runestone-sphinx .col-lg-5,.runestone-sphinx .col-lg-6,.runestone-sphinx .col-lg-7,.runestone-sphinx .col-lg-8,.runestone-sphinx .col-lg-9,.runestone-sphinx .col-md-1,.runestone-sphinx .col-md-10,.runestone-sphinx .col-md-11,.runestone-sphinx .col-md-12,.runestone-sphinx .col-md-2,.runestone-sphinx .col-md-3,.runestone-sphinx .col-md-4,.runestone-sphinx .col-md-5,.runestone-sphinx .col-md-6,.runestone-sphinx .col-md-7,.runestone-sphinx .col-md-8,.runestone-sphinx .col-md-9,.runestone-sphinx .col-sm-1,.runestone-sphinx .col-sm-10,.runestone-sphinx .col-sm-11,.runestone-sphinx .col-sm-12,.runestone-sphinx .col-sm-2,.runestone-sphinx .col-sm-3,.runestone-sphinx .col-sm-4,.runestone-sphinx .col-sm-5,.runestone-sphinx .col-sm-6,.runestone-sphinx .col-sm-7,.runestone-sphinx .col-sm-8,.runestone-sphinx .col-sm-9,.runestone-sphinx .col-xs-1,.runestone-sphinx .col-xs-10,.runestone-sphinx .col-xs-11,.runestone-sphinx .col-xs-12,.runestone-sphinx .col-xs-2,.runestone-sphinx .col-xs-3,.runestone-sphinx .col-xs-4,.runestone-sphinx .col-xs-5,.runestone-sphinx .col-xs-6,.runestone-sphinx .col-xs-7,.runestone-sphinx .col-xs-8,.runestone-sphinx .col-xs-9{min-height:1px;padding-left:15px;padding-right:15px;position:relative}.ptx-runestone-container .col-xs-1,.ptx-runestone-container .col-xs-10,.ptx-runestone-container .col-xs-11,.ptx-runestone-container .col-xs-12,.ptx-runestone-container .col-xs-2,.ptx-runestone-container .col-xs-3,.ptx-runestone-container .col-xs-4,.ptx-runestone-container .col-xs-5,.ptx-runestone-container .col-xs-6,.ptx-runestone-container .col-xs-7,.ptx-runestone-container .col-xs-8,.ptx-runestone-container .col-xs-9,.runestone-sphinx .col-xs-1,.runestone-sphinx .col-xs-10,.runestone-sphinx .col-xs-11,.runestone-sphinx .col-xs-12,.runestone-sphinx .col-xs-2,.runestone-sphinx .col-xs-3,.runestone-sphinx .col-xs-4,.runestone-sphinx .col-xs-5,.runestone-sphinx .col-xs-6,.runestone-sphinx .col-xs-7,.runestone-sphinx .col-xs-8,.runestone-sphinx .col-xs-9{float:left}.ptx-runestone-container .col-xs-12,.runestone-sphinx .col-xs-12{width:100%}.ptx-runestone-container .col-xs-11,.runestone-sphinx .col-xs-11{width:91.66666667%}.ptx-runestone-container .col-xs-10,.runestone-sphinx .col-xs-10{width:83.33333333%}.ptx-runestone-container .col-xs-9,.runestone-sphinx .col-xs-9{width:75%}.ptx-runestone-container .col-xs-8,.runestone-sphinx .col-xs-8{width:66.66666667%}.ptx-runestone-container .col-xs-7,.runestone-sphinx .col-xs-7{width:58.33333333%}.ptx-runestone-container .col-xs-6,.runestone-sphinx .col-xs-6{width:50%}.ptx-runestone-container .col-xs-5,.runestone-sphinx .col-xs-5{width:41.66666667%}.ptx-runestone-container .col-xs-4,.runestone-sphinx .col-xs-4{width:33.33333333%}.ptx-runestone-container .col-xs-3,.runestone-sphinx .col-xs-3{width:25%}.ptx-runestone-container .col-xs-2,.runestone-sphinx .col-xs-2{width:16.66666667%}.ptx-runestone-container .col-xs-1,.runestone-sphinx .col-xs-1{width:8.33333333%}.ptx-runestone-container .col-xs-pull-12,.runestone-sphinx .col-xs-pull-12{right:100%}.ptx-runestone-container .col-xs-pull-11,.runestone-sphinx .col-xs-pull-11{right:91.66666667%}.ptx-runestone-container .col-xs-pull-10,.runestone-sphinx .col-xs-pull-10{right:83.33333333%}.ptx-runestone-container .col-xs-pull-9,.runestone-sphinx .col-xs-pull-9{right:75%}.ptx-runestone-container .col-xs-pull-8,.runestone-sphinx .col-xs-pull-8{right:66.66666667%}.ptx-runestone-container .col-xs-pull-7,.runestone-sphinx .col-xs-pull-7{right:58.33333333%}.ptx-runestone-container .col-xs-pull-6,.runestone-sphinx .col-xs-pull-6{right:50%}.ptx-runestone-container .col-xs-pull-5,.runestone-sphinx .col-xs-pull-5{right:41.66666667%}.ptx-runestone-container .col-xs-pull-4,.runestone-sphinx .col-xs-pull-4{right:33.33333333%}.ptx-runestone-container .col-xs-pull-3,.runestone-sphinx .col-xs-pull-3{right:25%}.ptx-runestone-container .col-xs-pull-2,.runestone-sphinx .col-xs-pull-2{right:16.66666667%}.ptx-runestone-container .col-xs-pull-1,.runestone-sphinx .col-xs-pull-1{right:8.33333333%}.ptx-runestone-container .col-xs-pull-0,.runestone-sphinx .col-xs-pull-0{right:auto}.ptx-runestone-container .col-xs-push-12,.runestone-sphinx .col-xs-push-12{left:100%}.ptx-runestone-container .col-xs-push-11,.runestone-sphinx .col-xs-push-11{left:91.66666667%}.ptx-runestone-container .col-xs-push-10,.runestone-sphinx .col-xs-push-10{left:83.33333333%}.ptx-runestone-container .col-xs-push-9,.runestone-sphinx .col-xs-push-9{left:75%}.ptx-runestone-container .col-xs-push-8,.runestone-sphinx .col-xs-push-8{left:66.66666667%}.ptx-runestone-container .col-xs-push-7,.runestone-sphinx .col-xs-push-7{left:58.33333333%}.ptx-runestone-container .col-xs-push-6,.runestone-sphinx .col-xs-push-6{left:50%}.ptx-runestone-container .col-xs-push-5,.runestone-sphinx .col-xs-push-5{left:41.66666667%}.ptx-runestone-container .col-xs-push-4,.runestone-sphinx .col-xs-push-4{left:33.33333333%}.ptx-runestone-container .col-xs-push-3,.runestone-sphinx .col-xs-push-3{left:25%}.ptx-runestone-container .col-xs-push-2,.runestone-sphinx .col-xs-push-2{left:16.66666667%}.ptx-runestone-container .col-xs-push-1,.runestone-sphinx .col-xs-push-1{left:8.33333333%}.ptx-runestone-container .col-xs-push-0,.runestone-sphinx .col-xs-push-0{left:auto}.ptx-runestone-container .col-xs-offset-12,.runestone-sphinx .col-xs-offset-12{margin-left:100%}.ptx-runestone-container .col-xs-offset-11,.runestone-sphinx .col-xs-offset-11{margin-left:91.66666667%}.ptx-runestone-container .col-xs-offset-10,.runestone-sphinx .col-xs-offset-10{margin-left:83.33333333%}.ptx-runestone-container .col-xs-offset-9,.runestone-sphinx .col-xs-offset-9{margin-left:75%}.ptx-runestone-container .col-xs-offset-8,.runestone-sphinx .col-xs-offset-8{margin-left:66.66666667%}.ptx-runestone-container .col-xs-offset-7,.runestone-sphinx .col-xs-offset-7{margin-left:58.33333333%}.ptx-runestone-container .col-xs-offset-6,.runestone-sphinx .col-xs-offset-6{margin-left:50%}.ptx-runestone-container .col-xs-offset-5,.runestone-sphinx .col-xs-offset-5{margin-left:41.66666667%}.ptx-runestone-container .col-xs-offset-4,.runestone-sphinx .col-xs-offset-4{margin-left:33.33333333%}.ptx-runestone-container .col-xs-offset-3,.runestone-sphinx .col-xs-offset-3{margin-left:25%}.ptx-runestone-container .col-xs-offset-2,.runestone-sphinx .col-xs-offset-2{margin-left:16.66666667%}.ptx-runestone-container .col-xs-offset-1,.runestone-sphinx .col-xs-offset-1{margin-left:8.33333333%}.ptx-runestone-container .col-xs-offset-0,.runestone-sphinx .col-xs-offset-0{margin-left:0}@media (min-width:768px){.ptx-runestone-container .col-sm-1,.ptx-runestone-container .col-sm-10,.ptx-runestone-container .col-sm-11,.ptx-runestone-container .col-sm-12,.ptx-runestone-container .col-sm-2,.ptx-runestone-container .col-sm-3,.ptx-runestone-container .col-sm-4,.ptx-runestone-container .col-sm-5,.ptx-runestone-container .col-sm-6,.ptx-runestone-container .col-sm-7,.ptx-runestone-container .col-sm-8,.ptx-runestone-container .col-sm-9,.runestone-sphinx .col-sm-1,.runestone-sphinx .col-sm-10,.runestone-sphinx .col-sm-11,.runestone-sphinx .col-sm-12,.runestone-sphinx .col-sm-2,.runestone-sphinx .col-sm-3,.runestone-sphinx .col-sm-4,.runestone-sphinx .col-sm-5,.runestone-sphinx .col-sm-6,.runestone-sphinx .col-sm-7,.runestone-sphinx .col-sm-8,.runestone-sphinx .col-sm-9{float:left}.ptx-runestone-container .col-sm-12,.runestone-sphinx .col-sm-12{width:100%}.ptx-runestone-container .col-sm-11,.runestone-sphinx .col-sm-11{width:91.66666667%}.ptx-runestone-container .col-sm-10,.runestone-sphinx .col-sm-10{width:83.33333333%}.ptx-runestone-container .col-sm-9,.runestone-sphinx .col-sm-9{width:75%}.ptx-runestone-container .col-sm-8,.runestone-sphinx .col-sm-8{width:66.66666667%}.ptx-runestone-container .col-sm-7,.runestone-sphinx .col-sm-7{width:58.33333333%}.ptx-runestone-container .col-sm-6,.runestone-sphinx .col-sm-6{width:50%}.ptx-runestone-container .col-sm-5,.runestone-sphinx .col-sm-5{width:41.66666667%}.ptx-runestone-container .col-sm-4,.runestone-sphinx .col-sm-4{width:33.33333333%}.ptx-runestone-container .col-sm-3,.runestone-sphinx .col-sm-3{width:25%}.ptx-runestone-container .col-sm-2,.runestone-sphinx .col-sm-2{width:16.66666667%}.ptx-runestone-container .col-sm-1,.runestone-sphinx .col-sm-1{width:8.33333333%}.ptx-runestone-container .col-sm-pull-12,.runestone-sphinx .col-sm-pull-12{right:100%}.ptx-runestone-container .col-sm-pull-11,.runestone-sphinx .col-sm-pull-11{right:91.66666667%}.ptx-runestone-container .col-sm-pull-10,.runestone-sphinx .col-sm-pull-10{right:83.33333333%}.ptx-runestone-container .col-sm-pull-9,.runestone-sphinx .col-sm-pull-9{right:75%}.ptx-runestone-container .col-sm-pull-8,.runestone-sphinx .col-sm-pull-8{right:66.66666667%}.ptx-runestone-container .col-sm-pull-7,.runestone-sphinx .col-sm-pull-7{right:58.33333333%}.ptx-runestone-container .col-sm-pull-6,.runestone-sphinx .col-sm-pull-6{right:50%}.ptx-runestone-container .col-sm-pull-5,.runestone-sphinx .col-sm-pull-5{right:41.66666667%}.ptx-runestone-container .col-sm-pull-4,.runestone-sphinx .col-sm-pull-4{right:33.33333333%}.ptx-runestone-container .col-sm-pull-3,.runestone-sphinx .col-sm-pull-3{right:25%}.ptx-runestone-container .col-sm-pull-2,.runestone-sphinx .col-sm-pull-2{right:16.66666667%}.ptx-runestone-container .col-sm-pull-1,.runestone-sphinx .col-sm-pull-1{right:8.33333333%}.ptx-runestone-container .col-sm-pull-0,.runestone-sphinx .col-sm-pull-0{right:auto}.ptx-runestone-container .col-sm-push-12,.runestone-sphinx .col-sm-push-12{left:100%}.ptx-runestone-container .col-sm-push-11,.runestone-sphinx .col-sm-push-11{left:91.66666667%}.ptx-runestone-container .col-sm-push-10,.runestone-sphinx .col-sm-push-10{left:83.33333333%}.ptx-runestone-container .col-sm-push-9,.runestone-sphinx .col-sm-push-9{left:75%}.ptx-runestone-container .col-sm-push-8,.runestone-sphinx .col-sm-push-8{left:66.66666667%}.ptx-runestone-container .col-sm-push-7,.runestone-sphinx .col-sm-push-7{left:58.33333333%}.ptx-runestone-container .col-sm-push-6,.runestone-sphinx .col-sm-push-6{left:50%}.ptx-runestone-container .col-sm-push-5,.runestone-sphinx .col-sm-push-5{left:41.66666667%}.ptx-runestone-container .col-sm-push-4,.runestone-sphinx .col-sm-push-4{left:33.33333333%}.ptx-runestone-container .col-sm-push-3,.runestone-sphinx .col-sm-push-3{left:25%}.ptx-runestone-container .col-sm-push-2,.runestone-sphinx .col-sm-push-2{left:16.66666667%}.ptx-runestone-container .col-sm-push-1,.runestone-sphinx .col-sm-push-1{left:8.33333333%}.ptx-runestone-container .col-sm-push-0,.runestone-sphinx .col-sm-push-0{left:auto}.ptx-runestone-container .col-sm-offset-12,.runestone-sphinx .col-sm-offset-12{margin-left:100%}.ptx-runestone-container .col-sm-offset-11,.runestone-sphinx .col-sm-offset-11{margin-left:91.66666667%}.ptx-runestone-container .col-sm-offset-10,.runestone-sphinx .col-sm-offset-10{margin-left:83.33333333%}.ptx-runestone-container .col-sm-offset-9,.runestone-sphinx .col-sm-offset-9{margin-left:75%}.ptx-runestone-container .col-sm-offset-8,.runestone-sphinx .col-sm-offset-8{margin-left:66.66666667%}.ptx-runestone-container .col-sm-offset-7,.runestone-sphinx .col-sm-offset-7{margin-left:58.33333333%}.ptx-runestone-container .col-sm-offset-6,.runestone-sphinx .col-sm-offset-6{margin-left:50%}.ptx-runestone-container .col-sm-offset-5,.runestone-sphinx .col-sm-offset-5{margin-left:41.66666667%}.ptx-runestone-container .col-sm-offset-4,.runestone-sphinx .col-sm-offset-4{margin-left:33.33333333%}.ptx-runestone-container .col-sm-offset-3,.runestone-sphinx .col-sm-offset-3{margin-left:25%}.ptx-runestone-container .col-sm-offset-2,.runestone-sphinx .col-sm-offset-2{margin-left:16.66666667%}.ptx-runestone-container .col-sm-offset-1,.runestone-sphinx .col-sm-offset-1{margin-left:8.33333333%}.ptx-runestone-container .col-sm-offset-0,.runestone-sphinx .col-sm-offset-0{margin-left:0}}@media (min-width:992px){.ptx-runestone-container .col-md-1,.ptx-runestone-container .col-md-10,.ptx-runestone-container .col-md-11,.ptx-runestone-container .col-md-12,.ptx-runestone-container .col-md-2,.ptx-runestone-container .col-md-3,.ptx-runestone-container .col-md-4,.ptx-runestone-container .col-md-5,.ptx-runestone-container .col-md-6,.ptx-runestone-container .col-md-7,.ptx-runestone-container .col-md-8,.ptx-runestone-container .col-md-9,.runestone-sphinx .col-md-1,.runestone-sphinx .col-md-10,.runestone-sphinx .col-md-11,.runestone-sphinx .col-md-12,.runestone-sphinx .col-md-2,.runestone-sphinx .col-md-3,.runestone-sphinx .col-md-4,.runestone-sphinx .col-md-5,.runestone-sphinx .col-md-6,.runestone-sphinx .col-md-7,.runestone-sphinx .col-md-8,.runestone-sphinx .col-md-9{float:left}.ptx-runestone-container .col-md-12,.runestone-sphinx .col-md-12{width:100%}.ptx-runestone-container .col-md-11,.runestone-sphinx .col-md-11{width:91.66666667%}.ptx-runestone-container .col-md-10,.runestone-sphinx .col-md-10{width:83.33333333%}.ptx-runestone-container .col-md-9,.runestone-sphinx .col-md-9{width:75%}.ptx-runestone-container .col-md-8,.runestone-sphinx .col-md-8{width:66.66666667%}.ptx-runestone-container .col-md-7,.runestone-sphinx .col-md-7{width:58.33333333%}.ptx-runestone-container .col-md-6,.runestone-sphinx .col-md-6{width:50%}.ptx-runestone-container .col-md-5,.runestone-sphinx .col-md-5{width:41.66666667%}.ptx-runestone-container .col-md-4,.runestone-sphinx .col-md-4{width:33.33333333%}.ptx-runestone-container .col-md-3,.runestone-sphinx .col-md-3{width:25%}.ptx-runestone-container .col-md-2,.runestone-sphinx .col-md-2{width:16.66666667%}.ptx-runestone-container .col-md-1,.runestone-sphinx .col-md-1{width:8.33333333%}.ptx-runestone-container .col-md-pull-12,.runestone-sphinx .col-md-pull-12{right:100%}.ptx-runestone-container .col-md-pull-11,.runestone-sphinx .col-md-pull-11{right:91.66666667%}.ptx-runestone-container .col-md-pull-10,.runestone-sphinx .col-md-pull-10{right:83.33333333%}.ptx-runestone-container .col-md-pull-9,.runestone-sphinx .col-md-pull-9{right:75%}.ptx-runestone-container .col-md-pull-8,.runestone-sphinx .col-md-pull-8{right:66.66666667%}.ptx-runestone-container .col-md-pull-7,.runestone-sphinx .col-md-pull-7{right:58.33333333%}.ptx-runestone-container .col-md-pull-6,.runestone-sphinx .col-md-pull-6{right:50%}.ptx-runestone-container .col-md-pull-5,.runestone-sphinx .col-md-pull-5{right:41.66666667%}.ptx-runestone-container .col-md-pull-4,.runestone-sphinx .col-md-pull-4{right:33.33333333%}.ptx-runestone-container .col-md-pull-3,.runestone-sphinx .col-md-pull-3{right:25%}.ptx-runestone-container .col-md-pull-2,.runestone-sphinx .col-md-pull-2{right:16.66666667%}.ptx-runestone-container .col-md-pull-1,.runestone-sphinx .col-md-pull-1{right:8.33333333%}.ptx-runestone-container .col-md-pull-0,.runestone-sphinx .col-md-pull-0{right:auto}.ptx-runestone-container .col-md-push-12,.runestone-sphinx .col-md-push-12{left:100%}.ptx-runestone-container .col-md-push-11,.runestone-sphinx .col-md-push-11{left:91.66666667%}.ptx-runestone-container .col-md-push-10,.runestone-sphinx .col-md-push-10{left:83.33333333%}.ptx-runestone-container .col-md-push-9,.runestone-sphinx .col-md-push-9{left:75%}.ptx-runestone-container .col-md-push-8,.runestone-sphinx .col-md-push-8{left:66.66666667%}.ptx-runestone-container .col-md-push-7,.runestone-sphinx .col-md-push-7{left:58.33333333%}.ptx-runestone-container .col-md-push-6,.runestone-sphinx .col-md-push-6{left:50%}.ptx-runestone-container .col-md-push-5,.runestone-sphinx .col-md-push-5{left:41.66666667%}.ptx-runestone-container .col-md-push-4,.runestone-sphinx .col-md-push-4{left:33.33333333%}.ptx-runestone-container .col-md-push-3,.runestone-sphinx .col-md-push-3{left:25%}.ptx-runestone-container .col-md-push-2,.runestone-sphinx .col-md-push-2{left:16.66666667%}.ptx-runestone-container .col-md-push-1,.runestone-sphinx .col-md-push-1{left:8.33333333%}.ptx-runestone-container .col-md-push-0,.runestone-sphinx .col-md-push-0{left:auto}.ptx-runestone-container .col-md-offset-12,.runestone-sphinx .col-md-offset-12{margin-left:100%}.ptx-runestone-container .col-md-offset-11,.runestone-sphinx .col-md-offset-11{margin-left:91.66666667%}.ptx-runestone-container .col-md-offset-10,.runestone-sphinx .col-md-offset-10{margin-left:83.33333333%}.ptx-runestone-container .col-md-offset-9,.runestone-sphinx .col-md-offset-9{margin-left:75%}.ptx-runestone-container .col-md-offset-8,.runestone-sphinx .col-md-offset-8{margin-left:66.66666667%}.ptx-runestone-container .col-md-offset-7,.runestone-sphinx .col-md-offset-7{margin-left:58.33333333%}.ptx-runestone-container .col-md-offset-6,.runestone-sphinx .col-md-offset-6{margin-left:50%}.ptx-runestone-container .col-md-offset-5,.runestone-sphinx .col-md-offset-5{margin-left:41.66666667%}.ptx-runestone-container .col-md-offset-4,.runestone-sphinx .col-md-offset-4{margin-left:33.33333333%}.ptx-runestone-container .col-md-offset-3,.runestone-sphinx .col-md-offset-3{margin-left:25%}.ptx-runestone-container .col-md-offset-2,.runestone-sphinx .col-md-offset-2{margin-left:16.66666667%}.ptx-runestone-container .col-md-offset-1,.runestone-sphinx .col-md-offset-1{margin-left:8.33333333%}.ptx-runestone-container .col-md-offset-0,.runestone-sphinx .col-md-offset-0{margin-left:0}}@media (min-width:1200px){.ptx-runestone-container .col-lg-1,.ptx-runestone-container .col-lg-10,.ptx-runestone-container .col-lg-11,.ptx-runestone-container .col-lg-12,.ptx-runestone-container .col-lg-2,.ptx-runestone-container .col-lg-3,.ptx-runestone-container .col-lg-4,.ptx-runestone-container .col-lg-5,.ptx-runestone-container .col-lg-6,.ptx-runestone-container .col-lg-7,.ptx-runestone-container .col-lg-8,.ptx-runestone-container .col-lg-9,.runestone-sphinx .col-lg-1,.runestone-sphinx .col-lg-10,.runestone-sphinx .col-lg-11,.runestone-sphinx .col-lg-12,.runestone-sphinx .col-lg-2,.runestone-sphinx .col-lg-3,.runestone-sphinx .col-lg-4,.runestone-sphinx .col-lg-5,.runestone-sphinx .col-lg-6,.runestone-sphinx .col-lg-7,.runestone-sphinx .col-lg-8,.runestone-sphinx .col-lg-9{float:left}.ptx-runestone-container .col-lg-12,.runestone-sphinx .col-lg-12{width:100%}.ptx-runestone-container .col-lg-11,.runestone-sphinx .col-lg-11{width:91.66666667%}.ptx-runestone-container .col-lg-10,.runestone-sphinx .col-lg-10{width:83.33333333%}.ptx-runestone-container .col-lg-9,.runestone-sphinx .col-lg-9{width:75%}.ptx-runestone-container .col-lg-8,.runestone-sphinx .col-lg-8{width:66.66666667%}.ptx-runestone-container .col-lg-7,.runestone-sphinx .col-lg-7{width:58.33333333%}.ptx-runestone-container .col-lg-6,.runestone-sphinx .col-lg-6{width:50%}.ptx-runestone-container .col-lg-5,.runestone-sphinx .col-lg-5{width:41.66666667%}.ptx-runestone-container .col-lg-4,.runestone-sphinx .col-lg-4{width:33.33333333%}.ptx-runestone-container .col-lg-3,.runestone-sphinx .col-lg-3{width:25%}.ptx-runestone-container .col-lg-2,.runestone-sphinx .col-lg-2{width:16.66666667%}.ptx-runestone-container .col-lg-1,.runestone-sphinx .col-lg-1{width:8.33333333%}.ptx-runestone-container .col-lg-pull-12,.runestone-sphinx .col-lg-pull-12{right:100%}.ptx-runestone-container .col-lg-pull-11,.runestone-sphinx .col-lg-pull-11{right:91.66666667%}.ptx-runestone-container .col-lg-pull-10,.runestone-sphinx .col-lg-pull-10{right:83.33333333%}.ptx-runestone-container .col-lg-pull-9,.runestone-sphinx .col-lg-pull-9{right:75%}.ptx-runestone-container .col-lg-pull-8,.runestone-sphinx .col-lg-pull-8{right:66.66666667%}.ptx-runestone-container .col-lg-pull-7,.runestone-sphinx .col-lg-pull-7{right:58.33333333%}.ptx-runestone-container .col-lg-pull-6,.runestone-sphinx .col-lg-pull-6{right:50%}.ptx-runestone-container .col-lg-pull-5,.runestone-sphinx .col-lg-pull-5{right:41.66666667%}.ptx-runestone-container .col-lg-pull-4,.runestone-sphinx .col-lg-pull-4{right:33.33333333%}.ptx-runestone-container .col-lg-pull-3,.runestone-sphinx .col-lg-pull-3{right:25%}.ptx-runestone-container .col-lg-pull-2,.runestone-sphinx .col-lg-pull-2{right:16.66666667%}.ptx-runestone-container .col-lg-pull-1,.runestone-sphinx .col-lg-pull-1{right:8.33333333%}.ptx-runestone-container .col-lg-pull-0,.runestone-sphinx .col-lg-pull-0{right:auto}.ptx-runestone-container .col-lg-push-12,.runestone-sphinx .col-lg-push-12{left:100%}.ptx-runestone-container .col-lg-push-11,.runestone-sphinx .col-lg-push-11{left:91.66666667%}.ptx-runestone-container .col-lg-push-10,.runestone-sphinx .col-lg-push-10{left:83.33333333%}.ptx-runestone-container .col-lg-push-9,.runestone-sphinx .col-lg-push-9{left:75%}.ptx-runestone-container .col-lg-push-8,.runestone-sphinx .col-lg-push-8{left:66.66666667%}.ptx-runestone-container .col-lg-push-7,.runestone-sphinx .col-lg-push-7{left:58.33333333%}.ptx-runestone-container .col-lg-push-6,.runestone-sphinx .col-lg-push-6{left:50%}.ptx-runestone-container .col-lg-push-5,.runestone-sphinx .col-lg-push-5{left:41.66666667%}.ptx-runestone-container .col-lg-push-4,.runestone-sphinx .col-lg-push-4{left:33.33333333%}.ptx-runestone-container .col-lg-push-3,.runestone-sphinx .col-lg-push-3{left:25%}.ptx-runestone-container .col-lg-push-2,.runestone-sphinx .col-lg-push-2{left:16.66666667%}.ptx-runestone-container .col-lg-push-1,.runestone-sphinx .col-lg-push-1{left:8.33333333%}.ptx-runestone-container .col-lg-push-0,.runestone-sphinx .col-lg-push-0{left:auto}.ptx-runestone-container .col-lg-offset-12,.runestone-sphinx .col-lg-offset-12{margin-left:100%}.ptx-runestone-container .col-lg-offset-11,.runestone-sphinx .col-lg-offset-11{margin-left:91.66666667%}.ptx-runestone-container .col-lg-offset-10,.runestone-sphinx .col-lg-offset-10{margin-left:83.33333333%}.ptx-runestone-container .col-lg-offset-9,.runestone-sphinx .col-lg-offset-9{margin-left:75%}.ptx-runestone-container .col-lg-offset-8,.runestone-sphinx .col-lg-offset-8{margin-left:66.66666667%}.ptx-runestone-container .col-lg-offset-7,.runestone-sphinx .col-lg-offset-7{margin-left:58.33333333%}.ptx-runestone-container .col-lg-offset-6,.runestone-sphinx .col-lg-offset-6{margin-left:50%}.ptx-runestone-container .col-lg-offset-5,.runestone-sphinx .col-lg-offset-5{margin-left:41.66666667%}.ptx-runestone-container .col-lg-offset-4,.runestone-sphinx .col-lg-offset-4{margin-left:33.33333333%}.ptx-runestone-container .col-lg-offset-3,.runestone-sphinx .col-lg-offset-3{margin-left:25%}.ptx-runestone-container .col-lg-offset-2,.runestone-sphinx .col-lg-offset-2{margin-left:16.66666667%}.ptx-runestone-container .col-lg-offset-1,.runestone-sphinx .col-lg-offset-1{margin-left:8.33333333%}.ptx-runestone-container .col-lg-offset-0,.runestone-sphinx .col-lg-offset-0{margin-left:0}}.ptx-runestone-container table,.runestone-sphinx table{background-color:transparent}.ptx-runestone-container table col[class*=col-],.runestone-sphinx table col[class*=col-]{display:table-column;float:none;position:static}.ptx-runestone-container table td[class*=col-],.ptx-runestone-container table th[class*=col-],.runestone-sphinx table td[class*=col-],.runestone-sphinx table th[class*=col-]{display:table-cell;float:none;position:static}.ptx-runestone-container caption,.runestone-sphinx caption{color:#777;padding-bottom:8px;padding-top:8px;text-align:left}.ptx-runestone-container th,.runestone-sphinx th{text-align:left}.ptx-runestone-container .table,.runestone-sphinx .table{margin-bottom:20px;max-width:100%;width:100%}.ptx-runestone-container .table>tbody>tr>td,.ptx-runestone-container .table>tbody>tr>th,.ptx-runestone-container .table>tfoot>tr>td,.ptx-runestone-container .table>tfoot>tr>th,.ptx-runestone-container .table>thead>tr>td,.ptx-runestone-container .table>thead>tr>th,.runestone-sphinx .table>tbody>tr>td,.runestone-sphinx .table>tbody>tr>th,.runestone-sphinx .table>tfoot>tr>td,.runestone-sphinx .table>tfoot>tr>th,.runestone-sphinx .table>thead>tr>td,.runestone-sphinx .table>thead>tr>th{border-top:1px solid #ddd;line-height:1.42857143;padding:8px;vertical-align:top}.ptx-runestone-container .table>thead>tr>th,.runestone-sphinx .table>thead>tr>th{border-bottom:2px solid #ddd;vertical-align:bottom}.ptx-runestone-container .table>caption+thead>tr:first-child>td,.ptx-runestone-container .table>caption+thead>tr:first-child>th,.ptx-runestone-container .table>colgroup+thead>tr:first-child>td,.ptx-runestone-container .table>colgroup+thead>tr:first-child>th,.ptx-runestone-container .table>thead:first-child>tr:first-child>td,.ptx-runestone-container .table>thead:first-child>tr:first-child>th,.runestone-sphinx .table>caption+thead>tr:first-child>td,.runestone-sphinx .table>caption+thead>tr:first-child>th,.runestone-sphinx .table>colgroup+thead>tr:first-child>td,.runestone-sphinx .table>colgroup+thead>tr:first-child>th,.runestone-sphinx .table>thead:first-child>tr:first-child>td,.runestone-sphinx .table>thead:first-child>tr:first-child>th{border-top:0}.ptx-runestone-container .table>tbody+tbody,.runestone-sphinx .table>tbody+tbody{border-top:2px solid #ddd}.ptx-runestone-container .table .table,.runestone-sphinx .table .table{background-color:#fff}.ptx-runestone-container .table-condensed>tbody>tr>td,.ptx-runestone-container .table-condensed>tbody>tr>th,.ptx-runestone-container .table-condensed>tfoot>tr>td,.ptx-runestone-container .table-condensed>tfoot>tr>th,.ptx-runestone-container .table-condensed>thead>tr>td,.ptx-runestone-container .table-condensed>thead>tr>th,.runestone-sphinx .table-condensed>tbody>tr>td,.runestone-sphinx .table-condensed>tbody>tr>th,.runestone-sphinx .table-condensed>tfoot>tr>td,.runestone-sphinx .table-condensed>tfoot>tr>th,.runestone-sphinx .table-condensed>thead>tr>td,.runestone-sphinx .table-condensed>thead>tr>th{padding:5px}.ptx-runestone-container .table-bordered,.ptx-runestone-container .table-bordered>tbody>tr>td,.ptx-runestone-container .table-bordered>tbody>tr>th,.ptx-runestone-container .table-bordered>tfoot>tr>td,.ptx-runestone-container .table-bordered>tfoot>tr>th,.ptx-runestone-container .table-bordered>thead>tr>td,.ptx-runestone-container .table-bordered>thead>tr>th,.runestone-sphinx .table-bordered,.runestone-sphinx .table-bordered>tbody>tr>td,.runestone-sphinx .table-bordered>tbody>tr>th,.runestone-sphinx .table-bordered>tfoot>tr>td,.runestone-sphinx .table-bordered>tfoot>tr>th,.runestone-sphinx .table-bordered>thead>tr>td,.runestone-sphinx .table-bordered>thead>tr>th{border:1px solid #ddd}.ptx-runestone-container .table-bordered>thead>tr>td,.ptx-runestone-container .table-bordered>thead>tr>th,.runestone-sphinx .table-bordered>thead>tr>td,.runestone-sphinx .table-bordered>thead>tr>th{border-bottom-width:2px}.ptx-runestone-container .table-striped>tbody>tr:nth-of-type(odd),.runestone-sphinx .table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.ptx-runestone-container .table-hover>tbody>tr:hover,.ptx-runestone-container .table>tbody>tr.active>td,.ptx-runestone-container .table>tbody>tr.active>th,.ptx-runestone-container .table>tbody>tr>td.active,.ptx-runestone-container .table>tbody>tr>th.active,.ptx-runestone-container .table>tfoot>tr.active>td,.ptx-runestone-container .table>tfoot>tr.active>th,.ptx-runestone-container .table>tfoot>tr>td.active,.ptx-runestone-container .table>tfoot>tr>th.active,.ptx-runestone-container .table>thead>tr.active>td,.ptx-runestone-container .table>thead>tr.active>th,.ptx-runestone-container .table>thead>tr>td.active,.ptx-runestone-container .table>thead>tr>th.active,.runestone-sphinx .table-hover>tbody>tr:hover,.runestone-sphinx .table>tbody>tr.active>td,.runestone-sphinx .table>tbody>tr.active>th,.runestone-sphinx .table>tbody>tr>td.active,.runestone-sphinx .table>tbody>tr>th.active,.runestone-sphinx .table>tfoot>tr.active>td,.runestone-sphinx .table>tfoot>tr.active>th,.runestone-sphinx .table>tfoot>tr>td.active,.runestone-sphinx .table>tfoot>tr>th.active,.runestone-sphinx .table>thead>tr.active>td,.runestone-sphinx .table>thead>tr.active>th,.runestone-sphinx .table>thead>tr>td.active,.runestone-sphinx .table>thead>tr>th.active{background-color:#f5f5f5}.ptx-runestone-container .table-hover>tbody>tr.active:hover>td,.ptx-runestone-container .table-hover>tbody>tr.active:hover>th,.ptx-runestone-container .table-hover>tbody>tr:hover>.active,.ptx-runestone-container .table-hover>tbody>tr>td.active:hover,.ptx-runestone-container .table-hover>tbody>tr>th.active:hover,.runestone-sphinx .table-hover>tbody>tr.active:hover>td,.runestone-sphinx .table-hover>tbody>tr.active:hover>th,.runestone-sphinx .table-hover>tbody>tr:hover>.active,.runestone-sphinx .table-hover>tbody>tr>td.active:hover,.runestone-sphinx .table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.ptx-runestone-container .table>tbody>tr.success>td,.ptx-runestone-container .table>tbody>tr.success>th,.ptx-runestone-container .table>tbody>tr>td.success,.ptx-runestone-container .table>tbody>tr>th.success,.ptx-runestone-container .table>tfoot>tr.success>td,.ptx-runestone-container .table>tfoot>tr.success>th,.ptx-runestone-container .table>tfoot>tr>td.success,.ptx-runestone-container .table>tfoot>tr>th.success,.ptx-runestone-container .table>thead>tr.success>td,.ptx-runestone-container .table>thead>tr.success>th,.ptx-runestone-container .table>thead>tr>td.success,.ptx-runestone-container .table>thead>tr>th.success,.runestone-sphinx .table>tbody>tr.success>td,.runestone-sphinx .table>tbody>tr.success>th,.runestone-sphinx .table>tbody>tr>td.success,.runestone-sphinx .table>tbody>tr>th.success,.runestone-sphinx .table>tfoot>tr.success>td,.runestone-sphinx .table>tfoot>tr.success>th,.runestone-sphinx .table>tfoot>tr>td.success,.runestone-sphinx .table>tfoot>tr>th.success,.runestone-sphinx .table>thead>tr.success>td,.runestone-sphinx .table>thead>tr.success>th,.runestone-sphinx .table>thead>tr>td.success,.runestone-sphinx .table>thead>tr>th.success{background-color:#dff0d8}.ptx-runestone-container .table-hover>tbody>tr.success:hover>td,.ptx-runestone-container .table-hover>tbody>tr.success:hover>th,.ptx-runestone-container .table-hover>tbody>tr:hover>.success,.ptx-runestone-container .table-hover>tbody>tr>td.success:hover,.ptx-runestone-container .table-hover>tbody>tr>th.success:hover,.runestone-sphinx .table-hover>tbody>tr.success:hover>td,.runestone-sphinx .table-hover>tbody>tr.success:hover>th,.runestone-sphinx .table-hover>tbody>tr:hover>.success,.runestone-sphinx .table-hover>tbody>tr>td.success:hover,.runestone-sphinx .table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.ptx-runestone-container .table>tbody>tr.info>td,.ptx-runestone-container .table>tbody>tr.info>th,.ptx-runestone-container .table>tbody>tr>td.info,.ptx-runestone-container .table>tbody>tr>th.info,.ptx-runestone-container .table>tfoot>tr.info>td,.ptx-runestone-container .table>tfoot>tr.info>th,.ptx-runestone-container .table>tfoot>tr>td.info,.ptx-runestone-container .table>tfoot>tr>th.info,.ptx-runestone-container .table>thead>tr.info>td,.ptx-runestone-container .table>thead>tr.info>th,.ptx-runestone-container .table>thead>tr>td.info,.ptx-runestone-container .table>thead>tr>th.info,.runestone-sphinx .table>tbody>tr.info>td,.runestone-sphinx .table>tbody>tr.info>th,.runestone-sphinx .table>tbody>tr>td.info,.runestone-sphinx .table>tbody>tr>th.info,.runestone-sphinx .table>tfoot>tr.info>td,.runestone-sphinx .table>tfoot>tr.info>th,.runestone-sphinx .table>tfoot>tr>td.info,.runestone-sphinx .table>tfoot>tr>th.info,.runestone-sphinx .table>thead>tr.info>td,.runestone-sphinx .table>thead>tr.info>th,.runestone-sphinx .table>thead>tr>td.info,.runestone-sphinx .table>thead>tr>th.info{background-color:#d9edf7}.ptx-runestone-container .table-hover>tbody>tr.info:hover>td,.ptx-runestone-container .table-hover>tbody>tr.info:hover>th,.ptx-runestone-container .table-hover>tbody>tr:hover>.info,.ptx-runestone-container .table-hover>tbody>tr>td.info:hover,.ptx-runestone-container .table-hover>tbody>tr>th.info:hover,.runestone-sphinx .table-hover>tbody>tr.info:hover>td,.runestone-sphinx .table-hover>tbody>tr.info:hover>th,.runestone-sphinx .table-hover>tbody>tr:hover>.info,.runestone-sphinx .table-hover>tbody>tr>td.info:hover,.runestone-sphinx .table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.ptx-runestone-container .table>tbody>tr.warning>td,.ptx-runestone-container .table>tbody>tr.warning>th,.ptx-runestone-container .table>tbody>tr>td.warning,.ptx-runestone-container .table>tbody>tr>th.warning,.ptx-runestone-container .table>tfoot>tr.warning>td,.ptx-runestone-container .table>tfoot>tr.warning>th,.ptx-runestone-container .table>tfoot>tr>td.warning,.ptx-runestone-container .table>tfoot>tr>th.warning,.ptx-runestone-container .table>thead>tr.warning>td,.ptx-runestone-container .table>thead>tr.warning>th,.ptx-runestone-container .table>thead>tr>td.warning,.ptx-runestone-container .table>thead>tr>th.warning,.runestone-sphinx .table>tbody>tr.warning>td,.runestone-sphinx .table>tbody>tr.warning>th,.runestone-sphinx .table>tbody>tr>td.warning,.runestone-sphinx .table>tbody>tr>th.warning,.runestone-sphinx .table>tfoot>tr.warning>td,.runestone-sphinx .table>tfoot>tr.warning>th,.runestone-sphinx .table>tfoot>tr>td.warning,.runestone-sphinx .table>tfoot>tr>th.warning,.runestone-sphinx .table>thead>tr.warning>td,.runestone-sphinx .table>thead>tr.warning>th,.runestone-sphinx .table>thead>tr>td.warning,.runestone-sphinx .table>thead>tr>th.warning{background-color:#fcf8e3}.ptx-runestone-container .table-hover>tbody>tr.warning:hover>td,.ptx-runestone-container .table-hover>tbody>tr.warning:hover>th,.ptx-runestone-container .table-hover>tbody>tr:hover>.warning,.ptx-runestone-container .table-hover>tbody>tr>td.warning:hover,.ptx-runestone-container .table-hover>tbody>tr>th.warning:hover,.runestone-sphinx .table-hover>tbody>tr.warning:hover>td,.runestone-sphinx .table-hover>tbody>tr.warning:hover>th,.runestone-sphinx .table-hover>tbody>tr:hover>.warning,.runestone-sphinx .table-hover>tbody>tr>td.warning:hover,.runestone-sphinx .table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.ptx-runestone-container .table>tbody>tr.danger>td,.ptx-runestone-container .table>tbody>tr.danger>th,.ptx-runestone-container .table>tbody>tr>td.danger,.ptx-runestone-container .table>tbody>tr>th.danger,.ptx-runestone-container .table>tfoot>tr.danger>td,.ptx-runestone-container .table>tfoot>tr.danger>th,.ptx-runestone-container .table>tfoot>tr>td.danger,.ptx-runestone-container .table>tfoot>tr>th.danger,.ptx-runestone-container .table>thead>tr.danger>td,.ptx-runestone-container .table>thead>tr.danger>th,.ptx-runestone-container .table>thead>tr>td.danger,.ptx-runestone-container .table>thead>tr>th.danger,.runestone-sphinx .table>tbody>tr.danger>td,.runestone-sphinx .table>tbody>tr.danger>th,.runestone-sphinx .table>tbody>tr>td.danger,.runestone-sphinx .table>tbody>tr>th.danger,.runestone-sphinx .table>tfoot>tr.danger>td,.runestone-sphinx .table>tfoot>tr.danger>th,.runestone-sphinx .table>tfoot>tr>td.danger,.runestone-sphinx .table>tfoot>tr>th.danger,.runestone-sphinx .table>thead>tr.danger>td,.runestone-sphinx .table>thead>tr.danger>th,.runestone-sphinx .table>thead>tr>td.danger,.runestone-sphinx .table>thead>tr>th.danger{background-color:#f2dede}.ptx-runestone-container .table-hover>tbody>tr.danger:hover>td,.ptx-runestone-container .table-hover>tbody>tr.danger:hover>th,.ptx-runestone-container .table-hover>tbody>tr:hover>.danger,.ptx-runestone-container .table-hover>tbody>tr>td.danger:hover,.ptx-runestone-container .table-hover>tbody>tr>th.danger:hover,.runestone-sphinx .table-hover>tbody>tr.danger:hover>td,.runestone-sphinx .table-hover>tbody>tr.danger:hover>th,.runestone-sphinx .table-hover>tbody>tr:hover>.danger,.runestone-sphinx .table-hover>tbody>tr>td.danger:hover,.runestone-sphinx .table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.ptx-runestone-container .table-responsive,.runestone-sphinx .table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.ptx-runestone-container .table-responsive,.runestone-sphinx .table-responsive{-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd;margin-bottom:15px;overflow-y:hidden;width:100%}.ptx-runestone-container .table-responsive>.table,.runestone-sphinx .table-responsive>.table{margin-bottom:0}.ptx-runestone-container .table-responsive>.table>tbody>tr>td,.ptx-runestone-container .table-responsive>.table>tbody>tr>th,.ptx-runestone-container .table-responsive>.table>tfoot>tr>td,.ptx-runestone-container .table-responsive>.table>tfoot>tr>th,.ptx-runestone-container .table-responsive>.table>thead>tr>td,.ptx-runestone-container .table-responsive>.table>thead>tr>th,.runestone-sphinx .table-responsive>.table>tbody>tr>td,.runestone-sphinx .table-responsive>.table>tbody>tr>th,.runestone-sphinx .table-responsive>.table>tfoot>tr>td,.runestone-sphinx .table-responsive>.table>tfoot>tr>th,.runestone-sphinx .table-responsive>.table>thead>tr>td,.runestone-sphinx .table-responsive>.table>thead>tr>th{white-space:nowrap}.ptx-runestone-container .table-responsive>.table-bordered,.runestone-sphinx .table-responsive>.table-bordered{border:0}.ptx-runestone-container .table-responsive>.table-bordered>tbody>tr>td:first-child,.ptx-runestone-container .table-responsive>.table-bordered>tbody>tr>th:first-child,.ptx-runestone-container .table-responsive>.table-bordered>tfoot>tr>td:first-child,.ptx-runestone-container .table-responsive>.table-bordered>tfoot>tr>th:first-child,.ptx-runestone-container .table-responsive>.table-bordered>thead>tr>td:first-child,.ptx-runestone-container .table-responsive>.table-bordered>thead>tr>th:first-child,.runestone-sphinx .table-responsive>.table-bordered>tbody>tr>td:first-child,.runestone-sphinx .table-responsive>.table-bordered>tbody>tr>th:first-child,.runestone-sphinx .table-responsive>.table-bordered>tfoot>tr>td:first-child,.runestone-sphinx .table-responsive>.table-bordered>tfoot>tr>th:first-child,.runestone-sphinx .table-responsive>.table-bordered>thead>tr>td:first-child,.runestone-sphinx .table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.ptx-runestone-container .table-responsive>.table-bordered>tbody>tr>td:last-child,.ptx-runestone-container .table-responsive>.table-bordered>tbody>tr>th:last-child,.ptx-runestone-container .table-responsive>.table-bordered>tfoot>tr>td:last-child,.ptx-runestone-container .table-responsive>.table-bordered>tfoot>tr>th:last-child,.ptx-runestone-container .table-responsive>.table-bordered>thead>tr>td:last-child,.ptx-runestone-container .table-responsive>.table-bordered>thead>tr>th:last-child,.runestone-sphinx .table-responsive>.table-bordered>tbody>tr>td:last-child,.runestone-sphinx .table-responsive>.table-bordered>tbody>tr>th:last-child,.runestone-sphinx .table-responsive>.table-bordered>tfoot>tr>td:last-child,.runestone-sphinx .table-responsive>.table-bordered>tfoot>tr>th:last-child,.runestone-sphinx .table-responsive>.table-bordered>thead>tr>td:last-child,.runestone-sphinx .table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.ptx-runestone-container .table-responsive>.table-bordered>tbody>tr:last-child>td,.ptx-runestone-container .table-responsive>.table-bordered>tbody>tr:last-child>th,.ptx-runestone-container .table-responsive>.table-bordered>tfoot>tr:last-child>td,.ptx-runestone-container .table-responsive>.table-bordered>tfoot>tr:last-child>th,.runestone-sphinx .table-responsive>.table-bordered>tbody>tr:last-child>td,.runestone-sphinx .table-responsive>.table-bordered>tbody>tr:last-child>th,.runestone-sphinx .table-responsive>.table-bordered>tfoot>tr:last-child>td,.runestone-sphinx .table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}.ptx-runestone-container fieldset,.runestone-sphinx fieldset{border:0;margin:0;min-width:0;padding:0}.ptx-runestone-container legend,.runestone-sphinx legend{border:0;border-bottom:1px solid #e5e5e5;color:#333;display:block;font-size:21px;line-height:inherit;margin-bottom:20px;padding:0;width:100%}.ptx-runestone-container label,.runestone-sphinx label{display:inline-block;font-weight:700;margin-bottom:5px;max-width:100%}.ptx-runestone-container input[type=search],.runestone-sphinx input[type=search]{-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ptx-runestone-container input[type=checkbox],.ptx-runestone-container input[type=radio],.runestone-sphinx input[type=checkbox],.runestone-sphinx input[type=radio]{line-height:normal;margin:4px 0 0;margin-top:1px\9}.ptx-runestone-container fieldset[disabled] input[type=checkbox],.ptx-runestone-container fieldset[disabled] input[type=radio],.ptx-runestone-container input[type=checkbox].disabled,.ptx-runestone-container input[type=checkbox][disabled],.ptx-runestone-container input[type=radio].disabled,.ptx-runestone-container input[type=radio][disabled],.runestone-sphinx fieldset[disabled] input[type=checkbox],.runestone-sphinx fieldset[disabled] input[type=radio],.runestone-sphinx input[type=checkbox].disabled,.runestone-sphinx input[type=checkbox][disabled],.runestone-sphinx input[type=radio].disabled,.runestone-sphinx input[type=radio][disabled]{cursor:not-allowed}.ptx-runestone-container input[type=file],.runestone-sphinx input[type=file]{display:block}.ptx-runestone-container input[type=range],.runestone-sphinx input[type=range]{display:block;width:100%}.ptx-runestone-container select[multiple],.ptx-runestone-container select[size],.runestone-sphinx select[multiple],.runestone-sphinx select[size]{height:auto}.ptx-runestone-container input[type=checkbox]:focus,.ptx-runestone-container input[type=file]:focus,.ptx-runestone-container input[type=radio]:focus,.runestone-sphinx input[type=checkbox]:focus,.runestone-sphinx input[type=file]:focus,.runestone-sphinx input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.ptx-runestone-container output,.runestone-sphinx output{color:#555;display:block;font-size:14px;line-height:1.42857143;padding-top:7px}.ptx-runestone-container .form-control,.runestone-sphinx .form-control{background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);color:#555;display:block;font-size:14px;height:34px;line-height:1.42857143;padding:6px 12px;-webkit-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-o-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;width:100%}.ptx-runestone-container .form-control:focus,.runestone-sphinx .form-control:focus{border-color:#66afe9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);outline:0}.ptx-runestone-container .form-control::-moz-placeholder,.runestone-sphinx .form-control::-moz-placeholder{color:#999;opacity:1}.ptx-runestone-container .form-control:-ms-input-placeholder,.runestone-sphinx .form-control:-ms-input-placeholder{color:#999}.ptx-runestone-container .form-control::-webkit-input-placeholder,.runestone-sphinx .form-control::-webkit-input-placeholder{color:#999}.ptx-runestone-container .form-control::-ms-expand,.runestone-sphinx .form-control::-ms-expand{background-color:transparent;border:0}.ptx-runestone-container .form-control[disabled],.ptx-runestone-container .form-control[readonly],.ptx-runestone-container fieldset[disabled] .form-control,.runestone-sphinx .form-control[disabled],.runestone-sphinx .form-control[readonly],.runestone-sphinx fieldset[disabled] .form-control{background-color:#eee;opacity:1}.ptx-runestone-container .form-control[disabled],.ptx-runestone-container fieldset[disabled] .form-control,.runestone-sphinx .form-control[disabled],.runestone-sphinx fieldset[disabled] .form-control{cursor:not-allowed}.ptx-runestone-container textarea.form-control,.runestone-sphinx textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){.ptx-runestone-container input[type=date].form-control,.ptx-runestone-container input[type=datetime-local].form-control,.ptx-runestone-container input[type=month].form-control,.ptx-runestone-container input[type=time].form-control,.runestone-sphinx input[type=date].form-control,.runestone-sphinx input[type=datetime-local].form-control,.runestone-sphinx input[type=month].form-control,.runestone-sphinx input[type=time].form-control{line-height:34px}.ptx-runestone-container .input-group-sm input[type=date],.ptx-runestone-container .input-group-sm input[type=datetime-local],.ptx-runestone-container .input-group-sm input[type=month],.ptx-runestone-container .input-group-sm input[type=time],.ptx-runestone-container input[type=date].input-sm,.ptx-runestone-container input[type=datetime-local].input-sm,.ptx-runestone-container input[type=month].input-sm,.ptx-runestone-container input[type=time].input-sm,.runestone-sphinx .input-group-sm input[type=date],.runestone-sphinx .input-group-sm input[type=datetime-local],.runestone-sphinx .input-group-sm input[type=month],.runestone-sphinx .input-group-sm input[type=time],.runestone-sphinx input[type=date].input-sm,.runestone-sphinx input[type=datetime-local].input-sm,.runestone-sphinx input[type=month].input-sm,.runestone-sphinx input[type=time].input-sm{line-height:30px}.ptx-runestone-container .input-group-lg input[type=date],.ptx-runestone-container .input-group-lg input[type=datetime-local],.ptx-runestone-container .input-group-lg input[type=month],.ptx-runestone-container .input-group-lg input[type=time],.ptx-runestone-container input[type=date].input-lg,.ptx-runestone-container input[type=datetime-local].input-lg,.ptx-runestone-container input[type=month].input-lg,.ptx-runestone-container input[type=time].input-lg,.runestone-sphinx .input-group-lg input[type=date],.runestone-sphinx .input-group-lg input[type=datetime-local],.runestone-sphinx .input-group-lg input[type=month],.runestone-sphinx .input-group-lg input[type=time],.runestone-sphinx input[type=date].input-lg,.runestone-sphinx input[type=datetime-local].input-lg,.runestone-sphinx input[type=month].input-lg,.runestone-sphinx input[type=time].input-lg{line-height:46px}}.ptx-runestone-container .form-group,.runestone-sphinx .form-group{margin-bottom:15px}.ptx-runestone-container .checkbox,.ptx-runestone-container .radio,.runestone-sphinx .checkbox,.runestone-sphinx .radio{display:block;margin-bottom:10px;margin-top:10px;position:relative}.ptx-runestone-container .checkbox.disabled label,.ptx-runestone-container .radio.disabled label,.ptx-runestone-container fieldset[disabled] .checkbox label,.ptx-runestone-container fieldset[disabled] .radio label,.runestone-sphinx .checkbox.disabled label,.runestone-sphinx .radio.disabled label,.runestone-sphinx fieldset[disabled] .checkbox label,.runestone-sphinx fieldset[disabled] .radio label{cursor:not-allowed}.ptx-runestone-container .checkbox label,.ptx-runestone-container .radio label,.runestone-sphinx .checkbox label,.runestone-sphinx .radio label{cursor:pointer;font-weight:400;margin-bottom:0;min-height:20px;padding-left:20px}.ptx-runestone-container .checkbox input[type=checkbox],.ptx-runestone-container .checkbox-inline input[type=checkbox],.ptx-runestone-container .radio input[type=radio],.ptx-runestone-container .radio-inline input[type=radio],.runestone-sphinx .checkbox input[type=checkbox],.runestone-sphinx .checkbox-inline input[type=checkbox],.runestone-sphinx .radio input[type=radio],.runestone-sphinx .radio-inline input[type=radio]{margin-left:-20px;margin-top:4px\9;position:absolute}.ptx-runestone-container .checkbox+.checkbox,.ptx-runestone-container .radio+.radio,.runestone-sphinx .checkbox+.checkbox,.runestone-sphinx .radio+.radio{margin-top:-5px}.ptx-runestone-container .checkbox-inline,.ptx-runestone-container .radio-inline,.runestone-sphinx .checkbox-inline,.runestone-sphinx .radio-inline{cursor:pointer;display:inline-block;font-weight:400;margin-bottom:0;padding-left:20px;position:relative;vertical-align:middle}.ptx-runestone-container .checkbox-inline.disabled,.ptx-runestone-container .radio-inline.disabled,.ptx-runestone-container fieldset[disabled] .checkbox-inline,.ptx-runestone-container fieldset[disabled] .radio-inline,.runestone-sphinx .checkbox-inline.disabled,.runestone-sphinx .radio-inline.disabled,.runestone-sphinx fieldset[disabled] .checkbox-inline,.runestone-sphinx fieldset[disabled] .radio-inline{cursor:not-allowed}.ptx-runestone-container .checkbox-inline+.checkbox-inline,.ptx-runestone-container .radio-inline+.radio-inline,.runestone-sphinx .checkbox-inline+.checkbox-inline,.runestone-sphinx .radio-inline+.radio-inline{margin-left:10px;margin-top:0}.ptx-runestone-container .form-control-static,.runestone-sphinx .form-control-static{margin-bottom:0;min-height:34px;padding-bottom:7px;padding-top:7px}.ptx-runestone-container .form-control-static.input-lg,.ptx-runestone-container .form-control-static.input-sm,.runestone-sphinx .form-control-static.input-lg,.runestone-sphinx .form-control-static.input-sm{padding-left:0;padding-right:0}.ptx-runestone-container .input-sm,.runestone-sphinx .input-sm{border-radius:3px;font-size:12px;height:30px;line-height:1.5;padding:5px 10px}.ptx-runestone-container select.input-sm,.runestone-sphinx select.input-sm{height:30px;line-height:30px}.ptx-runestone-container select[multiple].input-sm,.ptx-runestone-container textarea.input-sm,.runestone-sphinx select[multiple].input-sm,.runestone-sphinx textarea.input-sm{height:auto}.ptx-runestone-container .form-group-sm .form-control,.runestone-sphinx .form-group-sm .form-control{border-radius:3px;font-size:12px;height:30px;line-height:1.5;padding:5px 10px}.ptx-runestone-container .form-group-sm select.form-control,.runestone-sphinx .form-group-sm select.form-control{height:30px;line-height:30px}.ptx-runestone-container .form-group-sm select[multiple].form-control,.ptx-runestone-container .form-group-sm textarea.form-control,.runestone-sphinx .form-group-sm select[multiple].form-control,.runestone-sphinx .form-group-sm textarea.form-control{height:auto}.ptx-runestone-container .form-group-sm .form-control-static,.runestone-sphinx .form-group-sm .form-control-static{font-size:12px;height:30px;line-height:1.5;min-height:32px;padding:6px 10px}.ptx-runestone-container .input-lg,.runestone-sphinx .input-lg{border-radius:6px;font-size:18px;height:46px;line-height:1.3333333;padding:10px 16px}.ptx-runestone-container select.input-lg,.runestone-sphinx select.input-lg{height:46px;line-height:46px}.ptx-runestone-container select[multiple].input-lg,.ptx-runestone-container textarea.input-lg,.runestone-sphinx select[multiple].input-lg,.runestone-sphinx textarea.input-lg{height:auto}.ptx-runestone-container .form-group-lg .form-control,.runestone-sphinx .form-group-lg .form-control{border-radius:6px;font-size:18px;height:46px;line-height:1.3333333;padding:10px 16px}.ptx-runestone-container .form-group-lg select.form-control,.runestone-sphinx .form-group-lg select.form-control{height:46px;line-height:46px}.ptx-runestone-container .form-group-lg select[multiple].form-control,.ptx-runestone-container .form-group-lg textarea.form-control,.runestone-sphinx .form-group-lg select[multiple].form-control,.runestone-sphinx .form-group-lg textarea.form-control{height:auto}.ptx-runestone-container .form-group-lg .form-control-static,.runestone-sphinx .form-group-lg .form-control-static{font-size:18px;height:46px;line-height:1.3333333;min-height:38px;padding:11px 16px}.ptx-runestone-container .has-feedback,.runestone-sphinx .has-feedback{position:relative}.ptx-runestone-container .has-feedback .form-control,.runestone-sphinx .has-feedback .form-control{padding-right:42.5px}.ptx-runestone-container .form-control-feedback,.runestone-sphinx .form-control-feedback{display:block;height:34px;line-height:34px;pointer-events:none;position:absolute;right:0;text-align:center;top:0;width:34px;z-index:2}.ptx-runestone-container .form-group-lg .form-control+.form-control-feedback,.ptx-runestone-container .input-group-lg+.form-control-feedback,.ptx-runestone-container .input-lg+.form-control-feedback,.runestone-sphinx .form-group-lg .form-control+.form-control-feedback,.runestone-sphinx .input-group-lg+.form-control-feedback,.runestone-sphinx .input-lg+.form-control-feedback{height:46px;line-height:46px;width:46px}.ptx-runestone-container .form-group-sm .form-control+.form-control-feedback,.ptx-runestone-container .input-group-sm+.form-control-feedback,.ptx-runestone-container .input-sm+.form-control-feedback,.runestone-sphinx .form-group-sm .form-control+.form-control-feedback,.runestone-sphinx .input-group-sm+.form-control-feedback,.runestone-sphinx .input-sm+.form-control-feedback{height:30px;line-height:30px;width:30px}.ptx-runestone-container .has-success .checkbox,.ptx-runestone-container .has-success .checkbox-inline,.ptx-runestone-container .has-success .control-label,.ptx-runestone-container .has-success .help-block,.ptx-runestone-container .has-success .radio,.ptx-runestone-container .has-success .radio-inline,.ptx-runestone-container .has-success.checkbox label,.ptx-runestone-container .has-success.checkbox-inline label,.ptx-runestone-container .has-success.radio label,.ptx-runestone-container .has-success.radio-inline label,.runestone-sphinx .has-success .checkbox,.runestone-sphinx .has-success .checkbox-inline,.runestone-sphinx .has-success .control-label,.runestone-sphinx .has-success .help-block,.runestone-sphinx .has-success .radio,.runestone-sphinx .has-success .radio-inline,.runestone-sphinx .has-success.checkbox label,.runestone-sphinx .has-success.checkbox-inline label,.runestone-sphinx .has-success.radio label,.runestone-sphinx .has-success.radio-inline label{color:#3c763d}.ptx-runestone-container .has-success .form-control,.runestone-sphinx .has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.ptx-runestone-container .has-success .form-control:focus,.runestone-sphinx .has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.ptx-runestone-container .has-success .input-group-addon,.runestone-sphinx .has-success .input-group-addon{background-color:#dff0d8;border-color:#3c763d;color:#3c763d}.ptx-runestone-container .has-success .form-control-feedback,.runestone-sphinx .has-success .form-control-feedback{color:#3c763d}.ptx-runestone-container .has-warning .checkbox,.ptx-runestone-container .has-warning .checkbox-inline,.ptx-runestone-container .has-warning .control-label,.ptx-runestone-container .has-warning .help-block,.ptx-runestone-container .has-warning .radio,.ptx-runestone-container .has-warning .radio-inline,.ptx-runestone-container .has-warning.checkbox label,.ptx-runestone-container .has-warning.checkbox-inline label,.ptx-runestone-container .has-warning.radio label,.ptx-runestone-container .has-warning.radio-inline label,.runestone-sphinx .has-warning .checkbox,.runestone-sphinx .has-warning .checkbox-inline,.runestone-sphinx .has-warning .control-label,.runestone-sphinx .has-warning .help-block,.runestone-sphinx .has-warning .radio,.runestone-sphinx .has-warning .radio-inline,.runestone-sphinx .has-warning.checkbox label,.runestone-sphinx .has-warning.checkbox-inline label,.runestone-sphinx .has-warning.radio label,.runestone-sphinx .has-warning.radio-inline label{color:#8a6d3b}.ptx-runestone-container .has-warning .form-control,.runestone-sphinx .has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.ptx-runestone-container .has-warning .form-control:focus,.runestone-sphinx .has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.ptx-runestone-container .has-warning .input-group-addon,.runestone-sphinx .has-warning .input-group-addon{background-color:#fcf8e3;border-color:#8a6d3b;color:#8a6d3b}.ptx-runestone-container .has-warning .form-control-feedback,.runestone-sphinx .has-warning .form-control-feedback{color:#8a6d3b}.ptx-runestone-container .has-error .checkbox,.ptx-runestone-container .has-error .checkbox-inline,.ptx-runestone-container .has-error .control-label,.ptx-runestone-container .has-error .help-block,.ptx-runestone-container .has-error .radio,.ptx-runestone-container .has-error .radio-inline,.ptx-runestone-container .has-error.checkbox label,.ptx-runestone-container .has-error.checkbox-inline label,.ptx-runestone-container .has-error.radio label,.ptx-runestone-container .has-error.radio-inline label,.runestone-sphinx .has-error .checkbox,.runestone-sphinx .has-error .checkbox-inline,.runestone-sphinx .has-error .control-label,.runestone-sphinx .has-error .help-block,.runestone-sphinx .has-error .radio,.runestone-sphinx .has-error .radio-inline,.runestone-sphinx .has-error.checkbox label,.runestone-sphinx .has-error.checkbox-inline label,.runestone-sphinx .has-error.radio label,.runestone-sphinx .has-error.radio-inline label{color:#a94442}.ptx-runestone-container .has-error .form-control,.runestone-sphinx .has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.ptx-runestone-container .has-error .form-control:focus,.runestone-sphinx .has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.ptx-runestone-container .has-error .input-group-addon,.runestone-sphinx .has-error .input-group-addon{background-color:#f2dede;border-color:#a94442;color:#a94442}.ptx-runestone-container .has-error .form-control-feedback,.runestone-sphinx .has-error .form-control-feedback{color:#a94442}.ptx-runestone-container .has-feedback label~.form-control-feedback,.runestone-sphinx .has-feedback label~.form-control-feedback{top:25px}.ptx-runestone-container .has-feedback label.sr-only~.form-control-feedback,.runestone-sphinx .has-feedback label.sr-only~.form-control-feedback{top:0}.ptx-runestone-container .help-block,.runestone-sphinx .help-block{color:#737373;display:block;margin-bottom:10px;margin-top:5px}@media (min-width:768px){.ptx-runestone-container .form-inline .form-group,.runestone-sphinx .form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.ptx-runestone-container .form-inline .form-control,.runestone-sphinx .form-inline .form-control{display:inline-block;vertical-align:middle;width:auto}.ptx-runestone-container .form-inline .form-control-static,.runestone-sphinx .form-inline .form-control-static{display:inline-block}.ptx-runestone-container .form-inline .input-group,.runestone-sphinx .form-inline .input-group{display:inline-table;vertical-align:middle}.ptx-runestone-container .form-inline .input-group .form-control,.ptx-runestone-container .form-inline .input-group .input-group-addon,.ptx-runestone-container .form-inline .input-group .input-group-btn,.runestone-sphinx .form-inline .input-group .form-control,.runestone-sphinx .form-inline .input-group .input-group-addon,.runestone-sphinx .form-inline .input-group .input-group-btn{width:auto}.ptx-runestone-container .form-inline .input-group>.form-control,.runestone-sphinx .form-inline .input-group>.form-control{width:100%}.ptx-runestone-container .form-inline .control-label,.runestone-sphinx .form-inline .control-label{margin-bottom:0;vertical-align:middle}.ptx-runestone-container .form-inline .checkbox,.ptx-runestone-container .form-inline .radio,.runestone-sphinx .form-inline .checkbox,.runestone-sphinx .form-inline .radio{display:inline-block;margin-bottom:0;margin-top:0;vertical-align:middle}.ptx-runestone-container .form-inline .checkbox label,.ptx-runestone-container .form-inline .radio label,.runestone-sphinx .form-inline .checkbox label,.runestone-sphinx .form-inline .radio label{padding-left:0}.ptx-runestone-container .form-inline .checkbox input[type=checkbox],.ptx-runestone-container .form-inline .radio input[type=radio],.runestone-sphinx .form-inline .checkbox input[type=checkbox],.runestone-sphinx .form-inline .radio input[type=radio]{margin-left:0;position:relative}.ptx-runestone-container .form-inline .has-feedback .form-control-feedback,.runestone-sphinx .form-inline .has-feedback .form-control-feedback{top:0}}.ptx-runestone-container .form-horizontal .checkbox,.ptx-runestone-container .form-horizontal .checkbox-inline,.ptx-runestone-container .form-horizontal .radio,.ptx-runestone-container .form-horizontal .radio-inline,.runestone-sphinx .form-horizontal .checkbox,.runestone-sphinx .form-horizontal .checkbox-inline,.runestone-sphinx .form-horizontal .radio,.runestone-sphinx .form-horizontal .radio-inline{margin-bottom:0;margin-top:0;padding-top:7px}.ptx-runestone-container .form-horizontal .checkbox,.ptx-runestone-container .form-horizontal .radio,.runestone-sphinx .form-horizontal .checkbox,.runestone-sphinx .form-horizontal .radio{min-height:27px}.ptx-runestone-container .form-horizontal .form-group,.runestone-sphinx .form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.ptx-runestone-container .form-horizontal .control-label,.runestone-sphinx .form-horizontal .control-label{margin-bottom:0;padding-top:7px;text-align:right}}.ptx-runestone-container .form-horizontal .has-feedback .form-control-feedback,.runestone-sphinx .form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.ptx-runestone-container .form-horizontal .form-group-lg .control-label,.runestone-sphinx .form-horizontal .form-group-lg .control-label{font-size:18px;padding-top:11px}.ptx-runestone-container .form-horizontal .form-group-sm .control-label,.runestone-sphinx .form-horizontal .form-group-sm .control-label{font-size:12px;padding-top:6px}}.ptx-runestone-container .btn,.runestone-sphinx .btn{background-image:none;border:1px solid transparent;border-radius:4px;cursor:pointer;display:inline-block;font-size:14px;font-weight:400;line-height:1.42857143;margin-bottom:0;padding:6px 12px;text-align:center;-ms-touch-action:manipulation;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.ptx-runestone-container .btn.active.focus,.ptx-runestone-container .btn.active:focus,.ptx-runestone-container .btn.focus,.ptx-runestone-container .btn:active.focus,.ptx-runestone-container .btn:active:focus,.ptx-runestone-container .btn:focus,.runestone-sphinx .btn.active.focus,.runestone-sphinx .btn.active:focus,.runestone-sphinx .btn.focus,.runestone-sphinx .btn:active.focus,.runestone-sphinx .btn:active:focus,.runestone-sphinx .btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.ptx-runestone-container .btn.focus,.ptx-runestone-container .btn:focus,.ptx-runestone-container .btn:hover,.runestone-sphinx .btn.focus,.runestone-sphinx .btn:focus,.runestone-sphinx .btn:hover{color:#333;text-decoration:none}.ptx-runestone-container .btn.active,.ptx-runestone-container .btn:active,.runestone-sphinx .btn.active,.runestone-sphinx .btn:active{background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125);outline:0}.ptx-runestone-container .btn.disabled,.ptx-runestone-container .btn[disabled],.ptx-runestone-container fieldset[disabled] .btn,.runestone-sphinx .btn.disabled,.runestone-sphinx .btn[disabled],.runestone-sphinx fieldset[disabled] .btn{-webkit-box-shadow:none;box-shadow:none;cursor:not-allowed;filter:alpha(opacity=65);opacity:.65}.ptx-runestone-container a.btn.disabled,.ptx-runestone-container fieldset[disabled] a.btn,.runestone-sphinx a.btn.disabled,.runestone-sphinx fieldset[disabled] a.btn{pointer-events:none}.ptx-runestone-container .btn-default,.runestone-sphinx .btn-default{background-color:#fff;border-color:#ccc;color:#333}.ptx-runestone-container .btn-default.focus,.ptx-runestone-container .btn-default:focus,.runestone-sphinx .btn-default.focus,.runestone-sphinx .btn-default:focus{background-color:#e6e6e6;border-color:#8c8c8c;color:#333}.ptx-runestone-container .btn-default:hover,.runestone-sphinx .btn-default:hover{background-color:#e6e6e6;border-color:#adadad;color:#333}.ptx-runestone-container .btn-default.active,.ptx-runestone-container .btn-default:active,.ptx-runestone-container .open>.dropdown-toggle.btn-default,.runestone-sphinx .btn-default.active,.runestone-sphinx .btn-default:active,.runestone-sphinx .open>.dropdown-toggle.btn-default{background-color:#e6e6e6;background-image:none;border-color:#adadad;color:#333}.ptx-runestone-container .btn-default.active.focus,.ptx-runestone-container .btn-default.active:focus,.ptx-runestone-container .btn-default.active:hover,.ptx-runestone-container .btn-default:active.focus,.ptx-runestone-container .btn-default:active:focus,.ptx-runestone-container .btn-default:active:hover,.ptx-runestone-container .open>.dropdown-toggle.btn-default.focus,.ptx-runestone-container .open>.dropdown-toggle.btn-default:focus,.ptx-runestone-container .open>.dropdown-toggle.btn-default:hover,.runestone-sphinx .btn-default.active.focus,.runestone-sphinx .btn-default.active:focus,.runestone-sphinx .btn-default.active:hover,.runestone-sphinx .btn-default:active.focus,.runestone-sphinx .btn-default:active:focus,.runestone-sphinx .btn-default:active:hover,.runestone-sphinx .open>.dropdown-toggle.btn-default.focus,.runestone-sphinx .open>.dropdown-toggle.btn-default:focus,.runestone-sphinx .open>.dropdown-toggle.btn-default:hover{background-color:#d4d4d4;border-color:#8c8c8c;color:#333}.ptx-runestone-container .btn-default.disabled.focus,.ptx-runestone-container .btn-default.disabled:focus,.ptx-runestone-container .btn-default.disabled:hover,.ptx-runestone-container .btn-default[disabled].focus,.ptx-runestone-container .btn-default[disabled]:focus,.ptx-runestone-container .btn-default[disabled]:hover,.ptx-runestone-container fieldset[disabled] .btn-default.focus,.ptx-runestone-container fieldset[disabled] .btn-default:focus,.ptx-runestone-container fieldset[disabled] .btn-default:hover,.runestone-sphinx .btn-default.disabled.focus,.runestone-sphinx .btn-default.disabled:focus,.runestone-sphinx .btn-default.disabled:hover,.runestone-sphinx .btn-default[disabled].focus,.runestone-sphinx .btn-default[disabled]:focus,.runestone-sphinx .btn-default[disabled]:hover,.runestone-sphinx fieldset[disabled] .btn-default.focus,.runestone-sphinx fieldset[disabled] .btn-default:focus,.runestone-sphinx fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.ptx-runestone-container .btn-default .badge,.runestone-sphinx .btn-default .badge{background-color:#333;color:#fff}.ptx-runestone-container .btn-primary,.runestone-sphinx .btn-primary{background-color:#337ab7;border-color:#2e6da4;color:#fff}.ptx-runestone-container .btn-primary.focus,.ptx-runestone-container .btn-primary:focus,.runestone-sphinx .btn-primary.focus,.runestone-sphinx .btn-primary:focus{background-color:#286090;border-color:#122b40;color:#fff}.ptx-runestone-container .btn-primary:hover,.runestone-sphinx .btn-primary:hover{background-color:#286090;border-color:#204d74;color:#fff}.ptx-runestone-container .btn-primary.active,.ptx-runestone-container .btn-primary:active,.ptx-runestone-container .open>.dropdown-toggle.btn-primary,.runestone-sphinx .btn-primary.active,.runestone-sphinx .btn-primary:active,.runestone-sphinx .open>.dropdown-toggle.btn-primary{background-color:#286090;background-image:none;border-color:#204d74;color:#fff}.ptx-runestone-container .btn-primary.active.focus,.ptx-runestone-container .btn-primary.active:focus,.ptx-runestone-container .btn-primary.active:hover,.ptx-runestone-container .btn-primary:active.focus,.ptx-runestone-container .btn-primary:active:focus,.ptx-runestone-container .btn-primary:active:hover,.ptx-runestone-container .open>.dropdown-toggle.btn-primary.focus,.ptx-runestone-container .open>.dropdown-toggle.btn-primary:focus,.ptx-runestone-container .open>.dropdown-toggle.btn-primary:hover,.runestone-sphinx .btn-primary.active.focus,.runestone-sphinx .btn-primary.active:focus,.runestone-sphinx .btn-primary.active:hover,.runestone-sphinx .btn-primary:active.focus,.runestone-sphinx .btn-primary:active:focus,.runestone-sphinx .btn-primary:active:hover,.runestone-sphinx .open>.dropdown-toggle.btn-primary.focus,.runestone-sphinx .open>.dropdown-toggle.btn-primary:focus,.runestone-sphinx .open>.dropdown-toggle.btn-primary:hover{background-color:#204d74;border-color:#122b40;color:#fff}.ptx-runestone-container .btn-primary.disabled.focus,.ptx-runestone-container .btn-primary.disabled:focus,.ptx-runestone-container .btn-primary.disabled:hover,.ptx-runestone-container .btn-primary[disabled].focus,.ptx-runestone-container .btn-primary[disabled]:focus,.ptx-runestone-container .btn-primary[disabled]:hover,.ptx-runestone-container fieldset[disabled] .btn-primary.focus,.ptx-runestone-container fieldset[disabled] .btn-primary:focus,.ptx-runestone-container fieldset[disabled] .btn-primary:hover,.runestone-sphinx .btn-primary.disabled.focus,.runestone-sphinx .btn-primary.disabled:focus,.runestone-sphinx .btn-primary.disabled:hover,.runestone-sphinx .btn-primary[disabled].focus,.runestone-sphinx .btn-primary[disabled]:focus,.runestone-sphinx .btn-primary[disabled]:hover,.runestone-sphinx fieldset[disabled] .btn-primary.focus,.runestone-sphinx fieldset[disabled] .btn-primary:focus,.runestone-sphinx fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.ptx-runestone-container .btn-primary .badge,.runestone-sphinx .btn-primary .badge{background-color:#fff;color:#337ab7}.ptx-runestone-container .btn-success,.runestone-sphinx .btn-success{background-color:#5cb85c;border-color:#4cae4c;color:#fff}.ptx-runestone-container .btn-success.focus,.ptx-runestone-container .btn-success:focus,.runestone-sphinx .btn-success.focus,.runestone-sphinx .btn-success:focus{background-color:#449d44;border-color:#255625;color:#fff}.ptx-runestone-container .btn-success:hover,.runestone-sphinx .btn-success:hover{background-color:#449d44;border-color:#398439;color:#fff}.ptx-runestone-container .btn-success.active,.ptx-runestone-container .btn-success:active,.ptx-runestone-container .open>.dropdown-toggle.btn-success,.runestone-sphinx .btn-success.active,.runestone-sphinx .btn-success:active,.runestone-sphinx .open>.dropdown-toggle.btn-success{background-color:#449d44;background-image:none;border-color:#398439;color:#fff}.ptx-runestone-container .btn-success.active.focus,.ptx-runestone-container .btn-success.active:focus,.ptx-runestone-container .btn-success.active:hover,.ptx-runestone-container .btn-success:active.focus,.ptx-runestone-container .btn-success:active:focus,.ptx-runestone-container .btn-success:active:hover,.ptx-runestone-container .open>.dropdown-toggle.btn-success.focus,.ptx-runestone-container .open>.dropdown-toggle.btn-success:focus,.ptx-runestone-container .open>.dropdown-toggle.btn-success:hover,.runestone-sphinx .btn-success.active.focus,.runestone-sphinx .btn-success.active:focus,.runestone-sphinx .btn-success.active:hover,.runestone-sphinx .btn-success:active.focus,.runestone-sphinx .btn-success:active:focus,.runestone-sphinx .btn-success:active:hover,.runestone-sphinx .open>.dropdown-toggle.btn-success.focus,.runestone-sphinx .open>.dropdown-toggle.btn-success:focus,.runestone-sphinx .open>.dropdown-toggle.btn-success:hover{background-color:#398439;border-color:#255625;color:#fff}.ptx-runestone-container .btn-success.disabled.focus,.ptx-runestone-container .btn-success.disabled:focus,.ptx-runestone-container .btn-success.disabled:hover,.ptx-runestone-container .btn-success[disabled].focus,.ptx-runestone-container .btn-success[disabled]:focus,.ptx-runestone-container .btn-success[disabled]:hover,.ptx-runestone-container fieldset[disabled] .btn-success.focus,.ptx-runestone-container fieldset[disabled] .btn-success:focus,.ptx-runestone-container fieldset[disabled] .btn-success:hover,.runestone-sphinx .btn-success.disabled.focus,.runestone-sphinx .btn-success.disabled:focus,.runestone-sphinx .btn-success.disabled:hover,.runestone-sphinx .btn-success[disabled].focus,.runestone-sphinx .btn-success[disabled]:focus,.runestone-sphinx .btn-success[disabled]:hover,.runestone-sphinx fieldset[disabled] .btn-success.focus,.runestone-sphinx fieldset[disabled] .btn-success:focus,.runestone-sphinx fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.ptx-runestone-container .btn-success .badge,.runestone-sphinx .btn-success .badge{background-color:#fff;color:#5cb85c}.ptx-runestone-container .btn-info,.runestone-sphinx .btn-info{background-color:#5bc0de;border-color:#46b8da;color:#fff}.ptx-runestone-container .btn-info.focus,.ptx-runestone-container .btn-info:focus,.runestone-sphinx .btn-info.focus,.runestone-sphinx .btn-info:focus{background-color:#31b0d5;border-color:#1b6d85;color:#fff}.ptx-runestone-container .btn-info:hover,.runestone-sphinx .btn-info:hover{background-color:#31b0d5;border-color:#269abc;color:#fff}.ptx-runestone-container .btn-info.active,.ptx-runestone-container .btn-info:active,.ptx-runestone-container .open>.dropdown-toggle.btn-info,.runestone-sphinx .btn-info.active,.runestone-sphinx .btn-info:active,.runestone-sphinx .open>.dropdown-toggle.btn-info{background-color:#31b0d5;background-image:none;border-color:#269abc;color:#fff}.ptx-runestone-container .btn-info.active.focus,.ptx-runestone-container .btn-info.active:focus,.ptx-runestone-container .btn-info.active:hover,.ptx-runestone-container .btn-info:active.focus,.ptx-runestone-container .btn-info:active:focus,.ptx-runestone-container .btn-info:active:hover,.ptx-runestone-container .open>.dropdown-toggle.btn-info.focus,.ptx-runestone-container .open>.dropdown-toggle.btn-info:focus,.ptx-runestone-container .open>.dropdown-toggle.btn-info:hover,.runestone-sphinx .btn-info.active.focus,.runestone-sphinx .btn-info.active:focus,.runestone-sphinx .btn-info.active:hover,.runestone-sphinx .btn-info:active.focus,.runestone-sphinx .btn-info:active:focus,.runestone-sphinx .btn-info:active:hover,.runestone-sphinx .open>.dropdown-toggle.btn-info.focus,.runestone-sphinx .open>.dropdown-toggle.btn-info:focus,.runestone-sphinx .open>.dropdown-toggle.btn-info:hover{background-color:#269abc;border-color:#1b6d85;color:#fff}.ptx-runestone-container .btn-info.disabled.focus,.ptx-runestone-container .btn-info.disabled:focus,.ptx-runestone-container .btn-info.disabled:hover,.ptx-runestone-container .btn-info[disabled].focus,.ptx-runestone-container .btn-info[disabled]:focus,.ptx-runestone-container .btn-info[disabled]:hover,.ptx-runestone-container fieldset[disabled] .btn-info.focus,.ptx-runestone-container fieldset[disabled] .btn-info:focus,.ptx-runestone-container fieldset[disabled] .btn-info:hover,.runestone-sphinx .btn-info.disabled.focus,.runestone-sphinx .btn-info.disabled:focus,.runestone-sphinx .btn-info.disabled:hover,.runestone-sphinx .btn-info[disabled].focus,.runestone-sphinx .btn-info[disabled]:focus,.runestone-sphinx .btn-info[disabled]:hover,.runestone-sphinx fieldset[disabled] .btn-info.focus,.runestone-sphinx fieldset[disabled] .btn-info:focus,.runestone-sphinx fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.ptx-runestone-container .btn-info .badge,.runestone-sphinx .btn-info .badge{background-color:#fff;color:#5bc0de}.ptx-runestone-container .btn-warning,.runestone-sphinx .btn-warning{background-color:#f0ad4e;border-color:#eea236;color:#fff}.ptx-runestone-container .btn-warning.focus,.ptx-runestone-container .btn-warning:focus,.runestone-sphinx .btn-warning.focus,.runestone-sphinx .btn-warning:focus{background-color:#ec971f;border-color:#985f0d;color:#fff}.ptx-runestone-container .btn-warning:hover,.runestone-sphinx .btn-warning:hover{background-color:#ec971f;border-color:#d58512;color:#fff}.ptx-runestone-container .btn-warning.active,.ptx-runestone-container .btn-warning:active,.ptx-runestone-container .open>.dropdown-toggle.btn-warning,.runestone-sphinx .btn-warning.active,.runestone-sphinx .btn-warning:active,.runestone-sphinx .open>.dropdown-toggle.btn-warning{background-color:#ec971f;background-image:none;border-color:#d58512;color:#fff}.ptx-runestone-container .btn-warning.active.focus,.ptx-runestone-container .btn-warning.active:focus,.ptx-runestone-container .btn-warning.active:hover,.ptx-runestone-container .btn-warning:active.focus,.ptx-runestone-container .btn-warning:active:focus,.ptx-runestone-container .btn-warning:active:hover,.ptx-runestone-container .open>.dropdown-toggle.btn-warning.focus,.ptx-runestone-container .open>.dropdown-toggle.btn-warning:focus,.ptx-runestone-container .open>.dropdown-toggle.btn-warning:hover,.runestone-sphinx .btn-warning.active.focus,.runestone-sphinx .btn-warning.active:focus,.runestone-sphinx .btn-warning.active:hover,.runestone-sphinx .btn-warning:active.focus,.runestone-sphinx .btn-warning:active:focus,.runestone-sphinx .btn-warning:active:hover,.runestone-sphinx .open>.dropdown-toggle.btn-warning.focus,.runestone-sphinx .open>.dropdown-toggle.btn-warning:focus,.runestone-sphinx .open>.dropdown-toggle.btn-warning:hover{background-color:#d58512;border-color:#985f0d;color:#fff}.ptx-runestone-container .btn-warning.disabled.focus,.ptx-runestone-container .btn-warning.disabled:focus,.ptx-runestone-container .btn-warning.disabled:hover,.ptx-runestone-container .btn-warning[disabled].focus,.ptx-runestone-container .btn-warning[disabled]:focus,.ptx-runestone-container .btn-warning[disabled]:hover,.ptx-runestone-container fieldset[disabled] .btn-warning.focus,.ptx-runestone-container fieldset[disabled] .btn-warning:focus,.ptx-runestone-container fieldset[disabled] .btn-warning:hover,.runestone-sphinx .btn-warning.disabled.focus,.runestone-sphinx .btn-warning.disabled:focus,.runestone-sphinx .btn-warning.disabled:hover,.runestone-sphinx .btn-warning[disabled].focus,.runestone-sphinx .btn-warning[disabled]:focus,.runestone-sphinx .btn-warning[disabled]:hover,.runestone-sphinx fieldset[disabled] .btn-warning.focus,.runestone-sphinx fieldset[disabled] .btn-warning:focus,.runestone-sphinx fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.ptx-runestone-container .btn-warning .badge,.runestone-sphinx .btn-warning .badge{background-color:#fff;color:#f0ad4e}.ptx-runestone-container .btn-danger,.runestone-sphinx .btn-danger{background-color:#d9534f;border-color:#d43f3a;color:#fff}.ptx-runestone-container .btn-danger.focus,.ptx-runestone-container .btn-danger:focus,.runestone-sphinx .btn-danger.focus,.runestone-sphinx .btn-danger:focus{background-color:#c9302c;border-color:#761c19;color:#fff}.ptx-runestone-container .btn-danger:hover,.runestone-sphinx .btn-danger:hover{background-color:#c9302c;border-color:#ac2925;color:#fff}.ptx-runestone-container .btn-danger.active,.ptx-runestone-container .btn-danger:active,.ptx-runestone-container .open>.dropdown-toggle.btn-danger,.runestone-sphinx .btn-danger.active,.runestone-sphinx .btn-danger:active,.runestone-sphinx .open>.dropdown-toggle.btn-danger{background-color:#c9302c;background-image:none;border-color:#ac2925;color:#fff}.ptx-runestone-container .btn-danger.active.focus,.ptx-runestone-container .btn-danger.active:focus,.ptx-runestone-container .btn-danger.active:hover,.ptx-runestone-container .btn-danger:active.focus,.ptx-runestone-container .btn-danger:active:focus,.ptx-runestone-container .btn-danger:active:hover,.ptx-runestone-container .open>.dropdown-toggle.btn-danger.focus,.ptx-runestone-container .open>.dropdown-toggle.btn-danger:focus,.ptx-runestone-container .open>.dropdown-toggle.btn-danger:hover,.runestone-sphinx .btn-danger.active.focus,.runestone-sphinx .btn-danger.active:focus,.runestone-sphinx .btn-danger.active:hover,.runestone-sphinx .btn-danger:active.focus,.runestone-sphinx .btn-danger:active:focus,.runestone-sphinx .btn-danger:active:hover,.runestone-sphinx .open>.dropdown-toggle.btn-danger.focus,.runestone-sphinx .open>.dropdown-toggle.btn-danger:focus,.runestone-sphinx .open>.dropdown-toggle.btn-danger:hover{background-color:#ac2925;border-color:#761c19;color:#fff}.ptx-runestone-container .btn-danger.disabled.focus,.ptx-runestone-container .btn-danger.disabled:focus,.ptx-runestone-container .btn-danger.disabled:hover,.ptx-runestone-container .btn-danger[disabled].focus,.ptx-runestone-container .btn-danger[disabled]:focus,.ptx-runestone-container .btn-danger[disabled]:hover,.ptx-runestone-container fieldset[disabled] .btn-danger.focus,.ptx-runestone-container fieldset[disabled] .btn-danger:focus,.ptx-runestone-container fieldset[disabled] .btn-danger:hover,.runestone-sphinx .btn-danger.disabled.focus,.runestone-sphinx .btn-danger.disabled:focus,.runestone-sphinx .btn-danger.disabled:hover,.runestone-sphinx .btn-danger[disabled].focus,.runestone-sphinx .btn-danger[disabled]:focus,.runestone-sphinx .btn-danger[disabled]:hover,.runestone-sphinx fieldset[disabled] .btn-danger.focus,.runestone-sphinx fieldset[disabled] .btn-danger:focus,.runestone-sphinx fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.ptx-runestone-container .btn-danger .badge,.runestone-sphinx .btn-danger .badge{background-color:#fff;color:#d9534f}.ptx-runestone-container .btn-link,.runestone-sphinx .btn-link{border-radius:0;color:#337ab7;font-weight:400}.ptx-runestone-container .btn-link,.ptx-runestone-container .btn-link.active,.ptx-runestone-container .btn-link:active,.ptx-runestone-container .btn-link[disabled],.ptx-runestone-container fieldset[disabled] .btn-link,.runestone-sphinx .btn-link,.runestone-sphinx .btn-link.active,.runestone-sphinx .btn-link:active,.runestone-sphinx .btn-link[disabled],.runestone-sphinx fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.ptx-runestone-container .btn-link,.ptx-runestone-container .btn-link:active,.ptx-runestone-container .btn-link:focus,.ptx-runestone-container .btn-link:hover,.runestone-sphinx .btn-link,.runestone-sphinx .btn-link:active,.runestone-sphinx .btn-link:focus,.runestone-sphinx .btn-link:hover{border-color:transparent}.ptx-runestone-container .btn-link:focus,.ptx-runestone-container .btn-link:hover,.runestone-sphinx .btn-link:focus,.runestone-sphinx .btn-link:hover{background-color:transparent;color:#23527c;text-decoration:underline}.ptx-runestone-container .btn-link[disabled]:focus,.ptx-runestone-container .btn-link[disabled]:hover,.ptx-runestone-container fieldset[disabled] .btn-link:focus,.ptx-runestone-container fieldset[disabled] .btn-link:hover,.runestone-sphinx .btn-link[disabled]:focus,.runestone-sphinx .btn-link[disabled]:hover,.runestone-sphinx fieldset[disabled] .btn-link:focus,.runestone-sphinx fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.ptx-runestone-container .btn-group-lg>.btn,.ptx-runestone-container .btn-lg,.runestone-sphinx .btn-group-lg>.btn,.runestone-sphinx .btn-lg{border-radius:6px;font-size:18px;line-height:1.3333333;padding:10px 16px}.ptx-runestone-container .btn-group-sm>.btn,.ptx-runestone-container .btn-sm,.runestone-sphinx .btn-group-sm>.btn,.runestone-sphinx .btn-sm{border-radius:3px;font-size:12px;line-height:1.5;padding:5px 10px}.ptx-runestone-container .btn-group-xs>.btn,.ptx-runestone-container .btn-xs,.runestone-sphinx .btn-group-xs>.btn,.runestone-sphinx .btn-xs{border-radius:3px;font-size:12px;line-height:1.5;padding:1px 5px}.ptx-runestone-container .btn-block,.runestone-sphinx .btn-block{display:block;width:100%}.ptx-runestone-container .btn-block+.btn-block,.runestone-sphinx .btn-block+.btn-block{margin-top:5px}.ptx-runestone-container input[type=button].btn-block,.ptx-runestone-container input[type=reset].btn-block,.ptx-runestone-container input[type=submit].btn-block,.runestone-sphinx input[type=button].btn-block,.runestone-sphinx input[type=reset].btn-block,.runestone-sphinx input[type=submit].btn-block{width:100%}.ptx-runestone-container .fade,.runestone-sphinx .fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.ptx-runestone-container .fade.in,.runestone-sphinx .fade.in{opacity:1}.ptx-runestone-container .collapse,.runestone-sphinx .collapse{display:none}.ptx-runestone-container .collapse.in,.runestone-sphinx .collapse.in{display:block}.ptx-runestone-container tr.collapse.in,.runestone-sphinx tr.collapse.in{display:table-row}.ptx-runestone-container tbody.collapse.in,.runestone-sphinx tbody.collapse.in{display:table-row-group}.ptx-runestone-container .collapsing,.runestone-sphinx .collapsing{height:0;overflow:hidden;position:relative;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.ptx-runestone-container .caret,.runestone-sphinx .caret{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px dashed;border-top:4px solid\9;display:inline-block;height:0;margin-left:2px;vertical-align:middle;width:0}.ptx-runestone-container .dropdown,.ptx-runestone-container .dropup,.runestone-sphinx .dropdown,.runestone-sphinx .dropup{position:relative}.ptx-runestone-container .dropdown-toggle:focus,.runestone-sphinx .dropdown-toggle:focus{outline:0}.ptx-runestone-container .dropdown-menu,.runestone-sphinx .dropdown-menu{background-clip:padding-box;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);display:none;float:left;font-size:14px;left:0;list-style:none;margin:2px 0 0;min-width:160px;padding:5px 0;position:absolute;text-align:left;top:100%;z-index:1000}.ptx-runestone-container .dropdown-menu.pull-right,.runestone-sphinx .dropdown-menu.pull-right{left:auto;right:0}.ptx-runestone-container .dropdown-menu .divider,.runestone-sphinx .dropdown-menu .divider{background-color:#e5e5e5;height:1px;margin:9px 0;overflow:hidden}.ptx-runestone-container .dropdown-menu>li>a,.runestone-sphinx .dropdown-menu>li>a{clear:both;color:#333;display:block;font-weight:400;line-height:1.42857143;padding:3px 20px;white-space:nowrap}.ptx-runestone-container .dropdown-menu>li>a:focus,.ptx-runestone-container .dropdown-menu>li>a:hover,.runestone-sphinx .dropdown-menu>li>a:focus,.runestone-sphinx .dropdown-menu>li>a:hover{background-color:#f5f5f5;color:#262626;text-decoration:none}.ptx-runestone-container .dropdown-menu>.active>a,.ptx-runestone-container .dropdown-menu>.active>a:focus,.ptx-runestone-container .dropdown-menu>.active>a:hover,.runestone-sphinx .dropdown-menu>.active>a,.runestone-sphinx .dropdown-menu>.active>a:focus,.runestone-sphinx .dropdown-menu>.active>a:hover{background-color:#337ab7;color:#fff;outline:0;text-decoration:none}.ptx-runestone-container .dropdown-menu>.disabled>a,.ptx-runestone-container .dropdown-menu>.disabled>a:focus,.ptx-runestone-container .dropdown-menu>.disabled>a:hover,.runestone-sphinx .dropdown-menu>.disabled>a,.runestone-sphinx .dropdown-menu>.disabled>a:focus,.runestone-sphinx .dropdown-menu>.disabled>a:hover{color:#777}.ptx-runestone-container .dropdown-menu>.disabled>a:focus,.ptx-runestone-container .dropdown-menu>.disabled>a:hover,.runestone-sphinx .dropdown-menu>.disabled>a:focus,.runestone-sphinx .dropdown-menu>.disabled>a:hover{background-color:transparent;background-image:none;cursor:not-allowed;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);text-decoration:none}.ptx-runestone-container .open>.dropdown-menu,.runestone-sphinx .open>.dropdown-menu{display:block}.ptx-runestone-container .open>a,.runestone-sphinx .open>a{outline:0}.ptx-runestone-container .dropdown-menu-right,.runestone-sphinx .dropdown-menu-right{left:auto;right:0}.ptx-runestone-container .dropdown-menu-left,.runestone-sphinx .dropdown-menu-left{left:0;right:auto}.ptx-runestone-container .dropdown-header,.runestone-sphinx .dropdown-header{color:#777;display:block;font-size:12px;line-height:1.42857143;padding:3px 20px;white-space:nowrap}.ptx-runestone-container .dropdown-backdrop,.runestone-sphinx .dropdown-backdrop{bottom:0;left:0;position:fixed;right:0;top:0;z-index:990}.ptx-runestone-container .pull-right>.dropdown-menu,.runestone-sphinx .pull-right>.dropdown-menu{left:auto;right:0}.ptx-runestone-container .dropup .caret,.ptx-runestone-container .navbar-fixed-bottom .dropdown .caret,.runestone-sphinx .dropup .caret,.runestone-sphinx .navbar-fixed-bottom .dropdown .caret{border-bottom:4px dashed;border-bottom:4px solid\9;border-top:0;content:""}.ptx-runestone-container .dropup .dropdown-menu,.ptx-runestone-container .navbar-fixed-bottom .dropdown .dropdown-menu,.runestone-sphinx .dropup .dropdown-menu,.runestone-sphinx .navbar-fixed-bottom .dropdown .dropdown-menu{bottom:100%;margin-bottom:2px;top:auto}@media (min-width:768px){.ptx-runestone-container .navbar-right .dropdown-menu,.runestone-sphinx .navbar-right .dropdown-menu{left:auto;right:0}.ptx-runestone-container .navbar-right .dropdown-menu-left,.runestone-sphinx .navbar-right .dropdown-menu-left{left:0;right:auto}}.ptx-runestone-container .btn-group,.ptx-runestone-container .btn-group-vertical,.runestone-sphinx .btn-group,.runestone-sphinx .btn-group-vertical{display:inline-block;position:relative;vertical-align:middle}.ptx-runestone-container .btn-group-vertical>.btn,.ptx-runestone-container .btn-group>.btn,.runestone-sphinx .btn-group-vertical>.btn,.runestone-sphinx .btn-group>.btn{float:left;position:relative}.ptx-runestone-container .btn-group-vertical>.btn.active,.ptx-runestone-container .btn-group-vertical>.btn:active,.ptx-runestone-container .btn-group-vertical>.btn:focus,.ptx-runestone-container .btn-group-vertical>.btn:hover,.ptx-runestone-container .btn-group>.btn.active,.ptx-runestone-container .btn-group>.btn:active,.ptx-runestone-container .btn-group>.btn:focus,.ptx-runestone-container .btn-group>.btn:hover,.runestone-sphinx .btn-group-vertical>.btn.active,.runestone-sphinx .btn-group-vertical>.btn:active,.runestone-sphinx .btn-group-vertical>.btn:focus,.runestone-sphinx .btn-group-vertical>.btn:hover,.runestone-sphinx .btn-group>.btn.active,.runestone-sphinx .btn-group>.btn:active,.runestone-sphinx .btn-group>.btn:focus,.runestone-sphinx .btn-group>.btn:hover{z-index:2}.ptx-runestone-container .btn-group .btn+.btn,.ptx-runestone-container .btn-group .btn+.btn-group,.ptx-runestone-container .btn-group .btn-group+.btn,.ptx-runestone-container .btn-group .btn-group+.btn-group,.runestone-sphinx .btn-group .btn+.btn,.runestone-sphinx .btn-group .btn+.btn-group,.runestone-sphinx .btn-group .btn-group+.btn,.runestone-sphinx .btn-group .btn-group+.btn-group{margin-left:-1px}.ptx-runestone-container .btn-toolbar,.runestone-sphinx .btn-toolbar{margin-left:-5px}.ptx-runestone-container .btn-toolbar .btn,.ptx-runestone-container .btn-toolbar .btn-group,.ptx-runestone-container .btn-toolbar .input-group,.runestone-sphinx .btn-toolbar .btn,.runestone-sphinx .btn-toolbar .btn-group,.runestone-sphinx .btn-toolbar .input-group{float:left}.ptx-runestone-container .btn-toolbar>.btn,.ptx-runestone-container .btn-toolbar>.btn-group,.ptx-runestone-container .btn-toolbar>.input-group,.runestone-sphinx .btn-toolbar>.btn,.runestone-sphinx .btn-toolbar>.btn-group,.runestone-sphinx .btn-toolbar>.input-group{margin-left:5px}.ptx-runestone-container .btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle),.runestone-sphinx .btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.ptx-runestone-container .btn-group>.btn:first-child,.runestone-sphinx .btn-group>.btn:first-child{margin-left:0}.ptx-runestone-container .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle),.runestone-sphinx .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.ptx-runestone-container .btn-group>.btn:last-child:not(:first-child),.ptx-runestone-container .btn-group>.dropdown-toggle:not(:first-child),.runestone-sphinx .btn-group>.btn:last-child:not(:first-child),.runestone-sphinx .btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.ptx-runestone-container .btn-group>.btn-group,.runestone-sphinx .btn-group>.btn-group{float:left}.ptx-runestone-container .btn-group>.btn-group:not(:first-child):not(:last-child)>.btn,.runestone-sphinx .btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.ptx-runestone-container .btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.ptx-runestone-container .btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle,.runestone-sphinx .btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.runestone-sphinx .btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.ptx-runestone-container .btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child,.runestone-sphinx .btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.ptx-runestone-container .btn-group .dropdown-toggle:active,.ptx-runestone-container .btn-group.open .dropdown-toggle,.runestone-sphinx .btn-group .dropdown-toggle:active,.runestone-sphinx .btn-group.open .dropdown-toggle{outline:0}.ptx-runestone-container .btn-group>.btn+.dropdown-toggle,.runestone-sphinx .btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.ptx-runestone-container .btn-group>.btn-lg+.dropdown-toggle,.runestone-sphinx .btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.ptx-runestone-container .btn-group.open .dropdown-toggle,.runestone-sphinx .btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.ptx-runestone-container .btn-group.open .dropdown-toggle.btn-link,.runestone-sphinx .btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.ptx-runestone-container .btn .caret,.runestone-sphinx .btn .caret{margin-left:0}.ptx-runestone-container .btn-lg .caret,.runestone-sphinx .btn-lg .caret{border-width:5px 5px 0}.ptx-runestone-container .dropup .btn-lg .caret,.runestone-sphinx .dropup .btn-lg .caret{border-width:0 5px 5px}.ptx-runestone-container .btn-group-vertical>.btn,.ptx-runestone-container .btn-group-vertical>.btn-group,.ptx-runestone-container .btn-group-vertical>.btn-group>.btn,.runestone-sphinx .btn-group-vertical>.btn,.runestone-sphinx .btn-group-vertical>.btn-group,.runestone-sphinx .btn-group-vertical>.btn-group>.btn{display:block;float:none;max-width:100%;width:100%}.ptx-runestone-container .btn-group-vertical>.btn-group>.btn,.runestone-sphinx .btn-group-vertical>.btn-group>.btn{float:none}.ptx-runestone-container .btn-group-vertical>.btn+.btn,.ptx-runestone-container .btn-group-vertical>.btn+.btn-group,.ptx-runestone-container .btn-group-vertical>.btn-group+.btn,.ptx-runestone-container .btn-group-vertical>.btn-group+.btn-group,.runestone-sphinx .btn-group-vertical>.btn+.btn,.runestone-sphinx .btn-group-vertical>.btn+.btn-group,.runestone-sphinx .btn-group-vertical>.btn-group+.btn,.runestone-sphinx .btn-group-vertical>.btn-group+.btn-group{margin-left:0;margin-top:-1px}.ptx-runestone-container .btn-group-vertical>.btn:not(:first-child):not(:last-child),.runestone-sphinx .btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.ptx-runestone-container .btn-group-vertical>.btn:first-child:not(:last-child),.runestone-sphinx .btn-group-vertical>.btn:first-child:not(:last-child){border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:4px;border-top-right-radius:4px}.ptx-runestone-container .btn-group-vertical>.btn:last-child:not(:first-child),.runestone-sphinx .btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-top-left-radius:0;border-top-right-radius:0}.ptx-runestone-container .btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn,.runestone-sphinx .btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.ptx-runestone-container .btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.ptx-runestone-container .btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle,.runestone-sphinx .btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.runestone-sphinx .btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-left-radius:0;border-bottom-right-radius:0}.ptx-runestone-container .btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child,.runestone-sphinx .btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.ptx-runestone-container .btn-group-justified,.runestone-sphinx .btn-group-justified{border-collapse:separate;display:table;table-layout:fixed;width:100%}.ptx-runestone-container .btn-group-justified>.btn,.ptx-runestone-container .btn-group-justified>.btn-group,.runestone-sphinx .btn-group-justified>.btn,.runestone-sphinx .btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.ptx-runestone-container .btn-group-justified>.btn-group .btn,.runestone-sphinx .btn-group-justified>.btn-group .btn{width:100%}.ptx-runestone-container .btn-group-justified>.btn-group .dropdown-menu,.runestone-sphinx .btn-group-justified>.btn-group .dropdown-menu{left:auto}.ptx-runestone-container [data-toggle=buttons]>.btn input[type=checkbox],.ptx-runestone-container [data-toggle=buttons]>.btn input[type=radio],.ptx-runestone-container [data-toggle=buttons]>.btn-group>.btn input[type=checkbox],.ptx-runestone-container [data-toggle=buttons]>.btn-group>.btn input[type=radio],.runestone-sphinx [data-toggle=buttons]>.btn input[type=checkbox],.runestone-sphinx [data-toggle=buttons]>.btn input[type=radio],.runestone-sphinx [data-toggle=buttons]>.btn-group>.btn input[type=checkbox],.runestone-sphinx [data-toggle=buttons]>.btn-group>.btn input[type=radio]{clip:rect(0,0,0,0);pointer-events:none;position:absolute}.ptx-runestone-container .input-group,.runestone-sphinx .input-group{border-collapse:separate;display:table;position:relative}.ptx-runestone-container .input-group[class*=col-],.runestone-sphinx .input-group[class*=col-]{float:none;padding-left:0;padding-right:0}.ptx-runestone-container .input-group .form-control,.runestone-sphinx .input-group .form-control{float:left;margin-bottom:0;position:relative;width:100%;z-index:2}.ptx-runestone-container .input-group .form-control:focus,.runestone-sphinx .input-group .form-control:focus{z-index:3}.ptx-runestone-container .input-group-lg>.form-control,.ptx-runestone-container .input-group-lg>.input-group-addon,.ptx-runestone-container .input-group-lg>.input-group-btn>.btn,.runestone-sphinx .input-group-lg>.form-control,.runestone-sphinx .input-group-lg>.input-group-addon,.runestone-sphinx .input-group-lg>.input-group-btn>.btn{border-radius:6px;font-size:18px;height:46px;line-height:1.3333333;padding:10px 16px}.ptx-runestone-container select.input-group-lg>.form-control,.ptx-runestone-container select.input-group-lg>.input-group-addon,.ptx-runestone-container select.input-group-lg>.input-group-btn>.btn,.runestone-sphinx select.input-group-lg>.form-control,.runestone-sphinx select.input-group-lg>.input-group-addon,.runestone-sphinx select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}.ptx-runestone-container select[multiple].input-group-lg>.form-control,.ptx-runestone-container select[multiple].input-group-lg>.input-group-addon,.ptx-runestone-container select[multiple].input-group-lg>.input-group-btn>.btn,.ptx-runestone-container textarea.input-group-lg>.form-control,.ptx-runestone-container textarea.input-group-lg>.input-group-addon,.ptx-runestone-container textarea.input-group-lg>.input-group-btn>.btn,.runestone-sphinx select[multiple].input-group-lg>.form-control,.runestone-sphinx select[multiple].input-group-lg>.input-group-addon,.runestone-sphinx select[multiple].input-group-lg>.input-group-btn>.btn,.runestone-sphinx textarea.input-group-lg>.form-control,.runestone-sphinx textarea.input-group-lg>.input-group-addon,.runestone-sphinx textarea.input-group-lg>.input-group-btn>.btn{height:auto}.ptx-runestone-container .input-group-sm>.form-control,.ptx-runestone-container .input-group-sm>.input-group-addon,.ptx-runestone-container .input-group-sm>.input-group-btn>.btn,.runestone-sphinx .input-group-sm>.form-control,.runestone-sphinx .input-group-sm>.input-group-addon,.runestone-sphinx .input-group-sm>.input-group-btn>.btn{border-radius:3px;font-size:12px;height:30px;line-height:1.5;padding:5px 10px}.ptx-runestone-container select.input-group-sm>.form-control,.ptx-runestone-container select.input-group-sm>.input-group-addon,.ptx-runestone-container select.input-group-sm>.input-group-btn>.btn,.runestone-sphinx select.input-group-sm>.form-control,.runestone-sphinx select.input-group-sm>.input-group-addon,.runestone-sphinx select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}.ptx-runestone-container select[multiple].input-group-sm>.form-control,.ptx-runestone-container select[multiple].input-group-sm>.input-group-addon,.ptx-runestone-container select[multiple].input-group-sm>.input-group-btn>.btn,.ptx-runestone-container textarea.input-group-sm>.form-control,.ptx-runestone-container textarea.input-group-sm>.input-group-addon,.ptx-runestone-container textarea.input-group-sm>.input-group-btn>.btn,.runestone-sphinx select[multiple].input-group-sm>.form-control,.runestone-sphinx select[multiple].input-group-sm>.input-group-addon,.runestone-sphinx select[multiple].input-group-sm>.input-group-btn>.btn,.runestone-sphinx textarea.input-group-sm>.form-control,.runestone-sphinx textarea.input-group-sm>.input-group-addon,.runestone-sphinx textarea.input-group-sm>.input-group-btn>.btn{height:auto}.ptx-runestone-container .input-group .form-control,.ptx-runestone-container .input-group-addon,.ptx-runestone-container .input-group-btn,.runestone-sphinx .input-group .form-control,.runestone-sphinx .input-group-addon,.runestone-sphinx .input-group-btn{display:table-cell}.ptx-runestone-container .input-group .form-control:not(:first-child):not(:last-child),.ptx-runestone-container .input-group-addon:not(:first-child):not(:last-child),.ptx-runestone-container .input-group-btn:not(:first-child):not(:last-child),.runestone-sphinx .input-group .form-control:not(:first-child):not(:last-child),.runestone-sphinx .input-group-addon:not(:first-child):not(:last-child),.runestone-sphinx .input-group-btn:not(:first-child):not(:last-child){border-radius:0}.ptx-runestone-container .input-group-addon,.ptx-runestone-container .input-group-btn,.runestone-sphinx .input-group-addon,.runestone-sphinx .input-group-btn{vertical-align:middle;white-space:nowrap;width:1%}.ptx-runestone-container .input-group-addon,.runestone-sphinx .input-group-addon{background-color:#eee;border:1px solid #ccc;border-radius:4px;color:#555;font-size:14px;font-weight:400;line-height:1;padding:6px 12px;text-align:center}.ptx-runestone-container .input-group-addon.input-sm,.runestone-sphinx .input-group-addon.input-sm{border-radius:3px;font-size:12px;padding:5px 10px}.ptx-runestone-container .input-group-addon.input-lg,.runestone-sphinx .input-group-addon.input-lg{border-radius:6px;font-size:18px;padding:10px 16px}.ptx-runestone-container .input-group-addon input[type=checkbox],.ptx-runestone-container .input-group-addon input[type=radio],.runestone-sphinx .input-group-addon input[type=checkbox],.runestone-sphinx .input-group-addon input[type=radio]{margin-top:0}.ptx-runestone-container .input-group .form-control:first-child,.ptx-runestone-container .input-group-addon:first-child,.ptx-runestone-container .input-group-btn:first-child>.btn,.ptx-runestone-container .input-group-btn:first-child>.btn-group>.btn,.ptx-runestone-container .input-group-btn:first-child>.dropdown-toggle,.ptx-runestone-container .input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.ptx-runestone-container .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.runestone-sphinx .input-group .form-control:first-child,.runestone-sphinx .input-group-addon:first-child,.runestone-sphinx .input-group-btn:first-child>.btn,.runestone-sphinx .input-group-btn:first-child>.btn-group>.btn,.runestone-sphinx .input-group-btn:first-child>.dropdown-toggle,.runestone-sphinx .input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.runestone-sphinx .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.ptx-runestone-container .input-group-addon:first-child,.runestone-sphinx .input-group-addon:first-child{border-right:0}.ptx-runestone-container .input-group .form-control:last-child,.ptx-runestone-container .input-group-addon:last-child,.ptx-runestone-container .input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.ptx-runestone-container .input-group-btn:first-child>.btn:not(:first-child),.ptx-runestone-container .input-group-btn:last-child>.btn,.ptx-runestone-container .input-group-btn:last-child>.btn-group>.btn,.ptx-runestone-container .input-group-btn:last-child>.dropdown-toggle,.runestone-sphinx .input-group .form-control:last-child,.runestone-sphinx .input-group-addon:last-child,.runestone-sphinx .input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.runestone-sphinx .input-group-btn:first-child>.btn:not(:first-child),.runestone-sphinx .input-group-btn:last-child>.btn,.runestone-sphinx .input-group-btn:last-child>.btn-group>.btn,.runestone-sphinx .input-group-btn:last-child>.dropdown-toggle{border-bottom-left-radius:0;border-top-left-radius:0}.ptx-runestone-container .input-group-addon:last-child,.runestone-sphinx .input-group-addon:last-child{border-left:0}.ptx-runestone-container .input-group-btn,.runestone-sphinx .input-group-btn{font-size:0;position:relative;white-space:nowrap}.ptx-runestone-container .input-group-btn>.btn,.runestone-sphinx .input-group-btn>.btn{position:relative}.ptx-runestone-container .input-group-btn>.btn+.btn,.runestone-sphinx .input-group-btn>.btn+.btn{margin-left:-1px}.ptx-runestone-container .input-group-btn>.btn:active,.ptx-runestone-container .input-group-btn>.btn:focus,.ptx-runestone-container .input-group-btn>.btn:hover,.runestone-sphinx .input-group-btn>.btn:active,.runestone-sphinx .input-group-btn>.btn:focus,.runestone-sphinx .input-group-btn>.btn:hover{z-index:2}.ptx-runestone-container .input-group-btn:first-child>.btn,.ptx-runestone-container .input-group-btn:first-child>.btn-group,.runestone-sphinx .input-group-btn:first-child>.btn,.runestone-sphinx .input-group-btn:first-child>.btn-group{margin-right:-1px}.ptx-runestone-container .input-group-btn:last-child>.btn,.ptx-runestone-container .input-group-btn:last-child>.btn-group,.runestone-sphinx .input-group-btn:last-child>.btn,.runestone-sphinx .input-group-btn:last-child>.btn-group{margin-left:-1px;z-index:2}.ptx-runestone-container .nav,.runestone-sphinx .nav{list-style:none;margin-bottom:0;padding-left:0}.ptx-runestone-container .nav>li,.runestone-sphinx .nav>li{display:block;position:relative}.ptx-runestone-container .nav>li>a,.runestone-sphinx .nav>li>a{display:block;padding:10px 15px;position:relative}.ptx-runestone-container .nav>li>a:focus,.ptx-runestone-container .nav>li>a:hover,.runestone-sphinx .nav>li>a:focus,.runestone-sphinx .nav>li>a:hover{background-color:#eee;text-decoration:none}.ptx-runestone-container .nav>li.disabled>a,.runestone-sphinx .nav>li.disabled>a{color:#777}.ptx-runestone-container .nav>li.disabled>a:focus,.ptx-runestone-container .nav>li.disabled>a:hover,.runestone-sphinx .nav>li.disabled>a:focus,.runestone-sphinx .nav>li.disabled>a:hover{background-color:transparent;color:#777;cursor:not-allowed;text-decoration:none}.ptx-runestone-container .nav .open>a,.ptx-runestone-container .nav .open>a:focus,.ptx-runestone-container .nav .open>a:hover,.runestone-sphinx .nav .open>a,.runestone-sphinx .nav .open>a:focus,.runestone-sphinx .nav .open>a:hover{background-color:#eee;border-color:#337ab7}.ptx-runestone-container .nav .nav-divider,.runestone-sphinx .nav .nav-divider{background-color:#e5e5e5;height:1px;margin:9px 0;overflow:hidden}.ptx-runestone-container .nav>li>a>img,.runestone-sphinx .nav>li>a>img{max-width:none}.ptx-runestone-container .nav-tabs,.runestone-sphinx .nav-tabs{border-bottom:1px solid #ddd}.ptx-runestone-container .nav-tabs>li,.runestone-sphinx .nav-tabs>li{float:left;margin-bottom:-1px}.ptx-runestone-container .nav-tabs>li>a,.runestone-sphinx .nav-tabs>li>a{border:1px solid transparent;border-radius:4px 4px 0 0;line-height:1.42857143;margin-right:2px}.ptx-runestone-container .nav-tabs>li>a:hover,.runestone-sphinx .nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.ptx-runestone-container .nav-tabs>li.active>a,.ptx-runestone-container .nav-tabs>li.active>a:focus,.ptx-runestone-container .nav-tabs>li.active>a:hover,.runestone-sphinx .nav-tabs>li.active>a,.runestone-sphinx .nav-tabs>li.active>a:focus,.runestone-sphinx .nav-tabs>li.active>a:hover{background-color:#fff;border:1px solid;border-color:#ddd #ddd transparent;color:#555;cursor:default}.ptx-runestone-container .nav-tabs.nav-justified,.runestone-sphinx .nav-tabs.nav-justified{border-bottom:0;width:100%}.ptx-runestone-container .nav-tabs.nav-justified>li,.runestone-sphinx .nav-tabs.nav-justified>li{float:none}.ptx-runestone-container .nav-tabs.nav-justified>li>a,.runestone-sphinx .nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.ptx-runestone-container .nav-tabs.nav-justified>.dropdown .dropdown-menu,.runestone-sphinx .nav-tabs.nav-justified>.dropdown .dropdown-menu{left:auto;top:auto}@media (min-width:768px){.ptx-runestone-container .nav-tabs.nav-justified>li,.runestone-sphinx .nav-tabs.nav-justified>li{display:table-cell;width:1%}.ptx-runestone-container .nav-tabs.nav-justified>li>a,.runestone-sphinx .nav-tabs.nav-justified>li>a{margin-bottom:0}}.ptx-runestone-container .nav-tabs.nav-justified>li>a,.runestone-sphinx .nav-tabs.nav-justified>li>a{border-radius:4px;margin-right:0}.ptx-runestone-container .nav-tabs.nav-justified>.active>a,.ptx-runestone-container .nav-tabs.nav-justified>.active>a:focus,.ptx-runestone-container .nav-tabs.nav-justified>.active>a:hover,.runestone-sphinx .nav-tabs.nav-justified>.active>a,.runestone-sphinx .nav-tabs.nav-justified>.active>a:focus,.runestone-sphinx .nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.ptx-runestone-container .nav-tabs.nav-justified>li>a,.runestone-sphinx .nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.ptx-runestone-container .nav-tabs.nav-justified>.active>a,.ptx-runestone-container .nav-tabs.nav-justified>.active>a:focus,.ptx-runestone-container .nav-tabs.nav-justified>.active>a:hover,.runestone-sphinx .nav-tabs.nav-justified>.active>a,.runestone-sphinx .nav-tabs.nav-justified>.active>a:focus,.runestone-sphinx .nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.ptx-runestone-container .nav-pills>li,.runestone-sphinx .nav-pills>li{float:left}.ptx-runestone-container .nav-pills>li>a,.runestone-sphinx .nav-pills>li>a{border-radius:4px}.ptx-runestone-container .nav-pills>li+li,.runestone-sphinx .nav-pills>li+li{margin-left:2px}.ptx-runestone-container .nav-pills>li.active>a,.ptx-runestone-container .nav-pills>li.active>a:focus,.ptx-runestone-container .nav-pills>li.active>a:hover,.runestone-sphinx .nav-pills>li.active>a,.runestone-sphinx .nav-pills>li.active>a:focus,.runestone-sphinx .nav-pills>li.active>a:hover{background-color:#337ab7;color:#fff}.ptx-runestone-container .nav-stacked>li,.runestone-sphinx .nav-stacked>li{float:none}.ptx-runestone-container .nav-stacked>li+li,.runestone-sphinx .nav-stacked>li+li{margin-left:0;margin-top:2px}.ptx-runestone-container .nav-justified,.runestone-sphinx .nav-justified{width:100%}.ptx-runestone-container .nav-justified>li,.runestone-sphinx .nav-justified>li{float:none}.ptx-runestone-container .nav-justified>li>a,.runestone-sphinx .nav-justified>li>a{margin-bottom:5px;text-align:center}.ptx-runestone-container .nav-justified>.dropdown .dropdown-menu,.runestone-sphinx .nav-justified>.dropdown .dropdown-menu{left:auto;top:auto}@media (min-width:768px){.ptx-runestone-container .nav-justified>li,.runestone-sphinx .nav-justified>li{display:table-cell;width:1%}.ptx-runestone-container .nav-justified>li>a,.runestone-sphinx .nav-justified>li>a{margin-bottom:0}}.ptx-runestone-container .nav-tabs-justified,.runestone-sphinx .nav-tabs-justified{border-bottom:0}.ptx-runestone-container .nav-tabs-justified>li>a,.runestone-sphinx .nav-tabs-justified>li>a{border-radius:4px;margin-right:0}.ptx-runestone-container .nav-tabs-justified>.active>a,.ptx-runestone-container .nav-tabs-justified>.active>a:focus,.ptx-runestone-container .nav-tabs-justified>.active>a:hover,.runestone-sphinx .nav-tabs-justified>.active>a,.runestone-sphinx .nav-tabs-justified>.active>a:focus,.runestone-sphinx .nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.ptx-runestone-container .nav-tabs-justified>li>a,.runestone-sphinx .nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.ptx-runestone-container .nav-tabs-justified>.active>a,.ptx-runestone-container .nav-tabs-justified>.active>a:focus,.ptx-runestone-container .nav-tabs-justified>.active>a:hover,.runestone-sphinx .nav-tabs-justified>.active>a,.runestone-sphinx .nav-tabs-justified>.active>a:focus,.runestone-sphinx .nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.ptx-runestone-container .tab-content>.tab-pane,.runestone-sphinx .tab-content>.tab-pane{display:none}.ptx-runestone-container .tab-content>.active,.runestone-sphinx .tab-content>.active{display:block}.ptx-runestone-container .nav-tabs .dropdown-menu,.runestone-sphinx .nav-tabs .dropdown-menu{border-top-left-radius:0;border-top-right-radius:0;margin-top:-1px}.ptx-runestone-container .navbar,.runestone-sphinx .navbar{border:1px solid transparent;margin-bottom:20px;min-height:50px;position:relative}@media (min-width:768px){.ptx-runestone-container .navbar,.runestone-sphinx .navbar{border-radius:4px}.ptx-runestone-container .navbar-header,.runestone-sphinx .navbar-header{float:left}}.ptx-runestone-container .navbar-collapse,.runestone-sphinx .navbar-collapse{-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1);overflow-x:visible;padding-left:15px;padding-right:15px}.ptx-runestone-container .navbar-collapse.in,.runestone-sphinx .navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.ptx-runestone-container .navbar-collapse,.runestone-sphinx .navbar-collapse{border-top:0;-webkit-box-shadow:none;box-shadow:none;width:auto}.ptx-runestone-container .navbar-collapse.collapse,.runestone-sphinx .navbar-collapse.collapse{display:block!important;height:auto!important;overflow:visible!important;padding-bottom:0}.ptx-runestone-container .navbar-collapse.in,.runestone-sphinx .navbar-collapse.in{overflow-y:visible}.ptx-runestone-container .navbar-fixed-bottom .navbar-collapse,.ptx-runestone-container .navbar-fixed-top .navbar-collapse,.ptx-runestone-container .navbar-static-top .navbar-collapse,.runestone-sphinx .navbar-fixed-bottom .navbar-collapse,.runestone-sphinx .navbar-fixed-top .navbar-collapse,.runestone-sphinx .navbar-static-top .navbar-collapse{padding-left:0;padding-right:0}}.ptx-runestone-container .navbar-fixed-bottom,.ptx-runestone-container .navbar-fixed-top,.runestone-sphinx .navbar-fixed-bottom,.runestone-sphinx .navbar-fixed-top{left:0;position:fixed;right:0;z-index:1030}.ptx-runestone-container .navbar-fixed-bottom .navbar-collapse,.ptx-runestone-container .navbar-fixed-top .navbar-collapse,.runestone-sphinx .navbar-fixed-bottom .navbar-collapse,.runestone-sphinx .navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.ptx-runestone-container .navbar-fixed-bottom .navbar-collapse,.ptx-runestone-container .navbar-fixed-top .navbar-collapse,.runestone-sphinx .navbar-fixed-bottom .navbar-collapse,.runestone-sphinx .navbar-fixed-top .navbar-collapse{max-height:200px}}@media (min-width:768px){.ptx-runestone-container .navbar-fixed-bottom,.ptx-runestone-container .navbar-fixed-top,.runestone-sphinx .navbar-fixed-bottom,.runestone-sphinx .navbar-fixed-top{border-radius:0}}.ptx-runestone-container .navbar-fixed-top,.runestone-sphinx .navbar-fixed-top{border-width:0 0 1px;top:0}.ptx-runestone-container .navbar-fixed-bottom,.runestone-sphinx .navbar-fixed-bottom{border-width:1px 0 0;bottom:0;margin-bottom:0}.ptx-runestone-container .container-fluid>.navbar-collapse,.ptx-runestone-container .container-fluid>.navbar-header,.ptx-runestone-container .container>.navbar-collapse,.ptx-runestone-container .container>.navbar-header,.runestone-sphinx .container-fluid>.navbar-collapse,.runestone-sphinx .container-fluid>.navbar-header,.runestone-sphinx .container>.navbar-collapse,.runestone-sphinx .container>.navbar-header{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.ptx-runestone-container .container-fluid>.navbar-collapse,.ptx-runestone-container .container-fluid>.navbar-header,.ptx-runestone-container .container>.navbar-collapse,.ptx-runestone-container .container>.navbar-header,.runestone-sphinx .container-fluid>.navbar-collapse,.runestone-sphinx .container-fluid>.navbar-header,.runestone-sphinx .container>.navbar-collapse,.runestone-sphinx .container>.navbar-header{margin-left:0;margin-right:0}}.ptx-runestone-container .navbar-static-top,.runestone-sphinx .navbar-static-top{border-width:0 0 1px;z-index:1000}@media (min-width:768px){.ptx-runestone-container .navbar-static-top,.runestone-sphinx .navbar-static-top{border-radius:0}}.ptx-runestone-container .navbar-brand,.runestone-sphinx .navbar-brand{float:left;font-size:18px;height:50px;line-height:20px;padding:15px}.ptx-runestone-container .navbar-brand:focus,.ptx-runestone-container .navbar-brand:hover,.runestone-sphinx .navbar-brand:focus,.runestone-sphinx .navbar-brand:hover{text-decoration:none}.ptx-runestone-container .navbar-brand>img,.runestone-sphinx .navbar-brand>img{display:block}@media (min-width:768px){.ptx-runestone-container .navbar>.container .navbar-brand,.ptx-runestone-container .navbar>.container-fluid .navbar-brand,.runestone-sphinx .navbar>.container .navbar-brand,.runestone-sphinx .navbar>.container-fluid .navbar-brand{margin-left:-15px}}.ptx-runestone-container .navbar-toggle,.runestone-sphinx .navbar-toggle{background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px;float:right;margin-bottom:8px;margin-right:15px;margin-top:8px;padding:9px 10px;position:relative}.ptx-runestone-container .navbar-toggle:focus,.runestone-sphinx .navbar-toggle:focus{outline:0}.ptx-runestone-container .navbar-toggle .icon-bar,.runestone-sphinx .navbar-toggle .icon-bar{border-radius:1px;display:block;height:2px;width:22px}.ptx-runestone-container .navbar-toggle .icon-bar+.icon-bar,.runestone-sphinx .navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.ptx-runestone-container .navbar-toggle,.runestone-sphinx .navbar-toggle{display:none}}.ptx-runestone-container .navbar-nav,.runestone-sphinx .navbar-nav{margin:7.5px -15px}.ptx-runestone-container .navbar-nav>li>a,.runestone-sphinx .navbar-nav>li>a{line-height:20px;padding-bottom:10px;padding-top:10px}@media (max-width:767px){.ptx-runestone-container .navbar-nav .open .dropdown-menu,.runestone-sphinx .navbar-nav .open .dropdown-menu{background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none;float:none;margin-top:0;position:static;width:auto}.ptx-runestone-container .navbar-nav .open .dropdown-menu .dropdown-header,.ptx-runestone-container .navbar-nav .open .dropdown-menu>li>a,.runestone-sphinx .navbar-nav .open .dropdown-menu .dropdown-header,.runestone-sphinx .navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.ptx-runestone-container .navbar-nav .open .dropdown-menu>li>a,.runestone-sphinx .navbar-nav .open .dropdown-menu>li>a{line-height:20px}.ptx-runestone-container .navbar-nav .open .dropdown-menu>li>a:focus,.ptx-runestone-container .navbar-nav .open .dropdown-menu>li>a:hover,.runestone-sphinx .navbar-nav .open .dropdown-menu>li>a:focus,.runestone-sphinx .navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.ptx-runestone-container .navbar-nav,.runestone-sphinx .navbar-nav{float:left;margin:0}.ptx-runestone-container .navbar-nav>li,.runestone-sphinx .navbar-nav>li{float:left}.ptx-runestone-container .navbar-nav>li>a,.runestone-sphinx .navbar-nav>li>a{padding-bottom:15px;padding-top:15px}}.ptx-runestone-container .navbar-form,.runestone-sphinx .navbar-form{border-bottom:1px solid transparent;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1),0 1px 0 hsla(0,0%,100%,.1);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1),0 1px 0 hsla(0,0%,100%,.1);margin:8px -15px;padding:10px 15px}@media (min-width:768px){.ptx-runestone-container .navbar-form .form-group,.runestone-sphinx .navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.ptx-runestone-container .navbar-form .form-control,.runestone-sphinx .navbar-form .form-control{display:inline-block;vertical-align:middle;width:auto}.ptx-runestone-container .navbar-form .form-control-static,.runestone-sphinx .navbar-form .form-control-static{display:inline-block}.ptx-runestone-container .navbar-form .input-group,.runestone-sphinx .navbar-form .input-group{display:inline-table;vertical-align:middle}.ptx-runestone-container .navbar-form .input-group .form-control,.ptx-runestone-container .navbar-form .input-group .input-group-addon,.ptx-runestone-container .navbar-form .input-group .input-group-btn,.runestone-sphinx .navbar-form .input-group .form-control,.runestone-sphinx .navbar-form .input-group .input-group-addon,.runestone-sphinx .navbar-form .input-group .input-group-btn{width:auto}.ptx-runestone-container .navbar-form .input-group>.form-control,.runestone-sphinx .navbar-form .input-group>.form-control{width:100%}.ptx-runestone-container .navbar-form .control-label,.runestone-sphinx .navbar-form .control-label{margin-bottom:0;vertical-align:middle}.ptx-runestone-container .navbar-form .checkbox,.ptx-runestone-container .navbar-form .radio,.runestone-sphinx .navbar-form .checkbox,.runestone-sphinx .navbar-form .radio{display:inline-block;margin-bottom:0;margin-top:0;vertical-align:middle}.ptx-runestone-container .navbar-form .checkbox label,.ptx-runestone-container .navbar-form .radio label,.runestone-sphinx .navbar-form .checkbox label,.runestone-sphinx .navbar-form .radio label{padding-left:0}.ptx-runestone-container .navbar-form .checkbox input[type=checkbox],.ptx-runestone-container .navbar-form .radio input[type=radio],.runestone-sphinx .navbar-form .checkbox input[type=checkbox],.runestone-sphinx .navbar-form .radio input[type=radio]{margin-left:0;position:relative}.ptx-runestone-container .navbar-form .has-feedback .form-control-feedback,.runestone-sphinx .navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.ptx-runestone-container .navbar-form .form-group,.runestone-sphinx .navbar-form .form-group{margin-bottom:5px}.ptx-runestone-container .navbar-form .form-group:last-child,.runestone-sphinx .navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.ptx-runestone-container .navbar-form,.runestone-sphinx .navbar-form{border:0;-webkit-box-shadow:none;box-shadow:none;margin-left:0;margin-right:0;padding-bottom:0;padding-top:0;width:auto}}.ptx-runestone-container .navbar-nav>li>.dropdown-menu,.runestone-sphinx .navbar-nav>li>.dropdown-menu{border-top-left-radius:0;border-top-right-radius:0;margin-top:0}.ptx-runestone-container .navbar-fixed-bottom .navbar-nav>li>.dropdown-menu,.runestone-sphinx .navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:4px;border-top-right-radius:4px;margin-bottom:0}.ptx-runestone-container .navbar-btn,.runestone-sphinx .navbar-btn{margin-bottom:8px;margin-top:8px}.ptx-runestone-container .navbar-btn.btn-sm,.runestone-sphinx .navbar-btn.btn-sm{margin-bottom:10px;margin-top:10px}.ptx-runestone-container .navbar-btn.btn-xs,.runestone-sphinx .navbar-btn.btn-xs{margin-bottom:14px;margin-top:14px}.ptx-runestone-container .navbar-text,.runestone-sphinx .navbar-text{margin-bottom:15px;margin-top:15px}@media (min-width:768px){.ptx-runestone-container .navbar-text,.runestone-sphinx .navbar-text{float:left;margin-left:15px;margin-right:15px}.ptx-runestone-container .navbar-left,.runestone-sphinx .navbar-left{float:left!important}.ptx-runestone-container .navbar-right,.runestone-sphinx .navbar-right{float:right!important;margin-right:-15px}.ptx-runestone-container .navbar-right~.navbar-right,.runestone-sphinx .navbar-right~.navbar-right{margin-right:0}}.ptx-runestone-container .navbar-default,.runestone-sphinx .navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.ptx-runestone-container .navbar-default .navbar-brand,.runestone-sphinx .navbar-default .navbar-brand{color:#777}.ptx-runestone-container .navbar-default .navbar-brand:focus,.ptx-runestone-container .navbar-default .navbar-brand:hover,.runestone-sphinx .navbar-default .navbar-brand:focus,.runestone-sphinx .navbar-default .navbar-brand:hover{background-color:transparent;color:#5e5e5e}.ptx-runestone-container .navbar-default .navbar-nav>li>a,.ptx-runestone-container .navbar-default .navbar-text,.runestone-sphinx .navbar-default .navbar-nav>li>a,.runestone-sphinx .navbar-default .navbar-text{color:#777}.ptx-runestone-container .navbar-default .navbar-nav>li>a:focus,.ptx-runestone-container .navbar-default .navbar-nav>li>a:hover,.runestone-sphinx .navbar-default .navbar-nav>li>a:focus,.runestone-sphinx .navbar-default .navbar-nav>li>a:hover{background-color:transparent;color:#333}.ptx-runestone-container .navbar-default .navbar-nav>.active>a,.ptx-runestone-container .navbar-default .navbar-nav>.active>a:focus,.ptx-runestone-container .navbar-default .navbar-nav>.active>a:hover,.runestone-sphinx .navbar-default .navbar-nav>.active>a,.runestone-sphinx .navbar-default .navbar-nav>.active>a:focus,.runestone-sphinx .navbar-default .navbar-nav>.active>a:hover{background-color:#e7e7e7;color:#555}.ptx-runestone-container .navbar-default .navbar-nav>.disabled>a,.ptx-runestone-container .navbar-default .navbar-nav>.disabled>a:focus,.ptx-runestone-container .navbar-default .navbar-nav>.disabled>a:hover,.runestone-sphinx .navbar-default .navbar-nav>.disabled>a,.runestone-sphinx .navbar-default .navbar-nav>.disabled>a:focus,.runestone-sphinx .navbar-default .navbar-nav>.disabled>a:hover{background-color:transparent;color:#ccc}.ptx-runestone-container .navbar-default .navbar-nav>.open>a,.ptx-runestone-container .navbar-default .navbar-nav>.open>a:focus,.ptx-runestone-container .navbar-default .navbar-nav>.open>a:hover,.runestone-sphinx .navbar-default .navbar-nav>.open>a,.runestone-sphinx .navbar-default .navbar-nav>.open>a:focus,.runestone-sphinx .navbar-default .navbar-nav>.open>a:hover{background-color:#e7e7e7;color:#555}@media (max-width:767px){.ptx-runestone-container .navbar-default .navbar-nav .open .dropdown-menu>li>a,.runestone-sphinx .navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.ptx-runestone-container .navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.ptx-runestone-container .navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.runestone-sphinx .navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.runestone-sphinx .navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{background-color:transparent;color:#333}.ptx-runestone-container .navbar-default .navbar-nav .open .dropdown-menu>.active>a,.ptx-runestone-container .navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.ptx-runestone-container .navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.runestone-sphinx .navbar-default .navbar-nav .open .dropdown-menu>.active>a,.runestone-sphinx .navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.runestone-sphinx .navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{background-color:#e7e7e7;color:#555}.ptx-runestone-container .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.ptx-runestone-container .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.ptx-runestone-container .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.runestone-sphinx .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.runestone-sphinx .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.runestone-sphinx .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{background-color:transparent;color:#ccc}}.ptx-runestone-container .navbar-default .navbar-toggle,.runestone-sphinx .navbar-default .navbar-toggle{border-color:#ddd}.ptx-runestone-container .navbar-default .navbar-toggle:focus,.ptx-runestone-container .navbar-default .navbar-toggle:hover,.runestone-sphinx .navbar-default .navbar-toggle:focus,.runestone-sphinx .navbar-default .navbar-toggle:hover{background-color:#ddd}.ptx-runestone-container .navbar-default .navbar-toggle .icon-bar,.runestone-sphinx .navbar-default .navbar-toggle .icon-bar{background-color:#888}.ptx-runestone-container .navbar-default .navbar-collapse,.ptx-runestone-container .navbar-default .navbar-form,.runestone-sphinx .navbar-default .navbar-collapse,.runestone-sphinx .navbar-default .navbar-form{border-color:#e7e7e7}.ptx-runestone-container .navbar-default .navbar-link,.runestone-sphinx .navbar-default .navbar-link{color:#777}.ptx-runestone-container .navbar-default .navbar-link:hover,.runestone-sphinx .navbar-default .navbar-link:hover{color:#333}.ptx-runestone-container .navbar-default .btn-link,.runestone-sphinx .navbar-default .btn-link{color:#777}.ptx-runestone-container .navbar-default .btn-link:focus,.ptx-runestone-container .navbar-default .btn-link:hover,.runestone-sphinx .navbar-default .btn-link:focus,.runestone-sphinx .navbar-default .btn-link:hover{color:#333}.ptx-runestone-container .navbar-default .btn-link[disabled]:focus,.ptx-runestone-container .navbar-default .btn-link[disabled]:hover,.ptx-runestone-container fieldset[disabled] .navbar-default .btn-link:focus,.ptx-runestone-container fieldset[disabled] .navbar-default .btn-link:hover,.runestone-sphinx .navbar-default .btn-link[disabled]:focus,.runestone-sphinx .navbar-default .btn-link[disabled]:hover,.runestone-sphinx fieldset[disabled] .navbar-default .btn-link:focus,.runestone-sphinx fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.ptx-runestone-container .navbar-inverse,.runestone-sphinx .navbar-inverse{background-color:#222;border-color:#080808}.ptx-runestone-container .navbar-inverse .navbar-brand,.runestone-sphinx .navbar-inverse .navbar-brand{color:#9d9d9d}.ptx-runestone-container .navbar-inverse .navbar-brand:focus,.ptx-runestone-container .navbar-inverse .navbar-brand:hover,.runestone-sphinx .navbar-inverse .navbar-brand:focus,.runestone-sphinx .navbar-inverse .navbar-brand:hover{background-color:transparent;color:#fff}.ptx-runestone-container .navbar-inverse .navbar-nav>li>a,.ptx-runestone-container .navbar-inverse .navbar-text,.runestone-sphinx .navbar-inverse .navbar-nav>li>a,.runestone-sphinx .navbar-inverse .navbar-text{color:#9d9d9d}.ptx-runestone-container .navbar-inverse .navbar-nav>li>a:focus,.ptx-runestone-container .navbar-inverse .navbar-nav>li>a:hover,.runestone-sphinx .navbar-inverse .navbar-nav>li>a:focus,.runestone-sphinx .navbar-inverse .navbar-nav>li>a:hover{background-color:transparent;color:#fff}.ptx-runestone-container .navbar-inverse .navbar-nav>.active>a,.ptx-runestone-container .navbar-inverse .navbar-nav>.active>a:focus,.ptx-runestone-container .navbar-inverse .navbar-nav>.active>a:hover,.runestone-sphinx .navbar-inverse .navbar-nav>.active>a,.runestone-sphinx .navbar-inverse .navbar-nav>.active>a:focus,.runestone-sphinx .navbar-inverse .navbar-nav>.active>a:hover{background-color:#080808;color:#fff}.ptx-runestone-container .navbar-inverse .navbar-nav>.disabled>a,.ptx-runestone-container .navbar-inverse .navbar-nav>.disabled>a:focus,.ptx-runestone-container .navbar-inverse .navbar-nav>.disabled>a:hover,.runestone-sphinx .navbar-inverse .navbar-nav>.disabled>a,.runestone-sphinx .navbar-inverse .navbar-nav>.disabled>a:focus,.runestone-sphinx .navbar-inverse .navbar-nav>.disabled>a:hover{background-color:transparent;color:#444}.ptx-runestone-container .navbar-inverse .navbar-nav>.open>a,.ptx-runestone-container .navbar-inverse .navbar-nav>.open>a:focus,.ptx-runestone-container .navbar-inverse .navbar-nav>.open>a:hover,.runestone-sphinx .navbar-inverse .navbar-nav>.open>a,.runestone-sphinx .navbar-inverse .navbar-nav>.open>a:focus,.runestone-sphinx .navbar-inverse .navbar-nav>.open>a:hover{background-color:#080808;color:#fff}@media (max-width:767px){.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu .divider,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu>li>a,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{background-color:transparent;color:#fff}.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{background-color:#080808;color:#fff}.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{background-color:transparent;color:#444}}.ptx-runestone-container .navbar-inverse .navbar-toggle,.runestone-sphinx .navbar-inverse .navbar-toggle{border-color:#333}.ptx-runestone-container .navbar-inverse .navbar-toggle:focus,.ptx-runestone-container .navbar-inverse .navbar-toggle:hover,.runestone-sphinx .navbar-inverse .navbar-toggle:focus,.runestone-sphinx .navbar-inverse .navbar-toggle:hover{background-color:#333}.ptx-runestone-container .navbar-inverse .navbar-toggle .icon-bar,.runestone-sphinx .navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.ptx-runestone-container .navbar-inverse .navbar-collapse,.ptx-runestone-container .navbar-inverse .navbar-form,.runestone-sphinx .navbar-inverse .navbar-collapse,.runestone-sphinx .navbar-inverse .navbar-form{border-color:#101010}.ptx-runestone-container .navbar-inverse .navbar-link,.runestone-sphinx .navbar-inverse .navbar-link{color:#9d9d9d}.ptx-runestone-container .navbar-inverse .navbar-link:hover,.runestone-sphinx .navbar-inverse .navbar-link:hover{color:#fff}.ptx-runestone-container .navbar-inverse .btn-link,.runestone-sphinx .navbar-inverse .btn-link{color:#9d9d9d}.ptx-runestone-container .navbar-inverse .btn-link:focus,.ptx-runestone-container .navbar-inverse .btn-link:hover,.runestone-sphinx .navbar-inverse .btn-link:focus,.runestone-sphinx .navbar-inverse .btn-link:hover{color:#fff}.ptx-runestone-container .navbar-inverse .btn-link[disabled]:focus,.ptx-runestone-container .navbar-inverse .btn-link[disabled]:hover,.ptx-runestone-container fieldset[disabled] .navbar-inverse .btn-link:focus,.ptx-runestone-container fieldset[disabled] .navbar-inverse .btn-link:hover,.runestone-sphinx .navbar-inverse .btn-link[disabled]:focus,.runestone-sphinx .navbar-inverse .btn-link[disabled]:hover,.runestone-sphinx fieldset[disabled] .navbar-inverse .btn-link:focus,.runestone-sphinx fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.ptx-runestone-container .breadcrumb,.runestone-sphinx .breadcrumb{background-color:#f5f5f5;border-radius:4px;list-style:none;margin-bottom:20px;padding:8px 15px}.ptx-runestone-container .breadcrumb>li,.runestone-sphinx .breadcrumb>li{display:inline-block}.ptx-runestone-container .breadcrumb>li+li:before,.runestone-sphinx .breadcrumb>li+li:before{color:#ccc;content:"/\00a0";padding:0 5px}.ptx-runestone-container .breadcrumb>.active,.runestone-sphinx .breadcrumb>.active{color:#777}.ptx-runestone-container .pagination,.runestone-sphinx .pagination{border-radius:4px;display:inline-block;margin:20px 0;padding-left:0}.ptx-runestone-container .pagination>li,.runestone-sphinx .pagination>li{display:inline}.ptx-runestone-container .pagination>li>a,.ptx-runestone-container .pagination>li>span,.runestone-sphinx .pagination>li>a,.runestone-sphinx .pagination>li>span{background-color:#fff;border:1px solid #ddd;color:#337ab7;float:left;line-height:1.42857143;margin-left:-1px;padding:6px 12px;position:relative;text-decoration:none}.ptx-runestone-container .pagination>li>a:focus,.ptx-runestone-container .pagination>li>a:hover,.ptx-runestone-container .pagination>li>span:focus,.ptx-runestone-container .pagination>li>span:hover,.runestone-sphinx .pagination>li>a:focus,.runestone-sphinx .pagination>li>a:hover,.runestone-sphinx .pagination>li>span:focus,.runestone-sphinx .pagination>li>span:hover{background-color:#eee;border-color:#ddd;color:#23527c;z-index:2}.ptx-runestone-container .pagination>li:first-child>a,.ptx-runestone-container .pagination>li:first-child>span,.runestone-sphinx .pagination>li:first-child>a,.runestone-sphinx .pagination>li:first-child>span{border-bottom-left-radius:4px;border-top-left-radius:4px;margin-left:0}.ptx-runestone-container .pagination>li:last-child>a,.ptx-runestone-container .pagination>li:last-child>span,.runestone-sphinx .pagination>li:last-child>a,.runestone-sphinx .pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.ptx-runestone-container .pagination>.active>a,.ptx-runestone-container .pagination>.active>a:focus,.ptx-runestone-container .pagination>.active>a:hover,.ptx-runestone-container .pagination>.active>span,.ptx-runestone-container .pagination>.active>span:focus,.ptx-runestone-container .pagination>.active>span:hover,.runestone-sphinx .pagination>.active>a,.runestone-sphinx .pagination>.active>a:focus,.runestone-sphinx .pagination>.active>a:hover,.runestone-sphinx .pagination>.active>span,.runestone-sphinx .pagination>.active>span:focus,.runestone-sphinx .pagination>.active>span:hover{background-color:#337ab7;border-color:#337ab7;color:#fff;cursor:default;z-index:3}.ptx-runestone-container .pagination>.disabled>a,.ptx-runestone-container .pagination>.disabled>a:focus,.ptx-runestone-container .pagination>.disabled>a:hover,.ptx-runestone-container .pagination>.disabled>span,.ptx-runestone-container .pagination>.disabled>span:focus,.ptx-runestone-container .pagination>.disabled>span:hover,.runestone-sphinx .pagination>.disabled>a,.runestone-sphinx .pagination>.disabled>a:focus,.runestone-sphinx .pagination>.disabled>a:hover,.runestone-sphinx .pagination>.disabled>span,.runestone-sphinx .pagination>.disabled>span:focus,.runestone-sphinx .pagination>.disabled>span:hover{background-color:#fff;border-color:#ddd;color:#777;cursor:not-allowed}.ptx-runestone-container .pagination-lg>li>a,.ptx-runestone-container .pagination-lg>li>span,.runestone-sphinx .pagination-lg>li>a,.runestone-sphinx .pagination-lg>li>span{font-size:18px;line-height:1.3333333;padding:10px 16px}.ptx-runestone-container .pagination-lg>li:first-child>a,.ptx-runestone-container .pagination-lg>li:first-child>span,.runestone-sphinx .pagination-lg>li:first-child>a,.runestone-sphinx .pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.ptx-runestone-container .pagination-lg>li:last-child>a,.ptx-runestone-container .pagination-lg>li:last-child>span,.runestone-sphinx .pagination-lg>li:last-child>a,.runestone-sphinx .pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.ptx-runestone-container .pagination-sm>li>a,.ptx-runestone-container .pagination-sm>li>span,.runestone-sphinx .pagination-sm>li>a,.runestone-sphinx .pagination-sm>li>span{font-size:12px;line-height:1.5;padding:5px 10px}.ptx-runestone-container .pagination-sm>li:first-child>a,.ptx-runestone-container .pagination-sm>li:first-child>span,.runestone-sphinx .pagination-sm>li:first-child>a,.runestone-sphinx .pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.ptx-runestone-container .pagination-sm>li:last-child>a,.ptx-runestone-container .pagination-sm>li:last-child>span,.runestone-sphinx .pagination-sm>li:last-child>a,.runestone-sphinx .pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.ptx-runestone-container .pager,.runestone-sphinx .pager{list-style:none;margin:20px 0;padding-left:0;text-align:center}.ptx-runestone-container .pager li,.runestone-sphinx .pager li{display:inline}.ptx-runestone-container .pager li>a,.ptx-runestone-container .pager li>span,.runestone-sphinx .pager li>a,.runestone-sphinx .pager li>span{background-color:#fff;border:1px solid #ddd;border-radius:15px;display:inline-block;padding:5px 14px}.ptx-runestone-container .pager li>a:focus,.ptx-runestone-container .pager li>a:hover,.runestone-sphinx .pager li>a:focus,.runestone-sphinx .pager li>a:hover{background-color:#eee;text-decoration:none}.ptx-runestone-container .pager .next>a,.ptx-runestone-container .pager .next>span,.runestone-sphinx .pager .next>a,.runestone-sphinx .pager .next>span{float:right}.ptx-runestone-container .pager .previous>a,.ptx-runestone-container .pager .previous>span,.runestone-sphinx .pager .previous>a,.runestone-sphinx .pager .previous>span{float:left}.ptx-runestone-container .pager .disabled>a,.ptx-runestone-container .pager .disabled>a:focus,.ptx-runestone-container .pager .disabled>a:hover,.ptx-runestone-container .pager .disabled>span,.runestone-sphinx .pager .disabled>a,.runestone-sphinx .pager .disabled>a:focus,.runestone-sphinx .pager .disabled>a:hover,.runestone-sphinx .pager .disabled>span{background-color:#fff;color:#777;cursor:not-allowed}.ptx-runestone-container .label,.runestone-sphinx .label{border-radius:.25em;color:#fff;display:inline;font-size:75%;font-weight:700;line-height:1;padding:.2em .6em .3em;text-align:center;vertical-align:baseline;white-space:nowrap}.ptx-runestone-container a.label:focus,.ptx-runestone-container a.label:hover,.runestone-sphinx a.label:focus,.runestone-sphinx a.label:hover{color:#fff;cursor:pointer;text-decoration:none}.ptx-runestone-container .label:empty,.runestone-sphinx .label:empty{display:none}.ptx-runestone-container .btn .label,.runestone-sphinx .btn .label{position:relative;top:-1px}.ptx-runestone-container .label-default,.runestone-sphinx .label-default{background-color:#777}.ptx-runestone-container .label-default[href]:focus,.ptx-runestone-container .label-default[href]:hover,.runestone-sphinx .label-default[href]:focus,.runestone-sphinx .label-default[href]:hover{background-color:#5e5e5e}.ptx-runestone-container .label-primary,.runestone-sphinx .label-primary{background-color:#337ab7}.ptx-runestone-container .label-primary[href]:focus,.ptx-runestone-container .label-primary[href]:hover,.runestone-sphinx .label-primary[href]:focus,.runestone-sphinx .label-primary[href]:hover{background-color:#286090}.ptx-runestone-container .label-success,.runestone-sphinx .label-success{background-color:#5cb85c}.ptx-runestone-container .label-success[href]:focus,.ptx-runestone-container .label-success[href]:hover,.runestone-sphinx .label-success[href]:focus,.runestone-sphinx .label-success[href]:hover{background-color:#449d44}.ptx-runestone-container .label-info,.runestone-sphinx .label-info{background-color:#5bc0de}.ptx-runestone-container .label-info[href]:focus,.ptx-runestone-container .label-info[href]:hover,.runestone-sphinx .label-info[href]:focus,.runestone-sphinx .label-info[href]:hover{background-color:#31b0d5}.ptx-runestone-container .label-warning,.runestone-sphinx .label-warning{background-color:#f0ad4e}.ptx-runestone-container .label-warning[href]:focus,.ptx-runestone-container .label-warning[href]:hover,.runestone-sphinx .label-warning[href]:focus,.runestone-sphinx .label-warning[href]:hover{background-color:#ec971f}.ptx-runestone-container .label-danger,.runestone-sphinx .label-danger{background-color:#d9534f}.ptx-runestone-container .label-danger[href]:focus,.ptx-runestone-container .label-danger[href]:hover,.runestone-sphinx .label-danger[href]:focus,.runestone-sphinx .label-danger[href]:hover{background-color:#c9302c}.ptx-runestone-container .badge,.runestone-sphinx .badge{background-color:#777;border-radius:10px;color:#fff;display:inline-block;font-size:12px;font-weight:700;line-height:1;min-width:10px;padding:3px 7px;text-align:center;vertical-align:middle;white-space:nowrap}.ptx-runestone-container .badge:empty,.runestone-sphinx .badge:empty{display:none}.ptx-runestone-container .btn .badge,.runestone-sphinx .btn .badge{position:relative;top:-1px}.ptx-runestone-container .btn-group-xs>.btn .badge,.ptx-runestone-container .btn-xs .badge,.runestone-sphinx .btn-group-xs>.btn .badge,.runestone-sphinx .btn-xs .badge{padding:1px 5px;top:0}.ptx-runestone-container a.badge:focus,.ptx-runestone-container a.badge:hover,.runestone-sphinx a.badge:focus,.runestone-sphinx a.badge:hover{color:#fff;cursor:pointer;text-decoration:none}.ptx-runestone-container .list-group-item.active>.badge,.ptx-runestone-container .nav-pills>.active>a>.badge,.runestone-sphinx .list-group-item.active>.badge,.runestone-sphinx .nav-pills>.active>a>.badge{background-color:#fff;color:#337ab7}.ptx-runestone-container .list-group-item>.badge,.runestone-sphinx .list-group-item>.badge{float:right}.ptx-runestone-container .list-group-item>.badge+.badge,.runestone-sphinx .list-group-item>.badge+.badge{margin-right:5px}.ptx-runestone-container .nav-pills>li>a>.badge,.runestone-sphinx .nav-pills>li>a>.badge{margin-left:3px}.ptx-runestone-container .jumbotron,.runestone-sphinx .jumbotron{background-color:#eee;color:inherit;margin-bottom:30px;padding-bottom:30px;padding-top:30px}.ptx-runestone-container .jumbotron .h1,.ptx-runestone-container .jumbotron h1,.runestone-sphinx .jumbotron .h1,.runestone-sphinx .jumbotron h1{color:inherit}.ptx-runestone-container .jumbotron p,.runestone-sphinx .jumbotron p{font-size:21px;font-weight:200;margin-bottom:15px}.ptx-runestone-container .jumbotron>hr,.runestone-sphinx .jumbotron>hr{border-top-color:#d5d5d5}.ptx-runestone-container .container .jumbotron,.ptx-runestone-container .container-fluid .jumbotron,.runestone-sphinx .container .jumbotron,.runestone-sphinx .container-fluid .jumbotron{border-radius:6px;padding-left:15px;padding-right:15px}.ptx-runestone-container .jumbotron .container,.runestone-sphinx .jumbotron .container{max-width:100%}@media screen and (min-width:768px){.ptx-runestone-container .jumbotron,.runestone-sphinx .jumbotron{padding-bottom:48px;padding-top:48px}.ptx-runestone-container .container .jumbotron,.ptx-runestone-container .container-fluid .jumbotron,.runestone-sphinx .container .jumbotron,.runestone-sphinx .container-fluid .jumbotron{padding-left:60px;padding-right:60px}.ptx-runestone-container .jumbotron .h1,.ptx-runestone-container .jumbotron h1,.runestone-sphinx .jumbotron .h1,.runestone-sphinx .jumbotron h1{font-size:63px}}.ptx-runestone-container .thumbnail,.runestone-sphinx .thumbnail{background-color:#fff;border:1px solid #ddd;border-radius:4px;display:block;line-height:1.42857143;margin-bottom:20px;padding:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.ptx-runestone-container .thumbnail a>img,.ptx-runestone-container .thumbnail>img,.runestone-sphinx .thumbnail a>img,.runestone-sphinx .thumbnail>img{margin-left:auto;margin-right:auto}.ptx-runestone-container a.thumbnail.active,.ptx-runestone-container a.thumbnail:focus,.ptx-runestone-container a.thumbnail:hover,.runestone-sphinx a.thumbnail.active,.runestone-sphinx a.thumbnail:focus,.runestone-sphinx a.thumbnail:hover{border-color:#337ab7}.ptx-runestone-container .thumbnail .caption,.runestone-sphinx .thumbnail .caption{color:#333;padding:9px}.ptx-runestone-container .alert,.runestone-sphinx .alert{border:1px solid transparent;border-radius:4px;margin-bottom:20px;padding:15px}.ptx-runestone-container .alert h4,.runestone-sphinx .alert h4{color:inherit;margin-top:0}.ptx-runestone-container .alert .alert-link,.runestone-sphinx .alert .alert-link{font-weight:700}.ptx-runestone-container .alert>p,.ptx-runestone-container .alert>ul,.runestone-sphinx .alert>p,.runestone-sphinx .alert>ul{margin-bottom:0}.ptx-runestone-container .alert>p+p,.runestone-sphinx .alert>p+p{margin-top:5px}.ptx-runestone-container .alert-dismissable,.ptx-runestone-container .alert-dismissible,.runestone-sphinx .alert-dismissable,.runestone-sphinx .alert-dismissible{padding-right:35px}.ptx-runestone-container .alert-dismissable .close,.ptx-runestone-container .alert-dismissible .close,.runestone-sphinx .alert-dismissable .close,.runestone-sphinx .alert-dismissible .close{color:inherit;position:relative;right:-21px;top:-2px}.ptx-runestone-container .alert-success,.runestone-sphinx .alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.ptx-runestone-container .alert-success hr,.runestone-sphinx .alert-success hr{border-top-color:#c9e2b3}.ptx-runestone-container .alert-success .alert-link,.runestone-sphinx .alert-success .alert-link{color:#2b542c}.ptx-runestone-container .alert-info,.runestone-sphinx .alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.ptx-runestone-container .alert-info hr,.runestone-sphinx .alert-info hr{border-top-color:#a6e1ec}.ptx-runestone-container .alert-info .alert-link,.runestone-sphinx .alert-info .alert-link{color:#245269}.ptx-runestone-container .alert-warning,.runestone-sphinx .alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.ptx-runestone-container .alert-warning hr,.runestone-sphinx .alert-warning hr{border-top-color:#f7e1b5}.ptx-runestone-container .alert-warning .alert-link,.runestone-sphinx .alert-warning .alert-link{color:#66512c}.ptx-runestone-container .alert-danger,.runestone-sphinx .alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.ptx-runestone-container .alert-danger hr,.runestone-sphinx .alert-danger hr{border-top-color:#e4b9c0}.ptx-runestone-container .alert-danger .alert-link,.runestone-sphinx .alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}.ptx-runestone-container .progress,.runestone-sphinx .progress{background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);height:20px;margin-bottom:20px;overflow:hidden}.ptx-runestone-container .progress-bar,.runestone-sphinx .progress-bar{background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);color:#fff;float:left;font-size:12px;height:100%;line-height:20px;text-align:center;-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease;width:0}.ptx-runestone-container .progress-bar-striped,.ptx-runestone-container .progress-striped .progress-bar,.runestone-sphinx .progress-bar-striped,.runestone-sphinx .progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.ptx-runestone-container .progress-bar.active,.ptx-runestone-container .progress.active .progress-bar,.runestone-sphinx .progress-bar.active,.runestone-sphinx .progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.ptx-runestone-container .progress-bar-success,.runestone-sphinx .progress-bar-success{background-color:#5cb85c}.ptx-runestone-container .progress-striped .progress-bar-success,.runestone-sphinx .progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ptx-runestone-container .progress-bar-info,.runestone-sphinx .progress-bar-info{background-color:#5bc0de}.ptx-runestone-container .progress-striped .progress-bar-info,.runestone-sphinx .progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ptx-runestone-container .progress-bar-warning,.runestone-sphinx .progress-bar-warning{background-color:#f0ad4e}.ptx-runestone-container .progress-striped .progress-bar-warning,.runestone-sphinx .progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ptx-runestone-container .progress-bar-danger,.runestone-sphinx .progress-bar-danger{background-color:#d9534f}.ptx-runestone-container .progress-striped .progress-bar-danger,.runestone-sphinx .progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ptx-runestone-container .media,.runestone-sphinx .media{margin-top:15px}.ptx-runestone-container .media:first-child,.runestone-sphinx .media:first-child{margin-top:0}.ptx-runestone-container .media,.ptx-runestone-container .media-body,.runestone-sphinx .media,.runestone-sphinx .media-body{zoom:1;overflow:hidden}.ptx-runestone-container .media-body,.runestone-sphinx .media-body{width:10000px}.ptx-runestone-container .media-object,.runestone-sphinx .media-object{display:block}.ptx-runestone-container .media-object.img-thumbnail,.runestone-sphinx .media-object.img-thumbnail{max-width:none}.ptx-runestone-container .media-right,.ptx-runestone-container .media>.pull-right,.runestone-sphinx .media-right,.runestone-sphinx .media>.pull-right{padding-left:10px}.ptx-runestone-container .media-left,.ptx-runestone-container .media>.pull-left,.runestone-sphinx .media-left,.runestone-sphinx .media>.pull-left{padding-right:10px}.ptx-runestone-container .media-body,.ptx-runestone-container .media-left,.ptx-runestone-container .media-right,.runestone-sphinx .media-body,.runestone-sphinx .media-left,.runestone-sphinx .media-right{display:table-cell;vertical-align:top}.ptx-runestone-container .media-middle,.runestone-sphinx .media-middle{vertical-align:middle}.ptx-runestone-container .media-bottom,.runestone-sphinx .media-bottom{vertical-align:bottom}.ptx-runestone-container .media-heading,.runestone-sphinx .media-heading{margin-bottom:5px;margin-top:0}.ptx-runestone-container .media-list,.runestone-sphinx .media-list{list-style:none;padding-left:0}.ptx-runestone-container .list-group,.runestone-sphinx .list-group{margin-bottom:20px;padding-left:0}.ptx-runestone-container .list-group-item,.runestone-sphinx .list-group-item{background-color:#fff;border:1px solid #ddd;display:block;margin-bottom:-1px;padding:10px 15px;position:relative}.ptx-runestone-container .list-group-item:first-child,.runestone-sphinx .list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.ptx-runestone-container .list-group-item:last-child,.runestone-sphinx .list-group-item:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;margin-bottom:0}.ptx-runestone-container .list-group-item.disabled,.ptx-runestone-container .list-group-item.disabled:focus,.ptx-runestone-container .list-group-item.disabled:hover,.runestone-sphinx .list-group-item.disabled,.runestone-sphinx .list-group-item.disabled:focus,.runestone-sphinx .list-group-item.disabled:hover{background-color:#eee;color:#777;cursor:not-allowed}.ptx-runestone-container .list-group-item.disabled .list-group-item-heading,.ptx-runestone-container .list-group-item.disabled:focus .list-group-item-heading,.ptx-runestone-container .list-group-item.disabled:hover .list-group-item-heading,.runestone-sphinx .list-group-item.disabled .list-group-item-heading,.runestone-sphinx .list-group-item.disabled:focus .list-group-item-heading,.runestone-sphinx .list-group-item.disabled:hover .list-group-item-heading{color:inherit}.ptx-runestone-container .list-group-item.disabled .list-group-item-text,.ptx-runestone-container .list-group-item.disabled:focus .list-group-item-text,.ptx-runestone-container .list-group-item.disabled:hover .list-group-item-text,.runestone-sphinx .list-group-item.disabled .list-group-item-text,.runestone-sphinx .list-group-item.disabled:focus .list-group-item-text,.runestone-sphinx .list-group-item.disabled:hover .list-group-item-text{color:#777}.ptx-runestone-container .list-group-item.active,.ptx-runestone-container .list-group-item.active:focus,.ptx-runestone-container .list-group-item.active:hover,.runestone-sphinx .list-group-item.active,.runestone-sphinx .list-group-item.active:focus,.runestone-sphinx .list-group-item.active:hover{background-color:#337ab7;border-color:#337ab7;color:#fff;z-index:2}.ptx-runestone-container .list-group-item.active .list-group-item-heading,.ptx-runestone-container .list-group-item.active .list-group-item-heading>.small,.ptx-runestone-container .list-group-item.active .list-group-item-heading>small,.ptx-runestone-container .list-group-item.active:focus .list-group-item-heading,.ptx-runestone-container .list-group-item.active:focus .list-group-item-heading>.small,.ptx-runestone-container .list-group-item.active:focus .list-group-item-heading>small,.ptx-runestone-container .list-group-item.active:hover .list-group-item-heading,.ptx-runestone-container .list-group-item.active:hover .list-group-item-heading>.small,.ptx-runestone-container .list-group-item.active:hover .list-group-item-heading>small,.runestone-sphinx .list-group-item.active .list-group-item-heading,.runestone-sphinx .list-group-item.active .list-group-item-heading>.small,.runestone-sphinx .list-group-item.active .list-group-item-heading>small,.runestone-sphinx .list-group-item.active:focus .list-group-item-heading,.runestone-sphinx .list-group-item.active:focus .list-group-item-heading>.small,.runestone-sphinx .list-group-item.active:focus .list-group-item-heading>small,.runestone-sphinx .list-group-item.active:hover .list-group-item-heading,.runestone-sphinx .list-group-item.active:hover .list-group-item-heading>.small,.runestone-sphinx .list-group-item.active:hover .list-group-item-heading>small{color:inherit}.ptx-runestone-container .list-group-item.active .list-group-item-text,.ptx-runestone-container .list-group-item.active:focus .list-group-item-text,.ptx-runestone-container .list-group-item.active:hover .list-group-item-text,.runestone-sphinx .list-group-item.active .list-group-item-text,.runestone-sphinx .list-group-item.active:focus .list-group-item-text,.runestone-sphinx .list-group-item.active:hover .list-group-item-text{color:#c7ddef}.ptx-runestone-container a.list-group-item,.ptx-runestone-container button.list-group-item,.runestone-sphinx a.list-group-item,.runestone-sphinx button.list-group-item{color:#555}.ptx-runestone-container a.list-group-item .list-group-item-heading,.ptx-runestone-container button.list-group-item .list-group-item-heading,.runestone-sphinx a.list-group-item .list-group-item-heading,.runestone-sphinx button.list-group-item .list-group-item-heading{color:#333}.ptx-runestone-container a.list-group-item:focus,.ptx-runestone-container a.list-group-item:hover,.ptx-runestone-container button.list-group-item:focus,.ptx-runestone-container button.list-group-item:hover,.runestone-sphinx a.list-group-item:focus,.runestone-sphinx a.list-group-item:hover,.runestone-sphinx button.list-group-item:focus,.runestone-sphinx button.list-group-item:hover{background-color:#f5f5f5;color:#555;text-decoration:none}.ptx-runestone-container button.list-group-item,.runestone-sphinx button.list-group-item{text-align:left;width:100%}.ptx-runestone-container .list-group-item-success,.runestone-sphinx .list-group-item-success{background-color:#dff0d8;color:#3c763d}.ptx-runestone-container a.list-group-item-success,.ptx-runestone-container button.list-group-item-success,.runestone-sphinx a.list-group-item-success,.runestone-sphinx button.list-group-item-success{color:#3c763d}.ptx-runestone-container a.list-group-item-success .list-group-item-heading,.ptx-runestone-container button.list-group-item-success .list-group-item-heading,.runestone-sphinx a.list-group-item-success .list-group-item-heading,.runestone-sphinx button.list-group-item-success .list-group-item-heading{color:inherit}.ptx-runestone-container a.list-group-item-success:focus,.ptx-runestone-container a.list-group-item-success:hover,.ptx-runestone-container button.list-group-item-success:focus,.ptx-runestone-container button.list-group-item-success:hover,.runestone-sphinx a.list-group-item-success:focus,.runestone-sphinx a.list-group-item-success:hover,.runestone-sphinx button.list-group-item-success:focus,.runestone-sphinx button.list-group-item-success:hover{background-color:#d0e9c6;color:#3c763d}.ptx-runestone-container a.list-group-item-success.active,.ptx-runestone-container a.list-group-item-success.active:focus,.ptx-runestone-container a.list-group-item-success.active:hover,.ptx-runestone-container button.list-group-item-success.active,.ptx-runestone-container button.list-group-item-success.active:focus,.ptx-runestone-container button.list-group-item-success.active:hover,.runestone-sphinx a.list-group-item-success.active,.runestone-sphinx a.list-group-item-success.active:focus,.runestone-sphinx a.list-group-item-success.active:hover,.runestone-sphinx button.list-group-item-success.active,.runestone-sphinx button.list-group-item-success.active:focus,.runestone-sphinx button.list-group-item-success.active:hover{background-color:#3c763d;border-color:#3c763d;color:#fff}.ptx-runestone-container .list-group-item-info,.runestone-sphinx .list-group-item-info{background-color:#d9edf7;color:#31708f}.ptx-runestone-container a.list-group-item-info,.ptx-runestone-container button.list-group-item-info,.runestone-sphinx a.list-group-item-info,.runestone-sphinx button.list-group-item-info{color:#31708f}.ptx-runestone-container a.list-group-item-info .list-group-item-heading,.ptx-runestone-container button.list-group-item-info .list-group-item-heading,.runestone-sphinx a.list-group-item-info .list-group-item-heading,.runestone-sphinx button.list-group-item-info .list-group-item-heading{color:inherit}.ptx-runestone-container a.list-group-item-info:focus,.ptx-runestone-container a.list-group-item-info:hover,.ptx-runestone-container button.list-group-item-info:focus,.ptx-runestone-container button.list-group-item-info:hover,.runestone-sphinx a.list-group-item-info:focus,.runestone-sphinx a.list-group-item-info:hover,.runestone-sphinx button.list-group-item-info:focus,.runestone-sphinx button.list-group-item-info:hover{background-color:#c4e3f3;color:#31708f}.ptx-runestone-container a.list-group-item-info.active,.ptx-runestone-container a.list-group-item-info.active:focus,.ptx-runestone-container a.list-group-item-info.active:hover,.ptx-runestone-container button.list-group-item-info.active,.ptx-runestone-container button.list-group-item-info.active:focus,.ptx-runestone-container button.list-group-item-info.active:hover,.runestone-sphinx a.list-group-item-info.active,.runestone-sphinx a.list-group-item-info.active:focus,.runestone-sphinx a.list-group-item-info.active:hover,.runestone-sphinx button.list-group-item-info.active,.runestone-sphinx button.list-group-item-info.active:focus,.runestone-sphinx button.list-group-item-info.active:hover{background-color:#31708f;border-color:#31708f;color:#fff}.ptx-runestone-container .list-group-item-warning,.runestone-sphinx .list-group-item-warning{background-color:#fcf8e3;color:#8a6d3b}.ptx-runestone-container a.list-group-item-warning,.ptx-runestone-container button.list-group-item-warning,.runestone-sphinx a.list-group-item-warning,.runestone-sphinx button.list-group-item-warning{color:#8a6d3b}.ptx-runestone-container a.list-group-item-warning .list-group-item-heading,.ptx-runestone-container button.list-group-item-warning .list-group-item-heading,.runestone-sphinx a.list-group-item-warning .list-group-item-heading,.runestone-sphinx button.list-group-item-warning .list-group-item-heading{color:inherit}.ptx-runestone-container a.list-group-item-warning:focus,.ptx-runestone-container a.list-group-item-warning:hover,.ptx-runestone-container button.list-group-item-warning:focus,.ptx-runestone-container button.list-group-item-warning:hover,.runestone-sphinx a.list-group-item-warning:focus,.runestone-sphinx a.list-group-item-warning:hover,.runestone-sphinx button.list-group-item-warning:focus,.runestone-sphinx button.list-group-item-warning:hover{background-color:#faf2cc;color:#8a6d3b}.ptx-runestone-container a.list-group-item-warning.active,.ptx-runestone-container a.list-group-item-warning.active:focus,.ptx-runestone-container a.list-group-item-warning.active:hover,.ptx-runestone-container button.list-group-item-warning.active,.ptx-runestone-container button.list-group-item-warning.active:focus,.ptx-runestone-container button.list-group-item-warning.active:hover,.runestone-sphinx a.list-group-item-warning.active,.runestone-sphinx a.list-group-item-warning.active:focus,.runestone-sphinx a.list-group-item-warning.active:hover,.runestone-sphinx button.list-group-item-warning.active,.runestone-sphinx button.list-group-item-warning.active:focus,.runestone-sphinx button.list-group-item-warning.active:hover{background-color:#8a6d3b;border-color:#8a6d3b;color:#fff}.ptx-runestone-container .list-group-item-danger,.runestone-sphinx .list-group-item-danger{background-color:#f2dede;color:#a94442}.ptx-runestone-container a.list-group-item-danger,.ptx-runestone-container button.list-group-item-danger,.runestone-sphinx a.list-group-item-danger,.runestone-sphinx button.list-group-item-danger{color:#a94442}.ptx-runestone-container a.list-group-item-danger .list-group-item-heading,.ptx-runestone-container button.list-group-item-danger .list-group-item-heading,.runestone-sphinx a.list-group-item-danger .list-group-item-heading,.runestone-sphinx button.list-group-item-danger .list-group-item-heading{color:inherit}.ptx-runestone-container a.list-group-item-danger:focus,.ptx-runestone-container a.list-group-item-danger:hover,.ptx-runestone-container button.list-group-item-danger:focus,.ptx-runestone-container button.list-group-item-danger:hover,.runestone-sphinx a.list-group-item-danger:focus,.runestone-sphinx a.list-group-item-danger:hover,.runestone-sphinx button.list-group-item-danger:focus,.runestone-sphinx button.list-group-item-danger:hover{background-color:#ebcccc;color:#a94442}.ptx-runestone-container a.list-group-item-danger.active,.ptx-runestone-container a.list-group-item-danger.active:focus,.ptx-runestone-container a.list-group-item-danger.active:hover,.ptx-runestone-container button.list-group-item-danger.active,.ptx-runestone-container button.list-group-item-danger.active:focus,.ptx-runestone-container button.list-group-item-danger.active:hover,.runestone-sphinx a.list-group-item-danger.active,.runestone-sphinx a.list-group-item-danger.active:focus,.runestone-sphinx a.list-group-item-danger.active:hover,.runestone-sphinx button.list-group-item-danger.active,.runestone-sphinx button.list-group-item-danger.active:focus,.runestone-sphinx button.list-group-item-danger.active:hover{background-color:#a94442;border-color:#a94442;color:#fff}.ptx-runestone-container .list-group-item-heading,.runestone-sphinx .list-group-item-heading{margin-bottom:5px;margin-top:0}.ptx-runestone-container .list-group-item-text,.runestone-sphinx .list-group-item-text{line-height:1.3;margin-bottom:0}.ptx-runestone-container .panel,.runestone-sphinx .panel{background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05);margin-bottom:20px}.ptx-runestone-container .panel-body,.runestone-sphinx .panel-body{padding:15px}.ptx-runestone-container .panel-heading,.runestone-sphinx .panel-heading{border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px;padding:10px 15px}.ptx-runestone-container .panel-heading>.dropdown .dropdown-toggle,.runestone-sphinx .panel-heading>.dropdown .dropdown-toggle{color:inherit}.ptx-runestone-container .panel-title,.runestone-sphinx .panel-title{color:inherit;font-size:16px;margin-bottom:0;margin-top:0}.ptx-runestone-container .panel-title>.small,.ptx-runestone-container .panel-title>.small>a,.ptx-runestone-container .panel-title>a,.ptx-runestone-container .panel-title>small,.ptx-runestone-container .panel-title>small>a,.runestone-sphinx .panel-title>.small,.runestone-sphinx .panel-title>.small>a,.runestone-sphinx .panel-title>a,.runestone-sphinx .panel-title>small,.runestone-sphinx .panel-title>small>a{color:inherit}.ptx-runestone-container .panel-footer,.runestone-sphinx .panel-footer{background-color:#f5f5f5;border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-top:1px solid #ddd;padding:10px 15px}.ptx-runestone-container .panel>.list-group,.ptx-runestone-container .panel>.panel-collapse>.list-group,.runestone-sphinx .panel>.list-group,.runestone-sphinx .panel>.panel-collapse>.list-group{margin-bottom:0}.ptx-runestone-container .panel>.list-group .list-group-item,.ptx-runestone-container .panel>.panel-collapse>.list-group .list-group-item,.runestone-sphinx .panel>.list-group .list-group-item,.runestone-sphinx .panel>.panel-collapse>.list-group .list-group-item{border-radius:0;border-width:1px 0}.ptx-runestone-container .panel>.list-group:first-child .list-group-item:first-child,.ptx-runestone-container .panel>.panel-collapse>.list-group:first-child .list-group-item:first-child,.runestone-sphinx .panel>.list-group:first-child .list-group-item:first-child,.runestone-sphinx .panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.ptx-runestone-container .panel>.list-group:last-child .list-group-item:last-child,.ptx-runestone-container .panel>.panel-collapse>.list-group:last-child .list-group-item:last-child,.runestone-sphinx .panel>.list-group:last-child .list-group-item:last-child,.runestone-sphinx .panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-left-radius:3px;border-bottom-right-radius:3px}.ptx-runestone-container .panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child,.runestone-sphinx .panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.ptx-runestone-container .list-group+.panel-footer,.ptx-runestone-container .panel-heading+.list-group .list-group-item:first-child,.runestone-sphinx .list-group+.panel-footer,.runestone-sphinx .panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.ptx-runestone-container .panel>.panel-collapse>.table,.ptx-runestone-container .panel>.table,.ptx-runestone-container .panel>.table-responsive>.table,.runestone-sphinx .panel>.panel-collapse>.table,.runestone-sphinx .panel>.table,.runestone-sphinx .panel>.table-responsive>.table{margin-bottom:0}.ptx-runestone-container .panel>.panel-collapse>.table caption,.ptx-runestone-container .panel>.table caption,.ptx-runestone-container .panel>.table-responsive>.table caption,.runestone-sphinx .panel>.panel-collapse>.table caption,.runestone-sphinx .panel>.table caption,.runestone-sphinx .panel>.table-responsive>.table caption{padding-left:15px;padding-right:15px}.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child,.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.ptx-runestone-container .panel>.table:first-child,.ptx-runestone-container .panel>.table:first-child>tbody:first-child>tr:first-child,.ptx-runestone-container .panel>.table:first-child>thead:first-child>tr:first-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.runestone-sphinx .panel>.table:first-child,.runestone-sphinx .panel>.table:first-child>tbody:first-child>tr:first-child,.runestone-sphinx .panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.ptx-runestone-container .panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.ptx-runestone-container .panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.ptx-runestone-container .panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.ptx-runestone-container .panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.runestone-sphinx .panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.runestone-sphinx .panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.runestone-sphinx .panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.runestone-sphinx .panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.ptx-runestone-container .panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.ptx-runestone-container .panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.ptx-runestone-container .panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.ptx-runestone-container .panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.runestone-sphinx .panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.runestone-sphinx .panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.runestone-sphinx .panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.runestone-sphinx .panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child,.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.ptx-runestone-container .panel>.table:last-child,.ptx-runestone-container .panel>.table:last-child>tbody:last-child>tr:last-child,.ptx-runestone-container .panel>.table:last-child>tfoot:last-child>tr:last-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.runestone-sphinx .panel>.table:last-child,.runestone-sphinx .panel>.table:last-child>tbody:last-child>tr:last-child,.runestone-sphinx .panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.ptx-runestone-container .panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.ptx-runestone-container .panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.ptx-runestone-container .panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.ptx-runestone-container .panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.runestone-sphinx .panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.runestone-sphinx .panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.runestone-sphinx .panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.runestone-sphinx .panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.ptx-runestone-container .panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.ptx-runestone-container .panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.ptx-runestone-container .panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.ptx-runestone-container .panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.runestone-sphinx .panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.runestone-sphinx .panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.runestone-sphinx .panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.runestone-sphinx .panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.ptx-runestone-container .panel>.panel-body+.table,.ptx-runestone-container .panel>.panel-body+.table-responsive,.ptx-runestone-container .panel>.table+.panel-body,.ptx-runestone-container .panel>.table-responsive+.panel-body,.runestone-sphinx .panel>.panel-body+.table,.runestone-sphinx .panel>.panel-body+.table-responsive,.runestone-sphinx .panel>.table+.panel-body,.runestone-sphinx .panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.ptx-runestone-container .panel>.table>tbody:first-child>tr:first-child td,.ptx-runestone-container .panel>.table>tbody:first-child>tr:first-child th,.runestone-sphinx .panel>.table>tbody:first-child>tr:first-child td,.runestone-sphinx .panel>.table>tbody:first-child>tr:first-child th{border-top:0}.ptx-runestone-container .panel>.table-bordered,.ptx-runestone-container .panel>.table-responsive>.table-bordered,.runestone-sphinx .panel>.table-bordered,.runestone-sphinx .panel>.table-responsive>.table-bordered{border:0}.ptx-runestone-container .panel>.table-bordered>tbody>tr>td:first-child,.ptx-runestone-container .panel>.table-bordered>tbody>tr>th:first-child,.ptx-runestone-container .panel>.table-bordered>tfoot>tr>td:first-child,.ptx-runestone-container .panel>.table-bordered>tfoot>tr>th:first-child,.ptx-runestone-container .panel>.table-bordered>thead>tr>td:first-child,.ptx-runestone-container .panel>.table-bordered>thead>tr>th:first-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.runestone-sphinx .panel>.table-bordered>tbody>tr>td:first-child,.runestone-sphinx .panel>.table-bordered>tbody>tr>th:first-child,.runestone-sphinx .panel>.table-bordered>tfoot>tr>td:first-child,.runestone-sphinx .panel>.table-bordered>tfoot>tr>th:first-child,.runestone-sphinx .panel>.table-bordered>thead>tr>td:first-child,.runestone-sphinx .panel>.table-bordered>thead>tr>th:first-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.ptx-runestone-container .panel>.table-bordered>tbody>tr>td:last-child,.ptx-runestone-container .panel>.table-bordered>tbody>tr>th:last-child,.ptx-runestone-container .panel>.table-bordered>tfoot>tr>td:last-child,.ptx-runestone-container .panel>.table-bordered>tfoot>tr>th:last-child,.ptx-runestone-container .panel>.table-bordered>thead>tr>td:last-child,.ptx-runestone-container .panel>.table-bordered>thead>tr>th:last-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.runestone-sphinx .panel>.table-bordered>tbody>tr>td:last-child,.runestone-sphinx .panel>.table-bordered>tbody>tr>th:last-child,.runestone-sphinx .panel>.table-bordered>tfoot>tr>td:last-child,.runestone-sphinx .panel>.table-bordered>tfoot>tr>th:last-child,.runestone-sphinx .panel>.table-bordered>thead>tr>td:last-child,.runestone-sphinx .panel>.table-bordered>thead>tr>th:last-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.ptx-runestone-container .panel>.table-bordered>tbody>tr:first-child>td,.ptx-runestone-container .panel>.table-bordered>tbody>tr:first-child>th,.ptx-runestone-container .panel>.table-bordered>tbody>tr:last-child>td,.ptx-runestone-container .panel>.table-bordered>tbody>tr:last-child>th,.ptx-runestone-container .panel>.table-bordered>tfoot>tr:last-child>td,.ptx-runestone-container .panel>.table-bordered>tfoot>tr:last-child>th,.ptx-runestone-container .panel>.table-bordered>thead>tr:first-child>td,.ptx-runestone-container .panel>.table-bordered>thead>tr:first-child>th,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.ptx-runestone-container .panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.ptx-runestone-container .panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.runestone-sphinx .panel>.table-bordered>tbody>tr:first-child>td,.runestone-sphinx .panel>.table-bordered>tbody>tr:first-child>th,.runestone-sphinx .panel>.table-bordered>tbody>tr:last-child>td,.runestone-sphinx .panel>.table-bordered>tbody>tr:last-child>th,.runestone-sphinx .panel>.table-bordered>tfoot>tr:last-child>td,.runestone-sphinx .panel>.table-bordered>tfoot>tr:last-child>th,.runestone-sphinx .panel>.table-bordered>thead>tr:first-child>td,.runestone-sphinx .panel>.table-bordered>thead>tr:first-child>th,.runestone-sphinx .panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.runestone-sphinx .panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.runestone-sphinx .panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.runestone-sphinx .panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.runestone-sphinx .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.runestone-sphinx .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.runestone-sphinx .panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.runestone-sphinx .panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.ptx-runestone-container .panel>.table-responsive,.runestone-sphinx .panel>.table-responsive{border:0;margin-bottom:0}.ptx-runestone-container .panel-group,.runestone-sphinx .panel-group{margin-bottom:20px}.ptx-runestone-container .panel-group .panel,.runestone-sphinx .panel-group .panel{border-radius:4px;margin-bottom:0}.ptx-runestone-container .panel-group .panel+.panel,.runestone-sphinx .panel-group .panel+.panel{margin-top:5px}.ptx-runestone-container .panel-group .panel-heading,.runestone-sphinx .panel-group .panel-heading{border-bottom:0}.ptx-runestone-container .panel-group .panel-heading+.panel-collapse>.list-group,.ptx-runestone-container .panel-group .panel-heading+.panel-collapse>.panel-body,.runestone-sphinx .panel-group .panel-heading+.panel-collapse>.list-group,.runestone-sphinx .panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.ptx-runestone-container .panel-group .panel-footer,.runestone-sphinx .panel-group .panel-footer{border-top:0}.ptx-runestone-container .panel-group .panel-footer+.panel-collapse .panel-body,.runestone-sphinx .panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.ptx-runestone-container .panel-default,.runestone-sphinx .panel-default{border-color:#ddd}.ptx-runestone-container .panel-default>.panel-heading,.runestone-sphinx .panel-default>.panel-heading{background-color:#f5f5f5;border-color:#ddd;color:#333}.ptx-runestone-container .panel-default>.panel-heading+.panel-collapse>.panel-body,.runestone-sphinx .panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.ptx-runestone-container .panel-default>.panel-heading .badge,.runestone-sphinx .panel-default>.panel-heading .badge{background-color:#333;color:#f5f5f5}.ptx-runestone-container .panel-default>.panel-footer+.panel-collapse>.panel-body,.runestone-sphinx .panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.ptx-runestone-container .panel-primary,.runestone-sphinx .panel-primary{border-color:#337ab7}.ptx-runestone-container .panel-primary>.panel-heading,.runestone-sphinx .panel-primary>.panel-heading{background-color:#337ab7;border-color:#337ab7;color:#fff}.ptx-runestone-container .panel-primary>.panel-heading+.panel-collapse>.panel-body,.runestone-sphinx .panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.ptx-runestone-container .panel-primary>.panel-heading .badge,.runestone-sphinx .panel-primary>.panel-heading .badge{background-color:#fff;color:#337ab7}.ptx-runestone-container .panel-primary>.panel-footer+.panel-collapse>.panel-body,.runestone-sphinx .panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.ptx-runestone-container .panel-success,.runestone-sphinx .panel-success{border-color:#d6e9c6}.ptx-runestone-container .panel-success>.panel-heading,.runestone-sphinx .panel-success>.panel-heading{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.ptx-runestone-container .panel-success>.panel-heading+.panel-collapse>.panel-body,.runestone-sphinx .panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.ptx-runestone-container .panel-success>.panel-heading .badge,.runestone-sphinx .panel-success>.panel-heading .badge{background-color:#3c763d;color:#dff0d8}.ptx-runestone-container .panel-success>.panel-footer+.panel-collapse>.panel-body,.runestone-sphinx .panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.ptx-runestone-container .panel-info,.runestone-sphinx .panel-info{border-color:#bce8f1}.ptx-runestone-container .panel-info>.panel-heading,.runestone-sphinx .panel-info>.panel-heading{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.ptx-runestone-container .panel-info>.panel-heading+.panel-collapse>.panel-body,.runestone-sphinx .panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.ptx-runestone-container .panel-info>.panel-heading .badge,.runestone-sphinx .panel-info>.panel-heading .badge{background-color:#31708f;color:#d9edf7}.ptx-runestone-container .panel-info>.panel-footer+.panel-collapse>.panel-body,.runestone-sphinx .panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.ptx-runestone-container .panel-warning,.runestone-sphinx .panel-warning{border-color:#faebcc}.ptx-runestone-container .panel-warning>.panel-heading,.runestone-sphinx .panel-warning>.panel-heading{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.ptx-runestone-container .panel-warning>.panel-heading+.panel-collapse>.panel-body,.runestone-sphinx .panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.ptx-runestone-container .panel-warning>.panel-heading .badge,.runestone-sphinx .panel-warning>.panel-heading .badge{background-color:#8a6d3b;color:#fcf8e3}.ptx-runestone-container .panel-warning>.panel-footer+.panel-collapse>.panel-body,.runestone-sphinx .panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.ptx-runestone-container .panel-danger,.runestone-sphinx .panel-danger{border-color:#ebccd1}.ptx-runestone-container .panel-danger>.panel-heading,.runestone-sphinx .panel-danger>.panel-heading{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.ptx-runestone-container .panel-danger>.panel-heading+.panel-collapse>.panel-body,.runestone-sphinx .panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.ptx-runestone-container .panel-danger>.panel-heading .badge,.runestone-sphinx .panel-danger>.panel-heading .badge{background-color:#a94442;color:#f2dede}.ptx-runestone-container .panel-danger>.panel-footer+.panel-collapse>.panel-body,.runestone-sphinx .panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.ptx-runestone-container .embed-responsive,.runestone-sphinx .embed-responsive{display:block;height:0;overflow:hidden;padding:0;position:relative}.ptx-runestone-container .embed-responsive .embed-responsive-item,.ptx-runestone-container .embed-responsive embed,.ptx-runestone-container .embed-responsive iframe,.ptx-runestone-container .embed-responsive object,.ptx-runestone-container .embed-responsive video,.runestone-sphinx .embed-responsive .embed-responsive-item,.runestone-sphinx .embed-responsive embed,.runestone-sphinx .embed-responsive iframe,.runestone-sphinx .embed-responsive object,.runestone-sphinx .embed-responsive video{border:0;bottom:0;height:100%;left:0;position:absolute;top:0;width:100%}.ptx-runestone-container .embed-responsive-16by9,.runestone-sphinx .embed-responsive-16by9{padding-bottom:56.25%}.ptx-runestone-container .embed-responsive-4by3,.runestone-sphinx .embed-responsive-4by3{padding-bottom:75%}.ptx-runestone-container .well,.runestone-sphinx .well{background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05);margin-bottom:20px;min-height:20px;padding:19px}.ptx-runestone-container .well blockquote,.runestone-sphinx .well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.ptx-runestone-container .well-lg,.runestone-sphinx .well-lg{border-radius:6px;padding:24px}.ptx-runestone-container .well-sm,.runestone-sphinx .well-sm{border-radius:3px;padding:9px}.ptx-runestone-container .close,.runestone-sphinx .close{color:#000;filter:alpha(opacity=20);float:right;font-size:21px;font-weight:700;line-height:1;opacity:.2;text-shadow:0 1px 0 #fff}.ptx-runestone-container .close:focus,.ptx-runestone-container .close:hover,.runestone-sphinx .close:focus,.runestone-sphinx .close:hover{color:#000;cursor:pointer;filter:alpha(opacity=50);opacity:.5;text-decoration:none}.ptx-runestone-container button.close,.runestone-sphinx button.close{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;cursor:pointer;padding:0}.ptx-runestone-container .modal-open,.runestone-sphinx .modal-open{overflow:hidden}.ptx-runestone-container .modal,.runestone-sphinx .modal{-webkit-overflow-scrolling:touch;bottom:0;display:none;left:0;outline:0;overflow:hidden;position:fixed;right:0;top:0;z-index:1050}.ptx-runestone-container .modal.fade .modal-dialog,.runestone-sphinx .modal.fade .modal-dialog{-webkit-transform:translateY(-25%);-ms-transform:translateY(-25%);-o-transform:translateY(-25%);transform:translateY(-25%);-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out,-o-transform .3s ease-out}.ptx-runestone-container .modal.in .modal-dialog,.runestone-sphinx .modal.in .modal-dialog{-webkit-transform:translate(0);-ms-transform:translate(0);-o-transform:translate(0);transform:translate(0)}.ptx-runestone-container .modal-open .modal,.runestone-sphinx .modal-open .modal{overflow-x:hidden;overflow-y:auto}.ptx-runestone-container .modal-dialog,.runestone-sphinx .modal-dialog{margin:10px;position:relative;width:auto}.ptx-runestone-container .modal-content,.runestone-sphinx .modal-content{background-clip:padding-box;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0;position:relative}.ptx-runestone-container .modal-backdrop,.runestone-sphinx .modal-backdrop{background-color:#000;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1040}.ptx-runestone-container .modal-backdrop.fade,.runestone-sphinx .modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.ptx-runestone-container .modal-backdrop.in,.runestone-sphinx .modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.ptx-runestone-container .modal-header,.runestone-sphinx .modal-header{border-bottom:1px solid #e5e5e5;padding:15px}.ptx-runestone-container .modal-header .close,.runestone-sphinx .modal-header .close{margin-top:-2px}.ptx-runestone-container .modal-title,.runestone-sphinx .modal-title{line-height:1.42857143;margin:0}.ptx-runestone-container .modal-body,.runestone-sphinx .modal-body{padding:15px;position:relative}.ptx-runestone-container .modal-footer,.runestone-sphinx .modal-footer{border-top:1px solid #e5e5e5;padding:15px;text-align:right}.ptx-runestone-container .modal-footer .btn+.btn,.runestone-sphinx .modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.ptx-runestone-container .modal-footer .btn-group .btn+.btn,.runestone-sphinx .modal-footer .btn-group .btn+.btn{margin-left:-1px}.ptx-runestone-container .modal-footer .btn-block+.btn-block,.runestone-sphinx .modal-footer .btn-block+.btn-block{margin-left:0}.ptx-runestone-container .modal-scrollbar-measure,.runestone-sphinx .modal-scrollbar-measure{height:50px;overflow:scroll;position:absolute;top:-9999px;width:50px}@media (min-width:768px){.ptx-runestone-container .modal-dialog,.runestone-sphinx .modal-dialog{margin:30px auto;width:600px}.ptx-runestone-container .modal-content,.runestone-sphinx .modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.ptx-runestone-container .modal-sm,.runestone-sphinx .modal-sm{width:300px}}@media (min-width:992px){.ptx-runestone-container .modal-lg,.runestone-sphinx .modal-lg{width:900px}}.ptx-runestone-container .tooltip,.runestone-sphinx .tooltip{word-wrap:normal;display:block;filter:alpha(opacity=0);font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.42857143;opacity:0;position:absolute;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;z-index:1070}.ptx-runestone-container .tooltip.in,.runestone-sphinx .tooltip.in{filter:alpha(opacity=90);opacity:.9}.ptx-runestone-container .tooltip.top,.runestone-sphinx .tooltip.top{margin-top:-3px;padding:5px 0}.ptx-runestone-container .tooltip.right,.runestone-sphinx .tooltip.right{margin-left:3px;padding:0 5px}.ptx-runestone-container .tooltip.bottom,.runestone-sphinx .tooltip.bottom{margin-top:3px;padding:5px 0}.ptx-runestone-container .tooltip.left,.runestone-sphinx .tooltip.left{margin-left:-3px;padding:0 5px}.ptx-runestone-container .tooltip.top .tooltip-arrow,.runestone-sphinx .tooltip.top .tooltip-arrow{border-top-color:#000;border-width:5px 5px 0;bottom:0;left:50%;margin-left:-5px}.ptx-runestone-container .tooltip.top-left .tooltip-arrow,.runestone-sphinx .tooltip.top-left .tooltip-arrow{border-top-color:#000;border-width:5px 5px 0;bottom:0;margin-bottom:-5px;right:5px}.ptx-runestone-container .tooltip.top-right .tooltip-arrow,.runestone-sphinx .tooltip.top-right .tooltip-arrow{border-top-color:#000;border-width:5px 5px 0;bottom:0;left:5px;margin-bottom:-5px}.ptx-runestone-container .tooltip.right .tooltip-arrow,.runestone-sphinx .tooltip.right .tooltip-arrow{border-right-color:#000;border-width:5px 5px 5px 0;left:0;margin-top:-5px;top:50%}.ptx-runestone-container .tooltip.left .tooltip-arrow,.runestone-sphinx .tooltip.left .tooltip-arrow{border-left-color:#000;border-width:5px 0 5px 5px;margin-top:-5px;right:0;top:50%}.ptx-runestone-container .tooltip.bottom .tooltip-arrow,.runestone-sphinx .tooltip.bottom .tooltip-arrow{border-bottom-color:#000;border-width:0 5px 5px;left:50%;margin-left:-5px;top:0}.ptx-runestone-container .tooltip.bottom-left .tooltip-arrow,.runestone-sphinx .tooltip.bottom-left .tooltip-arrow{border-bottom-color:#000;border-width:0 5px 5px;margin-top:-5px;right:5px;top:0}.ptx-runestone-container .tooltip.bottom-right .tooltip-arrow,.runestone-sphinx .tooltip.bottom-right .tooltip-arrow{border-bottom-color:#000;border-width:0 5px 5px;left:5px;margin-top:-5px;top:0}.ptx-runestone-container .tooltip-inner,.runestone-sphinx .tooltip-inner{background-color:#000;border-radius:4px;color:#fff;max-width:200px;padding:3px 8px;text-align:center}.ptx-runestone-container .tooltip-arrow,.runestone-sphinx .tooltip-arrow{border-color:transparent;border-style:solid;height:0;position:absolute;width:0}.ptx-runestone-container .popover,.runestone-sphinx .popover{word-wrap:normal;background-clip:padding-box;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);display:none;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;left:0;letter-spacing:normal;line-break:auto;line-height:1.42857143;max-width:276px;padding:1px;position:absolute;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;top:0;white-space:normal;word-break:normal;word-spacing:normal;z-index:1060}.ptx-runestone-container .popover.top,.runestone-sphinx .popover.top{margin-top:-10px}.ptx-runestone-container .popover.right,.runestone-sphinx .popover.right{margin-left:10px}.ptx-runestone-container .popover.bottom,.runestone-sphinx .popover.bottom{margin-top:10px}.ptx-runestone-container .popover.left,.runestone-sphinx .popover.left{margin-left:-10px}.ptx-runestone-container .popover>.arrow,.runestone-sphinx .popover>.arrow{border-width:11px}.ptx-runestone-container .popover>.arrow,.ptx-runestone-container .popover>.arrow:after,.runestone-sphinx .popover>.arrow,.runestone-sphinx .popover>.arrow:after{border-color:transparent;border-style:solid;display:block;height:0;position:absolute;width:0}.ptx-runestone-container .popover>.arrow:after,.runestone-sphinx .popover>.arrow:after{border-width:10px;content:""}.ptx-runestone-container .popover.top>.arrow,.runestone-sphinx .popover.top>.arrow{border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-11px;left:50%;margin-left:-11px}.ptx-runestone-container .popover.top>.arrow:after,.runestone-sphinx .popover.top>.arrow:after{border-bottom-width:0;border-top-color:#fff;bottom:1px;content:" ";margin-left:-10px}.ptx-runestone-container .popover.right>.arrow,.runestone-sphinx .popover.right>.arrow{border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,.25);left:-11px;margin-top:-11px;top:50%}.ptx-runestone-container .popover.right>.arrow:after,.runestone-sphinx .popover.right>.arrow:after{border-left-width:0;border-right-color:#fff;bottom:-10px;content:" ";left:1px}.ptx-runestone-container .popover.bottom>.arrow,.runestone-sphinx .popover.bottom>.arrow{border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);border-top-width:0;left:50%;margin-left:-11px;top:-11px}.ptx-runestone-container .popover.bottom>.arrow:after,.runestone-sphinx .popover.bottom>.arrow:after{border-bottom-color:#fff;border-top-width:0;content:" ";margin-left:-10px;top:1px}.ptx-runestone-container .popover.left>.arrow,.runestone-sphinx .popover.left>.arrow{border-left-color:#999;border-left-color:rgba(0,0,0,.25);border-right-width:0;margin-top:-11px;right:-11px;top:50%}.ptx-runestone-container .popover.left>.arrow:after,.runestone-sphinx .popover.left>.arrow:after{border-left-color:#fff;border-right-width:0;bottom:-10px;content:" ";right:1px}.ptx-runestone-container .popover-title,.runestone-sphinx .popover-title{background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0;font-size:14px;margin:0;padding:8px 14px}.ptx-runestone-container .popover-content,.runestone-sphinx .popover-content{padding:9px 14px}.ptx-runestone-container .carousel,.runestone-sphinx .carousel{position:relative}.ptx-runestone-container .carousel-inner,.runestone-sphinx .carousel-inner{overflow:hidden;position:relative;width:100%}.ptx-runestone-container .carousel-inner>.item,.runestone-sphinx .carousel-inner>.item{display:none;position:relative;-webkit-transition:left .6s ease-in-out;-o-transition:left .6s ease-in-out;transition:left .6s ease-in-out}.ptx-runestone-container .carousel-inner>.item>a>img,.ptx-runestone-container .carousel-inner>.item>img,.runestone-sphinx .carousel-inner>.item>a>img,.runestone-sphinx .carousel-inner>.item>img{line-height:1}@media (-webkit-transform-3d),(transform-3d){.ptx-runestone-container .carousel-inner>.item,.runestone-sphinx .carousel-inner>.item{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px;-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;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,-o-transform .6s ease-in-out}.ptx-runestone-container .carousel-inner>.item.active.right,.ptx-runestone-container .carousel-inner>.item.next,.runestone-sphinx .carousel-inner>.item.active.right,.runestone-sphinx .carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.ptx-runestone-container .carousel-inner>.item.active.left,.ptx-runestone-container .carousel-inner>.item.prev,.runestone-sphinx .carousel-inner>.item.active.left,.runestone-sphinx .carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.ptx-runestone-container .carousel-inner>.item.active,.ptx-runestone-container .carousel-inner>.item.next.left,.ptx-runestone-container .carousel-inner>.item.prev.right,.runestone-sphinx .carousel-inner>.item.active,.runestone-sphinx .carousel-inner>.item.next.left,.runestone-sphinx .carousel-inner>.item.prev.right{left:0;-webkit-transform:translateZ(0);transform:translateZ(0)}}.ptx-runestone-container .carousel-inner>.active,.ptx-runestone-container .carousel-inner>.next,.ptx-runestone-container .carousel-inner>.prev,.runestone-sphinx .carousel-inner>.active,.runestone-sphinx .carousel-inner>.next,.runestone-sphinx .carousel-inner>.prev{display:block}.ptx-runestone-container .carousel-inner>.active,.runestone-sphinx .carousel-inner>.active{left:0}.ptx-runestone-container .carousel-inner>.next,.ptx-runestone-container .carousel-inner>.prev,.runestone-sphinx .carousel-inner>.next,.runestone-sphinx .carousel-inner>.prev{position:absolute;top:0;width:100%}.ptx-runestone-container .carousel-inner>.next,.runestone-sphinx .carousel-inner>.next{left:100%}.ptx-runestone-container .carousel-inner>.prev,.runestone-sphinx .carousel-inner>.prev{left:-100%}.ptx-runestone-container .carousel-inner>.next.left,.ptx-runestone-container .carousel-inner>.prev.right,.runestone-sphinx .carousel-inner>.next.left,.runestone-sphinx .carousel-inner>.prev.right{left:0}.ptx-runestone-container .carousel-inner>.active.left,.runestone-sphinx .carousel-inner>.active.left{left:-100%}.ptx-runestone-container .carousel-inner>.active.right,.runestone-sphinx .carousel-inner>.active.right{left:100%}.ptx-runestone-container .carousel-control,.runestone-sphinx .carousel-control{background-color:transparent;bottom:0;color:#fff;filter:alpha(opacity=50);font-size:20px;left:0;opacity:.5;position:absolute;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);top:0;width:15%}.ptx-runestone-container .carousel-control.left,.runestone-sphinx .carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5),transparent);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,transparent 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(transparent));background-image:linear-gradient(90deg,rgba(0,0,0,.5) 0,transparent);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#80000000",endColorstr="#00000000",GradientType=1)}.ptx-runestone-container .carousel-control.right,.runestone-sphinx .carousel-control.right{background-image:-webkit-linear-gradient(left,transparent,rgba(0,0,0,.5));background-image:-o-linear-gradient(left,transparent 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(transparent),to(rgba(0,0,0,.5)));background-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.5));background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#00000000",endColorstr="#80000000",GradientType=1);left:auto;right:0}.ptx-runestone-container .carousel-control:focus,.ptx-runestone-container .carousel-control:hover,.runestone-sphinx .carousel-control:focus,.runestone-sphinx .carousel-control:hover{color:#fff;filter:alpha(opacity=90);opacity:.9;outline:0;text-decoration:none}.ptx-runestone-container .carousel-control .glyphicon-chevron-left,.ptx-runestone-container .carousel-control .glyphicon-chevron-right,.ptx-runestone-container .carousel-control .icon-next,.ptx-runestone-container .carousel-control .icon-prev,.runestone-sphinx .carousel-control .glyphicon-chevron-left,.runestone-sphinx .carousel-control .glyphicon-chevron-right,.runestone-sphinx .carousel-control .icon-next,.runestone-sphinx .carousel-control .icon-prev{display:inline-block;margin-top:-10px;position:absolute;top:50%;z-index:5}.ptx-runestone-container .carousel-control .glyphicon-chevron-left,.ptx-runestone-container .carousel-control .icon-prev,.runestone-sphinx .carousel-control .glyphicon-chevron-left,.runestone-sphinx .carousel-control .icon-prev{left:50%;margin-left:-10px}.ptx-runestone-container .carousel-control .glyphicon-chevron-right,.ptx-runestone-container .carousel-control .icon-next,.runestone-sphinx .carousel-control .glyphicon-chevron-right,.runestone-sphinx .carousel-control .icon-next{margin-right:-10px;right:50%}.ptx-runestone-container .carousel-control .icon-next,.ptx-runestone-container .carousel-control .icon-prev,.runestone-sphinx .carousel-control .icon-next,.runestone-sphinx .carousel-control .icon-prev{font-family:serif;height:20px;line-height:1;width:20px}.ptx-runestone-container .carousel-control .icon-prev:before,.runestone-sphinx .carousel-control .icon-prev:before{content:"\2039"}.ptx-runestone-container .carousel-control .icon-next:before,.runestone-sphinx .carousel-control .icon-next:before{content:"\203a"}.ptx-runestone-container .carousel-indicators,.runestone-sphinx .carousel-indicators{bottom:10px;left:50%;list-style:none;margin-left:-30%;padding-left:0;position:absolute;text-align:center;width:60%;z-index:15}.ptx-runestone-container .carousel-indicators li,.runestone-sphinx .carousel-indicators li{background-color:#000\9;background-color:transparent;border:1px solid #fff;border-radius:10px;cursor:pointer;display:inline-block;height:10px;margin:1px;text-indent:-999px;width:10px}.ptx-runestone-container .carousel-indicators .active,.runestone-sphinx .carousel-indicators .active{background-color:#fff;height:12px;margin:0;width:12px}.ptx-runestone-container .carousel-caption,.runestone-sphinx .carousel-caption{bottom:20px;color:#fff;left:15%;padding-bottom:20px;padding-top:20px;position:absolute;right:15%;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);z-index:10}.ptx-runestone-container .carousel-caption .btn,.runestone-sphinx .carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.ptx-runestone-container .carousel-control .glyphicon-chevron-left,.ptx-runestone-container .carousel-control .glyphicon-chevron-right,.ptx-runestone-container .carousel-control .icon-next,.ptx-runestone-container .carousel-control .icon-prev,.runestone-sphinx .carousel-control .glyphicon-chevron-left,.runestone-sphinx .carousel-control .glyphicon-chevron-right,.runestone-sphinx .carousel-control .icon-next,.runestone-sphinx .carousel-control .icon-prev{font-size:30px;height:30px;margin-top:-10px;width:30px}.ptx-runestone-container .carousel-control .glyphicon-chevron-left,.ptx-runestone-container .carousel-control .icon-prev,.runestone-sphinx .carousel-control .glyphicon-chevron-left,.runestone-sphinx .carousel-control .icon-prev{margin-left:-10px}.ptx-runestone-container .carousel-control .glyphicon-chevron-right,.ptx-runestone-container .carousel-control .icon-next,.runestone-sphinx .carousel-control .glyphicon-chevron-right,.runestone-sphinx .carousel-control .icon-next{margin-right:-10px}.ptx-runestone-container .carousel-caption,.runestone-sphinx .carousel-caption{left:20%;padding-bottom:30px;right:20%}.ptx-runestone-container .carousel-indicators,.runestone-sphinx .carousel-indicators{bottom:20px}}.ptx-runestone-container .btn-group-vertical>.btn-group:after,.ptx-runestone-container .btn-group-vertical>.btn-group:before,.ptx-runestone-container .btn-toolbar:after,.ptx-runestone-container .btn-toolbar:before,.ptx-runestone-container .clearfix:after,.ptx-runestone-container .clearfix:before,.ptx-runestone-container .container-fluid:after,.ptx-runestone-container .container-fluid:before,.ptx-runestone-container .container:after,.ptx-runestone-container .container:before,.ptx-runestone-container .dl-horizontal dd:after,.ptx-runestone-container .dl-horizontal dd:before,.ptx-runestone-container .form-horizontal .form-group:after,.ptx-runestone-container .form-horizontal .form-group:before,.ptx-runestone-container .modal-footer:after,.ptx-runestone-container .modal-footer:before,.ptx-runestone-container .modal-header:after,.ptx-runestone-container .modal-header:before,.ptx-runestone-container .nav:after,.ptx-runestone-container .nav:before,.ptx-runestone-container .navbar-collapse:after,.ptx-runestone-container .navbar-collapse:before,.ptx-runestone-container .navbar-header:after,.ptx-runestone-container .navbar-header:before,.ptx-runestone-container .navbar:after,.ptx-runestone-container .navbar:before,.ptx-runestone-container .pager:after,.ptx-runestone-container .pager:before,.ptx-runestone-container .panel-body:after,.ptx-runestone-container .panel-body:before,.ptx-runestone-container .row:after,.ptx-runestone-container .row:before,.runestone-sphinx .btn-group-vertical>.btn-group:after,.runestone-sphinx .btn-group-vertical>.btn-group:before,.runestone-sphinx .btn-toolbar:after,.runestone-sphinx .btn-toolbar:before,.runestone-sphinx .clearfix:after,.runestone-sphinx .clearfix:before,.runestone-sphinx .container-fluid:after,.runestone-sphinx .container-fluid:before,.runestone-sphinx .container:after,.runestone-sphinx .container:before,.runestone-sphinx .dl-horizontal dd:after,.runestone-sphinx .dl-horizontal dd:before,.runestone-sphinx .form-horizontal .form-group:after,.runestone-sphinx .form-horizontal .form-group:before,.runestone-sphinx .modal-footer:after,.runestone-sphinx .modal-footer:before,.runestone-sphinx .modal-header:after,.runestone-sphinx .modal-header:before,.runestone-sphinx .nav:after,.runestone-sphinx .nav:before,.runestone-sphinx .navbar-collapse:after,.runestone-sphinx .navbar-collapse:before,.runestone-sphinx .navbar-header:after,.runestone-sphinx .navbar-header:before,.runestone-sphinx .navbar:after,.runestone-sphinx .navbar:before,.runestone-sphinx .pager:after,.runestone-sphinx .pager:before,.runestone-sphinx .panel-body:after,.runestone-sphinx .panel-body:before,.runestone-sphinx .row:after,.runestone-sphinx .row:before{content:" ";display:table}.ptx-runestone-container .btn-group-vertical>.btn-group:after,.ptx-runestone-container .btn-toolbar:after,.ptx-runestone-container .clearfix:after,.ptx-runestone-container .container-fluid:after,.ptx-runestone-container .container:after,.ptx-runestone-container .dl-horizontal dd:after,.ptx-runestone-container .form-horizontal .form-group:after,.ptx-runestone-container .modal-footer:after,.ptx-runestone-container .modal-header:after,.ptx-runestone-container .nav:after,.ptx-runestone-container .navbar-collapse:after,.ptx-runestone-container .navbar-header:after,.ptx-runestone-container .navbar:after,.ptx-runestone-container .pager:after,.ptx-runestone-container .panel-body:after,.ptx-runestone-container .row:after,.runestone-sphinx .btn-group-vertical>.btn-group:after,.runestone-sphinx .btn-toolbar:after,.runestone-sphinx .clearfix:after,.runestone-sphinx .container-fluid:after,.runestone-sphinx .container:after,.runestone-sphinx .dl-horizontal dd:after,.runestone-sphinx .form-horizontal .form-group:after,.runestone-sphinx .modal-footer:after,.runestone-sphinx .modal-header:after,.runestone-sphinx .nav:after,.runestone-sphinx .navbar-collapse:after,.runestone-sphinx .navbar-header:after,.runestone-sphinx .navbar:after,.runestone-sphinx .pager:after,.runestone-sphinx .panel-body:after,.runestone-sphinx .row:after{clear:both}.ptx-runestone-container .center-block,.runestone-sphinx .center-block{display:block;margin-left:auto;margin-right:auto}.ptx-runestone-container .pull-right,.runestone-sphinx .pull-right{float:right!important}.ptx-runestone-container .pull-left,.runestone-sphinx .pull-left{float:left!important}.ptx-runestone-container .hide,.runestone-sphinx .hide{display:none!important}.ptx-runestone-container .show,.runestone-sphinx .show{display:block!important}.ptx-runestone-container .invisible,.runestone-sphinx .invisible{visibility:hidden}.ptx-runestone-container .text-hide,.runestone-sphinx .text-hide{background-color:transparent;border:0;color:transparent;font:0/0 a;text-shadow:none}.ptx-runestone-container .hidden,.runestone-sphinx .hidden{display:none!important}.ptx-runestone-container .affix,.runestone-sphinx .affix{position:fixed}@-ms-viewport{width:device-width}.ptx-runestone-container .visible-lg,.ptx-runestone-container .visible-lg-block,.ptx-runestone-container .visible-lg-inline,.ptx-runestone-container .visible-lg-inline-block,.ptx-runestone-container .visible-md,.ptx-runestone-container .visible-md-block,.ptx-runestone-container .visible-md-inline,.ptx-runestone-container .visible-md-inline-block,.ptx-runestone-container .visible-sm,.ptx-runestone-container .visible-sm-block,.ptx-runestone-container .visible-sm-inline,.ptx-runestone-container .visible-sm-inline-block,.ptx-runestone-container .visible-xs,.ptx-runestone-container .visible-xs-block,.ptx-runestone-container .visible-xs-inline,.ptx-runestone-container .visible-xs-inline-block,.runestone-sphinx .visible-lg,.runestone-sphinx .visible-lg-block,.runestone-sphinx .visible-lg-inline,.runestone-sphinx .visible-lg-inline-block,.runestone-sphinx .visible-md,.runestone-sphinx .visible-md-block,.runestone-sphinx .visible-md-inline,.runestone-sphinx .visible-md-inline-block,.runestone-sphinx .visible-sm,.runestone-sphinx .visible-sm-block,.runestone-sphinx .visible-sm-inline,.runestone-sphinx .visible-sm-inline-block,.runestone-sphinx .visible-xs,.runestone-sphinx .visible-xs-block,.runestone-sphinx .visible-xs-inline,.runestone-sphinx .visible-xs-inline-block{display:none!important}@media (max-width:767px){.ptx-runestone-container .visible-xs,.runestone-sphinx .visible-xs{display:block!important}.ptx-runestone-container table.visible-xs,.runestone-sphinx table.visible-xs{display:table!important}.ptx-runestone-container tr.visible-xs,.runestone-sphinx tr.visible-xs{display:table-row!important}.ptx-runestone-container td.visible-xs,.ptx-runestone-container th.visible-xs,.runestone-sphinx td.visible-xs,.runestone-sphinx th.visible-xs{display:table-cell!important}.ptx-runestone-container .visible-xs-block,.runestone-sphinx .visible-xs-block{display:block!important}.ptx-runestone-container .visible-xs-inline,.runestone-sphinx .visible-xs-inline{display:inline!important}.ptx-runestone-container .visible-xs-inline-block,.runestone-sphinx .visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.ptx-runestone-container .visible-sm,.runestone-sphinx .visible-sm{display:block!important}.ptx-runestone-container table.visible-sm,.runestone-sphinx table.visible-sm{display:table!important}.ptx-runestone-container tr.visible-sm,.runestone-sphinx tr.visible-sm{display:table-row!important}.ptx-runestone-container td.visible-sm,.ptx-runestone-container th.visible-sm,.runestone-sphinx td.visible-sm,.runestone-sphinx th.visible-sm{display:table-cell!important}.ptx-runestone-container .visible-sm-block,.runestone-sphinx .visible-sm-block{display:block!important}.ptx-runestone-container .visible-sm-inline,.runestone-sphinx .visible-sm-inline{display:inline!important}.ptx-runestone-container .visible-sm-inline-block,.runestone-sphinx .visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.ptx-runestone-container .visible-md,.runestone-sphinx .visible-md{display:block!important}.ptx-runestone-container table.visible-md,.runestone-sphinx table.visible-md{display:table!important}.ptx-runestone-container tr.visible-md,.runestone-sphinx tr.visible-md{display:table-row!important}.ptx-runestone-container td.visible-md,.ptx-runestone-container th.visible-md,.runestone-sphinx td.visible-md,.runestone-sphinx th.visible-md{display:table-cell!important}.ptx-runestone-container .visible-md-block,.runestone-sphinx .visible-md-block{display:block!important}.ptx-runestone-container .visible-md-inline,.runestone-sphinx .visible-md-inline{display:inline!important}.ptx-runestone-container .visible-md-inline-block,.runestone-sphinx .visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.ptx-runestone-container .visible-lg,.runestone-sphinx .visible-lg{display:block!important}.ptx-runestone-container table.visible-lg,.runestone-sphinx table.visible-lg{display:table!important}.ptx-runestone-container tr.visible-lg,.runestone-sphinx tr.visible-lg{display:table-row!important}.ptx-runestone-container td.visible-lg,.ptx-runestone-container th.visible-lg,.runestone-sphinx td.visible-lg,.runestone-sphinx th.visible-lg{display:table-cell!important}.ptx-runestone-container .visible-lg-block,.runestone-sphinx .visible-lg-block{display:block!important}.ptx-runestone-container .visible-lg-inline,.runestone-sphinx .visible-lg-inline{display:inline!important}.ptx-runestone-container .visible-lg-inline-block,.runestone-sphinx .visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.ptx-runestone-container .hidden-xs,.runestone-sphinx .hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.ptx-runestone-container .hidden-sm,.runestone-sphinx .hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.ptx-runestone-container .hidden-md,.runestone-sphinx .hidden-md{display:none!important}}@media (min-width:1200px){.ptx-runestone-container .hidden-lg,.runestone-sphinx .hidden-lg{display:none!important}}.ptx-runestone-container .visible-print,.runestone-sphinx .visible-print{display:none!important}@media print{.ptx-runestone-container .visible-print,.runestone-sphinx .visible-print{display:block!important}.ptx-runestone-container table.visible-print,.runestone-sphinx table.visible-print{display:table!important}.ptx-runestone-container tr.visible-print,.runestone-sphinx tr.visible-print{display:table-row!important}.ptx-runestone-container td.visible-print,.ptx-runestone-container th.visible-print,.runestone-sphinx td.visible-print,.runestone-sphinx th.visible-print{display:table-cell!important}}.ptx-runestone-container .visible-print-block,.runestone-sphinx .visible-print-block{display:none!important}@media print{.ptx-runestone-container .visible-print-block,.runestone-sphinx .visible-print-block{display:block!important}}.ptx-runestone-container .visible-print-inline,.runestone-sphinx .visible-print-inline{display:none!important}@media print{.ptx-runestone-container .visible-print-inline,.runestone-sphinx .visible-print-inline{display:inline!important}}.ptx-runestone-container .visible-print-inline-block,.runestone-sphinx .visible-print-inline-block{display:none!important}@media print{.ptx-runestone-container .visible-print-inline-block,.runestone-sphinx .visible-print-inline-block{display:inline-block!important}.ptx-runestone-container .hidden-print,.runestone-sphinx .hidden-print{display:none!important}}.ptx-runestone-container :root,.runestone-sphinx :root{--background:#fff;--outerBackground:#eee;--links:#0645ad;--bodyFont:#000;--tooltip:#fff;--grayToWhite:#333;--navbar:#f8f8f8;--navbarFont:#707070;--navbarFontHover:#000;--alerts:#d9edf7;--completionButton:#f19711;--completionButtonHover:#ff9f19;--admonition:#fcf8e3;--admonitionBorder:#fbeed5;--codeButtons:#474949;--codeButtonsBorder:#474949;--dangerAlerts:#f2dede;--successAlerts:#dff0d8;--contentWidthRegular:660px;--contentWidthWide:1060px;--componentBgColor:#f0f8ff;--componentBorderColor:#000;--questionBgColor:#e1efff}.ptx-runestone-container [data-theme=dark],.runestone-sphinx [data-theme=dark]{--background:#2c2f33;--outerBackground:#23272a;--links:#7289da;--bodyFont:#99aab5;--tooltip:#000;--grayToWhite:#fff;--navbar:#3d3d3d;--navbarFont:#fff;--navbarFontHover:#d6d6d6;--alerts:#714082;--completionButton:#650087;--completionButtonHover:#560073;--admonition:#3d3d3d;--admonitionBorder:#262626;--codeButtons:#7289da;--codeButtonsBorder:#fff;--dangerAlerts:#8c2626;--successAlerts:#217300;--componentBgColor:#07467d;--componentBorderColor:#939090;--questionBgColor:#17555d}.ptx-runestone-container div.assignment-nav,.runestone-sphinx div.assignment-nav{background-color:var(--componentBgColor);border-color:var(--componentBorderColor);border-style:solid;border-width:1px;padding-bottom:5px;padding-top:5px}.ptx-runestone-container td.linenos pre,.runestone-sphinx td.linenos pre{color:#6b6b6b}.ptx-runestone-container .str,.runestone-sphinx .str{color:#006b00}.ptx-runestone-container .parsons .block,.runestone-sphinx .parsons .block{background-color:#fafafa}.ptx-runestone-container .highlight .c1,.runestone-sphinx .highlight .c1{color:#376a7b}.ptx-runestone-container .highlight .nn,.runestone-sphinx .highlight .nn{color:#0f6c95}.ptx-runestone-container .highlight .gp,.runestone-sphinx .highlight .gp{color:#a14c08}.ptx-runestone-container .highlight .si,.runestone-sphinx .highlight .si{color:#3c773d}.ptx-runestone-container .highlight .nc,.runestone-sphinx .highlight .nc{color:#0b719d}.ptx-runestone-container ul.search li div.context,.runestone-sphinx ul.search li div.context{color:#6b6b6b}.ptx-runestone-container span.highlighted,.runestone-sphinx span.highlighted{color:#4d4d4d}.ptx-runestone-container .CodeMirror-linenumber,.runestone-sphinx .CodeMirror-linenumber{color:#6b6b6b}.ptx-runestone-container .alert-warning,.runestone-sphinx .alert-warning{background-color:var(--admonition);border-color:var(--admonitionBorder)}.ptx-runestone-container div.ExecutionVisualizer table#pyCodeOutput .lineNo,.runestone-sphinx div.ExecutionVisualizer table#pyCodeOutput .lineNo{color:#6b6b6b}.ptx-runestone-container body,.runestone-sphinx body{background-color:var(--outerBackground);counter-reset:rscomponent;padding-top:60px}.ptx-runestone-container h5,.runestone-sphinx h5{font-weight:700;padding:10px 0}.ptx-runestone-container #table-of-contents a,.runestone-sphinx #table-of-contents a{color:var(--links)}.ptx-runestone-container #table-of-contents a:hover,.runestone-sphinx #table-of-contents a:hover{color:var(--links);text-decoration:underline}.ptx-runestone-container #table-of-contents.section,.runestone-sphinx #table-of-contents.section{font-size:16px}.ptx-runestone-container .navbar-default,.runestone-sphinx .navbar-default{background-color:var(--navbar)}.ptx-runestone-container .navbar-default .navbar-nav>li,.ptx-runestone-container .navbar-default .navbar-nav>li>a,.runestone-sphinx .navbar-default .navbar-nav>li,.runestone-sphinx .navbar-default .navbar-nav>li>a{color:var(--navbarFont)}.ptx-runestone-container .navbar-default .navbar-nav>li>a:hover,.runestone-sphinx .navbar-default .navbar-nav>li>a:hover{color:var(--navbarFontHover)}.ptx-runestone-container .navbar-default .navbar-brand,.runestone-sphinx .navbar-default .navbar-brand{color:var(--navbarFont)}.ptx-runestone-container .toctree-wrapper,.runestone-sphinx .toctree-wrapper{font-size:16px}.ptx-runestone-container .toctree-wrapper a,.runestone-sphinx .toctree-wrapper a{color:var(--links)}.ptx-runestone-container .toctree-wrapper a:hover,.runestone-sphinx .toctree-wrapper a:hover{color:var(--links);text-decoration:underline}.ptx-runestone-container #index-and-search.section,.runestone-sphinx #index-and-search.section{font-size:16px}.ptx-runestone-container #index-and-search.section a,.runestone-sphinx #index-and-search.section a{color:var(--links)}.ptx-runestone-container #index-and-search.section a:hover,.runestone-sphinx #index-and-search.section a:hover{color:var(--links);text-decoration:underline}.ptx-runestone-container a,.runestone-sphinx a{color:var(--links)}@media (max-width:768px){.ptx-runestone-container body,.runestone-sphinx body{padding-top:0}.ptx-runestone-container .navbar-fixed-top,.runestone-sphinx .navbar-fixed-top{position:static}}@media (min-width:768px){.ptx-runestone-container .navbar .divider-vertical,.runestone-sphinx .navbar .divider-vertical{border-left:1px solid #f2f2f2;margin:0 3px}.ptx-runestone-container .navbar-fixed-top .container,.runestone-sphinx .navbar-fixed-top .container{padding:0}}.ptx-runestone-container div.container,.runestone-sphinx div.container{background-color:var(--background)}.ptx-runestone-container .container,.runestone-sphinx .container{padding-left:10px;padding-right:10px}.ptx-runestone-container .runestone,.runestone-sphinx .runestone{background-color:var(--componentBgColor);border-color:var(--componentBorderColor);border-radius:10px;border-style:solid;clear:both;margin-bottom:20px;margin-top:20px;padding:15px}.ptx-runestone-container #main-content section>:not(section),.runestone-sphinx #main-content section>:not(section){margin-left:auto;margin-right:auto;max-width:var(--contentWidthRegular)}.ptx-runestone-container #main-content section>.codelens,.ptx-runestone-container #main-content section>.jupyterlite_sphinx_iframe_container,.ptx-runestone-container #main-content section>.question,.ptx-runestone-container #main-content section>.runestone.ac_section,.ptx-runestone-container #main-content section>.runestone.codelens,.ptx-runestone-container #main-content section>.runestone.parsons-container,.ptx-runestone-container #main-content section>.runestone.parsons-problems,.ptx-runestone-container #main-content section>.timedAssessment,.ptx-runestone-container #main-content section>section,.runestone-sphinx #main-content section>.codelens,.runestone-sphinx #main-content section>.jupyterlite_sphinx_iframe_container,.runestone-sphinx #main-content section>.question,.runestone-sphinx #main-content section>.runestone.ac_section,.runestone-sphinx #main-content section>.runestone.codelens,.runestone-sphinx #main-content section>.runestone.parsons-container,.runestone-sphinx #main-content section>.runestone.parsons-problems,.runestone-sphinx #main-content section>.timedAssessment,.runestone-sphinx #main-content section>section{margin-left:auto;margin-right:auto;max-width:var(--contentWidthWide)}.ptx-runestone-container #main-content section>.full-width,.runestone-sphinx #main-content section>.full-width{max-width:var(--contentWidthWide)}.ptx-runestone-container .container section>img,.runestone-sphinx .container section>img{display:block;margin-left:auto;margin-right:auto}.ptx-runestone-container .container-fluid>.navbar-collapse,.ptx-runestone-container .container-fluid>.navbar-header,.ptx-runestone-container .container>.navbar-collapse,.ptx-runestone-container .container>.navbar-header,.runestone-sphinx .container-fluid>.navbar-collapse,.runestone-sphinx .container-fluid>.navbar-header,.runestone-sphinx .container>.navbar-collapse,.runestone-sphinx .container>.navbar-header{margin-left:0;margin-right:0}.ptx-runestone-container .navbar>.container .navbar-brand,.runestone-sphinx .navbar>.container .navbar-brand{margin-left:0}.ptx-runestone-container .navbar>.container,.runestone-sphinx .navbar>.container{background-color:var(--navbar)}.ptx-runestone-container .navbar-toggle,.runestone-sphinx .navbar-toggle{margin-right:0}.ptx-runestone-container .footer>.container,.runestone-sphinx .footer>.container{background-color:var(--outerBackground)}.ptx-runestone-container .footer>.container p>a,.runestone-sphinx .footer>.container p>a{color:var(--links)}.ptx-runestone-container .brand-logo,.runestone-sphinx .brand-logo{display:block;float:left;margin-top:4px}.ptx-runestone-container .brand-logo img,.runestone-sphinx .brand-logo img{height:40px}.ptx-runestone-container .social-menu,.runestone-sphinx .social-menu{padding:10px 10px 15px 20px;width:220px}.ptx-runestone-container .fb-like,.runestone-sphinx .fb-like{margin-top:7px}.ptx-runestone-container .fb_iframe_widget iframe,.ptx-runestone-container .fb_iframe_widget span,.runestone-sphinx .fb_iframe_widget iframe,.runestone-sphinx .fb_iframe_widget span{height:20px!important;width:82px!important}.ptx-runestone-container .twitter-follow-button,.runestone-sphinx .twitter-follow-button{margin-top:10px}.ptx-runestone-container .gittip,.runestone-sphinx .gittip{margin-top:8px}.ptx-runestone-container .gittip-button,.runestone-sphinx .gittip-button{margin-bottom:-6px}.ptx-runestone-container .dropdown-menu>li>div,.ptx-runestone-container .dropdown-menu>li>label,.ptx-runestone-container .dropdown-menu>li>span,.runestone-sphinx .dropdown-menu>li>div,.runestone-sphinx .dropdown-menu>li>label,.runestone-sphinx .dropdown-menu>li>span{clear:both;color:var(--grayToWhite);display:block;font-weight:700;line-height:20px;padding:3px 20px;white-space:nowrap}.ptx-runestone-container .dropdown-menu>li>label:focus,.ptx-runestone-container .dropdown-menu>li>label:hover,.runestone-sphinx .dropdown-menu>li>label:focus,.runestone-sphinx .dropdown-menu>li>label:hover{background-color:#f5f5f5;color:#262626;text-decoration:none}.ptx-runestone-container .dropdown-menu>li>a,.runestone-sphinx .dropdown-menu>li>a{color:var(--grayToWhite)}.ptx-runestone-container .loggedinuser,.runestone-sphinx .loggedinuser{font-weight:700}.ptx-runestone-container .CodeMirror,.runestone-sphinx .CodeMirror{background-color:var(--background);clear:both;margin:0 0 1em}.ptx-runestone-container .ac_section .CodeMirror pre,.runestone-sphinx .ac_section .CodeMirror pre{word-wrap:normal;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;-o-border-radius:0;border-radius:0;border-width:0;font-family:Menlo,Monaco,Consolas,Courier New,monospace;font-size:inherit;margin:0;padding:0;white-space:pre}.ptx-runestone-container btn.btn-sm,.ptx-runestone-container button.btn,.ptx-runestone-container input[type=button].btn.btn-sm,.ptx-runestone-container input[type=submit].btn.btn-sm,.runestone-sphinx btn.btn-sm,.runestone-sphinx button.btn,.runestone-sphinx input[type=button].btn.btn-sm,.runestone-sphinx input[type=submit].btn.btn-sm{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:1em}.ptx-runestone-container .dropdown-menu .input-group .input-group-btn button.btn,.runestone-sphinx .dropdown-menu .input-group .input-group-btn button.btn{font-size:14px}.ptx-runestone-container .btn,.runestone-sphinx .btn{margin:5px}.ptx-runestone-container .btn.disabled,.runestone-sphinx .btn.disabled{pointer-events:auto}.ptx-runestone-container .btn-default,.ptx-runestone-container .btn-default.disabled,.ptx-runestone-container .btn-default.disabled:hover,.ptx-runestone-container .btn-default[disabled],.ptx-runestone-container .btn-default[disabled]:hover,.runestone-sphinx .btn-default,.runestone-sphinx .btn-default.disabled,.runestone-sphinx .btn-default.disabled:hover,.runestone-sphinx .btn-default[disabled],.runestone-sphinx .btn-default[disabled]:hover{background-color:var(--codeButtons);border-color:var(codeButtonsBorder);color:#fff}.ptx-runestone-container .btn-default.active,.ptx-runestone-container .btn-default:active,.ptx-runestone-container .btn-default:focus,.ptx-runestone-container .btn-default:hover,.runestone-sphinx .btn-default.active,.runestone-sphinx .btn-default:active,.runestone-sphinx .btn-default:focus,.runestone-sphinx .btn-default:hover{background-color:#3a3c3c;border-color:#2e2f2f;color:#fff}.ptx-runestone-container input[type=checkbox],.ptx-runestone-container input[type=radio],.runestone-sphinx input[type=checkbox],.runestone-sphinx input[type=radio]{margin-right:5px}.ptx-runestone-container .tooltip,.runestone-sphinx .tooltip{z-index:2000!important}.ptx-runestone-container .tooltip.in,.runestone-sphinx .tooltip.in{filter:alpha(opacity=80);opacity:.8}.ptx-runestone-container h2,.runestone-sphinx h2{margin-top:20px}.ptx-runestone-container .alert form,.runestone-sphinx .alert form{margin-bottom:0}.ptx-runestone-container .alert,.runestone-sphinx .alert{color:var(--grayToWhite);padding:10px}.ptx-runestone-container .alert-info,.runestone-sphinx .alert-info{background-color:var(--alerts)}.ptx-runestone-container .alert-danger,.runestone-sphinx .alert-danger{background-color:var(--dangerAlerts)}.ptx-runestone-container .alert-success,.runestone-sphinx .alert-success{background-color:var(--successAlerts)}.ptx-runestone-container .unittest-results.alert-danger,.runestone-sphinx .unittest-results.alert-danger{background-color:var(--dangerAlerts)!important}.ptx-runestone-container .unittest-results.alert-success,.runestone-sphinx .unittest-results.alert-success{background-color:var(--successAlerts)!important}.ptx-runestone-container .alert label,.runestone-sphinx .alert label{font-weight:400}.ptx-runestone-container .navbar_message,.runestone-sphinx .navbar_message{font-weight:700;margin-top:15px}.ptx-runestone-container dt.label>span.brackets:not(span.brackets>a),.ptx-runestone-container dt.label>span.fn-backref:not(span.fn-backref>a),.runestone-sphinx dt.label>span.brackets:not(span.brackets>a),.runestone-sphinx dt.label>span.fn-backref:not(span.fn-backref>a){color:#000}.ptx-runestone-container .admonition,.runestone-sphinx .admonition{background-color:var(--admonition);border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;margin-bottom:20px!important;margin-top:20px!important;padding:8px 35px 8px 14px!important;text-shadow:0 1px 0 hsla(0,0%,100%,.5)}.ptx-runestone-container .admonition.caution,.runestone-sphinx .admonition.caution{background-color:#f2dede;border-color:#eed3d7;color:#a33f3e}.ptx-runestone-container .admonition.note,.ptx-runestone-container .admonition.tip,.runestone-sphinx .admonition.note,.runestone-sphinx .admonition.tip{background-color:#d9edf7;border-color:#bce8f1;color:#333}.ptx-runestone-container div.flash,.runestone-sphinx div.flash{-webkit-font-smoothing:antialiased;background-color:#000;background-image:-webkit-linear-gradient(top,#222,#000);background-image:-o-linear-gradient(top,#222,#000);background-image:-moz-linear-gradient(90deg,#222,#000);background-image:linear-gradient(top,#222,#000);background-repeat:repeat-x;border:2px solid #fff;border-radius:8px;-moz-border-radius:8px;-webkit-border-radius:8px;color:#fff;cursor:pointer;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;margin:0 0 10px 10px;opacity:.95;padding:10px;position:fixed;right:45px;top:55px;vertical-align:middle;z-index:2000}.ptx-runestone-container #web2py_user_form,.runestone-sphinx #web2py_user_form{margin-top:10px}.ptx-runestone-container #web2py_user_form form,.runestone-sphinx #web2py_user_form form{float:left;margin-right:150px;padding-top:3px}.ptx-runestone-container #web2py_user_form td,.runestone-sphinx #web2py_user_form td{padding-bottom:15px}.ptx-runestone-container #web2py_user_form td.w2p_fw,.runestone-sphinx #web2py_user_form td.w2p_fw{width:299px}.ptx-runestone-container #auth-actions,.runestone-sphinx #auth-actions{margin-top:50px}.ptx-runestone-container #sign_in_text td,.runestone-sphinx #sign_in_text td{color:#333;font-family:lucida grande,Verdana,sans-serif;font-size:17px;padding-bottom:13px}.ptx-runestone-container #auth_user_remember,.runestone-sphinx #auth_user_remember{margin-top:-20px}.ptx-runestone-container #exercises>ol>li,.ptx-runestone-container #programming-exercises>ol>li,.runestone-sphinx #exercises>ol>li,.runestone-sphinx #programming-exercises>ol>li{margin-bottom:30px}.ptx-runestone-container #exercises>ol>li:nth-child(2n),.ptx-runestone-container #programming-exercises>ol>li:nth-child(2n),.runestone-sphinx #exercises>ol>li:nth-child(2n),.runestone-sphinx #programming-exercises>ol>li:nth-child(2n){background:#faf7df;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;padding:1.2em 1.4em}.ptx-runestone-container .scratch-ac-modal,.runestone-sphinx .scratch-ac-modal{max-height:90%;overflow-y:scroll;width:90%}.ptx-runestone-container .compare-modal .progress,.runestone-sphinx .compare-modal .progress{margin-bottom:0}.ptx-runestone-container .compare-me-progress,.runestone-sphinx .compare-me-progress{width:100%}.ptx-runestone-container .compare-me-progress .progress-bar,.ptx-runestone-container .unittest-results-progress .progress-bar,.runestone-sphinx .compare-me-progress .progress-bar,.runestone-sphinx .unittest-results-progress .progress-bar{color:#333}.ptx-runestone-container .unittest-results-progress,.runestone-sphinx .unittest-results-progress{width:25%}.ptx-runestone-container .compare-modal,.runestone-sphinx .compare-modal{width:350px}.ptx-runestone-container .compare-modal table,.runestone-sphinx .compare-modal table{border-collapse:separate;border-spacing:10px 5px}.ptx-runestone-container .codelens-modal,.runestone-sphinx .codelens-modal{bottom:auto;left:auto;right:20%;top:20%}@media (max-width:768px){.ptx-runestone-container .codelens-modal,.runestone-sphinx .codelens-modal{bottom:0!important;left:0!important;right:0!important;top:0!important}}.ptx-runestone-container .codelens-modal>.modal-dialog,.runestone-sphinx .codelens-modal>.modal-dialog{width:400px}.ptx-runestone-container .footnote.table,.runestone-sphinx .footnote.table{margin-bottom:10px;width:auto}.ptx-runestone-container .footnote.table td.label,.runestone-sphinx .footnote.table td.label{background-color:#d9edf7;padding:2px 5px}.ptx-runestone-container .ac-canvas,.runestone-sphinx .ac-canvas{background-color:#fff;display:inline-block}.ptx-runestone-container .video-play-overlay,.runestone-sphinx .video-play-overlay{background-position:50%;background-repeat:no-repeat;height:85px;left:44%;position:relative;top:-150px;width:130px}.ptx-runestone-container .video_popup video,.runestone-sphinx .video_popup video{cursor:pointer;width:var(--contentWidthRegular)}.ptx-runestone-container .ui-sortable-helper,.runestone-sphinx .ui-sortable-helper{height:auto!important;width:auto!important}.ptx-runestone-container .navLink,.runestone-sphinx .navLink{bottom:65px;display:inline;opacity:.4;position:fixed;z-index:2}.ptx-runestone-container .navLink:hover,.runestone-sphinx .navLink:hover{opacity:1}.ptx-runestone-container .navLink a,.runestone-sphinx .navLink a{background-color:#fff;border:2px solid #d3d3d3;display:inline-block;height:50px;width:100px}.ptx-runestone-container #relations-next,.runestone-sphinx #relations-next{right:35px}.ptx-runestone-container #relations-prev,.runestone-sphinx #relations-prev{left:35px}.ptx-runestone-container .nextprev-list,.runestone-sphinx .nextprev-list{height:50px;margin:10px;padding-left:0}@media (max-width:600px){.ptx-runestone-container .navLink,.runestone-sphinx .navLink{bottom:auto;display:inline-block;position:absolute}.ptx-runestone-container #relations-next,.ptx-runestone-container #relations-prev,.runestone-sphinx #relations-next,.runestone-sphinx #relations-prev{display:inline;padding:0 20px;width:25%}}.ptx-runestone-container #completionButton,.runestone-sphinx #completionButton{color:var(--completionButtonText);font-weight:700;margin-bottom:15px;margin-top:25px;padding-left:70px;padding-right:70px}.ptx-runestone-container .buttonAskCompletion,.runestone-sphinx .buttonAskCompletion{background-color:var(--completionButton);border-color:var(--completionButtonHover);font-weight:700}.ptx-runestone-container .buttonAskCompletion:hover,.runestone-sphinx .buttonAskCompletion:hover{background-color:var(--completionButtonHover);border-color:var(--completionButtonHover)}.ptx-runestone-container .buttonConfirmCompletion,.runestone-sphinx .buttonConfirmCompletion{background-color:#377e22;border-color:#3dc682;color:#fff!important}.ptx-runestone-container .buttonConfirmCompletion:hover,.runestone-sphinx .buttonConfirmCompletion:hover{background-color:#3dc682;border-color:#3dc682}.ptx-runestone-container .navLinkBg,.runestone-sphinx .navLinkBg{background-color:#fff;bottom:55px;-webkit-box-shadow:0 0 3px rgba(50,50,50,.5);-moz-box-shadow:0 0 3px rgba(50,50,50,.5);box-shadow:0 0 3px rgba(50,50,50,.5);color:#999;font-weight:700;height:40px;position:fixed;z-index:1}.ptx-runestone-container .navLinkBg:hover,.runestone-sphinx .navLinkBg:hover{color:#999}.ptx-runestone-container #navLinkBgRight,.runestone-sphinx #navLinkBgRight{padding:10px 15px 0 65px;right:-1000px}.ptx-runestone-container #navLinkBgLeft,.runestone-sphinx #navLinkBgLeft{left:-65px;padding-left:15px;padding-right:50px}.ptx-runestone-container .activehtml,.runestone-sphinx .activehtml{background-color:#fff;height:400px;width:100%}.ptx-runestone-container .container section>div.sidebar,.runestone-sphinx .container section>div.sidebar{margin:0 0 .5em 1em}.ptx-runestone-container a.disqus_thread_link,.runestone-sphinx a.disqus_thread_link{display:block}.ptx-runestone-container .reveal_button,.runestone-sphinx .reveal_button{display:block;margin-left:0}.ptx-runestone-container iframe[seamless],.runestone-sphinx iframe[seamless]{display:block}@media (min-width:768px){.ptx-runestone-container .container section>div.sidebar,.runestone-sphinx .container section>div.sidebar{margin:0 3em .5em 1em}}@media (min-width:992px){.ptx-runestone-container .container section>div.sidebar,.runestone-sphinx .container section>div.sidebar{margin:0 11em .5em 1em}}@media (min-width:1200px){.ptx-runestone-container .container section>div.sidebar,.runestone-sphinx .container section>div.sidebar{margin:0 18em .5em 1em}}.ptx-runestone-container div.ExecutionVisualizer table.visualizer,.runestone-sphinx div.ExecutionVisualizer table.visualizer{background-color:#fff;margin-left:auto;margin-right:auto;width:auto}.ptx-runestone-container .sltooltip,.runestone-sphinx .sltooltip{bottom:120%;display:block;font-size:11px;margin-left:-2em;margin-top:-2px;padding-bottom:5px;position:absolute;visibility:visible;z-index:1020}.ptx-runestone-container .sltooltip .sltooltip-arrow,.runestone-sphinx .sltooltip .sltooltip-arrow{border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000;bottom:0;height:0;left:50%;margin-left:-5px;position:absolute;width:0}.ptx-runestone-container .sltooltip-inner,.runestone-sphinx .sltooltip-inner{background-color:#000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;color:var(--tooltip);max-width:200px;padding:3px 8px;text-align:center;text-decoration:none}.ptx-runestone-container ul.dropdown-menu.globaltoc,.runestone-sphinx ul.dropdown-menu.globaltoc{max-height:700px;overflow:auto}.ptx-runestone-container .globaltoc span.caption-text,.runestone-sphinx .globaltoc span.caption-text{display:inline-block;font-size:large;font-weight:700}.ptx-runestone-container textarea.lp-result,.runestone-sphinx textarea.lp-result{font-family:monospace;height:10em;width:100%}.ptx-runestone-container .visuallyhidden,.runestone-sphinx .visuallyhidden{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.ptx-runestone-container .visuallyhidden.focusable:active,.ptx-runestone-container .visuallyhidden.focusable:focus,.runestone-sphinx .visuallyhidden.focusable:active,.runestone-sphinx .visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;white-space:inherit;width:auto}.ptx-runestone-container .blockquote,.runestone-sphinx .blockquote{font-size:large;font-style:italic;padding-left:2em;padding-right:2em;text-align:center}.ptx-runestone-container #subchapterprogress.ui-progressbar .ui-progressbar-value,.runestone-sphinx #subchapterprogress.ui-progressbar .ui-progressbar-value{border-radius:0;margin:0}.ptx-runestone-container #subchapterprogress>div,.runestone-sphinx #subchapterprogress>div{background:green}.ptx-runestone-container #subchapterprogress>div.loggedout,.runestone-sphinx #subchapterprogress>div.loggedout{background:#d3d3d3}.ptx-runestone-container .runestone_caption,.runestone-sphinx .runestone_caption{text-align:center}.ptx-runestone-container .runestone_caption_divid,.runestone-sphinx .runestone_caption_divid{opacity:50%}.ptx-runestone-container #questions .runestone_caption:before,.runestone-sphinx #questions .runestone_caption:before{content:"Problem: " counter(rscomponent) " -- ";counter-increment:rscomponent}.ptx-runestone-container body,.runestone-sphinx body{color:var(--bodyFont)}.ptx-runestone-container .jupyter_container .output,.runestone-sphinx .jupyter_container .output{margin-top:10px}.ptx-runestone-container .jupyter_container .output td,.ptx-runestone-container .jupyter_container .output th,.runestone-sphinx .jupyter_container .output td,.runestone-sphinx .jupyter_container .output th{padding-left:5px;padding-right:5px}.ptx-runestone-container .dropdown-menu>li>label.theme-switch,.runestone-sphinx .dropdown-menu>li>label.theme-switch{align-items:center;cursor:pointer;display:flex;font-weight:400}.ptx-runestone-container .theme-switch input,.runestone-sphinx .theme-switch input{display:none}.ptx-runestone-container .theme-switch .slider,.runestone-sphinx .theme-switch .slider{background-color:#ccc;height:1.25em;margin-right:3px;position:relative;transition:.4s;width:2em}.ptx-runestone-container .theme-switch .slider:before,.runestone-sphinx .theme-switch .slider:before{background-color:#fff;bottom:2px;content:"";height:calc(1.25em - 4px);left:2px;position:absolute;transition:.4s;width:calc(1.25em - 4px)}.ptx-runestone-container .theme-switch input:checked+.slider,.runestone-sphinx .theme-switch input:checked+.slider{background-color:#66bb6a}.ptx-runestone-container .theme-switch input:checked+.slider:before,.runestone-sphinx .theme-switch input:checked+.slider:before{transform:translateX(calc(.75em - 1px))}.ptx-runestone-container .theme-switch .slider.round,.ptx-runestone-container .theme-switch .slider.round:before,.runestone-sphinx .theme-switch .slider.round,.runestone-sphinx .theme-switch .slider.round:before{border-radius:1.25em}.ptx-runestone-container .adcopy,.runestone-sphinx .adcopy{background-color:#f2e0c3;border:2px solid #000;border-radius:10px;margin-left:auto;margin-right:auto;margin-top:10px;padding:10px;width:60%}.ptx-runestone-container .adcopy .donateb,.runestone-sphinx .adcopy .donateb{margin-left:30%}.ptx-runestone-container .isCorrect:before,.runestone-sphinx .isCorrect:before{content:"✅ ";float:right;padding-left:4px}.ptx-runestone-container .isInCorrect:before,.runestone-sphinx .isInCorrect:before{content:"⚠️ ";float:right;padding-left:4px}.ptx-runestone-container pre,.runestone-sphinx pre{background:inherit;color:inherit}.ptx-runestone-container summary.ptx-footnote__number,.runestone-sphinx summary.ptx-footnote__number{display:inline}.ptx-runestone-container summary.knowl__link,.runestone-sphinx summary.knowl__link{display:list-item inline}.ptx-runestone-container details.ptx-footnote,.runestone-sphinx details.ptx-footnote{display:inline}.ptx-runestone-container .handsontable td,.ptx-runestone-container .handsontable th,.runestone-sphinx .handsontable td,.runestone-sphinx .handsontable th{background-color:var(--content-background,#fff);color:var(--bodyFont,#000)}.ptx-runestone-container legend,.runestone-sphinx legend{border-bottom-color:var(--grayToWhite,#333);color:var(--grayToWhite,#333)}.ptx-runestone-container .autopermalink,.runestone-sphinx .autopermalink{display:none}.ptx-runestone-container :root,.runestone-sphinx :root{--codebuttons:#474949}.ptx-runestone-container [data-theme=dark],.runestone-sphinx [data-theme=dark]{--codebuttons:#2c0aa6}.ptx-runestone-container li.dropdown.open a.dropdown-toggle,.ptx-runestone-container li.dropdown.open a.dropdown-toggle:focus,.runestone-sphinx li.dropdown.open a.dropdown-toggle,.runestone-sphinx li.dropdown.open a.dropdown-toggle:focus{background-color:#2a5659!important;border:0!important;color:#f8f8f8!important}.ptx-runestone-container a.dropdown-toggle:focus,.runestone-sphinx a.dropdown-toggle:focus{background-color:#52a6ac!important;color:#f8f8f8!important}.ptx-runestone-container li.divider-vertical,.runestone-sphinx li.divider-vertical{margin:0!important}.ptx-runestone-container li.dropdown a.dropdown-toggle,.runestone-sphinx li.dropdown a.dropdown-toggle{padding:15px 18px!important}.ptx-runestone-container button.btn.btn-default:active,.ptx-runestone-container button.btn.btn-default:focus,.runestone-sphinx button.btn.btn-default:active,.runestone-sphinx button.btn.btn-default:focus{background-color:#fff!important;color:#474949!important}.ptx-runestone-container button.btn.btn-default,.runestone-sphinx button.btn.btn-default{background-color:#474949!important;color:#fff!important}.ptx-runestone-container button.btn.btn-default.btn-sm.disabled:active,.ptx-runestone-container button.btn.btn-default.btn-sm.disabled:focus,.runestone-sphinx button.btn.btn-default.btn-sm.disabled:active,.runestone-sphinx button.btn.btn-default.btn-sm.disabled:focus{background-color:#fff!important;color:#474949!important}.ptx-runestone-container button.btn.btn-default.btn-sm.disabled,.runestone-sphinx button.btn.btn-default.btn-sm.disabled{background-color:#474949!important;color:#fff!important}.ptx-runestone-container button.btn.btn-success:active,.ptx-runestone-container button.btn.btn-success:focus,.runestone-sphinx button.btn.btn-success:active,.runestone-sphinx button.btn.btn-success:focus{background-color:#fff!important;color:#427e44!important}.ptx-runestone-container button.btn.btn-success,.runestone-sphinx button.btn.btn-success{background-color:#427e44!important;color:#fff!important}.ptx-runestone-container button.btn.btn-primary:active,.ptx-runestone-container button.btn.btn-primary:focus,.runestone-sphinx button.btn.btn-primary:active,.runestone-sphinx button.btn.btn-primary:focus{background-color:#fff!important;color:#3379b6!important}.ptx-runestone-container button.btn.btn-primary,.runestone-sphinx button.btn.btn-primary{background-color:#3379b6!important;color:#fff!important}.ptx-runestone-container button.btn.btn-info:active,.ptx-runestone-container button.btn.btn-info:focus,.runestone-sphinx button.btn.btn-info:active,.runestone-sphinx button.btn.btn-info:focus{background-color:#fff!important;color:#1a6a83!important}.ptx-runestone-container button.btn.btn-info,.runestone-sphinx button.btn.btn-info{background-color:#1a6a83!important;color:#fff!important}.ptx-runestone-container button.btn.btn-warning:active,.ptx-runestone-container button.btn.btn-warning:focus,.runestone-sphinx button.btn.btn-warning:active,.runestone-sphinx button.btn.btn-warning:focus{background-color:#fff!important;color:#945c0e!important}.ptx-runestone-container button.btn.btn-warning,.runestone-sphinx button.btn.btn-warning{background-color:#945c0e!important;color:#fff!important}.ptx-runestone-container button.btn.btn-danger:active,.ptx-runestone-container button.btn.btn-danger:focus,.runestone-sphinx button.btn.btn-danger:active,.runestone-sphinx button.btn.btn-danger:focus{background-color:#fff!important;color:#d33a35!important}.ptx-runestone-container button.btn.btn-danger,.runestone-sphinx button.btn.btn-danger{background-color:#d33a35!important;color:#fff!important}.ptx-runestone-container button.btn.btn-link:active,.ptx-runestone-container button.btn.btn-link:focus,.runestone-sphinx button.btn.btn-link:active,.runestone-sphinx button.btn.btn-link:focus{background-color:#1a6a83!important;color:#fff!important}.ptx-runestone-container button.btn.btn-link,.runestone-sphinx button.btn.btn-link{background-color:#fff!important;color:#1a6a83!important}:root{--background:#fff;--outerBackground:#eee;--links:#0645ad;--bodyFont:var(--body-text-color,#000);--tooltip:#fff;--grayToWhite:#333;--navbar:#f8f8f8;--navbarFont:#707070;--navbarFontHover:#000;--alerts:#d9edf7;--completionButton:#f19711;--completionButtonHover:#ff9f19;--completionButtonText:#000;--admonition:#fcf8e3;--admonitionBorder:#fbeed5;--codeButtons:#474949;--codeButtonsBorder:#474949;--dangerAlerts:#f2dede;--successAlerts:#dff0d8;--contentWidthRegular:660px;--contentWidthWide:1060px;--componentBgColor:#f0f8ff;--componentBorderColor:#000;--questionBgColor:#e1efff;--parsonsBgColor:#ffa;--parsonsBorderColor:#ee0;--parsonsCorrectBgColor:#dff0d8;--parsonsCorrectBorderColor:#ade595;--parsonsIncorrectBgColor:#f2dede;--parsonsIncorrectBorderColor:#f2b6b6}:root.dark-mode{--background:#2c2f33;--outerBackground:#23272a;--links:#7289da;--bodyFont:var(--body-text-color,#99aab5);--tooltip:#000;--grayToWhite:#aaa;--navbar:#3d3d3d;--navbarFont:#fff;--navbarFontHover:#d6d6d6;--alerts:#714082;--completionButton:#650087;--completionButtonHover:#560073;--completionButtonText:#fff;--admonition:#3d3d3d;--admonitionBorder:#262626;--codeButtons:#67739d;--codeButtonsBorder:#fff;--dangerAlerts:#8c2626;--successAlerts:#217300;--componentBgColor:var(--rs-component-bg,var(--knowl-background,#07467d));--componentBorderColor:var(--rs-component-border,var(--knowl-border-color,#939090));--questionBgColor:var(--rs-component-bg,var(--knowl-nested-1-background,#0f5a9b));--parsonsBgColor:#e8e8b2;--parsonsBorderColor:#a8a82d;--parsonsCorrectBgColor:#a3c097;--parsonsCorrectBorderColor:#60904c;--parsonsIncorrectBgColor:#ae9090;--parsonsIncorrectBorderColor:#c16b6b}[data-theme=dark]{--background:#2c2f33;--outerBackground:#23272a;--links:#7289da;--bodyFont:#99aab5;--tooltip:#000;--grayToWhite:#fff;--navbar:#3d3d3d;--navbarFont:#fff;--navbarFontHover:#d6d6d6;--alerts:#714082;--completionButton:#650087;--completionButtonHover:#560073;--completionButtonText:#fff;--admonition:#3d3d3d;--admonitionBorder:#262626;--codeButtons:#7289da;--codeButtonsBorder:#fff;--dangerAlerts:#8c2626;--successAlerts:#217300;--componentBgColor:#07467d;--componentBorderColor:#939090;--questionBgColor:#17555d}#scprogresscontainer{margin:10px auto;max-width:500px;width:100%}#subchapterprogress{background-color:var(--alerts);border:1px solid var(--grayToWhite);border-radius:5px;height:20px;position:relative;width:100%}.exercise-statement{display:block;margin-bottom:1em}:root{--menu:#fff}[data-theme=dark]{--menu:#000}.my-highlighted-text{background-color:#ff9}.social-highlighted-text{background-color:#fcc}.highlight-option-box{left:0;position:absolute;top:0}.highlight-option-box li{height:24px}#continue-reading{display:none;padding-top:20px}#continue-reading a{float:right;margin-right:20px}li.completed{list-style-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAO5JREFUeNpi/P//PwMlgImBQjAwBthc4osH4skgNguJGrmA1BQgjgPiUJIMAGpWBVKrgNgAiL2P6H3aRrQBQM12QGo1EIsBcQxMM0oYABXxAjETFs2+QGobVHM9UPNSjEAEKgoEUjeBuBhNcwDUZm4gXg/U3IRuAcwLSkAsCcRdQE16QDoRiG2BGGQbOxA/BOIcbN5jhKVEoMYiINULFT8PxCJALAvlhwBtX4vXAKghpSBXoKlZCtQcQ1RCAirsBlJVSEIfgLiRpJQINKQdSNVCuTOB/Nt44xjkBWzY+iJvGRBr4pKHYUZKszNAgAEAln9yGpx/ZXMAAAAASUVORK5CYII=)}li.active{list-style-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIlJREFUeNpi/P//PwMlgImBQjAMDGCBsxZIkaYz4RmaAZhAHYjNoOxTQHwTvwsQgAeIe4E4DU18FhAXAPF3QgbMB+IQLOIgA4WAOBRfIOri0AwDIDktfAbYEBF89jRNB0eI0HMEnwGXgXgNHs1roGrweiERGmUMWKIxkZh08AWI04G4j5iEBBBgAPddF58mobqdAAAAAElFTkSuQmCC)}.infoTextCompleted{color:#3dc682}.infoTextActive,.infoTextCompleted{display:none;font-size:.9em;font-style:italic;margin-left:10px;opacity:.7}.infoTextActive{color:#ff9f19}.dropdown-menu{background-clip:padding-box;background-color:var(--menu);border:1px solid rgba(0,0,0,.2);border-radius:5px 5px 5px 5px;box-shadow:0 5px 10px rgba(0,0,0,.2);display:none;list-style:none outside none;margin:1px 0 0;min-width:160px;padding:4px 0;position:absolute;top:100%;z-index:1000}.dropdown-menu ul{list-style:disc none outside;margin:0 0 9px 25px;padding:0}.sidebar-highlights{background-color:#ff9}div.documentwrapper{border:0}div.bodywrapper{border-right:0}div.sphinxsidebar{border-left:1px solid #ccc;padding-left:10px}.body>.section .section{padding-top:1px}#jump-to-chapter{border:1px solid #ccc;letter-spacing:.015em;line-height:120%;margin-left:auto;margin-right:auto;padding:.5em;width:80%}#navigation-links{background-color:#f8f8f8;border:1px solid #ccc;margin:10px;padding:10px}.matrixeq_container{margin:0 0 6px;padding:6px}span.matrix_table{border:2px solid #000;margin:0 0 4px;overflow:visible;padding:0 1px;text-align:center}span.matrix_column,span.matrix_table{background-color:inherit;display:inline-table}span.matrix_column{border-width:0;font-family:monospace;font-size:12px;margin:0 1px;padding:2px 8px;vertical-align:middle}span.matrix_column div{background-color:inherit;display:block;margin:1px;padding:2px}span.matrix_table .matrix_column{border-style:none;margin-left:5px;margin-right:5px}span.matrix_table:before{top:-2px}span.matrix_table:after,span.matrix_table:before{background-color:inherit;content:" ";display:block;height:2px;margin:0 auto;position:relative;text-align:center;width:85%;z-index:100}span.matrix_table:after{top:2px}span.matrix_column:before{top:-2px}span.matrix_column:after,span.matrix_column:before{content:" ";display:block;height:2px;position:relative;width:85%;z-index:100}span.matrix_column:after{top:2px}span.matrix_table span.matrix_column:after,span.matrix_table span.matrix_column:before{height:0}span.matrix_table input[type=text]{appearance:none;background-color:inherit;box-shadow:none;display:block;font-family:sans-serif;font-size:12px;height:24px;margin:0;text-align:right;width:50px}span.matrix_operator{font-family:monospace;font-size:18px;margin:0 4px;padding:0}span.matrix_label,span.matrix_operator{display:inline-table;vertical-align:middle}span.matrix_label{font-family:sans-serif;font-size:12px;margin:0 1px;padding:0 0 0 20px}.lightcyanColor{background-color:#e0ffff}.lightgreyColor{background-color:#d3d3d3}.purpleColor{background-color:#dfb5e8}.yellowColor{background-color:#fdff9d}.webgl_container{background-color:#fcf8e3;display:block;margin-bottom:1em}.webgl_cmds,.webgl_container{box-sizing:border-box;width:100%}.webgl_cmds{padding:6px;text-align:center}.webgl_row2{box-sizing:border-box;display:block;height:550px;padding:0 4px;width:100%}.webgl_canvas,.webgl_editors{box-sizing:border-box;display:block;float:left;visibility:visible;width:50%}.webgl_canvas{font-size:12px;font-weight:400;padding-left:5px}.webgl_output{box-sizing:border-box;float:left;margin-top:6px;padding:4px;width:100%}.webgl_nav_tabs{background-color:#cfccb8;border-color:#fbeed5;display:inline-flex;height:31px;margin:0;overflow:hidden;padding:6px 0 0;width:100%}.webgl_nav_tabs,.webgl_nav_tabs li{border-top-left-radius:4px;border-top-right-radius:4px;list-style-type:none}.webgl_nav_tabs li{background-color:#e6e2cc;float:left;font-size:9pt;margin:0 0 0 4px;padding:4px 1px 4px 4px;position:relative}.webgl_nav_tabs li>a{color:#555;padding:8px;text-decoration:none}.webgl_nav_tabs>li>a:hover{border-bottom-width:0;border-color:#b4b19d}.webgl_nav_tabs li.active{background-color:#fff;list-style-image:none;list-style-type:none}.webgl_tab_content{background-color:#fcf8e3;border:0;clear:both;color:#c09853;margin:0 0 20px;position:absolute;width:100%;z-index:1}.webgl_tab_content.active{z-index:2}.webgl_tab_content>*{margin-left:auto;margin-right:auto}.webgl_tab_content .clearfix{position:static}.webgl_tab_editor{background-color:#fcf8e3;border:0;clear:both;color:#c09853;margin:0 0 20px;padding:10px 4px;position:absolute;width:100%}.webgl_code{float:left;width:100%}.webgl_tab_contents_text{background-color:#fcf8e3;border:0;clear:both;color:#c09853;margin:0 0 20px;padding:10px 4px;position:absolute;width:100%;z-index:1}.webgl_errorMessages{color:red}.webgl_warningMessages{color:#aa22a4}.webgl_infoMessages{color:#189040}.webgl_output_div{background-color:#fff;border:1px solid #d3d3d3;font-size:12px;font-weight:400;height:14em;margin:2px;overflow:auto;padding-bottom:4px;padding-left:4px;padding-top:4px;width:100%}.webgl_editor_highlight{background-color:#eee}.webgl_btn{background-color:thistle;border:1px solid transparent;border-radius:4px;cursor:pointer;display:inline-block;font-size:12px;font-weight:400;margin-bottom:0;padding:3px 6px;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.webgl_tabbed_editor{font-family:monospace,sans-serif;font-size:9pt;font-style:normal;resize:none;width:100%}.canvas3D{height:100%;width:100%}.CodeMirror.webgl-default{border:1px solid #eee;font-family:monospace,sans-serif;font-size:8pt;font-style:normal}button.btn.webgl-default{font-size:8pt}.runestone-sphinx .hidden{display:none}.runestone-sphinx .view-toggle{padding:.85em}.runestone-sphinx .presentation-mode section *{display:none}.runestone-sphinx .presentation-mode section .runestone,.runestone-sphinx .presentation-mode section .runestone *{display:initial}.runestone-sphinx .full-height,.runestone-sphinx .present{height:100vh}.runestone-sphinx .bottom{bottom:0;position:absolute}.runestone-sphinx #codeDisplayDiv{width:auto!important}.runestone-sphinx div.ExecutionVisualizer #dataViz{margin:0}.runestone-sphinx div.ExecutionVisualizer div#stackHeader{text-align:center}.runestone-sphinx #stackFrame{display:block!important}.runestone-sphinx #stackHeapTable{width:100%}.runestone-sphinx #stackHeapTable tr{justify-content:space-around}.runestone-sphinx div.ExecutionVisualizer td#heap_td,.runestone-sphinx div.ExecutionVisualizer td#stack_td{flex:1}.runestone-sphinx .presentation-title{display:none}.runestone-sphinx .present .presentation-title{display:block}.runestone-sphinx div.ExecutionVisualizer div#heap{float:none;padding-left:0}.runestone-sphinx #heap_td tr,.runestone-sphinx #stack_td tr{display:table-row}.runestone-sphinx #codeDisplayDiv{margin:0 auto}.runestone-sphinx #vizLayoutTd{flex:1}.runestone-sphinx #vizLayoutTdFirst{flex:2}.runestone-sphinx #vizLayoutTdSecond{flex:1}.runestone-sphinx #vizLayoutTdThird{flex:2}.runestone-sphinx #progOutputs{display:block!important;margin:0 20px;width:60%}.runestone-sphinx #pyStdout{width:100%!important}.runestone-sphinx div.ExecutionVisualizer #pyStdout{margin-bottom:1em}.runestone-sphinx div.ExecutionVisualizer table.visualizer{width:100%}.runestone-sphinx .present #vizLayoutTdThird{text-align:left}.runestone-sphinx .ac-block{display:flex;margin-bottom:1em}.runestone-sphinx .row-mode .ac-block{display:block;margin-bottom:0}.runestone-sphinx .row-mode .ac_code_div,.runestone-sphinx .row-mode .ac_output{display:block;float:none;max-width:none;width:auto}.runestone-sphinx .row-mode .ac_code_div{margin-bottom:1em}.runestone-sphinx .ac_section>*{max-width:100%}.runestone-sphinx .ac_output{display:block;max-width:100%}.runestone-sphinx .ac_output pre{min-height:60px;visibility:visible!important}.runestone-sphinx .CodeMirror{border-radius:3px;margin:0;max-width:100%;min-height:60px}.runestone-sphinx .container section>runestone:not(.ac_section){margin:0;max-width:none}.runestone-sphinx .presentation-options{align-items:center;display:flex;justify-content:flex-end}.runestone-sphinx .layout-btn{align-items:center;background-color:#fbeed5;border:2px solid #dfd4be;border-radius:2px;display:flex;justify-content:center;margin:0 .5rem;padding:.25rem;transition:all .2s ease}.runestone-sphinx .layout-btn.active-layout,.runestone-sphinx .layout-btn:focus{border:2px solid #979797;outline:none}.runestone-sphinx .sketchpad-container{min-height:300px;min-width:50%;padding:0 15px}.runestone-sphinx .card-mode .sketchpad-container{display:inline-block;margin:0;vertical-align:top;width:50%}.runestone-sphinx .row-mode .error{margin:20px 15px}.runestone-sphinx .card-mode .error{display:inline-block;margin:28px 0 0;padding:0 15px;vertical-align:top;width:50%}.runestone-sphinx .sketchpad{background:#fff;border:2px solid grey;border-radius:3px;display:block;min-height:300px;width:100%}.runestone-sphinx .btn-presenter{border-radius:3px;font-weight:500;margin:1.5rem 0 1.5rem 1.5rem;padding:.5rem 1rem}.runestone-sphinx .btn-grey-outline{background:#fff;border:2px solid grey;color:grey}.runestone-sphinx .btn-grey-solid{background:grey;border:2px solid grey;color:#fff}.runestone-sphinx body.present .ac_section>*{max-width:none}.runestone-sphinx body.present iframe{width:100%}.runestone-sphinx body.present #relations-next,.runestone-sphinx body.present #relations-prev,.runestone-sphinx body.present .navLinkBg{display:none}.runestone-sphinx body.present .btn-presenter{position:absolute}.runestone-sphinx body.present .btn-presenter.prev-exercise{left:0}.runestone-sphinx body.present .btn-presenter.next-exercise{right:0} +/*# sourceMappingURL=prefix-runestone.677a75a9120449ff.css.map*/ \ No newline at end of file diff --git a/_static/prefix-runestone.f4ab138da65f4203.css.gz b/_static/prefix-runestone.677a75a9120449ff.css.gz old mode 100644 new mode 100755 similarity index 78% rename from _static/prefix-runestone.f4ab138da65f4203.css.gz rename to _static/prefix-runestone.677a75a9120449ff.css.gz index 14a8fe2..506a516 Binary files a/_static/prefix-runestone.f4ab138da65f4203.css.gz and b/_static/prefix-runestone.677a75a9120449ff.css.gz differ diff --git a/_static/prefix-runestone.677a75a9120449ff.css.map b/_static/prefix-runestone.677a75a9120449ff.css.map new file mode 100755 index 0000000..fcf11e3 --- /dev/null +++ b/_static/prefix-runestone.677a75a9120449ff.css.map @@ -0,0 +1 @@ +{"version":3,"file":"prefix-runestone.677a75a9120449ff.css","mappings":"AAAA;EAEE;;;;EAIA;EACA,2EAA2E;EAC3E,oFAAoF,CA6LtF,CArMA,qDCQE,yBAA0B,CAC1B,6BAA8B,CAF9B,sBDoMF,CA3MA,qDCYE,QDmMF,CA/MA,quBC2BE,aDgNF,CA3OA,oOCiCE,oBAAqB,CACrB,uBDoNF,CAtPA,uFCqCE,YAAa,CACb,QDqNF,CA3PA,0HC0CE,YDuNF,CAjQA,+CC6CE,4BDwNF,CArQA,wHCiDE,SD0NF,CA3QA,mECoDE,kBAAmB,CACnB,yBAA0B,CAC1B,wCAAyC,CACzC,qCAAsC,CACtC,gCD2NF,CAnRA,wGC4DE,eD6NF,CAzRA,mDC+DE,iBD8NF,CA7RA,iDCkEE,aAAc,CACd,cD+NF,CAlSA,qDCsEE,eAAgB,CAChB,UDgOF,CAvSA,uDC0EE,aDiOF,CA3SA,sGC8EE,aAAc,CACd,aAAc,CACd,iBAAkB,CAClB,uBDmOF,CApTA,mDCoFE,SDoOF,CAxTA,mDCuFE,aDqOF,CA5TA,mDC0FE,QDsOF,CAhUA,yEC6FE,eDuOF,CApUA,yDCgGE,eDwOF,CAxUA,iDCmGE,8BAA+B,CAC/B,2BAA4B,CAC5B,sBAAuB,CACvB,QDyOF,CA/UA,mDCyGE,aD0OF,CAnVA,gNC+GE,+BAAiC,CACjC,aD8OF,CA9VA,mSCuHE,aAAc,CACd,YAAa,CACb,QDmPF,CA5WA,yDC4HE,gBDoPF,CAhXA,kHCgIE,mBDsPF,CAtXA,oTCsIE,yBAA0B,CAC1B,cD0PF,CAjYA,kKC2IE,cD4PF,CAvYA,wLC+IE,QAAS,CACT,SD8PF,CA9YA,uDCmJE,kBD+PF,CAlZA,oKCuJE,6BAA8B,CAC9B,0BAA2B,CAC3B,qBAAsB,CACtB,SDiQF,CA3ZA,8QC8JE,WDmQF,CAjaA,iFCiKE,4BAA6B,CAC7B,8BAA+B,CAC/B,2BAA4B,CAC5B,sBDoQF,CAxaA,oRCwKE,uBDsQF,CA9aA,6DC2KE,uBAAyB,CACzB,YAAa,CACb,0BDuQF,CApbA,6DCoLE,aDyQF,CA7bA,6DCuLE,eD0QF,CAjcA,uDC0LE,wBAAyB,CACzB,gBD2QF,CAtcA,kGC+LE,SD6QF,CC1QA,gLAMI,gCAAkC,CAClC,iCAAmC,CACnC,yBAA2B,CAJ3B,oBAAsB,CACtB,0BDkRF,CCvRF,8GAYI,yBDiRF,CC7RF,uEAeI,2BDkRF,CCjSF,+EAkBI,4BDmRF,CCrSF,sLAsBI,UDqRF,CC3SF,oHA0BI,qBAAsB,CACtB,uBDuRF,CClTF,uDA8BI,0BDwRF,CCtTF,oGAkCI,uBD0RF,CC5TF,mDAqCI,wBD2RF,CChUF,iJA0CI,SAAU,CACV,QD8RF,CCzUF,kGA+CI,sBDgSF,CC/UF,2DAkDI,YDiSF,CCnVF,sJAsDI,+BDmSF,CCzVF,yDAyDI,qBDoSF,CC7VF,yDA4DI,kCDqSF,CCjWF,8HAgEI,+BDuSF,CCvWF,kKAoEI,+BDySF,CACF,CCvSA,WACE,gCAAmC,CACnC,8BACA,uQDySF,CArjBA,iECsRE,kCAAmC,CACnC,iCAAkC,CANlC,oBAAqB,CACrB,gCAAmC,CACnC,iBAAkB,CAClB,eAAgB,CAChB,aAAc,CANd,iBAAkB,CAClB,ODiTF,CAjkBA,iGC0RE,eD2SF,CArkBA,yFC6RE,eD4SF,CAzkBA,gLCiSE,eD8SF,CA/kBA,2FCoSE,eD+SF,CAnlBA,2FCuSE,eDgTF,CAvlBA,iGC0SE,eDiTF,CA3lBA,6FC6SE,eDkTF,CA/lBA,2FCgTE,eDmTF,CAnmBA,2FCmTE,eDoTF,CAvmBA,6FCsTE,eDqTF,CA3mBA,2FCyTE,eDsTF,CA/mBA,yFC4TE,eDuTF,CAnnBA,qGC+TE,eDwTF,CAvnBA,yFCkUE,eDyTF,CA3nBA,yFCqUE,eD0TF,CA/nBA,iGCwUE,eD2TF,CAnoBA,qFC2UE,eD4TF,CAvoBA,+FC8UE,eD6TF,CA3oBA,qFCiVE,eD8TF,CA/oBA,6FCoVE,eD+TF,CAnpBA,+FCuVE,eDgUF,CAvpBA,iGC0VE,eDiUF,CA3pBA,uFC6VE,eDkUF,CA/pBA,6FCgWE,eDmUF,CAnqBA,uFCmWE,eDoUF,CAvqBA,2FCsWE,eDqUF,CA3qBA,yFCyWE,eDsUF,CA/qBA,yFC4WE,eDuUF,CAnrBA,yFC+WE,eDwUF,CAvrBA,yFCkXE,eDyUF,CA3rBA,yGCqXE,eD0UF,CA/rBA,iGCwXE,eD2UF,CAnsBA,6FC2XE,eD4UF,CAvsBA,2FC8XE,eD6UF,CA3sBA,uGCiYE,eD8UF,CA/sBA,6FCoYE,eD+UF,CAntBA,+FCuYE,eDgVF,CAvtBA,iGC0YE,eDiVF,CA3tBA,yFC6YE,eDkVF,CA/tBA,yFCgZE,eDmVF,CAnuBA,qGCmZE,eDoVF,CAvuBA,qGCsZE,eDqVF,CA3uBA,uGCyZE,eDsVF,CA/uBA,mGC4ZE,eDuVF,CAnvBA,6FC+ZE,eDwVF,CAvvBA,+FCkaE,eDyVF,CA3vBA,uFCqaE,eD0VF,CA/vBA,yFCwaE,eD2VF,CAnwBA,yFC2aE,eD4VF,CAvwBA,iGC8aE,eD6VF,CA3wBA,2FCibE,eD8VF,CA/wBA,6FCobE,eD+VF,CAnxBA,yFCubE,eDgWF,CAvxBA,yFC0bE,eDiWF,CA3xBA,6FC6bE,eDkWF,CA/xBA,uGCgcE,eDmWF,CAnyBA,qGCmcE,eDoWF,CAvyBA,qGCscE,eDqWF,CA3yBA,yGCycE,eDsWF,CA/yBA,uGC4cE,eDuWF,CAnzBA,2GC+cE,eDwWF,CAvzBA,yFCkdE,eDyWF,CA3zBA,uGCqdE,eD0WF,CA/zBA,yGCwdE,eD2WF,CAn0BA,6GC2dE,eD4WF,CAv0BA,+FC8dE,eD6WF,CA30BA,qGCieE,eD8WF,CA/0BA,6FCoeE,eD+WF,CAn1BA,yFCueE,eDgXF,CAv1BA,yFC0eE,eDiXF,CA31BA,2FC6eE,eDkXF,CA/1BA,2FCgfE,eDmXF,CAn2BA,yFCmfE,eDoXF,CAv2BA,2GCsfE,eDqXF,CA32BA,2GCyfE,eDsXF,CA/2BA,iGC4fE,eDuXF,CAn3BA,yFC+fE,eDwXF,CAv3BA,2FCkgBE,eDyXF,CA33BA,yFCqgBE,eD0XF,CA/3BA,+FCwgBE,eD2XF,CAn4BA,yGC2gBE,eD4XF,CAv4BA,yGC8gBE,eD6XF,CA34BA,2FCihBE,eD8XF,CA/4BA,yGCohBE,eD+XF,CAn5BA,2GCuhBE,eDgYF,CAv5BA,mGC0hBE,eDiYF,CA35BA,qGC6hBE,eDkYF,CA/5BA,uGCgiBE,eDmYF,CAn6BA,+FCmiBE,eDoYF,CAv6BA,2GCsiBE,eDqYF,CA36BA,mGCyiBE,eDsYF,CA/6BA,qGC4iBE,eDuYF,CAn7BA,2GC+iBE,eDwYF,CAv7BA,mGCkjBE,eDyYF,CA37BA,qGCqjBE,eD0YF,CA/7BA,qGCwjBE,eD2YF,CAn8BA,uGC2jBE,eD4YF,CAv8BA,iGC8jBE,eD6YF,CA38BA,qGCikBE,eD8YF,CA/8BA,mGCokBE,eD+YF,CAn9BA,uGCukBE,eDgZF,CAv9BA,yGC0kBE,eDiZF,CA39BA,iHC6kBE,eDkZF,CA/9BA,yFCglBE,eDmZF,CAn+BA,yFCmlBE,eDoZF,CAv+BA,yFCslBE,eDqZF,CA3+BA,iGCylBE,eDsZF,CA/+BA,mGC4lBE,eDuZF,CAn/BA,yGC+lBE,eDwZF,CAv/BA,2FCkmBE,eDyZF,CA3/BA,iGCqmBE,eD0ZF,CA//BA,6FCwmBE,eD2ZF,CAngCA,+FC2mBE,eD4ZF,CAvgCA,6FC8mBE,eD6ZF,CA3gCA,qGCinBE,eD8ZF,CA/gCA,yGConBE,eD+ZF,CAnhCA,+FCunBE,eDgaF,CAvhCA,2GC0nBE,eDiaF,CA3hCA,yGC6nBE,eDkaF,CA/hCA,uGCgoBE,eDmaF,CAniCA,+GCmoBE,eDoaF,CAviCA,mHCsoBE,eDqaF,CA3iCA,uFCyoBE,eDsaF,CA/iCA,iGC4oBE,eDuaF,CAnjCA,yFC+oBE,eDwaF,CAvjCA,uGCkpBE,eDyaF,CA3jCA,mGCqpBE,eD0aF,CA/jCA,uGCwpBE,eD2aF,CAnkCA,qGC2pBE,eD4aF,CAvkCA,mGC8pBE,eD6aF,CA3kCA,+FCiqBE,eD8aF,CA/kCA,mGCoqBE,eD+aF,CAnlCA,qHCuqBE,eDgbF,CAvlCA,mHC0qBE,eDibF,CA3lCA,+GC6qBE,eDkbF,CA/lCA,mHCgrBE,eDmbF,CAnmCA,2FCmrBE,eDobF,CAvmCA,6FCsrBE,eDqbF,CA3mCA,2FCyrBE,eDsbF,CA/mCA,6FC4rBE,eDubF,CAnnCA,mGC+rBE,eDwbF,CAvnCA,qGCksBE,eDybF,CA3nCA,mGCqsBE,eD0bF,CA/nCA,mGCwsBE,eD2bF,CAnoCA,uGC2sBE,eD4bF,CAvoCA,yFC8sBE,eD6bF,CA3oCA,2FCitBE,eD8bF,CA/oCA,+FCotBE,eD+bF,CAnpCA,uFCutBE,eDgcF,CAvpCA,uFC0tBE,eDicF,CA3pCA,yFC6tBE,eDkcF,CA/pCA,iHCguBE,eDmcF,CAnqCA,yHCmuBE,eDocF,CAvqCA,2GCsuBE,eDqcF,CA3qCA,mHCyuBE,eDscF,CA/qCA,qHC4uBE,eDucF,CAnrCA,6HC+uBE,eDwcF,CAvrCA,mGCkvBE,eDycF,CA3rCA,6FCqvBE,eD0cF,CA/rCA,2GCwvBE,eD2cF,CAnsCA,uGC2vBE,eD4cF,CAvsCA,6FC8vBE,eD6cF,CA3sCA,2FCiwBE,eD8cF,CA/sCA,+FCowBE,eD+cF,CAntCA,qGCuwBE,eDgdF,CAvtCA,6FC0wBE,eDidF,CA3tCA,yFC6wBE,eDkdF,CA/tCA,yFCgxBE,eDmdF,CAnuCA,2FCmxBE,eDodF,CAvuCA,6FCsxBE,eDqdF,CA3uCA,6FCyxBE,eDsdF,CA/uCA,yFC4xBE,eDudF,CAnvCA,uGC+xBE,eDwdF,CAvvCA,yGCkyBE,eDydF,CA3vCA,2GCqyBE,eD0dF,CA/vCA,uGCwyBE,eD2dF,CAnwCA,uGC2yBE,eD4dF,CAvwCA,uGC8yBE,eD6dF,CA3wCA,iGCizBE,eD8dF,CA/wCA,+FCozBE,eD+dF,CAnxCA,6FCuzBE,eDgeF,CAvxCA,qGC0zBE,eDieF,CA3xCA,iGC6zBE,eDkeF,CA/xCA,mGCg0BE,eDmeF,CAnyCA,2FCm0BE,eDoeF,CAvyCA,2FCs0BE,eDqeF,CA3yCA,iGCy0BE,eDseF,CA/yCA,iGC40BE,eDueF,CAnzCA,mGC+0BE,eDweF,CAvzCA,yGCk1BE,eDyeF,CA3zCA,uGCq1BE,eD0eF,CA/zCA,mGCw1BE,eD2eF,CAn0CA,mGC21BE,eD4eF,CAv0CA,mGC81BE,eD6eF,CA30CA,6GCi2BE,eD8eF,CA/0CA,mHCo2BE,eD+eF,CAn1CA,6GCu2BE,eDgfF,CAv1CA,yGC02BE,eDifF,CA31CA,yGC62BE,eDkfF,CA/1CA,6GCg3BE,eDmfF,CAn2CA,qFCm3BE,eDofF,CAv2CA,mGCs3BE,eDqfF,CA32CA,mGCy3BE,eDsfF,CA/2CA,iGC43BE,eDufF,CAn3CA,yFC+3BE,eDwfF,CAv3CA,2FCk4BE,eDyfF,CA33CA,2FCq4BE,eD0fF,CA/3CA,mGCw4BE,eD2fF,CAn4CA,yFC24BE,eD4fF,CAv4CA,2FC84BE,eD6fF,CA34CA,yFCi5BE,eD8fF,CA/4CA,6FCo5BE,eD+fF,CAn5CA,6FCu5BE,eDggBF,CAv5CA,yGC05BE,eDigBF,CA35CA,yFC65BE,eDkgBF,CA/5CA,qGCg6BE,eDmgBF,CAn6CA,uFCm6BE,eDogBF,CAv6CA,2FCs6BE,eDqgBF,CA36CA,2FCy6BE,eDsgBF,CA/6CA,mGC46BE,eDugBF,CAn7CA,yFC+6BE,eDwgBF,CAv7CA,mGCk7BE,eDygBF,CA37CA,qGCq7BE,eD0gBF,CA/7CA,iGCw7BE,eD2gBF,CAn8CA,6QCi8BE,eD8gBF,CA/8CA,8KCu8BE,eDghBF,CAv9CA,kLC68BE,eDkhBF,CA/9CA,2FCg9BE,eDmhBF,CAn+CA,mGCm9BE,eDohBF,CAv+CA,iHCs9BE,eDqhBF,CA3+CA,mGCy9BE,eDshBF,CA/+CA,mHC49BE,eDuhBF,CAn/CA,+GC+9BE,eDwhBF,CAv/CA,6GCk+BE,eDyhBF,CA3/CA,yGCq+BE,eD0hBF,CA//CA,uFCw+BE,eD2hBF,CAngDA,2FC2+BE,eD4hBF,CAvgDA,qGC8+BE,eD6hBF,CA3gDA,mGCi/BE,eD8hBF,CA/gDA,qGCo/BE,eD+hBF,CAnhDA,+GCu/BE,eDgiBF,CAvhDA,iHC0/BE,eDiiBF,CA3hDA,uHC6/BE,eDkiBF,CA/hDA,+HCggCE,eDmiBF,CAniDA,mHCmgCE,eDoiBF,CAviDA,2HCsgCE,eDqiBF,CA3iDA,qHCygCE,eDsiBF,CA/iDA,6GC4gCE,eDuiBF,CAnjDA,2GC+gCE,eDwiBF,CAvjDA,+GCkhCE,eDyiBF,CA3jDA,yGCqhCE,eD0iBF,CA/jDA,+FCwhCE,eD2iBF,CAnkDA,uGC2hCE,eD4iBF,CAvkDA,mGC8hCE,eD6iBF,CA3kDA,mGCiiCE,eD8iBF,CA/kDA,qGCoiCE,eD+iBF,CAnlDA,mGCuiCE,eDgjBF,CAvlDA,+FC0iCE,eDijBF,CA3lDA,mKCmjCE,6BAA8B,CAC9B,0BAA2B,CAC3B,qBDojBF,CAzmDA,qDCyjCE,yCAA6C,CAD7C,cDsjBF,CA9mDA,qDCgkCE,qBAAsB,CADtB,UAAc,CAHd,qDAA2D,CAC3D,cAAe,CACf,sBDwjBF,CAtnDA,sOCskCE,mBAAoB,CACpB,iBAAkB,CAClB,mBD0jBF,CAloDA,+CC2kCE,aAAc,CACd,oBD2jBF,CAvoDA,sHCglCE,aAAc,CACd,yBD6jBF,CA9oDA,2DColCE,yCAA0C,CAC1C,mBD8jBF,CAnpDA,yDCwlCE,QD+jBF,CAvpDA,mDC2lCE,qBDgkBF,CA3pDA,maCkmCE,aAAc,CAEd,WAAY,CADZ,cDskBF,CAzqDA,qECumCE,iBDskBF,CA7qDA,yEC4mCE,qBAAsB,CACtB,qBAAsB,CACtB,iBAAkB,CAIlB,oBAAqB,CAErB,WAAY,CATZ,sBAAuB,CAQvB,cAAe,CATf,WAAY,CAKZ,sCAAwC,CACxC,iCAAmC,CACnC,8BD0kBF,CA3rDA,mECunCE,iBDwkBF,CA/rDA,iDC4nCE,QAAS,CACT,yBAA6B,CAF7B,kBAAmB,CADnB,eD4kBF,CAtsDA,6DCsoCE,kBAAsB,CACtB,QAAS,CALT,UAAW,CAEX,WAAY,CACZ,eAAgB,CAFhB,SAAU,CAHV,iBAAkB,CAClB,SDglBF,CAjtDA,4LCgpCE,SAAU,CAHV,WAAY,CACZ,QAAS,CACT,gBAAiB,CAJjB,eAAgB,CAChB,UDglBF,CA5tDA,uECmpCE,cD6kBF,CAhuDA,wlBCoqCE,aAAc,CAHd,mBAAoB,CACpB,eAAgB,CAChB,eD0lBF,CA7vDA,w+CCgsCE,UAAc,CAFd,eAAgB,CAChB,aDknBF,CAjzDA,4SCysCE,kBAAmB,CADnB,eDwnBF,CAh0DA,ovBCutCE,aDmoBF,CA11DA,4SCguCE,kBAAmB,CADnB,eD0oBF,CAz2DA,ovBC8uCE,aDqpBF,CAn4DA,oGCkvCE,cDupBF,CAz4DA,oGCsvCE,cDypBF,CA/4DA,oGC0vCE,cD2pBF,CAr5DA,oGC8vCE,cD6pBF,CA35DA,oGCkwCE,cD+pBF,CAj6DA,oGCswCE,cDiqBF,CAv6DA,+CCywCE,eDkqBF,CA36DA,uDC6wCE,cAAe,CACf,eAAgB,CAChB,eAAgB,CAHhB,kBDsqBF,CCjqBA,gFAEI,cDoqBF,CACF,CAx7DA,gHCwxCE,aDsqBF,CA97DA,4GC6xCE,wBAAyB,CADzB,YDyqBF,CAr8DA,iECgyCE,eDyqBF,CAz8DA,mECmyCE,gBD0qBF,CA78DA,qECsyCE,iBD2qBF,CAj9DA,uECyyCE,kBD4qBF,CAr9DA,qEC4yCE,kBD6qBF,CAz9DA,2EC+yCE,wBD8qBF,CA79DA,2ECkzCE,wBD+qBF,CAj+DA,6ECqzCE,yBDgrBF,CAr+DA,mECwzCE,UDirBF,CAz+DA,uEC2zCE,aDkrBF,CA7+DA,0KC+zCE,aDorBF,CAn/DA,uECk0CE,aDqrBF,CAv/DA,0KCs0CE,aDurBF,CA7/DA,iECy0CE,aDwrBF,CAjgEA,8JC60CE,aD0rBF,CAvgEA,uECg1CE,aD2rBF,CA3gEA,0KCo1CE,aD6rBF,CAjhEA,qECu1CE,aD8rBF,CArhEA,sKC21CE,aDgsBF,CA3hEA,mEC+1CE,wBAAyB,CADzB,UDksBF,CAhiEA,kKCm2CE,wBDmsBF,CAtiEA,mECs2CE,wBDosBF,CA1iEA,kKC02CE,wBDssBF,CAhjEA,6DC62CE,wBDusBF,CApjEA,sJCi3CE,wBDysBF,CA1jEA,mECo3CE,wBD0sBF,CA9jEA,kKCw3CE,wBD4sBF,CApkEA,iEC23CE,wBD6sBF,CAxkEA,8JC+3CE,wBD+sBF,CA9kEA,qECo4CE,4BAAgC,CADhC,kBAAmB,CADnB,kBDktBF,CAplEA,kGCy4CE,kBAAmB,CADnB,YDmtBF,CA3lEA,4NC+4CE,eDstBF,CArmEA,yECm5CE,eAAgB,CADhB,cDwtBF,CA1mEA,qECu5CE,eAAgB,CAChB,gBAAiB,CAFjB,cD0tBF,CAhnEA,2EC25CE,oBAAqB,CAErB,gBAAiB,CADjB,iBD0tBF,CAtnEA,iDCi6CE,kBAAmB,CADnB,YD2tBF,CA3nEA,kGCq6CE,sBD4tBF,CAjoEA,iDCw6CE,eD6tBF,CAroEA,iDC26CE,aD8tBF,CC5tBA,wGAII,UAAW,CAFX,UAAW,CAIX,eAAgB,CADhB,gBAAiB,CAEjB,sBAAuB,CACvB,kBAAmB,CALnB,WDouBF,CCvuBF,+EAWI,iBDguBF,CACF,CAzpEA,kKC67CE,WDkuBF,CA/pEA,mECg8CE,aAAc,CACd,wBDmuBF,CApqEA,iECu8CE,0BAA8B,CAD9B,gBAAiB,CADjB,eAAgB,CADhB,iBDuuBF,CA3qEA,qRC48CE,eDuuBF,CAnrEA,2OCo9CE,UAAc,CAHd,aAAc,CACd,aAAc,CACd,sBD2uBF,CA9rEA,qRCy9CE,qBD6uBF,CAtsEA,0KCi+CE,aAAc,CADd,2BAA+B,CAF/B,cAAe,CADf,kBAAmB,CAEnB,gBDivBF,CAhtEA,kqBCy+CE,UDqvBF,CA9tEA,spBCi/CE,qBD2vBF,CA5uEA,2DCq/CE,iBAAkB,CAClB,sBAAuB,CAFvB,kBD8vBF,CAlvEA,gNC4/CE,uDDgwBF,CA5vEA,qDCkgDE,wBAAyB,CACzB,iBAAkB,CAFlB,aAAc,CADd,aAAc,CADd,eDqwBF,CApwEA,mDCygDE,qBAAsB,CACtB,iBAAkB,CAClB,iDAAsD,CACtD,yCAA8C,CAJ9C,UAAW,CADX,aAAc,CADd,eDwwBF,CA9wEA,2DCkhDE,uBAAwB,CACxB,eAAgB,CAHhB,cAAe,CACf,eAAgB,CAFhB,SDuwBF,CAtxEA,mDC6hDE,oBAAqB,CACrB,wBAAyB,CACzB,qBAAsB,CACtB,iBAAkB,CALlB,UAAc,CALd,aAAc,CAGd,cAAe,CACf,sBAAuB,CAFvB,eAAgB,CADhB,aAAc,CAKd,oBDwwBF,CApyEA,6DCuiDE,4BAA6B,CAC7B,eAAgB,CAHhB,aAAc,CADd,iBAAkB,CADlB,SAAU,CAGV,oBDuwBF,CA7yEA,2EC2iDE,gBAAiB,CACjB,iBDswBF,CAlzEA,iECkjDE,gBAAiB,CADjB,iBAAkB,CADlB,iBAAkB,CADlB,kBD0wBF,CCrwBA,0FAEI,WDwwBF,CACF,CCtwBA,0FAEI,WDywBF,CACF,CCvwBA,2FAEI,YD0wBF,CACF,CA30EA,6ECukDE,gBAAiB,CADjB,iBAAkB,CADlB,iBAAkB,CADlB,kBD8wBF,CAl1EA,qDC2kDE,iBAAkB,CADlB,kBD6wBF,CAv1EA,2EC+kDE,aAAc,CADd,cD8wBF,CA51EA,uGCmlDE,cAAe,CADf,eD+wBF,CAj2EA,w+FCsoDE,cAAe,CAEf,iBAAkB,CADlB,kBAAmB,CAFnB,iBDi0BF,CAt8EA,0vBCspDE,UD00BF,CAh+EA,iECypDE,UD20BF,CAp+EA,iEC4pDE,kBD40BF,CAx+EA,iEC+pDE,kBD60BF,CA5+EA,+DCkqDE,SD80BF,CAh/EA,+DCqqDE,kBD+0BF,CAp/EA,+DCwqDE,kBDg1BF,CAx/EA,+DC2qDE,SDi1BF,CA5/EA,+DC8qDE,kBDk1BF,CAhgFA,+DCirDE,kBDm1BF,CApgFA,+DCorDE,SDo1BF,CAxgFA,+DCurDE,kBDq1BF,CA5gFA,+DC0rDE,iBDs1BF,CAhhFA,2EC6rDE,UDu1BF,CAphFA,2ECgsDE,kBDw1BF,CAxhFA,2ECmsDE,kBDy1BF,CA5hFA,yECssDE,SD01BF,CAhiFA,yECysDE,kBD21BF,CApiFA,yEC4sDE,kBD41BF,CAxiFA,yEC+sDE,SD61BF,CA5iFA,yECktDE,kBD81BF,CAhjFA,yECqtDE,kBD+1BF,CApjFA,yECwtDE,SDg2BF,CAxjFA,yEC2tDE,kBDi2BF,CA5jFA,yEC8tDE,iBDk2BF,CAhkFA,yECiuDE,UDm2BF,CApkFA,2ECouDE,SDo2BF,CAxkFA,2ECuuDE,iBDq2BF,CA5kFA,2EC0uDE,iBDs2BF,CAhlFA,yEC6uDE,QDu2BF,CAplFA,yECgvDE,iBDw2BF,CAxlFA,yECmvDE,iBDy2BF,CA5lFA,yECsvDE,QD02BF,CAhmFA,yECyvDE,iBD22BF,CApmFA,yEC4vDE,iBD42BF,CAxmFA,yEC+vDE,QD62BF,CA5mFA,yECkwDE,iBD82BF,CAhnFA,yECqwDE,gBD+2BF,CApnFA,yECwwDE,SDg3BF,CAxnFA,+EC2wDE,gBDi3BF,CA5nFA,+EC8wDE,wBDk3BF,CAhoFA,+ECixDE,wBDm3BF,CApoFA,6ECoxDE,eDo3BF,CAxoFA,6ECuxDE,wBDq3BF,CA5oFA,6EC0xDE,wBDs3BF,CAhpFA,6EC6xDE,eDu3BF,CAppFA,6ECgyDE,wBDw3BF,CAxpFA,6ECmyDE,wBDy3BF,CA5pFA,6ECsyDE,eD03BF,CAhqFA,6ECyyDE,wBD23BF,CApqFA,6EC4yDE,uBD43BF,CAxqFA,6EC+yDE,aD63BF,CC33BA,mxBAaI,UDy4BF,CCt5BF,iEAgBI,UD04BF,CC15BF,iEAmBI,kBD24BF,CC95BF,iEAsBI,kBD44BF,CCl6BF,+DAyBI,SD64BF,CCt6BF,+DA4BI,kBD84BF,CC16BF,+DA+BI,kBD+4BF,CC96BF,+DAkCI,SDg5BF,CCl7BF,+DAqCI,kBDi5BF,CCt7BF,+DAwCI,kBDk5BF,CC17BF,+DA2CI,SDm5BF,CC97BF,+DA8CI,kBDo5BF,CCl8BF,+DAiDI,iBDq5BF,CCt8BF,2EAoDI,UDs5BF,CC18BF,2EAuDI,kBDu5BF,CC98BF,2EA0DI,kBDw5BF,CCl9BF,yEA6DI,SDy5BF,CCt9BF,yEAgEI,kBD05BF,CC19BF,yEAmEI,kBD25BF,CC99BF,yEAsEI,SD45BF,CCl+BF,yEAyEI,kBD65BF,CCt+BF,yEA4EI,kBD85BF,CC1+BF,yEA+EI,SD+5BF,CC9+BF,yEAkFI,kBDg6BF,CCl/BF,yEAqFI,iBDi6BF,CCt/BF,yEAwFI,UDk6BF,CC1/BF,2EA2FI,SDm6BF,CC9/BF,2EA8FI,iBDo6BF,CClgCF,2EAiGI,iBDq6BF,CCtgCF,yEAoGI,QDs6BF,CC1gCF,yEAuGI,iBDu6BF,CC9gCF,yEA0GI,iBDw6BF,CClhCF,yEA6GI,QDy6BF,CCthCF,yEAgHI,iBD06BF,CC1hCF,yEAmHI,iBD26BF,CC9hCF,yEAsHI,QD46BF,CCliCF,yEAyHI,iBD66BF,CCtiCF,yEA4HI,gBD86BF,CC1iCF,yEA+HI,SD+6BF,CC9iCF,+EAkII,gBDg7BF,CCljCF,+EAqII,wBDi7BF,CCtjCF,+EAwII,wBDk7BF,CC1jCF,6EA2II,eDm7BF,CC9jCF,6EA8II,wBDo7BF,CClkCF,6EAiJI,wBDq7BF,CCtkCF,6EAoJI,eDs7BF,CC1kCF,6EAuJI,wBDu7BF,CC9kCF,6EA0JI,wBDw7BF,CCllCF,6EA6JI,eDy7BF,CCtlCF,6EAgKI,wBD07BF,CC1lCF,6EAmKI,uBD27BF,CC9lCF,6EAsKI,aD47BF,CACF,CC17BA,mxBAaI,UDw8BF,CCr9BF,iEAgBI,UDy8BF,CCz9BF,iEAmBI,kBD08BF,CC79BF,iEAsBI,kBD28BF,CCj+BF,+DAyBI,SD48BF,CCr+BF,+DA4BI,kBD68BF,CCz+BF,+DA+BI,kBD88BF,CC7+BF,+DAkCI,SD+8BF,CCj/BF,+DAqCI,kBDg9BF,CCr/BF,+DAwCI,kBDi9BF,CCz/BF,+DA2CI,SDk9BF,CC7/BF,+DA8CI,kBDm9BF,CCjgCF,+DAiDI,iBDo9BF,CCrgCF,2EAoDI,UDq9BF,CCzgCF,2EAuDI,kBDs9BF,CC7gCF,2EA0DI,kBDu9BF,CCjhCF,yEA6DI,SDw9BF,CCrhCF,yEAgEI,kBDy9BF,CCzhCF,yEAmEI,kBD09BF,CC7hCF,yEAsEI,SD29BF,CCjiCF,yEAyEI,kBD49BF,CCriCF,yEA4EI,kBD69BF,CCziCF,yEA+EI,SD89BF,CC7iCF,yEAkFI,kBD+9BF,CCjjCF,yEAqFI,iBDg+BF,CCrjCF,yEAwFI,UDi+BF,CCzjCF,2EA2FI,SDk+BF,CC7jCF,2EA8FI,iBDm+BF,CCjkCF,2EAiGI,iBDo+BF,CCrkCF,yEAoGI,QDq+BF,CCzkCF,yEAuGI,iBDs+BF,CC7kCF,yEA0GI,iBDu+BF,CCjlCF,yEA6GI,QDw+BF,CCrlCF,yEAgHI,iBDy+BF,CCzlCF,yEAmHI,iBD0+BF,CC7lCF,yEAsHI,QD2+BF,CCjmCF,yEAyHI,iBD4+BF,CCrmCF,yEA4HI,gBD6+BF,CCzmCF,yEA+HI,SD8+BF,CC7mCF,+EAkII,gBD++BF,CCjnCF,+EAqII,wBDg/BF,CCrnCF,+EAwII,wBDi/BF,CCznCF,6EA2II,eDk/BF,CC7nCF,6EA8II,wBDm/BF,CCjoCF,6EAiJI,wBDo/BF,CCroCF,6EAoJI,eDq/BF,CCzoCF,6EAuJI,wBDs/BF,CC7oCF,6EA0JI,wBDu/BF,CCjpCF,6EA6JI,eDw/BF,CCrpCF,6EAgKI,wBDy/BF,CCzpCF,6EAmKI,uBD0/BF,CC7pCF,6EAsKI,aD2/BF,CACF,CCz/BA,oxBAaI,UDugCF,CCphCF,iEAgBI,UDwgCF,CCxhCF,iEAmBI,kBDygCF,CC5hCF,iEAsBI,kBD0gCF,CChiCF,+DAyBI,SD2gCF,CCpiCF,+DA4BI,kBD4gCF,CCxiCF,+DA+BI,kBD6gCF,CC5iCF,+DAkCI,SD8gCF,CChjCF,+DAqCI,kBD+gCF,CCpjCF,+DAwCI,kBDghCF,CCxjCF,+DA2CI,SDihCF,CC5jCF,+DA8CI,kBDkhCF,CChkCF,+DAiDI,iBDmhCF,CCpkCF,2EAoDI,UDohCF,CCxkCF,2EAuDI,kBDqhCF,CC5kCF,2EA0DI,kBDshCF,CChlCF,yEA6DI,SDuhCF,CCplCF,yEAgEI,kBDwhCF,CCxlCF,yEAmEI,kBDyhCF,CC5lCF,yEAsEI,SD0hCF,CChmCF,yEAyEI,kBD2hCF,CCpmCF,yEA4EI,kBD4hCF,CCxmCF,yEA+EI,SD6hCF,CC5mCF,yEAkFI,kBD8hCF,CChnCF,yEAqFI,iBD+hCF,CCpnCF,yEAwFI,UDgiCF,CCxnCF,2EA2FI,SDiiCF,CC5nCF,2EA8FI,iBDkiCF,CChoCF,2EAiGI,iBDmiCF,CCpoCF,yEAoGI,QDoiCF,CCxoCF,yEAuGI,iBDqiCF,CC5oCF,yEA0GI,iBDsiCF,CChpCF,yEA6GI,QDuiCF,CCppCF,yEAgHI,iBDwiCF,CCxpCF,yEAmHI,iBDyiCF,CC5pCF,yEAsHI,QD0iCF,CChqCF,yEAyHI,iBD2iCF,CCpqCF,yEA4HI,gBD4iCF,CCxqCF,yEA+HI,SD6iCF,CC5qCF,+EAkII,gBD8iCF,CChrCF,+EAqII,wBD+iCF,CCprCF,+EAwII,wBDgjCF,CCxrCF,6EA2II,eDijCF,CC5rCF,6EA8II,wBDkjCF,CChsCF,6EAiJI,wBDmjCF,CCpsCF,6EAoJI,eDojCF,CCxsCF,6EAuJI,wBDqjCF,CC5sCF,6EA0JI,wBDsjCF,CChtCF,6EA6JI,eDujCF,CCptCF,6EAgKI,wBDwjCF,CCxtCF,6EAmKI,uBDyjCF,CC5tCF,6EAsKI,aD0jCF,CACF,CAp2GA,uDC6yEE,4BD2jCF,CAx2GA,yFCizEE,oBAAqB,CACrB,UAAW,CAFX,eD8jCF,CA92GA,8KCuzEE,kBAAmB,CACnB,UAAW,CAFX,eDgkCF,CAt3GA,2DC6zEE,UAAc,CADd,kBAAmB,CADnB,eAAgB,CAGhB,eD+jCF,CA73GA,iDCi0EE,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,kBD6/EF,CC7gFF,+EAoBI,QAAS,CACT,mBAAoB,CAFpB,SDggFF,CCnhFF,qFAwBI,WD+/EF,CACF,CAt4RA,woFC06ME,WAAY,CADZ,aDgiFF,CAz8RA,ozCC47ME,UD+iFF,CA3+RA,uEC+7ME,aAAc,CAEd,gBAAiB,CADjB,iBDijFF,CAj/RA,mECo8ME,qBDijFF,CAr/RA,iECu8ME,oBDkjFF,CAz/RA,uDC08ME,sBDmjFF,CA7/RA,uDC68ME,uBDojFF,CAjgSA,iECg9ME,iBDqjFF,CArgSA,iECs9ME,4BAA6B,CAC7B,QAAS,CAHT,iBAAkB,CADlB,UAAW,CAEX,gBDwjFF,CA7gSA,2DC09ME,sBDujFF,CAjhSA,yDC69ME,cDwjFF,CCtjFA,cACE,kBDwjFF,CAxhSA,gwCCo/ME,sBDwkFF,CCtkFA,4FAEI,uBDykFF,CC3kFF,6EAKI,uBD0kFF,CC/kFF,uEAQI,2BD2kFF,CCnlFF,8IAYI,4BD6kFF,CC1kFF,+EAEI,uBD8kFF,CC3kFF,iFAEI,wBD+kFF,CC5kFF,6FAEI,8BDglFF,CAjBF,CC5jFA,kHAEI,uBDilFF,CCnlFF,6EAKI,uBDklFF,CCvlFF,uEAQI,2BDmlFF,CC3lFF,8IAYI,4BDqlFF,CCllFF,+EAEI,uBDslFF,CCnlFF,iFAEI,wBDulFF,CCplFF,6FAEI,8BDwlFF,CAjBF,CCpkFA,mHAEI,uBDylFF,CC3lFF,6EAKI,uBD0lFF,CC/lFF,uEAQI,2BD2lFF,CCnmFF,8IAYI,4BD6lFF,CC1lFF,+EAEI,uBD8lFF,CC3lFF,iFAEI,wBD+lFF,CC5lFF,6FAEI,8BDgmFF,CAjBF,CC5kFA,6FAEI,uBDimFF,CCnmFF,6EAKI,uBDkmFF,CCvmFF,uEAQI,2BDmmFF,CC3mFF,8IAYI,4BDqmFF,CClmFF,+EAEI,uBDsmFF,CCnmFF,iFAEI,wBDumFF,CCpmFF,6FAEI,8BDwmFF,CAjBF,CCplFA,0FAEI,sBDymFF,CACF,CCvmFA,gHAEI,sBD0mFF,CACF,CCxmFA,iHAEI,sBD2mFF,CACF,CCzmFA,2FAEI,sBD4mFF,CACF,CA5uSA,yECmoNE,sBD6mFF,CC3mFA,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","sources":["webpack://WebComponents/./ptxrs-bootstrap.less","webpack://WebComponents/./node_modules/bootstrap/dist/css/bootstrap.css","webpack://WebComponents/./runestone/common/css/runestone-custom-sphinx-bootstrap.css","webpack://WebComponents/./runestone/accessibility/css/accessibility.css","webpack://WebComponents/./runestone/common/css/user-highlights.css","webpack://WebComponents/./runestone/matrixeq/css/matrixeq.css","webpack://WebComponents/./runestone/webgldemo/css/webglinteractive.css","webpack://WebComponents/./runestone/common/css/presenter_mode.less","webpack://WebComponents/./runestone/common/css/presenter_mode.css"],"sourcesContent":[".ptx-runestone-container,\n.runestone-sphinx {\n @import (less) url(\"./node_modules/bootstrap/dist/css/bootstrap.css\");\n @import (less) url(\"./runestone/common/css/runestone-custom-sphinx-bootstrap.css\");\n @import (less) url(\"./runestone/accessibility/css/accessibility.css\");\n}\n\n:root {\n --background: #ffffff;\n --outerBackground: #eeeeee;\n --links: #0645ad;\n --bodyFont: var(--body-text-color, #000000);\n --tooltip: #ffffff;\n --grayToWhite: #333333;\n --navbar: #f8f8f8;\n --navbarFont: #707070;\n --navbarFontHover: #000000;\n --alerts: #d9edf7;\n --completionButton: #f19711;\n --completionButtonHover: #ff9f19;\n --completionButtonText: #000000;\n --admonition: #fcf8e3;\n --admonitionBorder: #fbeed5;\n --codeButtons: #474949;\n --codeButtonsBorder: #474949;\n --dangerAlerts: #f2dede;\n --successAlerts: #dff0d8;\n --contentWidthRegular: 660px;\n --contentWidthWide: 1060px;\n --componentBgColor: #f0f8ff;\n --componentBorderColor: #000000;\n --questionBgColor: #e1efff;\n --parsonsBgColor: #ffa;\n --parsonsBorderColor: #ee0;\n --parsonsCorrectBgColor: #dff0d8;\n --parsonsCorrectBorderColor: #ade595;\n --parsonsIncorrectBgColor: #f2dede;\n --parsonsIncorrectBorderColor: #f2b6b6;\n}\n\n:root.dark-mode {\n --background: #2c2f33;\n --outerBackground: #23272a;\n --links: #7289da;\n --bodyFont: var(--body-text-color, #99aab5);\n --tooltip: #000000;\n --grayToWhite: #aaa;\n --navbar: #3d3d3d;\n --navbarFont: #ffffff;\n --navbarFontHover: #d6d6d6;\n --alerts: #714082;\n --completionButton: #650087;\n --completionButtonHover: #560073;\n --completionButtonText: #ffffff;\n --admonition: #3d3d3d;\n --admonitionBorder: #262626;\n --codeButtons: #67739d;\n --codeButtonsBorder: #ffffff;\n --dangerAlerts: #8c2626;\n --successAlerts: #217300;\n --componentBgColor: var(--rs-component-bg, var(--knowl-background, #07467d));\n --componentBorderColor: var(--rs-component-border, var(--knowl-border-color, #939090));\n --questionBgColor: var(--rs-component-bg, var(--knowl-nested-1-background, #0f5a9b));\n --parsonsBgColor: rgb(232, 232, 178);\n --parsonsBorderColor: rgb(168, 168, 45);\n --parsonsCorrectBgColor: #a3c097;\n --parsonsCorrectBorderColor: #60904c;\n --parsonsIncorrectBgColor: #ae9090;\n --parsonsIncorrectBorderColor: #c16b6b;\n}\n\n[data-theme=\"dark\"] {\n --background: #2c2f33;\n --outerBackground: #23272a;\n --links: #7289da;\n --bodyFont: #99aab5;\n --tooltip: #000000;\n --grayToWhite: #ffffff;\n --navbar: #3d3d3d;\n --navbarFont: #ffffff;\n --navbarFontHover: #d6d6d6;\n --alerts: #714082;\n --completionButton: #650087;\n --completionButtonHover: #560073;\n --completionButtonText: #ffffff;\n --admonition: #3d3d3d;\n --admonitionBorder: #262626;\n --codeButtons: #7289da;\n --codeButtonsBorder: #ffffff;\n --dangerAlerts: #8c2626;\n --successAlerts: #217300;\n --componentBgColor: #07467d;\n --componentBorderColor: #939090;\n --questionBgColor: rgb(23, 85, 93);\n}\n\n#scprogresscontainer {\n width: 100%;\n max-width: 500px;\n margin: 10px auto;\n}\n\n#subchapterprogress {\n width: 100%;\n background-color: var(--alerts);\n border: 1px solid var(--grayToWhite);\n border-radius: 5px;\n height: 20px;\n position: relative;\n}\n\n\n.exercise-statement {\n display: block;\n margin-bottom: 1em;\n}\n","/*!\n * Bootstrap v3.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n}\nbody {\n margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n vertical-align: baseline;\n}\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n[hidden],\ntemplate {\n display: none;\n}\na {\n background-color: transparent;\n}\na:active,\na:hover {\n outline: 0;\n}\nabbr[title] {\n border-bottom: none;\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n -moz-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\nb,\nstrong {\n font-weight: bold;\n}\ndfn {\n font-style: italic;\n}\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\nmark {\n background: #ff0;\n color: #000;\n}\nsmall {\n font-size: 80%;\n}\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\nsup {\n top: -0.5em;\n}\nsub {\n bottom: -0.25em;\n}\nimg {\n border: 0;\n}\nsvg:not(:root) {\n overflow: hidden;\n}\nfigure {\n margin: 1em 40px;\n}\nhr {\n -webkit-box-sizing: content-box;\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n height: 0;\n}\npre {\n overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit;\n font: inherit;\n margin: 0;\n}\nbutton {\n overflow: visible;\n}\nbutton,\nselect {\n text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button;\n cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\ninput {\n line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n padding: 0;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-appearance: textfield;\n -webkit-box-sizing: content-box;\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\nlegend {\n border: 0;\n padding: 0;\n}\ntextarea {\n overflow: auto;\n}\noptgroup {\n font-weight: bold;\n}\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\ntd,\nth {\n padding: 0;\n}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n *,\n *:before,\n *:after {\n color: #000 !important;\n text-shadow: none !important;\n background: transparent !important;\n -webkit-box-shadow: none !important;\n box-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n img {\n max-width: 100% !important;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n .navbar {\n display: none;\n }\n .btn > .caret,\n .dropup > .btn > .caret {\n border-top-color: #000 !important;\n }\n .label {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n@font-face {\n font-family: \"Glyphicons Halflings\";\n src: url(\"../fonts/glyphicons-halflings-regular.eot\");\n src: url(\"../fonts/glyphicons-halflings-regular.eot?#iefix\") format(\"embedded-opentype\"), url(\"../fonts/glyphicons-halflings-regular.woff2\") format(\"woff2\"), url(\"../fonts/glyphicons-halflings-regular.woff\") format(\"woff\"), url(\"../fonts/glyphicons-halflings-regular.ttf\") format(\"truetype\"), url(\"../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular\") format(\"svg\");\n}\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: \"Glyphicons Halflings\";\n font-style: normal;\n font-weight: 400;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n content: \"\\002a\";\n}\n.glyphicon-plus:before {\n content: \"\\002b\";\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n content: \"\\20ac\";\n}\n.glyphicon-minus:before {\n content: \"\\2212\";\n}\n.glyphicon-cloud:before {\n content: \"\\2601\";\n}\n.glyphicon-envelope:before {\n content: \"\\2709\";\n}\n.glyphicon-pencil:before {\n content: \"\\270f\";\n}\n.glyphicon-glass:before {\n content: \"\\e001\";\n}\n.glyphicon-music:before {\n content: \"\\e002\";\n}\n.glyphicon-search:before {\n content: \"\\e003\";\n}\n.glyphicon-heart:before {\n content: \"\\e005\";\n}\n.glyphicon-star:before {\n content: \"\\e006\";\n}\n.glyphicon-star-empty:before {\n content: \"\\e007\";\n}\n.glyphicon-user:before {\n content: \"\\e008\";\n}\n.glyphicon-film:before {\n content: \"\\e009\";\n}\n.glyphicon-th-large:before {\n content: \"\\e010\";\n}\n.glyphicon-th:before {\n content: \"\\e011\";\n}\n.glyphicon-th-list:before {\n content: \"\\e012\";\n}\n.glyphicon-ok:before {\n content: \"\\e013\";\n}\n.glyphicon-remove:before {\n content: \"\\e014\";\n}\n.glyphicon-zoom-in:before {\n content: \"\\e015\";\n}\n.glyphicon-zoom-out:before {\n content: \"\\e016\";\n}\n.glyphicon-off:before {\n content: \"\\e017\";\n}\n.glyphicon-signal:before {\n content: \"\\e018\";\n}\n.glyphicon-cog:before {\n content: \"\\e019\";\n}\n.glyphicon-trash:before {\n content: \"\\e020\";\n}\n.glyphicon-home:before {\n content: \"\\e021\";\n}\n.glyphicon-file:before {\n content: \"\\e022\";\n}\n.glyphicon-time:before {\n content: \"\\e023\";\n}\n.glyphicon-road:before {\n content: \"\\e024\";\n}\n.glyphicon-download-alt:before {\n content: \"\\e025\";\n}\n.glyphicon-download:before {\n content: \"\\e026\";\n}\n.glyphicon-upload:before {\n content: \"\\e027\";\n}\n.glyphicon-inbox:before {\n content: \"\\e028\";\n}\n.glyphicon-play-circle:before {\n content: \"\\e029\";\n}\n.glyphicon-repeat:before {\n content: \"\\e030\";\n}\n.glyphicon-refresh:before {\n content: \"\\e031\";\n}\n.glyphicon-list-alt:before {\n content: \"\\e032\";\n}\n.glyphicon-lock:before {\n content: \"\\e033\";\n}\n.glyphicon-flag:before {\n content: \"\\e034\";\n}\n.glyphicon-headphones:before {\n content: \"\\e035\";\n}\n.glyphicon-volume-off:before {\n content: \"\\e036\";\n}\n.glyphicon-volume-down:before {\n content: \"\\e037\";\n}\n.glyphicon-volume-up:before {\n content: \"\\e038\";\n}\n.glyphicon-qrcode:before {\n content: \"\\e039\";\n}\n.glyphicon-barcode:before {\n content: \"\\e040\";\n}\n.glyphicon-tag:before {\n content: \"\\e041\";\n}\n.glyphicon-tags:before {\n content: \"\\e042\";\n}\n.glyphicon-book:before {\n content: \"\\e043\";\n}\n.glyphicon-bookmark:before {\n content: \"\\e044\";\n}\n.glyphicon-print:before {\n content: \"\\e045\";\n}\n.glyphicon-camera:before {\n content: \"\\e046\";\n}\n.glyphicon-font:before {\n content: \"\\e047\";\n}\n.glyphicon-bold:before {\n content: \"\\e048\";\n}\n.glyphicon-italic:before {\n content: \"\\e049\";\n}\n.glyphicon-text-height:before {\n content: \"\\e050\";\n}\n.glyphicon-text-width:before {\n content: \"\\e051\";\n}\n.glyphicon-align-left:before {\n content: \"\\e052\";\n}\n.glyphicon-align-center:before {\n content: \"\\e053\";\n}\n.glyphicon-align-right:before {\n content: \"\\e054\";\n}\n.glyphicon-align-justify:before {\n content: \"\\e055\";\n}\n.glyphicon-list:before {\n content: \"\\e056\";\n}\n.glyphicon-indent-left:before {\n content: \"\\e057\";\n}\n.glyphicon-indent-right:before {\n content: \"\\e058\";\n}\n.glyphicon-facetime-video:before {\n content: \"\\e059\";\n}\n.glyphicon-picture:before {\n content: \"\\e060\";\n}\n.glyphicon-map-marker:before {\n content: \"\\e062\";\n}\n.glyphicon-adjust:before {\n content: \"\\e063\";\n}\n.glyphicon-tint:before {\n content: \"\\e064\";\n}\n.glyphicon-edit:before {\n content: \"\\e065\";\n}\n.glyphicon-share:before {\n content: \"\\e066\";\n}\n.glyphicon-check:before {\n content: \"\\e067\";\n}\n.glyphicon-move:before {\n content: \"\\e068\";\n}\n.glyphicon-step-backward:before {\n content: \"\\e069\";\n}\n.glyphicon-fast-backward:before {\n content: \"\\e070\";\n}\n.glyphicon-backward:before {\n content: \"\\e071\";\n}\n.glyphicon-play:before {\n content: \"\\e072\";\n}\n.glyphicon-pause:before {\n content: \"\\e073\";\n}\n.glyphicon-stop:before {\n content: \"\\e074\";\n}\n.glyphicon-forward:before {\n content: \"\\e075\";\n}\n.glyphicon-fast-forward:before {\n content: \"\\e076\";\n}\n.glyphicon-step-forward:before {\n content: \"\\e077\";\n}\n.glyphicon-eject:before {\n content: \"\\e078\";\n}\n.glyphicon-chevron-left:before {\n content: \"\\e079\";\n}\n.glyphicon-chevron-right:before {\n content: \"\\e080\";\n}\n.glyphicon-plus-sign:before {\n content: \"\\e081\";\n}\n.glyphicon-minus-sign:before {\n content: \"\\e082\";\n}\n.glyphicon-remove-sign:before {\n content: \"\\e083\";\n}\n.glyphicon-ok-sign:before {\n content: \"\\e084\";\n}\n.glyphicon-question-sign:before {\n content: \"\\e085\";\n}\n.glyphicon-info-sign:before {\n content: \"\\e086\";\n}\n.glyphicon-screenshot:before {\n content: \"\\e087\";\n}\n.glyphicon-remove-circle:before {\n content: \"\\e088\";\n}\n.glyphicon-ok-circle:before {\n content: \"\\e089\";\n}\n.glyphicon-ban-circle:before {\n content: \"\\e090\";\n}\n.glyphicon-arrow-left:before {\n content: \"\\e091\";\n}\n.glyphicon-arrow-right:before {\n content: \"\\e092\";\n}\n.glyphicon-arrow-up:before {\n content: \"\\e093\";\n}\n.glyphicon-arrow-down:before {\n content: \"\\e094\";\n}\n.glyphicon-share-alt:before {\n content: \"\\e095\";\n}\n.glyphicon-resize-full:before {\n content: \"\\e096\";\n}\n.glyphicon-resize-small:before {\n content: \"\\e097\";\n}\n.glyphicon-exclamation-sign:before {\n content: \"\\e101\";\n}\n.glyphicon-gift:before {\n content: \"\\e102\";\n}\n.glyphicon-leaf:before {\n content: \"\\e103\";\n}\n.glyphicon-fire:before {\n content: \"\\e104\";\n}\n.glyphicon-eye-open:before {\n content: \"\\e105\";\n}\n.glyphicon-eye-close:before {\n content: \"\\e106\";\n}\n.glyphicon-warning-sign:before {\n content: \"\\e107\";\n}\n.glyphicon-plane:before {\n content: \"\\e108\";\n}\n.glyphicon-calendar:before {\n content: \"\\e109\";\n}\n.glyphicon-random:before {\n content: \"\\e110\";\n}\n.glyphicon-comment:before {\n content: \"\\e111\";\n}\n.glyphicon-magnet:before {\n content: \"\\e112\";\n}\n.glyphicon-chevron-up:before {\n content: \"\\e113\";\n}\n.glyphicon-chevron-down:before {\n content: \"\\e114\";\n}\n.glyphicon-retweet:before {\n content: \"\\e115\";\n}\n.glyphicon-shopping-cart:before {\n content: \"\\e116\";\n}\n.glyphicon-folder-close:before {\n content: \"\\e117\";\n}\n.glyphicon-folder-open:before {\n content: \"\\e118\";\n}\n.glyphicon-resize-vertical:before {\n content: \"\\e119\";\n}\n.glyphicon-resize-horizontal:before {\n content: \"\\e120\";\n}\n.glyphicon-hdd:before {\n content: \"\\e121\";\n}\n.glyphicon-bullhorn:before {\n content: \"\\e122\";\n}\n.glyphicon-bell:before {\n content: \"\\e123\";\n}\n.glyphicon-certificate:before {\n content: \"\\e124\";\n}\n.glyphicon-thumbs-up:before {\n content: \"\\e125\";\n}\n.glyphicon-thumbs-down:before {\n content: \"\\e126\";\n}\n.glyphicon-hand-right:before {\n content: \"\\e127\";\n}\n.glyphicon-hand-left:before {\n content: \"\\e128\";\n}\n.glyphicon-hand-up:before {\n content: \"\\e129\";\n}\n.glyphicon-hand-down:before {\n content: \"\\e130\";\n}\n.glyphicon-circle-arrow-right:before {\n content: \"\\e131\";\n}\n.glyphicon-circle-arrow-left:before {\n content: \"\\e132\";\n}\n.glyphicon-circle-arrow-up:before {\n content: \"\\e133\";\n}\n.glyphicon-circle-arrow-down:before {\n content: \"\\e134\";\n}\n.glyphicon-globe:before {\n content: \"\\e135\";\n}\n.glyphicon-wrench:before {\n content: \"\\e136\";\n}\n.glyphicon-tasks:before {\n content: \"\\e137\";\n}\n.glyphicon-filter:before {\n content: \"\\e138\";\n}\n.glyphicon-briefcase:before {\n content: \"\\e139\";\n}\n.glyphicon-fullscreen:before {\n content: \"\\e140\";\n}\n.glyphicon-dashboard:before {\n content: \"\\e141\";\n}\n.glyphicon-paperclip:before {\n content: \"\\e142\";\n}\n.glyphicon-heart-empty:before {\n content: \"\\e143\";\n}\n.glyphicon-link:before {\n content: \"\\e144\";\n}\n.glyphicon-phone:before {\n content: \"\\e145\";\n}\n.glyphicon-pushpin:before {\n content: \"\\e146\";\n}\n.glyphicon-usd:before {\n content: \"\\e148\";\n}\n.glyphicon-gbp:before {\n content: \"\\e149\";\n}\n.glyphicon-sort:before {\n content: \"\\e150\";\n}\n.glyphicon-sort-by-alphabet:before {\n content: \"\\e151\";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n content: \"\\e152\";\n}\n.glyphicon-sort-by-order:before {\n content: \"\\e153\";\n}\n.glyphicon-sort-by-order-alt:before {\n content: \"\\e154\";\n}\n.glyphicon-sort-by-attributes:before {\n content: \"\\e155\";\n}\n.glyphicon-sort-by-attributes-alt:before {\n content: \"\\e156\";\n}\n.glyphicon-unchecked:before {\n content: \"\\e157\";\n}\n.glyphicon-expand:before {\n content: \"\\e158\";\n}\n.glyphicon-collapse-down:before {\n content: \"\\e159\";\n}\n.glyphicon-collapse-up:before {\n content: \"\\e160\";\n}\n.glyphicon-log-in:before {\n content: \"\\e161\";\n}\n.glyphicon-flash:before {\n content: \"\\e162\";\n}\n.glyphicon-log-out:before {\n content: \"\\e163\";\n}\n.glyphicon-new-window:before {\n content: \"\\e164\";\n}\n.glyphicon-record:before {\n content: \"\\e165\";\n}\n.glyphicon-save:before {\n content: \"\\e166\";\n}\n.glyphicon-open:before {\n content: \"\\e167\";\n}\n.glyphicon-saved:before {\n content: \"\\e168\";\n}\n.glyphicon-import:before {\n content: \"\\e169\";\n}\n.glyphicon-export:before {\n content: \"\\e170\";\n}\n.glyphicon-send:before {\n content: \"\\e171\";\n}\n.glyphicon-floppy-disk:before {\n content: \"\\e172\";\n}\n.glyphicon-floppy-saved:before {\n content: \"\\e173\";\n}\n.glyphicon-floppy-remove:before {\n content: \"\\e174\";\n}\n.glyphicon-floppy-save:before {\n content: \"\\e175\";\n}\n.glyphicon-floppy-open:before {\n content: \"\\e176\";\n}\n.glyphicon-credit-card:before {\n content: \"\\e177\";\n}\n.glyphicon-transfer:before {\n content: \"\\e178\";\n}\n.glyphicon-cutlery:before {\n content: \"\\e179\";\n}\n.glyphicon-header:before {\n content: \"\\e180\";\n}\n.glyphicon-compressed:before {\n content: \"\\e181\";\n}\n.glyphicon-earphone:before {\n content: \"\\e182\";\n}\n.glyphicon-phone-alt:before {\n content: \"\\e183\";\n}\n.glyphicon-tower:before {\n content: \"\\e184\";\n}\n.glyphicon-stats:before {\n content: \"\\e185\";\n}\n.glyphicon-sd-video:before {\n content: \"\\e186\";\n}\n.glyphicon-hd-video:before {\n content: \"\\e187\";\n}\n.glyphicon-subtitles:before {\n content: \"\\e188\";\n}\n.glyphicon-sound-stereo:before {\n content: \"\\e189\";\n}\n.glyphicon-sound-dolby:before {\n content: \"\\e190\";\n}\n.glyphicon-sound-5-1:before {\n content: \"\\e191\";\n}\n.glyphicon-sound-6-1:before {\n content: \"\\e192\";\n}\n.glyphicon-sound-7-1:before {\n content: \"\\e193\";\n}\n.glyphicon-copyright-mark:before {\n content: \"\\e194\";\n}\n.glyphicon-registration-mark:before {\n content: \"\\e195\";\n}\n.glyphicon-cloud-download:before {\n content: \"\\e197\";\n}\n.glyphicon-cloud-upload:before {\n content: \"\\e198\";\n}\n.glyphicon-tree-conifer:before {\n content: \"\\e199\";\n}\n.glyphicon-tree-deciduous:before {\n content: \"\\e200\";\n}\n.glyphicon-cd:before {\n content: \"\\e201\";\n}\n.glyphicon-save-file:before {\n content: \"\\e202\";\n}\n.glyphicon-open-file:before {\n content: \"\\e203\";\n}\n.glyphicon-level-up:before {\n content: \"\\e204\";\n}\n.glyphicon-copy:before {\n content: \"\\e205\";\n}\n.glyphicon-paste:before {\n content: \"\\e206\";\n}\n.glyphicon-alert:before {\n content: \"\\e209\";\n}\n.glyphicon-equalizer:before {\n content: \"\\e210\";\n}\n.glyphicon-king:before {\n content: \"\\e211\";\n}\n.glyphicon-queen:before {\n content: \"\\e212\";\n}\n.glyphicon-pawn:before {\n content: \"\\e213\";\n}\n.glyphicon-bishop:before {\n content: \"\\e214\";\n}\n.glyphicon-knight:before {\n content: \"\\e215\";\n}\n.glyphicon-baby-formula:before {\n content: \"\\e216\";\n}\n.glyphicon-tent:before {\n content: \"\\26fa\";\n}\n.glyphicon-blackboard:before {\n content: \"\\e218\";\n}\n.glyphicon-bed:before {\n content: \"\\e219\";\n}\n.glyphicon-apple:before {\n content: \"\\f8ff\";\n}\n.glyphicon-erase:before {\n content: \"\\e221\";\n}\n.glyphicon-hourglass:before {\n content: \"\\231b\";\n}\n.glyphicon-lamp:before {\n content: \"\\e223\";\n}\n.glyphicon-duplicate:before {\n content: \"\\e224\";\n}\n.glyphicon-piggy-bank:before {\n content: \"\\e225\";\n}\n.glyphicon-scissors:before {\n content: \"\\e226\";\n}\n.glyphicon-bitcoin:before {\n content: \"\\e227\";\n}\n.glyphicon-btc:before {\n content: \"\\e227\";\n}\n.glyphicon-xbt:before {\n content: \"\\e227\";\n}\n.glyphicon-yen:before {\n content: \"\\00a5\";\n}\n.glyphicon-jpy:before {\n content: \"\\00a5\";\n}\n.glyphicon-ruble:before {\n content: \"\\20bd\";\n}\n.glyphicon-rub:before {\n content: \"\\20bd\";\n}\n.glyphicon-scale:before {\n content: \"\\e230\";\n}\n.glyphicon-ice-lolly:before {\n content: \"\\e231\";\n}\n.glyphicon-ice-lolly-tasted:before {\n content: \"\\e232\";\n}\n.glyphicon-education:before {\n content: \"\\e233\";\n}\n.glyphicon-option-horizontal:before {\n content: \"\\e234\";\n}\n.glyphicon-option-vertical:before {\n content: \"\\e235\";\n}\n.glyphicon-menu-hamburger:before {\n content: \"\\e236\";\n}\n.glyphicon-modal-window:before {\n content: \"\\e237\";\n}\n.glyphicon-oil:before {\n content: \"\\e238\";\n}\n.glyphicon-grain:before {\n content: \"\\e239\";\n}\n.glyphicon-sunglasses:before {\n content: \"\\e240\";\n}\n.glyphicon-text-size:before {\n content: \"\\e241\";\n}\n.glyphicon-text-color:before {\n content: \"\\e242\";\n}\n.glyphicon-text-background:before {\n content: \"\\e243\";\n}\n.glyphicon-object-align-top:before {\n content: \"\\e244\";\n}\n.glyphicon-object-align-bottom:before {\n content: \"\\e245\";\n}\n.glyphicon-object-align-horizontal:before {\n content: \"\\e246\";\n}\n.glyphicon-object-align-left:before {\n content: \"\\e247\";\n}\n.glyphicon-object-align-vertical:before {\n content: \"\\e248\";\n}\n.glyphicon-object-align-right:before {\n content: \"\\e249\";\n}\n.glyphicon-triangle-right:before {\n content: \"\\e250\";\n}\n.glyphicon-triangle-left:before {\n content: \"\\e251\";\n}\n.glyphicon-triangle-bottom:before {\n content: \"\\e252\";\n}\n.glyphicon-triangle-top:before {\n content: \"\\e253\";\n}\n.glyphicon-console:before {\n content: \"\\e254\";\n}\n.glyphicon-superscript:before {\n content: \"\\e255\";\n}\n.glyphicon-subscript:before {\n content: \"\\e256\";\n}\n.glyphicon-menu-left:before {\n content: \"\\e257\";\n}\n.glyphicon-menu-right:before {\n content: \"\\e258\";\n}\n.glyphicon-menu-down:before {\n content: \"\\e259\";\n}\n.glyphicon-menu-up:before {\n content: \"\\e260\";\n}\n* {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n*:before,\n*:after {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n line-height: 1.42857143;\n color: #333333;\n background-color: #fff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\na {\n color: #337ab7;\n text-decoration: none;\n}\na:hover,\na:focus {\n color: #23527c;\n text-decoration: underline;\n}\na:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\nfigure {\n margin: 0;\n}\nimg {\n vertical-align: middle;\n}\n.img-responsive,\n.thumbnail > img,\n.thumbnail a > img,\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n display: block;\n max-width: 100%;\n height: auto;\n}\n.img-rounded {\n border-radius: 6px;\n}\n.img-thumbnail {\n padding: 4px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: all 0.2s ease-in-out;\n -o-transition: all 0.2s ease-in-out;\n transition: all 0.2s ease-in-out;\n display: inline-block;\n max-width: 100%;\n height: auto;\n}\n.img-circle {\n border-radius: 50%;\n}\nhr {\n margin-top: 20px;\n margin-bottom: 20px;\n border: 0;\n border-top: 1px solid #eeeeee;\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n[role=\"button\"] {\n cursor: pointer;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n font-weight: 400;\n line-height: 1;\n color: #777777;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n margin-top: 20px;\n margin-bottom: 10px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n margin-top: 10px;\n margin-bottom: 10px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n font-size: 75%;\n}\nh1,\n.h1 {\n font-size: 36px;\n}\nh2,\n.h2 {\n font-size: 30px;\n}\nh3,\n.h3 {\n font-size: 24px;\n}\nh4,\n.h4 {\n font-size: 18px;\n}\nh5,\n.h5 {\n font-size: 14px;\n}\nh6,\n.h6 {\n font-size: 12px;\n}\np {\n margin: 0 0 10px;\n}\n.lead {\n margin-bottom: 20px;\n font-size: 16px;\n font-weight: 300;\n line-height: 1.4;\n}\n@media (min-width: 768px) {\n .lead {\n font-size: 21px;\n }\n}\nsmall,\n.small {\n font-size: 85%;\n}\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n.text-left {\n text-align: left;\n}\n.text-right {\n text-align: right;\n}\n.text-center {\n text-align: center;\n}\n.text-justify {\n text-align: justify;\n}\n.text-nowrap {\n white-space: nowrap;\n}\n.text-lowercase {\n text-transform: lowercase;\n}\n.text-uppercase {\n text-transform: uppercase;\n}\n.text-capitalize {\n text-transform: capitalize;\n}\n.text-muted {\n color: #777777;\n}\n.text-primary {\n color: #337ab7;\n}\na.text-primary:hover,\na.text-primary:focus {\n color: #286090;\n}\n.text-success {\n color: #3c763d;\n}\na.text-success:hover,\na.text-success:focus {\n color: #2b542c;\n}\n.text-info {\n color: #31708f;\n}\na.text-info:hover,\na.text-info:focus {\n color: #245269;\n}\n.text-warning {\n color: #8a6d3b;\n}\na.text-warning:hover,\na.text-warning:focus {\n color: #66512c;\n}\n.text-danger {\n color: #a94442;\n}\na.text-danger:hover,\na.text-danger:focus {\n color: #843534;\n}\n.bg-primary {\n color: #fff;\n background-color: #337ab7;\n}\na.bg-primary:hover,\na.bg-primary:focus {\n background-color: #286090;\n}\n.bg-success {\n background-color: #dff0d8;\n}\na.bg-success:hover,\na.bg-success:focus {\n background-color: #c1e2b3;\n}\n.bg-info {\n background-color: #d9edf7;\n}\na.bg-info:hover,\na.bg-info:focus {\n background-color: #afd9ee;\n}\n.bg-warning {\n background-color: #fcf8e3;\n}\na.bg-warning:hover,\na.bg-warning:focus {\n background-color: #f7ecb5;\n}\n.bg-danger {\n background-color: #f2dede;\n}\na.bg-danger:hover,\na.bg-danger:focus {\n background-color: #e4b9b9;\n}\n.page-header {\n padding-bottom: 9px;\n margin: 40px 0 20px;\n border-bottom: 1px solid #eeeeee;\n}\nul,\nol {\n margin-top: 0;\n margin-bottom: 10px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n margin-bottom: 0;\n}\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n.list-inline {\n padding-left: 0;\n list-style: none;\n margin-left: -5px;\n}\n.list-inline > li {\n display: inline-block;\n padding-right: 5px;\n padding-left: 5px;\n}\ndl {\n margin-top: 0;\n margin-bottom: 20px;\n}\ndt,\ndd {\n line-height: 1.42857143;\n}\ndt {\n font-weight: 700;\n}\ndd {\n margin-left: 0;\n}\n@media (min-width: 768px) {\n .dl-horizontal dt {\n float: left;\n width: 160px;\n clear: left;\n text-align: right;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .dl-horizontal dd {\n margin-left: 180px;\n }\n}\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n}\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\nblockquote {\n padding: 10px 20px;\n margin: 0 0 20px;\n font-size: 17.5px;\n border-left: 5px solid #eeeeee;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n display: block;\n font-size: 80%;\n line-height: 1.42857143;\n color: #777777;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n content: \"\\2014 \\00A0\";\n}\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n text-align: right;\n border-right: 5px solid #eeeeee;\n border-left: 0;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n content: \"\";\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n content: \"\\00A0 \\2014\";\n}\naddress {\n margin-bottom: 20px;\n font-style: normal;\n line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace;\n}\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: #c7254e;\n background-color: #f9f2f4;\n border-radius: 4px;\n}\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: #fff;\n background-color: #333;\n border-radius: 3px;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\npre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.42857143;\n color: #333333;\n word-break: break-all;\n word-wrap: break-word;\n background-color: #f5f5f5;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n}\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n.container {\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n@media (min-width: 768px) {\n .container {\n width: 750px;\n }\n}\n@media (min-width: 992px) {\n .container {\n width: 970px;\n }\n}\n@media (min-width: 1200px) {\n .container {\n width: 1170px;\n }\n}\n.container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n.row {\n margin-right: -15px;\n margin-left: -15px;\n}\n.row-no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n.row-no-gutters [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n.col-xs-1,\n.col-sm-1,\n.col-md-1,\n.col-lg-1,\n.col-xs-2,\n.col-sm-2,\n.col-md-2,\n.col-lg-2,\n.col-xs-3,\n.col-sm-3,\n.col-md-3,\n.col-lg-3,\n.col-xs-4,\n.col-sm-4,\n.col-md-4,\n.col-lg-4,\n.col-xs-5,\n.col-sm-5,\n.col-md-5,\n.col-lg-5,\n.col-xs-6,\n.col-sm-6,\n.col-md-6,\n.col-lg-6,\n.col-xs-7,\n.col-sm-7,\n.col-md-7,\n.col-lg-7,\n.col-xs-8,\n.col-sm-8,\n.col-md-8,\n.col-lg-8,\n.col-xs-9,\n.col-sm-9,\n.col-md-9,\n.col-lg-9,\n.col-xs-10,\n.col-sm-10,\n.col-md-10,\n.col-lg-10,\n.col-xs-11,\n.col-sm-11,\n.col-md-11,\n.col-lg-11,\n.col-xs-12,\n.col-sm-12,\n.col-md-12,\n.col-lg-12 {\n position: relative;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n.col-xs-1,\n.col-xs-2,\n.col-xs-3,\n.col-xs-4,\n.col-xs-5,\n.col-xs-6,\n.col-xs-7,\n.col-xs-8,\n.col-xs-9,\n.col-xs-10,\n.col-xs-11,\n.col-xs-12 {\n float: left;\n}\n.col-xs-12 {\n width: 100%;\n}\n.col-xs-11 {\n width: 91.66666667%;\n}\n.col-xs-10 {\n width: 83.33333333%;\n}\n.col-xs-9 {\n width: 75%;\n}\n.col-xs-8 {\n width: 66.66666667%;\n}\n.col-xs-7 {\n width: 58.33333333%;\n}\n.col-xs-6 {\n width: 50%;\n}\n.col-xs-5 {\n width: 41.66666667%;\n}\n.col-xs-4 {\n width: 33.33333333%;\n}\n.col-xs-3 {\n width: 25%;\n}\n.col-xs-2 {\n width: 16.66666667%;\n}\n.col-xs-1 {\n width: 8.33333333%;\n}\n.col-xs-pull-12 {\n right: 100%;\n}\n.col-xs-pull-11 {\n right: 91.66666667%;\n}\n.col-xs-pull-10 {\n right: 83.33333333%;\n}\n.col-xs-pull-9 {\n right: 75%;\n}\n.col-xs-pull-8 {\n right: 66.66666667%;\n}\n.col-xs-pull-7 {\n right: 58.33333333%;\n}\n.col-xs-pull-6 {\n right: 50%;\n}\n.col-xs-pull-5 {\n right: 41.66666667%;\n}\n.col-xs-pull-4 {\n right: 33.33333333%;\n}\n.col-xs-pull-3 {\n right: 25%;\n}\n.col-xs-pull-2 {\n right: 16.66666667%;\n}\n.col-xs-pull-1 {\n right: 8.33333333%;\n}\n.col-xs-pull-0 {\n right: auto;\n}\n.col-xs-push-12 {\n left: 100%;\n}\n.col-xs-push-11 {\n left: 91.66666667%;\n}\n.col-xs-push-10 {\n left: 83.33333333%;\n}\n.col-xs-push-9 {\n left: 75%;\n}\n.col-xs-push-8 {\n left: 66.66666667%;\n}\n.col-xs-push-7 {\n left: 58.33333333%;\n}\n.col-xs-push-6 {\n left: 50%;\n}\n.col-xs-push-5 {\n left: 41.66666667%;\n}\n.col-xs-push-4 {\n left: 33.33333333%;\n}\n.col-xs-push-3 {\n left: 25%;\n}\n.col-xs-push-2 {\n left: 16.66666667%;\n}\n.col-xs-push-1 {\n left: 8.33333333%;\n}\n.col-xs-push-0 {\n left: auto;\n}\n.col-xs-offset-12 {\n margin-left: 100%;\n}\n.col-xs-offset-11 {\n margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n margin-left: 75%;\n}\n.col-xs-offset-8 {\n margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n margin-left: 50%;\n}\n.col-xs-offset-5 {\n margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n margin-left: 25%;\n}\n.col-xs-offset-2 {\n margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n margin-left: 0%;\n}\n@media (min-width: 768px) {\n .col-sm-1,\n .col-sm-2,\n .col-sm-3,\n .col-sm-4,\n .col-sm-5,\n .col-sm-6,\n .col-sm-7,\n .col-sm-8,\n .col-sm-9,\n .col-sm-10,\n .col-sm-11,\n .col-sm-12 {\n float: left;\n }\n .col-sm-12 {\n width: 100%;\n }\n .col-sm-11 {\n width: 91.66666667%;\n }\n .col-sm-10 {\n width: 83.33333333%;\n }\n .col-sm-9 {\n width: 75%;\n }\n .col-sm-8 {\n width: 66.66666667%;\n }\n .col-sm-7 {\n width: 58.33333333%;\n }\n .col-sm-6 {\n width: 50%;\n }\n .col-sm-5 {\n width: 41.66666667%;\n }\n .col-sm-4 {\n width: 33.33333333%;\n }\n .col-sm-3 {\n width: 25%;\n }\n .col-sm-2 {\n width: 16.66666667%;\n }\n .col-sm-1 {\n width: 8.33333333%;\n }\n .col-sm-pull-12 {\n right: 100%;\n }\n .col-sm-pull-11 {\n right: 91.66666667%;\n }\n .col-sm-pull-10 {\n right: 83.33333333%;\n }\n .col-sm-pull-9 {\n right: 75%;\n }\n .col-sm-pull-8 {\n right: 66.66666667%;\n }\n .col-sm-pull-7 {\n right: 58.33333333%;\n }\n .col-sm-pull-6 {\n right: 50%;\n }\n .col-sm-pull-5 {\n right: 41.66666667%;\n }\n .col-sm-pull-4 {\n right: 33.33333333%;\n }\n .col-sm-pull-3 {\n right: 25%;\n }\n .col-sm-pull-2 {\n right: 16.66666667%;\n }\n .col-sm-pull-1 {\n right: 8.33333333%;\n }\n .col-sm-pull-0 {\n right: auto;\n }\n .col-sm-push-12 {\n left: 100%;\n }\n .col-sm-push-11 {\n left: 91.66666667%;\n }\n .col-sm-push-10 {\n left: 83.33333333%;\n }\n .col-sm-push-9 {\n left: 75%;\n }\n .col-sm-push-8 {\n left: 66.66666667%;\n }\n .col-sm-push-7 {\n left: 58.33333333%;\n }\n .col-sm-push-6 {\n left: 50%;\n }\n .col-sm-push-5 {\n left: 41.66666667%;\n }\n .col-sm-push-4 {\n left: 33.33333333%;\n }\n .col-sm-push-3 {\n left: 25%;\n }\n .col-sm-push-2 {\n left: 16.66666667%;\n }\n .col-sm-push-1 {\n left: 8.33333333%;\n }\n .col-sm-push-0 {\n left: auto;\n }\n .col-sm-offset-12 {\n margin-left: 100%;\n }\n .col-sm-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-sm-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-sm-offset-9 {\n margin-left: 75%;\n }\n .col-sm-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-sm-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-sm-offset-6 {\n margin-left: 50%;\n }\n .col-sm-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-sm-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-sm-offset-3 {\n margin-left: 25%;\n }\n .col-sm-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-sm-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-sm-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 992px) {\n .col-md-1,\n .col-md-2,\n .col-md-3,\n .col-md-4,\n .col-md-5,\n .col-md-6,\n .col-md-7,\n .col-md-8,\n .col-md-9,\n .col-md-10,\n .col-md-11,\n .col-md-12 {\n float: left;\n }\n .col-md-12 {\n width: 100%;\n }\n .col-md-11 {\n width: 91.66666667%;\n }\n .col-md-10 {\n width: 83.33333333%;\n }\n .col-md-9 {\n width: 75%;\n }\n .col-md-8 {\n width: 66.66666667%;\n }\n .col-md-7 {\n width: 58.33333333%;\n }\n .col-md-6 {\n width: 50%;\n }\n .col-md-5 {\n width: 41.66666667%;\n }\n .col-md-4 {\n width: 33.33333333%;\n }\n .col-md-3 {\n width: 25%;\n }\n .col-md-2 {\n width: 16.66666667%;\n }\n .col-md-1 {\n width: 8.33333333%;\n }\n .col-md-pull-12 {\n right: 100%;\n }\n .col-md-pull-11 {\n right: 91.66666667%;\n }\n .col-md-pull-10 {\n right: 83.33333333%;\n }\n .col-md-pull-9 {\n right: 75%;\n }\n .col-md-pull-8 {\n right: 66.66666667%;\n }\n .col-md-pull-7 {\n right: 58.33333333%;\n }\n .col-md-pull-6 {\n right: 50%;\n }\n .col-md-pull-5 {\n right: 41.66666667%;\n }\n .col-md-pull-4 {\n right: 33.33333333%;\n }\n .col-md-pull-3 {\n right: 25%;\n }\n .col-md-pull-2 {\n right: 16.66666667%;\n }\n .col-md-pull-1 {\n right: 8.33333333%;\n }\n .col-md-pull-0 {\n right: auto;\n }\n .col-md-push-12 {\n left: 100%;\n }\n .col-md-push-11 {\n left: 91.66666667%;\n }\n .col-md-push-10 {\n left: 83.33333333%;\n }\n .col-md-push-9 {\n left: 75%;\n }\n .col-md-push-8 {\n left: 66.66666667%;\n }\n .col-md-push-7 {\n left: 58.33333333%;\n }\n .col-md-push-6 {\n left: 50%;\n }\n .col-md-push-5 {\n left: 41.66666667%;\n }\n .col-md-push-4 {\n left: 33.33333333%;\n }\n .col-md-push-3 {\n left: 25%;\n }\n .col-md-push-2 {\n left: 16.66666667%;\n }\n .col-md-push-1 {\n left: 8.33333333%;\n }\n .col-md-push-0 {\n left: auto;\n }\n .col-md-offset-12 {\n margin-left: 100%;\n }\n .col-md-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-md-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-md-offset-9 {\n margin-left: 75%;\n }\n .col-md-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-md-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-md-offset-6 {\n margin-left: 50%;\n }\n .col-md-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-md-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-md-offset-3 {\n margin-left: 25%;\n }\n .col-md-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-md-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-md-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 1200px) {\n .col-lg-1,\n .col-lg-2,\n .col-lg-3,\n .col-lg-4,\n .col-lg-5,\n .col-lg-6,\n .col-lg-7,\n .col-lg-8,\n .col-lg-9,\n .col-lg-10,\n .col-lg-11,\n .col-lg-12 {\n float: left;\n }\n .col-lg-12 {\n width: 100%;\n }\n .col-lg-11 {\n width: 91.66666667%;\n }\n .col-lg-10 {\n width: 83.33333333%;\n }\n .col-lg-9 {\n width: 75%;\n }\n .col-lg-8 {\n width: 66.66666667%;\n }\n .col-lg-7 {\n width: 58.33333333%;\n }\n .col-lg-6 {\n width: 50%;\n }\n .col-lg-5 {\n width: 41.66666667%;\n }\n .col-lg-4 {\n width: 33.33333333%;\n }\n .col-lg-3 {\n width: 25%;\n }\n .col-lg-2 {\n width: 16.66666667%;\n }\n .col-lg-1 {\n width: 8.33333333%;\n }\n .col-lg-pull-12 {\n right: 100%;\n }\n .col-lg-pull-11 {\n right: 91.66666667%;\n }\n .col-lg-pull-10 {\n right: 83.33333333%;\n }\n .col-lg-pull-9 {\n right: 75%;\n }\n .col-lg-pull-8 {\n right: 66.66666667%;\n }\n .col-lg-pull-7 {\n right: 58.33333333%;\n }\n .col-lg-pull-6 {\n right: 50%;\n }\n .col-lg-pull-5 {\n right: 41.66666667%;\n }\n .col-lg-pull-4 {\n right: 33.33333333%;\n }\n .col-lg-pull-3 {\n right: 25%;\n }\n .col-lg-pull-2 {\n right: 16.66666667%;\n }\n .col-lg-pull-1 {\n right: 8.33333333%;\n }\n .col-lg-pull-0 {\n right: auto;\n }\n .col-lg-push-12 {\n left: 100%;\n }\n .col-lg-push-11 {\n left: 91.66666667%;\n }\n .col-lg-push-10 {\n left: 83.33333333%;\n }\n .col-lg-push-9 {\n left: 75%;\n }\n .col-lg-push-8 {\n left: 66.66666667%;\n }\n .col-lg-push-7 {\n left: 58.33333333%;\n }\n .col-lg-push-6 {\n left: 50%;\n }\n .col-lg-push-5 {\n left: 41.66666667%;\n }\n .col-lg-push-4 {\n left: 33.33333333%;\n }\n .col-lg-push-3 {\n left: 25%;\n }\n .col-lg-push-2 {\n left: 16.66666667%;\n }\n .col-lg-push-1 {\n left: 8.33333333%;\n }\n .col-lg-push-0 {\n left: auto;\n }\n .col-lg-offset-12 {\n margin-left: 100%;\n }\n .col-lg-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-lg-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-lg-offset-9 {\n margin-left: 75%;\n }\n .col-lg-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-lg-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-lg-offset-6 {\n margin-left: 50%;\n }\n .col-lg-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-lg-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-lg-offset-3 {\n margin-left: 25%;\n }\n .col-lg-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-lg-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-lg-offset-0 {\n margin-left: 0%;\n }\n}\ntable {\n background-color: transparent;\n}\ntable col[class*=\"col-\"] {\n position: static;\n display: table-column;\n float: none;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n position: static;\n display: table-cell;\n float: none;\n}\ncaption {\n padding-top: 8px;\n padding-bottom: 8px;\n color: #777777;\n text-align: left;\n}\nth {\n text-align: left;\n}\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 20px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n padding: 8px;\n line-height: 1.42857143;\n vertical-align: top;\n border-top: 1px solid #ddd;\n}\n.table > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid #ddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n border-top: 0;\n}\n.table > tbody + tbody {\n border-top: 2px solid #ddd;\n}\n.table .table {\n background-color: #fff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n padding: 5px;\n}\n.table-bordered {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-of-type(odd) {\n background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n background-color: #f5f5f5;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n background-color: #ebcccc;\n}\n.table-responsive {\n min-height: 0.01%;\n overflow-x: auto;\n}\n@media screen and (max-width: 767px) {\n .table-responsive {\n width: 100%;\n margin-bottom: 15px;\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid #ddd;\n }\n .table-responsive > .table {\n margin-bottom: 0;\n }\n .table-responsive > .table > thead > tr > th,\n .table-responsive > .table > tbody > tr > th,\n .table-responsive > .table > tfoot > tr > th,\n .table-responsive > .table > thead > tr > td,\n .table-responsive > .table > tbody > tr > td,\n .table-responsive > .table > tfoot > tr > td {\n white-space: nowrap;\n }\n .table-responsive > .table-bordered {\n border: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:first-child,\n .table-responsive > .table-bordered > tbody > tr > th:first-child,\n .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n .table-responsive > .table-bordered > thead > tr > td:first-child,\n .table-responsive > .table-bordered > tbody > tr > td:first-child,\n .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:last-child,\n .table-responsive > .table-bordered > tbody > tr > th:last-child,\n .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n .table-responsive > .table-bordered > thead > tr > td:last-child,\n .table-responsive > .table-bordered > tbody > tr > td:last-child,\n .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n }\n .table-responsive > .table-bordered > tbody > tr:last-child > th,\n .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n .table-responsive > .table-bordered > tbody > tr:last-child > td,\n .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n border-bottom: 0;\n }\n}\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: 20px;\n font-size: 21px;\n line-height: inherit;\n color: #333333;\n border: 0;\n border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n display: inline-block;\n max-width: 100%;\n margin-bottom: 5px;\n font-weight: 700;\n}\ninput[type=\"search\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9;\n line-height: normal;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"].disabled,\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"] {\n cursor: not-allowed;\n}\ninput[type=\"file\"] {\n display: block;\n}\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\nselect[multiple],\nselect[size] {\n height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\noutput {\n display: block;\n padding-top: 7px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n}\n.form-control {\n display: block;\n width: 100%;\n height: 34px;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n background-color: #fff;\n background-image: none;\n border: 1px solid #ccc;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n border-color: #66afe9;\n outline: 0;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n.form-control::-moz-placeholder {\n color: #999;\n opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n color: #999;\n}\n.form-control::-webkit-input-placeholder {\n color: #999;\n}\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n background-color: #eeeeee;\n opacity: 1;\n}\n.form-control[disabled],\nfieldset[disabled] .form-control {\n cursor: not-allowed;\n}\ntextarea.form-control {\n height: auto;\n}\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n input[type=\"date\"].form-control,\n input[type=\"time\"].form-control,\n input[type=\"datetime-local\"].form-control,\n input[type=\"month\"].form-control {\n line-height: 34px;\n }\n input[type=\"date\"].input-sm,\n input[type=\"time\"].input-sm,\n input[type=\"datetime-local\"].input-sm,\n input[type=\"month\"].input-sm,\n .input-group-sm input[type=\"date\"],\n .input-group-sm input[type=\"time\"],\n .input-group-sm input[type=\"datetime-local\"],\n .input-group-sm input[type=\"month\"] {\n line-height: 30px;\n }\n input[type=\"date\"].input-lg,\n input[type=\"time\"].input-lg,\n input[type=\"datetime-local\"].input-lg,\n input[type=\"month\"].input-lg,\n .input-group-lg input[type=\"date\"],\n .input-group-lg input[type=\"time\"],\n .input-group-lg input[type=\"datetime-local\"],\n .input-group-lg input[type=\"month\"] {\n line-height: 46px;\n }\n}\n.form-group {\n margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n cursor: not-allowed;\n}\n.radio label,\n.checkbox label {\n min-height: 20px;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: 400;\n cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n position: absolute;\n margin-top: 4px \\9;\n margin-left: -20px;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n position: relative;\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: 400;\n vertical-align: middle;\n cursor: pointer;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n cursor: not-allowed;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px;\n}\n.form-control-static {\n min-height: 34px;\n padding-top: 7px;\n padding-bottom: 7px;\n margin-bottom: 0;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n padding-right: 0;\n padding-left: 0;\n}\n.input-sm {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-sm {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n height: auto;\n}\n.form-group-sm .form-control {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.form-group-sm select.form-control {\n height: 30px;\n line-height: 30px;\n}\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n height: auto;\n}\n.form-group-sm .form-control-static {\n height: 30px;\n min-height: 32px;\n padding: 6px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.input-lg {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-lg {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n height: auto;\n}\n.form-group-lg .form-control {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.form-group-lg select.form-control {\n height: 46px;\n line-height: 46px;\n}\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n height: auto;\n}\n.form-group-lg .form-control-static {\n height: 46px;\n min-height: 38px;\n padding: 11px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.has-feedback {\n position: relative;\n}\n.has-feedback .form-control {\n padding-right: 42.5px;\n}\n.form-control-feedback {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n display: block;\n width: 34px;\n height: 34px;\n line-height: 34px;\n text-align: center;\n pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n width: 46px;\n height: 46px;\n line-height: 46px;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n width: 30px;\n height: 30px;\n line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n color: #3c763d;\n}\n.has-success .form-control {\n border-color: #3c763d;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-success .form-control:focus {\n border-color: #2b542c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #3c763d;\n}\n.has-success .form-control-feedback {\n color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n color: #8a6d3b;\n}\n.has-warning .form-control {\n border-color: #8a6d3b;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-warning .form-control:focus {\n border-color: #66512c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #8a6d3b;\n}\n.has-warning .form-control-feedback {\n color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n color: #a94442;\n}\n.has-error .form-control {\n border-color: #a94442;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-error .form-control:focus {\n border-color: #843534;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n color: #a94442;\n background-color: #f2dede;\n border-color: #a94442;\n}\n.has-error .form-control-feedback {\n color: #a94442;\n}\n.has-feedback label ~ .form-control-feedback {\n top: 25px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n top: 0;\n}\n.help-block {\n display: block;\n margin-top: 5px;\n margin-bottom: 10px;\n color: #737373;\n}\n@media (min-width: 768px) {\n .form-inline .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-static {\n display: inline-block;\n }\n .form-inline .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .form-inline .input-group .input-group-addon,\n .form-inline .input-group .input-group-btn,\n .form-inline .input-group .form-control {\n width: auto;\n }\n .form-inline .input-group > .form-control {\n width: 100%;\n }\n .form-inline .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio,\n .form-inline .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio label,\n .form-inline .checkbox label {\n padding-left: 0;\n }\n .form-inline .radio input[type=\"radio\"],\n .form-inline .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n padding-top: 7px;\n margin-top: 0;\n margin-bottom: 0;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n min-height: 27px;\n}\n.form-horizontal .form-group {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .control-label {\n padding-top: 7px;\n margin-bottom: 0;\n text-align: right;\n }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n right: 15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-lg .control-label {\n padding-top: 11px;\n font-size: 18px;\n }\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-sm .control-label {\n padding-top: 6px;\n font-size: 12px;\n }\n}\n.btn {\n display: inline-block;\n margin-bottom: 0;\n font-weight: normal;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n -ms-touch-action: manipulation;\n touch-action: manipulation;\n cursor: pointer;\n background-image: none;\n border: 1px solid transparent;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n border-radius: 4px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n color: #333;\n text-decoration: none;\n}\n.btn:active,\n.btn.active {\n background-image: none;\n outline: 0;\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n cursor: not-allowed;\n filter: alpha(opacity=65);\n opacity: 0.65;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n.btn-default {\n color: #333;\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default:focus,\n.btn-default.focus {\n color: #333;\n background-color: #e6e6e6;\n border-color: #8c8c8c;\n}\n.btn-default:hover {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n color: #333;\n background-color: #e6e6e6;\n background-image: none;\n border-color: #adadad;\n}\n.btn-default:active:hover,\n.btn-default.active:hover,\n.open > .dropdown-toggle.btn-default:hover,\n.btn-default:active:focus,\n.btn-default.active:focus,\n.open > .dropdown-toggle.btn-default:focus,\n.btn-default:active.focus,\n.btn-default.active.focus,\n.open > .dropdown-toggle.btn-default.focus {\n color: #333;\n background-color: #d4d4d4;\n border-color: #8c8c8c;\n}\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus {\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default .badge {\n color: #fff;\n background-color: #333;\n}\n.btn-primary {\n color: #fff;\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary:focus,\n.btn-primary.focus {\n color: #fff;\n background-color: #286090;\n border-color: #122b40;\n}\n.btn-primary:hover {\n color: #fff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n color: #fff;\n background-color: #286090;\n background-image: none;\n border-color: #204d74;\n}\n.btn-primary:active:hover,\n.btn-primary.active:hover,\n.open > .dropdown-toggle.btn-primary:hover,\n.btn-primary:active:focus,\n.btn-primary.active:focus,\n.open > .dropdown-toggle.btn-primary:focus,\n.btn-primary:active.focus,\n.btn-primary.active.focus,\n.open > .dropdown-toggle.btn-primary.focus {\n color: #fff;\n background-color: #204d74;\n border-color: #122b40;\n}\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus {\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.btn-success {\n color: #fff;\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success:focus,\n.btn-success.focus {\n color: #fff;\n background-color: #449d44;\n border-color: #255625;\n}\n.btn-success:hover {\n color: #fff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n color: #fff;\n background-color: #449d44;\n background-image: none;\n border-color: #398439;\n}\n.btn-success:active:hover,\n.btn-success.active:hover,\n.open > .dropdown-toggle.btn-success:hover,\n.btn-success:active:focus,\n.btn-success.active:focus,\n.open > .dropdown-toggle.btn-success:focus,\n.btn-success:active.focus,\n.btn-success.active.focus,\n.open > .dropdown-toggle.btn-success.focus {\n color: #fff;\n background-color: #398439;\n border-color: #255625;\n}\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus {\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success .badge {\n color: #5cb85c;\n background-color: #fff;\n}\n.btn-info {\n color: #fff;\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info:focus,\n.btn-info.focus {\n color: #fff;\n background-color: #31b0d5;\n border-color: #1b6d85;\n}\n.btn-info:hover {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n color: #fff;\n background-color: #31b0d5;\n background-image: none;\n border-color: #269abc;\n}\n.btn-info:active:hover,\n.btn-info.active:hover,\n.open > .dropdown-toggle.btn-info:hover,\n.btn-info:active:focus,\n.btn-info.active:focus,\n.open > .dropdown-toggle.btn-info:focus,\n.btn-info:active.focus,\n.btn-info.active.focus,\n.open > .dropdown-toggle.btn-info.focus {\n color: #fff;\n background-color: #269abc;\n border-color: #1b6d85;\n}\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus {\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info .badge {\n color: #5bc0de;\n background-color: #fff;\n}\n.btn-warning {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning:focus,\n.btn-warning.focus {\n color: #fff;\n background-color: #ec971f;\n border-color: #985f0d;\n}\n.btn-warning:hover {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n color: #fff;\n background-color: #ec971f;\n background-image: none;\n border-color: #d58512;\n}\n.btn-warning:active:hover,\n.btn-warning.active:hover,\n.open > .dropdown-toggle.btn-warning:hover,\n.btn-warning:active:focus,\n.btn-warning.active:focus,\n.open > .dropdown-toggle.btn-warning:focus,\n.btn-warning:active.focus,\n.btn-warning.active.focus,\n.open > .dropdown-toggle.btn-warning.focus {\n color: #fff;\n background-color: #d58512;\n border-color: #985f0d;\n}\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus {\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning .badge {\n color: #f0ad4e;\n background-color: #fff;\n}\n.btn-danger {\n color: #fff;\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger:focus,\n.btn-danger.focus {\n color: #fff;\n background-color: #c9302c;\n border-color: #761c19;\n}\n.btn-danger:hover {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n color: #fff;\n background-color: #c9302c;\n background-image: none;\n border-color: #ac2925;\n}\n.btn-danger:active:hover,\n.btn-danger.active:hover,\n.open > .dropdown-toggle.btn-danger:hover,\n.btn-danger:active:focus,\n.btn-danger.active:focus,\n.open > .dropdown-toggle.btn-danger:focus,\n.btn-danger:active.focus,\n.btn-danger.active.focus,\n.open > .dropdown-toggle.btn-danger.focus {\n color: #fff;\n background-color: #ac2925;\n border-color: #761c19;\n}\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus {\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger .badge {\n color: #d9534f;\n background-color: #fff;\n}\n.btn-link {\n font-weight: 400;\n color: #337ab7;\n border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n background-color: transparent;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n color: #23527c;\n text-decoration: underline;\n background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n color: #777777;\n text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n padding: 1px 5px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-block {\n display: block;\n width: 100%;\n}\n.btn-block + .btn-block {\n margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n.fade {\n opacity: 0;\n -webkit-transition: opacity 0.15s linear;\n -o-transition: opacity 0.15s linear;\n transition: opacity 0.15s linear;\n}\n.fade.in {\n opacity: 1;\n}\n.collapse {\n display: none;\n}\n.collapse.in {\n display: block;\n}\ntr.collapse.in {\n display: table-row;\n}\ntbody.collapse.in {\n display: table-row-group;\n}\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n -webkit-transition-property: height, visibility;\n -o-transition-property: height, visibility;\n transition-property: height, visibility;\n -webkit-transition-duration: 0.35s;\n -o-transition-duration: 0.35s;\n transition-duration: 0.35s;\n -webkit-transition-timing-function: ease;\n -o-transition-timing-function: ease;\n transition-timing-function: ease;\n}\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: 4px dashed;\n border-top: 4px solid \\9;\n border-right: 4px solid transparent;\n border-left: 4px solid transparent;\n}\n.dropup,\n.dropdown {\n position: relative;\n}\n.dropdown-toggle:focus {\n outline: 0;\n}\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0;\n font-size: 14px;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n}\n.dropdown-menu.pull-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu .divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: 400;\n line-height: 1.42857143;\n color: #333333;\n white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n color: #262626;\n text-decoration: none;\n background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n color: #fff;\n text-decoration: none;\n background-color: #337ab7;\n outline: 0;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n color: #777777;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n text-decoration: none;\n cursor: not-allowed;\n background-color: transparent;\n background-image: none;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.open > .dropdown-menu {\n display: block;\n}\n.open > a {\n outline: 0;\n}\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: 12px;\n line-height: 1.42857143;\n color: #777777;\n white-space: nowrap;\n}\n.dropdown-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 990;\n}\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n content: \"\";\n border-top: 0;\n border-bottom: 4px dashed;\n border-bottom: 4px solid \\9;\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n}\n@media (min-width: 768px) {\n .navbar-right .dropdown-menu {\n right: 0;\n left: auto;\n }\n .navbar-right .dropdown-menu-left {\n right: auto;\n left: 0;\n }\n}\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n margin-left: -1px;\n}\n.btn-toolbar {\n margin-left: -5px;\n}\n.btn-toolbar .btn,\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n padding-right: 8px;\n padding-left: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-right: 12px;\n padding-left: 12px;\n}\n.btn-group.open .dropdown-toggle {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn .caret {\n margin-left: 0;\n}\n.btn-lg .caret {\n border-width: 5px 5px 0;\n border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n display: table-cell;\n float: none;\n width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n width: 100%;\n}\n.btn-group-justified > .btn-group .dropdown-menu {\n left: auto;\n}\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n.input-group {\n position: relative;\n display: table;\n border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n float: none;\n padding-right: 0;\n padding-left: 0;\n}\n.input-group .form-control {\n position: relative;\n z-index: 2;\n float: left;\n width: 100%;\n margin-bottom: 0;\n}\n.input-group .form-control:focus {\n z-index: 3;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle;\n}\n.input-group-addon {\n padding: 6px 12px;\n font-size: 14px;\n font-weight: 400;\n line-height: 1;\n color: #555555;\n text-align: center;\n background-color: #eeeeee;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\n.input-group-addon.input-sm {\n padding: 5px 10px;\n font-size: 12px;\n border-radius: 3px;\n}\n.input-group-addon.input-lg {\n padding: 10px 16px;\n font-size: 18px;\n border-radius: 6px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n.input-group-btn > .btn {\n position: relative;\n}\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n z-index: 2;\n margin-left: -1px;\n}\n.nav {\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n.nav > li {\n position: relative;\n display: block;\n}\n.nav > li > a {\n position: relative;\n display: block;\n padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.nav > li.disabled > a {\n color: #777777;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n color: #777777;\n text-decoration: none;\n cursor: not-allowed;\n background-color: transparent;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n background-color: #eeeeee;\n border-color: #337ab7;\n}\n.nav .nav-divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.nav > li > a > img {\n max-width: none;\n}\n.nav-tabs {\n border-bottom: 1px solid #ddd;\n}\n.nav-tabs > li {\n float: left;\n margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n margin-right: 2px;\n line-height: 1.42857143;\n border: 1px solid transparent;\n border-radius: 4px 4px 0 0;\n}\n.nav-tabs > li > a:hover {\n border-color: #eeeeee #eeeeee #ddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n color: #555555;\n cursor: default;\n background-color: #fff;\n border: 1px solid #ddd;\n border-bottom-color: transparent;\n}\n.nav-tabs.nav-justified {\n width: 100%;\n border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n float: none;\n}\n.nav-tabs.nav-justified > li > a {\n margin-bottom: 5px;\n text-align: center;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-tabs.nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs.nav-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs.nav-justified > .active > a,\n .nav-tabs.nav-justified > .active > a:hover,\n .nav-tabs.nav-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.nav-pills > li {\n float: left;\n}\n.nav-pills > li > a {\n border-radius: 4px;\n}\n.nav-pills > li + li {\n margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n color: #fff;\n background-color: #337ab7;\n}\n.nav-stacked > li {\n float: none;\n}\n.nav-stacked > li + li {\n margin-top: 2px;\n margin-left: 0;\n}\n.nav-justified {\n width: 100%;\n}\n.nav-justified > li {\n float: none;\n}\n.nav-justified > li > a {\n margin-bottom: 5px;\n text-align: center;\n}\n.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs-justified {\n border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs-justified > .active > a,\n .nav-tabs-justified > .active > a:hover,\n .nav-tabs-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.tab-content > .tab-pane {\n display: none;\n}\n.tab-content > .active {\n display: block;\n}\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.navbar {\n position: relative;\n min-height: 50px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n}\n@media (min-width: 768px) {\n .navbar {\n border-radius: 4px;\n }\n}\n@media (min-width: 768px) {\n .navbar-header {\n float: left;\n }\n}\n.navbar-collapse {\n padding-right: 15px;\n padding-left: 15px;\n overflow-x: visible;\n border-top: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n -webkit-overflow-scrolling: touch;\n}\n.navbar-collapse.in {\n overflow-y: auto;\n}\n@media (min-width: 768px) {\n .navbar-collapse {\n width: auto;\n border-top: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n .navbar-collapse.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0;\n overflow: visible !important;\n }\n .navbar-collapse.in {\n overflow-y: visible;\n }\n .navbar-fixed-top .navbar-collapse,\n .navbar-static-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n padding-right: 0;\n padding-left: 0;\n }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n max-height: 340px;\n}\n@media (max-device-width: 480px) and (orientation: landscape) {\n .navbar-fixed-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n max-height: 200px;\n }\n}\n@media (min-width: 768px) {\n .navbar-fixed-top,\n .navbar-fixed-bottom {\n border-radius: 0;\n }\n}\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0;\n border-width: 1px 0 0;\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .container > .navbar-header,\n .container-fluid > .navbar-header,\n .container > .navbar-collapse,\n .container-fluid > .navbar-collapse {\n margin-right: 0;\n margin-left: 0;\n }\n}\n.navbar-static-top {\n z-index: 1000;\n border-width: 0 0 1px;\n}\n@media (min-width: 768px) {\n .navbar-static-top {\n border-radius: 0;\n }\n}\n.navbar-brand {\n float: left;\n height: 50px;\n padding: 15px 15px;\n font-size: 18px;\n line-height: 20px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n text-decoration: none;\n}\n.navbar-brand > img {\n display: block;\n}\n@media (min-width: 768px) {\n .navbar > .container .navbar-brand,\n .navbar > .container-fluid .navbar-brand {\n margin-left: -15px;\n }\n}\n.navbar-toggle {\n position: relative;\n float: right;\n padding: 9px 10px;\n margin-right: 15px;\n margin-top: 8px;\n margin-bottom: 8px;\n background-color: transparent;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.navbar-toggle:focus {\n outline: 0;\n}\n.navbar-toggle .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n margin-top: 4px;\n}\n@media (min-width: 768px) {\n .navbar-toggle {\n display: none;\n }\n}\n.navbar-nav {\n margin: 7.5px -15px;\n}\n.navbar-nav > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: 20px;\n}\n@media (max-width: 767px) {\n .navbar-nav .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n .navbar-nav .open .dropdown-menu > li > a,\n .navbar-nav .open .dropdown-menu .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n .navbar-nav .open .dropdown-menu > li > a {\n line-height: 20px;\n }\n .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-nav .open .dropdown-menu > li > a:focus {\n background-image: none;\n }\n}\n@media (min-width: 768px) {\n .navbar-nav {\n float: left;\n margin: 0;\n }\n .navbar-nav > li {\n float: left;\n }\n .navbar-nav > li > a {\n padding-top: 15px;\n padding-bottom: 15px;\n }\n}\n.navbar-form {\n padding: 10px 15px;\n margin-right: -15px;\n margin-left: -15px;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n margin-top: 8px;\n margin-bottom: 8px;\n}\n@media (min-width: 768px) {\n .navbar-form .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .navbar-form .form-control-static {\n display: inline-block;\n }\n .navbar-form .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .navbar-form .input-group .input-group-addon,\n .navbar-form .input-group .input-group-btn,\n .navbar-form .input-group .form-control {\n width: auto;\n }\n .navbar-form .input-group > .form-control {\n width: 100%;\n }\n .navbar-form .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio,\n .navbar-form .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio label,\n .navbar-form .checkbox label {\n padding-left: 0;\n }\n .navbar-form .radio input[type=\"radio\"],\n .navbar-form .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .navbar-form .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n@media (max-width: 767px) {\n .navbar-form .form-group {\n margin-bottom: 5px;\n }\n .navbar-form .form-group:last-child {\n margin-bottom: 0;\n }\n}\n@media (min-width: 768px) {\n .navbar-form {\n width: auto;\n padding-top: 0;\n padding-bottom: 0;\n margin-right: 0;\n margin-left: 0;\n border: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n}\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.navbar-btn {\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.navbar-btn.btn-sm {\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.navbar-btn.btn-xs {\n margin-top: 14px;\n margin-bottom: 14px;\n}\n.navbar-text {\n margin-top: 15px;\n margin-bottom: 15px;\n}\n@media (min-width: 768px) {\n .navbar-text {\n float: left;\n margin-right: 15px;\n margin-left: 15px;\n }\n}\n@media (min-width: 768px) {\n .navbar-left {\n float: left !important;\n }\n .navbar-right {\n float: right !important;\n margin-right: -15px;\n }\n .navbar-right ~ .navbar-right {\n margin-right: 0;\n }\n}\n.navbar-default {\n background-color: #f8f8f8;\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n color: #777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n color: #5e5e5e;\n background-color: transparent;\n}\n.navbar-default .navbar-text {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n color: #333;\n background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n@media (max-width: 767px) {\n .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n color: #777;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #333;\n background-color: transparent;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n }\n}\n.navbar-default .navbar-toggle {\n border-color: #ddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n background-color: #ddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n background-color: #888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-link {\n color: #777;\n}\n.navbar-default .navbar-link:hover {\n color: #333;\n}\n.navbar-default .btn-link {\n color: #777;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n color: #333;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n color: #ccc;\n}\n.navbar-inverse {\n background-color: #222;\n border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n color: #fff;\n background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n color: #fff;\n background-color: #080808;\n}\n@media (max-width: 767px) {\n .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n border-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n color: #9d9d9d;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #fff;\n background-color: transparent;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n }\n}\n.navbar-inverse .navbar-toggle {\n border-color: #333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n background-color: #333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n background-color: #fff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n border-color: #101010;\n}\n.navbar-inverse .navbar-link {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-link:hover {\n color: #fff;\n}\n.navbar-inverse .btn-link {\n color: #9d9d9d;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n color: #fff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n color: #444;\n}\n.breadcrumb {\n padding: 8px 15px;\n margin-bottom: 20px;\n list-style: none;\n background-color: #f5f5f5;\n border-radius: 4px;\n}\n.breadcrumb > li {\n display: inline-block;\n}\n.breadcrumb > li + li:before {\n padding: 0 5px;\n color: #ccc;\n content: \"/\\00a0\";\n}\n.breadcrumb > .active {\n color: #777777;\n}\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: 20px 0;\n border-radius: 4px;\n}\n.pagination > li {\n display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n position: relative;\n float: left;\n padding: 6px 12px;\n margin-left: -1px;\n line-height: 1.42857143;\n color: #337ab7;\n text-decoration: none;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n z-index: 2;\n color: #23527c;\n background-color: #eeeeee;\n border-color: #ddd;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n margin-left: 0;\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n z-index: 3;\n color: #fff;\n cursor: default;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n color: #777777;\n cursor: not-allowed;\n background-color: #fff;\n border-color: #ddd;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n border-top-left-radius: 6px;\n border-bottom-left-radius: 6px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n border-top-right-radius: 6px;\n border-bottom-right-radius: 6px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n border-top-left-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n border-top-right-radius: 3px;\n border-bottom-right-radius: 3px;\n}\n.pager {\n padding-left: 0;\n margin: 20px 0;\n text-align: center;\n list-style: none;\n}\n.pager li {\n display: inline;\n}\n.pager li > a,\n.pager li > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.pager .next > a,\n.pager .next > span {\n float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n color: #777777;\n cursor: not-allowed;\n background-color: #fff;\n}\n.label {\n display: inline;\n padding: 0.2em 0.6em 0.3em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25em;\n}\na.label:hover,\na.label:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.label:empty {\n display: none;\n}\n.btn .label {\n position: relative;\n top: -1px;\n}\n.label-default {\n background-color: #777777;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n background-color: #5e5e5e;\n}\n.label-primary {\n background-color: #337ab7;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n background-color: #286090;\n}\n.label-success {\n background-color: #5cb85c;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n background-color: #449d44;\n}\n.label-info {\n background-color: #5bc0de;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n background-color: #31b0d5;\n}\n.label-warning {\n background-color: #f0ad4e;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n background-color: #ec971f;\n}\n.label-danger {\n background-color: #d9534f;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n background-color: #c9302c;\n}\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: 12px;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n background-color: #777777;\n border-radius: 10px;\n}\n.badge:empty {\n display: none;\n}\n.btn .badge {\n position: relative;\n top: -1px;\n}\n.btn-xs .badge,\n.btn-group-xs > .btn .badge {\n top: 0;\n padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.list-group-item > .badge {\n float: right;\n}\n.list-group-item > .badge + .badge {\n margin-right: 5px;\n}\n.nav-pills > li > a > .badge {\n margin-left: 3px;\n}\n.jumbotron {\n padding-top: 30px;\n padding-bottom: 30px;\n margin-bottom: 30px;\n color: inherit;\n background-color: #eeeeee;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n color: inherit;\n}\n.jumbotron p {\n margin-bottom: 15px;\n font-size: 21px;\n font-weight: 200;\n}\n.jumbotron > hr {\n border-top-color: #d5d5d5;\n}\n.container .jumbotron,\n.container-fluid .jumbotron {\n padding-right: 15px;\n padding-left: 15px;\n border-radius: 6px;\n}\n.jumbotron .container {\n max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n .jumbotron {\n padding-top: 48px;\n padding-bottom: 48px;\n }\n .container .jumbotron,\n .container-fluid .jumbotron {\n padding-right: 60px;\n padding-left: 60px;\n }\n .jumbotron h1,\n .jumbotron .h1 {\n font-size: 63px;\n }\n}\n.thumbnail {\n display: block;\n padding: 4px;\n margin-bottom: 20px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: border 0.2s ease-in-out;\n -o-transition: border 0.2s ease-in-out;\n transition: border 0.2s ease-in-out;\n}\n.thumbnail > img,\n.thumbnail a > img {\n margin-right: auto;\n margin-left: auto;\n}\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n border-color: #337ab7;\n}\n.thumbnail .caption {\n padding: 9px;\n color: #333333;\n}\n.alert {\n padding: 15px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.alert h4 {\n margin-top: 0;\n color: inherit;\n}\n.alert .alert-link {\n font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n margin-bottom: 0;\n}\n.alert > p + p {\n margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n}\n.alert-success {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.alert-success hr {\n border-top-color: #c9e2b3;\n}\n.alert-success .alert-link {\n color: #2b542c;\n}\n.alert-info {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.alert-info hr {\n border-top-color: #a6e1ec;\n}\n.alert-info .alert-link {\n color: #245269;\n}\n.alert-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.alert-warning hr {\n border-top-color: #f7e1b5;\n}\n.alert-warning .alert-link {\n color: #66512c;\n}\n.alert-danger {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.alert-danger hr {\n border-top-color: #e4b9c0;\n}\n.alert-danger .alert-link {\n color: #843534;\n}\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@-o-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n.progress {\n height: 20px;\n margin-bottom: 20px;\n overflow: hidden;\n background-color: #f5f5f5;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n.progress-bar {\n float: left;\n width: 0%;\n height: 100%;\n font-size: 12px;\n line-height: 20px;\n color: #fff;\n text-align: center;\n background-color: #337ab7;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n -webkit-transition: width 0.6s ease;\n -o-transition: width 0.6s ease;\n transition: width 0.6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n -webkit-background-size: 40px 40px;\n background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n -webkit-animation: progress-bar-stripes 2s linear infinite;\n -o-animation: progress-bar-stripes 2s linear infinite;\n animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n background-color: #5cb85c;\n}\n.progress-striped .progress-bar-success {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-info {\n background-color: #5bc0de;\n}\n.progress-striped .progress-bar-info {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-warning {\n background-color: #f0ad4e;\n}\n.progress-striped .progress-bar-warning {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-danger {\n background-color: #d9534f;\n}\n.progress-striped .progress-bar-danger {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.media {\n margin-top: 15px;\n}\n.media:first-child {\n margin-top: 0;\n}\n.media,\n.media-body {\n overflow: hidden;\n zoom: 1;\n}\n.media-body {\n width: 10000px;\n}\n.media-object {\n display: block;\n}\n.media-object.img-thumbnail {\n max-width: none;\n}\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n.media-middle {\n vertical-align: middle;\n}\n.media-bottom {\n vertical-align: bottom;\n}\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n.list-group {\n padding-left: 0;\n margin-bottom: 20px;\n}\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.list-group-item:first-child {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n}\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.list-group-item.disabled,\n.list-group-item.disabled:hover,\n.list-group-item.disabled:focus {\n color: #777777;\n cursor: not-allowed;\n background-color: #eeeeee;\n}\n.list-group-item.disabled .list-group-item-heading,\n.list-group-item.disabled:hover .list-group-item-heading,\n.list-group-item.disabled:focus .list-group-item-heading {\n color: inherit;\n}\n.list-group-item.disabled .list-group-item-text,\n.list-group-item.disabled:hover .list-group-item-text,\n.list-group-item.disabled:focus .list-group-item-text {\n color: #777777;\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n z-index: 2;\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active:hover .list-group-item-heading,\n.list-group-item.active:focus .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active:hover .list-group-item-heading > small,\n.list-group-item.active:focus .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small,\n.list-group-item.active:hover .list-group-item-heading > .small,\n.list-group-item.active:focus .list-group-item-heading > .small {\n color: inherit;\n}\n.list-group-item.active .list-group-item-text,\n.list-group-item.active:hover .list-group-item-text,\n.list-group-item.active:focus .list-group-item-text {\n color: #c7ddef;\n}\na.list-group-item,\nbutton.list-group-item {\n color: #555;\n}\na.list-group-item .list-group-item-heading,\nbutton.list-group-item .list-group-item-heading {\n color: #333;\n}\na.list-group-item:hover,\nbutton.list-group-item:hover,\na.list-group-item:focus,\nbutton.list-group-item:focus {\n color: #555;\n text-decoration: none;\n background-color: #f5f5f5;\n}\nbutton.list-group-item {\n width: 100%;\n text-align: left;\n}\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8;\n}\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #3c763d;\n}\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-success:hover,\nbutton.list-group-item-success:hover,\na.list-group-item-success:focus,\nbutton.list-group-item-success:focus {\n color: #3c763d;\n background-color: #d0e9c6;\n}\na.list-group-item-success.active,\nbutton.list-group-item-success.active,\na.list-group-item-success.active:hover,\nbutton.list-group-item-success.active:hover,\na.list-group-item-success.active:focus,\nbutton.list-group-item-success.active:focus {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d;\n}\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7;\n}\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #31708f;\n}\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-info:hover,\nbutton.list-group-item-info:hover,\na.list-group-item-info:focus,\nbutton.list-group-item-info:focus {\n color: #31708f;\n background-color: #c4e3f3;\n}\na.list-group-item-info.active,\nbutton.list-group-item-info.active,\na.list-group-item-info.active:hover,\nbutton.list-group-item-info.active:hover,\na.list-group-item-info.active:focus,\nbutton.list-group-item-info.active:focus {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f;\n}\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n}\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #8a6d3b;\n}\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-warning:hover,\nbutton.list-group-item-warning:hover,\na.list-group-item-warning:focus,\nbutton.list-group-item-warning:focus {\n color: #8a6d3b;\n background-color: #faf2cc;\n}\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\nbutton.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus,\nbutton.list-group-item-warning.active:focus {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b;\n}\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede;\n}\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #a94442;\n}\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-danger:hover,\nbutton.list-group-item-danger:hover,\na.list-group-item-danger:focus,\nbutton.list-group-item-danger:focus {\n color: #a94442;\n background-color: #ebcccc;\n}\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\nbutton.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus,\nbutton.list-group-item-danger.active:focus {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442;\n}\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n.panel {\n margin-bottom: 20px;\n background-color: #fff;\n border: 1px solid transparent;\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.panel-body {\n padding: 15px;\n}\n.panel-heading {\n padding: 10px 15px;\n border-bottom: 1px solid transparent;\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n color: inherit;\n}\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: 16px;\n color: inherit;\n}\n.panel-title > a,\n.panel-title > small,\n.panel-title > .small,\n.panel-title > small > a,\n.panel-title > .small > a {\n color: inherit;\n}\n.panel-footer {\n padding: 10px 15px;\n background-color: #f5f5f5;\n border-top: 1px solid #ddd;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n margin-bottom: 0;\n}\n.panel > .list-group .list-group-item,\n.panel > .panel-collapse > .list-group .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child,\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n border-top: 0;\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .list-group:last-child .list-group-item:last-child,\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n border-bottom: 0;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n border-top-width: 0;\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n margin-bottom: 0;\n}\n.panel > .table caption,\n.panel > .table-responsive > .table caption,\n.panel > .panel-collapse > .table caption {\n padding-right: 15px;\n padding-left: 15px;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n border-top-right-radius: 3px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n border-bottom-right-radius: 3px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n border-top: 1px solid #ddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n border-bottom: 0;\n}\n.panel > .table-responsive {\n margin-bottom: 0;\n border: 0;\n}\n.panel-group {\n margin-bottom: 20px;\n}\n.panel-group .panel {\n margin-bottom: 0;\n border-radius: 4px;\n}\n.panel-group .panel + .panel {\n margin-top: 5px;\n}\n.panel-group .panel-heading {\n border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse > .panel-body,\n.panel-group .panel-heading + .panel-collapse > .list-group {\n border-top: 1px solid #ddd;\n}\n.panel-group .panel-footer {\n border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n border-bottom: 1px solid #ddd;\n}\n.panel-default {\n border-color: #ddd;\n}\n.panel-default > .panel-heading {\n color: #333333;\n background-color: #f5f5f5;\n border-color: #ddd;\n}\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ddd;\n}\n.panel-default > .panel-heading .badge {\n color: #f5f5f5;\n background-color: #333333;\n}\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ddd;\n}\n.panel-primary {\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading {\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #337ab7;\n}\n.panel-primary > .panel-heading .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #337ab7;\n}\n.panel-success {\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #d6e9c6;\n}\n.panel-success > .panel-heading .badge {\n color: #dff0d8;\n background-color: #3c763d;\n}\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #d6e9c6;\n}\n.panel-info {\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #bce8f1;\n}\n.panel-info > .panel-heading .badge {\n color: #d9edf7;\n background-color: #31708f;\n}\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #bce8f1;\n}\n.panel-warning {\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #faebcc;\n}\n.panel-warning > .panel-heading .badge {\n color: #fcf8e3;\n background-color: #8a6d3b;\n}\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #faebcc;\n}\n.panel-danger {\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ebccd1;\n}\n.panel-danger > .panel-heading .badge {\n color: #f2dede;\n background-color: #a94442;\n}\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ebccd1;\n}\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border: 1px solid #e3e3e3;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.well blockquote {\n border-color: #ddd;\n border-color: rgba(0, 0, 0, 0.15);\n}\n.well-lg {\n padding: 24px;\n border-radius: 6px;\n}\n.well-sm {\n padding: 9px;\n border-radius: 3px;\n}\n.close {\n float: right;\n font-size: 21px;\n font-weight: bold;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n filter: alpha(opacity=20);\n opacity: 0.2;\n}\n.close:hover,\n.close:focus {\n color: #000;\n text-decoration: none;\n cursor: pointer;\n filter: alpha(opacity=50);\n opacity: 0.5;\n}\nbutton.close {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n.modal-open {\n overflow: hidden;\n}\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n -webkit-overflow-scrolling: touch;\n outline: 0;\n}\n.modal.fade .modal-dialog {\n -webkit-transform: translate(0, -25%);\n -ms-transform: translate(0, -25%);\n -o-transform: translate(0, -25%);\n transform: translate(0, -25%);\n -webkit-transition: -webkit-transform 0.3s ease-out;\n -o-transition: -o-transform 0.3s ease-out;\n transition: -webkit-transform 0.3s ease-out;\n transition: transform 0.3s ease-out;\n transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out, -o-transform 0.3s ease-out;\n}\n.modal.in .modal-dialog {\n -webkit-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n -o-transform: translate(0, 0);\n transform: translate(0, 0);\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n.modal-content {\n position: relative;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #999;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n outline: 0;\n}\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n.modal-backdrop.fade {\n filter: alpha(opacity=0);\n opacity: 0;\n}\n.modal-backdrop.in {\n filter: alpha(opacity=50);\n opacity: 0.5;\n}\n.modal-header {\n padding: 15px;\n border-bottom: 1px solid #e5e5e5;\n}\n.modal-header .close {\n margin-top: -2px;\n}\n.modal-title {\n margin: 0;\n line-height: 1.42857143;\n}\n.modal-body {\n position: relative;\n padding: 15px;\n}\n.modal-footer {\n padding: 15px;\n text-align: right;\n border-top: 1px solid #e5e5e5;\n}\n.modal-footer .btn + .btn {\n margin-bottom: 0;\n margin-left: 5px;\n}\n.modal-footer .btn-group .btn + .btn {\n margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n margin-left: 0;\n}\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n@media (min-width: 768px) {\n .modal-dialog {\n width: 600px;\n margin: 30px auto;\n }\n .modal-content {\n -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n }\n .modal-sm {\n width: 300px;\n }\n}\n@media (min-width: 992px) {\n .modal-lg {\n width: 900px;\n }\n}\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: 400;\n line-height: 1.42857143;\n line-break: auto;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n white-space: normal;\n font-size: 12px;\n filter: alpha(opacity=0);\n opacity: 0;\n}\n.tooltip.in {\n filter: alpha(opacity=90);\n opacity: 0.9;\n}\n.tooltip.top {\n padding: 5px 0;\n margin-top: -3px;\n}\n.tooltip.right {\n padding: 0 5px;\n margin-left: 3px;\n}\n.tooltip.bottom {\n padding: 5px 0;\n margin-top: 3px;\n}\n.tooltip.left {\n padding: 0 5px;\n margin-left: -3px;\n}\n.tooltip.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-left .tooltip-arrow {\n right: 5px;\n bottom: 0;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-right .tooltip-arrow {\n bottom: 0;\n left: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -5px;\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n}\n.tooltip.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -5px;\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n}\n.tooltip.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n top: 0;\n right: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n top: 0;\n left: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 4px;\n}\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: none;\n max-width: 276px;\n padding: 1px;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: 400;\n line-height: 1.42857143;\n line-break: auto;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n white-space: normal;\n font-size: 14px;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n}\n.popover.top {\n margin-top: -10px;\n}\n.popover.right {\n margin-left: 10px;\n}\n.popover.bottom {\n margin-top: 10px;\n}\n.popover.left {\n margin-left: -10px;\n}\n.popover > .arrow {\n border-width: 11px;\n}\n.popover > .arrow,\n.popover > .arrow:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.popover > .arrow:after {\n content: \"\";\n border-width: 10px;\n}\n.popover.top > .arrow {\n bottom: -11px;\n left: 50%;\n margin-left: -11px;\n border-top-color: #999999;\n border-top-color: rgba(0, 0, 0, 0.25);\n border-bottom-width: 0;\n}\n.popover.top > .arrow:after {\n bottom: 1px;\n margin-left: -10px;\n content: \" \";\n border-top-color: #fff;\n border-bottom-width: 0;\n}\n.popover.right > .arrow {\n top: 50%;\n left: -11px;\n margin-top: -11px;\n border-right-color: #999999;\n border-right-color: rgba(0, 0, 0, 0.25);\n border-left-width: 0;\n}\n.popover.right > .arrow:after {\n bottom: -10px;\n left: 1px;\n content: \" \";\n border-right-color: #fff;\n border-left-width: 0;\n}\n.popover.bottom > .arrow {\n top: -11px;\n left: 50%;\n margin-left: -11px;\n border-top-width: 0;\n border-bottom-color: #999999;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n.popover.bottom > .arrow:after {\n top: 1px;\n margin-left: -10px;\n content: \" \";\n border-top-width: 0;\n border-bottom-color: #fff;\n}\n.popover.left > .arrow {\n top: 50%;\n right: -11px;\n margin-top: -11px;\n border-right-width: 0;\n border-left-color: #999999;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n.popover.left > .arrow:after {\n right: 1px;\n bottom: -10px;\n content: \" \";\n border-right-width: 0;\n border-left-color: #fff;\n}\n.popover-title {\n padding: 8px 14px;\n margin: 0;\n font-size: 14px;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-radius: 5px 5px 0 0;\n}\n.popover-content {\n padding: 9px 14px;\n}\n.carousel {\n position: relative;\n}\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n.carousel-inner > .item {\n position: relative;\n display: none;\n -webkit-transition: 0.6s ease-in-out left;\n -o-transition: 0.6s ease-in-out left;\n transition: 0.6s ease-in-out left;\n}\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n line-height: 1;\n}\n@media all and (transform-3d), (-webkit-transform-3d) {\n .carousel-inner > .item {\n -webkit-transition: -webkit-transform 0.6s ease-in-out;\n -o-transition: -o-transform 0.6s ease-in-out;\n transition: -webkit-transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out, -o-transform 0.6s ease-in-out;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-perspective: 1000px;\n perspective: 1000px;\n }\n .carousel-inner > .item.next,\n .carousel-inner > .item.active.right {\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.prev,\n .carousel-inner > .item.active.left {\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.next.left,\n .carousel-inner > .item.prev.right,\n .carousel-inner > .item.active {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n left: 0;\n }\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n display: block;\n}\n.carousel-inner > .active {\n left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n}\n.carousel-inner > .next {\n left: 100%;\n}\n.carousel-inner > .prev {\n left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n left: 0;\n}\n.carousel-inner > .active.left {\n left: -100%;\n}\n.carousel-inner > .active.right {\n left: 100%;\n}\n.carousel-control {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 15%;\n font-size: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n background-color: rgba(0, 0, 0, 0);\n filter: alpha(opacity=50);\n opacity: 0.5;\n}\n.carousel-control.left {\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.0001)));\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n background-repeat: repeat-x;\n}\n.carousel-control.right {\n right: 0;\n left: auto;\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.0001)), to(rgba(0, 0, 0, 0.5)));\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n background-repeat: repeat-x;\n}\n.carousel-control:hover,\n.carousel-control:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n filter: alpha(opacity=90);\n opacity: 0.9;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n z-index: 5;\n display: inline-block;\n margin-top: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n width: 20px;\n height: 20px;\n font-family: serif;\n line-height: 1;\n}\n.carousel-control .icon-prev:before {\n content: \"\\2039\";\n}\n.carousel-control .icon-next:before {\n content: \"\\203a\";\n}\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n padding-left: 0;\n margin-left: -30%;\n text-align: center;\n list-style: none;\n}\n.carousel-indicators li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #000 \\9;\n background-color: rgba(0, 0, 0, 0);\n border: 1px solid #fff;\n border-radius: 10px;\n}\n.carousel-indicators .active {\n width: 12px;\n height: 12px;\n margin: 0;\n background-color: #fff;\n}\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n}\n.carousel-caption .btn {\n text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-prev,\n .carousel-control .icon-next {\n width: 30px;\n height: 30px;\n margin-top: -10px;\n font-size: 30px;\n }\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .icon-prev {\n margin-left: -10px;\n }\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-next {\n margin-right: -10px;\n }\n .carousel-caption {\n right: 20%;\n left: 20%;\n padding-bottom: 30px;\n }\n .carousel-indicators {\n bottom: 20px;\n }\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.pager:before,\n.pager:after,\n.panel-body:before,\n.panel-body:after,\n.modal-header:before,\n.modal-header:after,\n.modal-footer:before,\n.modal-footer:after {\n display: table;\n content: \" \";\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.pager:after,\n.panel-body:after,\n.modal-header:after,\n.modal-footer:after {\n clear: both;\n}\n.center-block {\n display: block;\n margin-right: auto;\n margin-left: auto;\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n.hidden {\n display: none !important;\n}\n.affix {\n position: fixed;\n}\n@-ms-viewport {\n width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n display: none !important;\n}\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n@media (max-width: 767px) {\n .visible-xs {\n display: block !important;\n }\n table.visible-xs {\n display: table !important;\n }\n tr.visible-xs {\n display: table-row !important;\n }\n th.visible-xs,\n td.visible-xs {\n display: table-cell !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-block {\n display: block !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline {\n display: inline !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm {\n display: block !important;\n }\n table.visible-sm {\n display: table !important;\n }\n tr.visible-sm {\n display: table-row !important;\n }\n th.visible-sm,\n td.visible-sm {\n display: table-cell !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-block {\n display: block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline {\n display: inline !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md {\n display: block !important;\n }\n table.visible-md {\n display: table !important;\n }\n tr.visible-md {\n display: table-row !important;\n }\n th.visible-md,\n td.visible-md {\n display: table-cell !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-block {\n display: block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline {\n display: inline !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg {\n display: block !important;\n }\n table.visible-lg {\n display: table !important;\n }\n tr.visible-lg {\n display: table-row !important;\n }\n th.visible-lg,\n td.visible-lg {\n display: table-cell !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-block {\n display: block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline {\n display: inline !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline-block {\n display: inline-block !important;\n }\n}\n@media (max-width: 767px) {\n .hidden-xs {\n display: none !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .hidden-sm {\n display: none !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .hidden-md {\n display: none !important;\n }\n}\n@media (min-width: 1200px) {\n .hidden-lg {\n display: none !important;\n }\n}\n.visible-print {\n display: none !important;\n}\n@media print {\n .visible-print {\n display: block !important;\n }\n table.visible-print {\n display: table !important;\n }\n tr.visible-print {\n display: table-row !important;\n }\n th.visible-print,\n td.visible-print {\n display: table-cell !important;\n }\n}\n.visible-print-block {\n display: none !important;\n}\n@media print {\n .visible-print-block {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n}\n@media print {\n .visible-print-inline {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n}\n@media print {\n .visible-print-inline-block {\n display: inline-block !important;\n }\n}\n@media print {\n .hidden-print {\n display: none !important;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */","/* Variables holding theme colors */\n:root {\n --background: #ffffff;\n --outerBackground: #eeeeee;\n --links: #0645ad;\n --bodyFont: #000000;\n --tooltip: #ffffff;\n --grayToWhite: #333333;\n --navbar: #f8f8f8;\n --navbarFont: #707070;\n --navbarFontHover: #000000;\n --alerts: #d9edf7;\n --completionButton: #f19711;\n --completionButtonHover: #ff9f19;\n --admonition: #fcf8e3;\n --admonitionBorder: #fbeed5;\n --codeButtons: #474949;\n --codeButtonsBorder: #474949;\n --dangerAlerts: #f2dede;\n --successAlerts: #dff0d8;\n --contentWidthRegular: 660px;\n --contentWidthWide: 1060px;\n --componentBgColor: #f0f8ff;\n --componentBorderColor: #000000;\n --questionBgColor: #e1efff;\n}\n\n/* @media (prefers-color-scheme: dark) {\n :root {\n --background: #2c2f33;\n --outerBackground: #23272a;\n --links: #7289da;\n --bodyFont: #99aab5;\n --tooltip: #000000;\n --grayToWhite: #ffffff;\n --navbar: #3d3d3d;\n --navbarFont: #ffffff;\n --navbarFontHover: #d6d6d6;\n --alerts: #714082;\n --completionButton: #650087;\n --completionButtonHover: #560073;\n --admonition: #3d3d3d;\n --admonitionBorder: #262626;\n --codeButtons: #7289da;\n --codeButtonsBorder: #ffffff;\n --dangerAlerts: #8c2626;\n --successAlerts: #217300;\n --componentBgColor: #07467d;\n --componentBorderColor: #939090;\n --questionBgColor: rgb(23, 85, 93);\n }\n}\n\nNeeded??? */\n[data-theme=\"dark\"] {\n --background: #2c2f33;\n --outerBackground: #23272a;\n --links: #7289da;\n --bodyFont: #99aab5;\n --tooltip: #000000;\n --grayToWhite: #ffffff;\n --navbar: #3d3d3d;\n --navbarFont: #ffffff;\n --navbarFontHover: #d6d6d6;\n --alerts: #714082;\n --completionButton: #650087;\n --completionButtonHover: #560073;\n --admonition: #3d3d3d;\n --admonitionBorder: #262626;\n --codeButtons: #7289da;\n --codeButtonsBorder: #ffffff;\n --dangerAlerts: #8c2626;\n --successAlerts: #217300;\n --componentBgColor: #07467d;\n --componentBorderColor: #939090;\n --questionBgColor: rgb(23, 85, 93);\n}\n\n/* for assignment navigation */\ndiv.assignment-nav {\n background-color: var(--componentBgColor);\n border-style: solid;\n border-color: var(--componentBorderColor);\n border-width: 1px;\n padding-bottom: 5px;\n padding-top: 5px;\n\n}\n\n/* custom modification of basic.css for color-contrast (AA compliant) */\ntd.linenos pre {\n color: #6b6b6b;\n}\n\n/* custom modification of prettify.css for color-contrast (AA compliant) */\n.str {\n color: #006b00;\n}\n\n/* custom modification of parsons.css for color-contrast (AA compliant) */\n.parsons .block {\n background-color: #fafafa;\n}\n\n/* custom modification of pygments.css for color-contrast (AA compliant) */\n.highlight .c1 {\n color: #376a7b;\n}\n\n.highlight .nn {\n color: #0f6c95;\n}\n\n.highlight .gp {\n color: #a14c08;\n}\n\n.highlight .si {\n color: #3c773d;\n}\n\n.highlight .nc {\n color: #0b719d;\n}\n\n/* `Search` functionality's result custom modification for color-contrast (AA compliant) */\nul.search li div.context {\n color: #6b6b6b;\n}\n\nspan.highlighted {\n color: #4d4d4d;\n}\n\n/* ActiveCode gutter custom modification for color-contrast (AA compliant) */\n\n.CodeMirror-linenumber {\n color: #6b6b6b;\n}\n\n.alert-warning {\n background-color: var(--admonition);\n border-color: var(--admonitionBorder);\n}\n\n/* Python code output custom modification for color-contrast (AA compliant) */\ndiv.ExecutionVisualizer table#pyCodeOutput .lineNo {\n color: #6b6b6b;\n}\n\n/* Runestone custom modifications */\n\nbody {\n counter-reset: rscomponent;\n padding-top: 60px;\n background-color: var(--outerBackground);\n}\n\nh5 {\n font-weight: bold;\n padding: 10px 0;\n}\n\n/* table-of-contents related styles for color-contrast (AA compliant) */\n#table-of-contents a {\n color: var(--links);\n}\n\n#table-of-contents a:hover {\n color: var(--links);\n text-decoration: underline;\n}\n\n#table-of-contents.section {\n font-size: 16px;\n}\n\n/* navbar-brand color contrast (AA compliant) */\n.navbar-default {\n background-color: var(--navbar);\n}\n\n.navbar-default .navbar-nav > li {\n color: var(--navbarFont);\n}\n\n.navbar-default .navbar-nav > li > a {\n color: var(--navbarFont);\n}\n\n.navbar-default .navbar-nav > li > a:hover {\n color: var(--navbarFontHover);\n}\n\n.navbar-default .navbar-brand {\n color: var(--navbarFont);\n}\n\n/* acknowledgement related styles for color-contrast (AA compliant) */\n.toctree-wrapper {\n font-size: 16px;\n}\n\n.toctree-wrapper a {\n color: var(--links);\n}\n\n.toctree-wrapper a:hover {\n color: var(--links);\n text-decoration: underline;\n}\n\n/* index and search related styles for color-contrast (AA compliant) */\n#index-and-search.section {\n font-size: 16px;\n}\n\n#index-and-search.section a {\n color: var(--links);\n}\n\n#index-and-search.section a:hover {\n color: var(--links);\n text-decoration: underline;\n}\n\n/* custom style for `a` tag for color-contrast (AA compliant) */\n\na {\n color: var(--links);\n}\n\n/* navbar and menu related styles */\n@media (max-width: 768px) {\n /* Remove top padding when top navbar goes collapsed in narrow viewports */\n body {\n padding-top: 0;\n }\n\n .navbar-fixed-top {\n position: static;\n }\n}\n\n@media (min-width: 768px) {\n /* when navbar is collapsed we don't want any vertical dividers taking up space */\n .navbar .divider-vertical {\n margin: 0 3px;\n border-left: 1px solid #f2f2f2;\n }\n\n .navbar-fixed-top .container {\n padding: 0;\n }\n}\n\ndiv.container {\n background-color: var(--background);\n}\n\n.container {\n padding-left: 10px;\n padding-right: 10px;\n}\n\n.runestone {\n clear: both;\n background-color: var(--componentBgColor);\n padding: 15px;\n border-style: solid;\n border-color: var(--componentBorderColor);\n border-radius: 10px;\n margin-bottom: 20px;\n margin-top: 20px;\n }\n\n/* Sets width of content \"column\" */\n#main-content section > *:not(section) {\n max-width: var(--contentWidthRegular);\n margin-left: auto;\n margin-right: auto;\n\n}\n\n/* Handle content in nested sections by allowing them to grow*/\n#main-content section > section,\n/* And then make sure a few items are wider by default */\n#main-content section > .runestone.ac_section,\n#main-content section > .runestone.codelens,\n#main-content section > .question,\n#main-content section > .runestone.parsons-container,\n#main-content section > .runestone.parsons-problems,\n#main-content section > .codelens,\n#main-content section > .timedAssessment,\n#main-content section > .jupyterlite_sphinx_iframe_container\n{\n max-width: var(--contentWidthWide);\n margin-left: auto;\n margin-right: auto;\n}\n\n/* Allow individual elements to request being larger */\n#main-content section > .full-width {\n max-width: var(--contentWidthWide);\n}\n\n.container section > img {\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n\n.container-fluid > .navbar-collapse,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container > .navbar-header {\n margin-left: 0;\n margin-right: 0;\n}\n\n.navbar > .container .navbar-brand {\n margin-left: 0;\n}\n\n.navbar > .container {\n background-color: var(--navbar);\n}\n\n.navbar-toggle {\n margin-right: 0px;\n}\n\n.footer > .container {\n background-color: var(--outerBackground);\n}\n\n.footer > .container p > a {\n color: var(--links);\n}\n\n.brand-logo {\n float: left;\n display: block;\n margin-top: 4px;\n}\n\n.brand-logo img {\n height: 40px;\n}\n\n.social-menu {\n width: 220px;\n padding: 10px 10px 15px 20px;\n}\n\n.fb-like {\n margin-top: 7px;\n}\n\n.fb_iframe_widget span,\n.fb_iframe_widget iframe {\n height: 20px !important;\n width: 82px !important;\n}\n\n.twitter-follow-button {\n margin-top: 10px;\n}\n\n.gittip {\n margin-top: 8px;\n}\n\n.gittip-button {\n margin-bottom: -6px;\n}\n\n.dropdown-menu > li > span,\n.dropdown-menu > li > div,\n.dropdown-menu > li > label {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: bold;\n line-height: 20px;\n color: var(--grayToWhite);\n white-space: nowrap;\n}\n\n.dropdown-menu > li > label:hover, .dropdown-menu > li > label:focus {\n color: #262626;\n text-decoration: none;\n background-color: #f5f5f5;\n}\n\n.dropdown-menu > li > a {\n color: var(--grayToWhite);\n}\n\n.loggedinuser {\n font-weight: bold;\n}\n\n/* end navbar and menu related styles */\n.CodeMirror {\n margin: 0 0 1em 0;\n background-color: var(--background);\n clear: both;\n}\n\n.ac_section .CodeMirror pre {\n -moz-border-radius: 0;\n -webkit-border-radius: 0;\n -o-border-radius: 0;\n border-radius: 0;\n border-width: 0;\n margin: 0;\n padding: 0;\n background: transparent;\n font-family: Menlo, Monaco, Consolas,\"Courier New\", monospace;\n font-size: inherit;\n padding: 0;\n margin: 0;\n white-space: pre;\n word-wrap: normal;\n}\n\nbutton.btn,\nbtn.btn-sm,\ninput[type=\"submit\"].btn.btn-sm,\ninput[type=\"button\"].btn.btn-sm {\n font-size: 1em;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n}\n\n/* Fix search menu button */\n.dropdown-menu .input-group .input-group-btn button.btn {\n font-size: 14px;\n}\n\n.btn {\n margin: 5px;\n}\n\n.btn.disabled {\n /* needed in Bootstrap 3 to allow tooltips on disabled buttons */\n pointer-events: auto;\n}\n\n.btn-default,\n.btn-default.disabled,\n.btn-default[disabled],\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover {\n color: #ffffff;\n background-color: var(--codeButtons);\n border-color: var(codeButtonsBorder);\n}\n\n.btn-default:hover,\n.btn-default:focus,\n.btn-default:active,\n.btn-default.active {\n background-color: #3a3c3c;\n border-color: #2e2f2f;\n color: #ffffff;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin-right: 5px;\n}\n\n.tooltip {\n z-index: 2000 !important;\n}\n\n.tooltip.in {\n opacity: 0.8;\n filter: alpha(opacity=80);\n}\n\nh2 {\n margin-top: 20px;\n}\n\n.alert form {\n margin-bottom: 0;\n}\n\n/* default bookstrap alert color is hard to read (low contrast). */\n.alert {\n color: var(--grayToWhite);\n padding: 10px;\n}\n\n.alert-info {\n background-color: var(--alerts);\n}\n\n.alert-danger {\n background-color: var(--dangerAlerts);\n}\n\n.alert-success {\n background-color: var(--successAlerts);\n}\n\n/* override the color styles applied by Skulpt to the unittest results divs */\n.unittest-results.alert-danger {\n background-color: var(--dangerAlerts) !important;\n}\n\n.unittest-results.alert-success {\n background-color: var(--successAlerts) !important;\n}\n\n.alert label {\n font-weight: normal;\n}\n\n.navbar_message {\n margin-top: 15px;\n font-weight: bold;\n}\n/*\nMissing brackets\n================\nThe default styling from Sphinx's ``basic.css`` doesn't style multiple references to the same reference with brackets. Here's the relevant snippet of CSS:\n\n.. code-block:: CSS\n :number-lines:\n\n a.brackets:before,\n span.brackets > a:before{\n content: \"[\";\n }\n\n a.brackets:after,\n span.brackets > a:after {\n content: \"]\";\n }\n\nThe HTML for a footnote reference is:\n\n.. code-block:: HTML\n :number-lines:\n\n 2\n\nThe HTML for a typical footnote is:\n\n.. code-block:: HTML\n :number-lines:\n\n
    \n
    \n \n 1\n \n
    \n
    Omitted this...
    \n
    \n\nThe HTML for a footnote referenced multiple times is:\n\n.. code-block:: HTML\n :number-lines:\n\n
    \n
    \n 1\n \n (1,2,3)\n \n
    \n
    Omitted this...
    \n
    \n\nHowever, there's no (current) CSS selector that will add a ``content`` to the multiply-referenced footnote without adding an additional ``content`` to the typical footnote: we want to select ``dt.label > span.brackets > text-only content`` or ``dt.label > span.brackets > :not(:has a)`` (see the unsupported `:has selector `_. So, I see no solution for this (outside JS).\n\n\nIncorrect color\n===============\nSecond, the Bootstrap theme (v3.4.1) contains the following CSS, from ``node_modules/bootstrap/dist/css/less/labels.less``:\n\n.. code-block:: CSS\n :number-lines:\n\n .label {\n display: inline;\n padding: .2em .6em .3em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n color: @label-color;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: .25em;\n\n ...more here omitted...\n }\n\nALL this therefore gets applied to footnotes, since they have the ``label`` class. Because the ``@label-color`` is white, this CSS makes the reference invisible against the default (light mode) white background. I like the rest of the styling changes (even though they differ from the standard Sphinx settings), so only the color is changed.\n*/\ndt.label > span.brackets:not(span.brackets > a),\ndt.label > span.fn-backref:not(span.fn-backref > a) {\n color: black;\n}\n\n/* These admonition styles styles are copied from the Bootstrap .alert classes.\n Most of the !important declarations are to override the Sphinx basic.css styles */\n.admonition {\n padding: 8px 35px 8px 14px !important;\n margin-bottom: 20px !important;\n margin-top: 20px !important;\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);\n background-color: var(--admonition);\n border: 1px solid #fbeed5;\n -webkit-border-radius: 4px;\n -moz-border-radius: 4px;\n border-radius: 4px;\n}\n\n/* .alert-danger */\n.admonition.caution {\n color: #a33f3e;\n background-color: #f2dede;\n border-color: #eed3d7;\n}\n\n/* .alert-info */\n.admonition.tip,\n.admonition.note {\n color: #333;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n\n/* from web2py.css */\ndiv.flash {\n font-weight: bold;\n position: fixed;\n padding: 10px;\n top: 55px;\n right: 45px;\n opacity: 0.95;\n margin: 0 0 10px 10px;\n vertical-align: middle;\n cursor: pointer;\n color: #ffffff;\n background-color: #000;\n border: 2px solid #fff;\n border-radius: 8px;\n -moz-border-radius: 8px;\n -webkit-border-radius: 8px;\n background-image: -webkit-linear-gradient(top, #222, #000);\n background-image: -o-linear-gradient(top, #222, #000);\n background-image: -moz-linear-gradient(90deg, #222, #000);\n background-image: linear-gradient(top, #222, #000);\n background-repeat: repeat-x;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n -webkit-font-smoothing: antialiased;\n z-index: 2000;\n}\n\n/* Styles for the login, registration, and Janrain forms */\n#web2py_user_form {\n margin-top: 10px;\n}\n\n#web2py_user_form form {\n float: left;\n margin-right: 150px;\n padding-top: 3px;\n}\n\n#web2py_user_form td {\n padding-bottom: 15px;\n}\n\n#web2py_user_form td.w2p_fw {\n width: 299px;\n}\n\n#auth-actions {\n margin-top: 50px;\n}\n\n#sign_in_text td {\n font-size: 17px;\n color: #333;\n font-family: \"lucida grande\", Verdana, sans-serif;\n padding-bottom: 13px;\n}\n\n#auth_user_remember {\n margin-top: -20px;\n}\n\n/* End login, registration, Janrain styles */\n\n/* end-of-chapter exercises styles */\n#exercises > ol > li,\n#programming-exercises > ol > li {\n margin-bottom: 30px;\n}\n\n#exercises > ol > li:nth-child(even),\n#programming-exercises > ol > li:nth-child(even) {\n padding: 1.2em 1.4em;\n background: #faf7df;\n border: 1px solid #fbeed5;\n -webkit-border-radius: 4px;\n -moz-border-radius: 4px;\n border-radius: 4px;\n}\n\n/* End chapter exercises styles */\n\n/* Modal dialog styles (scratch activecode, compare me, etc) */\n.scratch-ac-modal {\n width: 90%;\n max-height: 90%;\n overflow-y: scroll;\n}\n\n.compare-modal .progress {\n margin-bottom: 0;\n}\n\n.compare-me-progress {\n width: 100%;\n}\n\n.compare-me-progress .progress-bar,\n.unittest-results-progress .progress-bar {\n color: #333;\n}\n\n\n.unittest-results-progress {\n width: 25%;\n}\n\n.compare-modal {\n width: 350px;\n}\n\n.compare-modal table {\n border-collapse: separate;\n border-spacing: 10px 5px;\n}\n\n.codelens-modal {\n /* we set some custom position styles so that the modal doesn't obscure the codelens visualizer */\n top: 20%;\n right: 20%;\n left: auto;\n bottom: auto;\n}\n\n@media (max-width: 768px) {\n /* remove any custom position styles when the screen is small (mobile devices)\n to prevent the modal from being partially off the screen */\n .codelens-modal {\n top: 0 !important;\n right: 0 !important;\n bottom: 0 !important;\n left: 0 !important;\n }\n}\n\n.codelens-modal > .modal-dialog {\n width: 400px;\n}\n\n/* End modal dialog styles */\n\n.footnote.table {\n width: auto;\n margin-bottom: 10px;\n}\n\n.footnote.table td.label {\n padding: 2px 5px 2px 5px;\n background-color: #d9edf7;\n}\n\n.ac-canvas {\n background-color: white;\n display: inline-block;\n}\n\n.video-play-overlay {\n position: relative;\n top: -150px;\n left: 44%;\n height: 85px;\n width: 130px;\n background-position: center;\n background-repeat: no-repeat;\n}\n\n.video_popup video {\n width: var(--contentWidthRegular);\n cursor: pointer;\n}\n\n.ui-sortable-helper {\n height: auto !important;\n width: auto !important;\n}\n\n.navLink {\n z-index: 2;\n display: inline;\n bottom: 65px;\n position: fixed;\n opacity: 0.4;\n}\n\n.navLink:hover {\n opacity: 1;\n}\n\n.navLink a {\n display: inline-block;\n background-color: white;\n border-style: solid;\n border-color: lightgrey;\n border-width: 2px;\n width: 100px;\n height: 50px;\n}\n\n#relations-next {\n right: 35px;\n}\n\n#relations-prev {\n left: 35px;\n}\n\n.nextprev-list {\n margin: 10px;\n padding-left: 0;\n height: 50px;\n}\n\n@media (max-width: 600px) {\n .navLink {\n display: inline-block;\n bottom: auto;\n position: absolute;\n }\n\n #relations-next,\n #relations-prev {\n width: 25%;\n padding: 0 20px;\n display: inline;\n }\n}\n\n#completionButton {\n margin-top: 25px;\n margin-bottom: 15px;\n padding-left: 70px;\n padding-right: 70px;\n color: var(--completionButtonText);\n font-weight: bold;\n}\n\n.buttonAskCompletion {\n background-color: var(--completionButton);\n border-color: var(--completionButtonHover);\n font-weight: bold;\n}\n\n.buttonAskCompletion:hover {\n background-color: var(--completionButtonHover);\n border-color: var(--completionButtonHover);\n}\n\n.buttonConfirmCompletion {\n background-color: #377e22;\n border-color: #3dc682;\n color: #ffffff !important;\n}\n\n.buttonConfirmCompletion:hover {\n background-color: #3dc682;\n border-color: #3dc682;\n}\n\n.navLinkBg {\n height: 40px;\n background-color: #ffffff;\n z-index: 1;\n position: fixed;\n bottom: 55px;\n color: #999;\n font-weight: bold;\n -webkit-box-shadow: 0px 0px 3px rgba(50, 50, 50, 0.5);\n -moz-box-shadow: 0px 0px 3px rgba(50, 50, 50, 0.5);\n box-shadow: 0px 0px 3px rgba(50, 50, 50, 0.5);\n}\n\n.navLinkBg:hover {\n color: #999;\n}\n\n#navLinkBgRight {\n right: -1000px;\n padding: 10px 15px 0 65px;\n}\n\n#navLinkBgLeft {\n left: -65px;\n padding-left: 15px;\n padding-right: 50px;\n}\n\n.activehtml {\n width: 100%;\n height: 400px;\n background-color: #ffffff;\n}\n\n.container section > div.sidebar {\n margin: 0 0 0.5em 1em;\n}\n\na.disqus_thread_link {\n display: block;\n}\n\n.reveal_button {\n display: block;\n margin-left: 0;\n}\n\niframe[seamless] {\n display: block;\n}\n\n@media (min-width: 768px) {\n .container section > div.sidebar {\n margin: 0 3em 0.5em 1em;\n }\n}\n\n@media (min-width: 992px) {\n .container section > div.sidebar {\n margin: 0 11em 0.5em 1em;\n }\n}\n\n@media (min-width: 1200px) {\n .container section > div.sidebar {\n margin: 0 18em 0.5em 1em;\n }\n}\n\ndiv.ExecutionVisualizer table.visualizer {\n width: auto;\n margin-left: auto;\n margin-right: auto;\n background-color: #ffffff;\n}\n\n.sltooltip {\n position: absolute;\n z-index: 1020;\n display: block;\n padding-bottom: 5px;\n font-size: 11px;\n visibility: visible;\n margin-top: -2px;\n bottom: 120%;\n margin-left: -2em;\n}\n\n.sltooltip .sltooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n border-top: 5px solid #000000;\n border-right: 5px solid transparent;\n border-left: 5px solid transparent;\n position: absolute;\n width: 0;\n height: 0;\n}\n\n.sltooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: var(--tooltip);\n text-align: center;\n text-decoration: none;\n background-color: #000000;\n -webkit-border-radius: 4px;\n -moz-border-radius: 4px;\n border-radius: 4px;\n}\n\nul.dropdown-menu.globaltoc {\n max-height: 700px;\n overflow: auto;\n}\n\n.globaltoc span.caption-text {\n display: inline-block;\n font-weight: bold;\n font-size: large;\n}\n\n/* Style lp textareas. */\ntextarea.lp-result {\n width: 100%;\n height: 10em;\n font-family: monospace;\n}\n\n/*\n * Hide only visually, but have it available for screen readers:\n * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility\n *\n * 1. For long content, line feeds are not interpreted as spaces and small width\n * causes content to wrap 1 word per line:\n * https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe\n */\n\n.visuallyhidden {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n white-space: nowrap;\n /* 1 */\n}\n\n/*\n * Extends the .visuallyhidden class to allow the element\n * to be focusable when navigated to via the keyboard:\n * https://www.drupal.org/node/897638\n */\n\n.visuallyhidden.focusable:active,\n.visuallyhidden.focusable:focus {\n clip: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n position: static;\n width: auto;\n white-space: inherit;\n}\n\n.blockquote {\n text-align: center;\n font-size: large;\n font-style: italic;\n padding-left: 2em;\n padding-right: 2em;\n}\n\n\n#subchapterprogress.ui-progressbar .ui-progressbar-value {\n margin: 0;\n border-radius: 0px;\n}\n\n#subchapterprogress > div {\n background: green;\n}\n\n#subchapterprogress > div.loggedout {\n background: lightgray;\n}\n\n.runestone_caption {\n text-align: center;\n}\n\n.runestone_caption_divid {\n opacity: 50%;\n}\n\n#questions .runestone_caption:before {\n counter-increment: rscomponent;\n content: \"Problem: \" counter(rscomponent) \" -- \";\n}\n\nbody {\n color: var(--bodyFont);\n}\n\n.jupyter_container .output {\n margin-top: 10px;\n}\n\n.jupyter_container .output td {\n padding-left: 5px;\n padding-right: 5px;\n}\n\n.jupyter_container .output th {\n padding-left: 5px;\n padding-right: 5px;\n}\n\n/*Theme toggle*/\n.dropdown-menu > li > label.theme-switch {\n display: flex;\n align-items: center;\n font-weight: normal;\n cursor: pointer;\n}\n\n.theme-switch input {\n display: none;\n}\n\n.theme-switch .slider {\nbackground-color: #ccc;\nheight: 1.25em;\nwidth: 2em;\ntransition: 0.4s;\nposition: relative;\nmargin-right: 3px;\n}\n\n.theme-switch .slider:before {\n background-color: #fff;\n bottom: 2px;\n content: \"\";\n height: calc(1.25em - 4px);\n left: 2px;\n position: absolute;\n transition: 0.4s;\n width: calc(1.25em - 4px);\n}\n\n.theme-switch input:checked + .slider {\n background-color: #66bb6a;\n}\n\n.theme-switch input:checked + .slider:before {\n transform: translateX( calc(0.75em - 1px) );\n}\n\n.theme-switch .slider.round {\n border-radius: 1.25em;\n}\n\n.theme-switch .slider.round:before {\n border-radius: 1.25em;\n}\n/*End theme toggle*/\n\n/* for ads */\n.adcopy {\n width: 60%;\n background-color: #f2e0c3;\n padding: 10px;\n margin-left: auto;\n margin-right: auto;\n margin-top: 10px;\n border: solid black 2px;\n border-radius: 10px;\n}\n\n.adcopy .donateb {\n\n margin-left: 30%;\n}\n\n.isCorrect:before {\n /*content: url(https://em-content.zobj.net/thumbs/240/apple/325/check-mark_2714-fe0f.png);*/\n content: \"✅ \";\n float:right;\n padding-left: 4px;\n}\n\n.isInCorrect:before {\n /*content: url(https://em-content.zobj.net/thumbs/240/apple/325/check-mark_2714-fe0f.png);*/\n content: \"⚠️ \";\n float:right;\n padding-left: 4px;\n}\n\n/* ---------------------------------------------------------- */\n/* Redo some PreTeXt styles undone by Bootstrap */\npre {\n color: inherit;\n background: inherit;\n}\n\nsummary.ptx-footnote__number {\n display: inline;\n}\n\nsummary.knowl__link {\n display: list-item inline;\n}\n\ndetails.ptx-footnote {\n display: inline;\n}\n/* ---------------------------------------------------------- */\n\n.handsontable td, .handsontable th {\n background-color: var(--content-background, #fff);\n color: var(--bodyFont, #000);\n}\n\n\nlegend {\n /* allow darkmode to override legend color */\n color: var(--grayToWhite, #333);\n border-bottom-color: var(--grayToWhite, #333);\n}\n\n.autopermalink {\n display: none;\n}","/*\n**********************************************\n|docname| - a WCAG 2.0 AA compliant stylesheet\n**********************************************\n*/\n\n/* Variables holding theme colors */\n:root {\n\t--codebuttons: #474949;\n}\n[data-theme=\"dark\"] {\n\t--codebuttons: #2c0aa6;\n}\n/*Navigation Tabbing Styling*/\nli.dropdown.open a.dropdown-toggle, li.dropdown.open a.dropdown-toggle:focus {\n\tborder:0px !important;\n\t/*background-color: #346A6E!important;*/\n\tbackground-color: #2A5659 !important;\n\tcolor:#F8F8F8 !important;\n}\na.dropdown-toggle:focus {\n\t /*border:1px solid #5B9DD9 !important;\n\t color:#5B9DD9 !important;\n\t width:48px !important;*/\n\t background-color: #52A6AC!important;\n\t color:#F8F8F8 !important;\n}\n/* Border Manipulation */\nli.divider-vertical {\n\tmargin:0px !important;\n}\nli.dropdown a.dropdown-toggle {\n\tpadding:15px 18px !important;\n}\n\n/*\nBootstrap button styling\n*/\n\n/* Default Button */\n/* Passes WCAG 2.0 */\nbutton.btn.btn-default:active {\n\tcolor:#474949 !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-default:focus {\n\tcolor:#474949 !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-default{\n\tcolor:#FFFFFF !important;\n\tbackground-color: rgb(71, 73, 73) !important;\n}\nbutton.btn.btn-default.btn-sm.disabled:active {\n\tcolor:#474949 !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-default.btn-sm.disabled:focus {\n\tcolor:#474949 !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-default.btn-sm.disabled{\n\tcolor:#FFFFFF !important;\n\tbackground-color:#474949 !important;\n}\n/* Sucess Button */\n/* Failed WCAG 2.0, #255425 passes */\nbutton.btn.btn-success:active {\n\tcolor:#427e44 !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-success:focus {\n\tcolor:#427e44!important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-success {\n\tcolor:#FFFFFF !important;\n\tbackground-color:#427e44!important;\n}\n\n/*Primary Button*/\n/* fails WCAG 2.0, #265986 passes */\nbutton.btn.btn-primary:active {\n\tcolor:#3379b6!important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-primary:focus {\n\tcolor:#3379b6 !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-primary {\n\tcolor:#FFFFFF !important;\n\tbackground-color:#3379b6 !important;\n}\n\n\n/*Info Button */\n/* Fails, WCAG 2.0, #155569 passes*/\nbutton.btn.btn-info:active {\n\tcolor:#1a6a83!important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-info:focus {\n\tcolor:#1a6a83 !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-info{\n\tcolor:#FFFFFF !important;\n\tbackground-color:#1a6a83 !important;\n}\n\n/*Warning Button*/\n/*Fails WCAG 2.0, #794b0b*/\nbutton.btn.btn-warning:active {\n\tcolor:#945c0e !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-warning:focus {\n\tcolor:#945c0e !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-warning {\n\tcolor:#FFFFFF !important;\n\tbackground-color:#945c0e !important;\n}\n\n/*Danger Button */\n/*Fails, #a62924 passes*/\nbutton.btn.btn-danger:active {\n\tcolor:#d33a35 !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-danger:focus {\n\tcolor:#d33a35 !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-danger{\n\tcolor:#FFFFFF !important;\n\tbackground-color:#d33a35 !important;\n}\n\n/*Link Button*/\n/*Fails AAA, passes with #265986*/\nbutton.btn.btn-link:active {\n\tcolor:#FFFFFF!important;\n\tbackground-color:#1a6a83 !important;\n}\nbutton.btn.btn-link:focus {\n\tcolor:#FFFFFF !important;\n\tbackground-color:#1a6a83 !important;\n}\nbutton.btn.btn-link {\n\tcolor:#1a6a83 !important;\n\tbackground-color:#FFFFFF !important;\n}","/* Variables holding theme colors */\n:root {\n\t--menu: #FFFFFF;\n}\n\n[data-theme=\"dark\"] {\n\t--menu: #000000;\n}\n\n.my-highlighted-text{\n\tbackground-color:#FFFF99;\n}\n.social-highlighted-text{\n\tbackground-color:#FFCCCC;\n}\n.highlight-option-box{\n\tposition:absolute;\n\ttop:0px;\n\tleft:0px;\n}\n.highlight-option-box li{ \n\theight:24px;\n}\n#continue-reading{\n\tpadding-top:20px;\n\tdisplay: none;\n}\n#continue-reading a{\n\tfloat:right;\n\tmargin-right:20px;\n}\nli.completed\n{\nlist-style-image: url('completed.png');\n}\nli.active\n{\nlist-style-image: url('active.png');\n}\n.infoTextCompleted{\n\tmargin-left:10px;\n\tfont-size:0.9em;\n\tcolor:#3dc682;\n\tdisplay:none;\n\tfont-style:italic;\n\topacity: 0.7;\n}\n.infoTextActive{\n\tmargin-left:10px;\n\tfont-size:0.9em;\n\tcolor:#ff9f19;\n\tdisplay:none;\n\tfont-style:italic;\n\topacity: 0.7;\n}\n.dropdown-menu{\n\tbackground-clip: padding-box;\n background-color: var(--menu);\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 5px 5px 5px 5px;\n box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n display: none;\n list-style: none outside none;\n margin: 1px 0 0;\n min-width: 160px;\n padding: 4px 0;\n position: absolute;\n top: 100%;\n z-index: 1000;\n}\n.dropdown-menu ul {\n list-style: disc outside none;\n margin: 0 0 9px 25px;\n padding: 0;\n}\n\n.sidebar-highlights{\n background-color:#FFFF99;\n}\ndiv.documentwrapper {\n\tborder : 0 none;\n}\ndiv.bodywrapper {\n\tborder-right: 0 none;\n}\ndiv.sphinxsidebar {\n\tborder-left: 1px solid #CCCCCC;\n\tpadding-left: 10px;\n}\n.body>.section .section{\n\tpadding-top: 1px;\n}\n#jump-to-chapter{\n border: 1px solid #CCCCCC;\n letter-spacing: 0.015em;\n line-height: 120%;\n padding: 0.5em;\n\twidth: 80%;\n\tmargin-left: auto;\n\tmargin-right: auto;\n}\n#navigation-links{\n\tbackground-color: #F8F8F8;\n border: 1px solid #CCCCCC;\n\tpadding:10px;\n\tmargin:10px;\n}\n",".matrixeq_container {\n padding: 6px 6px 6px 6px;\n margin: 0px 0px 6px 0px;\n}\n\nspan.matrix_table {\n display: inline-table;\n background-color: inherit;\n border-width: 2px 2px;\n border-style: solid;\n border-color: black;\n text-align: center;\n padding: 0px 1px;\n margin: 0px 0px 4px 0px;\n overflow: visible;\n}\n\nspan.matrix_column {\n display: inline-table;\n background-color: inherit;\n padding: 2px 8px 2px 8px;\n margin: 0px 1px;\n border-width: 0px 0px 0px 0px;\n font-family: monospace;\n font-size: 12px;\n vertical-align: middle;\n}\n\nspan.matrix_column div {\n display: block;\n margin: 1px;\n padding: 2px;\n background-color: inherit;\n}\n\nspan.matrix_table .matrix_column {\n border-style: none;\n margin-left: 5px;\n margin-right: 5px;\n}\n\nspan.matrix_table:before {\n content: \" \";\n background-color: inherit;\n width: 85%;\n text-align: center;\n height: 2px;\n position: relative;\n top: -2px;\n z-index: 100;\n display: block;\n margin: 0px auto;\n}\n\nspan.matrix_table:after {\n content: \" \";\n background-color: inherit;\n width: 85%;\n text-align: center;\n height: 2px;\n position: relative;\n top: 2px;\n z-index: 100;\n display: block;\n margin: 0px auto;\n}\n\nspan.matrix_column:before {\n content: \" \";\n width: 85%;\n height: 2px;\n position: relative;\n top: -2px;\n z-index: 100;\n display: block;\n}\n\nspan.matrix_column:after {\n content: \" \";\n width: 85%;\n height: 2px;\n position: relative;\n top: 2px;\n z-index: 100;\n display: block;\n}\n\nspan.matrix_table span.matrix_column:before {\n height: 0px;\n}\n\nspan.matrix_table span.matrix_column:after {\n height: 0px;\n}\n\nspan.matrix_table input[type=\"text\"] {\n display: block;\n margin: 0;\n width: 50px;\n height: 24px;\n font-family: sans-serif;\n font-size: 12px;\n appearance: none;\n box-shadow: none;\n text-align: right;\n background-color: inherit;\n}\n\nspan.matrix_operator {\n display: inline-table;\n padding: 0px;\n margin: 0px 4px 0px 4px;\n font-family: monospace;\n font-size: 18px;\n vertical-align: middle;\n}\n\nspan.matrix_label {\n display: inline-table;\n padding: 0px 0px 0px 20px;\n margin: 0px 1px;\n font-family: sans-serif;\n font-size: 12px;\n vertical-align: middle;\n}\n\n/* Colors for matrix highlighting */\n\n.lightcyanColor {\n background-color: lightcyan;\n}\n\n.lightgreyColor {\n background-color: lightgrey;\n}\n\n.purpleColor {\n background-color: #DFB5E8;\n}\n\n.yellowColor {\n background-color: #FDFF9D;\n}\n\n\n\n","/********************* Colour reference chart****************\nelememt ********* property ********* colour ********\n\nwebgl_container background-color #fcf8e3\n\n*/\n\n/* Major sections */\n.webgl_container {\n background-color: #fcf8e3;\n box-sizing: border-box;\n width: 100%;\n display: block;\n margin-bottom: 1em;\n}\n\n.webgl_cmds {\n box-sizing: border-box;\n width: 100%;\n text-align: center;\n padding: 6px;\n}\n\n.webgl_row2 {\n box-sizing: border-box;\n width: 100%;\n padding: 0px 4px 0px 4px;\n display: block;\n height: 550px;\n}\n\n.webgl_editors {\n box-sizing: border-box;\n float: left;\n display: block;\n visibility: visible;\n width: 50%;\n}\n\n.webgl_canvas {\n box-sizing: border-box;\n float: left;\n display: block;\n visibility: visible;\n font-size: 12px;\n font-weight: normal;\n padding-left: 5px;\n width: 50%;\n}\n\n.webgl_output {\n box-sizing: border-box;\n width: 100%;\n padding: 4px;\n margin-top: 6px;\n float: left;\n}\n\n/* Details within each section */\n/* Tabbed titles, ul horizontal list */\n.webgl_nav_tabs {\n height: 31px;\n width: 100%;\n margin: 0px;\n padding: 6px 0px 0px 0px;\n background-color: #CFCCB8;\n border-color: #fbeed5;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n list-style-type: none;\n overflow: hidden;\n display: inline-flex;\n}\n\n.webgl_nav_tabs li {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n margin: 0px 0px 0px 4px;\n padding: 4px 1px 4px 4px;\n list-style-type: none;\n position: relative;\n float: left;\n background-color: #E6E2CC;\n font-size: 9pt;\n}\n\n.webgl_nav_tabs li > a {\n padding: 8px 8px 8px 8px;\n color: #555;\n text-decoration: none;\n}\n\n.webgl_nav_tabs > li > a:hover {\n border-color: #b4b19d;\n border-bottom-width: 0;\n}\n\n.webgl_nav_tabs li.active {\n background-color: #ffffff;\n list-style-type: none;\n list-style-image: none;\n}\n\n/* Webgl editors */\n.webgl_tab_content {\n width: 100%;\n position: absolute;\n clear: both;\n margin: 0px 0px 20px 0px;\n border: 0px;\n color: #c09853;\n background-color: #fcf8e3;\n z-index: 1;\n}\n\n.webgl_tab_content.active {\n z-index: 2;\n}\n\n.webgl_tab_content > * {\n margin-left: auto;\n margin-right: auto;\n /*\tposition:relative; */\n}\n\n.webgl_tab_content .clearfix {\n position: initial;\n}\n\n.webgl_tab_editor {\n width: 100%;\n position: absolute;\n clear: both;\n padding: 10px 4px 10px 4px;\n margin: 0px 0px 20px 0px;\n border: 0px;\n color: #c09853;\n background-color: #fcf8e3;\n}\n\n/* span that contains the tabbed text editors */\n.webgl_code {\n width: 100%;\n float: left;\n}\n\n.webgl_tab_contents_text {\n width: 100%;\n position: absolute;\n clear: both;\n padding: 10px 4px 10px 4px;\n margin: 0px 0px 20px 0px;\n border: 0px;\n color: #c09853;\n background-color: #fcf8e3;\n z-index: 1;\n}\n\n.webgl_errorMessages {\n color: red;\n}\n\n.webgl_warningMessages {\n color: rgb(170, 34, 164);\n}\n\n.webgl_infoMessages {\n color: rgb(24, 144, 64);\n}\n\n.webgl_output_div {\n width: 100%;\n margin: 2px;\n border: 1px solid lightgrey;\n padding-bottom: 4px;\n padding-top: 4px;\n padding-left: 4px;\n background-color: white;\n overflow: auto;\n height: 14em;\n font-size: 12px;\n font-weight: normal;\n}\n\n.webgl_editor_highlight {\n background-color: #EEEEEE; /* very light grey */\n}\n\n/* \nRemoved as these rules apply to entire browser window and not just webgl interactives\n::-webkit-scrollbar {\n -webkit-appearance: none;\n width: 7px;\n}\n::-webkit-scrollbar-thumb {\n border-radius: 4px;\n background-color: rgba(0,0,0,.5);\n -webkit-box-shadow: 0 0 1px rgba(255,255,255,.5);\n}\n*/\n\n.webgl_btn {\n display: inline-block;\n padding: 3px 6px;\n margin-bottom: 0;\n background-color: thistle;\n font-size: 12px;\n font-weight: normal;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n cursor: pointer;\n border: 1px solid transparent;\n border-radius: 4px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n -o-user-select: none;\n user-select: none;\n}\n\n.webgl_checkbox {\n}\n\n.webgl_tabbed_editor {\n width: 100%;\n resize: none;\n font-family: monospace, sans-serif;\n font-size: 9pt;\n font-style: normal;\n}\n\n.canvas3D {\n width: 100%;\n height: 100%;\n}\n\n.CodeMirror.webgl-default {\n border: 1px solid #eee;\n font-family: monospace, sans-serif;\n font-size: 8pt;\n font-style: normal;\n}\n\nbutton.btn.webgl-default {\n font-size: 8pt;\n}\n\n\n",".runestone-sphinx {\n @import (less) url(\"./presenter_mode.css\");\n}\n",".hidden{\n display: none;\n}\n\n.view-toggle{\n padding: 0.85em;\n}\n\n.presentation-mode section *{\n display: none;\n}\n\n.presentation-mode section .runestone, .presentation-mode section .runestone *{\n display: initial;\n}\n\n.present{\n height: 100vh;\n}\n\n.full-height{\n height: 100vh;\n}\n\n.bottom{\n position: absolute;\n bottom: 0;\n}\n\n#codeDisplayDiv{\n width: auto!important;\n}\n\ndiv.ExecutionVisualizer #dataViz{\n margin: 0;\n}\n\ndiv.ExecutionVisualizer div#stackHeader {\n text-align: center;\n}\n\n#stackFrame{\n display: block!important;\n}\n\n#stackHeapTable {\n width: 100%;\n}\n\n#stackHeapTable tr {\n justify-content: space-around;\n}\n\ndiv.ExecutionVisualizer td#stack_td, div.ExecutionVisualizer td#heap_td {\n flex: 1;\n}\n\n.presentation-title {\n display: none;\n}\n\n.present .presentation-title {\n display: block;\n}\n\ndiv.ExecutionVisualizer div#heap {\n float: none;\n padding-left: 0;\n}\n\n#stack_td tr {\n display: table-row;\n}\n\n#heap_td tr {\n display: table-row;\n}\n\n#codeDisplayDiv{\n margin: 0 auto;\n}\n\n/* bnm -- comment this out for now as it breaks codelens indentation and arrows\n.visualizer tr{\n display: flex;\n}\n*/\n\n#vizLayoutTd{\n flex: 1;\n}\n\n#vizLayoutTdFirst {\n flex: 2;\n}\n\n#vizLayoutTdSecond {\n flex: 1;\n}\n\n#vizLayoutTdThird {\n flex: 2;\n}\n\n#progOutputs {\n display: block!important;\n margin: 0 20px;\n width: 60%;\n}\n\n#pyStdout {\n width: 100%!important;\n}\n\ndiv.ExecutionVisualizer #pyStdout {\n margin-bottom: 1em;\n}\n\ndiv.ExecutionVisualizer table.visualizer {\n width: 100%;\n}\n\n.present #vizLayoutTdThird{\n text-align: left;\n}\n\n.ac-block{\n display: flex;\n margin-bottom: 1em;\n}\n\n.row-mode .ac-block{\n display: block;\n margin-bottom: 0;\n}\n\n.row-mode .ac_output, .row-mode .ac_code_div{\n float: none;\n display: block;\n width: auto;\n max-width: none;\n}\n\n.row-mode .ac_code_div{\n margin-bottom: 1em;\n}\n\n.ac_section>* {\n max-width: 100%;\n}\n\n.ac_output{\n display: block;\n max-width: 100%;\n}\n\n.ac_output pre {\n visibility: visible!important;\n min-height: 60px;\n}\n\n.CodeMirror{\n margin: 0;\n max-width: 100%;\n border-radius: 3px;\n min-height: 60px;\n}\n\n.container section > runestone:not(.ac_section){\n max-width:none;\n margin: 0;\n}\n\n.presentation-options {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n}\n\n.layout-btn {\n background-color: #FBEED5;\n border: 2px solid #DFD4BE;\n border-radius: 2px;\n padding: .25rem;\n display: flex;\n justify-content: center;\n align-items: center;\n margin: 0 .5rem;\n transition: all .2s ease;\n}\n\n.layout-btn.active-layout, .layout-btn:focus {\n border: 2px solid #979797;\n outline: none;\n}\n\n.sketchpad-container {\n min-width: 50%;\n min-height: 300px;\n padding: 0 15px;\n}\n\n.card-mode .sketchpad-container {\n width: 50%;\n margin: 0;\n display: inline-block;\n /*margin: 0 -15px;*/\n vertical-align: top;\n}\n\n.row-mode .error {\n margin: 20px 15px;\n}\n\n.card-mode .error {\n margin: 28px 0 0;\n width: 50%;\n display: inline-block;\n padding: 0 15px;\n vertical-align: top;\n margin-top: 28px;\n}\n\n.sketchpad {\n background: white;\n border: 2px solid grey;\n border-radius: 3px;\n width: 100%;\n min-height: 300px;\n display: block;\n}\n\n.btn-presenter {\n padding: .5rem 1rem;\n border-radius: 3px;\n font-weight: 500;\n margin: 1.5rem 0 1.5rem 1.5rem;\n}\n\n.btn-grey-outline {\n border: 2px solid grey;\n color: grey;\n background: white;\n}\n\n.btn-grey-solid {\n border: 2px solid grey;\n color: white;\n background: grey;\n}\n\nbody.present .ac_section>* {\n max-width: none;\n}\nbody.present iframe {\n width: 100%;\n}\n\nbody.present {\n /* font-size: 2.0em; */\n}\n\nbody.present #relations-prev, body.present #relations-next, body.present .navLinkBg {\n display: none;\n}\n\nbody.present .btn-presenter {\n position: absolute;\n}\nbody.present .btn-presenter.prev-exercise { left: 0px; }\nbody.present .btn-presenter.next-exercise { right: 0px; }\n\n/* .col-md-12 {\n width: 58.333333333333336%;\n}\n\n.card-mode .col-md-7 {\n width: 50%;\n} */\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/_static/prefix-runestone.677a75a9120449ff.css.map.gz b/_static/prefix-runestone.677a75a9120449ff.css.map.gz new file mode 100755 index 0000000..a71597e Binary files /dev/null and b/_static/prefix-runestone.677a75a9120449ff.css.map.gz differ diff --git a/_static/prefix-runestone.7e141ad8414abf4a.bundle.js.gz b/_static/prefix-runestone.7e141ad8414abf4a.bundle.js.gz deleted file mode 100644 index 82a612f..0000000 Binary files a/_static/prefix-runestone.7e141ad8414abf4a.bundle.js.gz and /dev/null differ diff --git a/_static/prefix-runestone.7e141ad8414abf4a.bundle.js.map b/_static/prefix-runestone.7e141ad8414abf4a.bundle.js.map deleted file mode 100644 index 61e9510..0000000 --- a/_static/prefix-runestone.7e141ad8414abf4a.bundle.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"prefix-runestone.7e141ad8414abf4a.bundle.js","mappings":"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","sources":["webpack://WebComponents/./runestone/common/project_template/_templates/plugin_layouts/sphinx_bootstrap/static/bootstrap-sphinx.js","webpack://WebComponents/./runestone/common/js/presenter_mode.js","webpack://WebComponents/./runestone/common/js/jquery_i18n/jquery.i18n.fallbacks.js","webpack://WebComponents/./runestone/common/js/jquery_i18n/jquery.i18n.language.js","webpack://WebComponents/./runestone/common/js/jquery_i18n/jquery.i18n.emitter.bidi.js","webpack://WebComponents/external var \"jQuery\"","webpack://WebComponents/./runestone/common/js/jquery_i18n/jquery.i18n.emitter.js","webpack://WebComponents/./runestone/common/js/jquery_i18n/jquery.i18n.parser.js","webpack://WebComponents/./runestone/common/js/jquery_i18n/jquery.i18n.messagestore.js","webpack://WebComponents/./runestone/common/js/jquery_i18n/jquery.i18n.js","webpack://WebComponents/./runestone/common/js/jquery.idle-timer.js","webpack://WebComponents/./runestone/common/js/user-highlights.js","webpack://WebComponents/./runestone/common/js/pretext.js","webpack://WebComponents/./runestone/splice/js/spliceWrapper.js","webpack://WebComponents/./webpack.index.js","webpack://WebComponents/./runestone/common/js/theme.js","webpack://WebComponents/./runestone/common/js/runestonebase.js","webpack://WebComponents/./runestone/common/js/bookfuncs.js","webpack://WebComponents/./runestone/common/js/renderComponent.js"],"sourcesContent":["(function ($) {\n /**\n * Patch TOC list.\n *\n * Will mutate the underlying span to have a correct ul for nav.\n *\n * @param $span: Span containing nested UL's to mutate.\n * @param minLevel: Starting level for nested lists. (1: global, 2: local).\n */\n var patchToc = function ($ul, minLevel) {\n var findA,\n patchTables,\n $localLi;\n\n // Find all a \"internal\" tags, traversing recursively.\n findA = function ($elem, level) {\n level = level || 0;\n var $items = $elem.find(\"> li > a.internal, > ul, > li > ul\");\n\n // Iterate everything in order.\n $items.each(function (index, item) {\n var $item = $(item),\n tag = item.tagName.toLowerCase(),\n $childrenLi = $item.children('li'),\n $parentLi = $($item.parent('li'), $item.parent().parent('li'));\n\n // Add dropdowns if more children and above minimum level.\n if (tag === 'ul' && level >= minLevel && $childrenLi.length > 0) {\n $parentLi\n .addClass('dropdown-submenu')\n .children('a').first().attr('tabindex', -1);\n\n $item.addClass('dropdown-menu');\n }\n\n findA($item, level + 1);\n });\n };\n\n findA($ul);\n };\n\n /**\n * Patch all tables to remove ``docutils`` class and add Bootstrap base\n * ``table`` class.\n */\n patchTables = function () {\n $(\"table.docutils\")\n .removeClass(\"docutils\")\n .addClass(\"table\")\n .attr(\"border\", 0);\n };\n\n$(function () {\n\n /*\n * Scroll the window to avoid the topnav bar\n * https://github.com/twitter/bootstrap/issues/1768\n */\n if ($(\"#navbar.navbar-fixed-top\").length > 0) {\n var navHeight = $(\"#navbar\").height(),\n shiftWindow = function() { scrollBy(0, -navHeight - 10); };\n\n if (location.hash) {\n shiftWindow();\n }\n\n window.addEventListener(\"hashchange\", shiftWindow);\n }\n\n // Add styling, structure to TOC's.\n $(\".dropdown-menu\").each(function () {\n $(this).find(\"ul\").each(function (index, item){\n var $item = $(item);\n $item.addClass('unstyled');\n });\n });\n\n // Global TOC.\n if ($(\"ul.globaltoc li\").length) {\n patchToc($(\"ul.globaltoc\"), 1);\n } else {\n // Remove Global TOC.\n $(\".globaltoc-container\").remove();\n }\n\n // Local TOC.\n patchToc($(\"ul.localtoc\"), 2);\n\n // Mutate sub-lists (for bs-2.3.0).\n $(\".dropdown-menu ul\").not(\".dropdown-menu\").each(function () {\n var $ul = $(this),\n $parent = $ul.parent(),\n tag = $parent[0].tagName.toLowerCase(),\n $kids = $ul.children().detach();\n\n // Replace list with items if submenu header.\n if (tag === \"ul\") {\n $ul.replaceWith($kids);\n } else if (tag === \"li\") {\n // Insert into previous list.\n $parent.after($kids);\n $ul.remove();\n }\n });\n\n // Add divider in page TOC.\n $localLi = $(\"ul.localtoc li\");\n if ($localLi.length > 2) {\n $localLi.first().after('
  • ');\n }\n\n // Enable dropdown.\n $('.dropdown-toggle').dropdown();\n\n // Patch tables.\n patchTables();\n\n // Add Note, Warning styles.\n $('div.note').addClass('alert').addClass('alert-info');\n $('div.warning').addClass('alert').addClass('alert-warning');\n\n // Inline code styles to Bootstrap style.\n $('tt.docutils.literal').not(\".xref\").each(function (i, e) {\n // ignore references\n if (!$(e).parent().hasClass(\"reference\")) {\n $(e).replaceWith(function () {\n return $(\"\").text($(this).text());\n });\n }});\n });\n}(window.jQuery));\n","var codeExercises;\nvar presenterCssLink;\nvar presentModeInitialized = false;\n\nfunction presentToggle() {\n if (!presentModeInitialized) {\n presentModeSetup();\n presentModeInitialized = true;\n }\n let bod = $(\"body\");\n let presentClass = \"present\";\n let fullHeightClass = \"full-height\";\n let bottomClass = \"bottom\";\n if (bod.hasClass(presentClass)) {\n $(\"section *\")\n .not(\n \"h1, .presentation-title, .btn-presenter, .runestone, .runestone *, section, .pre, code\"\n )\n .removeClass(\"hidden\"); //show everything\n $(\"#completionButton\").removeClass(\"hidden\");\n bod.removeClass(presentClass);\n $(\".\" + fullHeightClass).removeClass(fullHeightClass);\n $(\".\" + bottomClass).removeClass(bottomClass);\n localStorage.setItem(\"presentMode\", \"text\");\n codeExercises.removeClass(\"hidden\");\n presenterCssLink.disabled = true; // disable present_mode.css\n } else {\n $(\"section *\")\n .not(\n \"h1, .presentation-title, .btn-presenter, .runestone, .runestone *, section, .pre, code\"\n )\n .addClass(\"hidden\"); // hide extraneous stuff\n $(\"#completionButton\").addClass(\"hidden\");\n bod.addClass(presentClass);\n bod.addClass(fullHeightClass);\n $(\"html\").addClass(fullHeightClass);\n $(\"section .runestone\").addClass(fullHeightClass);\n $(\".ac-caption\").addClass(bottomClass);\n localStorage.setItem(\"presentMode\", presentClass);\n // presenter_mode.css is loaded by webpack\n //loadPresenterCss(); // present_mode.css should only apply when in presenter mode.\n activateExercise();\n }\n}\n\nfunction loadPresenterCss() {\n presenterCssLink = document.createElement(\"link\");\n presenterCssLink.type = \"text/css\";\n presenterCssLink.href = \"../_static/presenter_mode.less\";\n presenterCssLink.rel = \"stylesheet\";\n document.getElementsByTagName(\"head\")[0].appendChild(presenterCssLink);\n}\n\nfunction presentModeSetup() {\n // moved this out of configure\n let dataComponent = $(\"[data-childcomponent]\");\n\n // this still leaves some things semi-messed up when you exit presenter mode.\n // but instructors will probably just learn to refresh the page.\n dataComponent.addClass(\"runestone\");\n dataComponent.parent().closest(\"div\").not(\"section\").addClass(\"runestone\");\n dataComponent.parent().closest(\"div\").css(\"max-width\", \"none\");\n\n dataComponent.each(function (index) {\n let me = $(this);\n $(this)\n .find(\".ac_code_div, .ac_output\")\n .wrapAll(\"
    \");\n });\n\n codelensListener(500);\n $(\"section img\").wrap('
    ');\n codeExercises = $(\".runestone\").not(\".runestone .runestone\");\n // codeExercises.each(function(){\n $(\"h1\").before(\n \"
    \\\n \\\n \\\n
    \"\n );\n}\nfunction getActiveExercise() {\n return (active = codeExercises.filter(\".active\"));\n}\n\nfunction activateExercise(index) {\n if (typeof index == \"undefined\") {\n index = 0;\n }\n\n let active = getActiveExercise();\n\n if (codeExercises.length) {\n active.removeClass(\"active\");\n active = $(codeExercises[index]).addClass(\"active\");\n active.removeClass(\"hidden\");\n codeExercises.not(codeExercises.filter(\".active\")).addClass(\"hidden\");\n }\n}\n\nwindow.nextExercise = function() {\n let active = getActiveExercise();\n let nextIndex = codeExercises.index(active) + 1;\n if (nextIndex < codeExercises.length) {\n activateExercise(nextIndex);\n }\n}\n\nwindow.prevExercise = function() {\n let active = getActiveExercise();\n let prevIndex = codeExercises.index(active) - 1;\n if (prevIndex >= 0) {\n activateExercise(prevIndex);\n }\n}\n\nfunction configure() {\n let rightNav = $(\".navbar-right\");\n rightNav.prepend(\n \"\"\n );\n\n let modeSelect = $(\".mode-select\").change(presentToggle);\n}\n\nfunction codelensListener(duration) {\n // $(\".ExecutionVisualizer\").length ? configureCodelens() : setTimeout(codelensListener, duration);\n // configureCodelens();\n}\n\nfunction configureCodelens() {\n let acCodeTitle = document.createElement(\"h4\");\n acCodeTitle.textContent = \"Active Code Window\";\n let acCode = $(\".ac_code_div\");\n $(\".ac_code_div\").addClass(\"col-md-6\");\n acCode.prepend(acCodeTitle);\n\n acOutTitle = document.createElement(\"h4\");\n acOutTitle.textContent = \"Output Window\";\n let acOut = $(\".ac_output\").addClass(\"col-md-6\");\n $(\".ac_output\").prepend(acOutTitle);\n\n let sketchpadTitle = document.createElement(\"h4\");\n sketchpadTitle.textContent = \"Sketchpad\";\n let sketchpad = document.createElement(\"span\");\n $(sketchpad).addClass(\"sketchpad\");\n let sketchpadContainer = document.createElement(\"div\");\n $(sketchpadContainer).addClass(\"sketchpad-container\");\n sketchpadContainer.appendChild(sketchpadTitle);\n sketchpadContainer.appendChild(sketchpad);\n //$('.ac_output').append(sketchpadContainer);\n\n let visualizers = $(\".ExecutionVisualizer\");\n\n console.log(\"Econtainer: \", this.eContainer);\n\n $(\"[data-childcomponent]\").on(\"click\", \"button.row-mode\", function () {\n $(this).closest(\"[data-childcomponent]\").removeClass(\"card-mode\");\n $(this).closest(\"[data-childcomponent]\").addClass(\"row-mode\");\n $(this).next(\".card-mode\").removeClass(\"active-layout\");\n $(this).addClass(\"active-layout\");\n });\n\n $(\"[data-childcomponent]\").on(\"click\", \"button.card-mode\", function () {\n $(this).closest(\"[data-childcomponent]\").removeClass(\"row-mode\");\n $(this).closest(\"[data-childcomponent]\").addClass(\"card-mode\");\n $(this).prev(\".row-mode\").removeClass(\"active-layout\");\n $(this).addClass(\"active-layout\");\n });\n\n $(\"[data-childcomponent] .ac_section\").each(function () {\n $(this).prepend(\n '
    '\n );\n });\n\n visualizers.each(function (index) {\n let me = $(this);\n let col1 = me.find(\"#vizLayoutTdFirst\");\n let col2 = me.find(\"#vizLayoutTdSecond\");\n let dataVis = me.find(\"#dataViz\");\n let stackHeapTable = me.find(\"#stackHeapTable\");\n let output = me.find(\"#progOutputs\");\n output.css(\"display\", \"block\");\n me.parent().prepend(\n \"
    Example \" +\n (Number(index) + 1) +\n \"
    \"\n );\n });\n\n acCode.each(function () {\n let section = $(this).closest(\".ac-block\").parent();\n console.log(section, section.length);\n section.append(sketchpadContainer);\n });\n\n $(\"button.card-mode\").click();\n\n let modeSelect = $(\".mode-select\");\n let mode = localStorage.getItem(\"presentMode\");\n if (mode == \"present\") {\n modeSelect.val(\"present\");\n modeSelect.change();\n }\n}\n\n$(document).on(\"runestone:login-complete\", function () {\n // if user is instructor, enable presenter mode\n if (eBookConfig.isInstructor) {\n configure();\n }\n});\n","/*!\n * jQuery Internationalization library\n *\n * Copyright (C) 2012 Santhosh Thottingal\n *\n * jquery.i18n is dual licensed GPLv2 or later and MIT. You don't have to do anything special to\n * choose one license or the other and you don't have to notify anyone which license you are using.\n * You are free to use UniversalLanguageSelector in commercial projects as long as the copyright\n * header is left intact. See files GPL-LICENSE and MIT-LICENSE for details.\n *\n * @licence GNU General Public Licence 2.0 or later\n * @licence MIT License\n */\n( function ( $ ) {\n\t'use strict';\n\n\t$.i18n = $.i18n || {};\n\t$.extend( $.i18n.fallbacks, {\n\t\tab: [ 'ru' ],\n\t\tace: [ 'id' ],\n\t\taln: [ 'sq' ],\n\t\t// Not so standard - als is supposed to be Tosk Albanian,\n\t\t// but in Wikipedia it's used for a Germanic language.\n\t\tals: [ 'gsw', 'de' ],\n\t\tan: [ 'es' ],\n\t\tanp: [ 'hi' ],\n\t\tarn: [ 'es' ],\n\t\tarz: [ 'ar' ],\n\t\tav: [ 'ru' ],\n\t\tay: [ 'es' ],\n\t\tba: [ 'ru' ],\n\t\tbar: [ 'de' ],\n\t\t'bat-smg': [ 'sgs', 'lt' ],\n\t\tbcc: [ 'fa' ],\n\t\t'be-x-old': [ 'be-tarask' ],\n\t\tbh: [ 'bho' ],\n\t\tbjn: [ 'id' ],\n\t\tbm: [ 'fr' ],\n\t\tbpy: [ 'bn' ],\n\t\tbqi: [ 'fa' ],\n\t\tbug: [ 'id' ],\n\t\t'cbk-zam': [ 'es' ],\n\t\tce: [ 'ru' ],\n\t\tcrh: [ 'crh-latn' ],\n\t\t'crh-cyrl': [ 'ru' ],\n\t\tcsb: [ 'pl' ],\n\t\tcv: [ 'ru' ],\n\t\t'de-at': [ 'de' ],\n\t\t'de-ch': [ 'de' ],\n\t\t'de-formal': [ 'de' ],\n\t\tdsb: [ 'de' ],\n\t\tdtp: [ 'ms' ],\n\t\tegl: [ 'it' ],\n\t\teml: [ 'it' ],\n\t\tff: [ 'fr' ],\n\t\tfit: [ 'fi' ],\n\t\t'fiu-vro': [ 'vro', 'et' ],\n\t\tfrc: [ 'fr' ],\n\t\tfrp: [ 'fr' ],\n\t\tfrr: [ 'de' ],\n\t\tfur: [ 'it' ],\n\t\tgag: [ 'tr' ],\n\t\tgan: [ 'gan-hant', 'zh-hant', 'zh-hans' ],\n\t\t'gan-hans': [ 'zh-hans' ],\n\t\t'gan-hant': [ 'zh-hant', 'zh-hans' ],\n\t\tgl: [ 'pt' ],\n\t\tglk: [ 'fa' ],\n\t\tgn: [ 'es' ],\n\t\tgsw: [ 'de' ],\n\t\thif: [ 'hif-latn' ],\n\t\thsb: [ 'de' ],\n\t\tht: [ 'fr' ],\n\t\tii: [ 'zh-cn', 'zh-hans' ],\n\t\tinh: [ 'ru' ],\n\t\tiu: [ 'ike-cans' ],\n\t\tjut: [ 'da' ],\n\t\tjv: [ 'id' ],\n\t\tkaa: [ 'kk-latn', 'kk-cyrl' ],\n\t\tkbd: [ 'kbd-cyrl' ],\n\t\tkhw: [ 'ur' ],\n\t\tkiu: [ 'tr' ],\n\t\tkk: [ 'kk-cyrl' ],\n\t\t'kk-arab': [ 'kk-cyrl' ],\n\t\t'kk-latn': [ 'kk-cyrl' ],\n\t\t'kk-cn': [ 'kk-arab', 'kk-cyrl' ],\n\t\t'kk-kz': [ 'kk-cyrl' ],\n\t\t'kk-tr': [ 'kk-latn', 'kk-cyrl' ],\n\t\tkl: [ 'da' ],\n\t\t'ko-kp': [ 'ko' ],\n\t\tkoi: [ 'ru' ],\n\t\tkrc: [ 'ru' ],\n\t\tks: [ 'ks-arab' ],\n\t\tksh: [ 'de' ],\n\t\tku: [ 'ku-latn' ],\n\t\t'ku-arab': [ 'ckb' ],\n\t\tkv: [ 'ru' ],\n\t\tlad: [ 'es' ],\n\t\tlb: [ 'de' ],\n\t\tlbe: [ 'ru' ],\n\t\tlez: [ 'ru' ],\n\t\tli: [ 'nl' ],\n\t\tlij: [ 'it' ],\n\t\tliv: [ 'et' ],\n\t\tlmo: [ 'it' ],\n\t\tln: [ 'fr' ],\n\t\tltg: [ 'lv' ],\n\t\tlzz: [ 'tr' ],\n\t\tmai: [ 'hi' ],\n\t\t'map-bms': [ 'jv', 'id' ],\n\t\tmg: [ 'fr' ],\n\t\tmhr: [ 'ru' ],\n\t\tmin: [ 'id' ],\n\t\tmo: [ 'ro' ],\n\t\tmrj: [ 'ru' ],\n\t\tmwl: [ 'pt' ],\n\t\tmyv: [ 'ru' ],\n\t\tmzn: [ 'fa' ],\n\t\tnah: [ 'es' ],\n\t\tnap: [ 'it' ],\n\t\tnds: [ 'de' ],\n\t\t'nds-nl': [ 'nl' ],\n\t\t'nl-informal': [ 'nl' ],\n\t\tno: [ 'nb' ],\n\t\tos: [ 'ru' ],\n\t\tpcd: [ 'fr' ],\n\t\tpdc: [ 'de' ],\n\t\tpdt: [ 'de' ],\n\t\tpfl: [ 'de' ],\n\t\tpms: [ 'it' ],\n\t\tpt: [ 'pt-br' ],\n\t\t'pt-br': [ 'pt' ],\n\t\tqu: [ 'es' ],\n\t\tqug: [ 'qu', 'es' ],\n\t\trgn: [ 'it' ],\n\t\trmy: [ 'ro' ],\n\t\t'roa-rup': [ 'rup' ],\n\t\true: [ 'uk', 'ru' ],\n\t\truq: [ 'ruq-latn', 'ro' ],\n\t\t'ruq-cyrl': [ 'mk' ],\n\t\t'ruq-latn': [ 'ro' ],\n\t\tsa: [ 'hi' ],\n\t\tsah: [ 'ru' ],\n\t\tscn: [ 'it' ],\n\t\tsg: [ 'fr' ],\n\t\tsgs: [ 'lt' ],\n\t\tsli: [ 'de' ],\n\t\tsr: [ 'sr-ec' ],\n\t\tsrn: [ 'nl' ],\n\t\tstq: [ 'de' ],\n\t\tsu: [ 'id' ],\n\t\tszl: [ 'pl' ],\n\t\ttcy: [ 'kn' ],\n\t\ttg: [ 'tg-cyrl' ],\n\t\ttt: [ 'tt-cyrl', 'ru' ],\n\t\t'tt-cyrl': [ 'ru' ],\n\t\tty: [ 'fr' ],\n\t\tudm: [ 'ru' ],\n\t\tug: [ 'ug-arab' ],\n\t\tuk: [ 'ru' ],\n\t\tvec: [ 'it' ],\n\t\tvep: [ 'et' ],\n\t\tvls: [ 'nl' ],\n\t\tvmf: [ 'de' ],\n\t\tvot: [ 'fi' ],\n\t\tvro: [ 'et' ],\n\t\twa: [ 'fr' ],\n\t\two: [ 'fr' ],\n\t\twuu: [ 'zh-hans' ],\n\t\txal: [ 'ru' ],\n\t\txmf: [ 'ka' ],\n\t\tyi: [ 'he' ],\n\t\tza: [ 'zh-hans' ],\n\t\tzea: [ 'nl' ],\n\t\tzh: [ 'zh-hans' ],\n\t\t'zh-classical': [ 'lzh' ],\n\t\t'zh-cn': [ 'zh-hans' ],\n\t\t'zh-hant': [ 'zh-hans' ],\n\t\t'zh-hk': [ 'zh-hant', 'zh-hans' ],\n\t\t'zh-min-nan': [ 'nan' ],\n\t\t'zh-mo': [ 'zh-hk', 'zh-hant', 'zh-hans' ],\n\t\t'zh-my': [ 'zh-sg', 'zh-hans' ],\n\t\t'zh-sg': [ 'zh-hans' ],\n\t\t'zh-tw': [ 'zh-hant', 'zh-hans' ],\n\t\t'zh-yue': [ 'yue' ]\n\t} );\n}( jQuery ) );\n","/* global pluralRuleParser */\n( function ( $ ) {\n\t'use strict';\n\n\t// jscs:disable\n\tvar language = {\n\t\t// CLDR plural rules generated using\n\t\t// libs/CLDRPluralRuleParser/tools/PluralXML2JSON.html\n\t\tpluralRules: {\n\t\t\tak: {\n\t\t\t\tone: 'n = 0..1'\n\t\t\t},\n\t\t\tam: {\n\t\t\t\tone: 'i = 0 or n = 1'\n\t\t\t},\n\t\t\tar: {\n\t\t\t\tzero: 'n = 0',\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2',\n\t\t\t\tfew: 'n % 100 = 3..10',\n\t\t\t\tmany: 'n % 100 = 11..99'\n\t\t\t},\n\t\t\tars: {\n\t\t\t\tzero: 'n = 0',\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2',\n\t\t\t\tfew: 'n % 100 = 3..10',\n\t\t\t\tmany: 'n % 100 = 11..99'\n\t\t\t},\n\t\t\tas: {\n\t\t\t\tone: 'i = 0 or n = 1'\n\t\t\t},\n\t\t\tbe: {\n\t\t\t\tone: 'n % 10 = 1 and n % 100 != 11',\n\t\t\t\tfew: 'n % 10 = 2..4 and n % 100 != 12..14',\n\t\t\t\tmany: 'n % 10 = 0 or n % 10 = 5..9 or n % 100 = 11..14'\n\t\t\t},\n\t\t\tbh: {\n\t\t\t\tone: 'n = 0..1'\n\t\t\t},\n\t\t\tbn: {\n\t\t\t\tone: 'i = 0 or n = 1'\n\t\t\t},\n\t\t\tbr: {\n\t\t\t\tone: 'n % 10 = 1 and n % 100 != 11,71,91',\n\t\t\t\ttwo: 'n % 10 = 2 and n % 100 != 12,72,92',\n\t\t\t\tfew: 'n % 10 = 3..4,9 and n % 100 != 10..19,70..79,90..99',\n\t\t\t\tmany: 'n != 0 and n % 1000000 = 0'\n\t\t\t},\n\t\t\tbs: {\n\t\t\t\tone: 'v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11',\n\t\t\t\tfew: 'v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14'\n\t\t\t},\n\t\t\tcs: {\n\t\t\t\tone: 'i = 1 and v = 0',\n\t\t\t\tfew: 'i = 2..4 and v = 0',\n\t\t\t\tmany: 'v != 0'\n\t\t\t},\n\t\t\tcy: {\n\t\t\t\tzero: 'n = 0',\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2',\n\t\t\t\tfew: 'n = 3',\n\t\t\t\tmany: 'n = 6'\n\t\t\t},\n\t\t\tda: {\n\t\t\t\tone: 'n = 1 or t != 0 and i = 0,1'\n\t\t\t},\n\t\t\tdsb: {\n\t\t\t\tone: 'v = 0 and i % 100 = 1 or f % 100 = 1',\n\t\t\t\ttwo: 'v = 0 and i % 100 = 2 or f % 100 = 2',\n\t\t\t\tfew: 'v = 0 and i % 100 = 3..4 or f % 100 = 3..4'\n\t\t\t},\n\t\t\tfa: {\n\t\t\t\tone: 'i = 0 or n = 1'\n\t\t\t},\n\t\t\tff: {\n\t\t\t\tone: 'i = 0,1'\n\t\t\t},\n\t\t\tfil: {\n\t\t\t\tone: 'v = 0 and i = 1,2,3 or v = 0 and i % 10 != 4,6,9 or v != 0 and f % 10 != 4,6,9'\n\t\t\t},\n\t\t\tfr: {\n\t\t\t\tone: 'i = 0,1'\n\t\t\t},\n\t\t\tga: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2',\n\t\t\t\tfew: 'n = 3..6',\n\t\t\t\tmany: 'n = 7..10'\n\t\t\t},\n\t\t\tgd: {\n\t\t\t\tone: 'n = 1,11',\n\t\t\t\ttwo: 'n = 2,12',\n\t\t\t\tfew: 'n = 3..10,13..19'\n\t\t\t},\n\t\t\tgu: {\n\t\t\t\tone: 'i = 0 or n = 1'\n\t\t\t},\n\t\t\tguw: {\n\t\t\t\tone: 'n = 0..1'\n\t\t\t},\n\t\t\tgv: {\n\t\t\t\tone: 'v = 0 and i % 10 = 1',\n\t\t\t\ttwo: 'v = 0 and i % 10 = 2',\n\t\t\t\tfew: 'v = 0 and i % 100 = 0,20,40,60,80',\n\t\t\t\tmany: 'v != 0'\n\t\t\t},\n\t\t\the: {\n\t\t\t\tone: 'i = 1 and v = 0',\n\t\t\t\ttwo: 'i = 2 and v = 0',\n\t\t\t\tmany: 'v = 0 and n != 0..10 and n % 10 = 0'\n\t\t\t},\n\t\t\thi: {\n\t\t\t\tone: 'i = 0 or n = 1'\n\t\t\t},\n\t\t\thr: {\n\t\t\t\tone: 'v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11',\n\t\t\t\tfew: 'v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14'\n\t\t\t},\n\t\t\thsb: {\n\t\t\t\tone: 'v = 0 and i % 100 = 1 or f % 100 = 1',\n\t\t\t\ttwo: 'v = 0 and i % 100 = 2 or f % 100 = 2',\n\t\t\t\tfew: 'v = 0 and i % 100 = 3..4 or f % 100 = 3..4'\n\t\t\t},\n\t\t\thy: {\n\t\t\t\tone: 'i = 0,1'\n\t\t\t},\n\t\t\tis: {\n\t\t\t\tone: 't = 0 and i % 10 = 1 and i % 100 != 11 or t != 0'\n\t\t\t},\n\t\t\tiu: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2'\n\t\t\t},\n\t\t\tiw: {\n\t\t\t\tone: 'i = 1 and v = 0',\n\t\t\t\ttwo: 'i = 2 and v = 0',\n\t\t\t\tmany: 'v = 0 and n != 0..10 and n % 10 = 0'\n\t\t\t},\n\t\t\tkab: {\n\t\t\t\tone: 'i = 0,1'\n\t\t\t},\n\t\t\tkn: {\n\t\t\t\tone: 'i = 0 or n = 1'\n\t\t\t},\n\t\t\tkw: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2'\n\t\t\t},\n\t\t\tlag: {\n\t\t\t\tzero: 'n = 0',\n\t\t\t\tone: 'i = 0,1 and n != 0'\n\t\t\t},\n\t\t\tln: {\n\t\t\t\tone: 'n = 0..1'\n\t\t\t},\n\t\t\tlt: {\n\t\t\t\tone: 'n % 10 = 1 and n % 100 != 11..19',\n\t\t\t\tfew: 'n % 10 = 2..9 and n % 100 != 11..19',\n\t\t\t\tmany: 'f != 0'\n\t\t\t},\n\t\t\tlv: {\n\t\t\t\tzero: 'n % 10 = 0 or n % 100 = 11..19 or v = 2 and f % 100 = 11..19',\n\t\t\t\tone: 'n % 10 = 1 and n % 100 != 11 or v = 2 and f % 10 = 1 and f % 100 != 11 or v != 2 and f % 10 = 1'\n\t\t\t},\n\t\t\tmg: {\n\t\t\t\tone: 'n = 0..1'\n\t\t\t},\n\t\t\tmk: {\n\t\t\t\tone: 'v = 0 and i % 10 = 1 or f % 10 = 1'\n\t\t\t},\n\t\t\tmo: {\n\t\t\t\tone: 'i = 1 and v = 0',\n\t\t\t\tfew: 'v != 0 or n = 0 or n != 1 and n % 100 = 1..19'\n\t\t\t},\n\t\t\tmr: {\n\t\t\t\tone: 'i = 0 or n = 1'\n\t\t\t},\n\t\t\tmt: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\tfew: 'n = 0 or n % 100 = 2..10',\n\t\t\t\tmany: 'n % 100 = 11..19'\n\t\t\t},\n\t\t\tnaq: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2'\n\t\t\t},\n\t\t\tnso: {\n\t\t\t\tone: 'n = 0..1'\n\t\t\t},\n\t\t\tpa: {\n\t\t\t\tone: 'n = 0..1'\n\t\t\t},\n\t\t\tpl: {\n\t\t\t\tone: 'i = 1 and v = 0',\n\t\t\t\tfew: 'v = 0 and i % 10 = 2..4 and i % 100 != 12..14',\n\t\t\t\tmany: 'v = 0 and i != 1 and i % 10 = 0..1 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100 = 12..14'\n\t\t\t},\n\t\t\tprg: {\n\t\t\t\tzero: 'n % 10 = 0 or n % 100 = 11..19 or v = 2 and f % 100 = 11..19',\n\t\t\t\tone: 'n % 10 = 1 and n % 100 != 11 or v = 2 and f % 10 = 1 and f % 100 != 11 or v != 2 and f % 10 = 1'\n\t\t\t},\n\t\t\tpt: {\n\t\t\t\tone: 'i = 0..1'\n\t\t\t},\n\t\t\tro: {\n\t\t\t\tone: 'i = 1 and v = 0',\n\t\t\t\tfew: 'v != 0 or n = 0 or n != 1 and n % 100 = 1..19'\n\t\t\t},\n\t\t\tru: {\n\t\t\t\tone: 'v = 0 and i % 10 = 1 and i % 100 != 11',\n\t\t\t\tfew: 'v = 0 and i % 10 = 2..4 and i % 100 != 12..14',\n\t\t\t\tmany: 'v = 0 and i % 10 = 0 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100 = 11..14'\n\t\t\t},\n\t\t\tse: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2'\n\t\t\t},\n\t\t\tsh: {\n\t\t\t\tone: 'v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11',\n\t\t\t\tfew: 'v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14'\n\t\t\t},\n\t\t\tshi: {\n\t\t\t\tone: 'i = 0 or n = 1',\n\t\t\t\tfew: 'n = 2..10'\n\t\t\t},\n\t\t\tsi: {\n\t\t\t\tone: 'n = 0,1 or i = 0 and f = 1'\n\t\t\t},\n\t\t\tsk: {\n\t\t\t\tone: 'i = 1 and v = 0',\n\t\t\t\tfew: 'i = 2..4 and v = 0',\n\t\t\t\tmany: 'v != 0'\n\t\t\t},\n\t\t\tsl: {\n\t\t\t\tone: 'v = 0 and i % 100 = 1',\n\t\t\t\ttwo: 'v = 0 and i % 100 = 2',\n\t\t\t\tfew: 'v = 0 and i % 100 = 3..4 or v != 0'\n\t\t\t},\n\t\t\tsma: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2'\n\t\t\t},\n\t\t\tsmi: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2'\n\t\t\t},\n\t\t\tsmj: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2'\n\t\t\t},\n\t\t\tsmn: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2'\n\t\t\t},\n\t\t\tsms: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2'\n\t\t\t},\n\t\t\tsr: {\n\t\t\t\tone: 'v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11',\n\t\t\t\tfew: 'v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14'\n\t\t\t},\n\t\t\tti: {\n\t\t\t\tone: 'n = 0..1'\n\t\t\t},\n\t\t\ttl: {\n\t\t\t\tone: 'v = 0 and i = 1,2,3 or v = 0 and i % 10 != 4,6,9 or v != 0 and f % 10 != 4,6,9'\n\t\t\t},\n\t\t\ttzm: {\n\t\t\t\tone: 'n = 0..1 or n = 11..99'\n\t\t\t},\n\t\t\tuk: {\n\t\t\t\tone: 'v = 0 and i % 10 = 1 and i % 100 != 11',\n\t\t\t\tfew: 'v = 0 and i % 10 = 2..4 and i % 100 != 12..14',\n\t\t\t\tmany: 'v = 0 and i % 10 = 0 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100 = 11..14'\n\t\t\t},\n\t\t\twa: {\n\t\t\t\tone: 'n = 0..1'\n\t\t\t},\n\t\t\tzu: {\n\t\t\t\tone: 'i = 0 or n = 1'\n\t\t\t}\n\t\t},\n\t\t// jscs:enable\n\n\t\t/**\n\t\t * Plural form transformations, needed for some languages.\n\t\t *\n\t\t * @param {integer} count\n\t\t * Non-localized quantifier\n\t\t * @param {Array} forms\n\t\t * List of plural forms\n\t\t * @return {string} Correct form for quantifier in this language\n\t\t */\n\t\tconvertPlural: function ( count, forms ) {\n\t\t\tvar pluralRules,\n\t\t\t\tpluralFormIndex,\n\t\t\t\tindex,\n\t\t\t\texplicitPluralPattern = new RegExp( '\\\\d+=', 'i' ),\n\t\t\t\tformCount,\n\t\t\t\tform;\n\n\t\t\tif ( !forms || forms.length === 0 ) {\n\t\t\t\treturn '';\n\t\t\t}\n\n\t\t\t// Handle for Explicit 0= & 1= values\n\t\t\tfor ( index = 0; index < forms.length; index++ ) {\n\t\t\t\tform = forms[ index ];\n\t\t\t\tif ( explicitPluralPattern.test( form ) ) {\n\t\t\t\t\tformCount = parseInt( form.slice( 0, form.indexOf( '=' ) ), 10 );\n\t\t\t\t\tif ( formCount === count ) {\n\t\t\t\t\t\treturn ( form.slice( form.indexOf( '=' ) + 1 ) );\n\t\t\t\t\t}\n\t\t\t\t\tforms[ index ] = undefined;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tforms = $.map( forms, function ( form ) {\n\t\t\t\tif ( form !== undefined ) {\n\t\t\t\t\treturn form;\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tpluralRules = this.pluralRules[ $.i18n().locale ];\n\n\t\t\tif ( !pluralRules ) {\n\t\t\t\t// default fallback.\n\t\t\t\treturn ( count === 1 ) ? forms[ 0 ] : forms[ 1 ];\n\t\t\t}\n\n\t\t\tpluralFormIndex = this.getPluralForm( count, pluralRules );\n\t\t\tpluralFormIndex = Math.min( pluralFormIndex, forms.length - 1 );\n\n\t\t\treturn forms[ pluralFormIndex ];\n\t\t},\n\n\t\t/**\n\t\t * For the number, get the plural for index\n\t\t *\n\t\t * @param {integer} number\n\t\t * @param {Object} pluralRules\n\t\t * @return {integer} plural form index\n\t\t */\n\t\tgetPluralForm: function ( number, pluralRules ) {\n\t\t\tvar i,\n\t\t\t\tpluralForms = [ 'zero', 'one', 'two', 'few', 'many', 'other' ],\n\t\t\t\tpluralFormIndex = 0;\n\n\t\t\tfor ( i = 0; i < pluralForms.length; i++ ) {\n\t\t\t\tif ( pluralRules[ pluralForms[ i ] ] ) {\n\t\t\t\t\tif ( pluralRuleParser( pluralRules[ pluralForms[ i ] ], number ) ) {\n\t\t\t\t\t\treturn pluralFormIndex;\n\t\t\t\t\t}\n\n\t\t\t\t\tpluralFormIndex++;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn pluralFormIndex;\n\t\t},\n\n\t\t/**\n\t\t * Converts a number using digitTransformTable.\n\t\t *\n\t\t * @param {number} num Value to be converted\n\t\t * @param {boolean} integer Convert the return value to an integer\n\t\t * @return {string} The number converted into a String.\n\t\t */\n\t\tconvertNumber: function ( num, integer ) {\n\t\t\tvar tmp, item, i,\n\t\t\t\ttransformTable, numberString, convertedNumber;\n\n\t\t\t// Set the target Transform table:\n\t\t\ttransformTable = this.digitTransformTable( $.i18n().locale );\n\t\t\tnumberString = String( num );\n\t\t\tconvertedNumber = '';\n\n\t\t\tif ( !transformTable ) {\n\t\t\t\treturn num;\n\t\t\t}\n\n\t\t\t// Check if the restore to Latin number flag is set:\n\t\t\tif ( integer ) {\n\t\t\t\tif ( parseFloat( num, 10 ) === num ) {\n\t\t\t\t\treturn num;\n\t\t\t\t}\n\n\t\t\t\ttmp = [];\n\n\t\t\t\tfor ( item in transformTable ) {\n\t\t\t\t\ttmp[ transformTable[ item ] ] = item;\n\t\t\t\t}\n\n\t\t\t\ttransformTable = tmp;\n\t\t\t}\n\n\t\t\tfor ( i = 0; i < numberString.length; i++ ) {\n\t\t\t\tif ( transformTable[ numberString[ i ] ] ) {\n\t\t\t\t\tconvertedNumber += transformTable[ numberString[ i ] ];\n\t\t\t\t} else {\n\t\t\t\t\tconvertedNumber += numberString[ i ];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn integer ? parseFloat( convertedNumber, 10 ) : convertedNumber;\n\t\t},\n\n\t\t/**\n\t\t * Grammatical transformations, needed for inflected languages.\n\t\t * Invoked by putting {{grammar:form|word}} in a message.\n\t\t * Override this method for languages that need special grammar rules\n\t\t * applied dynamically.\n\t\t *\n\t\t * @param {string} word\n\t\t * @param {string} form\n\t\t * @return {string}\n\t\t */\n\t\t// eslint-disable-next-line no-unused-vars\n\t\tconvertGrammar: function ( word, form ) {\n\t\t\treturn word;\n\t\t},\n\n\t\t/**\n\t\t * Provides an alternative text depending on specified gender. Usage\n\t\t * {{gender:[gender|user object]|masculine|feminine|neutral}}. If second\n\t\t * or third parameter are not specified, masculine is used.\n\t\t *\n\t\t * These details may be overriden per language.\n\t\t *\n\t\t * @param {string} gender\n\t\t * male, female, or anything else for neutral.\n\t\t * @param {Array} forms\n\t\t * List of gender forms\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tgender: function ( gender, forms ) {\n\t\t\tif ( !forms || forms.length === 0 ) {\n\t\t\t\treturn '';\n\t\t\t}\n\n\t\t\twhile ( forms.length < 2 ) {\n\t\t\t\tforms.push( forms[ forms.length - 1 ] );\n\t\t\t}\n\n\t\t\tif ( gender === 'male' ) {\n\t\t\t\treturn forms[ 0 ];\n\t\t\t}\n\n\t\t\tif ( gender === 'female' ) {\n\t\t\t\treturn forms[ 1 ];\n\t\t\t}\n\n\t\t\treturn ( forms.length === 3 ) ? forms[ 2 ] : forms[ 0 ];\n\t\t},\n\n\t\t/**\n\t\t * Get the digit transform table for the given language\n\t\t * See http://cldr.unicode.org/translation/numbering-systems\n\t\t *\n\t\t * @param {string} language\n\t\t * @return {Array|boolean} List of digits in the passed language or false\n\t\t * representation, or boolean false if there is no information.\n\t\t */\n\t\tdigitTransformTable: function ( language ) {\n\t\t\tvar tables = {\n\t\t\t\tar: '٠١٢٣٤٥٦٧٨٩',\n\t\t\t\tfa: '۰۱۲۳۴۵۶۷۸۹',\n\t\t\t\tml: '൦൧൨൩൪൫൬൭൮൯',\n\t\t\t\tkn: '೦೧೨೩೪೫೬೭೮೯',\n\t\t\t\tlo: '໐໑໒໓໔໕໖໗໘໙',\n\t\t\t\tor: '୦୧୨୩୪୫୬୭୮୯',\n\t\t\t\tkh: '០១២៣៤៥៦៧៨៩',\n\t\t\t\tpa: '੦੧੨੩੪੫੬੭੮੯',\n\t\t\t\tgu: '૦૧૨૩૪૫૬૭૮૯',\n\t\t\t\thi: '०१२३४५६७८९',\n\t\t\t\tmy: '၀၁၂၃၄၅၆၇၈၉',\n\t\t\t\tta: '௦௧௨௩௪௫௬௭௮௯',\n\t\t\t\tte: '౦౧౨౩౪౫౬౭౮౯',\n\t\t\t\tth: '๐๑๒๓๔๕๖๗๘๙', // FIXME use iso 639 codes\n\t\t\t\tbo: '༠༡༢༣༤༥༦༧༨༩' // FIXME use iso 639 codes\n\t\t\t};\n\n\t\t\tif ( !tables[ language ] ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn tables[ language ].split( '' );\n\t\t}\n\t};\n\n\t$.extend( $.i18n.languages, {\n\t\t'default': language\n\t} );\n}( jQuery ) );\n","/*!\n * BIDI embedding support for jQuery.i18n\n *\n * Copyright (C) 2015, David Chan\n *\n * This code is dual licensed GPLv2 or later and MIT. You don't have to do\n * anything special to choose one license or the other and you don't have to\n * notify anyone which license you are using. You are free to use this code\n * in commercial projects as long as the copyright header is left intact.\n * See files GPL-LICENSE and MIT-LICENSE for details.\n *\n * @licence GNU General Public Licence 2.0 or later\n * @licence MIT License\n */\n\n( function ( $ ) {\n\t'use strict';\n\tvar strongDirRegExp;\n\n\t/**\n\t * Matches the first strong directionality codepoint:\n\t * - in group 1 if it is LTR\n\t * - in group 2 if it is RTL\n\t * Does not match if there is no strong directionality codepoint.\n\t *\n\t * Generated by UnicodeJS (see tools/strongDir) from the UCD; see\n\t * https://phabricator.wikimedia.org/diffusion/GUJS/ .\n\t */\n\tstrongDirRegExp = new RegExp(\n\t\t'(?:' +\n\t\t\t'(' +\n\t\t\t\t'[\\u0041-\\u005a\\u0061-\\u007a\\u00aa\\u00b5\\u00ba\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u02b8\\u02bb-\\u02c1\\u02d0\\u02d1\\u02e0-\\u02e4\\u02ee\\u0370-\\u0373\\u0376\\u0377\\u037a-\\u037d\\u037f\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0482\\u048a-\\u052f\\u0531-\\u0556\\u0559-\\u055f\\u0561-\\u0587\\u0589\\u0903-\\u0939\\u093b\\u093d-\\u0940\\u0949-\\u094c\\u094e-\\u0950\\u0958-\\u0961\\u0964-\\u0980\\u0982\\u0983\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd-\\u09c0\\u09c7\\u09c8\\u09cb\\u09cc\\u09ce\\u09d7\\u09dc\\u09dd\\u09df-\\u09e1\\u09e6-\\u09f1\\u09f4-\\u09fa\\u0a03\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a3e-\\u0a40\\u0a59-\\u0a5c\\u0a5e\\u0a66-\\u0a6f\\u0a72-\\u0a74\\u0a83\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd-\\u0ac0\\u0ac9\\u0acb\\u0acc\\u0ad0\\u0ae0\\u0ae1\\u0ae6-\\u0af0\\u0af9\\u0b02\\u0b03\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b3e\\u0b40\\u0b47\\u0b48\\u0b4b\\u0b4c\\u0b57\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b66-\\u0b77\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bbe\\u0bbf\\u0bc1\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcc\\u0bd0\\u0bd7\\u0be6-\\u0bf2\\u0c01-\\u0c03\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c39\\u0c3d\\u0c41-\\u0c44\\u0c58-\\u0c5a\\u0c60\\u0c61\\u0c66-\\u0c6f\\u0c7f\\u0c82\\u0c83\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd-\\u0cc4\\u0cc6-\\u0cc8\\u0cca\\u0ccb\\u0cd5\\u0cd6\\u0cde\\u0ce0\\u0ce1\\u0ce6-\\u0cef\\u0cf1\\u0cf2\\u0d02\\u0d03\\u0d05-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d-\\u0d40\\u0d46-\\u0d48\\u0d4a-\\u0d4c\\u0d4e\\u0d57\\u0d5f-\\u0d61\\u0d66-\\u0d75\\u0d79-\\u0d7f\\u0d82\\u0d83\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0dcf-\\u0dd1\\u0dd8-\\u0ddf\\u0de6-\\u0def\\u0df2-\\u0df4\\u0e01-\\u0e30\\u0e32\\u0e33\\u0e40-\\u0e46\\u0e4f-\\u0e5b\\u0e81\\u0e82\\u0e84\\u0e87\\u0e88\\u0e8a\\u0e8d\\u0e94-\\u0e97\\u0e99-\\u0e9f\\u0ea1-\\u0ea3\\u0ea5\\u0ea7\\u0eaa\\u0eab\\u0ead-\\u0eb0\\u0eb2\\u0eb3\\u0ebd\\u0ec0-\\u0ec4\\u0ec6\\u0ed0-\\u0ed9\\u0edc-\\u0edf\\u0f00-\\u0f17\\u0f1a-\\u0f34\\u0f36\\u0f38\\u0f3e-\\u0f47\\u0f49-\\u0f6c\\u0f7f\\u0f85\\u0f88-\\u0f8c\\u0fbe-\\u0fc5\\u0fc7-\\u0fcc\\u0fce-\\u0fda\\u1000-\\u102c\\u1031\\u1038\\u103b\\u103c\\u103f-\\u1057\\u105a-\\u105d\\u1061-\\u1070\\u1075-\\u1081\\u1083\\u1084\\u1087-\\u108c\\u108e-\\u109c\\u109e-\\u10c5\\u10c7\\u10cd\\u10d0-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1360-\\u137c\\u1380-\\u138f\\u13a0-\\u13f5\\u13f8-\\u13fd\\u1401-\\u167f\\u1681-\\u169a\\u16a0-\\u16f8\\u1700-\\u170c\\u170e-\\u1711\\u1720-\\u1731\\u1735\\u1736\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1780-\\u17b3\\u17b6\\u17be-\\u17c5\\u17c7\\u17c8\\u17d4-\\u17da\\u17dc\\u17e0-\\u17e9\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191e\\u1923-\\u1926\\u1929-\\u192b\\u1930\\u1931\\u1933-\\u1938\\u1946-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19b0-\\u19c9\\u19d0-\\u19da\\u1a00-\\u1a16\\u1a19\\u1a1a\\u1a1e-\\u1a55\\u1a57\\u1a61\\u1a63\\u1a64\\u1a6d-\\u1a72\\u1a80-\\u1a89\\u1a90-\\u1a99\\u1aa0-\\u1aad\\u1b04-\\u1b33\\u1b35\\u1b3b\\u1b3d-\\u1b41\\u1b43-\\u1b4b\\u1b50-\\u1b6a\\u1b74-\\u1b7c\\u1b82-\\u1ba1\\u1ba6\\u1ba7\\u1baa\\u1bae-\\u1be5\\u1be7\\u1bea-\\u1bec\\u1bee\\u1bf2\\u1bf3\\u1bfc-\\u1c2b\\u1c34\\u1c35\\u1c3b-\\u1c49\\u1c4d-\\u1c7f\\u1cc0-\\u1cc7\\u1cd3\\u1ce1\\u1ce9-\\u1cec\\u1cee-\\u1cf3\\u1cf5\\u1cf6\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u200e\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2119-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u212d\\u212f-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u214f\\u2160-\\u2188\\u2336-\\u237a\\u2395\\u249c-\\u24e9\\u26ac\\u2800-\\u28ff\\u2c00-\\u2c2e\\u2c30-\\u2c5e\\u2c60-\\u2ce4\\u2ceb-\\u2cee\\u2cf2\\u2cf3\\u2d00-\\u2d25\\u2d27\\u2d2d\\u2d30-\\u2d67\\u2d6f\\u2d70\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u3005-\\u3007\\u3021-\\u3029\\u302e\\u302f\\u3031-\\u3035\\u3038-\\u303c\\u3041-\\u3096\\u309d-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312d\\u3131-\\u318e\\u3190-\\u31ba\\u31f0-\\u321c\\u3220-\\u324f\\u3260-\\u327b\\u327f-\\u32b0\\u32c0-\\u32cb\\u32d0-\\u32fe\\u3300-\\u3376\\u337b-\\u33dd\\u33e0-\\u33fe\\u3400-\\u4db5\\u4e00-\\u9fd5\\ua000-\\ua48c\\ua4d0-\\ua60c\\ua610-\\ua62b\\ua640-\\ua66e\\ua680-\\ua69d\\ua6a0-\\ua6ef\\ua6f2-\\ua6f7\\ua722-\\ua787\\ua789-\\ua7ad\\ua7b0-\\ua7b7\\ua7f7-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua824\\ua827\\ua830-\\ua837\\ua840-\\ua873\\ua880-\\ua8c3\\ua8ce-\\ua8d9\\ua8f2-\\ua8fd\\ua900-\\ua925\\ua92e-\\ua946\\ua952\\ua953\\ua95f-\\ua97c\\ua983-\\ua9b2\\ua9b4\\ua9b5\\ua9ba\\ua9bb\\ua9bd-\\ua9cd\\ua9cf-\\ua9d9\\ua9de-\\ua9e4\\ua9e6-\\ua9fe\\uaa00-\\uaa28\\uaa2f\\uaa30\\uaa33\\uaa34\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uaa4d\\uaa50-\\uaa59\\uaa5c-\\uaa7b\\uaa7d-\\uaaaf\\uaab1\\uaab5\\uaab6\\uaab9-\\uaabd\\uaac0\\uaac2\\uaadb-\\uaaeb\\uaaee-\\uaaf5\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uab30-\\uab65\\uab70-\\uabe4\\uabe6\\uabe7\\uabe9-\\uabec\\uabf0-\\uabf9\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\ue000-\\ufa6d\\ufa70-\\ufad9\\ufb00-\\ufb06\\ufb13-\\ufb17\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc]|\\ud800[\\udc00-\\udc0b]|\\ud800[\\udc0d-\\udc26]|\\ud800[\\udc28-\\udc3a]|\\ud800\\udc3c|\\ud800\\udc3d|\\ud800[\\udc3f-\\udc4d]|\\ud800[\\udc50-\\udc5d]|\\ud800[\\udc80-\\udcfa]|\\ud800\\udd00|\\ud800\\udd02|\\ud800[\\udd07-\\udd33]|\\ud800[\\udd37-\\udd3f]|\\ud800[\\uddd0-\\uddfc]|\\ud800[\\ude80-\\ude9c]|\\ud800[\\udea0-\\uded0]|\\ud800[\\udf00-\\udf23]|\\ud800[\\udf30-\\udf4a]|\\ud800[\\udf50-\\udf75]|\\ud800[\\udf80-\\udf9d]|\\ud800[\\udf9f-\\udfc3]|\\ud800[\\udfc8-\\udfd5]|\\ud801[\\udc00-\\udc9d]|\\ud801[\\udca0-\\udca9]|\\ud801[\\udd00-\\udd27]|\\ud801[\\udd30-\\udd63]|\\ud801\\udd6f|\\ud801[\\ude00-\\udf36]|\\ud801[\\udf40-\\udf55]|\\ud801[\\udf60-\\udf67]|\\ud804\\udc00|\\ud804[\\udc02-\\udc37]|\\ud804[\\udc47-\\udc4d]|\\ud804[\\udc66-\\udc6f]|\\ud804[\\udc82-\\udcb2]|\\ud804\\udcb7|\\ud804\\udcb8|\\ud804[\\udcbb-\\udcc1]|\\ud804[\\udcd0-\\udce8]|\\ud804[\\udcf0-\\udcf9]|\\ud804[\\udd03-\\udd26]|\\ud804\\udd2c|\\ud804[\\udd36-\\udd43]|\\ud804[\\udd50-\\udd72]|\\ud804[\\udd74-\\udd76]|\\ud804[\\udd82-\\uddb5]|\\ud804[\\uddbf-\\uddc9]|\\ud804\\uddcd|\\ud804[\\uddd0-\\udddf]|\\ud804[\\udde1-\\uddf4]|\\ud804[\\ude00-\\ude11]|\\ud804[\\ude13-\\ude2e]|\\ud804\\ude32|\\ud804\\ude33|\\ud804\\ude35|\\ud804[\\ude38-\\ude3d]|\\ud804[\\ude80-\\ude86]|\\ud804\\ude88|\\ud804[\\ude8a-\\ude8d]|\\ud804[\\ude8f-\\ude9d]|\\ud804[\\ude9f-\\udea9]|\\ud804[\\udeb0-\\udede]|\\ud804[\\udee0-\\udee2]|\\ud804[\\udef0-\\udef9]|\\ud804\\udf02|\\ud804\\udf03|\\ud804[\\udf05-\\udf0c]|\\ud804\\udf0f|\\ud804\\udf10|\\ud804[\\udf13-\\udf28]|\\ud804[\\udf2a-\\udf30]|\\ud804\\udf32|\\ud804\\udf33|\\ud804[\\udf35-\\udf39]|\\ud804[\\udf3d-\\udf3f]|\\ud804[\\udf41-\\udf44]|\\ud804\\udf47|\\ud804\\udf48|\\ud804[\\udf4b-\\udf4d]|\\ud804\\udf50|\\ud804\\udf57|\\ud804[\\udf5d-\\udf63]|\\ud805[\\udc80-\\udcb2]|\\ud805\\udcb9|\\ud805[\\udcbb-\\udcbe]|\\ud805\\udcc1|\\ud805[\\udcc4-\\udcc7]|\\ud805[\\udcd0-\\udcd9]|\\ud805[\\udd80-\\uddb1]|\\ud805[\\uddb8-\\uddbb]|\\ud805\\uddbe|\\ud805[\\uddc1-\\udddb]|\\ud805[\\ude00-\\ude32]|\\ud805\\ude3b|\\ud805\\ude3c|\\ud805\\ude3e|\\ud805[\\ude41-\\ude44]|\\ud805[\\ude50-\\ude59]|\\ud805[\\ude80-\\udeaa]|\\ud805\\udeac|\\ud805\\udeae|\\ud805\\udeaf|\\ud805\\udeb6|\\ud805[\\udec0-\\udec9]|\\ud805[\\udf00-\\udf19]|\\ud805\\udf20|\\ud805\\udf21|\\ud805\\udf26|\\ud805[\\udf30-\\udf3f]|\\ud806[\\udca0-\\udcf2]|\\ud806\\udcff|\\ud806[\\udec0-\\udef8]|\\ud808[\\udc00-\\udf99]|\\ud809[\\udc00-\\udc6e]|\\ud809[\\udc70-\\udc74]|\\ud809[\\udc80-\\udd43]|\\ud80c[\\udc00-\\udfff]|\\ud80d[\\udc00-\\udc2e]|\\ud811[\\udc00-\\ude46]|\\ud81a[\\udc00-\\ude38]|\\ud81a[\\ude40-\\ude5e]|\\ud81a[\\ude60-\\ude69]|\\ud81a\\ude6e|\\ud81a\\ude6f|\\ud81a[\\uded0-\\udeed]|\\ud81a\\udef5|\\ud81a[\\udf00-\\udf2f]|\\ud81a[\\udf37-\\udf45]|\\ud81a[\\udf50-\\udf59]|\\ud81a[\\udf5b-\\udf61]|\\ud81a[\\udf63-\\udf77]|\\ud81a[\\udf7d-\\udf8f]|\\ud81b[\\udf00-\\udf44]|\\ud81b[\\udf50-\\udf7e]|\\ud81b[\\udf93-\\udf9f]|\\ud82c\\udc00|\\ud82c\\udc01|\\ud82f[\\udc00-\\udc6a]|\\ud82f[\\udc70-\\udc7c]|\\ud82f[\\udc80-\\udc88]|\\ud82f[\\udc90-\\udc99]|\\ud82f\\udc9c|\\ud82f\\udc9f|\\ud834[\\udc00-\\udcf5]|\\ud834[\\udd00-\\udd26]|\\ud834[\\udd29-\\udd66]|\\ud834[\\udd6a-\\udd72]|\\ud834\\udd83|\\ud834\\udd84|\\ud834[\\udd8c-\\udda9]|\\ud834[\\uddae-\\udde8]|\\ud834[\\udf60-\\udf71]|\\ud835[\\udc00-\\udc54]|\\ud835[\\udc56-\\udc9c]|\\ud835\\udc9e|\\ud835\\udc9f|\\ud835\\udca2|\\ud835\\udca5|\\ud835\\udca6|\\ud835[\\udca9-\\udcac]|\\ud835[\\udcae-\\udcb9]|\\ud835\\udcbb|\\ud835[\\udcbd-\\udcc3]|\\ud835[\\udcc5-\\udd05]|\\ud835[\\udd07-\\udd0a]|\\ud835[\\udd0d-\\udd14]|\\ud835[\\udd16-\\udd1c]|\\ud835[\\udd1e-\\udd39]|\\ud835[\\udd3b-\\udd3e]|\\ud835[\\udd40-\\udd44]|\\ud835\\udd46|\\ud835[\\udd4a-\\udd50]|\\ud835[\\udd52-\\udea5]|\\ud835[\\udea8-\\udeda]|\\ud835[\\udedc-\\udf14]|\\ud835[\\udf16-\\udf4e]|\\ud835[\\udf50-\\udf88]|\\ud835[\\udf8a-\\udfc2]|\\ud835[\\udfc4-\\udfcb]|\\ud836[\\udc00-\\uddff]|\\ud836[\\ude37-\\ude3a]|\\ud836[\\ude6d-\\ude74]|\\ud836[\\ude76-\\ude83]|\\ud836[\\ude85-\\ude8b]|\\ud83c[\\udd10-\\udd2e]|\\ud83c[\\udd30-\\udd69]|\\ud83c[\\udd70-\\udd9a]|\\ud83c[\\udde6-\\ude02]|\\ud83c[\\ude10-\\ude3a]|\\ud83c[\\ude40-\\ude48]|\\ud83c\\ude50|\\ud83c\\ude51|[\\ud840-\\ud868][\\udc00-\\udfff]|\\ud869[\\udc00-\\uded6]|\\ud869[\\udf00-\\udfff]|[\\ud86a-\\ud86c][\\udc00-\\udfff]|\\ud86d[\\udc00-\\udf34]|\\ud86d[\\udf40-\\udfff]|\\ud86e[\\udc00-\\udc1d]|\\ud86e[\\udc20-\\udfff]|[\\ud86f-\\ud872][\\udc00-\\udfff]|\\ud873[\\udc00-\\udea1]|\\ud87e[\\udc00-\\ude1d]|[\\udb80-\\udbbe][\\udc00-\\udfff]|\\udbbf[\\udc00-\\udffd]|[\\udbc0-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udffd]' +\n\t\t\t')|(' +\n\t\t\t\t'[\\u0590\\u05be\\u05c0\\u05c3\\u05c6\\u05c8-\\u05ff\\u07c0-\\u07ea\\u07f4\\u07f5\\u07fa-\\u0815\\u081a\\u0824\\u0828\\u082e-\\u0858\\u085c-\\u089f\\u200f\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb4f\\u0608\\u060b\\u060d\\u061b-\\u064a\\u066d-\\u066f\\u0671-\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u0710\\u0712-\\u072f\\u074b-\\u07a5\\u07b1-\\u07bf\\u08a0-\\u08e2\\ufb50-\\ufd3d\\ufd40-\\ufdcf\\ufdf0-\\ufdfc\\ufdfe\\ufdff\\ufe70-\\ufefe]|\\ud802[\\udc00-\\udd1e]|\\ud802[\\udd20-\\ude00]|\\ud802\\ude04|\\ud802[\\ude07-\\ude0b]|\\ud802[\\ude10-\\ude37]|\\ud802[\\ude3b-\\ude3e]|\\ud802[\\ude40-\\udee4]|\\ud802[\\udee7-\\udf38]|\\ud802[\\udf40-\\udfff]|\\ud803[\\udc00-\\ude5f]|\\ud803[\\ude7f-\\udfff]|\\ud83a[\\udc00-\\udccf]|\\ud83a[\\udcd7-\\udfff]|\\ud83b[\\udc00-\\uddff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\ude00-\\udeef]|\\ud83b[\\udef2-\\udeff]' +\n\t\t\t')' +\n\t\t')'\n\t);\n\n\t/**\n\t * Gets directionality of the first strongly directional codepoint\n\t *\n\t * This is the rule the BIDI algorithm uses to determine the directionality of\n\t * paragraphs ( http://unicode.org/reports/tr9/#The_Paragraph_Level ) and\n\t * FSI isolates ( http://unicode.org/reports/tr9/#Explicit_Directional_Isolates ).\n\t *\n\t * TODO: Does not handle BIDI control characters inside the text.\n\t * TODO: Does not handle unallocated characters.\n\t *\n\t * @param {string} text The text from which to extract initial directionality.\n\t * @return {string} Directionality (either 'ltr' or 'rtl')\n\t */\n\tfunction strongDirFromContent( text ) {\n\t\tvar m = text.match( strongDirRegExp );\n\t\tif ( !m ) {\n\t\t\treturn null;\n\t\t}\n\t\tif ( m[ 2 ] === undefined ) {\n\t\t\treturn 'ltr';\n\t\t}\n\t\treturn 'rtl';\n\t}\n\n\t$.extend( $.i18n.parser.emitter, {\n\t\t/**\n\t\t * Wraps argument with unicode control characters for directionality safety\n\t\t *\n\t\t * This solves the problem where directionality-neutral characters at the edge of\n\t\t * the argument string get interpreted with the wrong directionality from the\n\t\t * enclosing context, giving renderings that look corrupted like \"(Ben_(WMF\".\n\t\t *\n\t\t * The wrapping is LRE...PDF or RLE...PDF, depending on the detected\n\t\t * directionality of the argument string, using the BIDI algorithm's own \"First\n\t\t * strong directional codepoint\" rule. Essentially, this works round the fact that\n\t\t * there is no embedding equivalent of U+2068 FSI (isolation with heuristic\n\t\t * direction inference). The latter is cleaner but still not widely supported.\n\t\t *\n\t\t * @param {string[]} nodes The text nodes from which to take the first item.\n\t\t * @return {string} Wrapped String of content as needed.\n\t\t */\n\t\tbidi: function ( nodes ) {\n\t\t\tvar dir = strongDirFromContent( nodes[ 0 ] );\n\t\t\tif ( dir === 'ltr' ) {\n\t\t\t\t// Wrap in LEFT-TO-RIGHT EMBEDDING ... POP DIRECTIONAL FORMATTING\n\t\t\t\treturn '\\u202A' + nodes[ 0 ] + '\\u202C';\n\t\t\t}\n\t\t\tif ( dir === 'rtl' ) {\n\t\t\t\t// Wrap in RIGHT-TO-LEFT EMBEDDING ... POP DIRECTIONAL FORMATTING\n\t\t\t\treturn '\\u202B' + nodes[ 0 ] + '\\u202C';\n\t\t\t}\n\t\t\t// No strong directionality: do not wrap\n\t\t\treturn nodes[ 0 ];\n\t\t}\n\t} );\n}( jQuery ) );\n","module.exports = jQuery;","/*!\n * jQuery Internationalization library\n *\n * Copyright (C) 2011-2013 Santhosh Thottingal, Neil Kandalgaonkar\n *\n * jquery.i18n is dual licensed GPLv2 or later and MIT. You don't have to do\n * anything special to choose one license or the other and you don't have to\n * notify anyone which license you are using. You are free to use\n * UniversalLanguageSelector in commercial projects as long as the copyright\n * header is left intact. See files GPL-LICENSE and MIT-LICENSE for details.\n *\n * @licence GNU General Public Licence 2.0 or later\n * @licence MIT License\n */\n\n( function ( $ ) {\n\t'use strict';\n\n\tvar MessageParserEmitter = function () {\n\t\tthis.language = $.i18n.languages[ String.locale ] || $.i18n.languages[ 'default' ];\n\t};\n\n\tMessageParserEmitter.prototype = {\n\t\tconstructor: MessageParserEmitter,\n\n\t\t/**\n\t\t * (We put this method definition here, and not in prototype, to make\n\t\t * sure it's not overwritten by any magic.) Walk entire node structure,\n\t\t * applying replacements and template functions when appropriate\n\t\t *\n\t\t * @param {Mixed} node abstract syntax tree (top node or subnode)\n\t\t * @param {Array} replacements for $1, $2, ... $n\n\t\t * @return {Mixed} single-string node or array of nodes suitable for\n\t\t * jQuery appending.\n\t\t */\n\t\temit: function ( node, replacements ) {\n\t\t\tvar ret, subnodes, operation,\n\t\t\t\tmessageParserEmitter = this;\n\n\t\t\tswitch ( typeof node ) {\n\t\t\t\tcase 'string':\n\t\t\t\tcase 'number':\n\t\t\t\t\tret = node;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'object':\n\t\t\t\t// node is an array of nodes\n\t\t\t\t\tsubnodes = $.map( node.slice( 1 ), function ( n ) {\n\t\t\t\t\t\treturn messageParserEmitter.emit( n, replacements );\n\t\t\t\t\t} );\n\n\t\t\t\t\toperation = node[ 0 ].toLowerCase();\n\n\t\t\t\t\tif ( typeof messageParserEmitter[ operation ] === 'function' ) {\n\t\t\t\t\t\tret = messageParserEmitter[ operation ]( subnodes, replacements );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthrow new Error( 'unknown operation \"' + operation + '\"' );\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'undefined':\n\t\t\t\t// Parsing the empty string (as an entire expression, or as a\n\t\t\t\t// paramExpression in a template) results in undefined\n\t\t\t\t// Perhaps a more clever parser can detect this, and return the\n\t\t\t\t// empty string? Or is that useful information?\n\t\t\t\t// The logical thing is probably to return the empty string here\n\t\t\t\t// when we encounter undefined.\n\t\t\t\t\tret = '';\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'unexpected type in AST: ' + typeof node );\n\t\t\t}\n\n\t\t\treturn ret;\n\t\t},\n\n\t\t/**\n\t\t * Parsing has been applied depth-first we can assume that all nodes\n\t\t * here are single nodes Must return a single node to parents -- a\n\t\t * jQuery with synthetic span However, unwrap any other synthetic spans\n\t\t * in our children and pass them upwards\n\t\t *\n\t\t * @param {Array} nodes Mixed, some single nodes, some arrays of nodes.\n\t\t * @return {string}\n\t\t */\n\t\tconcat: function ( nodes ) {\n\t\t\tvar result = '';\n\n\t\t\t$.each( nodes, function ( i, node ) {\n\t\t\t\t// strings, integers, anything else\n\t\t\t\tresult += node;\n\t\t\t} );\n\n\t\t\treturn result;\n\t\t},\n\n\t\t/**\n\t\t * Return escaped replacement of correct index, or string if\n\t\t * unavailable. Note that we expect the parsed parameter to be\n\t\t * zero-based. i.e. $1 should have become [ 0 ]. if the specified\n\t\t * parameter is not found return the same string (e.g. \"$99\" ->\n\t\t * parameter 98 -> not found -> return \"$99\" ) TODO throw error if\n\t\t * nodes.length > 1 ?\n\t\t *\n\t\t * @param {Array} nodes One element, integer, n >= 0\n\t\t * @param {Array} replacements for $1, $2, ... $n\n\t\t * @return {string} replacement\n\t\t */\n\t\treplace: function ( nodes, replacements ) {\n\t\t\tvar index = parseInt( nodes[ 0 ], 10 );\n\n\t\t\tif ( index < replacements.length ) {\n\t\t\t\t// replacement is not a string, don't touch!\n\t\t\t\treturn replacements[ index ];\n\t\t\t} else {\n\t\t\t\t// index not found, fallback to displaying variable\n\t\t\t\treturn '$' + ( index + 1 );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Transform parsed structure into pluralization n.b. The first node may\n\t\t * be a non-integer (for instance, a string representing an Arabic\n\t\t * number). So convert it back with the current language's\n\t\t * convertNumber.\n\t\t *\n\t\t * @param {Array} nodes List [ {String|Number}, {String}, {String} ... ]\n\t\t * @return {string} selected pluralized form according to current\n\t\t * language.\n\t\t */\n\t\tplural: function ( nodes ) {\n\t\t\tvar count = parseFloat( this.language.convertNumber( nodes[ 0 ], 10 ) ),\n\t\t\t\tforms = nodes.slice( 1 );\n\n\t\t\treturn forms.length ? this.language.convertPlural( count, forms ) : '';\n\t\t},\n\n\t\t/**\n\t\t * Transform parsed structure into gender Usage\n\t\t * {{gender:gender|masculine|feminine|neutral}}.\n\t\t *\n\t\t * @param {Array} nodes List [ {String}, {String}, {String} , {String} ]\n\t\t * @return {string} selected gender form according to current language\n\t\t */\n\t\tgender: function ( nodes ) {\n\t\t\tvar gender = nodes[ 0 ],\n\t\t\t\tforms = nodes.slice( 1 );\n\n\t\t\treturn this.language.gender( gender, forms );\n\t\t},\n\n\t\t/**\n\t\t * Transform parsed structure into grammar conversion. Invoked by\n\t\t * putting {{grammar:form|word}} in a message\n\t\t *\n\t\t * @param {Array} nodes List [{Grammar case eg: genitive}, {String word}]\n\t\t * @return {string} selected grammatical form according to current\n\t\t * language.\n\t\t */\n\t\tgrammar: function ( nodes ) {\n\t\t\tvar form = nodes[ 0 ],\n\t\t\t\tword = nodes[ 1 ];\n\n\t\t\treturn word && form && this.language.convertGrammar( word, form );\n\t\t}\n\t};\n\n\t$.extend( $.i18n.parser.emitter, new MessageParserEmitter() );\n}( jQuery ) );\n","/*!\n * jQuery Internationalization library\n *\n * Copyright (C) 2011-2013 Santhosh Thottingal, Neil Kandalgaonkar\n *\n * jquery.i18n is dual licensed GPLv2 or later and MIT. You don't have to do\n * anything special to choose one license or the other and you don't have to\n * notify anyone which license you are using. You are free to use\n * UniversalLanguageSelector in commercial projects as long as the copyright\n * header is left intact. See files GPL-LICENSE and MIT-LICENSE for details.\n *\n * @licence GNU General Public Licence 2.0 or later\n * @licence MIT License\n */\n\n( function ( $ ) {\n\t'use strict';\n\n\tvar MessageParser = function ( options ) {\n\t\tthis.options = $.extend( {}, $.i18n.parser.defaults, options );\n\t\tthis.language = $.i18n.languages[ String.locale ] || $.i18n.languages[ 'default' ];\n\t\tthis.emitter = $.i18n.parser.emitter;\n\t};\n\n\tMessageParser.prototype = {\n\n\t\tconstructor: MessageParser,\n\n\t\tsimpleParse: function ( message, parameters ) {\n\t\t\treturn message.replace( /\\$(\\d+)/g, function ( str, match ) {\n\t\t\t\tvar index = parseInt( match, 10 ) - 1;\n\n\t\t\t\treturn parameters[ index ] !== undefined ? parameters[ index ] : '$' + match;\n\t\t\t} );\n\t\t},\n\n\t\tparse: function ( message, replacements ) {\n\t\t\tif ( message.indexOf( '{{' ) < 0 ) {\n\t\t\t\treturn this.simpleParse( message, replacements );\n\t\t\t}\n\n\t\t\tthis.emitter.language = $.i18n.languages[ $.i18n().locale ] ||\n\t\t\t\t$.i18n.languages[ 'default' ];\n\n\t\t\treturn this.emitter.emit( this.ast( message ), replacements );\n\t\t},\n\n\t\tast: function ( message ) {\n\t\t\tvar pipe, colon, backslash, anyCharacter, dollar, digits, regularLiteral,\n\t\t\t\tregularLiteralWithoutBar, regularLiteralWithoutSpace, escapedOrLiteralWithoutBar,\n\t\t\t\tescapedOrRegularLiteral, templateContents, templateName, openTemplate,\n\t\t\t\tcloseTemplate, expression, paramExpression, result,\n\t\t\t\tpos = 0;\n\n\t\t\t// Try parsers until one works, if none work return null\n\t\t\tfunction choice( parserSyntax ) {\n\t\t\t\treturn function () {\n\t\t\t\t\tvar i, result;\n\n\t\t\t\t\tfor ( i = 0; i < parserSyntax.length; i++ ) {\n\t\t\t\t\t\tresult = parserSyntax[ i ]();\n\n\t\t\t\t\t\tif ( result !== null ) {\n\t\t\t\t\t\t\treturn result;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn null;\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// Try several parserSyntax-es in a row.\n\t\t\t// All must succeed; otherwise, return null.\n\t\t\t// This is the only eager one.\n\t\t\tfunction sequence( parserSyntax ) {\n\t\t\t\tvar i, res,\n\t\t\t\t\toriginalPos = pos,\n\t\t\t\t\tresult = [];\n\n\t\t\t\tfor ( i = 0; i < parserSyntax.length; i++ ) {\n\t\t\t\t\tres = parserSyntax[ i ]();\n\n\t\t\t\t\tif ( res === null ) {\n\t\t\t\t\t\tpos = originalPos;\n\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\tresult.push( res );\n\t\t\t\t}\n\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\t// Run the same parser over and over until it fails.\n\t\t\t// Must succeed a minimum of n times; otherwise, return null.\n\t\t\tfunction nOrMore( n, p ) {\n\t\t\t\treturn function () {\n\t\t\t\t\tvar originalPos = pos,\n\t\t\t\t\t\tresult = [],\n\t\t\t\t\t\tparsed = p();\n\n\t\t\t\t\twhile ( parsed !== null ) {\n\t\t\t\t\t\tresult.push( parsed );\n\t\t\t\t\t\tparsed = p();\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( result.length < n ) {\n\t\t\t\t\t\tpos = originalPos;\n\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn result;\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// Helpers -- just make parserSyntax out of simpler JS builtin types\n\n\t\t\tfunction makeStringParser( s ) {\n\t\t\t\tvar len = s.length;\n\n\t\t\t\treturn function () {\n\t\t\t\t\tvar result = null;\n\n\t\t\t\t\tif ( message.slice( pos, pos + len ) === s ) {\n\t\t\t\t\t\tresult = s;\n\t\t\t\t\t\tpos += len;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn result;\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tfunction makeRegexParser( regex ) {\n\t\t\t\treturn function () {\n\t\t\t\t\tvar matches = message.slice( pos ).match( regex );\n\n\t\t\t\t\tif ( matches === null ) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\tpos += matches[ 0 ].length;\n\n\t\t\t\t\treturn matches[ 0 ];\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tpipe = makeStringParser( '|' );\n\t\t\tcolon = makeStringParser( ':' );\n\t\t\tbackslash = makeStringParser( '\\\\' );\n\t\t\tanyCharacter = makeRegexParser( /^./ );\n\t\t\tdollar = makeStringParser( '$' );\n\t\t\tdigits = makeRegexParser( /^\\d+/ );\n\t\t\tregularLiteral = makeRegexParser( /^[^{}[\\]$\\\\]/ );\n\t\t\tregularLiteralWithoutBar = makeRegexParser( /^[^{}[\\]$\\\\|]/ );\n\t\t\tregularLiteralWithoutSpace = makeRegexParser( /^[^{}[\\]$\\s]/ );\n\n\t\t\t// There is a general pattern:\n\t\t\t// parse a thing;\n\t\t\t// if it worked, apply transform,\n\t\t\t// otherwise return null.\n\t\t\t// But using this as a combinator seems to cause problems\n\t\t\t// when combined with nOrMore().\n\t\t\t// May be some scoping issue.\n\t\t\tfunction transform( p, fn ) {\n\t\t\t\treturn function () {\n\t\t\t\t\tvar result = p();\n\n\t\t\t\t\treturn result === null ? null : fn( result );\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// Used to define \"literals\" within template parameters. The pipe\n\t\t\t// character is the parameter delimeter, so by default\n\t\t\t// it is not a literal in the parameter\n\t\t\tfunction literalWithoutBar() {\n\t\t\t\tvar result = nOrMore( 1, escapedOrLiteralWithoutBar )();\n\n\t\t\t\treturn result === null ? null : result.join( '' );\n\t\t\t}\n\n\t\t\tfunction literal() {\n\t\t\t\tvar result = nOrMore( 1, escapedOrRegularLiteral )();\n\n\t\t\t\treturn result === null ? null : result.join( '' );\n\t\t\t}\n\n\t\t\tfunction escapedLiteral() {\n\t\t\t\tvar result = sequence( [ backslash, anyCharacter ] );\n\n\t\t\t\treturn result === null ? null : result[ 1 ];\n\t\t\t}\n\n\t\t\tchoice( [ escapedLiteral, regularLiteralWithoutSpace ] );\n\t\t\tescapedOrLiteralWithoutBar = choice( [ escapedLiteral, regularLiteralWithoutBar ] );\n\t\t\tescapedOrRegularLiteral = choice( [ escapedLiteral, regularLiteral ] );\n\n\t\t\tfunction replacement() {\n\t\t\t\tvar result = sequence( [ dollar, digits ] );\n\n\t\t\t\tif ( result === null ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn [ 'REPLACE', parseInt( result[ 1 ], 10 ) - 1 ];\n\t\t\t}\n\n\t\t\ttemplateName = transform(\n\t\t\t\t// see $wgLegalTitleChars\n\t\t\t\t// not allowing : due to the need to catch \"PLURAL:$1\"\n\t\t\t\tmakeRegexParser( /^[ !\"$&'()*,./0-9;=?@A-Z^_`a-z~\\x80-\\xFF+-]+/ ),\n\n\t\t\t\tfunction ( result ) {\n\t\t\t\t\treturn result.toString();\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tfunction templateParam() {\n\t\t\t\tvar expr,\n\t\t\t\t\tresult = sequence( [ pipe, nOrMore( 0, paramExpression ) ] );\n\n\t\t\t\tif ( result === null ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\texpr = result[ 1 ];\n\n\t\t\t\t// use a \"CONCAT\" operator if there are multiple nodes,\n\t\t\t\t// otherwise return the first node, raw.\n\t\t\t\treturn expr.length > 1 ? [ 'CONCAT' ].concat( expr ) : expr[ 0 ];\n\t\t\t}\n\n\t\t\tfunction templateWithReplacement() {\n\t\t\t\tvar result = sequence( [ templateName, colon, replacement ] );\n\n\t\t\t\treturn result === null ? null : [ result[ 0 ], result[ 2 ] ];\n\t\t\t}\n\n\t\t\tfunction templateWithOutReplacement() {\n\t\t\t\tvar result = sequence( [ templateName, colon, paramExpression ] );\n\n\t\t\t\treturn result === null ? null : [ result[ 0 ], result[ 2 ] ];\n\t\t\t}\n\n\t\t\ttemplateContents = choice( [\n\t\t\t\tfunction () {\n\t\t\t\t\tvar res = sequence( [\n\t\t\t\t\t\t// templates can have placeholders for dynamic\n\t\t\t\t\t\t// replacement eg: {{PLURAL:$1|one car|$1 cars}}\n\t\t\t\t\t\t// or no placeholders eg:\n\t\t\t\t\t\t// {{GRAMMAR:genitive|{{SITENAME}}}\n\t\t\t\t\t\tchoice( [ templateWithReplacement, templateWithOutReplacement ] ),\n\t\t\t\t\t\tnOrMore( 0, templateParam )\n\t\t\t\t\t] );\n\n\t\t\t\t\treturn res === null ? null : res[ 0 ].concat( res[ 1 ] );\n\t\t\t\t},\n\t\t\t\tfunction () {\n\t\t\t\t\tvar res = sequence( [ templateName, nOrMore( 0, templateParam ) ] );\n\n\t\t\t\t\tif ( res === null ) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn [ res[ 0 ] ].concat( res[ 1 ] );\n\t\t\t\t}\n\t\t\t] );\n\n\t\t\topenTemplate = makeStringParser( '{{' );\n\t\t\tcloseTemplate = makeStringParser( '}}' );\n\n\t\t\tfunction template() {\n\t\t\t\tvar result = sequence( [ openTemplate, templateContents, closeTemplate ] );\n\n\t\t\t\treturn result === null ? null : result[ 1 ];\n\t\t\t}\n\n\t\t\texpression = choice( [ template, replacement, literal ] );\n\t\t\tparamExpression = choice( [ template, replacement, literalWithoutBar ] );\n\n\t\t\tfunction start() {\n\t\t\t\tvar result = nOrMore( 0, expression )();\n\n\t\t\t\tif ( result === null ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn [ 'CONCAT' ].concat( result );\n\t\t\t}\n\n\t\t\tresult = start();\n\n\t\t\t/*\n\t\t\t * For success, the pos must have gotten to the end of the input\n\t\t\t * and returned a non-null.\n\t\t\t * n.b. This is part of language infrastructure, so we do not throw an\n\t\t\t * internationalizable message.\n\t\t\t */\n\t\t\tif ( result === null || pos !== message.length ) {\n\t\t\t\tthrow new Error( 'Parse error at position ' + pos.toString() + ' in input: ' + message );\n\t\t\t}\n\n\t\t\treturn result;\n\t\t}\n\n\t};\n\n\t$.extend( $.i18n.parser, new MessageParser() );\n}( jQuery ) );","/*!\n * jQuery Internationalization library - Message Store\n *\n * Copyright (C) 2012 Santhosh Thottingal\n *\n * jquery.i18n is dual licensed GPLv2 or later and MIT. You don't have to do anything special to\n * choose one license or the other and you don't have to notify anyone which license you are using.\n * You are free to use UniversalLanguageSelector in commercial projects as long as the copyright\n * header is left intact. See files GPL-LICENSE and MIT-LICENSE for details.\n *\n * @licence GNU General Public Licence 2.0 or later\n * @licence MIT License\n */\n\n( function ( $ ) {\n\t'use strict';\n\n\tvar MessageStore = function () {\n\t\tthis.messages = {};\n\t\tthis.sources = {};\n\t};\n\n\tfunction jsonMessageLoader( url ) {\n\t\tvar deferred = $.Deferred();\n\n\t\t$.getJSON( url )\n\t\t\t.done( deferred.resolve )\n\t\t\t.fail( function ( jqxhr, settings, exception ) {\n\t\t\t\t$.i18n.log( 'Error in loading messages from ' + url + ' Exception: ' + exception );\n\t\t\t\t// Ignore 404 exception, because we are handling fallabacks explicitly\n\t\t\t\tdeferred.resolve();\n\t\t\t} );\n\n\t\treturn deferred.promise();\n\t}\n\n\t/**\n\t * See https://github.com/wikimedia/jquery.i18n/wiki/Specification#wiki-Message_File_Loading\n\t */\n\tMessageStore.prototype = {\n\n\t\t/**\n\t\t * General message loading API This can take a URL string for\n\t\t * the json formatted messages.\n\t\t * load('path/to/all_localizations.json');\n\t\t *\n\t\t * This can also load a localization file for a locale \n\t\t * load( 'path/to/de-messages.json', 'de' );\n\t\t * \n\t\t * A data object containing message key- message translation mappings\n\t\t * can also be passed Eg:\n\t\t * \n\t\t * load( { 'hello' : 'Hello' }, optionalLocale );\n\t\t * If the data argument is\n\t\t * null/undefined/false,\n\t\t * all cached messages for the i18n instance will get reset.\n\t\t *\n\t\t * @param {string|Object} source\n\t\t * @param {string} locale Language tag\n\t\t * @return {jQuery.Promise}\n\t\t */\n\t\tload: function ( source, locale ) {\n\t\t\tvar key = null,\n\t\t\t\tdeferred = null,\n\t\t\t\tdeferreds = [],\n\t\t\t\tmessageStore = this;\n\n\t\t\tif ( typeof source === 'string' ) {\n\t\t\t\t// This is a URL to the messages file.\n\t\t\t\t$.i18n.log( 'Loading messages from: ' + source );\n\t\t\t\tdeferred = jsonMessageLoader( source )\n\t\t\t\t\t.done( function ( localization ) {\n\t\t\t\t\t\tmessageStore.set( locale, localization );\n\t\t\t\t\t} );\n\n\t\t\t\treturn deferred.promise();\n\t\t\t}\n\n\t\t\tif ( locale ) {\n\t\t\t\t// source is an key-value pair of messages for given locale\n\t\t\t\tmessageStore.set( locale, source );\n\n\t\t\t\treturn $.Deferred().resolve();\n\t\t\t} else {\n\t\t\t\t// source is a key-value pair of locales and their source\n\t\t\t\tfor ( key in source ) {\n\t\t\t\t\tif ( Object.prototype.hasOwnProperty.call( source, key ) ) {\n\t\t\t\t\t\tlocale = key;\n\t\t\t\t\t\t// No {locale} given, assume data is a group of languages,\n\t\t\t\t\t\t// call this function again for each language.\n\t\t\t\t\t\tdeferreds.push( messageStore.load( source[ key ], locale ) );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn $.when.apply( $, deferreds );\n\t\t\t}\n\n\t\t},\n\n\t\t/**\n\t\t * Set messages to the given locale.\n\t\t * If locale exists, add messages to the locale.\n\t\t *\n\t\t * @param {string} locale\n\t\t * @param {Object} messages\n\t\t */\n\t\tset: function ( locale, messages ) {\n\t\t\tif ( !this.messages[ locale ] ) {\n\t\t\t\tthis.messages[ locale ] = messages;\n\t\t\t} else {\n\t\t\t\tthis.messages[ locale ] = $.extend( this.messages[ locale ], messages );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t *\n\t\t * @param {string} locale\n\t\t * @param {string} messageKey\n\t\t * @return {boolean}\n\t\t */\n\t\tget: function ( locale, messageKey ) {\n\t\t\treturn this.messages[ locale ] && this.messages[ locale ][ messageKey ];\n\t\t}\n\t};\n\n\t$.extend( $.i18n.messageStore, new MessageStore() );\n}( jQuery ) );\n","/*!\n * jQuery Internationalization library\n *\n * Copyright (C) 2012 Santhosh Thottingal\n *\n * jquery.i18n is dual licensed GPLv2 or later and MIT. You don't have to do\n * anything special to choose one license or the other and you don't have to\n * notify anyone which license you are using. You are free to use\n * UniversalLanguageSelector in commercial projects as long as the copyright\n * header is left intact. See files GPL-LICENSE and MIT-LICENSE for details.\n *\n * @licence GNU General Public Licence 2.0 or later\n * @licence MIT License\n */\n\n( function ( $ ) {\n\t'use strict';\n\n\tvar I18N,\n\t\tslice = Array.prototype.slice;\n\t/**\n\t * @constructor\n\t * @param {Object} options\n\t */\n\tI18N = function ( options ) {\n\t\t// Load defaults\n\t\tthis.options = $.extend( {}, I18N.defaults, options );\n\n\t\tthis.parser = this.options.parser;\n\t\tthis.locale = this.options.locale;\n\t\tthis.messageStore = this.options.messageStore;\n\t\tthis.languages = {};\n\t};\n\n\tI18N.prototype = {\n\t\t/**\n\t\t * Localize a given messageKey to a locale.\n\t\t * @param {String} messageKey\n\t\t * @return {String} Localized message\n\t\t */\n\t\tlocalize: function ( messageKey ) {\n\t\t\tvar localeParts, localePartIndex, locale, fallbackIndex,\n\t\t\t\ttryingLocale, message;\n\n\t\t\tlocale = this.locale;\n\t\t\tfallbackIndex = 0;\n\n\t\t\twhile ( locale ) {\n\t\t\t\t// Iterate through locales starting at most-specific until\n\t\t\t\t// localization is found. As in fi-Latn-FI, fi-Latn and fi.\n\t\t\t\tlocaleParts = locale.split( '-' );\n\t\t\t\tlocalePartIndex = localeParts.length;\n\n\t\t\t\tdo {\n\t\t\t\t\ttryingLocale = localeParts.slice( 0, localePartIndex ).join( '-' );\n\t\t\t\t\tmessage = this.messageStore.get( tryingLocale, messageKey );\n\n\t\t\t\t\tif ( message ) {\n\t\t\t\t\t\treturn message;\n\t\t\t\t\t}\n\n\t\t\t\t\tlocalePartIndex--;\n\t\t\t\t} while ( localePartIndex );\n\n\t\t\t\tif ( locale === 'en' ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tlocale = ( $.i18n.fallbacks[ this.locale ] &&\n\t\t\t\t\t\t$.i18n.fallbacks[ this.locale ][ fallbackIndex ] ) ||\n\t\t\t\t\t\tthis.options.fallbackLocale;\n\t\t\t\t$.i18n.log( 'Trying fallback locale for ' + this.locale + ': ' + locale + ' (' + messageKey + ')' );\n\n\t\t\t\tfallbackIndex++;\n\t\t\t}\n\n\t\t\t// key not found\n\t\t\treturn '';\n\t\t},\n\n\t\t/*\n\t\t * Destroy the i18n instance.\n\t\t */\n\t\tdestroy: function () {\n\t\t\t$.removeData( document, 'i18n' );\n\t\t},\n\n\t\t/**\n\t\t * General message loading API This can take a URL string for\n\t\t * the json formatted messages. Example:\n\t\t * load('path/to/all_localizations.json');\n\t\t *\n\t\t * To load a localization file for a locale:\n\t\t * \n\t\t * load('path/to/de-messages.json', 'de' );\n\t\t * \n\t\t *\n\t\t * To load a localization file from a directory:\n\t\t * \n\t\t * load('path/to/i18n/directory', 'de' );\n\t\t * \n\t\t * The above method has the advantage of fallback resolution.\n\t\t * ie, it will automatically load the fallback locales for de.\n\t\t * For most usecases, this is the recommended method.\n\t\t * It is optional to have trailing slash at end.\n\t\t *\n\t\t * A data object containing message key- message translation mappings\n\t\t * can also be passed. Example:\n\t\t * \n\t\t * load( { 'hello' : 'Hello' }, optionalLocale );\n\t\t * \n\t\t *\n\t\t * A source map containing key-value pair of languagename and locations\n\t\t * can also be passed. Example:\n\t\t * \n\t\t * load( {\n\t\t * bn: 'i18n/bn.json',\n\t\t * he: 'i18n/he.json',\n\t\t * en: 'i18n/en.json'\n\t\t * } )\n\t\t * \n\t\t *\n\t\t * If the data argument is null/undefined/false,\n\t\t * all cached messages for the i18n instance will get reset.\n\t\t *\n\t\t * @param {string|Object} source\n\t\t * @param {string} locale Language tag\n\t\t * @return {jQuery.Promise}\n\t\t */\n\t\tload: function ( source, locale ) {\n\t\t\tvar fallbackLocales, locIndex, fallbackLocale, sourceMap = {};\n\t\t\tif ( !source && !locale ) {\n\t\t\t\tsource = 'i18n/' + $.i18n().locale + '.json';\n\t\t\t\tlocale = $.i18n().locale;\n\t\t\t}\n\t\t\tif ( typeof source === 'string' &&\n\t\t\t\t// source extension should be json, but can have query params after that.\n\t\t\t\tsource.split( '?' )[ 0 ].split( '.' ).pop() !== 'json'\n\t\t\t) {\n\t\t\t\t// Load specified locale then check for fallbacks when directory is\n\t\t\t\t// specified in load()\n\t\t\t\tsourceMap[ locale ] = source + '/' + locale + '.json';\n\t\t\t\tfallbackLocales = ( $.i18n.fallbacks[ locale ] || [] )\n\t\t\t\t\t.concat( this.options.fallbackLocale );\n\t\t\t\tfor ( locIndex = 0; locIndex < fallbackLocales.length; locIndex++ ) {\n\t\t\t\t\tfallbackLocale = fallbackLocales[ locIndex ];\n\t\t\t\t\tsourceMap[ fallbackLocale ] = source + '/' + fallbackLocale + '.json';\n\t\t\t\t}\n\t\t\t\treturn this.load( sourceMap );\n\t\t\t} else {\n\t\t\t\treturn this.messageStore.load( source, locale );\n\t\t\t}\n\n\t\t},\n\n\t\t/**\n\t\t * Does parameter and magic word substitution.\n\t\t *\n\t\t * @param {string} key Message key\n\t\t * @param {Array} parameters Message parameters\n\t\t * @return {string}\n\t\t */\n\t\tparse: function ( key, parameters ) {\n\t\t\tvar message = this.localize( key );\n\t\t\t// FIXME: This changes the state of the I18N object,\n\t\t\t// should probably not change the 'this.parser' but just\n\t\t\t// pass it to the parser.\n\t\t\tthis.parser.language = $.i18n.languages[ $.i18n().locale ] || $.i18n.languages[ 'default' ];\n\t\t\tif ( message === '' ) {\n\t\t\t\tmessage = key;\n\t\t\t}\n\t\t\treturn this.parser.parse( message, parameters );\n\t\t}\n\t};\n\n\t/**\n\t * Process a message from the $.I18N instance\n\t * for the current document, stored in jQuery.data(document).\n\t *\n\t * @param {string} key Key of the message.\n\t * @param {string} param1 [param...] Variadic list of parameters for {key}.\n\t * @return {string|$.I18N} Parsed message, or if no key was given\n\t * the instance of $.I18N is returned.\n\t */\n\t$.i18n = function ( key, param1 ) {\n\t\tvar parameters,\n\t\t\ti18n = $.data( document, 'i18n' ),\n\t\t\toptions = typeof key === 'object' && key;\n\n\t\t// If the locale option for this call is different then the setup so far,\n\t\t// update it automatically. This doesn't just change the context for this\n\t\t// call but for all future call as well.\n\t\t// If there is no i18n setup yet, don't do this. It will be taken care of\n\t\t// by the `new I18N` construction below.\n\t\t// NOTE: It should only change language for this one call.\n\t\t// Then cache instances of I18N somewhere.\n\t\tif ( options && options.locale && i18n && i18n.locale !== options.locale ) {\n\t\t\ti18n.locale = options.locale;\n\t\t}\n\n\t\tif ( !i18n ) {\n\t\t\ti18n = new I18N( options );\n\t\t\t$.data( document, 'i18n', i18n );\n\t\t}\n\n\t\tif ( typeof key === 'string' ) {\n\t\t\tif ( param1 !== undefined ) {\n\t\t\t\tparameters = slice.call( arguments, 1 );\n\t\t\t} else {\n\t\t\t\tparameters = [];\n\t\t\t}\n\n\t\t\treturn i18n.parse( key, parameters );\n\t\t} else {\n\t\t\t// FIXME: remove this feature/bug.\n\t\t\treturn i18n;\n\t\t}\n\t};\n\n\t$.fn.i18n = function () {\n\t\tvar i18n = $.data( document, 'i18n' );\n\n\t\tif ( !i18n ) {\n\t\t\ti18n = new I18N();\n\t\t\t$.data( document, 'i18n', i18n );\n\t\t}\n\n\t\treturn this.each( function () {\n\t\t\tvar $this = $( this ),\n\t\t\t\tmessageKey = $this.data( 'i18n' ),\n\t\t\t\tlBracket, rBracket, type, key;\n\n\t\t\tif ( messageKey ) {\n\t\t\t\tlBracket = messageKey.indexOf( '[' );\n\t\t\t\trBracket = messageKey.indexOf( ']' );\n\t\t\t\tif ( lBracket !== -1 && rBracket !== -1 && lBracket < rBracket ) {\n\t\t\t\t\ttype = messageKey.slice( lBracket + 1, rBracket );\n\t\t\t\t\tkey = messageKey.slice( rBracket + 1 );\n\t\t\t\t\tif ( type === 'html' ) {\n\t\t\t\t\t\t$this.html( i18n.parse( key ) );\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$this.attr( type, i18n.parse( key ) );\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t$this.text( i18n.parse( messageKey ) );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t$this.find( '[data-i18n]' ).i18n();\n\t\t\t}\n\t\t} );\n\t};\n\n\tfunction getDefaultLocale() {\n\t\tvar nav, locale = $( 'html' ).attr( 'lang' );\n\n\t\tif ( !locale ) {\n\t\t\tif ( typeof window.navigator !== undefined ) {\n\t\t\t\tnav = window.navigator;\n\t\t\t\tlocale = nav.language || nav.userLanguage || '';\n\t\t\t} else {\n\t\t\t\tlocale = '';\n\t\t\t}\n\t\t}\n\t\treturn locale;\n\t}\n\n\t$.i18n.languages = {};\n\t$.i18n.messageStore = $.i18n.messageStore || {};\n\t$.i18n.parser = {\n\t\t// The default parser only handles variable substitution\n\t\tparse: function ( message, parameters ) {\n\t\t\treturn message.replace( /\\$(\\d+)/g, function ( str, match ) {\n\t\t\t\tvar index = parseInt( match, 10 ) - 1;\n\t\t\t\treturn parameters[ index ] !== undefined ? parameters[ index ] : '$' + match;\n\t\t\t} );\n\t\t},\n\t\temitter: {}\n\t};\n\t$.i18n.fallbacks = {};\n\t$.i18n.debug = false;\n\t$.i18n.log = function ( /* arguments */ ) {\n\t\tif ( window.console && $.i18n.debug ) {\n\t\t\twindow.console.log.apply( window.console, arguments );\n\t\t}\n\t};\n\t/* Static members */\n\tI18N.defaults = {\n\t\tlocale: getDefaultLocale(),\n\t\tfallbackLocale: 'en',\n\t\tparser: $.i18n.parser,\n\t\tmessageStore: $.i18n.messageStore\n\t};\n\n\t// Expose constructor\n\t$.i18n.constructor = I18N;\n}( jQuery ) );","/*!\n * jQuery idleTimer plugin\n * version 0.9.100511\n * by Paul Irish.\n * http://github.com/paulirish/yui-misc/tree/\n * MIT license\n\n * adapted from YUI idle timer by nzakas:\n * http://github.com/nzakas/yui-misc/\n*/\n/*\n * Copyright (c) 2009 Nicholas C. Zakas\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n/* updated to fix Chrome setTimeout issue by Zaid Zawaideh */\n\n // API available in <= v0.8\n /*******************************\n\n // idleTimer() takes an optional argument that defines the idle timeout\n // timeout is in milliseconds; defaults to 30000\n $.idleTimer(10000);\n\n\n $(document).bind(\"idle.idleTimer\", function(){\n // function you want to fire when the user goes idle\n });\n\n\n $(document).bind(\"active.idleTimer\", function(){\n // function you want to fire when the user becomes active again\n });\n\n // pass the string 'destroy' to stop the timer\n $.idleTimer('destroy');\n\n // you can query if the user is idle or not with data()\n $.data(document,'idleTimer'); // 'idle' or 'active'\n\n // you can get time elapsed since user when idle/active\n $.idleTimer('getElapsedTime'); // time since state change in ms\n\n ********/\n\n\n\n // API available in >= v0.9\n /*************************\n\n // bind to specific elements, allows for multiple timer instances\n $(elem).idleTimer(timeout|'destroy'|'getElapsedTime');\n $.data(elem,'idleTimer'); // 'idle' or 'active'\n\n // if you're using the old $.idleTimer api, you should not do $(document).idleTimer(...)\n\n // element bound timers will only watch for events inside of them.\n // you may just want page-level activity, in which case you may set up\n // your timers on document, document.documentElement, and document.body\n\n // You can optionally provide a second argument to override certain options.\n // Here are the defaults, so you can omit any or all of them.\n $(elem).idleTimer(timeout, {\n startImmediately: true, //starts a timeout as soon as the timer is set up; otherwise it waits for the first event.\n idle: false, //indicates if the user is idle\n enabled: true, //indicates if the idle timer is enabled\n events: 'mousemove keydown DOMMouseScroll mousewheel mousedown touchstart touchmove' // activity is one of these events\n });\n\n ********/\n\n(function($){\n\n$.idleTimer = function(newTimeout, elem, opts){\n\n // defaults that are to be stored as instance props on the elem\n\n\topts = $.extend({\n\t\tstartImmediately: true, //starts a timeout as soon as the timer is set up\n\t\tidle: false, //indicates if the user is idle\n\t\tenabled: true, //indicates if the idle timer is enabled\n\t\ttimeout: 30000, //the amount of time (ms) before the user is considered idle\n\t\tevents: 'mousemove keydown DOMMouseScroll mousewheel mousedown touchstart touchmove' // activity is one of these events\n\t}, opts);\n\n\n elem = elem || document;\n\n /* (intentionally not documented)\n * Toggles the idle state and fires an appropriate event.\n * @return {void}\n */\n var toggleIdleState = function(myelem){\n\n // curse you, mozilla setTimeout lateness bug!\n if (typeof myelem === 'number'){\n myelem = undefined;\n }\n\n var obj = $.data(myelem || elem,'idleTimerObj');\n\n //toggle the state\n obj.idle = !obj.idle;\n\n // reset timeout \n var elapsed = (+new Date()) - obj.olddate;\n obj.olddate = +new Date();\n\n // handle Chrome always triggering idle after js alert or comfirm popup\n if (obj.idle && (elapsed < opts.timeout)) {\n obj.idle = false;\n clearTimeout($.idleTimer.tId);\n if (opts.enabled)\n $.idleTimer.tId = setTimeout(toggleIdleState, opts.timeout);\n return;\n }\n \n //fire appropriate event\n\n // create a custom event, but first, store the new state on the element\n // and then append that string to a namespace\n var event = jQuery.Event( $.data(elem,'idleTimer', obj.idle ? \"idle\" : \"active\" ) + '.idleTimer' );\n\n // we do want this to bubble, at least as a temporary fix for jQuery 1.7\n // event.stopPropagation();\n $(elem).trigger(event);\n },\n\n /**\n * Stops the idle timer. This removes appropriate event handlers\n * and cancels any pending timeouts.\n * @return {void}\n * @method stop\n * @static\n */\n stop = function(elem){\n\n var obj = $.data(elem,'idleTimerObj') || {};\n\n //set to disabled\n obj.enabled = false;\n\n //clear any pending timeouts\n clearTimeout(obj.tId);\n\n //detach the event handlers\n $(elem).off('.idleTimer');\n },\n\n\n /* (intentionally not documented)\n * Handles a user event indicating that the user isn't idle.\n * @param {Event} event A DOM2-normalized event object.\n * @return {void}\n */\n handleUserEvent = function(){\n\n var obj = $.data(this,'idleTimerObj');\n\n //clear any existing timeout\n clearTimeout(obj.tId);\n\n\n\n //if the idle timer is enabled\n if (obj.enabled){\n\n\n //if it's idle, that means the user is no longer idle\n if (obj.idle){\n toggleIdleState(this);\n }\n\n //set a new timeout\n obj.tId = setTimeout(toggleIdleState, obj.timeout);\n\n }\n };\n\n\n /**\n * Starts the idle timer. This adds appropriate event handlers\n * and starts the first timeout.\n * @param {int} newTimeout (Optional) A new value for the timeout period in ms.\n * @return {void}\n * @method $.idleTimer\n * @static\n */\n\n\n var obj = $.data(elem,'idleTimerObj') || {};\n\n obj.olddate = obj.olddate || +new Date();\n\n //assign a new timeout if necessary\n if (typeof newTimeout === \"number\"){\n opts.timeout = newTimeout;\n } else if (newTimeout === 'destroy') {\n stop(elem);\n return this;\n } else if (newTimeout === 'getElapsedTime'){\n return (+new Date()) - obj.olddate;\n }\n\n //assign appropriate event handlers\n $(elem).on($.trim((opts.events+' ').split(' ').join('.idleTimer ')),handleUserEvent);\n\n\n obj.idle = opts.idle;\n obj.enabled = opts.enabled;\n obj.timeout = opts.timeout;\n\n\n //set a timeout to toggle state. May wish to omit this in some situations\n\tif (opts.startImmediately) {\n\t obj.tId = setTimeout(toggleIdleState, obj.timeout);\n\t}\n\n // assume the user is active for the first x seconds.\n $.data(elem,'idleTimer',\"active\");\n\n // store our instance on the object\n $.data(elem,'idleTimerObj',obj);\n\n\n\n}; // end of $.idleTimer()\n\n\n// v0.9 API for defining multiple timers.\n$.fn.idleTimer = function(newTimeout,opts){\n\t// Allow omission of opts for backward compatibility\n\tif (!opts) {\n\t\topts = {};\n\t}\n\n if(this[0]){\n $.idleTimer(newTimeout,this[0],opts);\n }\n\n return this;\n};\n\n\n})(jQuery);\n","/*global variable declarations*/\n\n\"use strict\";\n\nimport \"../css/user-highlights.css\";\n\nfunction getCompletions() {\n // Get the completion status\n if (\n window.location.href.match(\n /(\\/index.html|toctree.html|genindex.html|navhelp.html|toc.html|assignments.html|Exercises.html)/\n )\n ) {\n return;\n }\n\n var currentPathname = window.location.pathname;\n if (currentPathname.indexOf(\"?\") !== -1) {\n currentPathname = currentPathname.substring(\n 0,\n currentPathname.lastIndexOf(\"?\")\n );\n }\n var data = {\n lastPageUrl: currentPathname,\n isPtxBook: isPreTeXt(),\n };\n jQuery\n .ajax({\n url: `${eBookConfig.new_server_prefix}/logger/getCompletionStatus`,\n data: data,\n async: false,\n })\n .done(function (data) {\n if (data != \"None\") {\n var completionData = data.detail;\n var completionClass, completionMsg;\n if (completionData[0].completionStatus == 1) {\n completionClass = \"buttonConfirmCompletion\";\n completionMsg =\n \" Completed. Well Done!\";\n } else {\n completionClass = \"buttonAskCompletion\";\n completionMsg = \"Mark as Completed\";\n }\n let scp = document.querySelector(\"#scprogresscontainer\");\n if (scp) {\n scp.classList.add(\"ptx-runestone-container\");\n }\n $(\"#scprogresscontainer\").append(\n '
    \"\n );\n }\n });\n}\n\nfunction showLastPositionBanner() {\n var lastPositionVal = $.getUrlVar(\"lastPosition\");\n if (typeof lastPositionVal !== \"undefined\") {\n $(\"body\").append(\n ''\n );\n $(\"html, body\").animate({ scrollTop: parseInt(lastPositionVal) }, 1000);\n }\n}\n\nfunction addNavigationAndCompletionButtons() {\n if (\n window.location.href.match(\n /(index.html|genindex.html|navhelp.html|toc.html|assignments.html|Exercises.html|toctree.html)/\n )\n ) {\n return;\n }\n var navLinkBgRightHiddenPosition = -$(\"#navLinkBgRight\").outerWidth() - 5;\n var navLinkBgRightHalfOpen;\n var navLinkBgRightFullOpen = 0;\n\n if ($(\"#completionButton\").hasClass(\"buttonAskCompletion\")) {\n navLinkBgRightHalfOpen = navLinkBgRightHiddenPosition + 70;\n } else if ($(\"#completionButton\").hasClass(\"buttonConfirmCompletion\")) {\n navLinkBgRightHalfOpen = 0;\n }\n var relationsNextIconInitialPosition = $(\"#relations-next\").css(\"right\");\n var relationsNextIconNewPosition = -(navLinkBgRightHiddenPosition + 35);\n\n $(\"#navLinkBgRight\").css(\"right\", navLinkBgRightHiddenPosition).show();\n var navBgShown = false;\n $(window).scroll(function () {\n if (\n $(window).scrollTop() + $(window).height() ==\n $(document).height()\n ) {\n $(\"#navLinkBgRight\").animate(\n { right: navLinkBgRightHalfOpen },\n 200\n );\n $(\"#navLinkBgLeft\").animate({ left: \"0px\" }, 200);\n if ($(\"#completionButton\").hasClass(\"buttonConfirmCompletion\")) {\n $(\"#relations-next\").animate(\n { right: relationsNextIconNewPosition },\n 200\n );\n }\n navBgShown = true;\n } else if (navBgShown) {\n $(\"#navLinkBgRight\").animate(\n { right: navLinkBgRightHiddenPosition },\n 200\n );\n $(\"#navLinkBgLeft\").animate({ left: \"-65px\" }, 200);\n $(\"#relations-next\").animate({\n right: relationsNextIconInitialPosition,\n });\n navBgShown = false;\n }\n });\n\n var completionFlag = 0;\n if ($(\"#completionButton\").hasClass(\"buttonAskCompletion\")) {\n completionFlag = 0;\n } else {\n completionFlag = 1;\n }\n // Make sure we mark this page as visited regardless of how flakey\n // the onunload handlers become.\n processPageState(completionFlag, true, false, false);\n $(\"#completionButton\").on(\"click\", function () {\n var markingComplete = false;\n var markingIncomplete = false;\n if ($(this).hasClass(\"buttonAskCompletion\")) {\n $(this)\n .removeClass(\"buttonAskCompletion\")\n .addClass(\"buttonConfirmCompletion\")\n .html(\n \" Completed. Well Done!\"\n );\n $(\"#navLinkBgRight\").animate({ right: navLinkBgRightFullOpen });\n $(\"#relations-next\").animate({\n right: relationsNextIconNewPosition,\n });\n navLinkBgRightHalfOpen = 0;\n completionFlag = 1;\n markingComplete = true;\n } else if ($(this).hasClass(\"buttonConfirmCompletion\")) {\n $(this)\n .removeClass(\"buttonConfirmCompletion\")\n .addClass(\"buttonAskCompletion\")\n .html(\"Mark as Completed\");\n navLinkBgRightHalfOpen = navLinkBgRightHiddenPosition + 70;\n $(\"#navLinkBgRight\").animate({ right: navLinkBgRightHalfOpen });\n $(\"#relations-next\").animate({\n right: relationsNextIconInitialPosition,\n });\n completionFlag = 0;\n markingIncomplete = true;\n }\n processPageState(\n completionFlag,\n false,\n markingComplete,\n markingIncomplete\n );\n });\n\n // we cannot afford to do this at both load and unload especially as users\n // go from page to page. This just doubles the load. So, try without this one.\n // $(window).on(\"beforeunload\", function (e) {\n // if (completionFlag == 0) {\n // processPageState(completionFlag, false, false, false);\n // }\n // });\n}\n\n// _ decorateTableOfContents\n// -------------------------\nfunction decorateTableOfContents() {\n if (\n window.location.href.toLowerCase().indexOf(\"toc.html\") != -1 ||\n window.location.href.toLowerCase().indexOf(\"index.html\") != -1 ||\n window.location.href.toLowerCase().indexOf(\"frontmatter\") != -1\n ) {\n if (!isPreTeXt()) {\n jQuery.get(\n `${eBookConfig.new_server_prefix}/logger/getAllCompletionStatus`,\n function (data) {\n var subChapterList;\n if (data != \"None\") {\n subChapterList = data.detail;\n\n var allSubChapterURLs = $(\"#main-content div li a\");\n $.each(subChapterList, function (index, item) {\n for (var s = 0; s < allSubChapterURLs.length; s++) {\n if (\n allSubChapterURLs[s].href.indexOf(\n item.chapterName +\n \"/\" +\n item.subChapterName\n ) != -1\n ) {\n if (item.completionStatus == 1) {\n $(allSubChapterURLs[s].parentElement)\n .addClass(\"completed\")\n .append(\n '- Completed this topic on ' +\n item.endDate +\n \"\"\n )\n .children()\n .first()\n .hover(\n function () {\n $(this)\n .next(\n \".infoTextCompleted\"\n )\n .show();\n },\n function () {\n $(this)\n .next(\n \".infoTextCompleted\"\n )\n .hide();\n }\n );\n } else if (item.completionStatus == 0) {\n $(allSubChapterURLs[s].parentElement)\n .addClass(\"active\")\n .append(\n 'Last read this topic on ' +\n item.endDate +\n \"\"\n )\n .children()\n .first()\n .hover(\n function () {\n $(this)\n .next(\".infoTextActive\")\n .show();\n },\n function () {\n $(this)\n .next(\".infoTextActive\")\n .hide();\n }\n );\n }\n }\n }\n });\n }\n }\n );\n }\n var data = { course: eBookConfig.course };\n jQuery.get(\n `${eBookConfig.new_server_prefix}/logger/getlastpage`,\n data,\n function (data) {\n var lastPageData;\n if (data != \"None\") {\n lastPageData = data.detail;\n if (lastPageData.lastPageChapter != null) {\n $(\"#continue-reading\")\n .show()\n .html(\n '
    You were Last Reading: ' +\n lastPageData.lastPageChapter +\n (lastPageData.lastPageSubchapter\n ? \" > \" +\n lastPageData.lastPageSubchapter\n : \"\") +\n ' Continue Reading
    '\n );\n }\n }\n }\n );\n }\n}\n\nfunction enableCompletions() {\n getCompletions();\n showLastPositionBanner();\n addNavigationAndCompletionButtons();\n decorateTableOfContents();\n}\n\n// call enable user highlights after login\n$(document).on(\"runestone:login\", enableCompletions);\n\nfunction isPreTeXt() {\n let ptxMarker = document.querySelector(\"body.pretext\");\n if (ptxMarker) {\n return true;\n } else {\n return false;\n }\n}\n// _ processPageState\n// -------------------------\nfunction processPageState(\n completionFlag,\n pageLoad,\n markingComplete,\n markingIncomplete\n) {\n /*Log last page visited*/\n var currentPathname = window.location.pathname;\n if (currentPathname.indexOf(\"?\") !== -1) {\n currentPathname = currentPathname.substring(\n 0,\n currentPathname.lastIndexOf(\"?\")\n );\n }\n // Is this a ptx book?\n let isPtxBook = isPreTeXt();\n var data = {\n lastPageUrl: currentPathname,\n lastPageScrollLocation: Math.round($(window).scrollTop()),\n completionFlag: completionFlag,\n pageLoad: pageLoad,\n markingComplete: markingComplete,\n markingIncomplete: markingIncomplete,\n course: eBookConfig.course,\n isPtxBook: isPtxBook,\n };\n $(document).ajaxError(function (e, jqhxr, settings, exception) {\n console.log(\"Request Failed for \" + settings.url);\n console.log(e);\n });\n jQuery.ajax({\n url: `${eBookConfig.new_server_prefix}/logger/updatelastpage`,\n contentType: \"application/json; charset=utf-8\",\n dataType: \"json\",\n data: JSON.stringify(data),\n method: \"POST\",\n async: true,\n });\n}\n\n$.extend({\n getUrlVars: function () {\n var vars = [],\n hash;\n var hashes = window.location.search\n .slice(window.location.search.indexOf(\"?\") + 1)\n .split(\"&\");\n for (var i = 0; i < hashes.length; i++) {\n hash = hashes[i].split(\"=\");\n vars.push(hash[0]);\n vars[hash[0]] = hash[1];\n }\n return vars;\n },\n getUrlVar: function (name) {\n return $.getUrlVars()[name];\n },\n});\n","/*\n Support functions for PreTeXt books running on Runestone\n\n*/\n\nimport RunestoneBase from \"./runestonebase.js\";\n\nfunction setupPTXEvents() {\n let rb = new RunestoneBase();\n // log an event when a knowl is opened.\n document.querySelectorAll(\"[data-knowl]\").forEach((el) => {\n el.addEventListener(\"click\", function () {\n let div_id = el.getAttribute(\"data-knowl\");\n rb.logBookEvent({ event: \"knowl\", act: \"click\", div_id: div_id });\n });\n });\n let born_hidden = document.querySelectorAll(\"details.born-hidden-knowl\");\n born_hidden.forEach((el) => {\n // log an event when a knowl is opened that was born hidden\n el.addEventListener(\"toggle\", function () {\n if (el.open) {\n let div_id = el.id;\n rb.logBookEvent({ event: \"knowl\", act: \"open\", div_id: div_id });\n }\n });\n });\n // log an event when a sage cell is evaluated\n document.querySelectorAll(\".sagecell_evalButton\").forEach((btn) => {\n btn.addEventListener(\"click\", function () {\n let container = btn.closest(\".sagecell-sage\");\n let codeInput = container ? container.querySelector(\".sagecell_input\") : null;\n let code = codeInput ? codeInput.textContent : \"\";\n rb.logBookEvent({ event: \"sage\", act: \"run\", div_id: container ? container.id : null });\n });\n });\n if (typeof eBookConfig !== \"undefined\" && !eBookConfig.isInstructor) {\n document.querySelectorAll(\".commentary\").forEach((el) => {\n el.style.display = \"none\";\n });\n }\n}\n\nwindow.addEventListener(\"load\", function () {\n console.log(\"setting up pretext\");\n setupPTXEvents();\n let wrap = document.getElementById(\"primary-navbar-sticky-wrapper\");\n if (wrap) {\n wrap.style.overflow = \"visible\";\n }\n});\n","import RunestoneBase from \"../../common/js/runestonebase.js\";\n\nexport class SpliceWrapper extends RunestoneBase {\n constructor() {\n super();\n this.initSplice();\n }\n\n initSplice() {\n // SPLICE Events\n window.addEventListener(\"message\", async (event) => {\n \n var sourceIframe = this.sendingIframe(event);\n console.log(`SpliceWrapper: received message subject: ${event.data.subject} from iframe: ${sourceIframe ? sourceIframe.id : \"unknown\"}`);\n if (event.data.subject == \"SPLICE.reportScoreAndState\") {\n this.handleScoreAndState(event, sourceIframe);\n } else if (event.data.subject == \"SPLICE.sendEvent\") {\n this.handleSpliceEvent(event, sourceIframe);\n } else if (event.data.subject == \"SPLICE.getState\") {\n await this.handleGetState(event, sourceIframe);\n } else if (\n event.origin === \"https://www.myopenmath.com\" &&\n typeof event.data === \"string\" &&\n event.data.indexOf(\"lti.ext.imathas.result\") != -1\n ) {\n // proof of concept for My Open Math\n let msgdata = JSON.parse(event.data);\n let jwt = basicParseJwt(msgdata.jwt);\n console.log(\n \"Result received from frame \" +\n msgdata.frame_id +\n \" with score \" +\n jwt.score\n );\n // todo send score to server\n // does MOM have a way to get the state?\n // todo send state to server\n }\n });\n }\n\n getUniqueID(event, frame) {\n // Determine the unique identifier for this activity\n // The SPLICE protocol allows for two possibilities\n // 1. activity_id is the unique id as assigned by the provider\n // 2. activity_id is the iframe src url\n // if the activity_id is set there may also be another attribute called domain\n // On Runestone we will try to map the activity to the div_id of the enclosing RS component\n // if possible, otherwise we will use the activity_id or iframe src\n // If an interactive is included in an exercises this allows us to map the score\n // to the id the instructor used to assign the problem.\n if (frame) {\n let rsDiv = frame.closest(\"[data-component]\");\n if (rsDiv) {\n return rsDiv.id;\n }\n }\n let location = event.data.activity_id;\n if (!location) {\n if (frame) {\n location = frame.src;\n } else {\n location = \"unknown\";\n console.error(\n \"Could not find iframe that sent the SPLICE event\"\n );\n }\n }\n return location;\n }\n\n handleScoreAndState(event, frame) {\n console.log(\"Got SPLICE.reportScoreAndState\");\n console.log(event.data.activity_id);\n console.log(event.data.score);\n console.log(event.data.state);\n let location = this.getUniqueID(event, frame);\n this.logBookEvent({\n event: event.data.subject,\n div_id: location,\n act: `score: ${event.data.score}`,\n score: event.data.score,\n percent: event.data.score,\n correct: event.data.score == 1.0 ? true : false,\n answer: JSON.stringify(event.data.state),\n });\n }\n\n sendingIframe(event) {\n // determine the iframe that sent the event\n // you would think that event.source would be the iframe\n // but it is not and getting the location out of event.source\n // creates CORS issues.\n for (const f of document.getElementsByTagName(\"iframe\")) {\n if (f.contentWindow === event.source) return f;\n }\n return undefined;\n }\n\n async getSavedState(location) {\n // fetch the state from the server\n try {\n const response = await fetch(\"/ns/assessment/results\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n div_id: location,\n course: eBookConfig.course,\n event: \"SPLICE.getState\",\n }),\n });\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n const data = await response.json();\n return data;\n } catch (error) {\n console.error(\"Error fetching SPLICE state:\", error);\n return null;\n }\n }\n\n async handleGetState(event, frame) {\n console.log(\"Got SPLICE.getState\");\n console.log(event.data.activity_id);\n console.log(event.data.state);\n // subject is SPLICE.getState.response\n let location = this.getUniqueID(event, frame);\n let res = await this.getSavedState(location);\n let state = res.detail.answer;\n event.source.postMessage(\n {\n message_id: event.data.message_id,\n subject: \"SPLICE.getState.response\",\n state: state,\n },\n \"*\"\n );\n }\n\n handleSpliceEvent(event, frame) {\n // handle generic SPLICE events, such as logged clicks\n // or other events. SPLICE does not require that we do\n // anything with them, but in keeping with our tradition\n // we will save them to the useinfo table in the database\n // in case they prove to be useful for research later\n console.log(\"Got SPLICE.sendEvent\");\n console.log(event.data.activity_id);\n console.log(event.data.name);\n //console.log(event.data.data);\n let location = this.getUniqueID(event, frame);\n this.logBookEvent({\n event: event.data.subject,\n div_id: location,\n act: event.data.name || \"unknown\",\n });\n }\n // these stubs are not implemented, but are required by the RunestoneBase class\n checkLocalStorage() {}\n setLocalStorage() {}\n restoreAnswers() {}\n disableInteraction() {}\n}\n\nfunction basicParseJwt(token) {\n var base64Url = token.split(\".\")[1];\n var base64 = base64Url.replace(/-/g, \"+\").replace(/_/g, \"/\");\n var jsonPayload = decodeURIComponent(\n window\n .atob(base64)\n .split(\"\")\n .map(function (c) {\n return \"%\" + (\"00\" + c.charCodeAt(0).toString(16)).slice(-2);\n })\n .join(\"\")\n );\n return JSON.parse(jsonPayload);\n}\n","// ***********************************************************************************\n// |docname| - A framework allowing a Runestone component to load only the JS it needs\n// ***********************************************************************************\n// The JavaScript required by all Runestone components is quite large and results in slow page loads. This approach enables a Runestone component to load only the JavaScript it needs, rather than loading JavaScript for all the components regardless of which are actually used.\n//\n// To accomplish this, webpack's split-chunks ability analyzes all JS, starting from this file. The dynamic imports below are transformed by webpack into the dynamic fetches of just the JS required by each file and all its dependencies. (If using static imports, webpack will assume that all files are already statically loaded via script tags, defeating the purpose of this framework.)\n//\n// However, this approach leads to complexity:\n//\n// - The ``data-component`` attribute of each component must be kept in sync with the keys of the ``module_map`` below.\n// - The values in the ``module_map`` must be kept in sync with the JavaScript files which implement each of the components.\n\n// Static imports\n// ==============\n// These imports are (we assume) needed by all pages. However, it would be much better to load these in the modules that actually use them.\n//\n// These are static imports; code in `dynamically loaded components`_ deals with dynamic imports.\n//\n// jQuery-related imports.\nimport \"jquery-ui/jquery-ui.js\";\nimport \"jquery-ui/themes/base/jquery.ui.all.css\";\nimport \"./runestone/common/js/jquery.idle-timer.js\";\nimport \"./runestone/common/js/jquery_i18n/jquery.i18n.js\";\nimport \"./runestone/common/js/jquery_i18n/jquery.i18n.emitter.bidi.js\";\nimport \"./runestone/common/js/jquery_i18n/jquery.i18n.emitter.js\";\nimport \"./runestone/common/js/jquery_i18n/jquery.i18n.fallbacks.js\";\nimport \"./runestone/common/js/jquery_i18n/jquery.i18n.messagestore.js\";\nimport \"./runestone/common/js/jquery_i18n/jquery.i18n.parser.js\";\nimport \"./runestone/common/js/jquery_i18n/jquery.i18n.language.js\";\n\n// Bootstrap - not needed for pxx development\nimport \"bootstrap/dist/js/bootstrap.js\";\n\n// common styles come from here\nimport \"./ptxrs-bootstrap.less\";\nimport \"./runestone/common/project_template/_templates/plugin_layouts/sphinx_bootstrap/static/bootstrap-sphinx.js\";\n\n// Misc\nimport \"./runestone/common/js/bookfuncs.js\";\nimport \"./runestone/common/js/user-highlights.js\";\nimport \"./runestone/common/js/pretext.js\";\n\n// These belong in dynamic imports for the obvious component; however, these components don't include a ``data-component`` attribute.\nimport \"./runestone/matrixeq/css/matrixeq.css\";\nimport \"./runestone/webgldemo/css/webglinteractive.css\";\n\n// These are only needed for the Runestone book, but not in a library mode (such as pretext). I would prefer to dynamically load them. However, these scripts are so small I haven't bothered to do so.\nimport { getSwitch, switchTheme } from \"./runestone/common/js/theme.js\";\nimport \"./runestone/common/js/presenter_mode.js\";\nimport \"./runestone/common/css/presenter_mode.less\";\nimport { renderOneComponent } from \"./runestone/common/js/renderComponent.js\";\nimport RunestoneBase from \"./runestone/common/js/runestonebase.js\";\nimport { SpliceWrapper } from \"./runestone/splice/js/spliceWrapper.js\";\n\n// Dynamically loaded components\n// =============================\n// This provides a list of modules that components can dynamically import. Webpack will create a list of imports for each based on its analysis.\nconst module_map = {\n // Wrap each import in a function, so that it won't occur until the function is called. While something cleaner would be nice, webpack can't analyze things like ``import(expression)``.\n //\n // The keys must match the value of each component's ``data-component`` attribute -- the ``runestone_import`` and ``runestone_auto_import`` functions assume this.\n activecode: () => import(\"./runestone/activecode/js/acfactory.js\"),\n ble: () => import(\"./runestone/cellbotics/js/ble.js\"),\n // Always import the timed version of a component if available, since the timed components also define the component's factory and include the component as well. Note that ``acfactory`` imports the timed components of ActiveCode, so it follows this pattern.\n clickablearea: () =>\n import(\"./runestone/clickableArea/js/timedclickable.js\"),\n codelens: () => import(\"./runestone/codelens/js/codelens.js\"),\n datafile: () => import(\"./runestone/datafile/js/datafile.js\"),\n dragndrop: () => import(\"./runestone/dragndrop/js/timeddnd.js\"),\n fillintheblank: () => import(\"./runestone/fitb/js/timedfitb.js\"),\n groupsub: () => import(\"./runestone/groupsub/js/groupsub.js\"),\n khanex: () => import(\"./runestone/khanex/js/khanex.js\"),\n lp_build: () => import(\"./runestone/lp/js/lp.js\"),\n matching: () => import(\"./runestone/matching/js/matching.js\"),\n multiplechoice: () => import(\"./runestone/mchoice/js/timedmc.js\"),\n hparsons: () => import(\"./runestone/hparsons/js/hparsons.js\"),\n parsons: () => import(\"./runestone/parsons/js/timedparsons.js\"),\n poll: () => import(\"./runestone/poll/js/poll.js\"),\n quizly: () => import(\"./runestone/quizly/js/quizly.js\"),\n reveal: () => import(\"./runestone/reveal/js/reveal.js\"),\n selectquestion: () => import(\"./runestone/selectquestion/js/selectone.js\"),\n shortanswer: () =>\n import(\"./runestone/shortanswer/js/timed_shortanswer.js\"),\n showeval: () => import(\"./runestone/showeval/js/showEval.js\"),\n simple_sensor: () => import(\"./runestone/cellbotics/js/simple_sensor.js\"),\n spreadsheet: () => import(\"./runestone/spreadsheet/js/spreadsheet.js\"),\n tabbedStuff: () => import(\"./runestone/tabbedStuff/js/tabbedstuff.js\"),\n timedAssessment: () => import(\"./runestone/timed/js/timed.js\"),\n wavedrom: () => import(\"./runestone/wavedrom/js/wavedrom.js\"),\n // TODO: since this isn't in a ``data-component``, need to trigger an import of this code manually.\n webwork: () => import(\"./runestone/webwork/js/webwork.js\"),\n youtube: () => import(\"./runestone/video/js/runestonevideo.js\"),\n doenet: () => Promise.resolve(), // Doenet is loaded separately\n};\n\nconst module_map_cache = {};\nconst QUEUE_FLUSH_TIME_MS = 10;\nconst queue = [];\nlet queueLastFlush = 0;\n/**\n * Queue imports that are requested within `QUEUE_FLUSH_TIME_MS` of each other.\n * All such imports are imported at once, and then a promise is fired after all\n * the imports in the queue window have completed.\n */\nfunction queueImport(component_name) {\n let resolve = null;\n let reject = null;\n const retPromise = new Promise((r, rej) => {\n resolve = r;\n reject = rej;\n });\n const item = { component_name, resolve, reject };\n queue.push(item);\n window.setTimeout(flushQueue, QUEUE_FLUSH_TIME_MS + 1);\n\n return retPromise;\n}\nasync function flushQueue() {\n if (queue.length === 0) {\n return;\n }\n if (Date.now() - queueLastFlush < QUEUE_FLUSH_TIME_MS) {\n window.setTimeout(flushQueue, QUEUE_FLUSH_TIME_MS + 1);\n return;\n }\n // If we made it here, it has been at least QUEUE_FLUSH_TIME_MS since\n // the last time we flushed the queue. Therefore, we should start flushing.\n // We copy everything we flush and empty the array first.\n queueLastFlush = Date.now();\n const toFlush = [...queue];\n queue.length = 0;\n console.log(\n \"Webpack is starting the loading process for the following Runestone modules\",\n toFlush.map((item) => item.component_name)\n );\n const flushedPromise = toFlush.map(async (item) => {\n try {\n await module_map[item.component_name]();\n console.log(\n `Runestone component ${item.component_name} has been loaded`\n );\n return item;\n } catch (e) {\n item.reject(e);\n }\n });\n const flushed = await Promise.all(flushedPromise);\n try {\n flushed.forEach(function (item) {\n if (item) {\n item.resolve();\n }\n });\n } catch (e) {\n console.error(e);\n }\n}\n\n// .. _dynamic import machinery:\n//\n// Dynamic import machinery\n// ========================\n// Fulfill a promise when the Runestone pre-login complete event occurs.\nlet pre_login_complete_promise = new Promise((resolve) =>\n $(document).on(\"runestone:pre-login-complete\", resolve)\n);\nlet loadedComponents;\n// Provide a simple function to import the JS for all components on the page.\nexport function runestone_auto_import() {\n // Create a set of ``data-component`` values, to avoid duplication.\n const s = new Set(\n // All Runestone components have a ``data-component`` attribute.\n $(\"[data-component]\")\n .map(\n // Extract the value of the data-component attribute.\n (index, element) => $(element).attr(\"data-component\")\n // Switch from a jQuery object back to an array, passing that to the Set constructor.\n )\n .get()\n );\n // webwork questions are not wrapped in div with a data-component so we have to check a different way\n if (document.querySelector(\".webwork-button\")) {\n s.add(\"webwork\");\n }\n\n // Load JS for each of the components found.\n const a = [...s].map((value) => {\n let z;\n console.log(`Loading Runestone component: ${value}`);\n try {\n z = (module_map[value] || (() => Promise.resolve()))();\n } catch (e) {\n console.error(`Error loading ${value}:`, e);\n }\n z.error = (msg) => console.error(`Error in ${value}:`, msg);\n return z;\n });\n\n // Send the Runestone login complete event when all JS is loaded and the pre-login is also complete.\n Promise.all([pre_login_complete_promise, ...a]).then(function () {\n if (!document.body.dataset.reactInUse) {\n document.dispatchEvent(new CustomEvent(\"runestone:login-complete\"));\n }\n });\n}\n\npre_login_complete_promise.then(() => {\n console.log(\"Runestone pre-login complete\");\n});\n\n// Load component JS when the document is ready.\n$(document).ready(runestone_auto_import);\n\n// Provide a function to import one specific `Runestone` component.\n// the import function inside module_map is async -- runestone_import\n// should be awaited when necessary to ensure the import completes\nexport async function runestone_import(component_name) {\n if (module_map_cache[component_name]) {\n return module_map_cache[component_name];\n }\n console.log(\n `Runestone component ${component_name} is being queued for import`\n );\n const promise = queueImport(component_name);\n module_map_cache[component_name] = promise;\n return promise;\n}\n\nasync function popupScratchAC() {\n // load the activecode bundle\n await runestone_import(\"activecode\");\n // scratchDiv will be defined if we have already created a scratch\n // activecode. If its not defined then we need to get it ready to toggle\n if (!eBookConfig.scratchDiv) {\n window.ACFactory.createScratchActivecode();\n let divid = eBookConfig.scratchDiv;\n window.componentMap[divid] = ACFactory.createActiveCode(\n $(`#${divid}`)[0],\n eBookConfig.acDefaultLanguage\n );\n if (eBookConfig.isLoggedIn) {\n window.componentMap[divid].enableSaveLoad();\n }\n }\n setTimeout(() => {\n window.ACFactory.toggleScratchActivecode();\n }, 100);\n}\n\n// Set the directory containing this script as the `path `_ for all webpacked scripts.\nconst script_src = document.currentScript.src;\n__webpack_public_path__ = script_src.substring(\n 0,\n script_src.lastIndexOf(\"/\") + 1\n);\n\nvar splice = new SpliceWrapper();\n\n// Manual exports\n// ==============\n// Webpack's ``output.library`` setting doesn't seem to work with the split chunks plugin; do all exports manually through the ``window`` object instead.\n\nconst rc = {};\nrc.runestone_import = runestone_import;\nrc.runestone_auto_import = runestone_auto_import;\nrc.getSwitch = getSwitch;\nrc.switchTheme = switchTheme;\nrc.popupScratchAC = popupScratchAC;\nrc.renderOneComponent = renderOneComponent;\nwindow.componentMap = {};\nwindow.runestoneComponents = rc;\n","export function getSwitch() {\n const toggleSwitch = document.querySelector('.theme-switch input[type=\"checkbox\"]');\n const currentTheme = localStorage.getItem('theme') ? localStorage.getItem('theme') : null;\n\n if (currentTheme) {\n document.documentElement.setAttribute('data-theme', currentTheme);\n\n if (currentTheme === 'dark') {\n toggleSwitch.checked = true;\n }\n }\n}\n\nexport function switchTheme() {\n\n\tvar checkBox = document.getElementById(\"checkbox\");\n if (checkBox.checked == true) {\n document.documentElement.setAttribute('data-theme', 'dark');\n localStorage.setItem('theme', 'dark'); //add this\n }\n else {\n document.documentElement.setAttribute('data-theme', 'light');\n localStorage.setItem('theme', 'light'); //add this\n }\n}\n","/* ********************************\n * |docname| - Runestone Base Class\n * ********************************\n * All runestone components should inherit from RunestoneBase. In addition all runestone components should do the following things:\n *\n * 1. Ensure that they are wrapped in a div with the class runestone\n * 2. Write their source AND their generated html to the database if the database is configured\n * 3. Properly save and restore their answers using the checkServer mechanism in this base class. Each component must provide an implementation of:\n *\n * - checkLocalStorage\n * - setLocalStorage\n * - restoreAnswers\n * - disableInteraction\n *\n * 4. provide a Selenium based unit test\n */\n\nimport { pageProgressTracker } from \"./bookfuncs.js\";\n//import \"./../styles/runestone-custom-sphinx-bootstrap.css\";\n\nvar NO_DECORATE = [\"parsonsMove\", \"showeval\", \"video\", \"poll\", \"view_toggle\",\n \"dashboard\", \"selectquestion\", \"codelens\", \"peer\", \"shortanswer\"]\nexport default class RunestoneBase {\n constructor(opts) {\n this.component_ready_promise = new Promise(\n (resolve) => (this._component_ready_resolve_fn = resolve)\n );\n this.optional = false;\n if (typeof window.allComponents === \"undefined\") {\n window.allComponents = [];\n }\n window.allComponents.push(this);\n if (opts) {\n this.sid = opts.sid;\n this.graderactive = opts.graderactive;\n this.showfeedback = true;\n if (opts.timed) {\n this.isTimed = true;\n }\n if (opts.enforceDeadline) {\n this.deadline = opts.deadline;\n }\n this.optional = this.parseBooleanAttribute(opts.orig, \"data-optional\");\n if (opts.selector_id) {\n this.selector_id = opts.selector_id;\n }\n if (typeof opts.assessmentTaken !== \"undefined\") {\n this.assessmentTaken = opts.assessmentTaken;\n } else {\n // default to true as this opt is only provided from a timedAssessment\n this.assessmentTaken = true;\n }\n // This is for the selectquestion points\n // If a selectquestion is part of a timed exam it will get\n // the timedWrapper options.\n if (typeof opts.timedWrapper !== \"undefined\") {\n this.timedWrapper = opts.timedWrapper;\n } else {\n // However sometimes selectquestions\n // are used in regular assignments. The hacky way to detect this\n // is to look for doAssignment in the URL and then grab\n // the assignment name from the heading.\n if (location.href.indexOf(\"doAssignment\") >= 0) {\n this.timedWrapper = $(\"h1#assignment_name\").text();\n } else {\n this.timedWrapper = null;\n }\n }\n if ($(opts.orig).data(\"question_label\")) {\n this.question_label = $(opts.orig).data(\"question_label\");\n }\n this.is_toggle = true ? opts.is_toggle : false;\n this.is_select = true ? opts.is_select : false;\n }\n this.mjelements = [];\n let self = this;\n this.mjReady = new Promise(function (resolve, reject) {\n self.mjresolver = resolve;\n });\n this.aQueue = new AutoQueue();\n if (opts && typeof opts.preamble !== \"undefined\") {\n this.preamble = opts.preamble;\n let y = document.createElement(\"div\");\n y.classList.add(\"hidden-content\");\n y.classList.add(\"process-math\");\n y.innerHTML = \"\\\\(\" + this.preamble + \"\\\\)\";\n // This is a hack to get the preamble into the DOM so that MathJax can process it.\n opts.orig.appendChild(y);\n y.id = \"ltx_preamble\";\n y.style.display = \"none\";\n // Add the preamble to the queue object so it can prepend it to\n // future MathJax processing\n this.aQueue.preamble = y\n }\n\n this.jsonHeaders = new Headers({\n \"Content-type\": \"application/json; charset=utf-8\",\n Accept: \"application/json\",\n });\n }\n\n // Helper for parsing boolean data-* attributes\n // Unset/\"false\"/\"no\" means false, anything else, including empty string means true\n parseBooleanAttribute(element, attributeName) {\n const attrValue = element.getAttribute(attributeName);\n if (attrValue === null) {\n return false;\n }\n const lowerValue = attrValue.toLowerCase();\n if (lowerValue === \"false\" || lowerValue === \"no\") {\n return false;\n }\n return true;\n }\n\n // _`logBookEvent`\n //----------------\n // This function sends the provided ``eventInfo`` to the `hsblog endpoint` of the server. Awaiting this function returns either ``undefined`` (if Runestone services are not available) or the data returned by the server as a JavaScript object (already JSON-decoded).\n async logBookEvent(eventInfo) {\n if (this.graderactive) {\n return;\n }\n let post_return;\n eventInfo.course_name = eBookConfig.course;\n eventInfo.clientLoginStatus = eBookConfig.isLoggedIn;\n eventInfo.timezoneoffset = new Date().getTimezoneOffset() / 60;\n // For selectquestions we need to log using the selector_id for real time scoring\n if (this.selector_id) {\n eventInfo.selector_id = this.selector_id;\n }\n if (typeof this.percent === \"number\") {\n eventInfo.percent = this.percent;\n }\n if (window.assignmentId) {\n eventInfo.assignment_id = window.assignmentId;\n }\n if (\n eBookConfig.isLoggedIn &&\n eBookConfig.useRunestoneServices &&\n eBookConfig.logLevel > 0\n ) {\n post_return = this.postLogMessage(eventInfo);\n }\n if (!this.isTimed || eBookConfig.debug) {\n let prefix = eBookConfig.isLoggedIn ? \"Save\" : \"Not\";\n console.log(`${prefix} logging event ` + JSON.stringify(eventInfo));\n }\n // When selectquestions are part of an assignment especially toggle questions\n // we need to count using the selector_id of the select question.\n // We also need to log an event for that selector so that we will know\n // that interaction has taken place. This is **independent** of how the\n // autograder will ultimately grade the question!\n if (this.selector_id) {\n eventInfo.div_id = this.selector_id.replace(\n \"-toggleSelectedQuestion\",\n \"\"\n );\n eventInfo.event = \"selectquestion\";\n eventInfo.act = \"interaction\";\n this.postLogMessage(eventInfo);\n }\n if (\n typeof pageProgressTracker.updateProgress === \"function\" &&\n eventInfo.act != \"edit\" &&\n this.optional == false\n ) {\n pageProgressTracker.updateProgress(eventInfo.div_id);\n }\n // if the event is in the NO_DECORATE list then don't decorate the status\n if (NO_DECORATE.indexOf(eventInfo.event) === -1) {\n this.decorateStatus();\n }\n return post_return;\n }\n\n async postLogMessage(eventInfo) {\n var post_return;\n let request = new Request(\n `${eBookConfig.new_server_prefix}/logger/bookevent`,\n {\n method: \"POST\",\n headers: this.jsonHeaders,\n body: JSON.stringify(eventInfo),\n }\n );\n try {\n var response = await fetch(request);\n if (!response.ok) {\n if (response.status === 422) {\n // Get details about why this is unprocesable.\n post_return = await response.json();\n console.log(JSON.stringify(post_return.detail, null, 4));\n throw new Error(\"Unprocessable Request\");\n } else if (response.status == 401) {\n post_return = await response.json();\n console.log(\n `Missing authentication token ${post_return.detail}`\n );\n throw new Error(\"Missing authentication token\");\n }\n throw new Error(`Failed to save the log entry\n Status: ${response.status}`);\n }\n post_return = await response.json();\n let scoreSpec = post_return.detail;\n let gradeBox = null;\n if (this.selector_id) {\n let selector_id = this.selector_id.replace(\n \"-toggleSelectedQuestion\",\n \"\"\n );\n gradeBox = document.getElementById(`${selector_id}_score`);\n } else {\n gradeBox = document.getElementById(`${this.divid}_score`);\n }\n if (gradeBox && !this.isTimed && scoreSpec.score) {\n this.updateScores(gradeBox, scoreSpec);\n }\n } catch (e) {\n let detail = \"none\";\n if (post_return && post_return.detail) {\n detail = post_return.detail;\n }\n if (eBookConfig.useRunestoneServices) {\n alert(`Error: Your action was not saved!\n The error was ${e}\n Status Code: ${response.status}\n Detail: ${JSON.stringify(detail, null, 4)}.\n Please report this error!`);\n }\n // send a request to save this error\n console.log(\n `Error: ${e} Detail: ${detail} Status Code: ${response.status}`\n );\n }\n return post_return;\n }\n // update the score for the question and the total score\n // the presence of the gradeBox is used to determine if we are on an assignment page.\n updateScores(gradeBox, scoreSpec) {\n if (!scoreSpec.assigned || scoreSpec.score === null) {\n document.getElementById(`${this.divid}_message`).innerHTML = \"Score not updated. Submissions are closed.\";\n return;\n }\n let scoreSpan = gradeBox.getElementsByClassName(\"qscore\")[0];\n if (scoreSpan) {\n scoreSpan.innerHTML = scoreSpec.score.toFixed(1);\n }\n let allScores = document.getElementsByClassName(\"qscore\");\n let allmax = document.getElementsByClassName(\"qmaxscore\");\n let total = 0;\n let max = 0;\n for (let i = 0; i < allScores.length; i++) {\n total += parseFloat(allScores[i].innerHTML);\n max += parseFloat(allmax[i].innerHTML);\n }\n let totalSpan = document.getElementById(\"total_score\");\n if (totalSpan) {\n totalSpan.innerHTML = total.toFixed(1);\n }\n let maxSpan = document.getElementById(\"total_max\");\n if (maxSpan) {\n maxSpan.innerHTML = max;\n }\n let percentSpan = document.getElementById(\"total_percent\");\n if (percentSpan) {\n percentSpan.innerHTML = ((total / max) * 100).toFixed(2);\n }\n }\n\n // .. _logRunEvent:\n //\n // logRunEvent\n // -----------\n // This function sends the provided ``eventInfo`` to the `runlog endpoint`. When awaited, this function returns the data (decoded from JSON) the server sent back.\n async logRunEvent(eventInfo) {\n let post_promise = \"done\";\n if (this.graderactive) {\n return;\n }\n eventInfo.course = eBookConfig.course;\n eventInfo.clientLoginStatus = eBookConfig.isLoggedIn;\n eventInfo.timezoneoffset = new Date().getTimezoneOffset() / 60;\n if (this.forceSave || \"to_save\" in eventInfo === false) {\n eventInfo.save_code = \"True\";\n }\n if (typeof eventInfo.errinfo !== \"undefined\") {\n eventInfo.errinfo = eventInfo.errinfo.toString();\n }\n if (\n eBookConfig.isLoggedIn &&\n eBookConfig.useRunestoneServices &&\n eBookConfig.logLevel > 0\n ) {\n let request = new Request(\n `${eBookConfig.new_server_prefix}/logger/runlog`,\n {\n method: \"POST\",\n headers: this.jsonHeaders,\n body: JSON.stringify(eventInfo),\n }\n );\n let response = await fetch(request);\n if (!response.ok) {\n post_promise = await response.json();\n if (eBookConfig.useRunestoneServices) {\n alert(`Failed to save your code\n Status is ${response.status}\n Detail: ${JSON.stringify(\n post_promise.detail,\n null,\n 4\n )}`);\n } else {\n console.log(\n `Did not save the code.\n Status: ${response.status}\n Detail: ${JSON.stringify(\n post_promise.detail,\n null,\n 4\n )}`\n );\n }\n } else {\n post_promise = await response.json();\n }\n }\n if (!this.isTimed || eBookConfig.debug) {\n console.log(\"running \" + JSON.stringify(eventInfo));\n }\n if (\n typeof pageProgressTracker.updateProgress === \"function\" &&\n this.optional == false\n ) {\n pageProgressTracker.updateProgress(eventInfo.div_id);\n }\n return post_promise;\n }\n /* Checking/loading from storage\n **WARNING:** DO NOT `await` this function!\n This function, although async, does not explicitly resolve its promise by returning a value. The reason for this is because it is called by the constructor for nearly every component. In Javascript constructors cannot be async!\n\n One of the recommended ways to handle the async requirements from within a constructor is to use an attribute as a promise and resolve that attribute at the appropriate time.\n */\n async checkServer(\n // A string specifying the event name to use for querying the :ref:`getAssessResults` endpoint.\n eventInfo,\n // If true, this function will invoke ``indicate_component_ready()`` just before it returns. This is provided since most components are ready after this function completes its work.\n //\n // TODO: This defaults to false, to avoid causing problems with any components that haven't been updated and tested. After all Runestone components have been updated, default this to true and remove the extra parameter from most calls to this function.\n will_be_ready = false\n ) {\n // Check if the server has stored answer\n let self = this;\n this.checkServerComplete = new Promise(function (resolve, reject) {\n self.csresolver = resolve;\n });\n if (\n eBookConfig.isLoggedIn &&\n (this.useRunestoneServices || this.graderactive)\n ) {\n let data = {};\n data.div_id = this.divid;\n data.course = eBookConfig.course;\n data.event = eventInfo;\n if (this.graderactive && this.deadline) {\n data.deadline = this.deadline;\n data.rawdeadline = this.rawdeadline;\n data.tzoff = this.tzoff;\n }\n if (this.sid) {\n data.sid = this.sid;\n }\n if (!(data.div_id && data.course && data.event)) {\n console.log(\n `A required field is missing data ${data.div_id}:${data.course}:${data.event}`\n );\n }\n // If we are NOT in practice mode and we are not in a peer exercise\n // and assessmentTaken is true\n if (\n !eBookConfig.practice_mode &&\n !eBookConfig.peer &&\n this.assessmentTaken\n ) {\n let request = new Request(\n `${eBookConfig.new_server_prefix}/assessment/results`,\n {\n method: \"POST\",\n body: JSON.stringify(data),\n headers: this.jsonHeaders,\n }\n );\n try {\n let response = await fetch(request);\n console.log(`Response from server: ${response.status}`);\n if (response.ok) {\n data = await response.json();\n data = data.detail;\n console.log(`Data from server: ${JSON.stringify(data)} calling repopulateFromStorage`);\n this.repopulateFromStorage(data);\n this.attempted = true;\n if (typeof data.correct !== \"undefined\") {\n this.correct = data.correct;\n } else {\n this.correct = null;\n }\n console.log(`resolving checkServer with server data`);\n this.csresolver(\"server\");\n } else {\n console.log(\n `HTTP Error getting results: ${response.statusText}`\n );\n this.checkLocalStorage(); // just go right to local storage\n console.log(`resolving checkServer with local data`);\n this.csresolver(\"local\");\n }\n } catch (err) {\n console.log(`Error getting results: ${err}`);\n try {\n this.checkLocalStorage();\n } catch (err) {\n console.log(err);\n }\n }\n } else {\n this.loadData({});\n console.log(`resolving checkServer no answer given`);\n this.csresolver(\"not taken\");\n }\n } else {\n this.checkLocalStorage(); // just go right to local storage\n console.log(`resolving checkServer with local data`);\n this.csresolver(\"local\");\n }\n\n if (will_be_ready) {\n this.indicate_component_ready();\n }\n }\n\n // This method assumes that ``this.componentDiv`` refers to the ``div`` containing the component, and that this component's ID is set.\n indicate_component_ready() {\n // Add a class to indicate the component is now ready.\n this.containerDiv.classList.add(\"runestone-component-ready\");\n // Resolve the ``this.component_ready_promise``.\n this._component_ready_resolve_fn();\n }\n\n loadData(data) {\n // for most classes, loadData doesn't do anything. But for Parsons, and perhaps others in the future,\n // initialization can happen even when there's no history to be loaded\n return null;\n }\n\n /**\n * repopulateFromStorage is called after a successful API call is made to ``getAssessResults`` in\n * the checkServer method in this class\n *\n * ``restoreAnswers,`` ``setLocalStorage`` and ``checkLocalStorage`` are defined in the child classes.\n *\n * @param {*} data - a JSON object representing the data needed to restore a previous answer for a component\n * @param {*} status - the http status\n * @param {*} whatever - ignored\n */\n repopulateFromStorage(data) {\n // decide whether to use the server's answer (if there is one) or to load from storage\n if (data !== null && data !== \"no data\" && this.shouldUseServer(data)) {\n this.restoreAnswers(data);\n this.setLocalStorage(data);\n } else {\n this.checkLocalStorage();\n }\n this.decorateStatus();\n }\n shouldUseServer(data) {\n // returns true if server data is more recent than local storage or if server storage is correct\n if (\n data.correct === \"T\" ||\n data.correct === true ||\n localStorage.length === 0 ||\n this.graderactive === true ||\n this.isTimed\n ) {\n return true;\n }\n let ex = localStorage.getItem(this.localStorageKey());\n if (ex === null) {\n return true;\n }\n let storedData;\n try {\n storedData = JSON.parse(ex);\n } catch (err) {\n // error while parsing; likely due to bad value stored in storage\n console.log(err.message);\n localStorage.removeItem(this.localStorageKey());\n // definitely don't want to use local storage here\n return true;\n }\n if (data.answer == storedData.answer) return true;\n let storageDate = new Date(storedData.timestamp);\n let serverDate = new Date(data.timestamp);\n return serverDate >= storageDate;\n }\n // Return the key which to be used when accessing local storage.\n localStorageKey() {\n return (\n eBookConfig.email +\n \":\" +\n eBookConfig.course +\n \":\" +\n this.divid +\n \"-given\"\n );\n }\n addCaption(elType) {\n //someElement.parentNode.insertBefore(newElement, someElement.nextSibling);\n if (!this.isTimed) {\n var capDiv = document.createElement(\"p\");\n if (this.question_label) {\n // Display caption based on whether Runestone services have been detected\n this.caption = eBookConfig.useRunestoneServices\n ? `Activity: ${this.question_label} ${this.caption} (${this.divid})`\n : `Activity: ${this.question_label} ${this.caption}`; // Without runestone\n $(capDiv).html(this.caption);\n $(capDiv).addClass(`${elType}_caption`);\n } else {\n // Display caption based on whether Runestone services have been detected\n $(capDiv).html(\n eBookConfig.useRunestoneServices\n ? this.caption + \" (\" + this.divid + \")\"\n : this.caption\n ); // Without runestone\n $(capDiv).addClass(`${elType}_caption`);\n $(capDiv).addClass(`${elType}_caption_text`);\n }\n this.capDiv = capDiv;\n //this.outerDiv.parentNode.insertBefore(capDiv, this.outerDiv.nextSibling);\n this.containerDiv.appendChild(capDiv);\n }\n }\n\n hasUserActivity() {\n return this.isAnswered;\n }\n\n checkCurrentAnswer() {\n console.log(\n \"Each component should provide an implementation of checkCurrentAnswer\"\n );\n }\n\n async logCurrentAnswer() {\n console.log(\n \"Each component should provide an implementation of logCurrentAnswer\"\n );\n }\n renderFeedback() {\n console.log(\n \"Each component should provide an implementation of renderFeedback\"\n );\n }\n disableInteraction() {\n console.log(\n \"Each component should provide an implementation of disableInteraction\"\n );\n }\n\n toString() {\n return `${this.constructor.name}: ${this.divid}`;\n }\n\n queueMathJax(component) {\n if (typeof MathJax === \"undefined\") {\n console.log(\"Error -- MathJax is not loaded\");\n return Promise.resolve(null);\n } else {\n // See - https://docs.mathjax.org/en/latest/advanced/typeset.html\n // Per the above we should keep track of the promises and only call this\n // a second time if all previous promises have resolved.\n // Create a queue of components\n // should wait until defaultPageReady is defined\n // If defaultPageReady is not defined then just enqueue the components.\n // Once defaultPageReady is defined\n // the window.runestoneMathReady promise will be fulfilled when the\n // initial typesetting is complete.\n if (MathJax.typesetPromise) {\n if (typeof window.runestoneMathReady !== \"undefined\") {\n return window.runestoneMathReady.then(() =>\n this.mjresolver(this.aQueue.enqueue(component))\n );\n } else {\n return this.mjresolver(this.aQueue.enqueue(component));\n }\n } else {\n console.log(`Waiting on MathJax!! ${MathJax.typesetPromise}`);\n setTimeout(() => this.queueMathJax(component), 200);\n console.log(`Returning mjready promise: ${this.mjReady}`);\n return this.mjReady;\n }\n }\n }\n\n decorateStatus() {\n if (this.isTimed || eBookConfig.peer) return;\n let rsDiv = $(this.containerDiv).closest(\"div.runestone\")[0];\n if (!rsDiv) return;\n rsDiv.classList.remove(\"notAnswered\");\n rsDiv.classList.remove(\"isInCorrect\");\n rsDiv.classList.remove(\"isCorrect\");\n if (this.correct) {\n rsDiv.classList.add(\"isCorrect\");\n } else {\n if (this.correct === null || typeof this.correct === \"undefined\") {\n rsDiv.classList.add(\"notAnswered\");\n } else {\n rsDiv.classList.add(\"isInCorrect\");\n }\n }\n }\n}\n\n// Inspiration and lots of code for this solution come from\n// https://stackoverflow.com/questions/53540348/js-async-await-tasks-queue\n// The idea here is that until MathJax is ready we can just enqueue things\n// once mathjax becomes ready then we can drain the queue and continue as usual.\n\nclass Queue {\n constructor() {\n this._items = [];\n }\n enqueue(item) {\n this._items.push(item);\n }\n dequeue() {\n return this._items.shift();\n }\n get size() {\n return this._items.length;\n }\n}\n\nclass AutoQueue extends Queue {\n constructor() {\n super();\n this._pendingPromise = false;\n }\n\n enqueue(component) {\n return new Promise((resolve, reject) => {\n super.enqueue({ component, resolve, reject });\n this.dequeue();\n });\n }\n\n async dequeue() {\n if (this._pendingPromise) return false;\n\n let item = super.dequeue();\n\n if (!item) return false;\n let qq = this;\n try {\n this._pendingPromise = true;\n\n let payload = await window.runestoneMathReady\n .then(async function () {\n console.log(\n `MathJax Ready -- dequeing a typesetting run for ${item.component.id} ${qq.preamble?.innerHTML}`\n );\n if (qq.preamble) {\n await MathJax.typesetPromise([qq.preamble])\n // Use insertAdjacentElement to preserve existing DOM elements and event listeners\n // instead of overwriting innerHTML which destroys event handlers\n let preambleDiv = document.createElement(\"div\");\n preambleDiv.innerHTML = qq.preamble.innerHTML;\n item.component.insertAdjacentElement(\"afterbegin\", preambleDiv);\n console.log(\n `MathJax typeset the preamble for ${item.component.id}`\n );\n return await MathJax.typesetPromise([item.component]);\n } else {\n return await MathJax.typesetPromise([item.component]);\n }\n });\n\n this._pendingPromise = false;\n item.resolve(payload);\n } catch (e) {\n this._pendingPromise = false;\n item.reject(e);\n } finally {\n // If there are more items in the queue, continue processing them\n this.dequeue();\n }\n\n return true;\n }\n}\n\nwindow.RunestoneBase = RunestoneBase;\n","/**\n *\n * User: bmiller\n * Original: 2011-04-20\n * Date: 2019-06-14\n * Time: 2:01 PM\n * This change marks the beginning of version 4.0 of the runestone components\n * Login/logout is no longer handled through javascript but rather server side.\n * Many of the components depend on the runestone:login event so we will keep that\n * for now to keep the churn fairly minimal.\n */\n\n/*\n\n Copyright (C) 2011 Brad Miller bonelake@gmail.com\n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n This program is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\n */\n\n//\n// Page decoration functions\n//\n\nfunction addReadingList() {\n if (eBookConfig.readings) {\n var l, nxt, path_parts, nxt_link;\n let cur_path_parts = window.location.pathname.split(\"/\");\n let name =\n cur_path_parts[cur_path_parts.length - 2] +\n \"/\" +\n cur_path_parts[cur_path_parts.length - 1];\n let position = eBookConfig.readings.indexOf(name);\n let num_readings = eBookConfig.readings.length;\n if (position == eBookConfig.readings.length - 1) {\n // no more readings\n l = $(\"
    \", {\n text: `Finished reading assignment. Page ${num_readings} of ${num_readings}.`,\n });\n } else if (position >= 0) {\n // get next name\n nxt = eBookConfig.readings[position + 1];\n path_parts = cur_path_parts.slice(0, cur_path_parts.length - 2);\n path_parts.push(nxt);\n nxt_link = path_parts.join(\"/\");\n l = $(\"\", {\n name: \"link\",\n class: \"btn btn-lg ' + 'buttonConfirmCompletion'\",\n href: nxt_link,\n text: `Continue to page ${\n position + 2\n } of ${num_readings} in the reading assignment.`,\n });\n } else {\n l = $(\"
    \", {\n text: \"This page is not part of the last reading assignment you visited.\",\n });\n }\n $(\"#main-content\").append(l);\n }\n}\n\nfunction timedRefresh() {\n var timeoutPeriod = 900000; // 75 minutes\n $(document).on(\"idle.idleTimer\", function () {\n // After timeout period send the user back to the index. This will force a login\n // if needed when they want to go to a particular page. This may not be perfect\n // but its an easy way to make sure laptop users are properly logged in when they\n // take quizzes and save stuff.\n if (location.href.indexOf(\"index.html\") < 0) {\n console.log(\"Idle timer - \" + location.pathname);\n location.href =\n eBookConfig.app +\n \"/default/user/login?_next=\" +\n location.pathname +\n location.search;\n }\n });\n $.idleTimer(timeoutPeriod);\n}\n\nclass PageProgressBar {\n constructor(actDict) {\n this.possible = 0;\n this.total = 1;\n if (actDict && \"assignment_spec\" in actDict) {\n this.assignment_spec = actDict.assignment_spec;\n delete actDict.assignment_spec;\n }\n if (actDict && Object.keys(actDict).length > 0) {\n this.activities = actDict;\n } else {\n let activities = { page: 0 };\n document.querySelectorAll(\".runestone\").forEach(function (e) {\n activities[e.firstElementChild.id] = 0;\n });\n this.activities = activities;\n }\n this.calculateProgress();\n // Hide the progress bar on the index page.\n if (\n window.location.pathname.match(\n /.*\\/(index.html|toctree.html|Exercises.html|search.html)$/i,\n )\n ) {\n const scprogresscontainer = document.getElementById(\n \"scprogresscontainer\",\n );\n if (scprogresscontainer) scprogresscontainer.style.display = \"none\";\n }\n this.renderProgress();\n }\n\n calculateProgress() {\n for (let k in this.activities) {\n if (k !== undefined) {\n this.possible++;\n if (this.activities[k] > 0) {\n this.total++;\n }\n }\n }\n }\n\n renderProgress() {\n let value = 0;\n const scprogresstotal = document.getElementById(\"scprogresstotal\");\n if (scprogresstotal) scprogresstotal.textContent = this.total;\n const scprogressposs = document.getElementById(\"scprogressposs\");\n if (scprogressposs) scprogressposs.textContent = this.possible;\n try {\n value = (100 * this.total) / this.possible;\n } catch (e) {\n value = 0;\n }\n // Replace #subchapterprogress div with a native element if not already done\n let subchapterprogress = document.getElementById(\"subchapterprogress\");\n if (subchapterprogress && subchapterprogress.tagName !== \"PROGRESS\") {\n // Replace the div with a element\n const progressElem = document.createElement(\"progress\");\n progressElem.id = \"subchapterprogress\";\n progressElem.max = 100;\n progressElem.value = value;\n // Copy over any classes from the old div\n progressElem.className = subchapterprogress.className;\n subchapterprogress.replaceWith(progressElem);\n subchapterprogress = progressElem;\n } else if (subchapterprogress) {\n subchapterprogress.max = 100;\n subchapterprogress.value = value;\n }\n if (this.assignment_spec) {\n // If the user has completed all activities, send the reading score.\n // This handles the case where there are no activities on the page or\n // where the user completed activities on the assignment page and now\n // is viewing the reading page.\n let completeActivities = this.total - 1; // subtract 1 for the page reading which is in total but not an activity\n let requiredActivities =\n this.assignment_spec.activities_required || 0;\n if (completeActivities >= requiredActivities) {\n this.sendCompletedReadingScore().then(() => {\n console.log(\"Reading score sent for page\");\n // wait a tick then mark the page complete\n // this is needed to let the progress bar update before marking complete\n setTimeout(() => {\n let cb = document.getElementById(\"completionButton\");\n if (\n cb &&\n cb.textContent.toLowerCase() === \"mark as completed\"\n ) {\n cb.click();\n }\n }, 500);\n });\n }\n }\n if (!eBookConfig.isLoggedIn) {\n const subchapterDiv = document.getElementById(\"subchapterprogress\");\n if (subchapterDiv) subchapterDiv.classList.add(\"loggedout\");\n }\n }\n\n updateProgress(div_id) {\n this.activities[div_id]++;\n // Only update the progress bar on the first interaction with an object.\n if (this.activities[div_id] === 1) {\n this.total++;\n let val = (100 * this.total) / this.possible;\n const scprogresstotal2 = document.getElementById(\"scprogresstotal\");\n if (scprogresstotal2) scprogresstotal2.textContent = this.total;\n const scprogressposs2 = document.getElementById(\"scprogressposs\");\n if (scprogressposs2) scprogressposs2.textContent = this.possible;\n let subchapterprogress2 =\n document.getElementById(\"subchapterprogress\");\n if (\n subchapterprogress2 &&\n subchapterprogress2.tagName === \"PROGRESS\"\n ) {\n subchapterprogress2.value = val;\n }\n if (\n this.assignment_spec &&\n this.assignment_spec.activities_required !== null &&\n this.total >= this.assignment_spec.activities_required\n ) {\n console.log(\"Required activities completed\");\n this.sendCompletedReadingScore().then(() => {\n console.log(\"Reading score sent\");\n });\n }\n if (\n val == 100.0 &&\n $(\"#completionButton\").text().toLowerCase() ===\n \"mark as completed\"\n ) {\n $(\"#completionButton\").click();\n }\n }\n }\n\n async sendCompletedReadingScore() {\n let headers = new Headers({\n \"Content-type\": \"application/json; charset=utf-8\",\n Accept: \"application/json\",\n });\n let data = { ...this.assignment_spec };\n let request = new Request(\n `${eBookConfig.new_server_prefix}/logger/update_reading_score`,\n {\n method: \"POST\",\n body: JSON.stringify(data),\n headers: headers,\n },\n );\n try {\n let response = await fetch(request);\n if (!response.ok) {\n console.error(\n `Failed to send reading score! ${response.statusText}`,\n );\n }\n data = await response.json();\n } catch (e) {\n console.error(`Error sending reading score ${e}`);\n }\n }\n}\n\nexport var pageProgressTracker = {};\n\nfunction getCookie(name) {\n const value = `; ${document.cookie}`;\n const parts = value.split(`; ${name}=`);\n if (parts.length === 2) return parts.pop().split(\";\").shift();\n}\n\nasync function handlePageSetup() {\n var mess;\n if (eBookConfig.useRunestoneServices) {\n let headers = new Headers({\n \"Content-type\": \"application/json; charset=utf-8\",\n Accept: \"application/json\",\n });\n let data = {\n timezoneoffset: new Date().getTimezoneOffset() / 60,\n timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,\n };\n let RS_info = getCookie(\"RS_info\");\n var tz_match = false;\n if (RS_info) {\n try {\n let cleaned = RS_info.replace(/\\\\054/g, \",\"); // handle octal comma encoding\n let info = JSON.parse(decodeURIComponent(cleaned));\n info = JSON.parse(decodeURIComponent(info));\n if (\n info.timezone === data.timezone &&\n info.tz_offset === data.timezoneoffset\n ) {\n console.log(\n \"Timezone cookie matches, not sending timezone to server\",\n );\n tz_match = true;\n }\n } catch (e) {\n console.error(\n \"Error parsing RS_info cookie, sending timezone to server\",\n );\n }\n }\n if (tz_match === false) {\n // Set a cookie so we don't have to do this again for a while.\n let request = new Request(\n `${eBookConfig.new_server_prefix}/logger/set_tz_offset`,\n {\n method: \"POST\",\n body: JSON.stringify(data),\n headers: headers,\n },\n );\n try {\n let response = await fetch(request);\n if (!response.ok) {\n console.error(\n `Failed to set timezone! ${response.statusText}`,\n );\n }\n data = await response.json();\n } catch (e) {\n console.error(`Error setting timezone ${e}`);\n }\n }\n }\n console.log(`This page served by ${eBookConfig.served_by}`);\n if (eBookConfig.isLoggedIn) {\n mess = `username: ${eBookConfig.username}`;\n if (!eBookConfig.isInstructor) {\n $(\"#ip_dropdown_link\").remove();\n $(\"#inst_peer_link\").remove();\n }\n $(document).trigger(\"runestone:login\");\n addReadingList();\n // Avoid the timedRefresh on the grading page.\n if (\n window.location.pathname.indexOf(\"/admin/grading\") == -1 &&\n window.location.pathname.indexOf(\"/peer/\") == -1\n ) {\n timedRefresh();\n }\n } else {\n mess = \"Not logged in\";\n $(document).trigger(\"runestone:logout\");\n let bw = document.getElementById(\"browsing_warning\");\n if (bw) {\n bw.innerHTML =\n \"\";\n }\n let aw = document.getElementById(\"ad_warning\");\n if (aw) {\n aw.innerHTML =\n \"\";\n }\n }\n $(\".loggedinuser\").html(mess);\n\n pageProgressTracker = new PageProgressBar(eBookConfig.activities);\n notifyRunestoneComponents();\n}\n\nfunction setupNavbarLoggedIn() {\n $(\"#profilelink\").show();\n $(\"#passwordlink\").show();\n $(\"#registerlink\").hide();\n $(\"li.loginout\").html(\n 'Log Out',\n );\n}\ndocument.addEventListener(\"runestone:login\", setupNavbarLoggedIn);\n\nfunction setupNavbarLoggedOut() {\n if (eBookConfig.useRunestoneServices) {\n console.log(\"setup navbar for logged out\");\n $(\"#registerlink\").show();\n $(\"#profilelink\").hide();\n $(\"#passwordlink\").hide();\n $(\"#ip_dropdown_link\").hide();\n $(\"#inst_peer_link\").hide();\n $(\"li.loginout\").html(\n 'Login',\n );\n $(\".footer\").html(\"user not logged in\");\n }\n}\ndocument.addEventListener(\"runestone:logout\", setupNavbarLoggedOut);\n\nfunction notifyRunestoneComponents() {\n // Runestone components wait until login process is over to load components because of storage issues. This triggers the `dynamic import machinery`, which then sends the login complete signal when this and all dynamic imports are finished.\n console.log(\"triggering runestone:pre-login-complete\");\n document.dispatchEvent(new Event(\"runestone:pre-login-complete\"));\n}\n\nfunction placeAdCopy() {\n if (typeof showAd !== \"undefined\" && showAd) {\n let adNum = Math.floor(Math.random() * 2) + 1;\n let adBlock = document.getElementById(`adcopy_${adNum}`);\n let rsElements = document.querySelectorAll(\".runestone\");\n if (rsElements.length > 0) {\n let randomIndex = Math.floor(Math.random() * rsElements.length);\n rsElements[randomIndex].after(adBlock);\n adBlock.style.display = \"block\";\n }\n }\n}\n\n// initialize stuff\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n if (eBookConfig) {\n handlePageSetup();\n placeAdCopy();\n } else {\n if (typeof eBookConfig === \"undefined\") {\n console.log(\n \"eBookConfig is not defined. This page must not be set up for Runestone\",\n );\n }\n }\n});\n\n// misc stuff\n// todo: This could be further distributed but making a video.js file just for one function seems dumb.\nwindow.addEventListener(\"load\", function () {\n // add the video play button overlay image\n document.querySelectorAll(\".video-play-overlay\").forEach(function (el) {\n el.style.backgroundImage =\n \"url('{{pathto('_static/play_overlay_icon.png', 1)}}')\";\n });\n\n // This function is needed to allow the dropdown search bar to work;\n // The default behaviour is that the dropdown menu closes when something in\n // it (like the search bar) is clicked\n document\n .querySelectorAll(\".dropdown input, .dropdown label\")\n .forEach(function (el) {\n el.addEventListener(\"click\", function (e) {\n e.stopPropagation();\n });\n });\n\n // re-write some urls\n // This is tricker than it looks and you have to obey the rules for # anchors\n // The #anchors must come after the query string as the server basically ignores any part\n // of a url that comes after # - like a comment...\n if (location.href.includes(\"mode=browsing\")) {\n let queryString = \"?mode=browsing\";\n document.querySelectorAll(\"a\").forEach((link) => {\n let anchorText = \"\";\n if (\n link.href.includes(\"books/published\") &&\n !link.href.includes(\"?mode=browsing\")\n ) {\n if (link.href.includes(\"#\")) {\n let aPoint = link.href.indexOf(\"#\");\n anchorText = link.href.substring(aPoint);\n link.href = link.href.substring(0, aPoint);\n }\n link.href = link.href.includes(\"?\")\n ? link.href + queryString.replace(\"?\", \"&\") + anchorText\n : link.href + queryString + anchorText;\n }\n });\n }\n});\n\n/**\n * Returns true if the string appears to contain LaTeX math.\n */\nexport function looksLikeLatexMath(text) {\n if (typeof text !== \"string\") return false;\n\n // Common LaTeX math delimiters\n const mathDelimiters = [\n /\\$\\$[\\s\\S]+?\\$\\$/, // $$ ... $$\n /\\$[^$\\n]+?\\$/, // $ ... $\n /\\\\\\[[\\s\\S]+?\\\\\\]/, // \\[ ... \\]\n /\\\\\\([\\s\\S]+?\\\\\\)/, // \\( ... \\)\n ];\n\n // Common math commands (avoid generic \\text or \\ref-only cases)\n const mathCommands =\n /\\\\(frac|sqrt|sum|prod|int|lim|sin|cos|tan|log|ln|alpha|beta|gamma|pi|theta|sigma|Delta|cdot|times|leq|geq|neq)\\b/;\n\n // Superscripts/subscripts like x^2 or a_i\n const superSubScript = /[a-zA-Z0-9]\\s*[\\^_]\\s*\\{?.+?\\}?/;\n\n return (\n mathDelimiters.some((re) => re.test(text)) ||\n mathCommands.test(text) ||\n superSubScript.test(text)\n );\n}\n","import { runestone_import } from \"../../../webpack.index.js\";\n\nexport async function renderRunestoneComponent(\n componentSrc,\n whereDiv,\n moreOpts\n) {\n /**\n * The easy part is adding the componentSrc to the existing div.\n * The tedious part is calling the right functions to turn the\n * source into the actual component.\n */\n if (!componentSrc) {\n jQuery(`#${whereDiv}`).html(\n `

    Sorry, no source is available for preview.

    `\n );\n return;\n }\n let patt = /..\\/_images/g;\n componentSrc = componentSrc.replace(\n patt,\n `${eBookConfig.app}/books/published/${eBookConfig.basecourse}/_images`\n );\n jQuery(`#${whereDiv}`).html(componentSrc);\n\n if (typeof window.componentMap === \"undefined\") {\n window.componentMap = {};\n }\n\n let componentKind = $($(`#${whereDiv} [data-component]`)[0]).data(\n \"component\"\n );\n // Import the JavaScript for this component before proceeding.\n await runestone_import(componentKind);\n let opt = {};\n opt.orig = jQuery(`#${whereDiv} [data-component]`)[0];\n if (opt.orig) {\n opt.lang = $(opt.orig).data(\"lang\");\n opt.useRunestoneServices = true;\n opt.graderactive = false;\n opt.python3 = true;\n if (typeof moreOpts !== \"undefined\") {\n for (let key in moreOpts) {\n opt[key] = moreOpts[key];\n }\n }\n }\n\n if (typeof component_factory === \"undefined\") {\n alert(\"Error: Missing the component factory!\");\n } else {\n if (\n !window.component_factory[componentKind] &&\n !jQuery(`#${whereDiv}`).html()\n ) {\n jQuery(`#${whereDiv}`).html(\n `

    Preview not available for ${componentKind}

    `\n );\n } else {\n let res = window.component_factory[componentKind](opt);\n if (componentKind === \"activecode\") {\n if (moreOpts.multiGrader) {\n window.componentMap[\n `${moreOpts.gradingContainer} ${res.divid}`\n ] = res;\n } else {\n window.componentMap[res.divid] = res;\n }\n }\n }\n }\n}\n\nexport function createTimedComponent(componentSrc, moreOpts) {\n /* The important distinction is that the component does not really need to be rendered\n into the page, in fact, due to the async nature of getting the source the list of questions\n is made and the original html is replaced by the look of the exam.\n */\n\n let patt = /..\\/_images/g;\n componentSrc = componentSrc.replace(\n patt,\n `${eBookConfig.app}/books/published/${eBookConfig.basecourse}/_images`\n );\n\n let componentKind = $($(componentSrc).find(\"[data-component]\")[0]).data(\n \"component\"\n );\n\n let origId = $(componentSrc).find(\"[data-component]\").first().attr(\"id\");\n\n // Double check -- if the component source is not in the DOM, then briefly add it\n // and call the constructor.\n let hdiv;\n if (!document.getElementById(origId)) {\n hdiv = $(\"
    \", {\n css: { display: \"none\" },\n }).appendTo(\"body\");\n hdiv.html(componentSrc);\n }\n // at this point hdiv is a jquery object\n\n let ret;\n let opts = {\n orig: document.getElementById(origId),\n timed: true,\n };\n if (typeof moreOpts !== \"undefined\") {\n for (let key in moreOpts) {\n opts[key] = moreOpts[key];\n }\n }\n\n if (componentKind in window.component_factory) {\n ret = window.component_factory[componentKind](opts);\n }\n\n let rdict = {};\n rdict.question = ret;\n return rdict;\n}\n\n// For integration with the React overhault of Pretext\n// 1. Disable the automatic instantiation at the end of each component.js\n// 2. react will search for all \".runestone\" and will call this function for each of them.\nexport async function renderOneComponent(rsDiv) {\n // Find the actual component inside the runestone component.\n let component = rsDiv.querySelector(\"[data-component]\");\n if (component == null) {\n console.log(\"Render was called for a component, but now [data-component] attribute is present. This may mean the component has already been rendered.\")\n return;\n }\n let componentKind = component.dataset.component;\n await runestone_import(componentKind);\n if ($(this).closest(\"[data-component=timedAssessment]\").length == 0) {\n // If this element exists within a timed component, don't render it here\n try {\n let divid = component.id;\n window.componentMap[divid] = window.component_factory[\n componentKind\n ]({\n orig: component,\n useRunestoneServices: eBookConfig.useRunestoneServices,\n });\n } catch (err) {\n console.log(`Error rendering ${componentKind} Problem ${this.id}\n Details: ${err}`);\n }\n }\n}\n"],"names":["$","patchToc","$ul","minLevel","findA","$elem","level","find","each","index","item","$item","tag","tagName","toLowerCase","$childrenLi","children","$parentLi","parent","length","addClass","first","attr","patchTables","removeClass","navHeight","height","shiftWindow","scrollBy","location","hash","window","addEventListener","this","remove","not","$parent","$kids","detach","replaceWith","after","$localLi","dropdown","i","e","hasClass","text","jQuery","codeExercises","presentModeInitialized","presentToggle","dataComponent","closest","css","wrapAll","wrap","before","presentModeSetup","bod","presentClass","fullHeightClass","bottomClass","localStorage","setItem","presenterCssLink","disabled","activateExercise","getActiveExercise","active","filter","nextExercise","nextIndex","prevExercise","prevIndex","document","on","eBookConfig","isInstructor","prepend","change","i18n","extend","fallbacks","ab","ace","aln","als","an","anp","arn","arz","av","ay","ba","bar","bcc","bh","bjn","bm","bpy","bqi","bug","ce","crh","csb","cv","dsb","dtp","egl","eml","ff","fit","frc","frp","frr","fur","gag","gan","gl","glk","gn","gsw","hif","hsb","ht","ii","inh","iu","jut","jv","kaa","kbd","khw","kiu","kk","kl","koi","krc","ks","ksh","ku","kv","lad","lb","lbe","lez","li","lij","liv","lmo","ln","ltg","lzz","mai","mg","mhr","min","mo","mrj","mwl","myv","mzn","nah","nap","nds","no","os","pcd","pdc","pdt","pfl","pms","pt","qu","qug","rgn","rmy","rue","ruq","sa","sah","scn","sg","sgs","sli","sr","srn","stq","su","szl","tcy","tg","tt","ty","udm","ug","uk","vec","vep","vls","vmf","vot","vro","wa","wo","wuu","xal","xmf","yi","za","zea","zh","language","pluralRules","ak","one","am","ar","zero","two","few","many","ars","as","be","bn","br","bs","cs","cy","da","fa","fil","fr","ga","gd","gu","guw","gv","he","hi","hr","hy","is","iw","kab","kn","kw","lag","lt","lv","mk","mr","mt","naq","nso","pa","pl","prg","ro","ru","se","sh","shi","si","sk","sl","sma","smi","smj","smn","sms","ti","tl","tzm","zu","convertPlural","count","forms","pluralFormIndex","form","explicitPluralPattern","RegExp","test","parseInt","slice","indexOf","undefined","map","locale","getPluralForm","Math","number","pluralForms","pluralRuleParser","convertNumber","num","integer","tmp","transformTable","numberString","convertedNumber","digitTransformTable","String","parseFloat","convertGrammar","word","gender","push","tables","ml","lo","or","kh","my","ta","te","th","bo","split","languages","strongDirRegExp","parser","emitter","bidi","nodes","m","dir","match","module","exports","MessageParserEmitter","prototype","constructor","emit","node","replacements","ret","subnodes","operation","messageParserEmitter","n","Error","concat","result","replace","plural","grammar","MessageParser","options","defaults","simpleParse","message","parameters","str","parse","ast","pipe","colon","backslash","anyCharacter","dollar","digits","regularLiteral","regularLiteralWithoutBar","escapedOrLiteralWithoutBar","escapedOrRegularLiteral","templateContents","templateName","openTemplate","closeTemplate","expression","paramExpression","p","fn","pos","choice","parserSyntax","sequence","res","originalPos","nOrMore","parsed","makeStringParser","s","len","makeRegexParser","regex","matches","escapedLiteral","replacement","templateParam","expr","templateWithReplacement","templateWithOutReplacement","template","toString","join","start","MessageStore","messages","sources","load","source","url","deferred","key","deferreds","messageStore","log","Deferred","getJSON","done","resolve","fail","jqxhr","settings","exception","promise","localization","set","Object","hasOwnProperty","call","when","apply","get","messageKey","I18N","nav","Array","localize","localeParts","localePartIndex","fallbackIndex","tryingLocale","fallbackLocale","destroy","removeData","fallbackLocales","locIndex","sourceMap","pop","param1","data","arguments","lBracket","rBracket","type","$this","html","debug","console","navigator","userLanguage","idleTimer","newTimeout","elem","opts","startImmediately","idle","enabled","timeout","events","toggleIdleState","myelem","obj","elapsed","Date","olddate","clearTimeout","tId","setTimeout","event","Event","trigger","off","stop","trim","isPreTeXt","querySelector","processPageState","completionFlag","pageLoad","markingComplete","markingIncomplete","currentPathname","pathname","substring","lastIndexOf","isPtxBook","lastPageUrl","lastPageScrollLocation","round","scrollTop","course","ajaxError","jqhxr","ajax","new_server_prefix","contentType","dataType","JSON","stringify","method","async","lastPositionVal","href","completionClass","completionMsg","detail","completionStatus","scp","classList","add","append","getCompletions","getUrlVar","animate","navLinkBgRightHalfOpen","navLinkBgRightHiddenPosition","outerWidth","relationsNextIconInitialPosition","relationsNextIconNewPosition","show","navBgShown","scroll","right","left","addNavigationAndCompletionButtons","subChapterList","allSubChapterURLs","chapterName","subChapterName","parentElement","endDate","hover","next","hide","lastPageData","lastPageChapter","lastPageSubchapter","decorateTableOfContents","getUrlVars","vars","hashes","search","name","rb","querySelectorAll","forEach","el","div_id","getAttribute","logBookEvent","act","open","id","btn","container","codeInput","textContent","style","display","setupPTXEvents","getElementById","overflow","SpliceWrapper","super","initSplice","base64","jsonPayload","sourceIframe","sendingIframe","subject","handleScoreAndState","handleSpliceEvent","handleGetState","origin","msgdata","jwt","decodeURIComponent","atob","c","charCodeAt","frame_id","score","getUniqueID","frame","rsDiv","activity_id","src","error","state","percent","correct","answer","f","getElementsByTagName","contentWindow","getSavedState","response","fetch","headers","body","ok","status","json","postMessage","message_id","checkLocalStorage","setLocalStorage","restoreAnswers","disableInteraction","module_map","activecode","ble","clickablearea","codelens","datafile","dragndrop","fillintheblank","groupsub","khanex","lp_build","matching","multiplechoice","hparsons","parsons","poll","quizly","reveal","selectquestion","shortanswer","showeval","simple_sensor","spreadsheet","tabbedStuff","timedAssessment","wavedrom","webwork","youtube","doenet","Promise","module_map_cache","QUEUE_FLUSH_TIME_MS","queue","queueLastFlush","flushQueue","now","toFlush","component_name","flushedPromise","reject","flushed","all","pre_login_complete_promise","runestone_auto_import","Set","element","a","value","z","msg","then","dataset","reactInUse","dispatchEvent","CustomEvent","runestone_import","retPromise","r","rej","queueImport","ready","script_src","currentScript","rc","getSwitch","toggleSwitch","currentTheme","getItem","documentElement","setAttribute","checked","switchTheme","popupScratchAC","scratchDiv","ACFactory","createScratchActivecode","divid","componentMap","createActiveCode","acDefaultLanguage","isLoggedIn","enableSaveLoad","toggleScratchActivecode","renderOneComponent","runestoneComponents","NO_DECORATE","RunestoneBase","component_ready_promise","_component_ready_resolve_fn","optional","allComponents","sid","graderactive","showfeedback","timed","isTimed","enforceDeadline","deadline","parseBooleanAttribute","orig","selector_id","assessmentTaken","timedWrapper","question_label","is_toggle","is_select","mjelements","self","mjReady","mjresolver","aQueue","AutoQueue","preamble","y","createElement","innerHTML","appendChild","jsonHeaders","Headers","Accept","attributeName","attrValue","lowerValue","eventInfo","post_return","course_name","clientLoginStatus","timezoneoffset","getTimezoneOffset","assignmentId","assignment_id","useRunestoneServices","logLevel","postLogMessage","prefix","updateProgress","decorateStatus","request","Request","scoreSpec","gradeBox","updateScores","alert","assigned","scoreSpan","getElementsByClassName","toFixed","allScores","allmax","total","max","totalSpan","maxSpan","percentSpan","logRunEvent","post_promise","forceSave","save_code","errinfo","checkServer","will_be_ready","checkServerComplete","csresolver","rawdeadline","tzoff","practice_mode","peer","loadData","repopulateFromStorage","attempted","statusText","err","indicate_component_ready","containerDiv","shouldUseServer","storedData","ex","localStorageKey","removeItem","storageDate","timestamp","email","addCaption","elType","capDiv","caption","hasUserActivity","isAnswered","checkCurrentAnswer","logCurrentAnswer","renderFeedback","queueMathJax","component","MathJax","typesetPromise","runestoneMathReady","enqueue","Queue","_items","dequeue","shift","size","_pendingPromise","qq","payload","preambleDiv","insertAdjacentElement","PageProgressBar","actDict","possible","assignment_spec","keys","activities","page","firstElementChild","calculateProgress","scprogresscontainer","renderProgress","k","scprogresstotal","scprogressposs","subchapterprogress","progressElem","className","activities_required","sendCompletedReadingScore","cb","click","subchapterDiv","val","scprogresstotal2","scprogressposs2","subchapterprogress2","pageProgressTracker","looksLikeLatexMath","some","re","app","mess","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","RS_info","parts","cookie","getCookie","tz_match","cleaned","info","tz_offset","served_by","username","readings","l","nxt","path_parts","nxt_link","cur_path_parts","position","num_readings","class","addReadingList","bw","aw","handlePageSetup","showAd","adNum","floor","random","adBlock","rsElements","placeAdCopy","backgroundImage","stopPropagation","includes","queryString","link","anchorText","aPoint","renderRunestoneComponent","componentSrc","whereDiv","moreOpts","basecourse","componentKind","opt","lang","python3","component_factory","multiGrader","gradingContainer","createTimedComponent","hdiv","origId","appendTo","rdict","question"],"sourceRoot":""} \ No newline at end of file diff --git a/_static/prefix-runestone.7e141ad8414abf4a.bundle.js.map.gz b/_static/prefix-runestone.7e141ad8414abf4a.bundle.js.map.gz deleted file mode 100644 index ee131e1..0000000 Binary files a/_static/prefix-runestone.7e141ad8414abf4a.bundle.js.map.gz and /dev/null differ diff --git a/_static/prefix-runestone.f4ab138da65f4203.css.map b/_static/prefix-runestone.f4ab138da65f4203.css.map deleted file mode 100644 index 19c3288..0000000 --- a/_static/prefix-runestone.f4ab138da65f4203.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"prefix-runestone.f4ab138da65f4203.css","mappings":"AAAA;EAEE;;;;EAIA;EACA,2EAA2E;EAC3E,oFAAoF,CA4LtF,CApMA,qDCQE,yBAA0B,CAC1B,6BAA8B,CAF9B,sBDmMF,CA1MA,qDCYE,QDkMF,CA9MA,quBC2BE,aD+MF,CA1OA,oOCiCE,oBAAqB,CACrB,uBDmNF,CArPA,uFCqCE,YAAa,CACb,QDoNF,CA1PA,0HC0CE,YDsNF,CAhQA,+CC6CE,4BDuNF,CApQA,wHCiDE,SDyNF,CA1QA,mECoDE,kBAAmB,CACnB,yBAA0B,CAC1B,wCAAyC,CACzC,qCAAsC,CACtC,gCD0NF,CAlRA,wGC4DE,eD4NF,CAxRA,mDC+DE,iBD6NF,CA5RA,iDCkEE,aAAc,CACd,cD8NF,CAjSA,qDCsEE,eAAgB,CAChB,UD+NF,CAtSA,uDC0EE,aDgOF,CA1SA,sGC8EE,aAAc,CACd,aAAc,CACd,iBAAkB,CAClB,uBDkOF,CAnTA,mDCoFE,SDmOF,CAvTA,mDCuFE,aDoOF,CA3TA,mDC0FE,QDqOF,CA/TA,yEC6FE,eDsOF,CAnUA,yDCgGE,eDuOF,CAvUA,iDCmGE,8BAA+B,CAC/B,2BAA4B,CAC5B,sBAAuB,CACvB,QDwOF,CA9UA,mDCyGE,aDyOF,CAlVA,gNC+GE,+BAAiC,CACjC,aD6OF,CA7VA,mSCuHE,aAAc,CACd,YAAa,CACb,QDkPF,CA3WA,yDC4HE,gBDmPF,CA/WA,kHCgIE,mBDqPF,CArXA,oTCsIE,yBAA0B,CAC1B,cDyPF,CAhYA,kKC2IE,cD2PF,CAtYA,wLC+IE,QAAS,CACT,SD6PF,CA7YA,uDCmJE,kBD8PF,CAjZA,oKCuJE,6BAA8B,CAC9B,0BAA2B,CAC3B,qBAAsB,CACtB,SDgQF,CA1ZA,8QC8JE,WDkQF,CAhaA,iFCiKE,4BAA6B,CAC7B,8BAA+B,CAC/B,2BAA4B,CAC5B,sBDmQF,CAvaA,oRCwKE,uBDqQF,CA7aA,6DC2KE,uBAAyB,CACzB,YAAa,CACb,0BDsQF,CAnbA,6DCoLE,aDwQF,CA5bA,6DCuLE,eDyQF,CAhcA,uDC0LE,wBAAyB,CACzB,gBD0QF,CArcA,kGC+LE,SD4QF,CCzQA,gLAMI,gCAAkC,CAClC,iCAAmC,CACnC,yBAA2B,CAJ3B,oBAAsB,CACtB,0BDiRF,CCtRF,8GAYI,yBDgRF,CC5RF,uEAeI,2BDiRF,CChSF,+EAkBI,4BDkRF,CCpSF,sLAsBI,UDoRF,CC1SF,oHA0BI,qBAAsB,CACtB,uBDsRF,CCjTF,uDA8BI,0BDuRF,CCrTF,oGAkCI,uBDyRF,CC3TF,mDAqCI,wBD0RF,CC/TF,iJA0CI,SAAU,CACV,QD6RF,CCxUF,kGA+CI,sBD+RF,CC9UF,2DAkDI,YDgSF,CClVF,sJAsDI,+BDkSF,CCxVF,yDAyDI,qBDmSF,CC5VF,yDA4DI,kCDoSF,CChWF,8HAgEI,+BDsSF,CCtWF,kKAoEI,+BDwSF,CACF,CCtSA,WACE,gCAAmC,CACnC,8BACA,uQDwSF,CApjBA,iECsRE,kCAAmC,CACnC,iCAAkC,CANlC,oBAAqB,CACrB,gCAAmC,CACnC,iBAAkB,CAClB,eAAgB,CAChB,aAAc,CANd,iBAAkB,CAClB,ODgTF,CAhkBA,iGC0RE,eD0SF,CApkBA,yFC6RE,eD2SF,CAxkBA,gLCiSE,eD6SF,CA9kBA,2FCoSE,eD8SF,CAllBA,2FCuSE,eD+SF,CAtlBA,iGC0SE,eDgTF,CA1lBA,6FC6SE,eDiTF,CA9lBA,2FCgTE,eDkTF,CAlmBA,2FCmTE,eDmTF,CAtmBA,6FCsTE,eDoTF,CA1mBA,2FCyTE,eDqTF,CA9mBA,yFC4TE,eDsTF,CAlnBA,qGC+TE,eDuTF,CAtnBA,yFCkUE,eDwTF,CA1nBA,yFCqUE,eDyTF,CA9nBA,iGCwUE,eD0TF,CAloBA,qFC2UE,eD2TF,CAtoBA,+FC8UE,eD4TF,CA1oBA,qFCiVE,eD6TF,CA9oBA,6FCoVE,eD8TF,CAlpBA,+FCuVE,eD+TF,CAtpBA,iGC0VE,eDgUF,CA1pBA,uFC6VE,eDiUF,CA9pBA,6FCgWE,eDkUF,CAlqBA,uFCmWE,eDmUF,CAtqBA,2FCsWE,eDoUF,CA1qBA,yFCyWE,eDqUF,CA9qBA,yFC4WE,eDsUF,CAlrBA,yFC+WE,eDuUF,CAtrBA,yFCkXE,eDwUF,CA1rBA,yGCqXE,eDyUF,CA9rBA,iGCwXE,eD0UF,CAlsBA,6FC2XE,eD2UF,CAtsBA,2FC8XE,eD4UF,CA1sBA,uGCiYE,eD6UF,CA9sBA,6FCoYE,eD8UF,CAltBA,+FCuYE,eD+UF,CAttBA,iGC0YE,eDgVF,CA1tBA,yFC6YE,eDiVF,CA9tBA,yFCgZE,eDkVF,CAluBA,qGCmZE,eDmVF,CAtuBA,qGCsZE,eDoVF,CA1uBA,uGCyZE,eDqVF,CA9uBA,mGC4ZE,eDsVF,CAlvBA,6FC+ZE,eDuVF,CAtvBA,+FCkaE,eDwVF,CA1vBA,uFCqaE,eDyVF,CA9vBA,yFCwaE,eD0VF,CAlwBA,yFC2aE,eD2VF,CAtwBA,iGC8aE,eD4VF,CA1wBA,2FCibE,eD6VF,CA9wBA,6FCobE,eD8VF,CAlxBA,yFCubE,eD+VF,CAtxBA,yFC0bE,eDgWF,CA1xBA,6FC6bE,eDiWF,CA9xBA,uGCgcE,eDkWF,CAlyBA,qGCmcE,eDmWF,CAtyBA,qGCscE,eDoWF,CA1yBA,yGCycE,eDqWF,CA9yBA,uGC4cE,eDsWF,CAlzBA,2GC+cE,eDuWF,CAtzBA,yFCkdE,eDwWF,CA1zBA,uGCqdE,eDyWF,CA9zBA,yGCwdE,eD0WF,CAl0BA,6GC2dE,eD2WF,CAt0BA,+FC8dE,eD4WF,CA10BA,qGCieE,eD6WF,CA90BA,6FCoeE,eD8WF,CAl1BA,yFCueE,eD+WF,CAt1BA,yFC0eE,eDgXF,CA11BA,2FC6eE,eDiXF,CA91BA,2FCgfE,eDkXF,CAl2BA,yFCmfE,eDmXF,CAt2BA,2GCsfE,eDoXF,CA12BA,2GCyfE,eDqXF,CA92BA,iGC4fE,eDsXF,CAl3BA,yFC+fE,eDuXF,CAt3BA,2FCkgBE,eDwXF,CA13BA,yFCqgBE,eDyXF,CA93BA,+FCwgBE,eD0XF,CAl4BA,yGC2gBE,eD2XF,CAt4BA,yGC8gBE,eD4XF,CA14BA,2FCihBE,eD6XF,CA94BA,yGCohBE,eD8XF,CAl5BA,2GCuhBE,eD+XF,CAt5BA,mGC0hBE,eDgYF,CA15BA,qGC6hBE,eDiYF,CA95BA,uGCgiBE,eDkYF,CAl6BA,+FCmiBE,eDmYF,CAt6BA,2GCsiBE,eDoYF,CA16BA,mGCyiBE,eDqYF,CA96BA,qGC4iBE,eDsYF,CAl7BA,2GC+iBE,eDuYF,CAt7BA,mGCkjBE,eDwYF,CA17BA,qGCqjBE,eDyYF,CA97BA,qGCwjBE,eD0YF,CAl8BA,uGC2jBE,eD2YF,CAt8BA,iGC8jBE,eD4YF,CA18BA,qGCikBE,eD6YF,CA98BA,mGCokBE,eD8YF,CAl9BA,uGCukBE,eD+YF,CAt9BA,yGC0kBE,eDgZF,CA19BA,iHC6kBE,eDiZF,CA99BA,yFCglBE,eDkZF,CAl+BA,yFCmlBE,eDmZF,CAt+BA,yFCslBE,eDoZF,CA1+BA,iGCylBE,eDqZF,CA9+BA,mGC4lBE,eDsZF,CAl/BA,yGC+lBE,eDuZF,CAt/BA,2FCkmBE,eDwZF,CA1/BA,iGCqmBE,eDyZF,CA9/BA,6FCwmBE,eD0ZF,CAlgCA,+FC2mBE,eD2ZF,CAtgCA,6FC8mBE,eD4ZF,CA1gCA,qGCinBE,eD6ZF,CA9gCA,yGConBE,eD8ZF,CAlhCA,+FCunBE,eD+ZF,CAthCA,2GC0nBE,eDgaF,CA1hCA,yGC6nBE,eDiaF,CA9hCA,uGCgoBE,eDkaF,CAliCA,+GCmoBE,eDmaF,CAtiCA,mHCsoBE,eDoaF,CA1iCA,uFCyoBE,eDqaF,CA9iCA,iGC4oBE,eDsaF,CAljCA,yFC+oBE,eDuaF,CAtjCA,uGCkpBE,eDwaF,CA1jCA,mGCqpBE,eDyaF,CA9jCA,uGCwpBE,eD0aF,CAlkCA,qGC2pBE,eD2aF,CAtkCA,mGC8pBE,eD4aF,CA1kCA,+FCiqBE,eD6aF,CA9kCA,mGCoqBE,eD8aF,CAllCA,qHCuqBE,eD+aF,CAtlCA,mHC0qBE,eDgbF,CA1lCA,+GC6qBE,eDibF,CA9lCA,mHCgrBE,eDkbF,CAlmCA,2FCmrBE,eDmbF,CAtmCA,6FCsrBE,eDobF,CA1mCA,2FCyrBE,eDqbF,CA9mCA,6FC4rBE,eDsbF,CAlnCA,mGC+rBE,eDubF,CAtnCA,qGCksBE,eDwbF,CA1nCA,mGCqsBE,eDybF,CA9nCA,mGCwsBE,eD0bF,CAloCA,uGC2sBE,eD2bF,CAtoCA,yFC8sBE,eD4bF,CA1oCA,2FCitBE,eD6bF,CA9oCA,+FCotBE,eD8bF,CAlpCA,uFCutBE,eD+bF,CAtpCA,uFC0tBE,eDgcF,CA1pCA,yFC6tBE,eDicF,CA9pCA,iHCguBE,eDkcF,CAlqCA,yHCmuBE,eDmcF,CAtqCA,2GCsuBE,eDocF,CA1qCA,mHCyuBE,eDqcF,CA9qCA,qHC4uBE,eDscF,CAlrCA,6HC+uBE,eDucF,CAtrCA,mGCkvBE,eDwcF,CA1rCA,6FCqvBE,eDycF,CA9rCA,2GCwvBE,eD0cF,CAlsCA,uGC2vBE,eD2cF,CAtsCA,6FC8vBE,eD4cF,CA1sCA,2FCiwBE,eD6cF,CA9sCA,+FCowBE,eD8cF,CAltCA,qGCuwBE,eD+cF,CAttCA,6FC0wBE,eDgdF,CA1tCA,yFC6wBE,eDidF,CA9tCA,yFCgxBE,eDkdF,CAluCA,2FCmxBE,eDmdF,CAtuCA,6FCsxBE,eDodF,CA1uCA,6FCyxBE,eDqdF,CA9uCA,yFC4xBE,eDsdF,CAlvCA,uGC+xBE,eDudF,CAtvCA,yGCkyBE,eDwdF,CA1vCA,2GCqyBE,eDydF,CA9vCA,uGCwyBE,eD0dF,CAlwCA,uGC2yBE,eD2dF,CAtwCA,uGC8yBE,eD4dF,CA1wCA,iGCizBE,eD6dF,CA9wCA,+FCozBE,eD8dF,CAlxCA,6FCuzBE,eD+dF,CAtxCA,qGC0zBE,eDgeF,CA1xCA,iGC6zBE,eDieF,CA9xCA,mGCg0BE,eDkeF,CAlyCA,2FCm0BE,eDmeF,CAtyCA,2FCs0BE,eDoeF,CA1yCA,iGCy0BE,eDqeF,CA9yCA,iGC40BE,eDseF,CAlzCA,mGC+0BE,eDueF,CAtzCA,yGCk1BE,eDweF,CA1zCA,uGCq1BE,eDyeF,CA9zCA,mGCw1BE,eD0eF,CAl0CA,mGC21BE,eD2eF,CAt0CA,mGC81BE,eD4eF,CA10CA,6GCi2BE,eD6eF,CA90CA,mHCo2BE,eD8eF,CAl1CA,6GCu2BE,eD+eF,CAt1CA,yGC02BE,eDgfF,CA11CA,yGC62BE,eDifF,CA91CA,6GCg3BE,eDkfF,CAl2CA,qFCm3BE,eDmfF,CAt2CA,mGCs3BE,eDofF,CA12CA,mGCy3BE,eDqfF,CA92CA,iGC43BE,eDsfF,CAl3CA,yFC+3BE,eDufF,CAt3CA,2FCk4BE,eDwfF,CA13CA,2FCq4BE,eDyfF,CA93CA,mGCw4BE,eD0fF,CAl4CA,yFC24BE,eD2fF,CAt4CA,2FC84BE,eD4fF,CA14CA,yFCi5BE,eD6fF,CA94CA,6FCo5BE,eD8fF,CAl5CA,6FCu5BE,eD+fF,CAt5CA,yGC05BE,eDggBF,CA15CA,yFC65BE,eDigBF,CA95CA,qGCg6BE,eDkgBF,CAl6CA,uFCm6BE,eDmgBF,CAt6CA,2FCs6BE,eDogBF,CA16CA,2FCy6BE,eDqgBF,CA96CA,mGC46BE,eDsgBF,CAl7CA,yFC+6BE,eDugBF,CAt7CA,mGCk7BE,eDwgBF,CA17CA,qGCq7BE,eDygBF,CA97CA,iGCw7BE,eD0gBF,CAl8CA,6QCi8BE,eD6gBF,CA98CA,8KCu8BE,eD+gBF,CAt9CA,kLC68BE,eDihBF,CA99CA,2FCg9BE,eDkhBF,CAl+CA,mGCm9BE,eDmhBF,CAt+CA,iHCs9BE,eDohBF,CA1+CA,mGCy9BE,eDqhBF,CA9+CA,mHC49BE,eDshBF,CAl/CA,+GC+9BE,eDuhBF,CAt/CA,6GCk+BE,eDwhBF,CA1/CA,yGCq+BE,eDyhBF,CA9/CA,uFCw+BE,eD0hBF,CAlgDA,2FC2+BE,eD2hBF,CAtgDA,qGC8+BE,eD4hBF,CA1gDA,mGCi/BE,eD6hBF,CA9gDA,qGCo/BE,eD8hBF,CAlhDA,+GCu/BE,eD+hBF,CAthDA,iHC0/BE,eDgiBF,CA1hDA,uHC6/BE,eDiiBF,CA9hDA,+HCggCE,eDkiBF,CAliDA,mHCmgCE,eDmiBF,CAtiDA,2HCsgCE,eDoiBF,CA1iDA,qHCygCE,eDqiBF,CA9iDA,6GC4gCE,eDsiBF,CAljDA,2GC+gCE,eDuiBF,CAtjDA,+GCkhCE,eDwiBF,CA1jDA,yGCqhCE,eDyiBF,CA9jDA,+FCwhCE,eD0iBF,CAlkDA,uGC2hCE,eD2iBF,CAtkDA,mGC8hCE,eD4iBF,CA1kDA,mGCiiCE,eD6iBF,CA9kDA,qGCoiCE,eD8iBF,CAllDA,mGCuiCE,eD+iBF,CAtlDA,+FC0iCE,eDgjBF,CA1lDA,mKCmjCE,6BAA8B,CAC9B,0BAA2B,CAC3B,qBDmjBF,CAxmDA,qDCyjCE,yCAA6C,CAD7C,cDqjBF,CA7mDA,qDCgkCE,qBAAsB,CADtB,UAAc,CAHd,qDAA2D,CAC3D,cAAe,CACf,sBDujBF,CArnDA,sOCskCE,mBAAoB,CACpB,iBAAkB,CAClB,mBDyjBF,CAjoDA,+CC2kCE,aAAc,CACd,oBD0jBF,CAtoDA,sHCglCE,aAAc,CACd,yBD4jBF,CA7oDA,2DColCE,yCAA0C,CAC1C,mBD6jBF,CAlpDA,yDCwlCE,QD8jBF,CAtpDA,mDC2lCE,qBD+jBF,CA1pDA,maCkmCE,aAAc,CAEd,WAAY,CADZ,cDqkBF,CAxqDA,qECumCE,iBDqkBF,CA5qDA,yEC4mCE,qBAAsB,CACtB,qBAAsB,CACtB,iBAAkB,CAIlB,oBAAqB,CAErB,WAAY,CATZ,sBAAuB,CAQvB,cAAe,CATf,WAAY,CAKZ,sCAAwC,CACxC,iCAAmC,CACnC,8BDykBF,CA1rDA,mECunCE,iBDukBF,CA9rDA,iDC4nCE,QAAS,CACT,yBAA6B,CAF7B,kBAAmB,CADnB,eD2kBF,CArsDA,6DCsoCE,kBAAsB,CACtB,QAAS,CALT,UAAW,CAEX,WAAY,CACZ,eAAgB,CAFhB,SAAU,CAHV,iBAAkB,CAClB,SD+kBF,CAhtDA,4LCgpCE,SAAU,CAHV,WAAY,CACZ,QAAS,CACT,gBAAiB,CAJjB,eAAgB,CAChB,UD+kBF,CA3tDA,uECmpCE,cD4kBF,CA/tDA,wlBCoqCE,aAAc,CAHd,mBAAoB,CACpB,eAAgB,CAChB,eDylBF,CA5vDA,w+CCgsCE,UAAc,CAFd,eAAgB,CAChB,aDinBF,CAhzDA,4SCysCE,kBAAmB,CADnB,eDunBF,CA/zDA,ovBCutCE,aDkoBF,CAz1DA,4SCguCE,kBAAmB,CADnB,eDyoBF,CAx2DA,ovBC8uCE,aDopBF,CAl4DA,oGCkvCE,cDspBF,CAx4DA,oGCsvCE,cDwpBF,CA94DA,oGC0vCE,cD0pBF,CAp5DA,oGC8vCE,cD4pBF,CA15DA,oGCkwCE,cD8pBF,CAh6DA,oGCswCE,cDgqBF,CAt6DA,+CCywCE,eDiqBF,CA16DA,uDC6wCE,cAAe,CACf,eAAgB,CAChB,eAAgB,CAHhB,kBDqqBF,CChqBA,gFAEI,cDmqBF,CACF,CAv7DA,gHCwxCE,aDqqBF,CA77DA,4GC6xCE,wBAAyB,CADzB,YDwqBF,CAp8DA,iECgyCE,eDwqBF,CAx8DA,mECmyCE,gBDyqBF,CA58DA,qECsyCE,iBD0qBF,CAh9DA,uECyyCE,kBD2qBF,CAp9DA,qEC4yCE,kBD4qBF,CAx9DA,2EC+yCE,wBD6qBF,CA59DA,2ECkzCE,wBD8qBF,CAh+DA,6ECqzCE,yBD+qBF,CAp+DA,mECwzCE,UDgrBF,CAx+DA,uEC2zCE,aDirBF,CA5+DA,0KC+zCE,aDmrBF,CAl/DA,uECk0CE,aDorBF,CAt/DA,0KCs0CE,aDsrBF,CA5/DA,iECy0CE,aDurBF,CAhgEA,8JC60CE,aDyrBF,CAtgEA,uECg1CE,aD0rBF,CA1gEA,0KCo1CE,aD4rBF,CAhhEA,qECu1CE,aD6rBF,CAphEA,sKC21CE,aD+rBF,CA1hEA,mEC+1CE,wBAAyB,CADzB,UDisBF,CA/hEA,kKCm2CE,wBDksBF,CAriEA,mECs2CE,wBDmsBF,CAziEA,kKC02CE,wBDqsBF,CA/iEA,6DC62CE,wBDssBF,CAnjEA,sJCi3CE,wBDwsBF,CAzjEA,mECo3CE,wBDysBF,CA7jEA,kKCw3CE,wBD2sBF,CAnkEA,iEC23CE,wBD4sBF,CAvkEA,8JC+3CE,wBD8sBF,CA7kEA,qECo4CE,4BAAgC,CADhC,kBAAmB,CADnB,kBDitBF,CAnlEA,kGCy4CE,kBAAmB,CADnB,YDktBF,CA1lEA,4NC+4CE,eDqtBF,CApmEA,yECm5CE,eAAgB,CADhB,cDutBF,CAzmEA,qECu5CE,eAAgB,CAChB,gBAAiB,CAFjB,cDytBF,CA/mEA,2EC25CE,oBAAqB,CAErB,gBAAiB,CADjB,iBDytBF,CArnEA,iDCi6CE,kBAAmB,CADnB,YD0tBF,CA1nEA,kGCq6CE,sBD2tBF,CAhoEA,iDCw6CE,eD4tBF,CApoEA,iDC26CE,aD6tBF,CC3tBA,wGAII,UAAW,CAFX,UAAW,CAIX,eAAgB,CADhB,gBAAiB,CAEjB,sBAAuB,CACvB,kBAAmB,CALnB,WDmuBF,CCtuBF,+EAWI,iBD+tBF,CACF,CAxpEA,kKC67CE,WDiuBF,CA9pEA,mECg8CE,aAAc,CACd,wBDkuBF,CAnqEA,iECu8CE,0BAA8B,CAD9B,gBAAiB,CADjB,eAAgB,CADhB,iBDsuBF,CA1qEA,qRC48CE,eDsuBF,CAlrEA,2OCo9CE,UAAc,CAHd,aAAc,CACd,aAAc,CACd,sBD0uBF,CA7rEA,qRCy9CE,qBD4uBF,CArsEA,0KCi+CE,aAAc,CADd,2BAA+B,CAF/B,cAAe,CADf,kBAAmB,CAEnB,gBDgvBF,CA/sEA,kqBCy+CE,UDovBF,CA7tEA,spBCi/CE,qBD0vBF,CA3uEA,2DCq/CE,iBAAkB,CAClB,sBAAuB,CAFvB,kBD6vBF,CAjvEA,gNC4/CE,uDD+vBF,CA3vEA,qDCkgDE,wBAAyB,CACzB,iBAAkB,CAFlB,aAAc,CADd,aAAc,CADd,eDowBF,CAnwEA,mDCygDE,qBAAsB,CACtB,iBAAkB,CAClB,iDAAsD,CACtD,yCAA8C,CAJ9C,UAAW,CADX,aAAc,CADd,eDuwBF,CA7wEA,2DCkhDE,uBAAwB,CACxB,eAAgB,CAHhB,cAAe,CACf,eAAgB,CAFhB,SDswBF,CArxEA,mDC6hDE,oBAAqB,CACrB,wBAAyB,CACzB,qBAAsB,CACtB,iBAAkB,CALlB,UAAc,CALd,aAAc,CAGd,cAAe,CACf,sBAAuB,CAFvB,eAAgB,CADhB,aAAc,CAKd,oBDuwBF,CAnyEA,6DCuiDE,4BAA6B,CAC7B,eAAgB,CAHhB,aAAc,CADd,iBAAkB,CADlB,SAAU,CAGV,oBDswBF,CA5yEA,2EC2iDE,gBAAiB,CACjB,iBDqwBF,CAjzEA,iECkjDE,gBAAiB,CADjB,iBAAkB,CADlB,iBAAkB,CADlB,kBDywBF,CCpwBA,0FAEI,WDuwBF,CACF,CCrwBA,0FAEI,WDwwBF,CACF,CCtwBA,2FAEI,YDywBF,CACF,CA10EA,6ECukDE,gBAAiB,CADjB,iBAAkB,CADlB,iBAAkB,CADlB,kBD6wBF,CAj1EA,qDC2kDE,iBAAkB,CADlB,kBD4wBF,CAt1EA,2EC+kDE,aAAc,CADd,cD6wBF,CA31EA,uGCmlDE,cAAe,CADf,eD8wBF,CAh2EA,w+FCsoDE,cAAe,CAEf,iBAAkB,CADlB,kBAAmB,CAFnB,iBDg0BF,CAr8EA,0vBCspDE,UDy0BF,CA/9EA,iECypDE,UD00BF,CAn+EA,iEC4pDE,kBD20BF,CAv+EA,iEC+pDE,kBD40BF,CA3+EA,+DCkqDE,SD60BF,CA/+EA,+DCqqDE,kBD80BF,CAn/EA,+DCwqDE,kBD+0BF,CAv/EA,+DC2qDE,SDg1BF,CA3/EA,+DC8qDE,kBDi1BF,CA//EA,+DCirDE,kBDk1BF,CAngFA,+DCorDE,SDm1BF,CAvgFA,+DCurDE,kBDo1BF,CA3gFA,+DC0rDE,iBDq1BF,CA/gFA,2EC6rDE,UDs1BF,CAnhFA,2ECgsDE,kBDu1BF,CAvhFA,2ECmsDE,kBDw1BF,CA3hFA,yECssDE,SDy1BF,CA/hFA,yECysDE,kBD01BF,CAniFA,yEC4sDE,kBD21BF,CAviFA,yEC+sDE,SD41BF,CA3iFA,yECktDE,kBD61BF,CA/iFA,yECqtDE,kBD81BF,CAnjFA,yECwtDE,SD+1BF,CAvjFA,yEC2tDE,kBDg2BF,CA3jFA,yEC8tDE,iBDi2BF,CA/jFA,yECiuDE,UDk2BF,CAnkFA,2ECouDE,SDm2BF,CAvkFA,2ECuuDE,iBDo2BF,CA3kFA,2EC0uDE,iBDq2BF,CA/kFA,yEC6uDE,QDs2BF,CAnlFA,yECgvDE,iBDu2BF,CAvlFA,yECmvDE,iBDw2BF,CA3lFA,yECsvDE,QDy2BF,CA/lFA,yECyvDE,iBD02BF,CAnmFA,yEC4vDE,iBD22BF,CAvmFA,yEC+vDE,QD42BF,CA3mFA,yECkwDE,iBD62BF,CA/mFA,yECqwDE,gBD82BF,CAnnFA,yECwwDE,SD+2BF,CAvnFA,+EC2wDE,gBDg3BF,CA3nFA,+EC8wDE,wBDi3BF,CA/nFA,+ECixDE,wBDk3BF,CAnoFA,6ECoxDE,eDm3BF,CAvoFA,6ECuxDE,wBDo3BF,CA3oFA,6EC0xDE,wBDq3BF,CA/oFA,6EC6xDE,eDs3BF,CAnpFA,6ECgyDE,wBDu3BF,CAvpFA,6ECmyDE,wBDw3BF,CA3pFA,6ECsyDE,eDy3BF,CA/pFA,6ECyyDE,wBD03BF,CAnqFA,6EC4yDE,uBD23BF,CAvqFA,6EC+yDE,aD43BF,CC13BA,mxBAaI,UDw4BF,CCr5BF,iEAgBI,UDy4BF,CCz5BF,iEAmBI,kBD04BF,CC75BF,iEAsBI,kBD24BF,CCj6BF,+DAyBI,SD44BF,CCr6BF,+DA4BI,kBD64BF,CCz6BF,+DA+BI,kBD84BF,CC76BF,+DAkCI,SD+4BF,CCj7BF,+DAqCI,kBDg5BF,CCr7BF,+DAwCI,kBDi5BF,CCz7BF,+DA2CI,SDk5BF,CC77BF,+DA8CI,kBDm5BF,CCj8BF,+DAiDI,iBDo5BF,CCr8BF,2EAoDI,UDq5BF,CCz8BF,2EAuDI,kBDs5BF,CC78BF,2EA0DI,kBDu5BF,CCj9BF,yEA6DI,SDw5BF,CCr9BF,yEAgEI,kBDy5BF,CCz9BF,yEAmEI,kBD05BF,CC79BF,yEAsEI,SD25BF,CCj+BF,yEAyEI,kBD45BF,CCr+BF,yEA4EI,kBD65BF,CCz+BF,yEA+EI,SD85BF,CC7+BF,yEAkFI,kBD+5BF,CCj/BF,yEAqFI,iBDg6BF,CCr/BF,yEAwFI,UDi6BF,CCz/BF,2EA2FI,SDk6BF,CC7/BF,2EA8FI,iBDm6BF,CCjgCF,2EAiGI,iBDo6BF,CCrgCF,yEAoGI,QDq6BF,CCzgCF,yEAuGI,iBDs6BF,CC7gCF,yEA0GI,iBDu6BF,CCjhCF,yEA6GI,QDw6BF,CCrhCF,yEAgHI,iBDy6BF,CCzhCF,yEAmHI,iBD06BF,CC7hCF,yEAsHI,QD26BF,CCjiCF,yEAyHI,iBD46BF,CCriCF,yEA4HI,gBD66BF,CCziCF,yEA+HI,SD86BF,CC7iCF,+EAkII,gBD+6BF,CCjjCF,+EAqII,wBDg7BF,CCrjCF,+EAwII,wBDi7BF,CCzjCF,6EA2II,eDk7BF,CC7jCF,6EA8II,wBDm7BF,CCjkCF,6EAiJI,wBDo7BF,CCrkCF,6EAoJI,eDq7BF,CCzkCF,6EAuJI,wBDs7BF,CC7kCF,6EA0JI,wBDu7BF,CCjlCF,6EA6JI,eDw7BF,CCrlCF,6EAgKI,wBDy7BF,CCzlCF,6EAmKI,uBD07BF,CC7lCF,6EAsKI,aD27BF,CACF,CCz7BA,mxBAaI,UDu8BF,CCp9BF,iEAgBI,UDw8BF,CCx9BF,iEAmBI,kBDy8BF,CC59BF,iEAsBI,kBD08BF,CCh+BF,+DAyBI,SD28BF,CCp+BF,+DA4BI,kBD48BF,CCx+BF,+DA+BI,kBD68BF,CC5+BF,+DAkCI,SD88BF,CCh/BF,+DAqCI,kBD+8BF,CCp/BF,+DAwCI,kBDg9BF,CCx/BF,+DA2CI,SDi9BF,CC5/BF,+DA8CI,kBDk9BF,CChgCF,+DAiDI,iBDm9BF,CCpgCF,2EAoDI,UDo9BF,CCxgCF,2EAuDI,kBDq9BF,CC5gCF,2EA0DI,kBDs9BF,CChhCF,yEA6DI,SDu9BF,CCphCF,yEAgEI,kBDw9BF,CCxhCF,yEAmEI,kBDy9BF,CC5hCF,yEAsEI,SD09BF,CChiCF,yEAyEI,kBD29BF,CCpiCF,yEA4EI,kBD49BF,CCxiCF,yEA+EI,SD69BF,CC5iCF,yEAkFI,kBD89BF,CChjCF,yEAqFI,iBD+9BF,CCpjCF,yEAwFI,UDg+BF,CCxjCF,2EA2FI,SDi+BF,CC5jCF,2EA8FI,iBDk+BF,CChkCF,2EAiGI,iBDm+BF,CCpkCF,yEAoGI,QDo+BF,CCxkCF,yEAuGI,iBDq+BF,CC5kCF,yEA0GI,iBDs+BF,CChlCF,yEA6GI,QDu+BF,CCplCF,yEAgHI,iBDw+BF,CCxlCF,yEAmHI,iBDy+BF,CC5lCF,yEAsHI,QD0+BF,CChmCF,yEAyHI,iBD2+BF,CCpmCF,yEA4HI,gBD4+BF,CCxmCF,yEA+HI,SD6+BF,CC5mCF,+EAkII,gBD8+BF,CChnCF,+EAqII,wBD++BF,CCpnCF,+EAwII,wBDg/BF,CCxnCF,6EA2II,eDi/BF,CC5nCF,6EA8II,wBDk/BF,CChoCF,6EAiJI,wBDm/BF,CCpoCF,6EAoJI,eDo/BF,CCxoCF,6EAuJI,wBDq/BF,CC5oCF,6EA0JI,wBDs/BF,CChpCF,6EA6JI,eDu/BF,CCppCF,6EAgKI,wBDw/BF,CCxpCF,6EAmKI,uBDy/BF,CC5pCF,6EAsKI,aD0/BF,CACF,CCx/BA,oxBAaI,UDsgCF,CCnhCF,iEAgBI,UDugCF,CCvhCF,iEAmBI,kBDwgCF,CC3hCF,iEAsBI,kBDygCF,CC/hCF,+DAyBI,SD0gCF,CCniCF,+DA4BI,kBD2gCF,CCviCF,+DA+BI,kBD4gCF,CC3iCF,+DAkCI,SD6gCF,CC/iCF,+DAqCI,kBD8gCF,CCnjCF,+DAwCI,kBD+gCF,CCvjCF,+DA2CI,SDghCF,CC3jCF,+DA8CI,kBDihCF,CC/jCF,+DAiDI,iBDkhCF,CCnkCF,2EAoDI,UDmhCF,CCvkCF,2EAuDI,kBDohCF,CC3kCF,2EA0DI,kBDqhCF,CC/kCF,yEA6DI,SDshCF,CCnlCF,yEAgEI,kBDuhCF,CCvlCF,yEAmEI,kBDwhCF,CC3lCF,yEAsEI,SDyhCF,CC/lCF,yEAyEI,kBD0hCF,CCnmCF,yEA4EI,kBD2hCF,CCvmCF,yEA+EI,SD4hCF,CC3mCF,yEAkFI,kBD6hCF,CC/mCF,yEAqFI,iBD8hCF,CCnnCF,yEAwFI,UD+hCF,CCvnCF,2EA2FI,SDgiCF,CC3nCF,2EA8FI,iBDiiCF,CC/nCF,2EAiGI,iBDkiCF,CCnoCF,yEAoGI,QDmiCF,CCvoCF,yEAuGI,iBDoiCF,CC3oCF,yEA0GI,iBDqiCF,CC/oCF,yEA6GI,QDsiCF,CCnpCF,yEAgHI,iBDuiCF,CCvpCF,yEAmHI,iBDwiCF,CC3pCF,yEAsHI,QDyiCF,CC/pCF,yEAyHI,iBD0iCF,CCnqCF,yEA4HI,gBD2iCF,CCvqCF,yEA+HI,SD4iCF,CC3qCF,+EAkII,gBD6iCF,CC/qCF,+EAqII,wBD8iCF,CCnrCF,+EAwII,wBD+iCF,CCvrCF,6EA2II,eDgjCF,CC3rCF,6EA8II,wBDijCF,CC/rCF,6EAiJI,wBDkjCF,CCnsCF,6EAoJI,eDmjCF,CCvsCF,6EAuJI,wBDojCF,CC3sCF,6EA0JI,wBDqjCF,CC/sCF,6EA6JI,eDsjCF,CCntCF,6EAgKI,wBDujCF,CCvtCF,6EAmKI,uBDwjCF,CC3tCF,6EAsKI,aDyjCF,CACF,CAn2GA,uDC6yEE,4BD0jCF,CAv2GA,yFCizEE,oBAAqB,CACrB,UAAW,CAFX,eD6jCF,CA72GA,8KCuzEE,kBAAmB,CACnB,UAAW,CAFX,eD+jCF,CAr3GA,2DC6zEE,UAAc,CADd,kBAAmB,CADnB,eAAgB,CAGhB,eD8jCF,CA53GA,iDCi0EE,e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kBD4/EF,CC5gFF,+EAoBI,QAAS,CACT,mBAAoB,CAFpB,SD+/EF,CClhFF,qFAwBI,WD8/EF,CACF,CAr4RA,woFC06ME,WAAY,CADZ,aD+hFF,CAx8RA,ozCC47ME,UD8iFF,CA1+RA,uEC+7ME,aAAc,CAEd,gBAAiB,CADjB,iBDgjFF,CAh/RA,mECo8ME,qBDgjFF,CAp/RA,iECu8ME,oBDijFF,CAx/RA,uDC08ME,sBDkjFF,CA5/RA,uDC68ME,uBDmjFF,CAhgSA,iECg9ME,iBDojFF,CApgSA,iECs9ME,4BAA6B,CAC7B,QAAS,CAHT,iBAAkB,CADlB,UAAW,CAEX,gBDujFF,CA5gSA,2DC09ME,sBDsjFF,CAhhSA,yDC69ME,cDujFF,CCrjFA,cACE,kBDujFF,CAvhSA,gwCCo/ME,sBDukFF,CCrkFA,4FAEI,uBDwkFF,CC1kFF,6EAKI,uBDykFF,CC9kFF,uEAQI,2BD0kFF,CCllFF,8IAYI,4BD4kFF,CCzkFF,+EAEI,uBD6kFF,CC1kFF,iFAEI,wBD8kFF,CC3kFF,6FAEI,8BD+kFF,CAjBF,CC3jFA,kHAEI,uBDglFF,CCllFF,6EAKI,uBDilFF,CCtlFF,uEAQI,2BDklFF,CC1lFF,8IAYI,4BDolFF,CCjlFF,+EAEI,uBDqlFF,CCllFF,iFAEI,wBDslFF,CCnlFF,6FAEI,8BDulFF,CAjBF,CCnkFA,mHAEI,uBDwlFF,CC1lFF,6EAKI,uBDylFF,CC9lFF,uEAQI,2BD0lFF,CClmFF,8IAYI,4BD4lFF,CCzlFF,+EAEI,uBD6lFF,CC1lFF,iFAEI,wBD8lFF,CC3lFF,6FAEI,8BD+lFF,CAjBF,CC3kFA,6FAEI,uBDgmFF,CClmFF,6EAKI,uBDimFF,CCtmFF,uEAQI,2BDkmFF,CC1mFF,8IAYI,4BDomFF,CCjmFF,+EAEI,uBDqmFF,CClmFF,iFAEI,wBDsmFF,CCnmFF,6FAEI,8BDumFF,CAjBF,CCnlFA,0FAEI,sBDwmFF,CACF,CCtmFA,gHAEI,sBDymFF,CACF,CCvmFA,iHAEI,sBD0mFF,CACF,CCxmFA,2FAEI,sBD2mFF,CACF,CA3uSA,yECmoNE,sBD4mFF,CC1mFA,s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","sources":["webpack://WebComponents/./ptxrs-bootstrap.less","webpack://WebComponents/./node_modules/bootstrap/dist/css/bootstrap.css","webpack://WebComponents/./runestone/common/css/runestone-custom-sphinx-bootstrap.css","webpack://WebComponents/./runestone/accessibility/css/accessibility.css","webpack://WebComponents/./runestone/common/css/user-highlights.css","webpack://WebComponents/./runestone/matrixeq/css/matrixeq.css","webpack://WebComponents/./runestone/webgldemo/css/webglinteractive.css","webpack://WebComponents/./runestone/common/css/presenter_mode.less","webpack://WebComponents/./runestone/common/css/presenter_mode.css"],"sourcesContent":[".ptx-runestone-container,\n.runestone-sphinx {\n @import (less) url(\"./node_modules/bootstrap/dist/css/bootstrap.css\");\n @import (less) url(\"./runestone/common/css/runestone-custom-sphinx-bootstrap.css\");\n @import (less) url(\"./runestone/accessibility/css/accessibility.css\");\n}\n\n:root {\n --background: #ffffff;\n --outerBackground: #eeeeee;\n --links: #0645ad;\n --bodyFont: var(--body-text-color, #000000);\n --tooltip: #ffffff;\n --grayToWhite: #333333;\n --navbar: #f8f8f8;\n --navbarFont: #707070;\n --navbarFontHover: #000000;\n --alerts: #d9edf7;\n --completionButton: #f19711;\n --completionButtonHover: #ff9f19;\n --completionButtonText: #000000;\n --admonition: #fcf8e3;\n --admonitionBorder: #fbeed5;\n --codeButtons: #474949;\n --codeButtonsBorder: #474949;\n --dangerAlerts: #f2dede;\n --successAlerts: #dff0d8;\n --contentWidthRegular: 660px;\n --contentWidthWide: 1060px;\n --componentBgColor: #f0f8ff;\n --componentBorderColor: #000000;\n --questionBgColor: #e1efff;\n --parsonsBgColor: #ffa;\n --parsonsBorderColor: #ee0;\n --parsonsCorrectBgColor: #dff0d8;\n --parsonsCorrectBorderColor: #ade595;\n --parsonsIncorrectBgColor: #f2dede;\n --parsonsIncorrectBorderColor: #f2b6b6;\n}\n\n:root.dark-mode {\n --background: #2c2f33;\n --outerBackground: #23272a;\n --links: #7289da;\n --bodyFont: var(--body-text-color, #99aab5);\n --tooltip: #000000;\n --grayToWhite: #aaa;\n --navbar: #3d3d3d;\n --navbarFont: #ffffff;\n --navbarFontHover: #d6d6d6;\n --alerts: #714082;\n --completionButton: #650087;\n --completionButtonHover: #560073;\n --completionButtonText: #ffffff;\n --admonition: #3d3d3d;\n --admonitionBorder: #262626;\n --codeButtons: #67739d;\n --codeButtonsBorder: #ffffff;\n --dangerAlerts: #8c2626;\n --successAlerts: #217300;\n --componentBgColor: var(--rs-component-bg, var(--knowl-background, #07467d));\n --componentBorderColor: var(--rs-component-border, var(--knowl-border-color, #939090));\n --questionBgColor: var(--rs-component-bg, var(--knowl-nested-1-background, #0f5a9b));\n --parsonsBgColor: rgb(232, 232, 178);\n --parsonsBorderColor: rgb(168, 168, 45);\n --parsonsCorrectBgColor: #a3c097;\n --parsonsCorrectBorderColor: #60904c;\n --parsonsIncorrectBgColor: #ae9090;\n --parsonsIncorrectBorderColor: #c16b6b;\n}\n\n[data-theme=\"dark\"] {\n --background: #2c2f33;\n --outerBackground: #23272a;\n --links: #7289da;\n --bodyFont: #99aab5;\n --tooltip: #000000;\n --grayToWhite: #ffffff;\n --navbar: #3d3d3d;\n --navbarFont: #ffffff;\n --navbarFontHover: #d6d6d6;\n --alerts: #714082;\n --completionButton: #650087;\n --completionButtonHover: #560073;\n --completionButtonText: #ffffff;\n --admonition: #3d3d3d;\n --admonitionBorder: #262626;\n --codeButtons: #7289da;\n --codeButtonsBorder: #ffffff;\n --dangerAlerts: #8c2626;\n --successAlerts: #217300;\n --componentBgColor: #07467d;\n --componentBorderColor: #939090;\n --questionBgColor: rgb(23, 85, 93);\n}\n\n#scprogresscontainer {\n width: 100%;\n max-width: 500px;\n margin: 10px auto;\n}\n\n#subchapterprogress {\n width: 100%;\n background-color: var(--alerts);\n border: 1px solid var(--grayToWhite);\n border-radius: 5px;\n height: 20px;\n position: relative;\n}\n\n\n.exercise-statement {\n display: block;\n margin-bottom: 1em;\n}\n","/*!\n * Bootstrap v3.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n}\nbody {\n margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n vertical-align: baseline;\n}\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n[hidden],\ntemplate {\n display: none;\n}\na {\n background-color: transparent;\n}\na:active,\na:hover {\n outline: 0;\n}\nabbr[title] {\n border-bottom: none;\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n -moz-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\nb,\nstrong {\n font-weight: bold;\n}\ndfn {\n font-style: italic;\n}\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\nmark {\n background: #ff0;\n color: #000;\n}\nsmall {\n font-size: 80%;\n}\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\nsup {\n top: -0.5em;\n}\nsub {\n bottom: -0.25em;\n}\nimg {\n border: 0;\n}\nsvg:not(:root) {\n overflow: hidden;\n}\nfigure {\n margin: 1em 40px;\n}\nhr {\n -webkit-box-sizing: content-box;\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n height: 0;\n}\npre {\n overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit;\n font: inherit;\n margin: 0;\n}\nbutton {\n overflow: visible;\n}\nbutton,\nselect {\n text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button;\n cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\ninput {\n line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n padding: 0;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-appearance: textfield;\n -webkit-box-sizing: content-box;\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\nlegend {\n border: 0;\n padding: 0;\n}\ntextarea {\n overflow: auto;\n}\noptgroup {\n font-weight: bold;\n}\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\ntd,\nth {\n padding: 0;\n}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n *,\n *:before,\n *:after {\n color: #000 !important;\n text-shadow: none !important;\n background: transparent !important;\n -webkit-box-shadow: none !important;\n box-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n img {\n max-width: 100% !important;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n .navbar {\n display: none;\n }\n .btn > .caret,\n .dropup > .btn > .caret {\n border-top-color: #000 !important;\n }\n .label {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n@font-face {\n font-family: \"Glyphicons Halflings\";\n src: url(\"../fonts/glyphicons-halflings-regular.eot\");\n src: url(\"../fonts/glyphicons-halflings-regular.eot?#iefix\") format(\"embedded-opentype\"), url(\"../fonts/glyphicons-halflings-regular.woff2\") format(\"woff2\"), url(\"../fonts/glyphicons-halflings-regular.woff\") format(\"woff\"), url(\"../fonts/glyphicons-halflings-regular.ttf\") format(\"truetype\"), url(\"../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular\") format(\"svg\");\n}\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: \"Glyphicons Halflings\";\n font-style: normal;\n font-weight: 400;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n content: \"\\002a\";\n}\n.glyphicon-plus:before {\n content: \"\\002b\";\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n content: \"\\20ac\";\n}\n.glyphicon-minus:before {\n content: \"\\2212\";\n}\n.glyphicon-cloud:before {\n content: \"\\2601\";\n}\n.glyphicon-envelope:before {\n content: \"\\2709\";\n}\n.glyphicon-pencil:before {\n content: \"\\270f\";\n}\n.glyphicon-glass:before {\n content: \"\\e001\";\n}\n.glyphicon-music:before {\n content: \"\\e002\";\n}\n.glyphicon-search:before {\n content: \"\\e003\";\n}\n.glyphicon-heart:before {\n content: \"\\e005\";\n}\n.glyphicon-star:before {\n content: \"\\e006\";\n}\n.glyphicon-star-empty:before {\n content: \"\\e007\";\n}\n.glyphicon-user:before {\n content: \"\\e008\";\n}\n.glyphicon-film:before {\n content: \"\\e009\";\n}\n.glyphicon-th-large:before {\n content: \"\\e010\";\n}\n.glyphicon-th:before {\n content: \"\\e011\";\n}\n.glyphicon-th-list:before {\n content: \"\\e012\";\n}\n.glyphicon-ok:before {\n content: \"\\e013\";\n}\n.glyphicon-remove:before {\n content: \"\\e014\";\n}\n.glyphicon-zoom-in:before {\n content: \"\\e015\";\n}\n.glyphicon-zoom-out:before {\n content: \"\\e016\";\n}\n.glyphicon-off:before {\n content: \"\\e017\";\n}\n.glyphicon-signal:before {\n content: \"\\e018\";\n}\n.glyphicon-cog:before {\n content: \"\\e019\";\n}\n.glyphicon-trash:before {\n content: \"\\e020\";\n}\n.glyphicon-home:before {\n content: \"\\e021\";\n}\n.glyphicon-file:before {\n content: \"\\e022\";\n}\n.glyphicon-time:before {\n content: \"\\e023\";\n}\n.glyphicon-road:before {\n content: \"\\e024\";\n}\n.glyphicon-download-alt:before {\n content: \"\\e025\";\n}\n.glyphicon-download:before {\n content: \"\\e026\";\n}\n.glyphicon-upload:before {\n content: \"\\e027\";\n}\n.glyphicon-inbox:before {\n content: \"\\e028\";\n}\n.glyphicon-play-circle:before {\n content: \"\\e029\";\n}\n.glyphicon-repeat:before {\n content: \"\\e030\";\n}\n.glyphicon-refresh:before {\n content: \"\\e031\";\n}\n.glyphicon-list-alt:before {\n content: \"\\e032\";\n}\n.glyphicon-lock:before {\n content: \"\\e033\";\n}\n.glyphicon-flag:before {\n content: \"\\e034\";\n}\n.glyphicon-headphones:before {\n content: \"\\e035\";\n}\n.glyphicon-volume-off:before {\n content: \"\\e036\";\n}\n.glyphicon-volume-down:before {\n content: \"\\e037\";\n}\n.glyphicon-volume-up:before {\n content: \"\\e038\";\n}\n.glyphicon-qrcode:before {\n content: \"\\e039\";\n}\n.glyphicon-barcode:before {\n content: \"\\e040\";\n}\n.glyphicon-tag:before {\n content: \"\\e041\";\n}\n.glyphicon-tags:before {\n content: \"\\e042\";\n}\n.glyphicon-book:before {\n content: \"\\e043\";\n}\n.glyphicon-bookmark:before {\n content: \"\\e044\";\n}\n.glyphicon-print:before {\n content: \"\\e045\";\n}\n.glyphicon-camera:before {\n content: \"\\e046\";\n}\n.glyphicon-font:before {\n content: \"\\e047\";\n}\n.glyphicon-bold:before {\n content: \"\\e048\";\n}\n.glyphicon-italic:before {\n content: \"\\e049\";\n}\n.glyphicon-text-height:before {\n content: \"\\e050\";\n}\n.glyphicon-text-width:before {\n content: \"\\e051\";\n}\n.glyphicon-align-left:before {\n content: \"\\e052\";\n}\n.glyphicon-align-center:before {\n content: \"\\e053\";\n}\n.glyphicon-align-right:before {\n content: \"\\e054\";\n}\n.glyphicon-align-justify:before {\n content: \"\\e055\";\n}\n.glyphicon-list:before {\n content: \"\\e056\";\n}\n.glyphicon-indent-left:before {\n content: \"\\e057\";\n}\n.glyphicon-indent-right:before {\n content: \"\\e058\";\n}\n.glyphicon-facetime-video:before {\n content: \"\\e059\";\n}\n.glyphicon-picture:before {\n content: \"\\e060\";\n}\n.glyphicon-map-marker:before {\n content: \"\\e062\";\n}\n.glyphicon-adjust:before {\n content: \"\\e063\";\n}\n.glyphicon-tint:before {\n content: \"\\e064\";\n}\n.glyphicon-edit:before {\n content: \"\\e065\";\n}\n.glyphicon-share:before {\n content: \"\\e066\";\n}\n.glyphicon-check:before {\n content: \"\\e067\";\n}\n.glyphicon-move:before {\n content: \"\\e068\";\n}\n.glyphicon-step-backward:before {\n content: \"\\e069\";\n}\n.glyphicon-fast-backward:before {\n content: \"\\e070\";\n}\n.glyphicon-backward:before {\n content: \"\\e071\";\n}\n.glyphicon-play:before {\n content: \"\\e072\";\n}\n.glyphicon-pause:before {\n content: \"\\e073\";\n}\n.glyphicon-stop:before {\n content: \"\\e074\";\n}\n.glyphicon-forward:before {\n content: \"\\e075\";\n}\n.glyphicon-fast-forward:before {\n content: \"\\e076\";\n}\n.glyphicon-step-forward:before {\n content: \"\\e077\";\n}\n.glyphicon-eject:before {\n content: \"\\e078\";\n}\n.glyphicon-chevron-left:before {\n content: \"\\e079\";\n}\n.glyphicon-chevron-right:before {\n content: \"\\e080\";\n}\n.glyphicon-plus-sign:before {\n content: \"\\e081\";\n}\n.glyphicon-minus-sign:before {\n content: \"\\e082\";\n}\n.glyphicon-remove-sign:before {\n content: \"\\e083\";\n}\n.glyphicon-ok-sign:before {\n content: \"\\e084\";\n}\n.glyphicon-question-sign:before {\n content: \"\\e085\";\n}\n.glyphicon-info-sign:before {\n content: \"\\e086\";\n}\n.glyphicon-screenshot:before {\n content: \"\\e087\";\n}\n.glyphicon-remove-circle:before {\n content: \"\\e088\";\n}\n.glyphicon-ok-circle:before {\n content: \"\\e089\";\n}\n.glyphicon-ban-circle:before {\n content: \"\\e090\";\n}\n.glyphicon-arrow-left:before {\n content: \"\\e091\";\n}\n.glyphicon-arrow-right:before {\n content: \"\\e092\";\n}\n.glyphicon-arrow-up:before {\n content: \"\\e093\";\n}\n.glyphicon-arrow-down:before {\n content: \"\\e094\";\n}\n.glyphicon-share-alt:before {\n content: \"\\e095\";\n}\n.glyphicon-resize-full:before {\n content: \"\\e096\";\n}\n.glyphicon-resize-small:before {\n content: \"\\e097\";\n}\n.glyphicon-exclamation-sign:before {\n content: \"\\e101\";\n}\n.glyphicon-gift:before {\n content: \"\\e102\";\n}\n.glyphicon-leaf:before {\n content: \"\\e103\";\n}\n.glyphicon-fire:before {\n content: \"\\e104\";\n}\n.glyphicon-eye-open:before {\n content: \"\\e105\";\n}\n.glyphicon-eye-close:before {\n content: \"\\e106\";\n}\n.glyphicon-warning-sign:before {\n content: \"\\e107\";\n}\n.glyphicon-plane:before {\n content: \"\\e108\";\n}\n.glyphicon-calendar:before {\n content: \"\\e109\";\n}\n.glyphicon-random:before {\n content: \"\\e110\";\n}\n.glyphicon-comment:before {\n content: \"\\e111\";\n}\n.glyphicon-magnet:before {\n content: \"\\e112\";\n}\n.glyphicon-chevron-up:before {\n content: \"\\e113\";\n}\n.glyphicon-chevron-down:before {\n content: \"\\e114\";\n}\n.glyphicon-retweet:before {\n content: \"\\e115\";\n}\n.glyphicon-shopping-cart:before {\n content: \"\\e116\";\n}\n.glyphicon-folder-close:before {\n content: \"\\e117\";\n}\n.glyphicon-folder-open:before {\n content: \"\\e118\";\n}\n.glyphicon-resize-vertical:before {\n content: \"\\e119\";\n}\n.glyphicon-resize-horizontal:before {\n content: \"\\e120\";\n}\n.glyphicon-hdd:before {\n content: \"\\e121\";\n}\n.glyphicon-bullhorn:before {\n content: \"\\e122\";\n}\n.glyphicon-bell:before {\n content: \"\\e123\";\n}\n.glyphicon-certificate:before {\n content: \"\\e124\";\n}\n.glyphicon-thumbs-up:before {\n content: \"\\e125\";\n}\n.glyphicon-thumbs-down:before {\n content: \"\\e126\";\n}\n.glyphicon-hand-right:before {\n content: \"\\e127\";\n}\n.glyphicon-hand-left:before {\n content: \"\\e128\";\n}\n.glyphicon-hand-up:before {\n content: \"\\e129\";\n}\n.glyphicon-hand-down:before {\n content: \"\\e130\";\n}\n.glyphicon-circle-arrow-right:before {\n content: \"\\e131\";\n}\n.glyphicon-circle-arrow-left:before {\n content: \"\\e132\";\n}\n.glyphicon-circle-arrow-up:before {\n content: \"\\e133\";\n}\n.glyphicon-circle-arrow-down:before {\n content: \"\\e134\";\n}\n.glyphicon-globe:before {\n content: \"\\e135\";\n}\n.glyphicon-wrench:before {\n content: \"\\e136\";\n}\n.glyphicon-tasks:before {\n content: \"\\e137\";\n}\n.glyphicon-filter:before {\n content: \"\\e138\";\n}\n.glyphicon-briefcase:before {\n content: \"\\e139\";\n}\n.glyphicon-fullscreen:before {\n content: \"\\e140\";\n}\n.glyphicon-dashboard:before {\n content: \"\\e141\";\n}\n.glyphicon-paperclip:before {\n content: \"\\e142\";\n}\n.glyphicon-heart-empty:before {\n content: \"\\e143\";\n}\n.glyphicon-link:before {\n content: \"\\e144\";\n}\n.glyphicon-phone:before {\n content: \"\\e145\";\n}\n.glyphicon-pushpin:before {\n content: \"\\e146\";\n}\n.glyphicon-usd:before {\n content: \"\\e148\";\n}\n.glyphicon-gbp:before {\n content: \"\\e149\";\n}\n.glyphicon-sort:before {\n content: \"\\e150\";\n}\n.glyphicon-sort-by-alphabet:before {\n content: \"\\e151\";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n content: \"\\e152\";\n}\n.glyphicon-sort-by-order:before {\n content: \"\\e153\";\n}\n.glyphicon-sort-by-order-alt:before {\n content: \"\\e154\";\n}\n.glyphicon-sort-by-attributes:before {\n content: \"\\e155\";\n}\n.glyphicon-sort-by-attributes-alt:before {\n content: \"\\e156\";\n}\n.glyphicon-unchecked:before {\n content: \"\\e157\";\n}\n.glyphicon-expand:before {\n content: \"\\e158\";\n}\n.glyphicon-collapse-down:before {\n content: \"\\e159\";\n}\n.glyphicon-collapse-up:before {\n content: \"\\e160\";\n}\n.glyphicon-log-in:before {\n content: \"\\e161\";\n}\n.glyphicon-flash:before {\n content: \"\\e162\";\n}\n.glyphicon-log-out:before {\n content: \"\\e163\";\n}\n.glyphicon-new-window:before {\n content: \"\\e164\";\n}\n.glyphicon-record:before {\n content: \"\\e165\";\n}\n.glyphicon-save:before {\n content: \"\\e166\";\n}\n.glyphicon-open:before {\n content: \"\\e167\";\n}\n.glyphicon-saved:before {\n content: \"\\e168\";\n}\n.glyphicon-import:before {\n content: \"\\e169\";\n}\n.glyphicon-export:before {\n content: \"\\e170\";\n}\n.glyphicon-send:before {\n content: \"\\e171\";\n}\n.glyphicon-floppy-disk:before {\n content: \"\\e172\";\n}\n.glyphicon-floppy-saved:before {\n content: \"\\e173\";\n}\n.glyphicon-floppy-remove:before {\n content: \"\\e174\";\n}\n.glyphicon-floppy-save:before {\n content: \"\\e175\";\n}\n.glyphicon-floppy-open:before {\n content: \"\\e176\";\n}\n.glyphicon-credit-card:before {\n content: \"\\e177\";\n}\n.glyphicon-transfer:before {\n content: \"\\e178\";\n}\n.glyphicon-cutlery:before {\n content: \"\\e179\";\n}\n.glyphicon-header:before {\n content: \"\\e180\";\n}\n.glyphicon-compressed:before {\n content: \"\\e181\";\n}\n.glyphicon-earphone:before {\n content: \"\\e182\";\n}\n.glyphicon-phone-alt:before {\n content: \"\\e183\";\n}\n.glyphicon-tower:before {\n content: \"\\e184\";\n}\n.glyphicon-stats:before {\n content: \"\\e185\";\n}\n.glyphicon-sd-video:before {\n content: \"\\e186\";\n}\n.glyphicon-hd-video:before {\n content: \"\\e187\";\n}\n.glyphicon-subtitles:before {\n content: \"\\e188\";\n}\n.glyphicon-sound-stereo:before {\n content: \"\\e189\";\n}\n.glyphicon-sound-dolby:before {\n content: \"\\e190\";\n}\n.glyphicon-sound-5-1:before {\n content: \"\\e191\";\n}\n.glyphicon-sound-6-1:before {\n content: \"\\e192\";\n}\n.glyphicon-sound-7-1:before {\n content: \"\\e193\";\n}\n.glyphicon-copyright-mark:before {\n content: \"\\e194\";\n}\n.glyphicon-registration-mark:before {\n content: \"\\e195\";\n}\n.glyphicon-cloud-download:before {\n content: \"\\e197\";\n}\n.glyphicon-cloud-upload:before {\n content: \"\\e198\";\n}\n.glyphicon-tree-conifer:before {\n content: \"\\e199\";\n}\n.glyphicon-tree-deciduous:before {\n content: \"\\e200\";\n}\n.glyphicon-cd:before {\n content: \"\\e201\";\n}\n.glyphicon-save-file:before {\n content: \"\\e202\";\n}\n.glyphicon-open-file:before {\n content: \"\\e203\";\n}\n.glyphicon-level-up:before {\n content: \"\\e204\";\n}\n.glyphicon-copy:before {\n content: \"\\e205\";\n}\n.glyphicon-paste:before {\n content: \"\\e206\";\n}\n.glyphicon-alert:before {\n content: \"\\e209\";\n}\n.glyphicon-equalizer:before {\n content: \"\\e210\";\n}\n.glyphicon-king:before {\n content: \"\\e211\";\n}\n.glyphicon-queen:before {\n content: \"\\e212\";\n}\n.glyphicon-pawn:before {\n content: \"\\e213\";\n}\n.glyphicon-bishop:before {\n content: \"\\e214\";\n}\n.glyphicon-knight:before {\n content: \"\\e215\";\n}\n.glyphicon-baby-formula:before {\n content: \"\\e216\";\n}\n.glyphicon-tent:before {\n content: \"\\26fa\";\n}\n.glyphicon-blackboard:before {\n content: \"\\e218\";\n}\n.glyphicon-bed:before {\n content: \"\\e219\";\n}\n.glyphicon-apple:before {\n content: \"\\f8ff\";\n}\n.glyphicon-erase:before {\n content: \"\\e221\";\n}\n.glyphicon-hourglass:before {\n content: \"\\231b\";\n}\n.glyphicon-lamp:before {\n content: \"\\e223\";\n}\n.glyphicon-duplicate:before {\n content: \"\\e224\";\n}\n.glyphicon-piggy-bank:before {\n content: \"\\e225\";\n}\n.glyphicon-scissors:before {\n content: \"\\e226\";\n}\n.glyphicon-bitcoin:before {\n content: \"\\e227\";\n}\n.glyphicon-btc:before {\n content: \"\\e227\";\n}\n.glyphicon-xbt:before {\n content: \"\\e227\";\n}\n.glyphicon-yen:before {\n content: \"\\00a5\";\n}\n.glyphicon-jpy:before {\n content: \"\\00a5\";\n}\n.glyphicon-ruble:before {\n content: \"\\20bd\";\n}\n.glyphicon-rub:before {\n content: \"\\20bd\";\n}\n.glyphicon-scale:before {\n content: \"\\e230\";\n}\n.glyphicon-ice-lolly:before {\n content: \"\\e231\";\n}\n.glyphicon-ice-lolly-tasted:before {\n content: \"\\e232\";\n}\n.glyphicon-education:before {\n content: \"\\e233\";\n}\n.glyphicon-option-horizontal:before {\n content: \"\\e234\";\n}\n.glyphicon-option-vertical:before {\n content: \"\\e235\";\n}\n.glyphicon-menu-hamburger:before {\n content: \"\\e236\";\n}\n.glyphicon-modal-window:before {\n content: \"\\e237\";\n}\n.glyphicon-oil:before {\n content: \"\\e238\";\n}\n.glyphicon-grain:before {\n content: \"\\e239\";\n}\n.glyphicon-sunglasses:before {\n content: \"\\e240\";\n}\n.glyphicon-text-size:before {\n content: \"\\e241\";\n}\n.glyphicon-text-color:before {\n content: \"\\e242\";\n}\n.glyphicon-text-background:before {\n content: \"\\e243\";\n}\n.glyphicon-object-align-top:before {\n content: \"\\e244\";\n}\n.glyphicon-object-align-bottom:before {\n content: \"\\e245\";\n}\n.glyphicon-object-align-horizontal:before {\n content: \"\\e246\";\n}\n.glyphicon-object-align-left:before {\n content: \"\\e247\";\n}\n.glyphicon-object-align-vertical:before {\n content: \"\\e248\";\n}\n.glyphicon-object-align-right:before {\n content: \"\\e249\";\n}\n.glyphicon-triangle-right:before {\n content: \"\\e250\";\n}\n.glyphicon-triangle-left:before {\n content: \"\\e251\";\n}\n.glyphicon-triangle-bottom:before {\n content: \"\\e252\";\n}\n.glyphicon-triangle-top:before {\n content: \"\\e253\";\n}\n.glyphicon-console:before {\n content: \"\\e254\";\n}\n.glyphicon-superscript:before {\n content: \"\\e255\";\n}\n.glyphicon-subscript:before {\n content: \"\\e256\";\n}\n.glyphicon-menu-left:before {\n content: \"\\e257\";\n}\n.glyphicon-menu-right:before {\n content: \"\\e258\";\n}\n.glyphicon-menu-down:before {\n content: \"\\e259\";\n}\n.glyphicon-menu-up:before {\n content: \"\\e260\";\n}\n* {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n*:before,\n*:after {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n line-height: 1.42857143;\n color: #333333;\n background-color: #fff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\na {\n color: #337ab7;\n text-decoration: none;\n}\na:hover,\na:focus {\n color: #23527c;\n text-decoration: underline;\n}\na:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\nfigure {\n margin: 0;\n}\nimg {\n vertical-align: middle;\n}\n.img-responsive,\n.thumbnail > img,\n.thumbnail a > img,\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n display: block;\n max-width: 100%;\n height: auto;\n}\n.img-rounded {\n border-radius: 6px;\n}\n.img-thumbnail {\n padding: 4px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: all 0.2s ease-in-out;\n -o-transition: all 0.2s ease-in-out;\n transition: all 0.2s ease-in-out;\n display: inline-block;\n max-width: 100%;\n height: auto;\n}\n.img-circle {\n border-radius: 50%;\n}\nhr {\n margin-top: 20px;\n margin-bottom: 20px;\n border: 0;\n border-top: 1px solid #eeeeee;\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n[role=\"button\"] {\n cursor: pointer;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n font-weight: 400;\n line-height: 1;\n color: #777777;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n margin-top: 20px;\n margin-bottom: 10px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n margin-top: 10px;\n margin-bottom: 10px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n font-size: 75%;\n}\nh1,\n.h1 {\n font-size: 36px;\n}\nh2,\n.h2 {\n font-size: 30px;\n}\nh3,\n.h3 {\n font-size: 24px;\n}\nh4,\n.h4 {\n font-size: 18px;\n}\nh5,\n.h5 {\n font-size: 14px;\n}\nh6,\n.h6 {\n font-size: 12px;\n}\np {\n margin: 0 0 10px;\n}\n.lead {\n margin-bottom: 20px;\n font-size: 16px;\n font-weight: 300;\n line-height: 1.4;\n}\n@media (min-width: 768px) {\n .lead {\n font-size: 21px;\n }\n}\nsmall,\n.small {\n font-size: 85%;\n}\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n.text-left {\n text-align: left;\n}\n.text-right {\n text-align: right;\n}\n.text-center {\n text-align: center;\n}\n.text-justify {\n text-align: justify;\n}\n.text-nowrap {\n white-space: nowrap;\n}\n.text-lowercase {\n text-transform: lowercase;\n}\n.text-uppercase {\n text-transform: uppercase;\n}\n.text-capitalize {\n text-transform: capitalize;\n}\n.text-muted {\n color: #777777;\n}\n.text-primary {\n color: #337ab7;\n}\na.text-primary:hover,\na.text-primary:focus {\n color: #286090;\n}\n.text-success {\n color: #3c763d;\n}\na.text-success:hover,\na.text-success:focus {\n color: #2b542c;\n}\n.text-info {\n color: #31708f;\n}\na.text-info:hover,\na.text-info:focus {\n color: #245269;\n}\n.text-warning {\n color: #8a6d3b;\n}\na.text-warning:hover,\na.text-warning:focus {\n color: #66512c;\n}\n.text-danger {\n color: #a94442;\n}\na.text-danger:hover,\na.text-danger:focus {\n color: #843534;\n}\n.bg-primary {\n color: #fff;\n background-color: #337ab7;\n}\na.bg-primary:hover,\na.bg-primary:focus {\n background-color: #286090;\n}\n.bg-success {\n background-color: #dff0d8;\n}\na.bg-success:hover,\na.bg-success:focus {\n background-color: #c1e2b3;\n}\n.bg-info {\n background-color: #d9edf7;\n}\na.bg-info:hover,\na.bg-info:focus {\n background-color: #afd9ee;\n}\n.bg-warning {\n background-color: #fcf8e3;\n}\na.bg-warning:hover,\na.bg-warning:focus {\n background-color: #f7ecb5;\n}\n.bg-danger {\n background-color: #f2dede;\n}\na.bg-danger:hover,\na.bg-danger:focus {\n background-color: #e4b9b9;\n}\n.page-header {\n padding-bottom: 9px;\n margin: 40px 0 20px;\n border-bottom: 1px solid #eeeeee;\n}\nul,\nol {\n margin-top: 0;\n margin-bottom: 10px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n margin-bottom: 0;\n}\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n.list-inline {\n padding-left: 0;\n list-style: none;\n margin-left: -5px;\n}\n.list-inline > li {\n display: inline-block;\n padding-right: 5px;\n padding-left: 5px;\n}\ndl {\n margin-top: 0;\n margin-bottom: 20px;\n}\ndt,\ndd {\n line-height: 1.42857143;\n}\ndt {\n font-weight: 700;\n}\ndd {\n margin-left: 0;\n}\n@media (min-width: 768px) {\n .dl-horizontal dt {\n float: left;\n width: 160px;\n clear: left;\n text-align: right;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .dl-horizontal dd {\n margin-left: 180px;\n }\n}\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n}\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\nblockquote {\n padding: 10px 20px;\n margin: 0 0 20px;\n font-size: 17.5px;\n border-left: 5px solid #eeeeee;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n display: block;\n font-size: 80%;\n line-height: 1.42857143;\n color: #777777;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n content: \"\\2014 \\00A0\";\n}\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n text-align: right;\n border-right: 5px solid #eeeeee;\n border-left: 0;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n content: \"\";\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n content: \"\\00A0 \\2014\";\n}\naddress {\n margin-bottom: 20px;\n font-style: normal;\n line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace;\n}\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: #c7254e;\n background-color: #f9f2f4;\n border-radius: 4px;\n}\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: #fff;\n background-color: #333;\n border-radius: 3px;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\npre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.42857143;\n color: #333333;\n word-break: break-all;\n word-wrap: break-word;\n background-color: #f5f5f5;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n}\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n.container {\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n@media (min-width: 768px) {\n .container {\n width: 750px;\n }\n}\n@media (min-width: 992px) {\n .container {\n width: 970px;\n }\n}\n@media (min-width: 1200px) {\n .container {\n width: 1170px;\n }\n}\n.container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n.row {\n margin-right: -15px;\n margin-left: -15px;\n}\n.row-no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n.row-no-gutters [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n.col-xs-1,\n.col-sm-1,\n.col-md-1,\n.col-lg-1,\n.col-xs-2,\n.col-sm-2,\n.col-md-2,\n.col-lg-2,\n.col-xs-3,\n.col-sm-3,\n.col-md-3,\n.col-lg-3,\n.col-xs-4,\n.col-sm-4,\n.col-md-4,\n.col-lg-4,\n.col-xs-5,\n.col-sm-5,\n.col-md-5,\n.col-lg-5,\n.col-xs-6,\n.col-sm-6,\n.col-md-6,\n.col-lg-6,\n.col-xs-7,\n.col-sm-7,\n.col-md-7,\n.col-lg-7,\n.col-xs-8,\n.col-sm-8,\n.col-md-8,\n.col-lg-8,\n.col-xs-9,\n.col-sm-9,\n.col-md-9,\n.col-lg-9,\n.col-xs-10,\n.col-sm-10,\n.col-md-10,\n.col-lg-10,\n.col-xs-11,\n.col-sm-11,\n.col-md-11,\n.col-lg-11,\n.col-xs-12,\n.col-sm-12,\n.col-md-12,\n.col-lg-12 {\n position: relative;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n.col-xs-1,\n.col-xs-2,\n.col-xs-3,\n.col-xs-4,\n.col-xs-5,\n.col-xs-6,\n.col-xs-7,\n.col-xs-8,\n.col-xs-9,\n.col-xs-10,\n.col-xs-11,\n.col-xs-12 {\n float: left;\n}\n.col-xs-12 {\n width: 100%;\n}\n.col-xs-11 {\n width: 91.66666667%;\n}\n.col-xs-10 {\n width: 83.33333333%;\n}\n.col-xs-9 {\n width: 75%;\n}\n.col-xs-8 {\n width: 66.66666667%;\n}\n.col-xs-7 {\n width: 58.33333333%;\n}\n.col-xs-6 {\n width: 50%;\n}\n.col-xs-5 {\n width: 41.66666667%;\n}\n.col-xs-4 {\n width: 33.33333333%;\n}\n.col-xs-3 {\n width: 25%;\n}\n.col-xs-2 {\n width: 16.66666667%;\n}\n.col-xs-1 {\n width: 8.33333333%;\n}\n.col-xs-pull-12 {\n right: 100%;\n}\n.col-xs-pull-11 {\n right: 91.66666667%;\n}\n.col-xs-pull-10 {\n right: 83.33333333%;\n}\n.col-xs-pull-9 {\n right: 75%;\n}\n.col-xs-pull-8 {\n right: 66.66666667%;\n}\n.col-xs-pull-7 {\n right: 58.33333333%;\n}\n.col-xs-pull-6 {\n right: 50%;\n}\n.col-xs-pull-5 {\n right: 41.66666667%;\n}\n.col-xs-pull-4 {\n right: 33.33333333%;\n}\n.col-xs-pull-3 {\n right: 25%;\n}\n.col-xs-pull-2 {\n right: 16.66666667%;\n}\n.col-xs-pull-1 {\n right: 8.33333333%;\n}\n.col-xs-pull-0 {\n right: auto;\n}\n.col-xs-push-12 {\n left: 100%;\n}\n.col-xs-push-11 {\n left: 91.66666667%;\n}\n.col-xs-push-10 {\n left: 83.33333333%;\n}\n.col-xs-push-9 {\n left: 75%;\n}\n.col-xs-push-8 {\n left: 66.66666667%;\n}\n.col-xs-push-7 {\n left: 58.33333333%;\n}\n.col-xs-push-6 {\n left: 50%;\n}\n.col-xs-push-5 {\n left: 41.66666667%;\n}\n.col-xs-push-4 {\n left: 33.33333333%;\n}\n.col-xs-push-3 {\n left: 25%;\n}\n.col-xs-push-2 {\n left: 16.66666667%;\n}\n.col-xs-push-1 {\n left: 8.33333333%;\n}\n.col-xs-push-0 {\n left: auto;\n}\n.col-xs-offset-12 {\n margin-left: 100%;\n}\n.col-xs-offset-11 {\n margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n margin-left: 75%;\n}\n.col-xs-offset-8 {\n margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n margin-left: 50%;\n}\n.col-xs-offset-5 {\n margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n margin-left: 25%;\n}\n.col-xs-offset-2 {\n margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n margin-left: 0%;\n}\n@media (min-width: 768px) {\n .col-sm-1,\n .col-sm-2,\n .col-sm-3,\n .col-sm-4,\n .col-sm-5,\n .col-sm-6,\n .col-sm-7,\n .col-sm-8,\n .col-sm-9,\n .col-sm-10,\n .col-sm-11,\n .col-sm-12 {\n float: left;\n }\n .col-sm-12 {\n width: 100%;\n }\n .col-sm-11 {\n width: 91.66666667%;\n }\n .col-sm-10 {\n width: 83.33333333%;\n }\n .col-sm-9 {\n width: 75%;\n }\n .col-sm-8 {\n width: 66.66666667%;\n }\n .col-sm-7 {\n width: 58.33333333%;\n }\n .col-sm-6 {\n width: 50%;\n }\n .col-sm-5 {\n width: 41.66666667%;\n }\n .col-sm-4 {\n width: 33.33333333%;\n }\n .col-sm-3 {\n width: 25%;\n }\n .col-sm-2 {\n width: 16.66666667%;\n }\n .col-sm-1 {\n width: 8.33333333%;\n }\n .col-sm-pull-12 {\n right: 100%;\n }\n .col-sm-pull-11 {\n right: 91.66666667%;\n }\n .col-sm-pull-10 {\n right: 83.33333333%;\n }\n .col-sm-pull-9 {\n right: 75%;\n }\n .col-sm-pull-8 {\n right: 66.66666667%;\n }\n .col-sm-pull-7 {\n right: 58.33333333%;\n }\n .col-sm-pull-6 {\n right: 50%;\n }\n .col-sm-pull-5 {\n right: 41.66666667%;\n }\n .col-sm-pull-4 {\n right: 33.33333333%;\n }\n .col-sm-pull-3 {\n right: 25%;\n }\n .col-sm-pull-2 {\n right: 16.66666667%;\n }\n .col-sm-pull-1 {\n right: 8.33333333%;\n }\n .col-sm-pull-0 {\n right: auto;\n }\n .col-sm-push-12 {\n left: 100%;\n }\n .col-sm-push-11 {\n left: 91.66666667%;\n }\n .col-sm-push-10 {\n left: 83.33333333%;\n }\n .col-sm-push-9 {\n left: 75%;\n }\n .col-sm-push-8 {\n left: 66.66666667%;\n }\n .col-sm-push-7 {\n left: 58.33333333%;\n }\n .col-sm-push-6 {\n left: 50%;\n }\n .col-sm-push-5 {\n left: 41.66666667%;\n }\n .col-sm-push-4 {\n left: 33.33333333%;\n }\n .col-sm-push-3 {\n left: 25%;\n }\n .col-sm-push-2 {\n left: 16.66666667%;\n }\n .col-sm-push-1 {\n left: 8.33333333%;\n }\n .col-sm-push-0 {\n left: auto;\n }\n .col-sm-offset-12 {\n margin-left: 100%;\n }\n .col-sm-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-sm-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-sm-offset-9 {\n margin-left: 75%;\n }\n .col-sm-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-sm-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-sm-offset-6 {\n margin-left: 50%;\n }\n .col-sm-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-sm-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-sm-offset-3 {\n margin-left: 25%;\n }\n .col-sm-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-sm-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-sm-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 992px) {\n .col-md-1,\n .col-md-2,\n .col-md-3,\n .col-md-4,\n .col-md-5,\n .col-md-6,\n .col-md-7,\n .col-md-8,\n .col-md-9,\n .col-md-10,\n .col-md-11,\n .col-md-12 {\n float: left;\n }\n .col-md-12 {\n width: 100%;\n }\n .col-md-11 {\n width: 91.66666667%;\n }\n .col-md-10 {\n width: 83.33333333%;\n }\n .col-md-9 {\n width: 75%;\n }\n .col-md-8 {\n width: 66.66666667%;\n }\n .col-md-7 {\n width: 58.33333333%;\n }\n .col-md-6 {\n width: 50%;\n }\n .col-md-5 {\n width: 41.66666667%;\n }\n .col-md-4 {\n width: 33.33333333%;\n }\n .col-md-3 {\n width: 25%;\n }\n .col-md-2 {\n width: 16.66666667%;\n }\n .col-md-1 {\n width: 8.33333333%;\n }\n .col-md-pull-12 {\n right: 100%;\n }\n .col-md-pull-11 {\n right: 91.66666667%;\n }\n .col-md-pull-10 {\n right: 83.33333333%;\n }\n .col-md-pull-9 {\n right: 75%;\n }\n .col-md-pull-8 {\n right: 66.66666667%;\n }\n .col-md-pull-7 {\n right: 58.33333333%;\n }\n .col-md-pull-6 {\n right: 50%;\n }\n .col-md-pull-5 {\n right: 41.66666667%;\n }\n .col-md-pull-4 {\n right: 33.33333333%;\n }\n .col-md-pull-3 {\n right: 25%;\n }\n .col-md-pull-2 {\n right: 16.66666667%;\n }\n .col-md-pull-1 {\n right: 8.33333333%;\n }\n .col-md-pull-0 {\n right: auto;\n }\n .col-md-push-12 {\n left: 100%;\n }\n .col-md-push-11 {\n left: 91.66666667%;\n }\n .col-md-push-10 {\n left: 83.33333333%;\n }\n .col-md-push-9 {\n left: 75%;\n }\n .col-md-push-8 {\n left: 66.66666667%;\n }\n .col-md-push-7 {\n left: 58.33333333%;\n }\n .col-md-push-6 {\n left: 50%;\n }\n .col-md-push-5 {\n left: 41.66666667%;\n }\n .col-md-push-4 {\n left: 33.33333333%;\n }\n .col-md-push-3 {\n left: 25%;\n }\n .col-md-push-2 {\n left: 16.66666667%;\n }\n .col-md-push-1 {\n left: 8.33333333%;\n }\n .col-md-push-0 {\n left: auto;\n }\n .col-md-offset-12 {\n margin-left: 100%;\n }\n .col-md-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-md-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-md-offset-9 {\n margin-left: 75%;\n }\n .col-md-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-md-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-md-offset-6 {\n margin-left: 50%;\n }\n .col-md-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-md-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-md-offset-3 {\n margin-left: 25%;\n }\n .col-md-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-md-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-md-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 1200px) {\n .col-lg-1,\n .col-lg-2,\n .col-lg-3,\n .col-lg-4,\n .col-lg-5,\n .col-lg-6,\n .col-lg-7,\n .col-lg-8,\n .col-lg-9,\n .col-lg-10,\n .col-lg-11,\n .col-lg-12 {\n float: left;\n }\n .col-lg-12 {\n width: 100%;\n }\n .col-lg-11 {\n width: 91.66666667%;\n }\n .col-lg-10 {\n width: 83.33333333%;\n }\n .col-lg-9 {\n width: 75%;\n }\n .col-lg-8 {\n width: 66.66666667%;\n }\n .col-lg-7 {\n width: 58.33333333%;\n }\n .col-lg-6 {\n width: 50%;\n }\n .col-lg-5 {\n width: 41.66666667%;\n }\n .col-lg-4 {\n width: 33.33333333%;\n }\n .col-lg-3 {\n width: 25%;\n }\n .col-lg-2 {\n width: 16.66666667%;\n }\n .col-lg-1 {\n width: 8.33333333%;\n }\n .col-lg-pull-12 {\n right: 100%;\n }\n .col-lg-pull-11 {\n right: 91.66666667%;\n }\n .col-lg-pull-10 {\n right: 83.33333333%;\n }\n .col-lg-pull-9 {\n right: 75%;\n }\n .col-lg-pull-8 {\n right: 66.66666667%;\n }\n .col-lg-pull-7 {\n right: 58.33333333%;\n }\n .col-lg-pull-6 {\n right: 50%;\n }\n .col-lg-pull-5 {\n right: 41.66666667%;\n }\n .col-lg-pull-4 {\n right: 33.33333333%;\n }\n .col-lg-pull-3 {\n right: 25%;\n }\n .col-lg-pull-2 {\n right: 16.66666667%;\n }\n .col-lg-pull-1 {\n right: 8.33333333%;\n }\n .col-lg-pull-0 {\n right: auto;\n }\n .col-lg-push-12 {\n left: 100%;\n }\n .col-lg-push-11 {\n left: 91.66666667%;\n }\n .col-lg-push-10 {\n left: 83.33333333%;\n }\n .col-lg-push-9 {\n left: 75%;\n }\n .col-lg-push-8 {\n left: 66.66666667%;\n }\n .col-lg-push-7 {\n left: 58.33333333%;\n }\n .col-lg-push-6 {\n left: 50%;\n }\n .col-lg-push-5 {\n left: 41.66666667%;\n }\n .col-lg-push-4 {\n left: 33.33333333%;\n }\n .col-lg-push-3 {\n left: 25%;\n }\n .col-lg-push-2 {\n left: 16.66666667%;\n }\n .col-lg-push-1 {\n left: 8.33333333%;\n }\n .col-lg-push-0 {\n left: auto;\n }\n .col-lg-offset-12 {\n margin-left: 100%;\n }\n .col-lg-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-lg-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-lg-offset-9 {\n margin-left: 75%;\n }\n .col-lg-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-lg-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-lg-offset-6 {\n margin-left: 50%;\n }\n .col-lg-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-lg-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-lg-offset-3 {\n margin-left: 25%;\n }\n .col-lg-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-lg-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-lg-offset-0 {\n margin-left: 0%;\n }\n}\ntable {\n background-color: transparent;\n}\ntable col[class*=\"col-\"] {\n position: static;\n display: table-column;\n float: none;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n position: static;\n display: table-cell;\n float: none;\n}\ncaption {\n padding-top: 8px;\n padding-bottom: 8px;\n color: #777777;\n text-align: left;\n}\nth {\n text-align: left;\n}\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 20px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n padding: 8px;\n line-height: 1.42857143;\n vertical-align: top;\n border-top: 1px solid #ddd;\n}\n.table > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid #ddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n border-top: 0;\n}\n.table > tbody + tbody {\n border-top: 2px solid #ddd;\n}\n.table .table {\n background-color: #fff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n padding: 5px;\n}\n.table-bordered {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-of-type(odd) {\n background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n background-color: #f5f5f5;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n background-color: #ebcccc;\n}\n.table-responsive {\n min-height: 0.01%;\n overflow-x: auto;\n}\n@media screen and (max-width: 767px) {\n .table-responsive {\n width: 100%;\n margin-bottom: 15px;\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid #ddd;\n }\n .table-responsive > .table {\n margin-bottom: 0;\n }\n .table-responsive > .table > thead > tr > th,\n .table-responsive > .table > tbody > tr > th,\n .table-responsive > .table > tfoot > tr > th,\n .table-responsive > .table > thead > tr > td,\n .table-responsive > .table > tbody > tr > td,\n .table-responsive > .table > tfoot > tr > td {\n white-space: nowrap;\n }\n .table-responsive > .table-bordered {\n border: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:first-child,\n .table-responsive > .table-bordered > tbody > tr > th:first-child,\n .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n .table-responsive > .table-bordered > thead > tr > td:first-child,\n .table-responsive > .table-bordered > tbody > tr > td:first-child,\n .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:last-child,\n .table-responsive > .table-bordered > tbody > tr > th:last-child,\n .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n .table-responsive > .table-bordered > thead > tr > td:last-child,\n .table-responsive > .table-bordered > tbody > tr > td:last-child,\n .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n }\n .table-responsive > .table-bordered > tbody > tr:last-child > th,\n .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n .table-responsive > .table-bordered > tbody > tr:last-child > td,\n .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n border-bottom: 0;\n }\n}\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: 20px;\n font-size: 21px;\n line-height: inherit;\n color: #333333;\n border: 0;\n border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n display: inline-block;\n max-width: 100%;\n margin-bottom: 5px;\n font-weight: 700;\n}\ninput[type=\"search\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9;\n line-height: normal;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"].disabled,\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"] {\n cursor: not-allowed;\n}\ninput[type=\"file\"] {\n display: block;\n}\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\nselect[multiple],\nselect[size] {\n height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\noutput {\n display: block;\n padding-top: 7px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n}\n.form-control {\n display: block;\n width: 100%;\n height: 34px;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n background-color: #fff;\n background-image: none;\n border: 1px solid #ccc;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n border-color: #66afe9;\n outline: 0;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n.form-control::-moz-placeholder {\n color: #999;\n opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n color: #999;\n}\n.form-control::-webkit-input-placeholder {\n color: #999;\n}\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n background-color: #eeeeee;\n opacity: 1;\n}\n.form-control[disabled],\nfieldset[disabled] .form-control {\n cursor: not-allowed;\n}\ntextarea.form-control {\n height: auto;\n}\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n input[type=\"date\"].form-control,\n input[type=\"time\"].form-control,\n input[type=\"datetime-local\"].form-control,\n input[type=\"month\"].form-control {\n line-height: 34px;\n }\n input[type=\"date\"].input-sm,\n input[type=\"time\"].input-sm,\n input[type=\"datetime-local\"].input-sm,\n input[type=\"month\"].input-sm,\n .input-group-sm input[type=\"date\"],\n .input-group-sm input[type=\"time\"],\n .input-group-sm input[type=\"datetime-local\"],\n .input-group-sm input[type=\"month\"] {\n line-height: 30px;\n }\n input[type=\"date\"].input-lg,\n input[type=\"time\"].input-lg,\n input[type=\"datetime-local\"].input-lg,\n input[type=\"month\"].input-lg,\n .input-group-lg input[type=\"date\"],\n .input-group-lg input[type=\"time\"],\n .input-group-lg input[type=\"datetime-local\"],\n .input-group-lg input[type=\"month\"] {\n line-height: 46px;\n }\n}\n.form-group {\n margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n cursor: not-allowed;\n}\n.radio label,\n.checkbox label {\n min-height: 20px;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: 400;\n cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n position: absolute;\n margin-top: 4px \\9;\n margin-left: -20px;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n position: relative;\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: 400;\n vertical-align: middle;\n cursor: pointer;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n cursor: not-allowed;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px;\n}\n.form-control-static {\n min-height: 34px;\n padding-top: 7px;\n padding-bottom: 7px;\n margin-bottom: 0;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n padding-right: 0;\n padding-left: 0;\n}\n.input-sm {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-sm {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n height: auto;\n}\n.form-group-sm .form-control {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.form-group-sm select.form-control {\n height: 30px;\n line-height: 30px;\n}\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n height: auto;\n}\n.form-group-sm .form-control-static {\n height: 30px;\n min-height: 32px;\n padding: 6px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.input-lg {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-lg {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n height: auto;\n}\n.form-group-lg .form-control {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.form-group-lg select.form-control {\n height: 46px;\n line-height: 46px;\n}\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n height: auto;\n}\n.form-group-lg .form-control-static {\n height: 46px;\n min-height: 38px;\n padding: 11px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.has-feedback {\n position: relative;\n}\n.has-feedback .form-control {\n padding-right: 42.5px;\n}\n.form-control-feedback {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n display: block;\n width: 34px;\n height: 34px;\n line-height: 34px;\n text-align: center;\n pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n width: 46px;\n height: 46px;\n line-height: 46px;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n width: 30px;\n height: 30px;\n line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n color: #3c763d;\n}\n.has-success .form-control {\n border-color: #3c763d;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-success .form-control:focus {\n border-color: #2b542c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #3c763d;\n}\n.has-success .form-control-feedback {\n color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n color: #8a6d3b;\n}\n.has-warning .form-control {\n border-color: #8a6d3b;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-warning .form-control:focus {\n border-color: #66512c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #8a6d3b;\n}\n.has-warning .form-control-feedback {\n color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n color: #a94442;\n}\n.has-error .form-control {\n border-color: #a94442;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-error .form-control:focus {\n border-color: #843534;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n color: #a94442;\n background-color: #f2dede;\n border-color: #a94442;\n}\n.has-error .form-control-feedback {\n color: #a94442;\n}\n.has-feedback label ~ .form-control-feedback {\n top: 25px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n top: 0;\n}\n.help-block {\n display: block;\n margin-top: 5px;\n margin-bottom: 10px;\n color: #737373;\n}\n@media (min-width: 768px) {\n .form-inline .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-static {\n display: inline-block;\n }\n .form-inline .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .form-inline .input-group .input-group-addon,\n .form-inline .input-group .input-group-btn,\n .form-inline .input-group .form-control {\n width: auto;\n }\n .form-inline .input-group > .form-control {\n width: 100%;\n }\n .form-inline .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio,\n .form-inline .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio label,\n .form-inline .checkbox label {\n padding-left: 0;\n }\n .form-inline .radio input[type=\"radio\"],\n .form-inline .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n padding-top: 7px;\n margin-top: 0;\n margin-bottom: 0;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n min-height: 27px;\n}\n.form-horizontal .form-group {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .control-label {\n padding-top: 7px;\n margin-bottom: 0;\n text-align: right;\n }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n right: 15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-lg .control-label {\n padding-top: 11px;\n font-size: 18px;\n }\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-sm .control-label {\n padding-top: 6px;\n font-size: 12px;\n }\n}\n.btn {\n display: inline-block;\n margin-bottom: 0;\n font-weight: normal;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n -ms-touch-action: manipulation;\n touch-action: manipulation;\n cursor: pointer;\n background-image: none;\n border: 1px solid transparent;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n border-radius: 4px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n color: #333;\n text-decoration: none;\n}\n.btn:active,\n.btn.active {\n background-image: none;\n outline: 0;\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n cursor: not-allowed;\n filter: alpha(opacity=65);\n opacity: 0.65;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n.btn-default {\n color: #333;\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default:focus,\n.btn-default.focus {\n color: #333;\n background-color: #e6e6e6;\n border-color: #8c8c8c;\n}\n.btn-default:hover {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n color: #333;\n background-color: #e6e6e6;\n background-image: none;\n border-color: #adadad;\n}\n.btn-default:active:hover,\n.btn-default.active:hover,\n.open > .dropdown-toggle.btn-default:hover,\n.btn-default:active:focus,\n.btn-default.active:focus,\n.open > .dropdown-toggle.btn-default:focus,\n.btn-default:active.focus,\n.btn-default.active.focus,\n.open > .dropdown-toggle.btn-default.focus {\n color: #333;\n background-color: #d4d4d4;\n border-color: #8c8c8c;\n}\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus {\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default .badge {\n color: #fff;\n background-color: #333;\n}\n.btn-primary {\n color: #fff;\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary:focus,\n.btn-primary.focus {\n color: #fff;\n background-color: #286090;\n border-color: #122b40;\n}\n.btn-primary:hover {\n color: #fff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n color: #fff;\n background-color: #286090;\n background-image: none;\n border-color: #204d74;\n}\n.btn-primary:active:hover,\n.btn-primary.active:hover,\n.open > .dropdown-toggle.btn-primary:hover,\n.btn-primary:active:focus,\n.btn-primary.active:focus,\n.open > .dropdown-toggle.btn-primary:focus,\n.btn-primary:active.focus,\n.btn-primary.active.focus,\n.open > .dropdown-toggle.btn-primary.focus {\n color: #fff;\n background-color: #204d74;\n border-color: #122b40;\n}\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus {\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.btn-success {\n color: #fff;\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success:focus,\n.btn-success.focus {\n color: #fff;\n background-color: #449d44;\n border-color: #255625;\n}\n.btn-success:hover {\n color: #fff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n color: #fff;\n background-color: #449d44;\n background-image: none;\n border-color: #398439;\n}\n.btn-success:active:hover,\n.btn-success.active:hover,\n.open > .dropdown-toggle.btn-success:hover,\n.btn-success:active:focus,\n.btn-success.active:focus,\n.open > .dropdown-toggle.btn-success:focus,\n.btn-success:active.focus,\n.btn-success.active.focus,\n.open > .dropdown-toggle.btn-success.focus {\n color: #fff;\n background-color: #398439;\n border-color: #255625;\n}\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus {\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success .badge {\n color: #5cb85c;\n background-color: #fff;\n}\n.btn-info {\n color: #fff;\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info:focus,\n.btn-info.focus {\n color: #fff;\n background-color: #31b0d5;\n border-color: #1b6d85;\n}\n.btn-info:hover {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n color: #fff;\n background-color: #31b0d5;\n background-image: none;\n border-color: #269abc;\n}\n.btn-info:active:hover,\n.btn-info.active:hover,\n.open > .dropdown-toggle.btn-info:hover,\n.btn-info:active:focus,\n.btn-info.active:focus,\n.open > .dropdown-toggle.btn-info:focus,\n.btn-info:active.focus,\n.btn-info.active.focus,\n.open > .dropdown-toggle.btn-info.focus {\n color: #fff;\n background-color: #269abc;\n border-color: #1b6d85;\n}\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus {\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info .badge {\n color: #5bc0de;\n background-color: #fff;\n}\n.btn-warning {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning:focus,\n.btn-warning.focus {\n color: #fff;\n background-color: #ec971f;\n border-color: #985f0d;\n}\n.btn-warning:hover {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n color: #fff;\n background-color: #ec971f;\n background-image: none;\n border-color: #d58512;\n}\n.btn-warning:active:hover,\n.btn-warning.active:hover,\n.open > .dropdown-toggle.btn-warning:hover,\n.btn-warning:active:focus,\n.btn-warning.active:focus,\n.open > .dropdown-toggle.btn-warning:focus,\n.btn-warning:active.focus,\n.btn-warning.active.focus,\n.open > .dropdown-toggle.btn-warning.focus {\n color: #fff;\n background-color: #d58512;\n border-color: #985f0d;\n}\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus {\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning .badge {\n color: #f0ad4e;\n background-color: #fff;\n}\n.btn-danger {\n color: #fff;\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger:focus,\n.btn-danger.focus {\n color: #fff;\n background-color: #c9302c;\n border-color: #761c19;\n}\n.btn-danger:hover {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n color: #fff;\n background-color: #c9302c;\n background-image: none;\n border-color: #ac2925;\n}\n.btn-danger:active:hover,\n.btn-danger.active:hover,\n.open > .dropdown-toggle.btn-danger:hover,\n.btn-danger:active:focus,\n.btn-danger.active:focus,\n.open > .dropdown-toggle.btn-danger:focus,\n.btn-danger:active.focus,\n.btn-danger.active.focus,\n.open > .dropdown-toggle.btn-danger.focus {\n color: #fff;\n background-color: #ac2925;\n border-color: #761c19;\n}\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus {\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger .badge {\n color: #d9534f;\n background-color: #fff;\n}\n.btn-link {\n font-weight: 400;\n color: #337ab7;\n border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n background-color: transparent;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n color: #23527c;\n text-decoration: underline;\n background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n color: #777777;\n text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n padding: 1px 5px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-block {\n display: block;\n width: 100%;\n}\n.btn-block + .btn-block {\n margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n.fade {\n opacity: 0;\n -webkit-transition: opacity 0.15s linear;\n -o-transition: opacity 0.15s linear;\n transition: opacity 0.15s linear;\n}\n.fade.in {\n opacity: 1;\n}\n.collapse {\n display: none;\n}\n.collapse.in {\n display: block;\n}\ntr.collapse.in {\n display: table-row;\n}\ntbody.collapse.in {\n display: table-row-group;\n}\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n -webkit-transition-property: height, visibility;\n -o-transition-property: height, visibility;\n transition-property: height, visibility;\n -webkit-transition-duration: 0.35s;\n -o-transition-duration: 0.35s;\n transition-duration: 0.35s;\n -webkit-transition-timing-function: ease;\n -o-transition-timing-function: ease;\n transition-timing-function: ease;\n}\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: 4px dashed;\n border-top: 4px solid \\9;\n border-right: 4px solid transparent;\n border-left: 4px solid transparent;\n}\n.dropup,\n.dropdown {\n position: relative;\n}\n.dropdown-toggle:focus {\n outline: 0;\n}\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0;\n font-size: 14px;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n}\n.dropdown-menu.pull-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu .divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: 400;\n line-height: 1.42857143;\n color: #333333;\n white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n color: #262626;\n text-decoration: none;\n background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n color: #fff;\n text-decoration: none;\n background-color: #337ab7;\n outline: 0;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n color: #777777;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n text-decoration: none;\n cursor: not-allowed;\n background-color: transparent;\n background-image: none;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.open > .dropdown-menu {\n display: block;\n}\n.open > a {\n outline: 0;\n}\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: 12px;\n line-height: 1.42857143;\n color: #777777;\n white-space: nowrap;\n}\n.dropdown-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 990;\n}\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n content: \"\";\n border-top: 0;\n border-bottom: 4px dashed;\n border-bottom: 4px solid \\9;\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n}\n@media (min-width: 768px) {\n .navbar-right .dropdown-menu {\n right: 0;\n left: auto;\n }\n .navbar-right .dropdown-menu-left {\n right: auto;\n left: 0;\n }\n}\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n margin-left: -1px;\n}\n.btn-toolbar {\n margin-left: -5px;\n}\n.btn-toolbar .btn,\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n padding-right: 8px;\n padding-left: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-right: 12px;\n padding-left: 12px;\n}\n.btn-group.open .dropdown-toggle {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn .caret {\n margin-left: 0;\n}\n.btn-lg .caret {\n border-width: 5px 5px 0;\n border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n display: table-cell;\n float: none;\n width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n width: 100%;\n}\n.btn-group-justified > .btn-group .dropdown-menu {\n left: auto;\n}\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n.input-group {\n position: relative;\n display: table;\n border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n float: none;\n padding-right: 0;\n padding-left: 0;\n}\n.input-group .form-control {\n position: relative;\n z-index: 2;\n float: left;\n width: 100%;\n margin-bottom: 0;\n}\n.input-group .form-control:focus {\n z-index: 3;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle;\n}\n.input-group-addon {\n padding: 6px 12px;\n font-size: 14px;\n font-weight: 400;\n line-height: 1;\n color: #555555;\n text-align: center;\n background-color: #eeeeee;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\n.input-group-addon.input-sm {\n padding: 5px 10px;\n font-size: 12px;\n border-radius: 3px;\n}\n.input-group-addon.input-lg {\n padding: 10px 16px;\n font-size: 18px;\n border-radius: 6px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n.input-group-btn > .btn {\n position: relative;\n}\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n z-index: 2;\n margin-left: -1px;\n}\n.nav {\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n.nav > li {\n position: relative;\n display: block;\n}\n.nav > li > a {\n position: relative;\n display: block;\n padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.nav > li.disabled > a {\n color: #777777;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n color: #777777;\n text-decoration: none;\n cursor: not-allowed;\n background-color: transparent;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n background-color: #eeeeee;\n border-color: #337ab7;\n}\n.nav .nav-divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.nav > li > a > img {\n max-width: none;\n}\n.nav-tabs {\n border-bottom: 1px solid #ddd;\n}\n.nav-tabs > li {\n float: left;\n margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n margin-right: 2px;\n line-height: 1.42857143;\n border: 1px solid transparent;\n border-radius: 4px 4px 0 0;\n}\n.nav-tabs > li > a:hover {\n border-color: #eeeeee #eeeeee #ddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n color: #555555;\n cursor: default;\n background-color: #fff;\n border: 1px solid #ddd;\n border-bottom-color: transparent;\n}\n.nav-tabs.nav-justified {\n width: 100%;\n border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n float: none;\n}\n.nav-tabs.nav-justified > li > a {\n margin-bottom: 5px;\n text-align: center;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-tabs.nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs.nav-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs.nav-justified > .active > a,\n .nav-tabs.nav-justified > .active > a:hover,\n .nav-tabs.nav-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.nav-pills > li {\n float: left;\n}\n.nav-pills > li > a {\n border-radius: 4px;\n}\n.nav-pills > li + li {\n margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n color: #fff;\n background-color: #337ab7;\n}\n.nav-stacked > li {\n float: none;\n}\n.nav-stacked > li + li {\n margin-top: 2px;\n margin-left: 0;\n}\n.nav-justified {\n width: 100%;\n}\n.nav-justified > li {\n float: none;\n}\n.nav-justified > li > a {\n margin-bottom: 5px;\n text-align: center;\n}\n.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs-justified {\n border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs-justified > .active > a,\n .nav-tabs-justified > .active > a:hover,\n .nav-tabs-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.tab-content > .tab-pane {\n display: none;\n}\n.tab-content > .active {\n display: block;\n}\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.navbar {\n position: relative;\n min-height: 50px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n}\n@media (min-width: 768px) {\n .navbar {\n border-radius: 4px;\n }\n}\n@media (min-width: 768px) {\n .navbar-header {\n float: left;\n }\n}\n.navbar-collapse {\n padding-right: 15px;\n padding-left: 15px;\n overflow-x: visible;\n border-top: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n -webkit-overflow-scrolling: touch;\n}\n.navbar-collapse.in {\n overflow-y: auto;\n}\n@media (min-width: 768px) {\n .navbar-collapse {\n width: auto;\n border-top: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n .navbar-collapse.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0;\n overflow: visible !important;\n }\n .navbar-collapse.in {\n overflow-y: visible;\n }\n .navbar-fixed-top .navbar-collapse,\n .navbar-static-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n padding-right: 0;\n padding-left: 0;\n }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n max-height: 340px;\n}\n@media (max-device-width: 480px) and (orientation: landscape) {\n .navbar-fixed-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n max-height: 200px;\n }\n}\n@media (min-width: 768px) {\n .navbar-fixed-top,\n .navbar-fixed-bottom {\n border-radius: 0;\n }\n}\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0;\n border-width: 1px 0 0;\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .container > .navbar-header,\n .container-fluid > .navbar-header,\n .container > .navbar-collapse,\n .container-fluid > .navbar-collapse {\n margin-right: 0;\n margin-left: 0;\n }\n}\n.navbar-static-top {\n z-index: 1000;\n border-width: 0 0 1px;\n}\n@media (min-width: 768px) {\n .navbar-static-top {\n border-radius: 0;\n }\n}\n.navbar-brand {\n float: left;\n height: 50px;\n padding: 15px 15px;\n font-size: 18px;\n line-height: 20px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n text-decoration: none;\n}\n.navbar-brand > img {\n display: block;\n}\n@media (min-width: 768px) {\n .navbar > .container .navbar-brand,\n .navbar > .container-fluid .navbar-brand {\n margin-left: -15px;\n }\n}\n.navbar-toggle {\n position: relative;\n float: right;\n padding: 9px 10px;\n margin-right: 15px;\n margin-top: 8px;\n margin-bottom: 8px;\n background-color: transparent;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.navbar-toggle:focus {\n outline: 0;\n}\n.navbar-toggle .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n margin-top: 4px;\n}\n@media (min-width: 768px) {\n .navbar-toggle {\n display: none;\n }\n}\n.navbar-nav {\n margin: 7.5px -15px;\n}\n.navbar-nav > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: 20px;\n}\n@media (max-width: 767px) {\n .navbar-nav .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n .navbar-nav .open .dropdown-menu > li > a,\n .navbar-nav .open .dropdown-menu .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n .navbar-nav .open .dropdown-menu > li > a {\n line-height: 20px;\n }\n .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-nav .open .dropdown-menu > li > a:focus {\n background-image: none;\n }\n}\n@media (min-width: 768px) {\n .navbar-nav {\n float: left;\n margin: 0;\n }\n .navbar-nav > li {\n float: left;\n }\n .navbar-nav > li > a {\n padding-top: 15px;\n padding-bottom: 15px;\n }\n}\n.navbar-form {\n padding: 10px 15px;\n margin-right: -15px;\n margin-left: -15px;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n margin-top: 8px;\n margin-bottom: 8px;\n}\n@media (min-width: 768px) {\n .navbar-form .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .navbar-form .form-control-static {\n display: inline-block;\n }\n .navbar-form .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .navbar-form .input-group .input-group-addon,\n .navbar-form .input-group .input-group-btn,\n .navbar-form .input-group .form-control {\n width: auto;\n }\n .navbar-form .input-group > .form-control {\n width: 100%;\n }\n .navbar-form .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio,\n .navbar-form .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio label,\n .navbar-form .checkbox label {\n padding-left: 0;\n }\n .navbar-form .radio input[type=\"radio\"],\n .navbar-form .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .navbar-form .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n@media (max-width: 767px) {\n .navbar-form .form-group {\n margin-bottom: 5px;\n }\n .navbar-form .form-group:last-child {\n margin-bottom: 0;\n }\n}\n@media (min-width: 768px) {\n .navbar-form {\n width: auto;\n padding-top: 0;\n padding-bottom: 0;\n margin-right: 0;\n margin-left: 0;\n border: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n}\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.navbar-btn {\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.navbar-btn.btn-sm {\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.navbar-btn.btn-xs {\n margin-top: 14px;\n margin-bottom: 14px;\n}\n.navbar-text {\n margin-top: 15px;\n margin-bottom: 15px;\n}\n@media (min-width: 768px) {\n .navbar-text {\n float: left;\n margin-right: 15px;\n margin-left: 15px;\n }\n}\n@media (min-width: 768px) {\n .navbar-left {\n float: left !important;\n }\n .navbar-right {\n float: right !important;\n margin-right: -15px;\n }\n .navbar-right ~ .navbar-right {\n margin-right: 0;\n }\n}\n.navbar-default {\n background-color: #f8f8f8;\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n color: #777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n color: #5e5e5e;\n background-color: transparent;\n}\n.navbar-default .navbar-text {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n color: #333;\n background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n@media (max-width: 767px) {\n .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n color: #777;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #333;\n background-color: transparent;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n }\n}\n.navbar-default .navbar-toggle {\n border-color: #ddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n background-color: #ddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n background-color: #888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-link {\n color: #777;\n}\n.navbar-default .navbar-link:hover {\n color: #333;\n}\n.navbar-default .btn-link {\n color: #777;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n color: #333;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n color: #ccc;\n}\n.navbar-inverse {\n background-color: #222;\n border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n color: #fff;\n background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n color: #fff;\n background-color: #080808;\n}\n@media (max-width: 767px) {\n .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n border-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n color: #9d9d9d;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #fff;\n background-color: transparent;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n }\n}\n.navbar-inverse .navbar-toggle {\n border-color: #333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n background-color: #333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n background-color: #fff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n border-color: #101010;\n}\n.navbar-inverse .navbar-link {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-link:hover {\n color: #fff;\n}\n.navbar-inverse .btn-link {\n color: #9d9d9d;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n color: #fff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n color: #444;\n}\n.breadcrumb {\n padding: 8px 15px;\n margin-bottom: 20px;\n list-style: none;\n background-color: #f5f5f5;\n border-radius: 4px;\n}\n.breadcrumb > li {\n display: inline-block;\n}\n.breadcrumb > li + li:before {\n padding: 0 5px;\n color: #ccc;\n content: \"/\\00a0\";\n}\n.breadcrumb > .active {\n color: #777777;\n}\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: 20px 0;\n border-radius: 4px;\n}\n.pagination > li {\n display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n position: relative;\n float: left;\n padding: 6px 12px;\n margin-left: -1px;\n line-height: 1.42857143;\n color: #337ab7;\n text-decoration: none;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n z-index: 2;\n color: #23527c;\n background-color: #eeeeee;\n border-color: #ddd;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n margin-left: 0;\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n z-index: 3;\n color: #fff;\n cursor: default;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n color: #777777;\n cursor: not-allowed;\n background-color: #fff;\n border-color: #ddd;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n border-top-left-radius: 6px;\n border-bottom-left-radius: 6px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n border-top-right-radius: 6px;\n border-bottom-right-radius: 6px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n border-top-left-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n border-top-right-radius: 3px;\n border-bottom-right-radius: 3px;\n}\n.pager {\n padding-left: 0;\n margin: 20px 0;\n text-align: center;\n list-style: none;\n}\n.pager li {\n display: inline;\n}\n.pager li > a,\n.pager li > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.pager .next > a,\n.pager .next > span {\n float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n color: #777777;\n cursor: not-allowed;\n background-color: #fff;\n}\n.label {\n display: inline;\n padding: 0.2em 0.6em 0.3em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25em;\n}\na.label:hover,\na.label:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.label:empty {\n display: none;\n}\n.btn .label {\n position: relative;\n top: -1px;\n}\n.label-default {\n background-color: #777777;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n background-color: #5e5e5e;\n}\n.label-primary {\n background-color: #337ab7;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n background-color: #286090;\n}\n.label-success {\n background-color: #5cb85c;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n background-color: #449d44;\n}\n.label-info {\n background-color: #5bc0de;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n background-color: #31b0d5;\n}\n.label-warning {\n background-color: #f0ad4e;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n background-color: #ec971f;\n}\n.label-danger {\n background-color: #d9534f;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n background-color: #c9302c;\n}\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: 12px;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n background-color: #777777;\n border-radius: 10px;\n}\n.badge:empty {\n display: none;\n}\n.btn .badge {\n position: relative;\n top: -1px;\n}\n.btn-xs .badge,\n.btn-group-xs > .btn .badge {\n top: 0;\n padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.list-group-item > .badge {\n float: right;\n}\n.list-group-item > .badge + .badge {\n margin-right: 5px;\n}\n.nav-pills > li > a > .badge {\n margin-left: 3px;\n}\n.jumbotron {\n padding-top: 30px;\n padding-bottom: 30px;\n margin-bottom: 30px;\n color: inherit;\n background-color: #eeeeee;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n color: inherit;\n}\n.jumbotron p {\n margin-bottom: 15px;\n font-size: 21px;\n font-weight: 200;\n}\n.jumbotron > hr {\n border-top-color: #d5d5d5;\n}\n.container .jumbotron,\n.container-fluid .jumbotron {\n padding-right: 15px;\n padding-left: 15px;\n border-radius: 6px;\n}\n.jumbotron .container {\n max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n .jumbotron {\n padding-top: 48px;\n padding-bottom: 48px;\n }\n .container .jumbotron,\n .container-fluid .jumbotron {\n padding-right: 60px;\n padding-left: 60px;\n }\n .jumbotron h1,\n .jumbotron .h1 {\n font-size: 63px;\n }\n}\n.thumbnail {\n display: block;\n padding: 4px;\n margin-bottom: 20px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: border 0.2s ease-in-out;\n -o-transition: border 0.2s ease-in-out;\n transition: border 0.2s ease-in-out;\n}\n.thumbnail > img,\n.thumbnail a > img {\n margin-right: auto;\n margin-left: auto;\n}\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n border-color: #337ab7;\n}\n.thumbnail .caption {\n padding: 9px;\n color: #333333;\n}\n.alert {\n padding: 15px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.alert h4 {\n margin-top: 0;\n color: inherit;\n}\n.alert .alert-link {\n font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n margin-bottom: 0;\n}\n.alert > p + p {\n margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n}\n.alert-success {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.alert-success hr {\n border-top-color: #c9e2b3;\n}\n.alert-success .alert-link {\n color: #2b542c;\n}\n.alert-info {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.alert-info hr {\n border-top-color: #a6e1ec;\n}\n.alert-info .alert-link {\n color: #245269;\n}\n.alert-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.alert-warning hr {\n border-top-color: #f7e1b5;\n}\n.alert-warning .alert-link {\n color: #66512c;\n}\n.alert-danger {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.alert-danger hr {\n border-top-color: #e4b9c0;\n}\n.alert-danger .alert-link {\n color: #843534;\n}\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@-o-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n.progress {\n height: 20px;\n margin-bottom: 20px;\n overflow: hidden;\n background-color: #f5f5f5;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n.progress-bar {\n float: left;\n width: 0%;\n height: 100%;\n font-size: 12px;\n line-height: 20px;\n color: #fff;\n text-align: center;\n background-color: #337ab7;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n -webkit-transition: width 0.6s ease;\n -o-transition: width 0.6s ease;\n transition: width 0.6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n -webkit-background-size: 40px 40px;\n background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n -webkit-animation: progress-bar-stripes 2s linear infinite;\n -o-animation: progress-bar-stripes 2s linear infinite;\n animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n background-color: #5cb85c;\n}\n.progress-striped .progress-bar-success {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-info {\n background-color: #5bc0de;\n}\n.progress-striped .progress-bar-info {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-warning {\n background-color: #f0ad4e;\n}\n.progress-striped .progress-bar-warning {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-danger {\n background-color: #d9534f;\n}\n.progress-striped .progress-bar-danger {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.media {\n margin-top: 15px;\n}\n.media:first-child {\n margin-top: 0;\n}\n.media,\n.media-body {\n overflow: hidden;\n zoom: 1;\n}\n.media-body {\n width: 10000px;\n}\n.media-object {\n display: block;\n}\n.media-object.img-thumbnail {\n max-width: none;\n}\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n.media-middle {\n vertical-align: middle;\n}\n.media-bottom {\n vertical-align: bottom;\n}\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n.list-group {\n padding-left: 0;\n margin-bottom: 20px;\n}\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.list-group-item:first-child {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n}\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.list-group-item.disabled,\n.list-group-item.disabled:hover,\n.list-group-item.disabled:focus {\n color: #777777;\n cursor: not-allowed;\n background-color: #eeeeee;\n}\n.list-group-item.disabled .list-group-item-heading,\n.list-group-item.disabled:hover .list-group-item-heading,\n.list-group-item.disabled:focus .list-group-item-heading {\n color: inherit;\n}\n.list-group-item.disabled .list-group-item-text,\n.list-group-item.disabled:hover .list-group-item-text,\n.list-group-item.disabled:focus .list-group-item-text {\n color: #777777;\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n z-index: 2;\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active:hover .list-group-item-heading,\n.list-group-item.active:focus .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active:hover .list-group-item-heading > small,\n.list-group-item.active:focus .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small,\n.list-group-item.active:hover .list-group-item-heading > .small,\n.list-group-item.active:focus .list-group-item-heading > .small {\n color: inherit;\n}\n.list-group-item.active .list-group-item-text,\n.list-group-item.active:hover .list-group-item-text,\n.list-group-item.active:focus .list-group-item-text {\n color: #c7ddef;\n}\na.list-group-item,\nbutton.list-group-item {\n color: #555;\n}\na.list-group-item .list-group-item-heading,\nbutton.list-group-item .list-group-item-heading {\n color: #333;\n}\na.list-group-item:hover,\nbutton.list-group-item:hover,\na.list-group-item:focus,\nbutton.list-group-item:focus {\n color: #555;\n text-decoration: none;\n background-color: #f5f5f5;\n}\nbutton.list-group-item {\n width: 100%;\n text-align: left;\n}\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8;\n}\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #3c763d;\n}\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-success:hover,\nbutton.list-group-item-success:hover,\na.list-group-item-success:focus,\nbutton.list-group-item-success:focus {\n color: #3c763d;\n background-color: #d0e9c6;\n}\na.list-group-item-success.active,\nbutton.list-group-item-success.active,\na.list-group-item-success.active:hover,\nbutton.list-group-item-success.active:hover,\na.list-group-item-success.active:focus,\nbutton.list-group-item-success.active:focus {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d;\n}\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7;\n}\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #31708f;\n}\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-info:hover,\nbutton.list-group-item-info:hover,\na.list-group-item-info:focus,\nbutton.list-group-item-info:focus {\n color: #31708f;\n background-color: #c4e3f3;\n}\na.list-group-item-info.active,\nbutton.list-group-item-info.active,\na.list-group-item-info.active:hover,\nbutton.list-group-item-info.active:hover,\na.list-group-item-info.active:focus,\nbutton.list-group-item-info.active:focus {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f;\n}\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n}\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #8a6d3b;\n}\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-warning:hover,\nbutton.list-group-item-warning:hover,\na.list-group-item-warning:focus,\nbutton.list-group-item-warning:focus {\n color: #8a6d3b;\n background-color: #faf2cc;\n}\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\nbutton.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus,\nbutton.list-group-item-warning.active:focus {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b;\n}\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede;\n}\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #a94442;\n}\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-danger:hover,\nbutton.list-group-item-danger:hover,\na.list-group-item-danger:focus,\nbutton.list-group-item-danger:focus {\n color: #a94442;\n background-color: #ebcccc;\n}\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\nbutton.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus,\nbutton.list-group-item-danger.active:focus {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442;\n}\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n.panel {\n margin-bottom: 20px;\n background-color: #fff;\n border: 1px solid transparent;\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.panel-body {\n padding: 15px;\n}\n.panel-heading {\n padding: 10px 15px;\n border-bottom: 1px solid transparent;\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n color: inherit;\n}\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: 16px;\n color: inherit;\n}\n.panel-title > a,\n.panel-title > small,\n.panel-title > .small,\n.panel-title > small > a,\n.panel-title > .small > a {\n color: inherit;\n}\n.panel-footer {\n padding: 10px 15px;\n background-color: #f5f5f5;\n border-top: 1px solid #ddd;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n margin-bottom: 0;\n}\n.panel > .list-group .list-group-item,\n.panel > .panel-collapse > .list-group .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child,\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n border-top: 0;\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .list-group:last-child .list-group-item:last-child,\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n border-bottom: 0;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n border-top-width: 0;\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n margin-bottom: 0;\n}\n.panel > .table caption,\n.panel > .table-responsive > .table caption,\n.panel > .panel-collapse > .table caption {\n padding-right: 15px;\n padding-left: 15px;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n border-top-right-radius: 3px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n border-bottom-right-radius: 3px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n border-top: 1px solid #ddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n border-bottom: 0;\n}\n.panel > .table-responsive {\n margin-bottom: 0;\n border: 0;\n}\n.panel-group {\n margin-bottom: 20px;\n}\n.panel-group .panel {\n margin-bottom: 0;\n border-radius: 4px;\n}\n.panel-group .panel + .panel {\n margin-top: 5px;\n}\n.panel-group .panel-heading {\n border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse > .panel-body,\n.panel-group .panel-heading + .panel-collapse > .list-group {\n border-top: 1px solid #ddd;\n}\n.panel-group .panel-footer {\n border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n border-bottom: 1px solid #ddd;\n}\n.panel-default {\n border-color: #ddd;\n}\n.panel-default > .panel-heading {\n color: #333333;\n background-color: #f5f5f5;\n border-color: #ddd;\n}\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ddd;\n}\n.panel-default > .panel-heading .badge {\n color: #f5f5f5;\n background-color: #333333;\n}\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ddd;\n}\n.panel-primary {\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading {\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #337ab7;\n}\n.panel-primary > .panel-heading .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #337ab7;\n}\n.panel-success {\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #d6e9c6;\n}\n.panel-success > .panel-heading .badge {\n color: #dff0d8;\n background-color: #3c763d;\n}\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #d6e9c6;\n}\n.panel-info {\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #bce8f1;\n}\n.panel-info > .panel-heading .badge {\n color: #d9edf7;\n background-color: #31708f;\n}\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #bce8f1;\n}\n.panel-warning {\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #faebcc;\n}\n.panel-warning > .panel-heading .badge {\n color: #fcf8e3;\n background-color: #8a6d3b;\n}\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #faebcc;\n}\n.panel-danger {\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ebccd1;\n}\n.panel-danger > .panel-heading .badge {\n color: #f2dede;\n background-color: #a94442;\n}\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ebccd1;\n}\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border: 1px solid #e3e3e3;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.well blockquote {\n border-color: #ddd;\n border-color: rgba(0, 0, 0, 0.15);\n}\n.well-lg {\n padding: 24px;\n border-radius: 6px;\n}\n.well-sm {\n padding: 9px;\n border-radius: 3px;\n}\n.close {\n float: right;\n font-size: 21px;\n font-weight: bold;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n filter: alpha(opacity=20);\n opacity: 0.2;\n}\n.close:hover,\n.close:focus {\n color: #000;\n text-decoration: none;\n cursor: pointer;\n filter: alpha(opacity=50);\n opacity: 0.5;\n}\nbutton.close {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n.modal-open {\n overflow: hidden;\n}\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n -webkit-overflow-scrolling: touch;\n outline: 0;\n}\n.modal.fade .modal-dialog {\n -webkit-transform: translate(0, -25%);\n -ms-transform: translate(0, -25%);\n -o-transform: translate(0, -25%);\n transform: translate(0, -25%);\n -webkit-transition: -webkit-transform 0.3s ease-out;\n -o-transition: -o-transform 0.3s ease-out;\n transition: -webkit-transform 0.3s ease-out;\n transition: transform 0.3s ease-out;\n transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out, -o-transform 0.3s ease-out;\n}\n.modal.in .modal-dialog {\n -webkit-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n -o-transform: translate(0, 0);\n transform: translate(0, 0);\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n.modal-content {\n position: relative;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #999;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n outline: 0;\n}\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n.modal-backdrop.fade {\n filter: alpha(opacity=0);\n opacity: 0;\n}\n.modal-backdrop.in {\n filter: alpha(opacity=50);\n opacity: 0.5;\n}\n.modal-header {\n padding: 15px;\n border-bottom: 1px solid #e5e5e5;\n}\n.modal-header .close {\n margin-top: -2px;\n}\n.modal-title {\n margin: 0;\n line-height: 1.42857143;\n}\n.modal-body {\n position: relative;\n padding: 15px;\n}\n.modal-footer {\n padding: 15px;\n text-align: right;\n border-top: 1px solid #e5e5e5;\n}\n.modal-footer .btn + .btn {\n margin-bottom: 0;\n margin-left: 5px;\n}\n.modal-footer .btn-group .btn + .btn {\n margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n margin-left: 0;\n}\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n@media (min-width: 768px) {\n .modal-dialog {\n width: 600px;\n margin: 30px auto;\n }\n .modal-content {\n -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n }\n .modal-sm {\n width: 300px;\n }\n}\n@media (min-width: 992px) {\n .modal-lg {\n width: 900px;\n }\n}\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: 400;\n line-height: 1.42857143;\n line-break: auto;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n white-space: normal;\n font-size: 12px;\n filter: alpha(opacity=0);\n opacity: 0;\n}\n.tooltip.in {\n filter: alpha(opacity=90);\n opacity: 0.9;\n}\n.tooltip.top {\n padding: 5px 0;\n margin-top: -3px;\n}\n.tooltip.right {\n padding: 0 5px;\n margin-left: 3px;\n}\n.tooltip.bottom {\n padding: 5px 0;\n margin-top: 3px;\n}\n.tooltip.left {\n padding: 0 5px;\n margin-left: -3px;\n}\n.tooltip.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-left .tooltip-arrow {\n right: 5px;\n bottom: 0;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-right .tooltip-arrow {\n bottom: 0;\n left: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -5px;\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n}\n.tooltip.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -5px;\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n}\n.tooltip.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n top: 0;\n right: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n top: 0;\n left: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 4px;\n}\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: none;\n max-width: 276px;\n padding: 1px;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: 400;\n line-height: 1.42857143;\n line-break: auto;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n white-space: normal;\n font-size: 14px;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n}\n.popover.top {\n margin-top: -10px;\n}\n.popover.right {\n margin-left: 10px;\n}\n.popover.bottom {\n margin-top: 10px;\n}\n.popover.left {\n margin-left: -10px;\n}\n.popover > .arrow {\n border-width: 11px;\n}\n.popover > .arrow,\n.popover > .arrow:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.popover > .arrow:after {\n content: \"\";\n border-width: 10px;\n}\n.popover.top > .arrow {\n bottom: -11px;\n left: 50%;\n margin-left: -11px;\n border-top-color: #999999;\n border-top-color: rgba(0, 0, 0, 0.25);\n border-bottom-width: 0;\n}\n.popover.top > .arrow:after {\n bottom: 1px;\n margin-left: -10px;\n content: \" \";\n border-top-color: #fff;\n border-bottom-width: 0;\n}\n.popover.right > .arrow {\n top: 50%;\n left: -11px;\n margin-top: -11px;\n border-right-color: #999999;\n border-right-color: rgba(0, 0, 0, 0.25);\n border-left-width: 0;\n}\n.popover.right > .arrow:after {\n bottom: -10px;\n left: 1px;\n content: \" \";\n border-right-color: #fff;\n border-left-width: 0;\n}\n.popover.bottom > .arrow {\n top: -11px;\n left: 50%;\n margin-left: -11px;\n border-top-width: 0;\n border-bottom-color: #999999;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n.popover.bottom > .arrow:after {\n top: 1px;\n margin-left: -10px;\n content: \" \";\n border-top-width: 0;\n border-bottom-color: #fff;\n}\n.popover.left > .arrow {\n top: 50%;\n right: -11px;\n margin-top: -11px;\n border-right-width: 0;\n border-left-color: #999999;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n.popover.left > .arrow:after {\n right: 1px;\n bottom: -10px;\n content: \" \";\n border-right-width: 0;\n border-left-color: #fff;\n}\n.popover-title {\n padding: 8px 14px;\n margin: 0;\n font-size: 14px;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-radius: 5px 5px 0 0;\n}\n.popover-content {\n padding: 9px 14px;\n}\n.carousel {\n position: relative;\n}\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n.carousel-inner > .item {\n position: relative;\n display: none;\n -webkit-transition: 0.6s ease-in-out left;\n -o-transition: 0.6s ease-in-out left;\n transition: 0.6s ease-in-out left;\n}\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n line-height: 1;\n}\n@media all and (transform-3d), (-webkit-transform-3d) {\n .carousel-inner > .item {\n -webkit-transition: -webkit-transform 0.6s ease-in-out;\n -o-transition: -o-transform 0.6s ease-in-out;\n transition: -webkit-transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out, -o-transform 0.6s ease-in-out;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-perspective: 1000px;\n perspective: 1000px;\n }\n .carousel-inner > .item.next,\n .carousel-inner > .item.active.right {\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.prev,\n .carousel-inner > .item.active.left {\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.next.left,\n .carousel-inner > .item.prev.right,\n .carousel-inner > .item.active {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n left: 0;\n }\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n display: block;\n}\n.carousel-inner > .active {\n left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n}\n.carousel-inner > .next {\n left: 100%;\n}\n.carousel-inner > .prev {\n left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n left: 0;\n}\n.carousel-inner > .active.left {\n left: -100%;\n}\n.carousel-inner > .active.right {\n left: 100%;\n}\n.carousel-control {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 15%;\n font-size: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n background-color: rgba(0, 0, 0, 0);\n filter: alpha(opacity=50);\n opacity: 0.5;\n}\n.carousel-control.left {\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.0001)));\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n background-repeat: repeat-x;\n}\n.carousel-control.right {\n right: 0;\n left: auto;\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.0001)), to(rgba(0, 0, 0, 0.5)));\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n background-repeat: repeat-x;\n}\n.carousel-control:hover,\n.carousel-control:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n filter: alpha(opacity=90);\n opacity: 0.9;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n z-index: 5;\n display: inline-block;\n margin-top: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n width: 20px;\n height: 20px;\n font-family: serif;\n line-height: 1;\n}\n.carousel-control .icon-prev:before {\n content: \"\\2039\";\n}\n.carousel-control .icon-next:before {\n content: \"\\203a\";\n}\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n padding-left: 0;\n margin-left: -30%;\n text-align: center;\n list-style: none;\n}\n.carousel-indicators li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #000 \\9;\n background-color: rgba(0, 0, 0, 0);\n border: 1px solid #fff;\n border-radius: 10px;\n}\n.carousel-indicators .active {\n width: 12px;\n height: 12px;\n margin: 0;\n background-color: #fff;\n}\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n}\n.carousel-caption .btn {\n text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-prev,\n .carousel-control .icon-next {\n width: 30px;\n height: 30px;\n margin-top: -10px;\n font-size: 30px;\n }\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .icon-prev {\n margin-left: -10px;\n }\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-next {\n margin-right: -10px;\n }\n .carousel-caption {\n right: 20%;\n left: 20%;\n padding-bottom: 30px;\n }\n .carousel-indicators {\n bottom: 20px;\n }\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.pager:before,\n.pager:after,\n.panel-body:before,\n.panel-body:after,\n.modal-header:before,\n.modal-header:after,\n.modal-footer:before,\n.modal-footer:after {\n display: table;\n content: \" \";\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.pager:after,\n.panel-body:after,\n.modal-header:after,\n.modal-footer:after {\n clear: both;\n}\n.center-block {\n display: block;\n margin-right: auto;\n margin-left: auto;\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n.hidden {\n display: none !important;\n}\n.affix {\n position: fixed;\n}\n@-ms-viewport {\n width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n display: none !important;\n}\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n@media (max-width: 767px) {\n .visible-xs {\n display: block !important;\n }\n table.visible-xs {\n display: table !important;\n }\n tr.visible-xs {\n display: table-row !important;\n }\n th.visible-xs,\n td.visible-xs {\n display: table-cell !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-block {\n display: block !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline {\n display: inline !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm {\n display: block !important;\n }\n table.visible-sm {\n display: table !important;\n }\n tr.visible-sm {\n display: table-row !important;\n }\n th.visible-sm,\n td.visible-sm {\n display: table-cell !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-block {\n display: block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline {\n display: inline !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md {\n display: block !important;\n }\n table.visible-md {\n display: table !important;\n }\n tr.visible-md {\n display: table-row !important;\n }\n th.visible-md,\n td.visible-md {\n display: table-cell !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-block {\n display: block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline {\n display: inline !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg {\n display: block !important;\n }\n table.visible-lg {\n display: table !important;\n }\n tr.visible-lg {\n display: table-row !important;\n }\n th.visible-lg,\n td.visible-lg {\n display: table-cell !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-block {\n display: block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline {\n display: inline !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline-block {\n display: inline-block !important;\n }\n}\n@media (max-width: 767px) {\n .hidden-xs {\n display: none !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .hidden-sm {\n display: none !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .hidden-md {\n display: none !important;\n }\n}\n@media (min-width: 1200px) {\n .hidden-lg {\n display: none !important;\n }\n}\n.visible-print {\n display: none !important;\n}\n@media print {\n .visible-print {\n display: block !important;\n }\n table.visible-print {\n display: table !important;\n }\n tr.visible-print {\n display: table-row !important;\n }\n th.visible-print,\n td.visible-print {\n display: table-cell !important;\n }\n}\n.visible-print-block {\n display: none !important;\n}\n@media print {\n .visible-print-block {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n}\n@media print {\n .visible-print-inline {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n}\n@media print {\n .visible-print-inline-block {\n display: inline-block !important;\n }\n}\n@media print {\n .hidden-print {\n display: none !important;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */","/* Variables holding theme colors */\n:root {\n --background: #ffffff;\n --outerBackground: #eeeeee;\n --links: #0645ad;\n --bodyFont: #000000;\n --tooltip: #ffffff;\n --grayToWhite: #333333;\n --navbar: #f8f8f8;\n --navbarFont: #707070;\n --navbarFontHover: #000000;\n --alerts: #d9edf7;\n --completionButton: #f19711;\n --completionButtonHover: #ff9f19;\n --admonition: #fcf8e3;\n --admonitionBorder: #fbeed5;\n --codeButtons: #474949;\n --codeButtonsBorder: #474949;\n --dangerAlerts: #f2dede;\n --successAlerts: #dff0d8;\n --contentWidthRegular: 660px;\n --contentWidthWide: 1060px;\n --componentBgColor: #f0f8ff;\n --componentBorderColor: #000000;\n --questionBgColor: #e1efff;\n}\n\n/* @media (prefers-color-scheme: dark) {\n :root {\n --background: #2c2f33;\n --outerBackground: #23272a;\n --links: #7289da;\n --bodyFont: #99aab5;\n --tooltip: #000000;\n --grayToWhite: #ffffff;\n --navbar: #3d3d3d;\n --navbarFont: #ffffff;\n --navbarFontHover: #d6d6d6;\n --alerts: #714082;\n --completionButton: #650087;\n --completionButtonHover: #560073;\n --admonition: #3d3d3d;\n --admonitionBorder: #262626;\n --codeButtons: #7289da;\n --codeButtonsBorder: #ffffff;\n --dangerAlerts: #8c2626;\n --successAlerts: #217300;\n --componentBgColor: #07467d;\n --componentBorderColor: #939090;\n --questionBgColor: rgb(23, 85, 93);\n }\n}\n\nNeeded??? */\n[data-theme=\"dark\"] {\n --background: #2c2f33;\n --outerBackground: #23272a;\n --links: #7289da;\n --bodyFont: #99aab5;\n --tooltip: #000000;\n --grayToWhite: #ffffff;\n --navbar: #3d3d3d;\n --navbarFont: #ffffff;\n --navbarFontHover: #d6d6d6;\n --alerts: #714082;\n --completionButton: #650087;\n --completionButtonHover: #560073;\n --admonition: #3d3d3d;\n --admonitionBorder: #262626;\n --codeButtons: #7289da;\n --codeButtonsBorder: #ffffff;\n --dangerAlerts: #8c2626;\n --successAlerts: #217300;\n --componentBgColor: #07467d;\n --componentBorderColor: #939090;\n --questionBgColor: rgb(23, 85, 93);\n}\n\n/* custom modification of basic.css for color-contrast (AA compliant) */\ntd.linenos pre {\n color: #6b6b6b;\n}\n\n/* custom modification of prettify.css for color-contrast (AA compliant) */\n.str {\n color: #006b00;\n}\n\n/* custom modification of parsons.css for color-contrast (AA compliant) */\n.parsons .block {\n background-color: #fafafa;\n}\n\n/* custom modification of pygments.css for color-contrast (AA compliant) */\n.highlight .c1 {\n color: #376a7b;\n}\n\n.highlight .nn {\n color: #0f6c95;\n}\n\n.highlight .gp {\n color: #a14c08;\n}\n\n.highlight .si {\n color: #3c773d;\n}\n\n.highlight .nc {\n color: #0b719d;\n}\n\n/* `Search` functionality's result custom modification for color-contrast (AA compliant) */\nul.search li div.context {\n color: #6b6b6b;\n}\n\nspan.highlighted {\n color: #4d4d4d;\n}\n\n/* ActiveCode gutter custom modification for color-contrast (AA compliant) */\n\n.CodeMirror-linenumber {\n color: #6b6b6b;\n}\n\n.alert-warning {\n background-color: var(--admonition);\n border-color: var(--admonitionBorder);\n}\n\n/* Python code output custom modification for color-contrast (AA compliant) */\ndiv.ExecutionVisualizer table#pyCodeOutput .lineNo {\n color: #6b6b6b;\n}\n\n/* Runestone custom modifications */\n\nbody {\n counter-reset: rscomponent;\n padding-top: 60px;\n background-color: var(--outerBackground);\n}\n\nh5 {\n font-weight: bold;\n padding: 10px 0;\n}\n\n/* table-of-contents related styles for color-contrast (AA compliant) */\n#table-of-contents a {\n color: var(--links);\n}\n\n#table-of-contents a:hover {\n color: var(--links);\n text-decoration: underline;\n}\n\n#table-of-contents.section {\n font-size: 16px;\n}\n\n/* navbar-brand color contrast (AA compliant) */\n.navbar-default {\n background-color: var(--navbar);\n}\n\n.navbar-default .navbar-nav > li {\n color: var(--navbarFont);\n}\n\n.navbar-default .navbar-nav > li > a {\n color: var(--navbarFont);\n}\n\n.navbar-default .navbar-nav > li > a:hover {\n color: var(--navbarFontHover);\n}\n\n.navbar-default .navbar-brand {\n color: var(--navbarFont);\n}\n\n/* acknowledgement related styles for color-contrast (AA compliant) */\n.toctree-wrapper {\n font-size: 16px;\n}\n\n.toctree-wrapper a {\n color: var(--links);\n}\n\n.toctree-wrapper a:hover {\n color: var(--links);\n text-decoration: underline;\n}\n\n/* index and search related styles for color-contrast (AA compliant) */\n#index-and-search.section {\n font-size: 16px;\n}\n\n#index-and-search.section a {\n color: var(--links);\n}\n\n#index-and-search.section a:hover {\n color: var(--links);\n text-decoration: underline;\n}\n\n/* custom style for `a` tag for color-contrast (AA compliant) */\n\na {\n color: var(--links);\n}\n\n/* navbar and menu related styles */\n@media (max-width: 768px) {\n /* Remove top padding when top navbar goes collapsed in narrow viewports */\n body {\n padding-top: 0;\n }\n\n .navbar-fixed-top {\n position: static;\n }\n}\n\n@media (min-width: 768px) {\n /* when navbar is collapsed we don't want any vertical dividers taking up space */\n .navbar .divider-vertical {\n margin: 0 3px;\n border-left: 1px solid #f2f2f2;\n }\n\n .navbar-fixed-top .container {\n padding: 0;\n }\n}\n\ndiv.container {\n background-color: var(--background);\n}\n\n.container {\n padding-left: 10px;\n padding-right: 10px;\n}\n\n.runestone {\n clear: both;\n background-color: var(--componentBgColor);\n padding: 15px;\n border-style: solid;\n border-color: var(--componentBorderColor);\n border-radius: 10px;\n margin-bottom: 20px;\n margin-top: 20px;\n }\n\n/* Sets width of content \"column\" */\n#main-content section > *:not(section) {\n max-width: var(--contentWidthRegular);\n margin-left: auto;\n margin-right: auto;\n\n}\n\n/* Handle content in nested sections by allowing them to grow*/\n#main-content section > section,\n/* And then make sure a few items are wider by default */\n#main-content section > .runestone.ac_section,\n#main-content section > .runestone.codelens,\n#main-content section > .question,\n#main-content section > .runestone.parsons-container,\n#main-content section > .runestone.parsons-problems,\n#main-content section > .codelens,\n#main-content section > .timedAssessment,\n#main-content section > .jupyterlite_sphinx_iframe_container\n{\n max-width: var(--contentWidthWide);\n margin-left: auto;\n margin-right: auto;\n}\n\n/* Allow individual elements to request being larger */\n#main-content section > .full-width {\n max-width: var(--contentWidthWide);\n}\n\n.container section > img {\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n\n.container-fluid > .navbar-collapse,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container > .navbar-header {\n margin-left: 0;\n margin-right: 0;\n}\n\n.navbar > .container .navbar-brand {\n margin-left: 0;\n}\n\n.navbar > .container {\n background-color: var(--navbar);\n}\n\n.navbar-toggle {\n margin-right: 0px;\n}\n\n.footer > .container {\n background-color: var(--outerBackground);\n}\n\n.footer > .container p > a {\n color: var(--links);\n}\n\n.brand-logo {\n float: left;\n display: block;\n margin-top: 4px;\n}\n\n.brand-logo img {\n height: 40px;\n}\n\n.social-menu {\n width: 220px;\n padding: 10px 10px 15px 20px;\n}\n\n.fb-like {\n margin-top: 7px;\n}\n\n.fb_iframe_widget span,\n.fb_iframe_widget iframe {\n height: 20px !important;\n width: 82px !important;\n}\n\n.twitter-follow-button {\n margin-top: 10px;\n}\n\n.gittip {\n margin-top: 8px;\n}\n\n.gittip-button {\n margin-bottom: -6px;\n}\n\n.dropdown-menu > li > span,\n.dropdown-menu > li > div,\n.dropdown-menu > li > label {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: bold;\n line-height: 20px;\n color: var(--grayToWhite);\n white-space: nowrap;\n}\n\n.dropdown-menu > li > label:hover, .dropdown-menu > li > label:focus {\n color: #262626;\n text-decoration: none;\n background-color: #f5f5f5;\n}\n\n.dropdown-menu > li > a {\n color: var(--grayToWhite);\n}\n\n.loggedinuser {\n font-weight: bold;\n}\n\n/* end navbar and menu related styles */\n.CodeMirror {\n margin: 0 0 1em 0;\n background-color: var(--background);\n clear: both;\n}\n\n.ac_section .CodeMirror pre {\n -moz-border-radius: 0;\n -webkit-border-radius: 0;\n -o-border-radius: 0;\n border-radius: 0;\n border-width: 0;\n margin: 0;\n padding: 0;\n background: transparent;\n font-family: Menlo, Monaco, Consolas,\"Courier New\", monospace;\n font-size: inherit;\n padding: 0;\n margin: 0;\n white-space: pre;\n word-wrap: normal;\n}\n\nbutton.btn,\nbtn.btn-sm,\ninput[type=\"submit\"].btn.btn-sm,\ninput[type=\"button\"].btn.btn-sm {\n font-size: 1em;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n}\n\n/* Fix search menu button */\n.dropdown-menu .input-group .input-group-btn button.btn {\n font-size: 14px;\n}\n\n.btn {\n margin: 5px;\n}\n\n.btn.disabled {\n /* needed in Bootstrap 3 to allow tooltips on disabled buttons */\n pointer-events: auto;\n}\n\n.btn-default,\n.btn-default.disabled,\n.btn-default[disabled],\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover {\n color: #ffffff;\n background-color: var(--codeButtons);\n border-color: var(codeButtonsBorder);\n}\n\n.btn-default:hover,\n.btn-default:focus,\n.btn-default:active,\n.btn-default.active {\n background-color: #3a3c3c;\n border-color: #2e2f2f;\n color: #ffffff;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin-right: 5px;\n}\n\n.tooltip {\n z-index: 2000 !important;\n}\n\n.tooltip.in {\n opacity: 0.8;\n filter: alpha(opacity=80);\n}\n\nh2 {\n margin-top: 20px;\n}\n\n.alert form {\n margin-bottom: 0;\n}\n\n/* default bookstrap alert color is hard to read (low contrast). */\n.alert {\n color: var(--grayToWhite);\n padding: 10px;\n}\n\n.alert-info {\n background-color: var(--alerts);\n}\n\n.alert-danger {\n background-color: var(--dangerAlerts);\n}\n\n.alert-success {\n background-color: var(--successAlerts);\n}\n\n/* override the color styles applied by Skulpt to the unittest results divs */\n.unittest-results.alert-danger {\n background-color: var(--dangerAlerts) !important;\n}\n\n.unittest-results.alert-success {\n background-color: var(--successAlerts) !important;\n}\n\n.alert label {\n font-weight: normal;\n}\n\n.navbar_message {\n margin-top: 15px;\n font-weight: bold;\n}\n/*\nMissing brackets\n================\nThe default styling from Sphinx's ``basic.css`` doesn't style multiple references to the same reference with brackets. Here's the relevant snippet of CSS:\n\n.. code-block:: CSS\n :number-lines:\n\n a.brackets:before,\n span.brackets > a:before{\n content: \"[\";\n }\n\n a.brackets:after,\n span.brackets > a:after {\n content: \"]\";\n }\n\nThe HTML for a footnote reference is:\n\n.. code-block:: HTML\n :number-lines:\n\n 2\n\nThe HTML for a typical footnote is:\n\n.. code-block:: HTML\n :number-lines:\n\n
    \n
    \n \n 1\n \n
    \n
    Omitted this...
    \n
    \n\nThe HTML for a footnote referenced multiple times is:\n\n.. code-block:: HTML\n :number-lines:\n\n
    \n
    \n 1\n \n (1,2,3)\n \n
    \n
    Omitted this...
    \n
    \n\nHowever, there's no (current) CSS selector that will add a ``content`` to the multiply-referenced footnote without adding an additional ``content`` to the typical footnote: we want to select ``dt.label > span.brackets > text-only content`` or ``dt.label > span.brackets > :not(:has a)`` (see the unsupported `:has selector `_. So, I see no solution for this (outside JS).\n\n\nIncorrect color\n===============\nSecond, the Bootstrap theme (v3.4.1) contains the following CSS, from ``node_modules/bootstrap/dist/css/less/labels.less``:\n\n.. code-block:: CSS\n :number-lines:\n\n .label {\n display: inline;\n padding: .2em .6em .3em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n color: @label-color;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: .25em;\n\n ...more here omitted...\n }\n\nALL this therefore gets applied to footnotes, since they have the ``label`` class. Because the ``@label-color`` is white, this CSS makes the reference invisible against the default (light mode) white background. I like the rest of the styling changes (even though they differ from the standard Sphinx settings), so only the color is changed.\n*/\ndt.label > span.brackets:not(span.brackets > a),\ndt.label > span.fn-backref:not(span.fn-backref > a) {\n color: black;\n}\n\n/* These admonition styles styles are copied from the Bootstrap .alert classes.\n Most of the !important declarations are to override the Sphinx basic.css styles */\n.admonition {\n padding: 8px 35px 8px 14px !important;\n margin-bottom: 20px !important;\n margin-top: 20px !important;\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);\n background-color: var(--admonition);\n border: 1px solid #fbeed5;\n -webkit-border-radius: 4px;\n -moz-border-radius: 4px;\n border-radius: 4px;\n}\n\n/* .alert-danger */\n.admonition.caution {\n color: #a33f3e;\n background-color: #f2dede;\n border-color: #eed3d7;\n}\n\n/* .alert-info */\n.admonition.tip,\n.admonition.note {\n color: #333;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n\n/* from web2py.css */\ndiv.flash {\n font-weight: bold;\n position: fixed;\n padding: 10px;\n top: 55px;\n right: 45px;\n opacity: 0.95;\n margin: 0 0 10px 10px;\n vertical-align: middle;\n cursor: pointer;\n color: #ffffff;\n background-color: #000;\n border: 2px solid #fff;\n border-radius: 8px;\n -moz-border-radius: 8px;\n -webkit-border-radius: 8px;\n background-image: -webkit-linear-gradient(top, #222, #000);\n background-image: -o-linear-gradient(top, #222, #000);\n background-image: -moz-linear-gradient(90deg, #222, #000);\n background-image: linear-gradient(top, #222, #000);\n background-repeat: repeat-x;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n -webkit-font-smoothing: antialiased;\n z-index: 2000;\n}\n\n/* Styles for the login, registration, and Janrain forms */\n#web2py_user_form {\n margin-top: 10px;\n}\n\n#web2py_user_form form {\n float: left;\n margin-right: 150px;\n padding-top: 3px;\n}\n\n#web2py_user_form td {\n padding-bottom: 15px;\n}\n\n#web2py_user_form td.w2p_fw {\n width: 299px;\n}\n\n#auth-actions {\n margin-top: 50px;\n}\n\n#sign_in_text td {\n font-size: 17px;\n color: #333;\n font-family: \"lucida grande\", Verdana, sans-serif;\n padding-bottom: 13px;\n}\n\n#auth_user_remember {\n margin-top: -20px;\n}\n\n/* End login, registration, Janrain styles */\n\n/* end-of-chapter exercises styles */\n#exercises > ol > li,\n#programming-exercises > ol > li {\n margin-bottom: 30px;\n}\n\n#exercises > ol > li:nth-child(even),\n#programming-exercises > ol > li:nth-child(even) {\n padding: 1.2em 1.4em;\n background: #faf7df;\n border: 1px solid #fbeed5;\n -webkit-border-radius: 4px;\n -moz-border-radius: 4px;\n border-radius: 4px;\n}\n\n/* End chapter exercises styles */\n\n/* Modal dialog styles (scratch activecode, compare me, etc) */\n.scratch-ac-modal {\n width: 90%;\n max-height: 90%;\n overflow-y: scroll;\n}\n\n.compare-modal .progress {\n margin-bottom: 0;\n}\n\n.compare-me-progress {\n width: 100%;\n}\n\n.compare-me-progress .progress-bar,\n.unittest-results-progress .progress-bar {\n color: #333;\n}\n\n\n.unittest-results-progress {\n width: 25%;\n}\n\n.compare-modal {\n width: 350px;\n}\n\n.compare-modal table {\n border-collapse: separate;\n border-spacing: 10px 5px;\n}\n\n.codelens-modal {\n /* we set some custom position styles so that the modal doesn't obscure the codelens visualizer */\n top: 20%;\n right: 20%;\n left: auto;\n bottom: auto;\n}\n\n@media (max-width: 768px) {\n /* remove any custom position styles when the screen is small (mobile devices)\n to prevent the modal from being partially off the screen */\n .codelens-modal {\n top: 0 !important;\n right: 0 !important;\n bottom: 0 !important;\n left: 0 !important;\n }\n}\n\n.codelens-modal > .modal-dialog {\n width: 400px;\n}\n\n/* End modal dialog styles */\n\n.footnote.table {\n width: auto;\n margin-bottom: 10px;\n}\n\n.footnote.table td.label {\n padding: 2px 5px 2px 5px;\n background-color: #d9edf7;\n}\n\n.ac-canvas {\n background-color: white;\n display: inline-block;\n}\n\n.video-play-overlay {\n position: relative;\n top: -150px;\n left: 44%;\n height: 85px;\n width: 130px;\n background-position: center;\n background-repeat: no-repeat;\n}\n\n.video_popup video {\n width: var(--contentWidthRegular);\n cursor: pointer;\n}\n\n.ui-sortable-helper {\n height: auto !important;\n width: auto !important;\n}\n\n.navLink {\n z-index: 2;\n display: inline;\n bottom: 65px;\n position: fixed;\n opacity: 0.4;\n}\n\n.navLink:hover {\n opacity: 1;\n}\n\n.navLink a {\n display: inline-block;\n background-color: white;\n border-style: solid;\n border-color: lightgrey;\n border-width: 2px;\n width: 100px;\n height: 50px;\n}\n\n#relations-next {\n right: 35px;\n}\n\n#relations-prev {\n left: 35px;\n}\n\n.nextprev-list {\n margin: 10px;\n padding-left: 0;\n height: 50px;\n}\n\n@media (max-width: 600px) {\n .navLink {\n display: inline-block;\n bottom: auto;\n position: absolute;\n }\n\n #relations-next,\n #relations-prev {\n width: 25%;\n padding: 0 20px;\n display: inline;\n }\n}\n\n#completionButton {\n margin-top: 25px;\n margin-bottom: 15px;\n padding-left: 70px;\n padding-right: 70px;\n color: var(--completionButtonText);\n font-weight: bold;\n}\n\n.buttonAskCompletion {\n background-color: var(--completionButton);\n border-color: var(--completionButtonHover);\n font-weight: bold;\n}\n\n.buttonAskCompletion:hover {\n background-color: var(--completionButtonHover);\n border-color: var(--completionButtonHover);\n}\n\n.buttonConfirmCompletion {\n background-color: #377e22;\n border-color: #3dc682;\n color: #ffffff !important;\n}\n\n.buttonConfirmCompletion:hover {\n background-color: #3dc682;\n border-color: #3dc682;\n}\n\n.navLinkBg {\n height: 40px;\n background-color: #ffffff;\n z-index: 1;\n position: fixed;\n bottom: 55px;\n color: #999;\n font-weight: bold;\n -webkit-box-shadow: 0px 0px 3px rgba(50, 50, 50, 0.5);\n -moz-box-shadow: 0px 0px 3px rgba(50, 50, 50, 0.5);\n box-shadow: 0px 0px 3px rgba(50, 50, 50, 0.5);\n}\n\n.navLinkBg:hover {\n color: #999;\n}\n\n#navLinkBgRight {\n right: -1000px;\n padding: 10px 15px 0 65px;\n}\n\n#navLinkBgLeft {\n left: -65px;\n padding-left: 15px;\n padding-right: 50px;\n}\n\n.activehtml {\n width: 100%;\n height: 400px;\n background-color: #ffffff;\n}\n\n.container section > div.sidebar {\n margin: 0 0 0.5em 1em;\n}\n\na.disqus_thread_link {\n display: block;\n}\n\n.reveal_button {\n display: block;\n margin-left: 0;\n}\n\niframe[seamless] {\n display: block;\n}\n\n@media (min-width: 768px) {\n .container section > div.sidebar {\n margin: 0 3em 0.5em 1em;\n }\n}\n\n@media (min-width: 992px) {\n .container section > div.sidebar {\n margin: 0 11em 0.5em 1em;\n }\n}\n\n@media (min-width: 1200px) {\n .container section > div.sidebar {\n margin: 0 18em 0.5em 1em;\n }\n}\n\ndiv.ExecutionVisualizer table.visualizer {\n width: auto;\n margin-left: auto;\n margin-right: auto;\n background-color: #ffffff;\n}\n\n.sltooltip {\n position: absolute;\n z-index: 1020;\n display: block;\n padding-bottom: 5px;\n font-size: 11px;\n visibility: visible;\n margin-top: -2px;\n bottom: 120%;\n margin-left: -2em;\n}\n\n.sltooltip .sltooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n border-top: 5px solid #000000;\n border-right: 5px solid transparent;\n border-left: 5px solid transparent;\n position: absolute;\n width: 0;\n height: 0;\n}\n\n.sltooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: var(--tooltip);\n text-align: center;\n text-decoration: none;\n background-color: #000000;\n -webkit-border-radius: 4px;\n -moz-border-radius: 4px;\n border-radius: 4px;\n}\n\nul.dropdown-menu.globaltoc {\n max-height: 700px;\n overflow: auto;\n}\n\n.globaltoc span.caption-text {\n display: inline-block;\n font-weight: bold;\n font-size: large;\n}\n\n/* Style lp textareas. */\ntextarea.lp-result {\n width: 100%;\n height: 10em;\n font-family: monospace;\n}\n\n/*\n * Hide only visually, but have it available for screen readers:\n * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility\n *\n * 1. For long content, line feeds are not interpreted as spaces and small width\n * causes content to wrap 1 word per line:\n * https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe\n */\n\n.visuallyhidden {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n white-space: nowrap;\n /* 1 */\n}\n\n/*\n * Extends the .visuallyhidden class to allow the element\n * to be focusable when navigated to via the keyboard:\n * https://www.drupal.org/node/897638\n */\n\n.visuallyhidden.focusable:active,\n.visuallyhidden.focusable:focus {\n clip: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n position: static;\n width: auto;\n white-space: inherit;\n}\n\n.blockquote {\n text-align: center;\n font-size: large;\n font-style: italic;\n padding-left: 2em;\n padding-right: 2em;\n}\n\n\n#subchapterprogress.ui-progressbar .ui-progressbar-value {\n margin: 0;\n border-radius: 0px;\n}\n\n#subchapterprogress > div {\n background: green;\n}\n\n#subchapterprogress > div.loggedout {\n background: lightgray;\n}\n\n.runestone_caption {\n text-align: center;\n}\n\n.runestone_caption_divid {\n opacity: 50%;\n}\n\n#questions .runestone_caption:before {\n counter-increment: rscomponent;\n content: \"Problem: \" counter(rscomponent) \" -- \";\n}\n\nbody {\n color: var(--bodyFont);\n}\n\n.jupyter_container .output {\n margin-top: 10px;\n}\n\n.jupyter_container .output td {\n padding-left: 5px;\n padding-right: 5px;\n}\n\n.jupyter_container .output th {\n padding-left: 5px;\n padding-right: 5px;\n}\n\n/*Theme toggle*/\n.dropdown-menu > li > label.theme-switch {\n display: flex;\n align-items: center;\n font-weight: normal;\n cursor: pointer;\n}\n\n.theme-switch input {\n display: none;\n}\n\n.theme-switch .slider {\nbackground-color: #ccc;\nheight: 1.25em;\nwidth: 2em;\ntransition: 0.4s;\nposition: relative;\nmargin-right: 3px;\n}\n\n.theme-switch .slider:before {\n background-color: #fff;\n bottom: 2px;\n content: \"\";\n height: calc(1.25em - 4px);\n left: 2px;\n position: absolute;\n transition: 0.4s;\n width: calc(1.25em - 4px);\n}\n\n.theme-switch input:checked + .slider {\n background-color: #66bb6a;\n}\n\n.theme-switch input:checked + .slider:before {\n transform: translateX( calc(0.75em - 1px) );\n}\n\n.theme-switch .slider.round {\n border-radius: 1.25em;\n}\n\n.theme-switch .slider.round:before {\n border-radius: 1.25em;\n}\n/*End theme toggle*/\n\n/* for ads */\n.adcopy {\n width: 60%;\n background-color: #f2e0c3;\n padding: 10px;\n margin-left: auto;\n margin-right: auto;\n margin-top: 10px;\n border: solid black 2px;\n border-radius: 10px;\n}\n\n.adcopy .donateb {\n\n margin-left: 30%;\n}\n\n.isCorrect:before {\n /*content: url(https://em-content.zobj.net/thumbs/240/apple/325/check-mark_2714-fe0f.png);*/\n content: \"✅ \";\n float:right;\n padding-left: 4px;\n}\n\n.isInCorrect:before {\n /*content: url(https://em-content.zobj.net/thumbs/240/apple/325/check-mark_2714-fe0f.png);*/\n content: \"⚠️ \";\n float:right;\n padding-left: 4px;\n}\n\n/* ---------------------------------------------------------- */\n/* Redo some PreTeXt styles undone by Bootstrap */\npre {\n color: inherit;\n background: inherit;\n}\n\nsummary.ptx-footnote__number {\n display: inline;\n}\n\nsummary.knowl__link {\n display: list-item inline;\n}\n\ndetails.ptx-footnote {\n display: inline;\n}\n/* ---------------------------------------------------------- */\n\n.handsontable td, .handsontable th {\n background-color: var(--content-background, #fff);\n color: var(--bodyFont, #000);\n}\n\n\nlegend {\n /* allow darkmode to override legend color */\n color: var(--grayToWhite, #333);\n border-bottom-color: var(--grayToWhite, #333);\n}\n\n.autopermalink {\n display: none;\n}","/*\n**********************************************\n|docname| - a WCAG 2.0 AA compliant stylesheet\n**********************************************\n*/\n\n/* Variables holding theme colors */\n:root {\n\t--codebuttons: #474949;\n}\n[data-theme=\"dark\"] {\n\t--codebuttons: #2c0aa6;\n}\n/*Navigation Tabbing Styling*/\nli.dropdown.open a.dropdown-toggle, li.dropdown.open a.dropdown-toggle:focus {\n\tborder:0px !important;\n\t/*background-color: #346A6E!important;*/\n\tbackground-color: #2A5659 !important;\n\tcolor:#F8F8F8 !important;\n}\na.dropdown-toggle:focus {\n\t /*border:1px solid #5B9DD9 !important;\n\t color:#5B9DD9 !important;\n\t width:48px !important;*/\n\t background-color: #52A6AC!important;\n\t color:#F8F8F8 !important;\n}\n/* Border Manipulation */\nli.divider-vertical {\n\tmargin:0px !important;\n}\nli.dropdown a.dropdown-toggle {\n\tpadding:15px 18px !important;\n}\n\n/*\nBootstrap button styling\n*/\n\n/* Default Button */\n/* Passes WCAG 2.0 */\nbutton.btn.btn-default:active {\n\tcolor:#474949 !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-default:focus {\n\tcolor:#474949 !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-default{\n\tcolor:#FFFFFF !important;\n\tbackground-color: rgb(71, 73, 73) !important;\n}\nbutton.btn.btn-default.btn-sm.disabled:active {\n\tcolor:#474949 !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-default.btn-sm.disabled:focus {\n\tcolor:#474949 !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-default.btn-sm.disabled{\n\tcolor:#FFFFFF !important;\n\tbackground-color:#474949 !important;\n}\n/* Sucess Button */\n/* Failed WCAG 2.0, #255425 passes */\nbutton.btn.btn-success:active {\n\tcolor:#427e44 !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-success:focus {\n\tcolor:#427e44!important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-success {\n\tcolor:#FFFFFF !important;\n\tbackground-color:#427e44!important;\n}\n\n/*Primary Button*/\n/* fails WCAG 2.0, #265986 passes */\nbutton.btn.btn-primary:active {\n\tcolor:#3379b6!important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-primary:focus {\n\tcolor:#3379b6 !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-primary {\n\tcolor:#FFFFFF !important;\n\tbackground-color:#3379b6 !important;\n}\n\n\n/*Info Button */\n/* Fails, WCAG 2.0, #155569 passes*/\nbutton.btn.btn-info:active {\n\tcolor:#1a6a83!important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-info:focus {\n\tcolor:#1a6a83 !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-info{\n\tcolor:#FFFFFF !important;\n\tbackground-color:#1a6a83 !important;\n}\n\n/*Warning Button*/\n/*Fails WCAG 2.0, #794b0b*/\nbutton.btn.btn-warning:active {\n\tcolor:#945c0e !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-warning:focus {\n\tcolor:#945c0e !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-warning {\n\tcolor:#FFFFFF !important;\n\tbackground-color:#945c0e !important;\n}\n\n/*Danger Button */\n/*Fails, #a62924 passes*/\nbutton.btn.btn-danger:active {\n\tcolor:#d33a35 !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-danger:focus {\n\tcolor:#d33a35 !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-danger{\n\tcolor:#FFFFFF !important;\n\tbackground-color:#d33a35 !important;\n}\n\n/*Link Button*/\n/*Fails AAA, passes with #265986*/\nbutton.btn.btn-link:active {\n\tcolor:#FFFFFF!important;\n\tbackground-color:#1a6a83 !important;\n}\nbutton.btn.btn-link:focus {\n\tcolor:#FFFFFF !important;\n\tbackground-color:#1a6a83 !important;\n}\nbutton.btn.btn-link {\n\tcolor:#1a6a83 !important;\n\tbackground-color:#FFFFFF !important;\n}","/* Variables holding theme colors */\n:root {\n\t--menu: #FFFFFF;\n}\n\n[data-theme=\"dark\"] {\n\t--menu: #000000;\n}\n\n.my-highlighted-text{\n\tbackground-color:#FFFF99;\n}\n.social-highlighted-text{\n\tbackground-color:#FFCCCC;\n}\n.highlight-option-box{\n\tposition:absolute;\n\ttop:0px;\n\tleft:0px;\n}\n.highlight-option-box li{ \n\theight:24px;\n}\n#continue-reading{\n\tpadding-top:20px;\n\tdisplay: none;\n}\n#continue-reading a{\n\tfloat:right;\n\tmargin-right:20px;\n}\nli.completed\n{\nlist-style-image: url('completed.png');\n}\nli.active\n{\nlist-style-image: url('active.png');\n}\n.infoTextCompleted{\n\tmargin-left:10px;\n\tfont-size:0.9em;\n\tcolor:#3dc682;\n\tdisplay:none;\n\tfont-style:italic;\n\topacity: 0.7;\n}\n.infoTextActive{\n\tmargin-left:10px;\n\tfont-size:0.9em;\n\tcolor:#ff9f19;\n\tdisplay:none;\n\tfont-style:italic;\n\topacity: 0.7;\n}\n.dropdown-menu{\n\tbackground-clip: padding-box;\n background-color: var(--menu);\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 5px 5px 5px 5px;\n box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n display: none;\n list-style: none outside none;\n margin: 1px 0 0;\n min-width: 160px;\n padding: 4px 0;\n position: absolute;\n top: 100%;\n z-index: 1000;\n}\n.dropdown-menu ul {\n list-style: disc outside none;\n margin: 0 0 9px 25px;\n padding: 0;\n}\n\n.sidebar-highlights{\n background-color:#FFFF99;\n}\ndiv.documentwrapper {\n\tborder : 0 none;\n}\ndiv.bodywrapper {\n\tborder-right: 0 none;\n}\ndiv.sphinxsidebar {\n\tborder-left: 1px solid #CCCCCC;\n\tpadding-left: 10px;\n}\n.body>.section .section{\n\tpadding-top: 1px;\n}\n#jump-to-chapter{\n border: 1px solid #CCCCCC;\n letter-spacing: 0.015em;\n line-height: 120%;\n padding: 0.5em;\n\twidth: 80%;\n\tmargin-left: auto;\n\tmargin-right: auto;\n}\n#navigation-links{\n\tbackground-color: #F8F8F8;\n border: 1px solid #CCCCCC;\n\tpadding:10px;\n\tmargin:10px;\n}\n",".matrixeq_container {\n padding: 6px 6px 6px 6px;\n margin: 0px 0px 6px 0px;\n}\n\nspan.matrix_table {\n display: inline-table;\n background-color: inherit;\n border-width: 2px 2px;\n border-style: solid;\n border-color: black;\n text-align: center;\n padding: 0px 1px;\n margin: 0px 0px 4px 0px;\n overflow: visible;\n}\n\nspan.matrix_column {\n display: inline-table;\n background-color: inherit;\n padding: 2px 8px 2px 8px;\n margin: 0px 1px;\n border-width: 0px 0px 0px 0px;\n font-family: monospace;\n font-size: 12px;\n vertical-align: middle;\n}\n\nspan.matrix_column div {\n display: block;\n margin: 1px;\n padding: 2px;\n background-color: inherit;\n}\n\nspan.matrix_table .matrix_column {\n border-style: none;\n margin-left: 5px;\n margin-right: 5px;\n}\n\nspan.matrix_table:before {\n content: \" \";\n background-color: inherit;\n width: 85%;\n text-align: center;\n height: 2px;\n position: relative;\n top: -2px;\n z-index: 100;\n display: block;\n margin: 0px auto;\n}\n\nspan.matrix_table:after {\n content: \" \";\n background-color: inherit;\n width: 85%;\n text-align: center;\n height: 2px;\n position: relative;\n top: 2px;\n z-index: 100;\n display: block;\n margin: 0px auto;\n}\n\nspan.matrix_column:before {\n content: \" \";\n width: 85%;\n height: 2px;\n position: relative;\n top: -2px;\n z-index: 100;\n display: block;\n}\n\nspan.matrix_column:after {\n content: \" \";\n width: 85%;\n height: 2px;\n position: relative;\n top: 2px;\n z-index: 100;\n display: block;\n}\n\nspan.matrix_table span.matrix_column:before {\n height: 0px;\n}\n\nspan.matrix_table span.matrix_column:after {\n height: 0px;\n}\n\nspan.matrix_table input[type=\"text\"] {\n display: block;\n margin: 0;\n width: 50px;\n height: 24px;\n font-family: sans-serif;\n font-size: 12px;\n appearance: none;\n box-shadow: none;\n text-align: right;\n background-color: inherit;\n}\n\nspan.matrix_operator {\n display: inline-table;\n padding: 0px;\n margin: 0px 4px 0px 4px;\n font-family: monospace;\n font-size: 18px;\n vertical-align: middle;\n}\n\nspan.matrix_label {\n display: inline-table;\n padding: 0px 0px 0px 20px;\n margin: 0px 1px;\n font-family: sans-serif;\n font-size: 12px;\n vertical-align: middle;\n}\n\n/* Colors for matrix highlighting */\n\n.lightcyanColor {\n background-color: lightcyan;\n}\n\n.lightgreyColor {\n background-color: lightgrey;\n}\n\n.purpleColor {\n background-color: #DFB5E8;\n}\n\n.yellowColor {\n background-color: #FDFF9D;\n}\n\n\n\n","/********************* Colour reference chart****************\nelememt ********* property ********* colour ********\n\nwebgl_container background-color #fcf8e3\n\n*/\n\n/* Major sections */\n.webgl_container {\n background-color: #fcf8e3;\n box-sizing: border-box;\n width: 100%;\n display: block;\n margin-bottom: 1em;\n}\n\n.webgl_cmds {\n box-sizing: border-box;\n width: 100%;\n text-align: center;\n padding: 6px;\n}\n\n.webgl_row2 {\n box-sizing: border-box;\n width: 100%;\n padding: 0px 4px 0px 4px;\n display: block;\n height: 550px;\n}\n\n.webgl_editors {\n box-sizing: border-box;\n float: left;\n display: block;\n visibility: visible;\n width: 50%;\n}\n\n.webgl_canvas {\n box-sizing: border-box;\n float: left;\n display: block;\n visibility: visible;\n font-size: 12px;\n font-weight: normal;\n padding-left: 5px;\n width: 50%;\n}\n\n.webgl_output {\n box-sizing: border-box;\n width: 100%;\n padding: 4px;\n margin-top: 6px;\n float: left;\n}\n\n/* Details within each section */\n/* Tabbed titles, ul horizontal list */\n.webgl_nav_tabs {\n height: 31px;\n width: 100%;\n margin: 0px;\n padding: 6px 0px 0px 0px;\n background-color: #CFCCB8;\n border-color: #fbeed5;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n list-style-type: none;\n overflow: hidden;\n display: inline-flex;\n}\n\n.webgl_nav_tabs li {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n margin: 0px 0px 0px 4px;\n padding: 4px 1px 4px 4px;\n list-style-type: none;\n position: relative;\n float: left;\n background-color: #E6E2CC;\n font-size: 9pt;\n}\n\n.webgl_nav_tabs li > a {\n padding: 8px 8px 8px 8px;\n color: #555;\n text-decoration: none;\n}\n\n.webgl_nav_tabs > li > a:hover {\n border-color: #b4b19d;\n border-bottom-width: 0;\n}\n\n.webgl_nav_tabs li.active {\n background-color: #ffffff;\n list-style-type: none;\n list-style-image: none;\n}\n\n/* Webgl editors */\n.webgl_tab_content {\n width: 100%;\n position: absolute;\n clear: both;\n margin: 0px 0px 20px 0px;\n border: 0px;\n color: #c09853;\n background-color: #fcf8e3;\n z-index: 1;\n}\n\n.webgl_tab_content.active {\n z-index: 2;\n}\n\n.webgl_tab_content > * {\n margin-left: auto;\n margin-right: auto;\n /*\tposition:relative; */\n}\n\n.webgl_tab_content .clearfix {\n position: initial;\n}\n\n.webgl_tab_editor {\n width: 100%;\n position: absolute;\n clear: both;\n padding: 10px 4px 10px 4px;\n margin: 0px 0px 20px 0px;\n border: 0px;\n color: #c09853;\n background-color: #fcf8e3;\n}\n\n/* span that contains the tabbed text editors */\n.webgl_code {\n width: 100%;\n float: left;\n}\n\n.webgl_tab_contents_text {\n width: 100%;\n position: absolute;\n clear: both;\n padding: 10px 4px 10px 4px;\n margin: 0px 0px 20px 0px;\n border: 0px;\n color: #c09853;\n background-color: #fcf8e3;\n z-index: 1;\n}\n\n.webgl_errorMessages {\n color: red;\n}\n\n.webgl_warningMessages {\n color: rgb(170, 34, 164);\n}\n\n.webgl_infoMessages {\n color: rgb(24, 144, 64);\n}\n\n.webgl_output_div {\n width: 100%;\n margin: 2px;\n border: 1px solid lightgrey;\n padding-bottom: 4px;\n padding-top: 4px;\n padding-left: 4px;\n background-color: white;\n overflow: auto;\n height: 14em;\n font-size: 12px;\n font-weight: normal;\n}\n\n.webgl_editor_highlight {\n background-color: #EEEEEE; /* very light grey */\n}\n\n/* \nRemoved as these rules apply to entire browser window and not just webgl interactives\n::-webkit-scrollbar {\n -webkit-appearance: none;\n width: 7px;\n}\n::-webkit-scrollbar-thumb {\n border-radius: 4px;\n background-color: rgba(0,0,0,.5);\n -webkit-box-shadow: 0 0 1px rgba(255,255,255,.5);\n}\n*/\n\n.webgl_btn {\n display: inline-block;\n padding: 3px 6px;\n margin-bottom: 0;\n background-color: thistle;\n font-size: 12px;\n font-weight: normal;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n cursor: pointer;\n border: 1px solid transparent;\n border-radius: 4px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n -o-user-select: none;\n user-select: none;\n}\n\n.webgl_checkbox {\n}\n\n.webgl_tabbed_editor {\n width: 100%;\n resize: none;\n font-family: monospace, sans-serif;\n font-size: 9pt;\n font-style: normal;\n}\n\n.canvas3D {\n width: 100%;\n height: 100%;\n}\n\n.CodeMirror.webgl-default {\n border: 1px solid #eee;\n font-family: monospace, sans-serif;\n font-size: 8pt;\n font-style: normal;\n}\n\nbutton.btn.webgl-default {\n font-size: 8pt;\n}\n\n\n",".runestone-sphinx {\n @import (less) url(\"./presenter_mode.css\");\n}\n",".hidden{\n display: none;\n}\n\n.view-toggle{\n padding: 0.85em;\n}\n\n.presentation-mode section *{\n display: none;\n}\n\n.presentation-mode section .runestone, .presentation-mode section .runestone *{\n display: initial;\n}\n\n.present{\n height: 100vh;\n}\n\n.full-height{\n height: 100vh;\n}\n\n.bottom{\n position: absolute;\n bottom: 0;\n}\n\n#codeDisplayDiv{\n width: auto!important;\n}\n\ndiv.ExecutionVisualizer #dataViz{\n margin: 0;\n}\n\ndiv.ExecutionVisualizer div#stackHeader {\n text-align: center;\n}\n\n#stackFrame{\n display: block!important;\n}\n\n#stackHeapTable {\n width: 100%;\n}\n\n#stackHeapTable tr {\n justify-content: space-around;\n}\n\ndiv.ExecutionVisualizer td#stack_td, div.ExecutionVisualizer td#heap_td {\n flex: 1;\n}\n\n.presentation-title {\n display: none;\n}\n\n.present .presentation-title {\n display: block;\n}\n\ndiv.ExecutionVisualizer div#heap {\n float: none;\n padding-left: 0;\n}\n\n#stack_td tr {\n display: table-row;\n}\n\n#heap_td tr {\n display: table-row;\n}\n\n#codeDisplayDiv{\n margin: 0 auto;\n}\n\n/* bnm -- comment this out for now as it breaks codelens indentation and arrows\n.visualizer tr{\n display: flex;\n}\n*/\n\n#vizLayoutTd{\n flex: 1;\n}\n\n#vizLayoutTdFirst {\n flex: 2;\n}\n\n#vizLayoutTdSecond {\n flex: 1;\n}\n\n#vizLayoutTdThird {\n flex: 2;\n}\n\n#progOutputs {\n display: block!important;\n margin: 0 20px;\n width: 60%;\n}\n\n#pyStdout {\n width: 100%!important;\n}\n\ndiv.ExecutionVisualizer #pyStdout {\n margin-bottom: 1em;\n}\n\ndiv.ExecutionVisualizer table.visualizer {\n width: 100%;\n}\n\n.present #vizLayoutTdThird{\n text-align: left;\n}\n\n.ac-block{\n display: flex;\n margin-bottom: 1em;\n}\n\n.row-mode .ac-block{\n display: block;\n margin-bottom: 0;\n}\n\n.row-mode .ac_output, .row-mode .ac_code_div{\n float: none;\n display: block;\n width: auto;\n max-width: none;\n}\n\n.row-mode .ac_code_div{\n margin-bottom: 1em;\n}\n\n.ac_section>* {\n max-width: 100%;\n}\n\n.ac_output{\n display: block;\n max-width: 100%;\n}\n\n.ac_output pre {\n visibility: visible!important;\n min-height: 60px;\n}\n\n.CodeMirror{\n margin: 0;\n max-width: 100%;\n border-radius: 3px;\n min-height: 60px;\n}\n\n.container section > runestone:not(.ac_section){\n max-width:none;\n margin: 0;\n}\n\n.presentation-options {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n}\n\n.layout-btn {\n background-color: #FBEED5;\n border: 2px solid #DFD4BE;\n border-radius: 2px;\n padding: .25rem;\n display: flex;\n justify-content: center;\n align-items: center;\n margin: 0 .5rem;\n transition: all .2s ease;\n}\n\n.layout-btn.active-layout, .layout-btn:focus {\n border: 2px solid #979797;\n outline: none;\n}\n\n.sketchpad-container {\n min-width: 50%;\n min-height: 300px;\n padding: 0 15px;\n}\n\n.card-mode .sketchpad-container {\n width: 50%;\n margin: 0;\n display: inline-block;\n /*margin: 0 -15px;*/\n vertical-align: top;\n}\n\n.row-mode .error {\n margin: 20px 15px;\n}\n\n.card-mode .error {\n margin: 28px 0 0;\n width: 50%;\n display: inline-block;\n padding: 0 15px;\n vertical-align: top;\n margin-top: 28px;\n}\n\n.sketchpad {\n background: white;\n border: 2px solid grey;\n border-radius: 3px;\n width: 100%;\n min-height: 300px;\n display: block;\n}\n\n.btn-presenter {\n padding: .5rem 1rem;\n border-radius: 3px;\n font-weight: 500;\n margin: 1.5rem 0 1.5rem 1.5rem;\n}\n\n.btn-grey-outline {\n border: 2px solid grey;\n color: grey;\n background: white;\n}\n\n.btn-grey-solid {\n border: 2px solid grey;\n color: white;\n background: grey;\n}\n\nbody.present .ac_section>* {\n max-width: none;\n}\nbody.present iframe {\n width: 100%;\n}\n\nbody.present {\n /* font-size: 2.0em; */\n}\n\nbody.present #relations-prev, body.present #relations-next, body.present .navLinkBg {\n display: none;\n}\n\nbody.present .btn-presenter {\n position: absolute;\n}\nbody.present .btn-presenter.prev-exercise { left: 0px; }\nbody.present .btn-presenter.next-exercise { right: 0px; }\n\n/* .col-md-12 {\n width: 58.333333333333336%;\n}\n\n.card-mode .col-md-7 {\n width: 50%;\n} */\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/_static/prefix-runestone.f4ab138da65f4203.css.map.gz b/_static/prefix-runestone.f4ab138da65f4203.css.map.gz deleted file mode 100644 index 0ae55bc..0000000 Binary files a/_static/prefix-runestone.f4ab138da65f4203.css.map.gz and /dev/null differ diff --git a/_static/prefix-runtime.42217a82c75796c8.bundle.js b/_static/prefix-runtime.42217a82c75796c8.bundle.js deleted file mode 100644 index d44d5ca..0000000 --- a/_static/prefix-runtime.42217a82c75796c8.bundle.js +++ /dev/null @@ -1,2 +0,0 @@ -(()=>{"use strict";var e,r,t,a,c,d={},n={};function o(e){var r=n[e];if(void 0!==r)return r.exports;var t=n[e]={id:e,loaded:!1,exports:{}};return d[e].call(t.exports,t,t.exports,o),t.loaded=!0,t.exports}o.m=d,e=[],o.O=(r,t,a,c)=>{if(!t){var d=1/0;for(b=0;b=c)&&Object.keys(o.O).every((e=>o.O[e](t[f])))?t.splice(f--,1):(n=!1,c0&&e[b-1][2]>c;b--)e[b]=e[b-1];e[b]=[t,a,c]},o.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return o.d(r,{a:r}),r},o.d=(e,r)=>{for(var t in r)o.o(r,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>e+"."+{28:"bb005543f41af5fb",39:"dc45aaf5abca8027",115:"648ff4b5650f4c7c",126:"a976f62852f30b51",128:"5bed857c54ac4e8b",131:"ee437eeefadd750d",168:"fe63e6dec2d06468",186:"be52164d57f4b7e4",249:"7ec032cf0b3ede9a",296:"37eb8c05642d8ef9",340:"c525bd899366c5f9",357:"a6fa55aea0c38a63",412:"5965503d81003593",420:"8dae5ad08a4e52ad",442:"f48919e396acaa18",460:"bae9001422d7a484",466:"4e1a3fb09520281a",486:"78d96ffc5c65634b",529:"115400ffea03835d",566:"0e38ac5442cc38c2",576:"f923ab1e9910a1be",580:"f387819ad2e14f0a",616:"89f80a32caf41aef",625:"120987bdd5293ae3",640:"cbc8d3a34deb8837",662:"1bb5065279414751",669:"05a3639d12541567",680:"ec85c3ce31480628",759:"f27ff66e7ad33076",764:"c33a81cafe63d2b6",770:"7bd6d39128dde910",817:"3438cd0f1b0f98bc",819:"3e20e27de12f3abf",824:"4343b78afc34c12f",877:"fc49cc812ccc4937",915:"8f500bccc86f901d",919:"237aced0c044e4b6"}[e]+".js",o.miniCssF=e=>"prefix-"+e+"."+{39:"89cf817b9a35aeca",115:"83df5da0966564d5",131:"b184379d0dc5871b",168:"1c4deaed00ca1f5e",186:"0d47de180767fda9",198:"86b6b2a70a576922",249:"6ca19da539a8ed1a",294:"986bf74bfa4ccbd4",350:"dbca9271f6e2dfbf",380:"67748940131a4a84",412:"25f3c4ff23eb9893",442:"6ae0ea584f8e75c5",460:"7c0b70502d117f7d",486:"990aca82e7ba3e1c",576:"9b1852878840651d",580:"22958d4327b0425a",616:"5c78f604ddad1ec0",621:"8c109e297bdd8ce7",737:"cf869b6ea8bfad2f",819:"6edefe408d7482c2",824:"271ae6cff6401ed5",877:"fa7c46f756cd5a82",915:"882512b642b7fffa"}[e]+".css",o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),r={},t="WebComponents:",o.l=(e,a,c,d)=>{if(r[e])r[e].push(a);else{var n,f;if(void 0!==c)for(var i=document.getElementsByTagName("script"),b=0;b{n.onerror=n.onload=null,clearTimeout(u);var c=r[e];if(delete r[e],n.parentNode&&n.parentNode.removeChild(n),c&&c.forEach((e=>e(a))),t)return t(a)},u=setTimeout(s.bind(null,void 0,{type:"timeout",target:n}),12e4);n.onerror=s.bind(null,n.onerror),n.onload=s.bind(null,n.onload),f&&document.head.appendChild(n)}},o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e;o.g.importScripts&&(e=o.g.location+"");var r=o.g.document;if(!e&&r&&(r.currentScript&&"SCRIPT"===r.currentScript.tagName.toUpperCase()&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName("script");if(t.length)for(var a=t.length-1;a>-1&&(!e||!/^http(s?):/.test(e));)e=t[a--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),o.p=e})(),a=e=>new Promise(((r,t)=>{var a=o.miniCssF(e),c=o.p+a;if(((e,r)=>{for(var t=document.getElementsByTagName("link"),a=0;a{var c=document.createElement("link");c.rel="stylesheet",c.type="text/css",c.onerror=c.onload=d=>{if(c.onerror=c.onload=null,"load"===d.type)t();else{var n=d&&("load"===d.type?"missing":d.type),o=d&&d.target&&d.target.href||r,f=new Error("Loading CSS chunk "+e+" failed.\n("+o+")");f.code="CSS_CHUNK_LOAD_FAILED",f.type=n,f.request=o,c.parentNode.removeChild(c),a(f)}},c.href=r,document.head.appendChild(c)})(e,c,r,t)})),c={121:0},o.f.miniCss=(e,r)=>{c[e]?r.push(c[e]):0!==c[e]&&{39:1,115:1,131:1,168:1,186:1,198:1,249:1,294:1,350:1,380:1,412:1,442:1,460:1,486:1,576:1,580:1,616:1,621:1,737:1,819:1,824:1,877:1,915:1}[e]&&r.push(c[e]=a(e).then((()=>{c[e]=0}),(r=>{throw delete c[e],r})))},(()=>{var e={121:0};o.f.j=(r,t)=>{var a=o.o(e,r)?e[r]:void 0;if(0!==a)if(a)t.push(a[2]);else if(/^([16]21|198|294|350|380|737)$/.test(r))e[r]=0;else{var c=new Promise(((t,c)=>a=e[r]=[t,c]));t.push(a[2]=c);var d=o.p+o.u(r),n=new Error;o.l(d,(t=>{if(o.o(e,r)&&(0!==(a=e[r])&&(e[r]=void 0),a)){var c=t&&("load"===t.type?"missing":t.type),d=t&&t.target&&t.target.src;n.message="Loading chunk "+r+" failed.\n("+c+": "+d+")",n.name="ChunkLoadError",n.type=c,n.request=d,a[1](n)}}),"chunk-"+r,r)}},o.O.j=r=>0===e[r];var r=(r,t)=>{var a,c,[d,n,f]=t,i=0;if(d.some((r=>0!==e[r]))){for(a in n)o.o(n,a)&&(o.m[a]=n[a]);if(f)var b=f(o)}for(r&&r(t);i{"use strict";var e,r,t,a,d,c={},n={};function o(e){var r=n[e];if(void 0!==r)return r.exports;var t=n[e]={id:e,loaded:!1,exports:{}};return c[e].call(t.exports,t,t.exports,o),t.loaded=!0,t.exports}o.m=c,e=[],o.O=(r,t,a,d)=>{if(!t){var c=1/0;for(i=0;i=d)&&Object.keys(o.O).every((e=>o.O[e](t[b])))?t.splice(b--,1):(n=!1,d0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[t,a,d]},o.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return o.d(r,{a:r}),r},o.d=(e,r)=>{for(var t in r)o.o(r,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>e+"."+{28:"bb005543f41af5fb",39:"dc45aaf5abca8027",126:"a976f62852f30b51",128:"5bed857c54ac4e8b",131:"ee437eeefadd750d",168:"fe63e6dec2d06468",186:"be52164d57f4b7e4",249:"7ec032cf0b3ede9a",268:"0659406f2c053718",296:"37eb8c05642d8ef9",340:"c525bd899366c5f9",357:"a6fa55aea0c38a63",412:"5965503d81003593",420:"8dae5ad08a4e52ad",442:"f48919e396acaa18",460:"bae9001422d7a484",466:"4e1a3fb09520281a",486:"78d96ffc5c65634b",529:"115400ffea03835d",566:"0e38ac5442cc38c2",576:"f923ab1e9910a1be",580:"f387819ad2e14f0a",616:"89f80a32caf41aef",625:"120987bdd5293ae3",640:"cbc8d3a34deb8837",662:"1bb5065279414751",669:"05a3639d12541567",680:"ec85c3ce31480628",759:"f27ff66e7ad33076",764:"c33a81cafe63d2b6",770:"7bd6d39128dde910",817:"3438cd0f1b0f98bc",819:"fa7785b520e523a5",824:"4343b78afc34c12f",877:"fc49cc812ccc4937",915:"8f500bccc86f901d",919:"237aced0c044e4b6"}[e]+".js",o.miniCssF=e=>"prefix-"+e+"."+{39:"89cf817b9a35aeca",131:"b184379d0dc5871b",168:"1c4deaed00ca1f5e",186:"0d47de180767fda9",198:"86b6b2a70a576922",249:"6ca19da539a8ed1a",268:"c9e33e1350d18af9",294:"986bf74bfa4ccbd4",350:"dbca9271f6e2dfbf",380:"67748940131a4a84",412:"25f3c4ff23eb9893",442:"6ae0ea584f8e75c5",460:"7c0b70502d117f7d",486:"990aca82e7ba3e1c",576:"9b1852878840651d",580:"22958d4327b0425a",616:"5c78f604ddad1ec0",621:"8c109e297bdd8ce7",737:"cf869b6ea8bfad2f",824:"271ae6cff6401ed5",850:"e86d03c2cec75438",877:"fa7c46f756cd5a82",915:"882512b642b7fffa"}[e]+".css",o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),r={},t="WebComponents:",o.l=(e,a,d,c)=>{if(r[e])r[e].push(a);else{var n,b;if(void 0!==d)for(var f=document.getElementsByTagName("script"),i=0;i{n.onerror=n.onload=null,clearTimeout(u);var d=r[e];if(delete r[e],n.parentNode&&n.parentNode.removeChild(n),d&&d.forEach((e=>e(a))),t)return t(a)},u=setTimeout(s.bind(null,void 0,{type:"timeout",target:n}),12e4);n.onerror=s.bind(null,n.onerror),n.onload=s.bind(null,n.onload),b&&document.head.appendChild(n)}},o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e;o.g.importScripts&&(e=o.g.location+"");var r=o.g.document;if(!e&&r&&(r.currentScript&&"SCRIPT"===r.currentScript.tagName.toUpperCase()&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName("script");if(t.length)for(var a=t.length-1;a>-1&&(!e||!/^http(s?):/.test(e));)e=t[a--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),o.p=e})(),a=e=>new Promise(((r,t)=>{var a=o.miniCssF(e),d=o.p+a;if(((e,r)=>{for(var t=document.getElementsByTagName("link"),a=0;a{var d=document.createElement("link");d.rel="stylesheet",d.type="text/css",d.onerror=d.onload=c=>{if(d.onerror=d.onload=null,"load"===c.type)t();else{var n=c&&("load"===c.type?"missing":c.type),o=c&&c.target&&c.target.href||r,b=new Error("Loading CSS chunk "+e+" failed.\n("+o+")");b.code="CSS_CHUNK_LOAD_FAILED",b.type=n,b.request=o,d.parentNode.removeChild(d),a(b)}},d.href=r,document.head.appendChild(d)})(e,d,r,t)})),d={121:0},o.f.miniCss=(e,r)=>{d[e]?r.push(d[e]):0!==d[e]&&{39:1,131:1,168:1,186:1,198:1,249:1,268:1,294:1,350:1,380:1,412:1,442:1,460:1,486:1,576:1,580:1,616:1,621:1,737:1,824:1,850:1,877:1,915:1}[e]&&r.push(d[e]=a(e).then((()=>{d[e]=0}),(r=>{throw delete d[e],r})))},(()=>{var e={121:0};o.f.j=(r,t)=>{var a=o.o(e,r)?e[r]:void 0;if(0!==a)if(a)t.push(a[2]);else if(/^([16]21|(35|38|85)0|198|294|737)$/.test(r))e[r]=0;else{var d=new Promise(((t,d)=>a=e[r]=[t,d]));t.push(a[2]=d);var c=o.p+o.u(r),n=new Error;o.l(c,(t=>{if(o.o(e,r)&&(0!==(a=e[r])&&(e[r]=void 0),a)){var d=t&&("load"===t.type?"missing":t.type),c=t&&t.target&&t.target.src;n.message="Loading chunk "+r+" failed.\n("+d+": "+c+")",n.name="ChunkLoadError",n.type=d,n.request=c,a[1](n)}}),"chunk-"+r,r)}},o.O.j=r=>0===e[r];var r=(r,t)=>{var a,d,[c,n,b]=t,f=0;if(c.some((r=>0!==e[r]))){for(a in n)o.o(n,a)&&(o.m[a]=n[a]);if(b)var i=b(o)}for(r&&r(t);f {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"WebComponents:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","var createStylesheet = (chunkId, fullhref, resolve, reject) => {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = (event) => {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tdocument.head.appendChild(linkTag);\n\treturn linkTag;\n};\nvar findStylesheet = (href, fullhref) => {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = (chunkId) => {\n\treturn new Promise((resolve, reject) => {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t121: 0\n};\n\n__webpack_require__.f.miniCss = (chunkId, promises) => {\n\tvar cssChunks = {\"39\":1,\"115\":1,\"131\":1,\"168\":1,\"186\":1,\"198\":1,\"249\":1,\"294\":1,\"350\":1,\"380\":1,\"412\":1,\"442\":1,\"460\":1,\"486\":1,\"576\":1,\"580\":1,\"616\":1,\"621\":1,\"737\":1,\"819\":1,\"824\":1,\"877\":1,\"915\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(() => {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, (e) => {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \".\" + {\"28\":\"bb005543f41af5fb\",\"39\":\"dc45aaf5abca8027\",\"115\":\"648ff4b5650f4c7c\",\"126\":\"a976f62852f30b51\",\"128\":\"5bed857c54ac4e8b\",\"131\":\"ee437eeefadd750d\",\"168\":\"fe63e6dec2d06468\",\"186\":\"be52164d57f4b7e4\",\"249\":\"7ec032cf0b3ede9a\",\"296\":\"37eb8c05642d8ef9\",\"340\":\"c525bd899366c5f9\",\"357\":\"a6fa55aea0c38a63\",\"412\":\"5965503d81003593\",\"420\":\"8dae5ad08a4e52ad\",\"442\":\"f48919e396acaa18\",\"460\":\"bae9001422d7a484\",\"466\":\"4e1a3fb09520281a\",\"486\":\"78d96ffc5c65634b\",\"529\":\"115400ffea03835d\",\"566\":\"0e38ac5442cc38c2\",\"576\":\"f923ab1e9910a1be\",\"580\":\"f387819ad2e14f0a\",\"616\":\"89f80a32caf41aef\",\"625\":\"120987bdd5293ae3\",\"640\":\"cbc8d3a34deb8837\",\"662\":\"1bb5065279414751\",\"669\":\"05a3639d12541567\",\"680\":\"ec85c3ce31480628\",\"759\":\"f27ff66e7ad33076\",\"764\":\"c33a81cafe63d2b6\",\"770\":\"7bd6d39128dde910\",\"817\":\"3438cd0f1b0f98bc\",\"819\":\"3e20e27de12f3abf\",\"824\":\"4343b78afc34c12f\",\"877\":\"fc49cc812ccc4937\",\"915\":\"8f500bccc86f901d\",\"919\":\"237aced0c044e4b6\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"prefix-\" + chunkId + \".\" + {\"39\":\"89cf817b9a35aeca\",\"115\":\"83df5da0966564d5\",\"131\":\"b184379d0dc5871b\",\"168\":\"1c4deaed00ca1f5e\",\"186\":\"0d47de180767fda9\",\"198\":\"86b6b2a70a576922\",\"249\":\"6ca19da539a8ed1a\",\"294\":\"986bf74bfa4ccbd4\",\"350\":\"dbca9271f6e2dfbf\",\"380\":\"67748940131a4a84\",\"412\":\"25f3c4ff23eb9893\",\"442\":\"6ae0ea584f8e75c5\",\"460\":\"7c0b70502d117f7d\",\"486\":\"990aca82e7ba3e1c\",\"576\":\"9b1852878840651d\",\"580\":\"22958d4327b0425a\",\"616\":\"5c78f604ddad1ec0\",\"621\":\"8c109e297bdd8ce7\",\"737\":\"cf869b6ea8bfad2f\",\"819\":\"6edefe408d7482c2\",\"824\":\"271ae6cff6401ed5\",\"877\":\"fa7c46f756cd5a82\",\"915\":\"882512b642b7fffa\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/^blob:/, \"\").replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t121: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(!/^([16]21|198|294|350|380|737)$/.test(chunkId)) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkWebComponents\"] = self[\"webpackChunkWebComponents\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));"],"names":["deferred","inProgress","dataWebpackPrefix","loadStylesheet","installedCssChunks","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","id","loaded","__webpack_modules__","call","m","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","Object","keys","every","key","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","f","e","chunkId","Promise","all","reduce","promises","u","miniCssF","g","globalThis","this","Function","window","obj","prop","prototype","hasOwnProperty","l","url","done","push","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","forEach","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","value","nmd","paths","children","scriptUrl","importScripts","location","currentScript","tagName","toUpperCase","test","Error","replace","p","resolve","reject","href","fullhref","existingLinkTags","dataHref","tag","rel","existingStyleTags","findStylesheet","linkTag","errorType","realHref","err","code","request","createStylesheet","miniCss","then","installedChunks","installedChunkData","promise","error","realSrc","message","name","webpackJsonpCallback","parentChunkLoadingFunction","data","moreModules","runtime","some","chunkLoadingGlobal","self"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"prefix-runtime.991c135ccf182bf5.bundle.js","mappings":"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","sources":["webpack://WebComponents/webpack/runtime/chunk loaded","webpack://WebComponents/webpack/runtime/load script","webpack://WebComponents/webpack/runtime/css loading","webpack://WebComponents/webpack/bootstrap","webpack://WebComponents/webpack/runtime/compat get default export","webpack://WebComponents/webpack/runtime/define property getters","webpack://WebComponents/webpack/runtime/ensure chunk","webpack://WebComponents/webpack/runtime/get javascript chunk filename","webpack://WebComponents/webpack/runtime/get mini-css chunk filename","webpack://WebComponents/webpack/runtime/global","webpack://WebComponents/webpack/runtime/hasOwnProperty shorthand","webpack://WebComponents/webpack/runtime/make namespace object","webpack://WebComponents/webpack/runtime/node module decorator","webpack://WebComponents/webpack/runtime/publicPath","webpack://WebComponents/webpack/runtime/jsonp chunk loading"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"WebComponents:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","var createStylesheet = (chunkId, fullhref, resolve, reject) => {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = (event) => {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tdocument.head.appendChild(linkTag);\n\treturn linkTag;\n};\nvar findStylesheet = (href, fullhref) => {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = (chunkId) => {\n\treturn new Promise((resolve, reject) => {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t121: 0\n};\n\n__webpack_require__.f.miniCss = (chunkId, promises) => {\n\tvar cssChunks = {\"39\":1,\"131\":1,\"168\":1,\"186\":1,\"198\":1,\"249\":1,\"268\":1,\"294\":1,\"350\":1,\"380\":1,\"412\":1,\"442\":1,\"460\":1,\"486\":1,\"576\":1,\"580\":1,\"616\":1,\"621\":1,\"737\":1,\"824\":1,\"850\":1,\"877\":1,\"915\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(() => {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, (e) => {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \".\" + {\"28\":\"bb005543f41af5fb\",\"39\":\"dc45aaf5abca8027\",\"126\":\"a976f62852f30b51\",\"128\":\"5bed857c54ac4e8b\",\"131\":\"ee437eeefadd750d\",\"168\":\"fe63e6dec2d06468\",\"186\":\"be52164d57f4b7e4\",\"249\":\"7ec032cf0b3ede9a\",\"268\":\"0659406f2c053718\",\"296\":\"37eb8c05642d8ef9\",\"340\":\"c525bd899366c5f9\",\"357\":\"a6fa55aea0c38a63\",\"412\":\"5965503d81003593\",\"420\":\"8dae5ad08a4e52ad\",\"442\":\"f48919e396acaa18\",\"460\":\"bae9001422d7a484\",\"466\":\"4e1a3fb09520281a\",\"486\":\"78d96ffc5c65634b\",\"529\":\"115400ffea03835d\",\"566\":\"0e38ac5442cc38c2\",\"576\":\"f923ab1e9910a1be\",\"580\":\"f387819ad2e14f0a\",\"616\":\"89f80a32caf41aef\",\"625\":\"120987bdd5293ae3\",\"640\":\"cbc8d3a34deb8837\",\"662\":\"1bb5065279414751\",\"669\":\"05a3639d12541567\",\"680\":\"ec85c3ce31480628\",\"759\":\"f27ff66e7ad33076\",\"764\":\"c33a81cafe63d2b6\",\"770\":\"7bd6d39128dde910\",\"817\":\"3438cd0f1b0f98bc\",\"819\":\"fa7785b520e523a5\",\"824\":\"4343b78afc34c12f\",\"877\":\"fc49cc812ccc4937\",\"915\":\"8f500bccc86f901d\",\"919\":\"237aced0c044e4b6\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"prefix-\" + chunkId + \".\" + {\"39\":\"89cf817b9a35aeca\",\"131\":\"b184379d0dc5871b\",\"168\":\"1c4deaed00ca1f5e\",\"186\":\"0d47de180767fda9\",\"198\":\"86b6b2a70a576922\",\"249\":\"6ca19da539a8ed1a\",\"268\":\"c9e33e1350d18af9\",\"294\":\"986bf74bfa4ccbd4\",\"350\":\"dbca9271f6e2dfbf\",\"380\":\"67748940131a4a84\",\"412\":\"25f3c4ff23eb9893\",\"442\":\"6ae0ea584f8e75c5\",\"460\":\"7c0b70502d117f7d\",\"486\":\"990aca82e7ba3e1c\",\"576\":\"9b1852878840651d\",\"580\":\"22958d4327b0425a\",\"616\":\"5c78f604ddad1ec0\",\"621\":\"8c109e297bdd8ce7\",\"737\":\"cf869b6ea8bfad2f\",\"824\":\"271ae6cff6401ed5\",\"850\":\"e86d03c2cec75438\",\"877\":\"fa7c46f756cd5a82\",\"915\":\"882512b642b7fffa\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/^blob:/, \"\").replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t121: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(!/^([16]21|(35|38|85)0|198|294|737)$/.test(chunkId)) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkWebComponents\"] = self[\"webpackChunkWebComponents\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));"],"names":["deferred","inProgress","dataWebpackPrefix","loadStylesheet","installedCssChunks","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","id","loaded","__webpack_modules__","call","m","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","Object","keys","every","key","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","f","e","chunkId","Promise","all","reduce","promises","u","miniCssF","g","globalThis","this","Function","window","obj","prop","prototype","hasOwnProperty","l","url","done","push","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","forEach","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","value","nmd","paths","children","scriptUrl","importScripts","location","currentScript","tagName","toUpperCase","test","Error","replace","p","resolve","reject","href","fullhref","existingLinkTags","dataHref","tag","rel","existingStyleTags","findStylesheet","linkTag","errorType","realHref","err","code","request","createStylesheet","miniCss","then","installedChunks","installedChunkData","promise","error","realSrc","message","name","webpackJsonpCallback","parentChunkLoadingFunction","data","moreModules","runtime","some","chunkLoadingGlobal","self"],"sourceRoot":""} \ No newline at end of file diff --git a/_static/prefix-runtime.991c135ccf182bf5.bundle.js.map.gz b/_static/prefix-runtime.991c135ccf182bf5.bundle.js.map.gz new file mode 100755 index 0000000..92138fe Binary files /dev/null and b/_static/prefix-runtime.991c135ccf182bf5.bundle.js.map.gz differ diff --git a/_static/pretext/css/print-worksheet.css b/_static/pretext/css/print-worksheet.css old mode 100644 new mode 100755 diff --git a/_static/pretext/css/print-worksheet.css.map b/_static/pretext/css/print-worksheet.css.map old mode 100644 new mode 100755 index eb34a79..16fd9b4 --- a/_static/pretext/css/print-worksheet.css.map +++ b/_static/pretext/css/print-worksheet.css.map @@ -1,7 +1,7 @@ { "version": 3, - "sources": ["/root/.ptx/2.32.0/core/css/targets/print-worksheet.scss", "/root/.ptx/2.32.0/core/css/targets/../../fonts/_fonts-google.scss", "/root/.ptx/2.32.0/core/css/targets/../../components/chunks/_asides-basic.scss", "/root/.ptx/2.32.0/core/css/targets/../../components/chunks/_asides-floating.scss", "/root/.ptx/2.32.0/core/css/targets/../../components/chunks/_codelike.scss", "/root/.ptx/2.32.0/core/css/targets/../../components/helpers/_cols.scss", "/root/.ptx/2.32.0/core/css/targets/../../components/chunks/_exercises.scss", "/root/.ptx/2.32.0/core/css/targets/../../components/chunks/_solutions.scss", "/root/.ptx/2.32.0/core/css/targets/../../components/chunks/_sidebyside.scss", "/root/.ptx/2.32.0/core/css/targets/../../components/chunks/helpers/_inline-heading-mixin.scss", "/root/.ptx/2.32.0/core/css/targets/../../components/chunks/_discussion-inline.scss", "/root/.ptx/2.32.0/core/css/targets/../../components/chunks/_knowls.scss", "/root/.ptx/2.32.0/core/css/targets/_chunks-worksheet.scss", "/root/.ptx/2.32.0/core/css/targets/../../components/_spacing.scss", "/root/.ptx/2.32.0/core/css/targets/../../components/elements/_list-styles.scss", "/root/.ptx/2.32.0/core/css/targets/../../components/elements/_description-lists.scss", "/root/.ptx/2.32.0/core/css/targets/../../components/elements/_lists.scss", "/root/.ptx/2.32.0/core/css/targets/../../components/elements/_fillin.scss", "/root/.ptx/2.32.0/core/css/targets/../../components/elements/_headings.scss", "/root/.ptx/2.32.0/core/css/targets/../../components/elements/_links.scss", "/root/.ptx/2.32.0/core/css/targets/../../components/elements/_tables.scss", "/root/.ptx/2.32.0/core/css/targets/../../components/elements/_front-matter.scss", "/root/.ptx/2.32.0/core/css/targets/../../components/elements/_summary-links.scss", "/root/.ptx/2.32.0/core/css/targets/../../components/elements/_footnotes.scss", "/root/.ptx/2.32.0/core/css/targets/../../components/elements/_index.scss", "/root/.ptx/2.32.0/core/css/targets/../../components/elements/_media.scss", "/root/.ptx/2.32.0/core/css/targets/../../components/elements/_figures.scss", "/root/.ptx/2.32.0/core/css/targets/../../components/elements/_poem.scss", "/root/.ptx/2.32.0/core/css/targets/../../components/elements/_prism.scss", "/root/.ptx/2.32.0/core/css/targets/../../components/elements/_math.scss", "/root/.ptx/2.32.0/core/css/targets/../../components/elements/_permalinks.scss", "/root/.ptx/2.32.0/core/css/targets/../../components/elements/_misc-content.scss", "/root/.ptx/2.32.0/core/css/targets/../../components/_printing.scss", "/root/.ptx/2.32.0/core/css/targets/../../components/_worksheet.scss", "/root/.ptx/2.32.0/core/css/targets/../../components/_google-search.scss", "/root/.ptx/2.32.0/core/css/targets/../../components/_pretext-search.scss", "/root/.ptx/2.32.0/core/css/targets/../../components/helpers/_buttons-default.scss", "/root/.ptx/2.32.0/core/css/targets/../../components/interactives/_runestone.scss", "/root/.ptx/2.32.0/core/css/targets/../../components/interactives/_webwork.scss", "/root/.ptx/2.32.0/core/css/targets/../../components/interactives/_sagecell.scss", "/root/.ptx/2.32.0/core/css/targets/../../components/interactives/_calculators.scss", "/root/.ptx/2.32.0/core/css/targets/../../colors/_color-vars.scss", "/root/.ptx/2.32.0/core/css/targets/../../colors/_color-helpers.scss"], - "sourcesContent": ["/*! Theme: print-worksheet */\n\n// Used for print versions of worksheets (including their previews) for all themes\n\n// File is only included in standalone printable worksheet pages (the print preview pages).\n// Most rules apply to both screen and print; rules at the bottom of the file split into these two cases.\n\n// Also see:\n// components/_printing.scss : base rules for printing a standard PreTeXt page - removes UI\n// components/_worksheet.scss : rules that apply to worksheets in context and in print/preview.\n\n// Current maintainer: Oscar Levin\n\n// ---------------------------------------------\n// Grouping containers - based off of those in default-modern\n@use 'chunks-worksheet' with ($border-radius: 0);\n\n// Bring in the standard PreTeXt styles for components\n@use 'components/pretext';\n\n// Use underline style headings\n//@use 'components/elements/extras/heading-underlines';\n\n// Make sure fonts are available\n@use 'fonts/fonts-google';\n\n// For the print button\n@use 'components/helpers/buttons-default' as buttons;\n\n\n// Make sure we are including the root colors using simple black-and-white palette\n@use \"colors/color-helpers\" as colorHelpers;\n@use 'colors/palette-single' as palette with (\n $primary-color: black,\n);\n\n// render the actual colors\n@include colorHelpers.set-root-colors(palette.$colors);\n\n// ---------------------------------------------\n// concrete rules / includes that generate CSS\n\n// Set variables for default width and margins\n:root {\n --ws-width: 8.5in; // Default width for worksheets\n --ws-height: 11in; // Default height for worksheets\n --ws-top-margin: 40px; // Default top margin for worksheets\n --ws-right-margin: 55px; // Default right margin for worksheets\n --ws-bottom-margin: 45px; // Default bottom margin for worksheets\n --ws-left-margin: 45px; // Default left margin for worksheets\n\n --ws-content-width: calc(var(--ws-width) - var(--ws-right-margin) - var(--ws-left-margin));\n --ws-content-height: calc(var(--ws-height) - var(--ws-top-margin) - var(--ws-bottom-margin));\n}\n\n\n\n\n// Remove surrounding UI elements\n .pretext .ptx-masthead,\n .pretext .ptx-navbar,\n body.pretext > a.assistive,\n .pretext .ptx-page > .ptx-sidebar,\n .pretext .ptx-page-footer,\n .pretext .ptx-main > div.ptx-content-footer {\n display:none;\n }\n\n // Remove the print preview link\n.heading .print-links {\n display: none;\n}\n\n .autopermalink {\n display: none;\n}\n\n// Some elements don't make sense to print:\n// image descriptions\n// webwork \"activate\" buttons\n// buttons in general (to remove Runestone \"Check Me\" button)\n// We remove these here.\ndetails.image-description,\n.ptx-content .webwork-button,\n.ptx-runestone-container button.btn {\n display: none;\n}\n\n\n// Set font appropriate for printing\nsection.worksheet, section.handout {\n font-size: 11pt;\n font-family: var(--font-print);\n}\n\n// .onepage is the common class that wraps all content in a single worksheet page (often modified by the javascript)\n .onepage > .heading {\n margin-top: 0;\n font-size: 1.3em;\n}\n\n.onepage .instructions {\n display: none;\n}\n\n\n// Try to make an open solution knowl look less strange. Eventually the print version of worksheets should create HTML that isn't a details element.\nsummary::marker {\n content: \"\";\n}\n\nsummary {\n font-weight: bolder;\n display: inline;\n}\n\n.knowl__content {\n display: inline;\n margin: unset;\n border: none;\n padding: 3px 0;\n background-color: unset;\n}\n\n.knowl__link {\n all: unset\n}\n\n.code-inline {\n border: unset;\n background: unset;\n}\n\n.onepage article {\n padding-left: 0;\n border: none;\n}\n\n.onepage article::after {\n all: unset;\n}\n\n.onepage > .para:first-child,\n.onepage > article:first-child {\n margin-top: 0;\n}\n\n\n// Some headings have larger top-margins than their parent section, so we fix that here.\n.onepage > section > .heading {\n margin-top: 0;\n}\n\n// tasks might be \"free-floating\" articles, in which case they should get the same indenting as tasks inside exercises.\n section article.task {\n margin-left: 20px;\n}\n\nsection.worksheet > .heading, section.handout > .heading {\n display: inline;\n font-size: 1.1em;\n}\n\nsection.worksheet > .heading + .para, section.handout > .heading + .para {\n display: inline;\n}\n\n.introduction, .conclusion {\n > .heading {\n font-size: 1.1em;\n font-weight: bold;\n margin-bottom: 0;\n border-bottom: none;\n + .para {\n margin-top: 0.5em;\n }\n }\n}\n\nform.papersize-select {\n padding-bottom: 8px;\n}\n\n\n\n\n// Screen specific styles (mostly for showing the border around a worksheet with it's \"margins\" and for the print controls)\n@media screen {\n .ptx-main {\n max-width: var(--ws-width);\n margin: 50px auto;\n }\n\n .worksheet, .handout {\n max-width: var(--ws-width);\n margin: 0 auto;\n }\n\n .onepage {\n width: 100%;\n height: var(--ws-height);\n padding: var(--ws-top-margin) var(--ws-right-margin) var(--ws-bottom-margin) var(--ws-left-margin);\n box-shadow: 5px 10px 40px -10px;\n }\n\n // Set space between pages\n .onepage + .onepage {\n margin-top: 2.5em;\n }\n\n\n .workspace-container {\n display: flex;\n overflow: visible;\n }\n\n .workspace {\n width: 100%;\n }\n\n .highlight-workspace .onepage .workspace {\n border: 1px dashed grey;\n background: hsl(224, 100%, 95%);\n }\n\n // Normally, the .workspace.original is hidden in the print preview, but if the highlight-workspace checkbox is checked, it will be shown.\n .onepage .original-workspace {\n display: none;\n }\n\n .highlight-workspace .onepage .original-workspace {\n display:block;\n width: 10px;\n background: hsl(152, 29%, 65%);\n }\n\n .highlight-workspace .onepage .warning {\n background: hsl(36, 65%, 67%);\n }\n\n .print-button {\n @include buttons.ptx-button;\n }\n\n .papersize-select {\n z-index: 1;\n .name::after {\n content: \": \";\n }\n }\n\n .print-controls {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding-bottom: 1em;\n }\n}\n\n\n\n// Print specific styles\n@media print {\n body {\n margin: 0;\n padding: 0;\n width: var(--ws-content-width);\n }\n\n .print-preview-header {\n display: none;\n }\n\n section.worksheet, section.handout {\n border: none;\n width: 100%;\n\n .onepage {\n margin-top: 0;\n width: 100%;\n height: var(--ws-content-height);\n overflow: hidden;\n page-break-after: always;\n page-break-inside: avoid;\n }\n // Never show the workspace preview in print\n div.workspace,\n div.workspace.squashed.tight {\n border: none;\n padding: 0;\n background: none !important;\n }\n }\n\n a {\n color: black;\n }\n\n @page {\n // Note: when we allow custom margins, the javascript will need to change these defaults.\n // Default margins appear to be necessary for Firefox and Safari (Chrome already works with the variable values).\n margin: var(--ws-top-margin, 40px) var(--ws-right-margin, 55px) var(--ws-bottom-margin, 45px) var(--ws-left-margin, 45px);\n }\n}\n", "@use \"sass:map\";\n@use \"sass:string\";\n@use \"sass:list\";\n\n// Fonts to use\n$body: 'Open Sans, Helvetica Neue, Helvetica, Arial, sans-serif' !default;\n$heading: 'PT Serif, Times New Roman, Times, serif' !default;\n$monospace: 'Inconsolata, Consolas, Monaco, monospace;' !default;\n$print: 'PT Serif, Times New Roman, Times, serif' !default;\n\n@function is-variable-font($font-name) {\n $static-fonts: ('PT Serif'); // list of known static fonts used by themes\n @if list.index($font-name, $static-fonts) {\n @return false;\n }\n @return true;\n}\n\n@function generate-import($font-name) {\n @if is-variable-font($font-name) {\n @return 'https://fonts.googleapis.com/css2?family=' + $font-name + ':ital,wght@0,400..700;1,400..700&display=swap';\n }\n @else {\n @return 'https://fonts.googleapis.com/css2?family=' + $font-name + ':ital,wght@0,400;0,700;1,400;1,700&display=swap';\n }\n}\n\n// For now, only try to fetch the first name in the list and assume\n// the rest are system defined fallbacks.\n// lists are 1-indexed\n$body-font: list.nth(string.split($body, ','), 1);\n// @debug \"----------------\" $body-font;\n@import url( generate-import($body-font) );\n\n$heading-font: list.nth(string.split($heading, ','), 1);\n// generate-import($heading-font);\n@import url( generate-import($heading-font) );\n\n$monospace-font: list.nth(string.split($monospace, ','), 1);\n// generate-import($monospace-font);\n@import url( generate-import($monospace-font) );\n\n:root {\n --font-body: #{$body};\n}\n:root {\n --font-headings: #{$heading};\n}\n:root {\n --font-monospace: #{$monospace};\n}\n:root {\n --font-print: #{$print};\n}\n\n// 9/5/24 ... TODO controlled list of fonts ... wait and explore later\n// // Available fonts\n// $serif-options: ('Alegreya', 'Merriweather', 'Noto Serif', 'PT Serif', 'Source Serif 4');\n// $sans-options: ('Alegreya Sans', 'Barlow', 'Lato', 'Open Sans', 'Roboto', 'Source Sans 3');\n// $code-options: ('Inconsolata');\n\n// // Backup lists\n// $sans-backups: ', Helvetica Neue, Helvetica, Arial, sans-serif';\n// $serif-backups: ', Times New Roman, Times, serif';\n\n// // ---------------------------------------------------------\n\n\n// @function add-fonts($list, $backups, $fonts: ()) {\n// @each $font in $list {\n// $fonts: map.set($fonts, $font, (\n// url: '\"https://fonts.googleapis.com/css2?family=#{$font}:wdth,wght@75..100,300..800&display=swap\"',\n// fontlist: $font + $backups,\n// ));\n// }\n// @return $fonts;\n// }\n\n// $fonts: add-fonts($sans-options, $sans-backups);\n// $fonts: add-fonts($serif-options, $sans-backups, $fonts);\n\n// $bodyfont: map.get($fonts, $body);\n// @if not $bodyfont {\n// @error \"Unknown body font: #{$body}\";\n// } @else {\n// @import url(#{map.get($bodyfont, \"url\")});\n// :root {\n// --font-body: #{map.get($bodyfont, \"fontlist\")};\n// }\n// }\n\n// $headingfont: map.get($fonts, $heading);\n// @if not $headingfont {\n// @error \"Unknown heading font: #{$heading}\";\n// } @else {\n// @import url(#{map.get($headingfont, \"url\")});\n// :root {\n// --font-headings: #{map.get($headingfont, \"fontlist\")};\n// }\n// }\n", "$border-width: 2px !default;\n$side-margins: 30px !default;\n\n.aside-like {\n & > .knowl__link {\n color: var(--aside-like-link-color);\n border-bottom-color: var(--aside-like-link-color);\n }\n & > .knowl__content{\n margin-left: $side-margins;\n margin-right: $side-margins;\n border: $border-width solid var(--aside-like-border-color);\n background-color: var(--aside-like-body-background);\n }\n}", "$float-width: 200px !default;\n$float-offset: -248px !default;\n$min-float-width: 1280px !default;\n\n@use 'asides-basic';\n\n@media screen and (min-width: $min-float-width) {\n details.aside-like {\n position: relative;\n margin-left: $float-offset;\n width: $float-width;\n right: $float-offset;\n float: right;\n clear: right;\n }\n\n /* disable in any multicolumn list/exercisegroup */\n .multicolumn details.aside-like {\n position: relative;\n margin-left: inherit;\n width: auto;\n right: 0;\n float: none;\n clear: none;\n }\n\n details.aside-like > .knowl__content {\n margin-left:0;\n margin-right:0;\n background-color: var(--aside-like-body-background);\n z-index: 100;\n }\n}", "@mixin code-text {\n font-family: var(--font-monospace);\n background: var(--code-background);\n font-size: .93rem;\n line-height: 1.2;\n}\n\n@mixin code-inline-spacing {\n line-height: normal; //prevent extra \"padding\" based on line-height\n padding: 0.0625em .15em;\n}\n\n// wide programs need to be scrollable\n.code-box {\n overflow-x: auto;\n}\n\n.code-display {\n overflow-x: auto; //scroll if overflowing\n font-family: var(--font-monospace);\n}\n\n.console,\n.program {\n border: 1px solid var(--page-border-color);\n padding: 5px 15px;\n overflow-x: auto;\n margin: 0;\n @include code-text();\n}\n\n.code-inline {\n font-family: var(--font-monospace);\n white-space: pre;\n color: var(--body-text-color);\n background: var(--code-inline-background);\n border: 1px solid color-mix(in oklab, var(--code-inline-background) 50%, #888);\n border-radius: 0.2em;\n display: inline-block;\n overflow-x: auto;\n max-width: 100%;\n vertical-align: middle;\n @include code-inline-spacing();\n}\n\n\n.prompt.unselectable {\n user-select: none;\n}\n\n// code blocks are preformatted text that is not a program\n.code-block {\n border-left: 1px solid #aaa;\n padding: 0 15px 5px;\n overflow-x: auto;\n background: var(--code-background);\n margin-top: 0;\n margin-bottom: 0;\n @include code-text();\n}\n\n.code-block::before {\n content:' ';\n font-size: 50%;\n border-top: 1px solid #aaa;\n display: block;\n margin-right: auto;\n margin-left: -15px;\n width: 3.0em;\n}\n\n// special handling for code-display as it appears inside .paras\n// and may need space around it\n.code-display {\n margin: 0.5em 0;\n}\n// if inside clipboardable, move margin to that container and turn some into padding\n// to help make sure clipboard icon is contained inside the code-display in dark mode\n.clipboardable:has(.code-display) {\n margin: 0.25em 0;\n\n .code-display {\n margin: 0;\n padding: 0.25em 0;\n }\n}\n\n\n.clipboardable {\n position: relative; // To anchor the code-copy button\n display: flow-root;\n\n .code-copy {\n position: absolute;\n right: 0;\n top: 0;\n opacity: 0.25;\n border-width: 0;\n background: none;\n cursor: pointer;\n z-index: 1;\n white-space-collapse: collapse;\n padding: 1px;\n scale: 0.85;\n\n &:hover {\n opacity: 0.7;\n }\n\n .checkmark {\n display: none;\n }\n\n &.copied {\n opacity: 1;\n color: mediumseagreen;\n cursor: not-allowed;\n pointer-events: none;\n\n .copyicon {\n display: none;\n }\n\n .checkmark {\n display: inline;\n }\n }\n }\n}\n\n@media print {\n .code-copy {\n display: none;\n }\n}\n", "\n// columns are arranged in row-major order to match print output in LaTeX\n:is(.cols2, .cols3, .cols4, .cols5, .cols6) {\n display: flex;\n flex-wrap: wrap;\n justify-content: start;\n}\n\n// see lists and exercises for sample use\n@mixin allow-cols($el, $col-gap: 2em) {\n @for $i from 2 through 6 {\n .cols#{$i} > #{$el} {\n // columns are a suggestion enforced by a minimum size\n // content that needs to be wider can reduce number of columns\n // in its row\n min-width: calc(100% / $i - #{$col-gap});\n width: min-content;\n margin-right: $col-gap;\n }\n }\n}\n\n", "@use '../helpers/cols';\n\n// generate multi column rules for exercises\n@include cols.allow-cols('.exercise-like');\n\n.exercise-like > .heading {\n // exercise heading/numbers regular size\n font-size: inherit;\n}\n\n.exercisegroup {\n\n .exercise-like {\n margin-top: 1em;\n }\n\n > .heading {\n font-size: 1.10em;\n line-height: 1.05em;\n margin-top: 0.75em;\n display: inline;\n\n & + .introduction {\n display: inline;\n\n & > .para:first-child {\n display: inline;\n }\n }\n }\n\n // push the actual exercises down from any possible heading/intro\n .exercisegroup-exercises {\n margin-top: 1em;\n \n //indent items with padding so cols works correctly on them\n padding-left: 40px;\n }\n\n .conclusion {\n margin-left: 40px; // match the padding of the exercisegroup-exercises\n \n .heading {\n // exercise heading/numbers regular size\n font-size: inherit;\n } \n }\n}\n\n// subtasks are indented\n.exercise-like > .exercise-like.task {\n margin-left: 20px;\n}\n\n\n\n// ---------------------------------------------------------\n// exercise-wrapper is used for WW problems\n// these rules need testing/refactoring\n\n.exercise-wrapper form button:hover {\n cursor: pointer;\n background-color: #e0e0ff;\n border: 1px solid #000;\n}\n.exercise-wrapper form button:active {\n background-color: #f0f0f0;\n}\n.exercise-wrapper form button + button {\n margin-left: 0.8em;\n}\n\n.exercise-wrapper,\n.exercise-wrapper form,\n.exercise-wrapper form > div:first-child {\n display: inline-block;\n vertical-align: top;\n width: 100%; /* for live ww to open at 100% wide */\n}\n\n.knowl .exercise-wrapper,\n.knowl .exercise-wrapper form,\n.knowl .exercise-wrapper form > div:first-child {\n width: 100%;\n}\n\n.exercise-wrapper > .para:first-child,\n.exercisegroup .exercise-wrapper > .para:first-child {\n margin-top: 0;\n display: inline;\n}\n\n/* next is related to having exercises start in-line with their exercise number,\n including when a static WW problem is made interactive */\n/* not sure this was the right way to do it */\n/* see https://opentext.uleth.ca/apex-calculus/sec_antider.html#exercise-722 */\n.heading + .exercise-wrapper {\n display: inline-block;\n max-width: 95%;\n width: 100%;\n}\n\n.cols2 .heading + .exercise-wrapper {\n width: auto;\n}\n", "// \n\n/* stacked headings in the solutions backmatter */\nsection.solutions > .heading + .heading {\n margin-top: 0.5em;\n}\n\nsection.solutions > h3.heading,\nsection.solutions section > h3.heading {\n font-size: 1.6em;\n}\n\nsection.solutions > h4.heading,\nsection.solutions section > h4.heading {\n font-size: 1.45em;\n}\n\nsection.solutions > h5.heading,\nsection.solutions section > h5.heading {\n font-size: 1.35em;\n}\n\nsection.solutions > h6.heading,\nsection.solutions section > h6.heading {\n font-size: 1.25em;\n}\n", "// Space all rows in a sbsgroup, no other styling\n.sbsgroup > *:not(:first-child)\n{\n margin-top: 1.5em;\n}\n\n\n// sidebysides get laid out into a grid with two rows. \"Plain panels\" without\n// a caption are in the first row. Panels with things like tables/figures with\n// captions we want to align are decomposed across two rows.\n// If there is no content (no captions) in a second row, it will collapse.\n\n// 1| plain panel | figure-like/table-like\n// 2| | figcaption\n.sbsrow {\n display: grid;\n grid-template-rows: auto auto;\n}\n\n.sbspanel {\n // most sbspanels are in the first row\n grid-row: 1; \n\n // tables and their captions get centered when in panels\n & > .table > figcaption {\n text-align: center;\n }\n .tabular {\n overflow-x: auto;\n margin-left: auto;\n margin-right: auto;\n }\n}\n\n\n// panel content alignment options\n.sbspanel--top {\n align-self: start;\n}\n\n.sbspanel--middle {\n align-self: center;\n}\n\n.sbspanel--bottom {\n align-self: end;\n}\n\n\n// sbspanels with figures or tables get decomposed into two rows\n// both the panel and the figure-like/table-like element should\n// be ignored by the grid layout so we can place the items inside\n// the *-like into the grid\n.sbspanel:has(.figure-like, .table-like),\n.sbspanel > :is(.figure-like, .table-like) {\n display: contents;\n}\n\n\n// first child of decomposed *-like goes to the first row\n.sbspanel > :is(.figure-like, .table-like) > *:first-child {\n grid-row: 1;\n align-items: start;\n align-self: start;\n}\n\n// and gets alignment info\n.sbspanel--top > :is(.figure-like, .table-like) > *:first-child {\n align-items: start;\n align-self: start;\n}\n\n.sbspanel--middle > :is(.figure-like, .table-like) > *:first-child {\n align-items: center;\n align-self: center;\n}\n\n.sbspanel--bottom > :is(.figure-like, .table-like) > *:first-child {\n align-items: end;\n align-self: end;\n}\n\n\n// second child of decomposed *-like goes to the second row\n.sbspanel > :is(.figure-like, .table-like) > *:nth-child(2) {\n margin-top: 0.5em;\n grid-row: 2;\n width: 100%;\n}\n\n\n// make sure content for a panel stays in the correct column\n// otherwise captions may shift left into columns that do not have\n// second row content\n@for $col from 2 through 10 {\n .sbspanel:nth-of-type(#{$col}) * {\n grid-column: #{$col};\n }\n}", "// Generate styles for an inline heading\n@mixin heading {\n & > .heading:first-child {\n display: inline;\n line-height: initial;\n border-bottom: 0; // disable underline that may come from underlined headings\n\n &:after {\n content: \"\\2009\";\n }\n\n // Following sibling also needs to be inline for heading to line up correctly\n // For now limit to logical paragraphs and introductions as they seem to cover\n // the plain text cases. Not clear we would want same treatment for other\n // kinds of content\n & + :is(.para, .para.logical, .introduction) {\n display: inline;\n // possible first child that is the actual text\n & > .para:first-child {\n display: inline;\n }\n // an introduction could have a para.logical with a para\n & > .para.logical:first-child > .para:first-child {\n display: inline;\n }\n }\n }\n}\n", "@use './helpers/inline-heading-mixin';\n\n.discussion-like {\n @include inline-heading-mixin.heading;\n & > .heading {\n ::after {\n content: \"\\2009\";\n }\n\n & + .para {\n display: inline;\n }\n\n .space,\n .codenumber,\n .period {\n display: none;\n }\n\n .type::after {\n content: \". \";\n }\n }\n}\n", "/*\n main knowls styles\n*/\n\n$border-radius: 0px !default;\n$border-width: 3px !default;\n$pad: 12px !default;\n\n.source-view__link,\n.knowl__link {\n cursor: pointer;\n margin-left: 0.1em;\n margin-right: 0.1em;\n color: var(--knowl-link-color);\n border-bottom: 1px dotted var(--knowl-link-color);\n}\n\n.source-view {\n margin: 0.5em 0;\n}\n\nsummary.source-view__link,\nsummary.knowl__link {\n display: list-item inline;\n}\n\n.source-view__link > *,\n.knowl__link > * {\n display: inline;\n}\n\n.source-view__link:is(:hover, :focus, [open]),\n.knowl__link:is(:hover, :focus, [open]) {\n background-color: var(--knowl-background);\n border-bottom-color: transparent;\n}\n\n.source-view__content {\n margin: 0.2em 0;\n}\n\n.knowl__content {\n margin: 0.75em 0; //at least this much space above/below\n border: $border-width solid var(--knowl-border-color);\n border-radius: $border-radius;\n padding: $pad;\n background-color: var(--knowl-background);\n\n .incontext {\n display: block;\n font-size: 85%;\n text-align: right;\n }\n}\n\n/* nested knowl alt colors */\n.knowl__content .knowl__content {\n background-color: var(--knowl-nested-1-background);\n}\n\n.knowl__content .knowl__content .knowl__content {\n background-color: var(--knowl-nested-2-background);\n}\n\n.knowl__content .knowl__content .knowl__content .knowl__content {\n background-color: var(--knowl-nested-3-background);\n}\n\n.knowl__content .knowl__content .knowl__content .knowl__content .knowl__content {\n background-color: var(--knowl-nested-4-background);\n}\n\n\n/* spacing tweaks inside knowls */\n.knowl__content > figure {\n margin-left: 0;\n margin-right: 0;\n}\n", "// Standard collection of chunks. This file should only be modified\n// to fix bugs or improve the default-modern theme. If you want to\n// make changes for use in some other theme, create a _chunks-XXX file\n// in that theme's directory.\n\n$border-radius: 8px !default;\n\n// One stop include for default style content blocks\n@use 'components/chunks/asides-floating';\n@use 'components/chunks/codelike';\n@use 'components/chunks/exercises';\n@use 'components/chunks/solutions';\n@use 'components/chunks/sidebyside';\n@use 'components/chunks/discussion-inline';\n@use 'components/chunks/knowls' with ($border-radius: $border-radius);\n\n@use 'components/chunks/helpers/inline-heading-mixin';\n\n\n.theorem-like,\n.definition-like,\n.example-like,\n.project-like,\n.remark-like,\n.openproblem-like,\n.computation-like,\n.assemblage-like {\n > .heading {\n display: block;\n font-size: 1.1em;\n }\n}\n\n.proof {\n padding-bottom: 1.5em;\n &::after {\n content: \"□\";\n float: right;\n }\n\n .heading {\n font-size: unset;\n font-weight: bold;\n font-style: italic;\n }\n}\n\n.solution-like {\n .heading {\n display: inline;\n font-style: italic;\n font-size: unset;\n }\n}\n\n\n .goal-like {\n border: none;\n padding: 0;\n}\n\n.goal-like > .heading {\n margin-top: -0.5em;\n padding: 0;\n margin: 0;\n font-size: 1.1em;\n}\n\n.paragraphs,\narticle {\n @include inline-heading-mixin.heading;\n}\n", "// Basic spacing for content\n\n// Breakpoint at which the navbar moves to the bottom of the screen\n$navbar-breakpoint: 800px !default;\n\n// all styling assumes border-box layout measurement\n* {\n box-sizing: border-box;\n}\n\n//----------------------------------------------------------\n// Inter item vertical spacing\n//\n// Set some baseline minimal inter-item vertical spacings\n//\n// Individual items can override this with their own margin. The\n// user of @layer here forces these rules to all have less precedence\n// than any rules not in a layer.\n// Most spacing should be done with margin-top.\n\n@layer spacing {\n // inter-item spacing high level containers\n :is(section, article, .knowl__content) > *:not(:first-child) {\n margin-top: 1.5em;\n }\n\n // but tighten up spacing slightly for adjacent paragraphs in a section\n :is(section, article, .knowl__content) > .para + .para {\n margin-top: 1em;\n }\n\n // lower-level container elements that are expected to contain sequences of items\n // tighter spacing here to avoid visually breaking up the minor container\n .ptx-content :is(ul, td, li, dd, .blockquote, .sbspanel, .para.logical) > *:not(:first-child) {\n margin-top: 0.5em;\n }\n}", "// Types of ol/ul - used by web and ebooks\n// Any spacing should be in _lists.scss, not here\n\nol.no-marker,\nul.no-marker,\nli.no-marker {\n list-style-type: none;\n}\n\nol.decimal {\n list-style-type: decimal;\n}\n\nol.lower-alpha {\n list-style-type: lower-alpha;\n}\n\n// Match LaTeX style for second level (i.e. level=\"1\") lists\nol.lower-alpha-level-1 > li::marker {\n content: \"(\"counter(list-item,lower-alpha)\") \";\n}\n\nol.upper-alpha {\n list-style-type: upper-alpha;\n}\n\nol.lower-roman {\n list-style-type: lower-roman;\n}\n\nol.upper-roman {\n list-style-type: upper-roman;\n}\n\nul.disc {\n list-style-type: disc;\n}\n\nul.square {\n list-style-type: square;\n}\n\nul.circle {\n list-style-type: circle;\n}\n", "/* dl is used for glossaries and descriptions lists.\n Glossaries are simple: bold word by itself on a line.\n Definition indented on the next line.\n Vertical space before the next term.\n\n Description lists are more complicated. The wider version\n (refering to the horizontal indentation of the definition;\n this is the default)\n has the (wrapped) term inline with the definition.\n\n The narrow version is complicated because the term is inline\n with its definition if it fits, otherwise it is on the line above.\n That means the vertical space between entries can't be handled by\n a top margin on the dt. Instead we have an ::after on the dd .\n */\n\ndl:is(.description-list, .glossary) {\n margin: 0;\n //overflow: hidden; // Removed to show permalinks\n\n dt {\n font-weight: bold;\n max-width: 55ex;\n }\n\n dd::after {\n content: \"\";\n display: block;\n clear: both;\n }\n}\n\n.para > dl:is(.description-list) {\n // add some space when inside a .para\n margin-top: 0.5em;\n margin-bottom: 0.5em;\n}\n\ndl.glossary {\n dt {\n margin-top: 1.25em;\n\n &:first-of-type {\n margin-top: 0;\n }\n }\n\n dd {\n margin-left: 5ex;\n }\n}\n\ndl.description-list {\n\n dt,\n dd {\n margin-top: 1em;\n\n &:first-of-type {\n margin-top: 0;\n }\n }\n\n dt {\n float: left;\n clear: both;\n text-align: right;\n width: 18ex;\n margin-right: 1ex;\n }\n\n dd {\n margin-left: 22ex;\n }\n\n &.narrow {\n dt {\n width: 11ex;\n }\n\n dd {\n margin-left: 15ex;\n }\n }\n\n &.wide {\n dt {\n width: 25ex;\n }\n\n dd {\n margin-left: 29ex;\n }\n }\n}\n\ndl.description-list dt:first-of-type {\n clear: none;\n}\n\n.description-list + * {\n clear: both;\n}\n\n/* where do we have nested dl? */\ndl.description-list dl dt {\n width: 8ex;\n}\n\ndl.description-list dd dd {\n margin-left: 18ex;\n}\n\ndl.description-list dl dd {\n margin-left: 12ex;\n}\n\n\n@media screen and (max-width: 480px) {\n dl.description-list dt {\n float: none;\n margin-left: 0;\n text-align: left;\n }\n\n dl.description-list dd,\n dl.description-list.narrow dd,\n dl.description-list.wide dd {\n margin-top: 0.5em;\n margin-left: 3em;\n max-width: calc(100% - 3em);\n }\n}\n", "// Entry point for ol/ul/dl web styling\n\n@use \"list-styles\";\n@use \"description-lists\";\n@use '../helpers/cols';\n\n// generate multi column rules for lists\n@include cols.allow-cols('li');\n\n// use .ptx-content to avoid styling lists in toc/header/etc...\n.ptx-content {\n ol,\n ul {\n\n ol,\n ul {\n // margin-top: 0.5em;\n }\n }\n\n li {\n margin-top: 0.5em;\n // margin-bottom: 0;\n\n // & > .para:first-child {\n // margin-top: 0;\n // }\n\n .li--heading-title {\n font-size: 100%;\n font-weight: normal;\n font-style: italic;\n }\n }\n} // .ptx-content\n\n.para > :is(ol, ul) {\n // add some space when inside a .para\n margin-top: 0.5em;\n margin-bottom: 0.5em;\n}\n\n// provide space for custom markers\nol > li {\n padding-left: 0.25em;\n}\n", "\n.fillin {\n display: inline-block;\n border: none;\n border-width: 1px;\n margin-right: 0.1em;\n margin-left: 0.1em;\n margin-bottom: -0.25em;\n\n &.underline {\n border-bottom-style: solid;\n border-width: 1px;\n }\n\n &.box {\n outline: 1px solid var(--body-text-color);\n height: 1.3em;\n }\n\n &.shade {\n background-color: var(--fillin-background-color, #eee);\n height: 1.3em;\n }\n}\n\n\n:root.dark-mode {\n --fillin-background-color: #444;\n}\n", "// headings for standard page elements - sections/articles/etc...\n// more specialized headings (exercises) should be defined in the specific component\n// complex stylizing (like boxes) should be done by \"chunks\"\n\n// reset size/margin for headings\n.heading:is(h1, h2, h3, h4, h5, h6) {\n margin: 0;\n font-size: unset;\n}\n\n.heading {\n line-height: 1.1;\n font-family: var(--font-headings);\n font-weight: 700;\n margin-top: 0;\n margin-bottom: 0;\n}\n\nsection > .heading {\n font-size: 1.75em;\n color: var(--body-title-color);\n line-height: 1.25em;\n margin-top: 2.5em;\n margin-bottom: 0.5em;\n\n // pull in any following items that default to a larger top margin\n & + * {\n margin-top: 0.5em;\n }\n}\n\n.ptx-content > section > .heading {\n //first heading on page\n margin-top: 0.5em;\n}\n\nsection section > .heading {\n font-size: 1.5em;\n margin-top: 2em;\n}\n\nsection section section > .heading {\n font-size: 1.40em;\n margin-top: 2em;\n}\n\n\narticle > .heading {\n font-size: 1.25em;\n margin-top: 1.5em;\n\n // pull in any following items that default to a larger top margin\n & + * {\n margin-top: 0.5em;\n }\n}\n\n.paragraphs > .heading {\n font-size: 1.125em;\n}\n\n// heading followed by no content and then a subsection that starts with heading\n:is(section, article) > .heading + :is(section, article) > .heading {\n margin-top: 0.5em;\n}\n\n// smaller headings on phone screens\n@media screen and (max-width: 480px) {\n section > .heading {\n font-size: 1.5em;\n line-height: 1.33em;\n margin-top: 1em;\n }\n section section > .heading {\n font-size: 1.3em;\n line-height: 1.15em;\n }\n section section section > .heading {\n font-size: 1.15em;\n line-height: 1em;\n }\n}\n\n.heading.hide-type > .type {\n display: none;\n}\n", "\n// Reset for all links\na {\n color: var(--link-text-color);\n text-decoration: none;\n\n &:hover,\n &:focus {\n text-decoration: none;\n }\n}\n\n\na[href^=\"mailto:\"] {\n white-space: pre;\n}\n\n\n// Body links. .ptx-content to avoid hitting navbar, toc, etc...\n.ptx-content {\n a.internal {\n color: var(--link-text-color);\n font-weight: bold;\n }\n a.external {\n color: var(--link-alt-text-color);\n font-weight: bold;\n }\n a.internal:hover, a.internal:hover *,\n a.internal:focus, a.internal:focus * {\n color: var(--link-active-text-color);\n background-color: var(--link-active-background);\n font-weight: bold;\n }\n a.external:hover, a.external:hover *,\n a.external:focus, a.external:focus * {\n color: var(--link-alt-active-text-color);\n background-color: var(--link-alt-active-background);\n font-weight: bold;\n }\n}\n", "// limit rules targeting basic elements to just content area\n.ptx-content {\n table {\n border-spacing: 0;\n border-collapse: collapse;\n }\n\n td {\n padding: 2px 5px;\n font-size: 90%;\n\n img {\n max-width: 200px;\n margin-right: 30px;\n }\n }\n\n th {\n padding: 2px 5px;\n }\n\n // generate alignment/border mixin classes for both th and td\n @each $cell-type in (th, td) {\n #{$cell-type} {\n .lines {\n white-space: nowrap;\n }\n\n // horizontal alignment options\n @each $class, $align in (l: left, c: center, r: right, j: justify) {\n &.#{$class} {\n text-align: $align;\n }\n }\n\n // vertical alignment options\n @each $class, $align in (t: top, b: bottom, m: middle) {\n &.#{$class} {\n vertical-align: $align;\n }\n }\n\n // border options\n @each $side, $side-symbol in (left: l, right: r, top: t, bottom: b) {\n @for $i from 0 through 3 {\n &.#{$side-symbol}#{$i} {\n @if $i ==0 {\n border-#{$side}: none;\n }\n\n @else {\n border-#{$side}: #{$i}px solid var(--body-text-color);\n }\n }\n }\n }\n }\n }\n\n\n // when cells do not have a border on left and right, add padding\n th.r0.l0,\n td.r0.l0 {\n padding-left: 0.8em;\n padding-right: 0.8em;\n }\n\n tr.header-vertical {\n th {\n writing-mode: vertical-rl;\n padding-left: 2em;\n }\n }\n\n .center {\n table {\n text-align: center;\n margin-left: auto;\n margin-right: auto;\n }\n }\n}\n\n// Rules with non-generic targeting\n\n.tabular-box {\n margin-top: 0.5em; //minimum space above to separate from figcaption\n overflow-x: auto;\n}\n\n.tabular-box.natural-width table {\n margin-left: auto;\n margin-right: auto;\n}\n\n// More specific types of tables\n\ntable.notation-list {\n tr {\n th {\n text-align: left;\n margin-left: 1em;\n }\n\n td {\n text-align: left;\n vertical-align: top;\n }\n }\n}\n\n\n\n", "// Styles for the items that are (at least generally) a part of the front matter\n// There are some pretty generic class names. Those get wrapped with a class\n// limiting their scope to the expected page\n\n.frontmatter {\n & > .heading {\n display: block;\n text-align: center;\n }\n\n & > .heading .title,\n .book > .heading .title {\n font-size: 1.3em;\n }\n\n & > .heading .subtitle,\n .book > .heading .subtitle {\n display: block;\n font-weight: normal;\n color: var(--byline-color);\n font-size: 0.875em;\n line-height: 1.42857em;\n margin-top: 0.35714em;\n }\n\n & > .para:first-of-type {\n margin-top: 4em;\n }\n\n & > .author,\n & > .credit {\n margin-top: 2em;\n text-align: center;\n }\n\n .author:first-of-type {\n margin-top: 4em;\n }\n\n & > .author .author-name {\n font-size: 120%;\n }\n\n .date {\n display: block;\n margin-top: 2em;\n text-align: center;\n }\n\n .credit .title {\n font-size: 1em;\n }\n\n .credit .author {\n font-size: 0.9em;\n margin-top: 0.75em;\n }\n\n .author-info {\n font-size: 90%;\n }\n\n .summary-links {\n margin-top: 4em;\n }\n\n .abstract {\n margin: 4em 2em;\n }\n\n .keywords, .support {\n margin-top: 2em;\n }\n\n .abstract, .keywords, .support {\n & > .title {\n font-size: 1.125em;\n font-weight: 600;\n line-height: 1.125em;\n display: inline;\n }\n\n & > .title::after {\n content: \".\\2009\\2009\\2009\";\n }\n\n & > .title + .para {\n display: inline;\n }\n }\n\n .colophon {\n .copyright {\n margin-top: 2.5em;\n }\n\n .license {\n margin-top: 2.5em;\n }\n }\n}\n", "\n/* Start of division toc links */\n// .ptx-content to override _links rules\n.ptx-content .summary-links {\n font-family: var(--font-headings);\n display: block;\n margin-top: 1em;\n\n a {\n color: var(--summary-link-text-color);\n background: var(--summary-link-background);\n font-size: 1.5em;\n line-height: 1.25em;\n padding: 10px 20px;\n padding-right: 60px;\n border-radius: 3px;\n position: relative;\n display: block;\n font-weight: unset;\n\n .title{\n font-style: normal;\n }\n\n .codenumber {\n margin-right: 0.41667em;\n }\n\n &::after {\n // triangles\n right: 0.83333em;\n content: \"\";\n position: absolute;\n top: 50%;\n margin-top: -0.4em;\n width: 0;\n height: 0;\n border-top: 0.4em solid transparent;\n border-bottom: 0.4em solid transparent;\n border-left: 0.4em solid var(--summary-link-text-color);\n }\n\n &:hover {\n color: var(--summary-link-hover-text-color);\n background: var(--summary-link-hover-background);\n\n // need to override work done in _links\n * {\n color: var(--summary-link-hover-text-color);\n background: var(--summary-link-hover-background);\n }\n .title {\n font-weight: normal;\n }\n\n &::after {\n border-left: 0.4em solid var(--summary-link-hover-text-color);\n } \n } \n }\n\n ul {\n list-style-type: none;\n padding: 0;\n margin-top: 0;\n }\n\n li {\n margin-top: 5px;\n }\n}\n\n@media screen and (width <= 480px) {\n .ptx-content .summary-links a {\n //shrink on mobile\n font-size: 100%;\n line-height: 1.25em;\n }\n}\n", "$border-radius: 0px !default;\n\n.ptx-footnote {\n display: inline-block;\n position: relative;\n}\n\n.ptx-footnote[open] {\n display: contents;\n}\n\n\n.ptx-footnote[open] .ptx-footnote__number::before {\n font-size: smaller;\n content: \"[x]\";\n visibility: visible;\n vertical-align: super;\n}\n\n.ptx-footnote[open] .ptx-footnote__number sup {\n display: none;\n}\n\n.ptx-footnote__number {\n display: inline-block;\n cursor: pointer;\n min-width: 1em; //hopefully enough space...\n}\n\n.ptx-footnote__number::marker {\n content: \"\";\n}\n\n.ptx-footnote__contents {\n display: block;\n font-style: italic;\n background: var(--knowl-background);\n border-radius: $border-radius;\n padding: 8px;\n margin: 4px auto;\n width: fit-content;\n max-width: calc(100% - 60px);\n border: 2px solid var(--knowl-border-color);\n //reset color/weight/size in case used in block that changed them\n // e.g. theorem title in denver\n color: var(--body-text-color);\n font-weight: normal;\n font-size: var(1rem);\n}\n", "\n\n/* the index at the back of the book */\n// TODO - refactor\n\n\n.navbar .indexnav {\n position: absolute;\n top: 46px;\n right: 0;\n}\n\n.mininav {\n float: left;\n padding-top: 0.7ex;\n padding-left: 1ex;\n}\n\n\n.indexjump {\n margin-left: 1.5ex;\n margin-top: 0.2ex;\n padding-top: 0;\n float: left;\n line-height: 0.95;\n}\n\n.indexjump a {\n padding-left: 2.5px;\n padding-right: 0.5px;\n width: 2.5ex;\n/*\n* * omitted, because we put a space in the source\n* padding-right: 3px;\n* */\n margin-right: -1px;\n color: inherit;\n font-size: 80%;\n text-align: center;\n}\n.indexjump a::after{\n content: \"\";\n display: inline-block;\n}\n.indexjump a:nth-of-type(14){\n padding-left: 1.8ex;\n}\n.indexjump a:last-child {\n padding-right: 10px;\n}\n\n.indexjump a:hover {\n background: var(--activated-content-bg);\n}\n\n.indexitem {\n margin-top: 4px;\n}\n\n.subindexitem {\n margin-left: 2em;\n font-size: 95%;\n margin-top: -1px;\n}\n\n.subsubindexitem {\n margin-left: 3.5em;\n font-size: 95%;\n margin-top: -1px;\n}\n\n.indexknowl {\n margin-left: 0.11em;\n}\nem + .indexknowl {\n margin-left: -0.25em;\n}\n.indexknowl a {\n margin-left: 2em;\n}\n\n.indexitem .see,\n.subindexitem .see,\n.subsubindexitem .see {\n margin-left: 1em;\n margin-right: 0;\n}\n.indexitem .seealso,\n.subindexitem .seealso,\n.subsubindexitem .seealso {\n margin-left: 1em;\n margin-right: 0;\n}\n.indexitem .see em,\n.subindexitem .see em,\n.subsubindexitem .see em,\n.indexitem .seealso em,\n.subindexitem .seealso em,\n.subsubindexitem .seealso em {\n margin-right: 0.25em;\n font-style: italic;\n}\n/* note that multiple things after \"see\" are in separate spans */\n.indexitem .see + .see,\n.subindexitem .see + .see,\n.subsubindexitem .see + .see,\n.indexitem .seealso + .seealso,\n.subindexitem .seealso + .seealso,\n.subsubindexitem .seealso + .seealso {\n margin-left: 0;\n margin-right: 0;\n}\n\n.indexitem .indexknowl {\n font-size: 90%;\n}\n\n.indexitem [data-knowl], .subindexitem [data-knowl], .indexitem [data-knowl]:hover {\n padding-right: 2px;\n padding-left: 2px;\n}\n.indexknowl [data-knowl]:hover, .indexknowl .active[data-knowl] {\n margin-left: 2em;\n}\n\n.subindexitem .indexknowl {\n font-size: 95%;\n}\n.subsubindexitem .indexknowl {\n font-size: 95%;\n}\n\n.indexletter {\n margin-top: 1.5em;\n}\n", "// ---------------------------------------------\n// containers for images, audio, video, and asymptote\n.image-box,\n.audio-box,\n.video-box,\n.asymptote-box {\n position: relative;\n}\n\n.image-box .asymptote-box iframe.asymptote,\niframe.asymptote,\n.video-box .video,\n.video-box .video-poster {\n position: absolute; top: 0; left: 0; width: 100%; height: 100%;\n}\n\n// images in containers should grow to fit space\n.image-box img,\nimg.contained {\n width: 100%;\n}\n\n// ---------------------------------------------\n// images\n.ptx-content img, .ptx-content svg {\n // for body images in dark mode, we want to be able to force a light colored background\n // as most transparent images will assume that the background is white\n background: var(--ptx-image-bg);\n}\n// but mermaid svg should always have a transparent background\n.mermaid > svg {\n background: none;\n}\n\n.image-description {\n summary {\n list-style: none; // no marker\n cursor: pointer;\n }\n}\n\n// download links after an image\n.image-archive {\n margin: 0.75em auto 0;\n font-family: var(--font-monospace);\n justify-content: center;\n display: flex;\n gap: 0.5em;\n}\n\n// TODO - refactor mag_popup JS and CSS\n// was .ptx-content .image-box > img:not(.draw_on_me):not(.mag_popup)\n.image-box > img:not(.mag_popup) {\n cursor: zoom-in;\n}\n\nimg.mag_popup {\n border: 1px solid #666;\n box-shadow: 4px 6px 4px #999;\n cursor: zoom-out;\n}\n\n.mag_popup_container {\n width:100%;\n position:absolute;\n z-index:1001;\n overflow-x: visible;\n}\n\n// ---------------------------------------------\n// other\n.audio {\n width: 100%;\n}\n\n.video-poster {\n cursor: pointer;\n}\n", "figure {\n clear: both;\n position: relative;\n\n // override browser margins\n margin-left: 0;\n margin-right: 0;\n}\n\nfigcaption {\n margin-left: auto;\n margin-right: auto;\n margin-top: 0.5em;\n\n code.code-inline {\n white-space: pre;\n }\n \n .codenumber,\n .type {\n font-weight: 700;\n }\n\n // add n-dashes\n .codenumber::after,\n .type:last-of-type::after {\n content: \"\\2002\";\n }\n\n // make sure first para comes right after title\n .para:first-of-type {\n display: inline;\n }\n}\n\n// tables are inset\nfigure.table-like {\n margin-left: 30px;\n margin-right: 30px;\n\n // but lists can go full right\n .list {\n margin-right: 0;\n }\n}\n\n@media (max-width <= 943px){\n .figure-like {\n overflow-x: auto;\n }\n}\n", "/* style for poems */\n.poem {\n display: table;\n margin: 0 auto;\n width: auto;\n max-width: 90%;\n}\n\n.poem > .heading {\n display: block;\n text-align: center;\n}\n\nsection article.poem > .heading::after {\n content: \"\";\n}\n\n.poem > .heading > .title {\n font-weight: bold;\n font-size: 1.2em;\n line-height: 1.2em;\n}\n\n.poem .author {\n font-style: italic;\n margin-top: 0.75em;\n}\n\n.poem .author.left {\n text-align: left;\n}\n\n.poem .author.center {\n text-align: center;\n}\n\n.poem .author.right {\n text-align: right;\n}\n\n.poem .stanza > .heading {\n text-align: center;\n font-weight: bold;\n font-size: 1em;\n line-height: 1em;\n}\n\n.poem .stanza + .stanza {\n margin-top: 1em;\n}\n\n.poem .heading + .stanza {\n margin-top: 0.2em;\n}\n\n.poem .heading + .line {\n margin-top: 0.2em;\n}\n\n.poem .line.left {\n text-align: left;\n margin-left: 4em;\n text-indent: -4em;\n}\n\n.poem .line.center {\n text-align: center;\n}\n\n.poem .line.right {\n text-align: right;\n}\n\n.poem .tab {\n margin-left: 2em;\n}\n", "@use '../chunks/codelike';\n\n// Prism stylesheets built locally as default ones don't support light/dark switching\n// this is a merged version of the default and dark themes\n\n// Default prism styling\n// Blocks\npre[class*=\"language-\"] {\n margin: 0;\n overflow: auto;\n border: 1px solid #e1e1e1;\n}\n\n// Inline code\n:not(pre) > code[class*=\"language-\"] {\n padding: .1em;\n border-radius: .3em;\n white-space: normal;\n}\n\ncode[class*=\"language-\"],\npre[class*=\"language-\"] {\n color: black;\n background: #fdfdfd;\n text-shadow: none;\n font-family: var(--font-monospace);\n text-align: left;\n white-space: pre;\n word-spacing: normal;\n word-break: normal;\n word-wrap: normal;\n line-height: 1.2;\n tab-size: 4;\n hyphens: none;\n\n &.code-inline {\n // unclobber some inline code styles\n @include codelike.code-inline-spacing();\n }\n\n &::selection,\n & ::selection {\n background: #b3d4fc;\n }\n\n .token {\n \n &:is(.comment,\n .prolog,\n .doctype,\n .cdata) {\n color: #2a9716;\n }\n \n &.punctuation {\n color: #000;\n }\n \n &.namespace {\n opacity: .9;\n }\n \n &:is(.property,\n .tag,\n .boolean,\n .number,\n .constant,\n .symbol,\n .deleted) {\n color: rgb(41, 120, 15);\n }\n \n &:is(.selector,\n .attr-name,\n .string,\n .char,\n .builtin,\n .regex,\n .inserted) {\n color: #a11;\n }\n \n &:is(.operator,\n .entity,\n .url) {\n color: #000;\n background: none;\n }\n \n &:is(.atrule,\n .attr-value,\n .keyword) {\n color: #0679B7;\n }\n \n &.function,\n &.class-name {\n color: #30a;\n }\n \n &.important,\n &.variable {\n color: rgb(0, 0, 0);\n }\n \n \n &.important,\n &.bold {\n font-weight: bold;\n }\n \n &.italic {\n font-style: italic;\n }\n \n &.entity {\n cursor: help;\n }\n }\n \n // -------------------------------------------\n // Line numbers\n &.line-numbers {\n position: relative;\n padding-left: 3.8em;\n counter-reset: linenumber;\n overflow: auto;\n \n > code {\n position: relative;\n white-space: inherit\n }\n \n .line-numbers-rows {\n position: absolute;\n pointer-events: none;\n top: 0;\n font-size: 100%;\n left: -3.8em;\n width: 3em;\n letter-spacing: -1px;\n border-right: 1px solid #999;\n user-select: none\n }\n \n .line-numbers-rows > span {\n display: block;\n counter-increment: linenumber\n }\n \n .line-numbers-rows > span::before {\n content: counter(linenumber);\n color: #999;\n display: block;\n padding-right: .8em;\n text-align: right\n }\n }\n \n \n // -------------------------------------------\n // Line highlighting\n .line-highlight {\n position: absolute;\n margin-top: 4px; // tune to match padding of containing pre\n left: 0;\n right: 0;\n padding: inherit 0;\n font-size: inherit;\n background: hsla(24, 20%, 50%, 8%);\n pointer-events: none;\n line-height: inherit;\n white-space: pre\n }\n}\n\n// -------------------------------------------\n// Dark mode\n:root.dark-mode {\n \n /* Code blocks */\n pre[class*=\"language-\"] {\n border: 1px solid #3d3d3d;\n }\n \n \n // Darker styling to match Runesone's code mirror theme\n code[class*=\"language-\"],\n pre[class*=\"language-\"] {\n color: white;\n background: hsl(0, 0%, 8%);\n \n &::selection,\n & ::selection {\n background: hsl(200, 4%, 16%);\n }\n \n /* Make the tokens sit above the line highlight so the colours don't look faded. */\n .token {\n position: relative;\n z-index: 1;\n \n &:is(.comment,\n .prolog,\n .doctype,\n .cdata) {\n color: #68a950;\n }\n \n &.punctuation {\n color: white;\n opacity: 1;\n }\n \n &.namespace {\n opacity: .9;\n }\n \n &:is(.property,\n .tag,\n .boolean,\n .number,\n .constant,\n .symbol,\n .deleted) {\n color: #abc792;\n }\n \n &:is(.selector,\n .attr-name,\n .string,\n .char,\n .builtin,\n .regex,\n .inserted) {\n color: #ca9147;\n }\n \n &:is(.operator,\n .entity,\n .url) {\n color: white;\n }\n \n &:is(.atrule,\n .attr-value,\n .keyword) {\n color: #2d94fb;\n }\n \n &.function,\n &.class-name {\n color: #e3e1c2;\n }\n \n &.important,\n &.bold {\n font-weight: bold;\n }\n \n &.italic {\n font-style: italic;\n }\n \n &.entity {\n cursor: help;\n }\n \n }\n }\n \n .line-highlight {\n background: hsla(0, 0%, 33%, 10%);\n border-bottom: 1px dashed hsl(0, 0%, 33%);\n border-top: 1px dashed hsl(0, 0%, 33%);\n z-index: 0;\n }\n}\n\n@media print {\n code[class*=\"language-\"],\n pre[class*=\"language-\"] {\n .line-highlight {\n color-adjust: exact\n }\n }\n}\n", "// TODO - refactor\n\n.displaymath {\n overflow-x: auto;\n overflow-y: hidden;\n}\n\n.displaymath mjx-container[jax=\"CHTML\"][display=\"true\"] {\n margin: 0 0 0 0; // container is going to apply margin, so remove it from mjx-container\n padding-top: 2px; // Chrome sometimes clips the top 1-2 pixels of math after it has been scaled - provide room for that content\n}\n\n.process-math mjx-container svg {\n // remove the background that is normally applied to svg's by PreTeXt CSS\n // we use .process-math instead of .displaymath to get inline math as well.\n background: none;\n}\n\n// ?\n[data-knowl] > mjx-mrow .TEX-I {\n font-family: MJXZERO !important;\n font-style: normal !important;\n}\n\n/* remove this when MathJax fixes the bug that was setting the width to 0 */\n/* as in $x=0$. becomes $x=0\\text{.}$ */\n.knowl mjx-mtext > mjx-utext,\nmjx-mtext > mjx-utext {\n width: revert !important;\n}\nmjx-msup mjx-utext,\nmjx-msub mjx-utext {\n display: inline;\n}\n", "// TODO - refactor\n$opacity: 0.0 !default;\n\n/*\nSo that we can position things (like .autopermalink) absolutely wrt these items.\nAny element whose permalink should be positioned directly to the left of it\nshould be in this list.\n*/\nsection,\narticle,\nli,\nblockquote,\nfigcaption,\ndt,\n.exercisegroup,\n.discussion-like,\n.solution-like,\n.para {\n position: relative;\n}\n\n.autopermalink {\n position: absolute;\n display: inline-block;\n top: 0.5ex;\n left: -2em;\n font-size: 85%;\n // variable allows theme to set different opacities for dark/light\n opacity: var(--permalink-opacity, $opacity);\n transition: opacity 0.2s;\n margin-top: 0 !important;\n}\n\nli > .autopermalink {\n left: -3.5em;\n}\n\n.autopermalink > * {\n padding-left: 0.2em;\n padding-right: 0.2em;\n}\n\n\n// Move permalink for division titles etc a little bit lower\n.appendix > .autopermalink,\n.chapter > .autopermalink,\n.index > .autopermalink,\n.section > .autopermalink,\n.subsection > .autopermalink,\n.references > .autopermalink,\n.exercises > .autopermalink {\n top: 1.5ex;\n}\n\n// In some styles, the autopermalink for paras land right on the border line.\n// This is an attempt to fix that. TODO: find a more robust solution, maybe\n// using a variable for the left offset of paras inside blocks.\n.assemblage-like > .para > .autopermalink,\n.example-like > .para > .autopermalink,\n.example-like > .exercise-like > .autopermalink,\n.project-like > .para > .autopermalink,\n.project-like > .exercise-like > .autopermalink,\n.project-like > .exercise-like > .introduction > .para > .autopermalink,\n.project-like > .exercise-like > .conclusion > .para > .autopermalink,\n.remark-like > .para > .autopermalink {\n left: -2.9em;\n}\n\n\n.axiom-like, .example-like, .exercise-like, .solution-like, .assemblage-like, .definition-like, .remark-like, .project-like, .openproblem-like, .computation-like, .theorem-like, .proof, .case, li, dd {\n > .para:first-of-type > .autopermalink {\n display:none;\n }\n\n > .introduction > .para:first-of-type > .autopermalink {\n display:none;\n }\n}\n\n\n// Hover effects\n\n.ptx-content:has(.autopermalink:hover) .autopermalink {\n opacity: 0.2;\n}\n\n.ptx-content:has(.autopermalink:hover) .autopermalink:hover {\n opacity: 1;\n}\n\n.autopermalink:has(a:focus-visible) {\n opacity: 1;\n}\n\n.permalink-alert {\n position: absolute;\n top: -3em;\n left: 5em;\n padding: 1.5em 2em;\n background: var(--content-background);\n border: 3px solid var(--page-border-color);\n z-index: 2001;\n}\n\n\n/* when jumping to a permalink, push down so sticky navbar does not cover */\n:target {\n scroll-margin-top: 45px;\n // the \"pink flash\" when navigating to a target\n animation: target-fade 10s 1;\n}\n\n@keyframes target-fade {\n 0% { background-color: var(--activated-content-bg) }\n 100% {\n background-color: inherit;\n opacity: 1;\n }\n}\n", "\n// Miscellaneous stylized content blocks that are not complex enough\n// to warrant their own file\n\nem.alert {\n font-weight: bold;\n}\n\n.bib {\n margin-top: 0.25em;\n\n .bibitem {\n display: inline-block;\n vertical-align: top;\n width: 7%;\n margin-right: 0;\n }\n \n .bibitem + .bibentry {\n display: inline-block;\n width: 90%;\n margin-top: 0;\n }\n}\n\n\n\n.caption {\n margin-top: 10px;\n margin-left: auto;\n margin-right: auto;\n font-size: 100%;\n text-align: center;\n}\n\n\n.contributor {\n margin-top: 1.5ex;\n\n &:first-child {\n margin-top: 0em;\n }\n\n & + .para {\n margin-top: 3ex;\n }\n\n .contributor-name {\n font-variant: small-caps;\n }\n\n .contributor-info {\n font-size: 88%;\n font-style: italic;\n margin-left: 3ex;\n }\n}\n\n\n// Icon font settings\n.material-symbols-outlined {\n font-variation-settings:\n 'FILL' 0,\n 'wght' 400,\n 'GRAD' 0,\n 'opsz' 24\n}\n\n\niframe {\n margin: 0;\n border: none;\n}\n\n\n.kbdkey {\n background: #f1f1f1;\n color: #333;\n border: 1px solid #dddddd;\n border-radius: 3px;\n padding: 1px 2px 0 2px;\n vertical-align: 0.1em;\n font-size: 110%;\n line-height: 1;\n box-shadow: 2px 2px grey;\n display: inline-block;\n margin-right: 3px;\n}\n\n\n.unit,\n.quantity {\n white-space: nowrap;\n word-spacing: -0.25ex;\n margin-right: 0.125em;\n\n sub, sup {\n word-spacing: normal;\n }\n}\n\n\n.terminology {\n font-style: italic;\n font-weight: bold;\n}\n\n\n\n.times-sign {\n font-size: larger;\n vertical-align: -0.15ex;\n}\n\n\n.emphasis {\n font-style: italic;\n\n .emphasis {\n font-weight: bold;\n }\n}\n\n.definition-like .emphasis {\n font-weight: 700;\n}\narticle.theorem-like .emphasis {\n font-weight: 700;\n}\n\n.para {\n line-height: 1.35;\n}\n\n.hidden {\n display: none !important;\n}\n\n/* genus and species in italics */\n.taxon {\n font-style: italic;\n}\n\n.quote {\n padding-left: 40px;\n padding-right: 10px;\n margin-bottom: 1em;\n}\n\n.booktitle {\n font-style: oblique;\n}\n\n/* Adapted from William Hammond (attributed to David Carlisle) */\n/* \"mathjax-users\" Google Group, 2015-12-27 */\n\n.latex-logo {font-family: \"PT Serif\", \"Times New Roman\", Times, serif;}\n\n.latex-logo .A {font-size: 75%; text-transform: uppercase; vertical-align: .5ex;\n margin-left: -.48em; margin-right: -.2em;}\n\n.latex-logo .E {vertical-align:-.5ex; text-transform: uppercase;\n margin-left: -.18em; margin-right: -.12em; }\n", "// Basic rules for printing a standard PreTeXt page\n\n// Get rid of UI elements.\n// Leave margin fiddling for system print dialog.\n\n// Worksheet and handout printing is handled in print-worksheet.scss\n\n@media print {\n .pretext .ptx-masthead,\n .pretext .ptx-navbar,\n body.pretext > a.assistive,\n .pretext .ptx-page > .ptx-sidebar,\n .pretext .ptx-page-footer,\n .pretext .ptx-main > div.ptx-content-footer {\n display:none;\n }\n\n .ptx-page, .ptx-main, .ptx-main .ptx-content {\n all: unset !important;\n width: 100%;\n border: none;\n padding: 0;\n margin: 0;\n }\n\n .ptx-sagecell, .tabular, .table-like, .figure-like, .exercise-like {\n break-inside: avoid;\n }\n\n .heading {\n break-after: avoid;\n }\n\n .code-inline {\n border: unset;\n background: unset;\n }\n\n @page {\n margin: 0.75in 0.75in 0.75in 0.75in;\n }\n}\n", "// TODO refactor\n\n// Rules in this file apply to both screen and print\n// Print specific rules should go in a file in targets/print-worksheet stylesheet\n@use 'components/helpers/buttons-default' as buttons;\n\n.heading .print-links {\n float: right;\n vertical-align: bottom;\n .print-link {\n font-family: var(--font-body);\n padding: 0.1em 0.2em;\n }\n .material-symbols-outlined {\n margin-top:5pt;\n }\n}\n\n", "// TODO - refactor\n// Make conditional on use of google search???\n\n.pretext .searchwrapper {\n max-width: 900px;\n position: absolute;\n right: 0;\n bottom: 0;\n margin-bottom: 39px;\n}\n\n.pretext .searchwrapper .cse .gsc-control-cse,\n.pretext .searchwrapper .cse .gsc-control-cse input,\n.searchwrapper .gsc-control-cse {\n padding: 5px;\n}\n\n// .pretext .searchwrapper .cse .gsc-search-button input.gsc-search-button-v2,\n// .searchwrapper input.gsc-search-button-v2 {\n// padding: 2px 2px;\n// }\n\n// .pretext .searchwrapper form.gsc-search-box {\n// margin: 0;\n// }\n\n// .pretext .searchwrapper table.gsc-search-box {\n// margin: 0;\n// }\n\n// .pretext .searchwrapper .gsc-search-box-tools .gsc-search-box .gsc-input {\n// padding: 0;\n// }\n\n// .pretext .searchwrapper .gsib_a {\n// padding: 0 0 0 5px;\n// }\n\n// .pretext .searchwrapper .gsc-input-box {\n// height: 3.0ex;\n// }\n\n// .pretext .searchwrapper form.gsc-search-box {\n// font-size: 12px;\n// }\n", "\n@use 'components/helpers/buttons-default' as buttons;\n\n.searchbox {\n\n .searchwidget {\n height: 100%;\n }\n \n .searchresultsplaceholder {\n position: fixed;\n top: 5vh;\n bottom: 5vh;\n padding: 1em;\n left: max(10vw, calc(100vw - 800px) / 2);\n width: 80vw;\n max-width: 800px;\n border: 2px solid var(--body-text-color);\n background: var(--knowl-background, #eaf0f6);\n z-index: 5000;\n display: flex;\n flex-direction: column;\n }\n\n .searchresultsplaceholder article {\n width: 60%;\n margin-left: auto;\n margin-right: auto;\n font-family: sans-serif;\n }\n\n .search-results-controls {\n display: flex;\n justify-content: space-between;\n align-items: stretch;\n gap: 10px;\n margin-bottom: 1em;\n height: 35px;\n }\n\n .ptxsearch {\n flex: 1 1;\n }\n \n\n .closesearchresults {\n @include buttons.ptx-button;\n }\n\n .detailed_result {\n margin-bottom: 10px;\n }\n\n .searchresults a:hover {\n text-decoration: underline;\n background: var(--link-active-background);\n }\n\n\n .searchresults {\n padding-left: 10px;\n margin-top: 0;\n overflow-y: auto;\n flex: 1 1;\n background: var(--content-background, white);\n border: 1px solid var(--page-border-color, #ccc);\n }\n\n .searchresults:empty {\n display: none;\n }\n \n .search-result-bullet {\n list-style-type: none;\n }\n\n .search-result-score {\n display: none;\n }\n\n //result qualities\n .no_result {\n font-size: 90%;\n font-weight: 200;\n }\n\n .low_result {\n font-weight: 200;\n }\n\n .medium_result {\n font-weight: 500;\n }\n .high_result {\n font-weight: 700;\n }\n\n .searchempty {\n display: none;\n padding-left: 10px;\n padding-top: 5px;\n }\n\n .search-results-unshown-count {\n margin-top: 0.6em;\n }\n\n .search-result-clip-highlight {\n background: var(--searchresultshighlight);\n }\n\n .searchresultsbackground {\n position: fixed;\n top: 0;\n background: var(--searchresultsbackground, white);\n width: 100vw;\n height: 100%;\n left: 0;\n z-index: 4999;\n }\n\n @media screen and (max-width: 800px) {\n .searchresultsplaceholder {\n bottom: 10vh;\n }\n }\n}\n\n:root {\n --searchresultsbackground: #fff8;\n --searchresultshighlight: rgba(255, 255, 0, 50%);\n}\n\n:root.dark-mode {\n --searchresultsbackground: #0008;\n --searchresultshighlight: rgba(255, 255, 0, 15%);\n}\n", "$border-radius: 0 !default;\n\n@mixin ptx-button(\n $border-radius: $border-radius\n) {\n font: inherit;\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 0 10px;\n gap: 10px;\n min-height: 34px;\n color: var(--button-text-color);\n background-color: var(--button-background);\n border-width: 1px;\n border-color: var(--button-border-color);\n border-style: solid;\n border-radius: $border-radius;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n cursor: pointer;\n\n // Disable accidental text-selection\n user-select: none;\n\n &:hover:not(.disabled) {\n color: var(--button-hover-text-color);\n background-color: var(--button-hover-background);\n }\n\n &:focus-visible {\n outline: 2px solid var(--button-text-color);\n outline-offset: -2px;\n }\n\n &.disabled {\n opacity: .4;\n cursor: not-allowed;\n }\n\n &.hidden {\n display: none;\n }\n\n &.open {\n color: var(--button-hover-text-color);\n background-color: var(--button-hover-background);\n }\n}\n\n@mixin ptx-dropdown-button {\n position: relative;\n\n .dropdown-content {\n display: none;\n position: absolute;\n background-color: var(--dropdown-background);\n min-width: 160px;\n z-index: 100;\n border: 1px solid var(--dropdown-border-color);\n right: 0;\n top: 35px;\n text-align: start;\n padding: 0;\n\n a {\n display: block;\n text-decoration: none;\n color: var(--dropdown-text-color);\n padding: 2px 8px;\n\n &:is(:hover, :focus-visible) {\n background-color: var(--dropdown-hover-background);\n color: var(--dropdown-hover-text-color);\n }\n }\n\n hr {\n color: var(--dropdown-border-color);\n margin: 4px 0;\n }\n }\n\n &:is(:hover, :focus-visible, :focus-within) {\n overflow: visible;\n\n .dropdown-content {\n display: block;\n }\n }\n}\n", "// extra specific to override Runestone margin\n.ptx-content .ptx-runestone-container .runestone {\n margin: unset;\n border-radius: 0;\n border-width: 1px;\n}\n\n// avoid label splitting into multiple lines\n.multiplechoice_section label > .para {\n display: inline;\n}\n\n// extra specific to override Runestone margin\n.ptx-content .ptx-runestone-container .ac_question { \n max-width: var(--base-content-width);\n margin: 0 auto 10px;\n}\n\n.runestone .runestone_caption {\n // caption is always just something like \"ActiveCode\" in PTX\n display: none;\n}\n\n\n/* to undo Runestone's draganddrop.css */\n.ptx-content .ptx-runestone-container .rsdraggable {\n font-size: 100%;\n}\n\n// Unsure if still needed\n/* hack for runestone */\n/* to undo Runestone's presentermode.css */\n.ptx-content .bottom {\n position: unset;\n}\n\n// override Runestone's pre formatting with these extra specific rules\n.ptx-runestone-container .runestone code,\n.ptx-runestone-container .runestone pre {\n font-size: .93rem;\n line-height: 1.2;\n font-family: var(--font-monospace);\n}\n\n// override Runestone's pre formatting with these extra specific rules\n.ptx-runestone-container code[class*=\"language-\"],\n.ptx-runestone-container pre[class*=\"language-\"] {\n color: black;\n background: #fdfdfd;\n}\n\n//Fixup datafile captions\n.runestone.datafile {\n .datafile_caption {\n background: var(--code-inline-background);\n border: 1px solid color-mix(in oklab, var(--code-inline-background) 50%, #888);\n display: block;\n width: fit-content;\n margin: 0 auto;\n }\n img {\n margin: 0 auto;\n display: block;\n border: 1px solid color-mix(in oklab, var(--code-inline-background) 50%, #888);\n }\n pre, textarea {\n margin: 0 auto;\n border: 1px solid color-mix(in oklab, var(--code-inline-background) 50%, #888);\n background-color: var(--page-color);\n }\n}\n.runestone.datafile + .program {\n margin-top: 0;\n}\n\n// RS does not care what kind of element is used\n// PTX chooses to use a ul, so we will fix margins for it here instead of RS\nul[data-component=\"timedAssessment\"] {\n margin: 0;\n padding: 0;\n}\n\n:root.dark-mode {\n // Darker styling to match Runesone's code mirror theme\n .ptx-runestone-container code[class*=\"language-\"],\n .ptx-runestone-container pre[class*=\"language-\"] {\n color: white;\n background: hsl(0, 0%, 8%);\n }\n}\n", "// TODO - needs refactoring and dark mode update\n\n@use 'components/helpers/buttons-default' as buttons;\n\n/* WW problems */\n.ptx-content .wwprob table.attemptResults {\n margin-left: 2em;\n background: #efefef;\n padding: 0.2em;\n}\n\n.ptx-content .wwprob table.attemptResults + .attemptResultsSummary {\n margin-top: 1em;\n}\n\n.ptx-content .wwprob .problem-main-form {\n margin-top: 1em;\n background: #eeeeff;\n padding: 0.5em;\n}\n\n.ptx-content .wwprob td.ResultsWithoutError {\n background: #9f9;\n}\n\n.ptx-content .wwprob td.ResultsWithError {\n background: #f99;\n}\n\n.ptx-content .wwprob tr th {\n text-align: center;\n padding: 0.2em 1em 0.2em 1em;\n}\n\n.ptx-content .wwprob tr td {\n text-align: center;\n}\n\n.ptx-content .wwprob tr td:empty {\n background: #fff;\n}\n\n.ptx-content .wwprob ol,\n.ptx-content .wwprob ul {\n margin-top: 0.75em !important;\n}\n\n.ptx-content .wwprob .problem {\n background: #fdfdfd;\n}\n\n.ptx-content .wwprob .problem a {\n text-decoration: none;\n}\n\n.ptx-content .wwprob #footer {\n font-size: 70%;\n text-align: right;\n}\n\n/* interactive WeBWorK */\n\nlabel.webwork {\n display: inline-flex;\n flex-direction: column;\n}\n\nlabel.correct .status {\n background-color: #a0f0a0;\n}\n\nlabel.partly-correct .status {\n color: #ffcc66;\n}\n\nlabel.incorrect .status {\n color: #b00;\n}\n\nlabel.incorrect .status::before {\n content: \" \";\n}\n\nlabel.feedback {\n word-wrap: break-word;\n}\n\nlabel.correct .feedback {\n background-color: #00ffcc;\n}\n\nlabel.partly-correct .feedback {\n color: #ffcc66;\n}\n\nlabel.incorrect .feedback {\n color: #e07070;\n}\n\n.webwork img,\n.webwork + .knowl-output img {\n max-width: 100%;\n}\n\n// Make the default margin for items inside the exercise-wrapper similar to\n// default for items in a section\n.exercise-wrapper > *:not(:first-child) {\n margin-top: 1.5em;\n}\n\n.ptx-content .problem-buttons {\n display: flex;\n}\n\n.ptx-content .webwork-button {\n @include buttons.ptx-button;\n}\n\n//.hidden-content used to be used for knowls and got repurposed for hiding webwork contents\n// now just used by webwork\n.problem-buttons.hidden-content,\n.problem-contents.hidden-content {\n display: none;\n}\n", "// TODO - refactor\n\n.sagecell_sessionOutput pre {\n font-family: var(--font-monospace);\n}\n\n.sagecell {\n white-space: normal;\n margin-top: 1.25em;\n margin-bottom: 1.25em;\n}\n\n.sage-interact.sagecell {\n margin: 0;\n}\n\n.sagecell_evalButton {\n font-family: var(--font-body);\n font-size: 16px;\n padding: 0 0.65em;\n}\n\n.sagecell_evalButton {\n cursor: pointer;\n display: inline-block;\n vertical-align: middle;\n /* Disable accidental text-selection */\n user-select: none;\n /* Truncate overflowing text with ellipsis */\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n border-width: 1px;\n border-style: solid;\n font-weight: bold;\n border-radius: 3px;\n}\n\n.sagecell_evalButton {\n color: #383838;\n background-image: linear-gradient(#f7f7f7, #bbbbbb);\n border-color: #c4c4c4;\n}\n\n.sagecell_evalButton:hover {\n color: #181868;\n background-image: linear-gradient(#bbbbbb, #f7f7f7);\n}\n\n.sagecell_evalButton:focus,\n.sagecell_evalButton:active {\n color: #20160b;\n background-image: linear-gradient(#ff6852, #ffd7d1);\n border-color: #ff2822;\n}\n\n.sagecell .sagecell_editor {\n margin-bottom: 8px;\n}\n\n.sageanswer {\n font-family: monospace;\n white-space: pre;\n margin-left: 3em;\n margin-bottom: 2em;\n}\n\n.sageanswer .key {\n display: inline-block;\n vertical-align: top;\n margin-right: 1em;\n}\n\n.sageanswer .output {\n display: inline-block;\n vertical-align: top;\n}\n", "// GeoGebra calculator\n\n$navbar-breakpoint: 856px !default;\n\n.calculator-container {\n position: fixed;\n z-index: 100;\n bottom: 5px;\n right: 5px;\n width: 253px;\n height: 460px;\n}\n\n@media screen and (max-width: $navbar-breakpoint) {\n .calculator-container {\n //assumes navbar moves to bottom of screen\n bottom: 50px !important;\n }\n}\n", "/*\n Master list of color variables and default values.\n Variables are defined in SCSS to allow for calculation of values. They are\n then converted to CSS variables for use in the HTML so authors can, if\n need be, override them with custom CSS.\n\n Any new variable should be added to this file and either defined to another\n variable or given a reasonable default value for the red-blue default theme.\n\n Variables should be semantic, not descriptive\n i.e. --link-color, not --pretty-blue\n*/\n\n@use \"sass:map\";\n\n// ==============================================================================\n// Light theme\n\n// ==============================================================================\n// Page structures\n\n$colors: (\n // Background of page (gutters if any)\n \"page-color\": white,\n // Background of content area\n \"content-background\": white,\n // Border around content area - also possibly used for internal borders\n \"page-border-color\": #ccc,\n\n // ------------------------------------------------------------------------------\n // Banner/nav related\n\n \"doc-title-color\": #932919,\n \"byline-color\": #333,\n \"banner-background\": #fafafa,\n \"navbar-background\": #ededed,\n \"footer-background\": var(--banner-background),\n\n // ------------------------------------------------------------------------------\n // TOC related\n\n \"toc-border-color\": #666,\n \"toc-background\": var(--content-background),\n\n \"tocitem-background\": var(--toc-background),\n \"toc-text-color\": var(--body-text-color),\n\n // highlight styles are used for hover\n \"tocitem-highlight-background\": #671d12,\n \"tocitem-highlight-text-color\": white,\n \"tocitem-highlight-border-color\": var(--toc-border-color),\n \n // active styles are used for the current toc item\n \"tocitem-active-background\": #671d12,\n \"tocitem-active-text-color\": white,\n \"tocitem-active-border-color\": var(--toc-border-color),\n\n // level based colors for TOC\n // levels are not necessarily all used\n // see the toc-basics.scss for how these are determined\n \"toclevel1-background\": var(--content-background),\n \"toclevel1-text-color\": var(--toc-text-color),\n \"toclevel2-background\": var(--content-background),\n \"toclevel2-text-color\": var(--toc-text-color),\n \"toclevel3-background\": var(--content-background),\n \"toclevel3-text-color\": var(--toc-text-color),\n\n\n // ==============================================================================\n // Content\n // ==============================================================================\n\n // ------------------------------------------------------------------------------\n // Text & titles\n\n \"body-text-color\": #000,\n \"body-title-color\": #000,\n\n \"ptx-image-bg\": transparent,\n \"activated-content-bg\": rgba(241, 185, 255, 30%),\n\n \"summary-link-background\": var(--button-background),\n \"summary-link-text-color\": var(--button-text-color),\n \"summary-link-hover-background\": var(--button-hover-background),\n \"summary-link-hover-text-color\": var(--button-hover-text-color),\n\n // ------------------------------------------------------------------------------\n // Links & knowls\n\n \"link-text-color\": #2B5F82,\n \"link-background\": transparent,\n \"link-active-text-color\": var(--link-text-color),\n \"link-active-background\": #cad2e1,\n\n \"link-alt-text-color\": #A62E1C,\n \"link-alt-background\": transparent,\n \"link-alt-active-text-color\": var(--link-alt-text-color),\n \"link-alt-active-background\": #e3d1ce,\n\n \"knowl-link-color\": var(--link-text-color),\n \"knowl-background\": #f5f8ff,\n \"knowl-border-color\": #e0e9ff,\n \"knowl-nested-1-background\": #f5f5ff,\n \"knowl-nested-2-background\": #fffff5,\n \"knowl-nested-3-background\": #f5ffff,\n \"knowl-nested-4-background\": #fff5f5,\n\n // ------------------------------------------------------------------------------\n // Blocks\n\n // Fall back generic block colors:\n \"block-body-background\": var(--content-background),\n \"block-border-color\": var(--knowl-border-color),\n \"block-head-color\": var(--body-text-color),\n\n // See below for specific block types\n \n \"aside-like-link-color\": var(--link-text-color),\n\n // ------------------------------------------------------------------------------\n // Buttons & Widgets\n\n \"button-background\": #ededed,\n \"button-text-color\": #333333,\n \"button-border-color\": #ccc,\n \"button-hover-background\": #c7c7c7,\n \"button-hover-text-color\": var(--button-text-color),\n\n \"dropdown-background\": var(--content-background),\n \"dropdown-border-color\": var(--toc-border-color),\n \"dropdown-text-color\": var(--toc-text-color),\n \"dropdown-hover-background\": var(--tocitem-active-background),\n \"dropdown-hover-text-color\": var(--tocitem-active-text-color),\n\n // ------------------------------------------------------------------------------\n // Other\n \"code-background\": #fdfdfd,\n \"code-inline-background\": #ededed,\n);\n\n// ==============================================================================\n// Block types\n\n// Variables for specific block types should look like those below. In this file\n// only \"top level\" blocks from the -like families are defined. \n// Other themes/color palettes may define\n// more specific ones - see palette_quad_chunks.scss for an example.\n\n// block-types based on those in entities.ent\n$block-types: \"assemblage-like\", \"definition-like\", \"theorem-like\", \"theorem-like\", \"axiom-like\", \"remark-like\", \"computation-like\", \"openproblem-like\", \"aside-like\", \"proof-like\", \"example-like\", \"project-like\", \"goal-like\", \"solution-like\";\n// TODO - \"proof\" should probably be updated to \"proof-like\" in HTML css\n\n@each $block in $block-types {\n $colors: map.merge(\n $colors,\n (\n // define background and border, but default to generic block colors\n \"#{$block}-body-background\": var(--block-body-background),\n \"#{$block}-border-color\": var(--block-border-color),\n )\n );\n}\n", "// This file contains functions and mixins for working with colors in SCSS\n\n@use \"sass:map\";\n@use \"sass:color\";\n\n@mixin set-root-colors($colors, $dark-colors: null) {\n :root {\n color-scheme: light;\n // prevent variable leak through to dark\n &:not(.dark-mode) {\n @include scss-to-css($colors);\n }\n }\n\n @if $dark-colors {\n :root.dark-mode {\n color-scheme: dark;\n @include scss-to-css($dark-colors);\n }\n }\n}\n\n// Renders a map of SCSS variables as CSS variables\n@mixin scss-to-css($colors) {\n @each $name, $value in $colors {\n --#{$name}: #{$value};\n }\n}\n\n// Create a map of colors that blend $color with $other at $mix-amounts\n// The resulting map will have keys of the form 'color-other-10'\n// Indicating 10% of other mixed into color\n@function mixes($color, $other, $mix-amounts) {\n $result: ();\n\n @each $i in $mix-amounts {\n $result: map.set($result, '#{$color}-#{$other}-#{$i}', 'color-mix(in oklab, var(--#{$color}), #{$other} #{$i}%)');\n }\n\n @return $result;\n}\n\n$std-mixes: (1, 2, 3, 4, 5, 10, 15, 20, 25, 30, 35, 40, 50, 60, 65, 70, 75, 80, 85, 90, 95, 96, 97, 98, 99);\n\n// Creates a map of color blends for a given color\n// By default it creates blends with black, white, and gray at $std-mixes amounts\n// Mixing is done using css color-mix function so that if a theme file has the base\n// css variable overridden, the blends will be updated accordingly\n@function get-blends($color, $shades: $std-mixes, $tints: $std-mixes, $tones: $std-mixes, ) {\n $shades: mixes($color, black, $std-mixes);\n $tints: mixes($color, white, $std-mixes);\n $tones: mixes($color, gray, $std-mixes);\n\n $blends: map.merge(\n $tints,\n $shades\n );\n\n $blends: map.merge(\n $blends,\n $tones\n );\n @return $blends;\n}\n\n//--------------------------------------------------------------------------\n// https://jonnykates.medium.com/automating-colour-contrast-ratios-with-sass-e201f3b52797\n// Formula there has a typo, need parens around the sum of the three color channels\n\n@function text-contrast($color, $light: #ffffff, $dark: #000000) {\n $color-brightness: round(\n (\n (color.red($color) * 299) +\n (color.green($color) * 587) +\n (color.blue($color) * 114)\n ) / 1000\n );\n\n $light-color: round(\n (\n (color.red(#ffffff) * 299) +\n (color.green(#ffffff) * 587) +\n (color.blue(#ffffff) * 114)\n ) / 1000\n );\n\n @if abs($color-brightness) < calc($light-color / 2){\n @return $light;\n } @else {\n @return $dark;\n }\n}\n\n// @debug \"text-contrast(#7b7b55) should be #ffffff: \" text-contrast(#7b7b55);\n// @debug \"text-contrast(#9b9b70) should be #000000: \" text-contrast(#9b9b70);\n// @debug \"text-contrast(#766f7a) should be #ffffff: \" text-contrast(#766f7a);\n// @debug \"text-contrast(#70909b) should be #000000: \" text-contrast(#70909b);\n//--------------------------------------------rgb(25, 25, 24)-----------------------\n"], - "mappings": "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0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,IAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,IAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,IAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,IAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,IAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAA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", + "sources": ["c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/print-worksheet.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/..\\..\\fonts\\_fonts-google.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/..\\..\\components\\chunks\\_asides-basic.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/..\\..\\components\\chunks\\_asides-floating.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/..\\..\\components\\chunks\\_codelike.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/..\\..\\components\\helpers\\_cols.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/..\\..\\components\\chunks\\_exercises.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/..\\..\\components\\chunks\\_solutions.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/..\\..\\components\\chunks\\_sidebyside.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/..\\..\\components\\chunks\\helpers\\_inline-heading-mixin.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/..\\..\\components\\chunks\\_discussion-inline.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/..\\..\\components\\chunks\\_knowls.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/_chunks-worksheet.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/..\\..\\components\\_spacing.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/..\\..\\components\\elements\\_list-styles.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/..\\..\\components\\elements\\_description-lists.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/..\\..\\components\\elements\\_lists.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/..\\..\\components\\elements\\_fillin.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/..\\..\\components\\elements\\_headings.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/..\\..\\components\\elements\\_links.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/..\\..\\components\\elements\\_tables.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/..\\..\\components\\elements\\_front-matter.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/..\\..\\components\\elements\\_summary-links.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/..\\..\\components\\elements\\_footnotes.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/..\\..\\components\\elements\\_index.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/..\\..\\components\\elements\\_media.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/..\\..\\components\\elements\\_figures.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/..\\..\\components\\elements\\_poem.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/..\\..\\components\\elements\\_prism.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/..\\..\\components\\elements\\_math.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/..\\..\\components\\elements\\_permalinks.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/..\\..\\components\\elements\\_misc-content.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/..\\..\\components\\_printing.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/..\\..\\components\\_worksheet.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/..\\..\\components\\_google-search.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/..\\..\\components\\_pretext-search.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/..\\..\\components\\helpers\\_buttons-default.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/..\\..\\components\\interactives\\_runestone.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/..\\..\\components\\interactives\\_webwork.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/..\\..\\components\\interactives\\_sagecell.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/..\\..\\components\\interactives\\_calculators.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/..\\..\\colors\\_color-vars.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\print-worksheet/..\\..\\colors\\_color-helpers.scss"], + "sourcesContent": ["$primary-color: #386F94;\n$primary-color-dark: #5192BD;\n$provide-dark-mode: yes;\n/*! Theme: print-worksheet */\n\n// Used for print versions of worksheets (including their previews) for all themes\n\n// File is only included in standalone printable worksheet pages (the print preview pages).\n// Most rules apply to both screen and print; rules at the bottom of the file split into these two cases.\n\n// Also see:\n// components/_printing.scss : base rules for printing a standard PreTeXt page - removes UI\n// components/_worksheet.scss : rules that apply to worksheets in context and in print/preview.\n\n// Current maintainer: Oscar Levin\n\n// ---------------------------------------------\n// Grouping containers - based off of those in default-modern\n@use 'chunks-worksheet' with ($border-radius: 0);\n\n// Bring in the standard PreTeXt styles for components\n@use 'components/pretext';\n\n// Use underline style headings\n//@use 'components/elements/extras/heading-underlines';\n\n// Make sure fonts are available\n@use 'fonts/fonts-google';\n\n// For the print button\n@use 'components/helpers/buttons-default' as buttons;\n\n\n// Make sure we are including the root colors using simple black-and-white palette\n@use \"colors/color-helpers\" as colorHelpers;\n@use 'colors/palette-single' as palette with (\n $primary-color: black,\n);\n\n// render the actual colors\n@include colorHelpers.set-root-colors(palette.$colors);\n\n// ---------------------------------------------\n// concrete rules / includes that generate CSS\n\n// Set variables for default width and margins\n:root {\n --ws-width: 8.5in; // Default width for worksheets\n --ws-height: 11in; // Default height for worksheets\n --ws-top-margin: 40px; // Default top margin for worksheets\n --ws-right-margin: 55px; // Default right margin for worksheets\n --ws-bottom-margin: 45px; // Default bottom margin for worksheets\n --ws-left-margin: 45px; // Default left margin for worksheets\n\n --ws-content-width: calc(var(--ws-width) - var(--ws-right-margin) - var(--ws-left-margin));\n --ws-content-height: calc(var(--ws-height) - var(--ws-top-margin) - var(--ws-bottom-margin));\n}\n\n\n\n\n// Remove surrounding UI elements\n .pretext .ptx-masthead,\n .pretext .ptx-navbar,\n body.pretext > a.assistive,\n .pretext .ptx-page > .ptx-sidebar,\n .pretext .ptx-page-footer,\n .pretext .ptx-main > div.ptx-content-footer {\n display:none;\n }\n\n // Remove the print preview link\n.heading .print-links {\n display: none;\n}\n\n .autopermalink {\n display: none;\n}\n\n// Some elements don't make sense to print:\n// image descriptions\n// webwork \"activate\" buttons\n// buttons in general (to remove Runestone \"Check Me\" button)\n// We remove these here.\ndetails.image-description,\n.ptx-content .webwork-button,\n.ptx-runestone-container button.btn {\n display: none;\n}\n\n\n// Set font appropriate for printing\nsection.worksheet, section.handout {\n font-size: 11pt;\n font-family: var(--font-print);\n}\n\n// .onepage is the common class that wraps all content in a single worksheet page (often modified by the javascript)\n .onepage > .heading {\n margin-top: 0;\n font-size: 1.3em;\n}\n\n.onepage .instructions {\n display: none;\n}\n\n\n// Try to make an open solution knowl look less strange. Eventually the print version of worksheets should create HTML that isn't a details element.\nsummary::marker {\n content: \"\";\n}\n\nsummary {\n font-weight: bolder;\n display: inline;\n}\n\n.knowl__content {\n display: inline;\n margin: unset;\n border: none;\n padding: 3px 0;\n background-color: unset;\n}\n\n.knowl__link {\n all: unset\n}\n\n.code-inline {\n border: unset;\n background: unset;\n}\n\n.onepage article {\n padding-left: 0;\n border: none;\n}\n\n.onepage article::after {\n all: unset;\n}\n\n.onepage > .para:first-child,\n.onepage > article:first-child {\n margin-top: 0;\n}\n\n\n// Some headings have larger top-margins than their parent section, so we fix that here.\n.onepage > section > .heading {\n margin-top: 0;\n}\n\n// tasks might be \"free-floating\" articles, in which case they should get the same indenting as tasks inside exercises.\n section article.task {\n margin-left: 20px;\n}\n\nsection.worksheet > .heading, section.handout > .heading {\n display: inline;\n font-size: 1.1em;\n}\n\nsection.worksheet > .heading + .para, section.handout > .heading + .para {\n display: inline;\n}\n\n.introduction, .conclusion {\n > .heading {\n font-size: 1.1em;\n font-weight: bold;\n margin-bottom: 0;\n border-bottom: none;\n + .para {\n margin-top: 0.5em;\n }\n }\n}\n\nform.papersize-select {\n padding-bottom: 8px;\n}\n\n\n\n\n// Screen specific styles (mostly for showing the border around a worksheet with it's \"margins\" and for the print controls)\n@media screen {\n .ptx-main {\n max-width: var(--ws-width);\n margin: 50px auto;\n }\n\n .worksheet, .handout {\n max-width: var(--ws-width);\n margin: 0 auto;\n }\n\n .onepage {\n width: 100%;\n height: var(--ws-height);\n padding: var(--ws-top-margin) var(--ws-right-margin) var(--ws-bottom-margin) var(--ws-left-margin);\n box-shadow: 5px 10px 40px -10px;\n }\n\n // Set space between pages\n .onepage + .onepage {\n margin-top: 2.5em;\n }\n\n\n .workspace-container {\n display: flex;\n overflow: visible;\n }\n\n .workspace {\n width: 100%;\n }\n\n .highlight-workspace .onepage .workspace {\n border: 1px dashed grey;\n background: hsl(224, 100%, 95%);\n }\n\n // Normally, the .workspace.original is hidden in the print preview, but if the highlight-workspace checkbox is checked, it will be shown.\n .onepage .original-workspace {\n display: none;\n }\n\n .highlight-workspace .onepage .original-workspace {\n display:block;\n width: 10px;\n background: hsl(152, 29%, 65%);\n }\n\n .highlight-workspace .onepage .warning {\n background: hsl(36, 65%, 67%);\n }\n\n .print-button {\n @include buttons.ptx-button;\n }\n\n .papersize-select {\n z-index: 1;\n .name::after {\n content: \": \";\n }\n }\n\n .print-controls {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding-bottom: 1em;\n }\n}\n\n\n\n// Print specific styles\n@media print {\n body {\n margin: 0;\n padding: 0;\n width: var(--ws-content-width);\n }\n\n .print-preview-header {\n display: none;\n }\n\n section.worksheet, section.handout {\n border: none;\n width: 100%;\n\n .onepage {\n margin-top: 0;\n width: 100%;\n height: var(--ws-content-height);\n overflow: hidden;\n page-break-after: always;\n page-break-inside: avoid;\n }\n // Never show the workspace preview in print\n div.workspace,\n div.workspace.squashed.tight {\n border: none;\n padding: 0;\n background: none !important;\n }\n }\n\n a {\n color: black;\n }\n\n @page {\n // Note: when we allow custom margins, the javascript will need to change these defaults.\n // Default margins appear to be necessary for Firefox and Safari (Chrome already works with the variable values).\n margin: var(--ws-top-margin, 40px) var(--ws-right-margin, 55px) var(--ws-bottom-margin, 45px) var(--ws-left-margin, 45px);\n }\n}\n", "@use \"sass:map\";\n@use \"sass:string\";\n@use \"sass:list\";\n\n// Fonts to use\n$body: 'Open Sans, Helvetica Neue, Helvetica, Arial, sans-serif' !default;\n$heading: 'PT Serif, Times New Roman, Times, serif' !default;\n$monospace: 'Inconsolata, Consolas, Monaco, monospace;' !default;\n$print: 'PT Serif, Times New Roman, Times, serif' !default;\n\n@function is-variable-font($font-name) {\n $static-fonts: ('PT Serif'); // list of known static fonts used by themes\n @if list.index($font-name, $static-fonts) {\n @return false;\n }\n @return true;\n}\n\n@function generate-import($font-name) {\n @if is-variable-font($font-name) {\n @return 'https://fonts.googleapis.com/css2?family=' + $font-name + ':ital,wght@0,400..700;1,400..700&display=swap';\n }\n @else {\n @return 'https://fonts.googleapis.com/css2?family=' + $font-name + ':ital,wght@0,400;0,700;1,400;1,700&display=swap';\n }\n}\n\n// For now, only try to fetch the first name in the list and assume\n// the rest are system defined fallbacks.\n// lists are 1-indexed\n$body-font: list.nth(string.split($body, ','), 1);\n// @debug \"----------------\" $body-font;\n@import url( generate-import($body-font) );\n\n$heading-font: list.nth(string.split($heading, ','), 1);\n// generate-import($heading-font);\n@import url( generate-import($heading-font) );\n\n$monospace-font: list.nth(string.split($monospace, ','), 1);\n// generate-import($monospace-font);\n@import url( generate-import($monospace-font) );\n\n:root {\n --font-body: #{$body};\n}\n:root {\n --font-headings: #{$heading};\n}\n:root {\n --font-monospace: #{$monospace};\n}\n:root {\n --font-print: #{$print};\n}\n\n// 9/5/24 ... TODO controlled list of fonts ... wait and explore later\n// // Available fonts\n// $serif-options: ('Alegreya', 'Merriweather', 'Noto Serif', 'PT Serif', 'Source Serif 4');\n// $sans-options: ('Alegreya Sans', 'Barlow', 'Lato', 'Open Sans', 'Roboto', 'Source Sans 3');\n// $code-options: ('Inconsolata');\n\n// // Backup lists\n// $sans-backups: ', Helvetica Neue, Helvetica, Arial, sans-serif';\n// $serif-backups: ', Times New Roman, Times, serif';\n\n// // ---------------------------------------------------------\n\n\n// @function add-fonts($list, $backups, $fonts: ()) {\n// @each $font in $list {\n// $fonts: map.set($fonts, $font, (\n// url: '\"https://fonts.googleapis.com/css2?family=#{$font}:wdth,wght@75..100,300..800&display=swap\"',\n// fontlist: $font + $backups,\n// ));\n// }\n// @return $fonts;\n// }\n\n// $fonts: add-fonts($sans-options, $sans-backups);\n// $fonts: add-fonts($serif-options, $sans-backups, $fonts);\n\n// $bodyfont: map.get($fonts, $body);\n// @if not $bodyfont {\n// @error \"Unknown body font: #{$body}\";\n// } @else {\n// @import url(#{map.get($bodyfont, \"url\")});\n// :root {\n// --font-body: #{map.get($bodyfont, \"fontlist\")};\n// }\n// }\n\n// $headingfont: map.get($fonts, $heading);\n// @if not $headingfont {\n// @error \"Unknown heading font: #{$heading}\";\n// } @else {\n// @import url(#{map.get($headingfont, \"url\")});\n// :root {\n// --font-headings: #{map.get($headingfont, \"fontlist\")};\n// }\n// }\n", "$border-width: 2px !default;\n$side-margins: 30px !default;\n\n.aside-like {\n & > .knowl__link {\n color: var(--aside-like-link-color);\n border-bottom-color: var(--aside-like-link-color);\n }\n & > .knowl__content{\n margin-left: $side-margins;\n margin-right: $side-margins;\n border: $border-width solid var(--aside-like-border-color);\n background-color: var(--aside-like-body-background);\n }\n}", "$float-width: 200px !default;\n$float-offset: -248px !default;\n$min-float-width: 1280px !default;\n\n@use 'asides-basic';\n\n@media screen and (min-width: $min-float-width) {\n details.aside-like {\n position: relative;\n margin-left: $float-offset;\n width: $float-width;\n right: $float-offset;\n float: right;\n clear: right;\n }\n\n /* disable in any multicolumn list/exercisegroup */\n .multicolumn details.aside-like {\n position: relative;\n margin-left: inherit;\n width: auto;\n right: 0;\n float: none;\n clear: none;\n }\n\n details.aside-like > .knowl__content {\n margin-left:0;\n margin-right:0;\n background-color: var(--aside-like-body-background);\n z-index: 100;\n }\n}", "@mixin code-text {\n font-family: var(--font-monospace);\n background: var(--code-background);\n font-size: .93rem;\n line-height: 1.2;\n}\n\n@mixin code-inline-spacing {\n line-height: normal; //prevent extra \"padding\" based on line-height\n padding: 0.0625em .15em;\n}\n\n// wide programs need to be scrollable\n.code-box {\n overflow-x: auto;\n}\n\n.code-display {\n overflow-x: auto; //scroll if overflowing\n font-family: var(--font-monospace);\n}\n\n.console,\n.program {\n border: 1px solid var(--page-border-color);\n padding: 5px 15px;\n overflow-x: auto;\n margin: 0;\n @include code-text();\n}\n\n.code-inline {\n font-family: var(--font-monospace);\n white-space: pre;\n color: var(--body-text-color);\n background: var(--code-inline-background);\n border: 1px solid color-mix(in oklab, var(--code-inline-background) 50%, #888);\n border-radius: 0.2em;\n display: inline-block;\n overflow-x: auto;\n max-width: 100%;\n vertical-align: middle;\n @include code-inline-spacing();\n}\n\n\n.prompt.unselectable {\n user-select: none;\n}\n\n// code blocks are preformatted text that is not a program\n.code-block {\n border-left: 1px solid #aaa;\n padding: 0 15px 5px;\n overflow-x: auto;\n background: var(--code-background);\n margin-top: 0;\n margin-bottom: 0;\n @include code-text();\n}\n\n.code-block::before {\n content:' ';\n font-size: 50%;\n border-top: 1px solid #aaa;\n display: block;\n margin-right: auto;\n margin-left: -15px;\n width: 3.0em;\n}\n\n// special handling for code-display as it appears inside .paras\n// and may need space around it\n.code-display {\n margin: 0.5em 0;\n}\n// if inside clipboardable, move margin to that container and turn some into padding\n// to help make sure clipboard icon is contained inside the code-display in dark mode\n.clipboardable:has(.code-display) {\n margin: 0.25em 0;\n\n .code-display {\n margin: 0;\n padding: 0.25em 0;\n }\n}\n\n\n.clipboardable {\n position: relative; // To anchor the code-copy button\n display: flow-root;\n\n .code-copy {\n position: absolute;\n right: 0;\n top: 0;\n opacity: 0.25;\n border-width: 0;\n background: none;\n cursor: pointer;\n z-index: 1;\n white-space-collapse: collapse;\n padding: 1px;\n scale: 0.85;\n\n &:hover {\n opacity: 0.7;\n }\n\n .checkmark {\n display: none;\n }\n\n &.copied {\n opacity: 1;\n color: mediumseagreen;\n cursor: not-allowed;\n pointer-events: none;\n\n .copyicon {\n display: none;\n }\n\n .checkmark {\n display: inline;\n }\n }\n }\n}\n\n@media print {\n .code-copy {\n display: none;\n }\n}\n", "\n// columns are arranged in row-major order to match print output in LaTeX\n:is(.cols2, .cols3, .cols4, .cols5, .cols6) {\n display: flex;\n flex-wrap: wrap;\n justify-content: start;\n}\n\n// see lists and exercises for sample use\n@mixin allow-cols($el, $col-gap: 2em) {\n @for $i from 2 through 6 {\n .cols#{$i} > #{$el} {\n // columns are a suggestion enforced by a minimum size\n // content that needs to be wider can reduce number of columns\n // in its row\n min-width: calc(100% / $i - #{$col-gap});\n width: min-content;\n margin-right: $col-gap;\n }\n }\n}\n\n", "@use '../helpers/cols';\n\n// generate multi column rules for exercises\n@include cols.allow-cols('.exercise-like');\n\n.exercise-like > .heading {\n // exercise heading/numbers regular size\n font-size: inherit;\n}\n\n.exercisegroup {\n\n .exercise-like {\n margin-top: 1em;\n }\n\n > .heading {\n font-size: 1.10em;\n line-height: 1.05em;\n margin-top: 0.75em;\n display: inline;\n\n & + .introduction {\n display: inline;\n\n & > .para:first-child {\n display: inline;\n }\n }\n }\n\n // push the actual exercises down from any possible heading/intro\n .exercisegroup-exercises {\n margin-top: 1em;\n \n //indent items with padding so cols works correctly on them\n padding-left: 40px;\n }\n\n .conclusion {\n margin-left: 40px; // match the padding of the exercisegroup-exercises\n \n .heading {\n // exercise heading/numbers regular size\n font-size: inherit;\n } \n }\n}\n\n// subtasks are indented\n.exercise-like > .exercise-like.task {\n margin-left: 20px;\n}\n\n\n\n// ---------------------------------------------------------\n// exercise-wrapper is used for WW problems\n// these rules need testing/refactoring\n\n.exercise-wrapper form button:hover {\n cursor: pointer;\n background-color: #e0e0ff;\n border: 1px solid #000;\n}\n.exercise-wrapper form button:active {\n background-color: #f0f0f0;\n}\n.exercise-wrapper form button + button {\n margin-left: 0.8em;\n}\n\n.exercise-wrapper,\n.exercise-wrapper form,\n.exercise-wrapper form > div:first-child {\n display: inline-block;\n vertical-align: top;\n width: 100%; /* for live ww to open at 100% wide */\n}\n\n.knowl .exercise-wrapper,\n.knowl .exercise-wrapper form,\n.knowl .exercise-wrapper form > div:first-child {\n width: 100%;\n}\n\n.exercise-wrapper > .para:first-child,\n.exercisegroup .exercise-wrapper > .para:first-child {\n margin-top: 0;\n display: inline;\n}\n\n/* next is related to having exercises start in-line with their exercise number,\n including when a static WW problem is made interactive */\n/* not sure this was the right way to do it */\n/* see https://opentext.uleth.ca/apex-calculus/sec_antider.html#exercise-722 */\n.heading + .exercise-wrapper {\n display: inline-block;\n max-width: 95%;\n width: 100%;\n}\n\n.cols2 .heading + .exercise-wrapper {\n width: auto;\n}\n", "// \n\n/* stacked headings in the solutions backmatter */\nsection.solutions > .heading + .heading {\n margin-top: 0.5em;\n}\n\nsection.solutions > h3.heading,\nsection.solutions section > h3.heading {\n font-size: 1.6em;\n}\n\nsection.solutions > h4.heading,\nsection.solutions section > h4.heading {\n font-size: 1.45em;\n}\n\nsection.solutions > h5.heading,\nsection.solutions section > h5.heading {\n font-size: 1.35em;\n}\n\nsection.solutions > h6.heading,\nsection.solutions section > h6.heading {\n font-size: 1.25em;\n}\n", "// Space all rows in a sbsgroup, no other styling\n.sbsgroup > *:not(:first-child)\n{\n margin-top: 1.5em;\n}\n\n\n// sidebysides get laid out into a grid with two rows. \"Plain panels\" without\n// a caption are in the first row. Panels with things like tables/figures with\n// captions we want to align are decomposed across two rows.\n// If there is no content (no captions) in a second row, it will collapse.\n\n// 1| plain panel | figure-like/table-like\n// 2| | figcaption\n.sbsrow {\n display: grid;\n grid-template-rows: auto auto;\n}\n\n.sbspanel {\n // most sbspanels are in the first row\n grid-row: 1; \n\n // tables and their captions get centered when in panels\n & > .table > figcaption {\n text-align: center;\n }\n .tabular {\n overflow-x: auto;\n margin-left: auto;\n margin-right: auto;\n }\n}\n\n\n// panel content alignment options\n.sbspanel--top {\n align-self: start;\n}\n\n.sbspanel--middle {\n align-self: center;\n}\n\n.sbspanel--bottom {\n align-self: end;\n}\n\n\n// sbspanels with figures or tables get decomposed into two rows\n// both the panel and the figure-like/table-like element should\n// be ignored by the grid layout so we can place the items inside\n// the *-like into the grid\n.sbspanel:has(.figure-like, .table-like),\n.sbspanel > :is(.figure-like, .table-like) {\n display: contents;\n}\n\n\n// first child of decomposed *-like goes to the first row\n.sbspanel > :is(.figure-like, .table-like) > *:first-child {\n grid-row: 1;\n align-items: start;\n align-self: start;\n}\n\n// and gets alignment info\n.sbspanel--top > :is(.figure-like, .table-like) > *:first-child {\n align-items: start;\n align-self: start;\n}\n\n.sbspanel--middle > :is(.figure-like, .table-like) > *:first-child {\n align-items: center;\n align-self: center;\n}\n\n.sbspanel--bottom > :is(.figure-like, .table-like) > *:first-child {\n align-items: end;\n align-self: end;\n}\n\n\n// second child of decomposed *-like goes to the second row\n.sbspanel > :is(.figure-like, .table-like) > *:nth-child(2) {\n margin-top: 0.5em;\n grid-row: 2;\n width: 100%;\n}\n\n\n// make sure content for a panel stays in the correct column\n// otherwise captions may shift left into columns that do not have\n// second row content\n@for $col from 2 through 10 {\n .sbspanel:nth-of-type(#{$col}) * {\n grid-column: #{$col};\n }\n}", "// Generate styles for an inline heading\n@mixin heading {\n & > .heading:first-child {\n display: inline;\n line-height: initial;\n border-bottom: 0; // disable underline that may come from underlined headings\n\n &:after {\n content: \"\\2009\";\n }\n\n // Following sibling also needs to be inline for heading to line up correctly\n // For now limit to logical paragraphs and introductions as they seem to cover\n // the plain text cases. Not clear we would want same treatment for other\n // kinds of content\n & + :is(.para, .para.logical, .introduction) {\n display: inline;\n // possible first child that is the actual text\n & > .para:first-child {\n display: inline;\n }\n // an introduction could have a para.logical with a para\n & > .para.logical:first-child > .para:first-child {\n display: inline;\n }\n }\n }\n}\n", "@use './helpers/inline-heading-mixin';\n\n.discussion-like {\n @include inline-heading-mixin.heading;\n & > .heading {\n ::after {\n content: \"\\2009\";\n }\n\n & + .para {\n display: inline;\n }\n\n .space,\n .codenumber,\n .period {\n display: none;\n }\n\n .type::after {\n content: \". \";\n }\n }\n}\n", "/*\n main knowls styles\n*/\n\n$border-radius: 0px !default;\n$border-width: 3px !default;\n$pad: 12px !default;\n\n.source-view__link,\n.knowl__link {\n cursor: pointer;\n margin-left: 0.1em;\n margin-right: 0.1em;\n color: var(--knowl-link-color);\n border-bottom: 1px dotted var(--knowl-link-color);\n}\n\n.source-view {\n margin: 0.5em 0;\n}\n\nsummary.source-view__link,\nsummary.knowl__link {\n display: list-item inline;\n}\n\n.source-view__link > *,\n.knowl__link > * {\n display: inline;\n}\n\n.source-view__link:is(:hover, :focus, [open]),\n.knowl__link:is(:hover, :focus, [open]) {\n background-color: var(--knowl-background);\n border-bottom-color: transparent;\n}\n\n.source-view__content {\n margin: 0.2em 0;\n}\n\n.knowl__content {\n margin: 0.75em 0; //at least this much space above/below\n border: $border-width solid var(--knowl-border-color);\n border-radius: $border-radius;\n padding: $pad;\n background-color: var(--knowl-background);\n\n .incontext {\n display: block;\n font-size: 85%;\n text-align: right;\n }\n}\n\n/* nested knowl alt colors */\n.knowl__content .knowl__content {\n background-color: var(--knowl-nested-1-background);\n}\n\n.knowl__content .knowl__content .knowl__content {\n background-color: var(--knowl-nested-2-background);\n}\n\n.knowl__content .knowl__content .knowl__content .knowl__content {\n background-color: var(--knowl-nested-3-background);\n}\n\n.knowl__content .knowl__content .knowl__content .knowl__content .knowl__content {\n background-color: var(--knowl-nested-4-background);\n}\n\n\n/* spacing tweaks inside knowls */\n.knowl__content > figure {\n margin-left: 0;\n margin-right: 0;\n}\n", "// Standard collection of chunks. This file should only be modified\n// to fix bugs or improve the default-modern theme. If you want to\n// make changes for use in some other theme, create a _chunks-XXX file\n// in that theme's directory.\n\n$border-radius: 8px !default;\n\n// One stop include for default style content blocks\n@use 'components/chunks/asides-floating';\n@use 'components/chunks/codelike';\n@use 'components/chunks/exercises';\n@use 'components/chunks/solutions';\n@use 'components/chunks/sidebyside';\n@use 'components/chunks/discussion-inline';\n@use 'components/chunks/knowls' with ($border-radius: $border-radius);\n\n@use 'components/chunks/helpers/inline-heading-mixin';\n\n\n.theorem-like,\n.definition-like,\n.example-like,\n.project-like,\n.remark-like,\n.openproblem-like,\n.computation-like,\n.assemblage-like {\n > .heading {\n display: block;\n font-size: 1.1em;\n }\n}\n\n.proof {\n padding-bottom: 1.5em;\n &::after {\n content: \"□\";\n float: right;\n }\n\n .heading {\n font-size: unset;\n font-weight: bold;\n font-style: italic;\n }\n}\n\n.solution-like {\n .heading {\n display: inline;\n font-style: italic;\n font-size: unset;\n }\n}\n\n\n .goal-like {\n border: none;\n padding: 0;\n}\n\n.goal-like > .heading {\n margin-top: -0.5em;\n padding: 0;\n margin: 0;\n font-size: 1.1em;\n}\n\n.paragraphs,\narticle {\n @include inline-heading-mixin.heading;\n}\n", "// Basic spacing for content\n\n// Breakpoint at which the navbar moves to the bottom of the screen\n$navbar-breakpoint: 800px !default;\n\n// all styling assumes border-box layout measurement\n* {\n box-sizing: border-box;\n}\n\n//----------------------------------------------------------\n// Inter item vertical spacing\n//\n// Set some baseline minimal inter-item vertical spacings\n//\n// Individual items can override this with their own margin. The\n// user of @layer here forces these rules to all have less precedence\n// than any rules not in a layer.\n// Most spacing should be done with margin-top.\n\n@layer spacing {\n // inter-item spacing high level containers\n :is(section, article, .knowl__content) > *:not(:first-child) {\n margin-top: 1.5em;\n }\n\n // but tighten up spacing slightly for adjacent paragraphs in a section\n :is(section, article, .knowl__content) > .para + .para {\n margin-top: 1em;\n }\n\n // lower-level container elements that are expected to contain sequences of items\n // tighter spacing here to avoid visually breaking up the minor container\n .ptx-content :is(ul, td, li, dd, .blockquote, .sbspanel, .para.logical) > *:not(:first-child) {\n margin-top: 0.5em;\n }\n}", "// Types of ol/ul - used by web and ebooks\n// Any spacing should be in _lists.scss, not here\n\nol.no-marker,\nul.no-marker,\nli.no-marker {\n list-style-type: none;\n}\n\nol.decimal {\n list-style-type: decimal;\n}\n\nol.lower-alpha {\n list-style-type: lower-alpha;\n}\n\n// Match LaTeX style for second level (i.e. level=\"1\") lists\nol.lower-alpha-level-1 > li::marker {\n content: \"(\"counter(list-item,lower-alpha)\") \";\n}\n\nol.upper-alpha {\n list-style-type: upper-alpha;\n}\n\nol.lower-roman {\n list-style-type: lower-roman;\n}\n\nol.upper-roman {\n list-style-type: upper-roman;\n}\n\nul.disc {\n list-style-type: disc;\n}\n\nul.square {\n list-style-type: square;\n}\n\nul.circle {\n list-style-type: circle;\n}\n", "/* dl is used for glossaries and descriptions lists.\n Glossaries are simple: bold word by itself on a line.\n Definition indented on the next line.\n Vertical space before the next term.\n\n Description lists are more complicated. The wider version\n (refering to the horizontal indentation of the definition;\n this is the default)\n has the (wrapped) term inline with the definition.\n\n The narrow version is complicated because the term is inline\n with its definition if it fits, otherwise it is on the line above.\n That means the vertical space between entries can't be handled by\n a top margin on the dt. Instead we have an ::after on the dd .\n */\n\ndl:is(.description-list, .glossary) {\n margin: 0;\n //overflow: hidden; // Removed to show permalinks\n\n dt {\n font-weight: bold;\n max-width: 55ex;\n }\n\n dd::after {\n content: \"\";\n display: block;\n clear: both;\n }\n}\n\n.para > dl:is(.description-list) {\n // add some space when inside a .para\n margin-top: 0.5em;\n margin-bottom: 0.5em;\n}\n\ndl.glossary {\n dt {\n margin-top: 1.25em;\n\n &:first-of-type {\n margin-top: 0;\n }\n }\n\n dd {\n margin-left: 5ex;\n }\n}\n\ndl.description-list {\n\n dt,\n dd {\n margin-top: 1em;\n\n &:first-of-type {\n margin-top: 0;\n }\n }\n\n dt {\n float: left;\n clear: both;\n text-align: right;\n width: 18ex;\n margin-right: 1ex;\n }\n\n dd {\n margin-left: 22ex;\n }\n\n &.narrow {\n dt {\n width: 11ex;\n }\n\n dd {\n margin-left: 15ex;\n }\n }\n\n &.wide {\n dt {\n width: 25ex;\n }\n\n dd {\n margin-left: 29ex;\n }\n }\n}\n\ndl.description-list dt:first-of-type {\n clear: none;\n}\n\n.description-list + * {\n clear: both;\n}\n\n/* where do we have nested dl? */\ndl.description-list dl dt {\n width: 8ex;\n}\n\ndl.description-list dd dd {\n margin-left: 18ex;\n}\n\ndl.description-list dl dd {\n margin-left: 12ex;\n}\n\n\n@media screen and (max-width: 480px) {\n dl.description-list dt {\n float: none;\n margin-left: 0;\n text-align: left;\n }\n\n dl.description-list dd,\n dl.description-list.narrow dd,\n dl.description-list.wide dd {\n margin-top: 0.5em;\n margin-left: 3em;\n max-width: calc(100% - 3em);\n }\n}\n", "// Entry point for ol/ul/dl web styling\n\n@use \"list-styles\";\n@use \"description-lists\";\n@use '../helpers/cols';\n\n// generate multi column rules for lists\n@include cols.allow-cols('li');\n\n// use .ptx-content to avoid styling lists in toc/header/etc...\n.ptx-content {\n ol,\n ul {\n\n ol,\n ul {\n // margin-top: 0.5em;\n }\n }\n\n li {\n margin-top: 0.5em;\n // margin-bottom: 0;\n\n // & > .para:first-child {\n // margin-top: 0;\n // }\n\n .li--heading-title {\n font-size: 100%;\n font-weight: normal;\n font-style: italic;\n }\n }\n} // .ptx-content\n\n.para > :is(ol, ul) {\n // add some space when inside a .para\n margin-top: 0.5em;\n margin-bottom: 0.5em;\n}\n\n// provide space for custom markers\nol > li {\n padding-left: 0.25em;\n}\n", "\n.fillin {\n display: inline-block;\n border: none;\n border-width: 1px;\n margin-right: 0.1em;\n margin-left: 0.1em;\n margin-bottom: -0.25em;\n\n &.underline {\n border-bottom-style: solid;\n border-width: 1px;\n }\n\n &.box {\n outline: 1px solid var(--body-text-color);\n height: 1.3em;\n }\n\n &.shade {\n background-color: var(--fillin-background-color, #eee);\n height: 1.3em;\n }\n}\n\n\n:root.dark-mode {\n --fillin-background-color: #444;\n}\n", "// headings for standard page elements - sections/articles/etc...\n// more specialized headings (exercises) should be defined in the specific component\n// complex stylizing (like boxes) should be done by \"chunks\"\n\n// reset size/margin for headings\n.heading:is(h1, h2, h3, h4, h5, h6) {\n margin: 0;\n font-size: unset;\n}\n\n.heading {\n line-height: 1.1;\n font-family: var(--font-headings);\n font-weight: 700;\n margin-top: 0;\n margin-bottom: 0;\n}\n\nsection > .heading {\n font-size: 1.75em;\n color: var(--body-title-color);\n line-height: 1.25em;\n margin-top: 2.5em;\n margin-bottom: 0.5em;\n\n // pull in any following items that default to a larger top margin\n & + * {\n margin-top: 0.5em;\n }\n}\n\n.ptx-content > section > .heading {\n //first heading on page\n margin-top: 0.5em;\n}\n\nsection section > .heading {\n font-size: 1.5em;\n margin-top: 2em;\n}\n\nsection section section > .heading {\n font-size: 1.40em;\n margin-top: 2em;\n}\n\n\narticle > .heading {\n font-size: 1.25em;\n margin-top: 1.5em;\n\n // pull in any following items that default to a larger top margin\n & + * {\n margin-top: 0.5em;\n }\n}\n\n.paragraphs > .heading {\n font-size: 1.125em;\n}\n\n// heading followed by no content and then a subsection that starts with heading\n:is(section, article) > .heading + :is(section, article) > .heading {\n margin-top: 0.5em;\n}\n\n// smaller headings on phone screens\n@media screen and (max-width: 480px) {\n section > .heading {\n font-size: 1.5em;\n line-height: 1.33em;\n margin-top: 1em;\n }\n section section > .heading {\n font-size: 1.3em;\n line-height: 1.15em;\n }\n section section section > .heading {\n font-size: 1.15em;\n line-height: 1em;\n }\n}\n\n.heading.hide-type > .type {\n display: none;\n}\n", "\n// Reset for all links\na {\n color: var(--link-text-color);\n text-decoration: none;\n\n &:hover,\n &:focus {\n text-decoration: none;\n }\n}\n\n\na[href^=\"mailto:\"] {\n white-space: pre;\n}\n\n\n// Body links. .ptx-content to avoid hitting navbar, toc, etc...\n.ptx-content {\n a.internal {\n color: var(--link-text-color);\n font-weight: bold;\n }\n a.external {\n color: var(--link-alt-text-color);\n font-weight: bold;\n }\n a.internal:hover, a.internal:hover *,\n a.internal:focus, a.internal:focus * {\n color: var(--link-active-text-color);\n background-color: var(--link-active-background);\n font-weight: bold;\n }\n a.external:hover, a.external:hover *,\n a.external:focus, a.external:focus * {\n color: var(--link-alt-active-text-color);\n background-color: var(--link-alt-active-background);\n font-weight: bold;\n }\n}\n", "// limit rules targeting basic elements to just content area\n.ptx-content {\n table {\n border-spacing: 0;\n border-collapse: collapse;\n }\n\n td {\n padding: 2px 5px;\n font-size: 90%;\n\n img {\n max-width: 200px;\n margin-right: 30px;\n }\n }\n\n th {\n padding: 2px 5px;\n }\n\n // generate alignment/border mixin classes for both th and td\n @each $cell-type in (th, td) {\n #{$cell-type} {\n .lines {\n white-space: nowrap;\n }\n\n // horizontal alignment options\n @each $class, $align in (l: left, c: center, r: right, j: justify) {\n &.#{$class} {\n text-align: $align;\n }\n }\n\n // vertical alignment options\n @each $class, $align in (t: top, b: bottom, m: middle) {\n &.#{$class} {\n vertical-align: $align;\n }\n }\n\n // border options\n @each $side, $side-symbol in (left: l, right: r, top: t, bottom: b) {\n @for $i from 0 through 3 {\n &.#{$side-symbol}#{$i} {\n @if $i ==0 {\n border-#{$side}: none;\n }\n\n @else {\n border-#{$side}: #{$i}px solid var(--body-text-color);\n }\n }\n }\n }\n }\n }\n\n\n // when cells do not have a border on left and right, add padding\n th.r0.l0,\n td.r0.l0 {\n padding-left: 0.8em;\n padding-right: 0.8em;\n }\n\n tr.header-vertical {\n th {\n writing-mode: vertical-rl;\n padding-left: 2em;\n }\n }\n\n .center {\n table {\n text-align: center;\n margin-left: auto;\n margin-right: auto;\n }\n }\n}\n\n// Rules with non-generic targeting\n\n.tabular-box {\n margin-top: 0.5em; //minimum space above to separate from figcaption\n overflow-x: auto;\n}\n\n.tabular-box.natural-width table {\n margin-left: auto;\n margin-right: auto;\n}\n\n// More specific types of tables\n\ntable.notation-list {\n tr {\n th {\n text-align: left;\n margin-left: 1em;\n }\n\n td {\n text-align: left;\n vertical-align: top;\n }\n }\n}\n\n\n\n", "// Styles for the items that are (at least generally) a part of the front matter\n// There are some pretty generic class names. Those get wrapped with a class\n// limiting their scope to the expected page\n\n.frontmatter {\n & > .heading {\n display: block;\n text-align: center;\n }\n\n & > .heading .title,\n .book > .heading .title {\n font-size: 1.3em;\n }\n\n & > .heading .subtitle,\n .book > .heading .subtitle {\n display: block;\n font-weight: normal;\n color: var(--byline-color);\n font-size: 0.875em;\n line-height: 1.42857em;\n margin-top: 0.35714em;\n }\n\n & > .para:first-of-type {\n margin-top: 4em;\n }\n\n & > .author,\n & > .credit {\n margin-top: 2em;\n text-align: center;\n }\n\n .author:first-of-type {\n margin-top: 4em;\n }\n\n & > .author .author-name {\n font-size: 120%;\n }\n\n .date {\n display: block;\n margin-top: 2em;\n text-align: center;\n }\n\n .credit .title {\n font-size: 1em;\n }\n\n .credit .author {\n font-size: 0.9em;\n margin-top: 0.75em;\n }\n\n .author-info {\n font-size: 90%;\n }\n\n .summary-links {\n margin-top: 4em;\n }\n\n .abstract {\n margin: 4em 2em;\n }\n\n .keywords, .support {\n margin-top: 2em;\n }\n\n .abstract, .keywords, .support {\n & > .title {\n font-size: 1.125em;\n font-weight: 600;\n line-height: 1.125em;\n display: inline;\n }\n\n & > .title::after {\n content: \".\\2009\\2009\\2009\";\n }\n\n & > .title + .para {\n display: inline;\n }\n }\n\n .colophon {\n .copyright {\n margin-top: 2.5em;\n }\n\n .license {\n margin-top: 2.5em;\n }\n }\n}\n", "\n/* Start of division toc links */\n// .ptx-content to override _links rules\n.ptx-content .summary-links {\n font-family: var(--font-headings);\n display: block;\n margin-top: 1em;\n\n a {\n color: var(--summary-link-text-color);\n background: var(--summary-link-background);\n font-size: 1.5em;\n line-height: 1.25em;\n padding: 10px 20px;\n padding-right: 60px;\n border-radius: 3px;\n position: relative;\n display: block;\n font-weight: unset;\n\n .title{\n font-style: normal;\n }\n\n .codenumber {\n margin-right: 0.41667em;\n }\n\n &::after {\n // triangles\n right: 0.83333em;\n content: \"\";\n position: absolute;\n top: 50%;\n margin-top: -0.4em;\n width: 0;\n height: 0;\n border-top: 0.4em solid transparent;\n border-bottom: 0.4em solid transparent;\n border-left: 0.4em solid var(--summary-link-text-color);\n }\n\n &:hover {\n color: var(--summary-link-hover-text-color);\n background: var(--summary-link-hover-background);\n\n // need to override work done in _links\n * {\n color: var(--summary-link-hover-text-color);\n background: var(--summary-link-hover-background);\n }\n .title {\n font-weight: normal;\n }\n\n &::after {\n border-left: 0.4em solid var(--summary-link-hover-text-color);\n } \n } \n }\n\n ul {\n list-style-type: none;\n padding: 0;\n margin-top: 0;\n }\n\n li {\n margin-top: 5px;\n }\n}\n\n@media screen and (width <= 480px) {\n .ptx-content .summary-links a {\n //shrink on mobile\n font-size: 100%;\n line-height: 1.25em;\n }\n}\n", "$border-radius: 0px !default;\n\n.ptx-footnote {\n display: inline-block;\n position: relative;\n}\n\n.ptx-footnote[open] {\n display: contents;\n}\n\n\n.ptx-footnote[open] .ptx-footnote__number::before {\n font-size: smaller;\n content: \"[x]\";\n visibility: visible;\n vertical-align: super;\n}\n\n.ptx-footnote[open] .ptx-footnote__number sup {\n display: none;\n}\n\n.ptx-footnote__number {\n display: inline-block;\n cursor: pointer;\n min-width: 1em; //hopefully enough space...\n}\n\n.ptx-footnote__number::marker {\n content: \"\";\n}\n\n.ptx-footnote__contents {\n display: block;\n font-style: italic;\n background: var(--knowl-background);\n border-radius: $border-radius;\n padding: 8px;\n margin: 4px auto;\n width: fit-content;\n max-width: calc(100% - 60px);\n border: 2px solid var(--knowl-border-color);\n //reset color/weight/size in case used in block that changed them\n // e.g. theorem title in denver\n color: var(--body-text-color);\n font-weight: normal;\n font-size: var(1rem);\n}\n", "\n\n/* the index at the back of the book */\n// TODO - refactor\n\n\n.navbar .indexnav {\n position: absolute;\n top: 46px;\n right: 0;\n}\n\n.mininav {\n float: left;\n padding-top: 0.7ex;\n padding-left: 1ex;\n}\n\n\n.indexjump {\n margin-left: 1.5ex;\n margin-top: 0.2ex;\n padding-top: 0;\n float: left;\n line-height: 0.95;\n}\n\n.indexjump a {\n padding-left: 2.5px;\n padding-right: 0.5px;\n width: 2.5ex;\n/*\n* * omitted, because we put a space in the source\n* padding-right: 3px;\n* */\n margin-right: -1px;\n color: inherit;\n font-size: 80%;\n text-align: center;\n}\n.indexjump a::after{\n content: \"\";\n display: inline-block;\n}\n.indexjump a:nth-of-type(14){\n padding-left: 1.8ex;\n}\n.indexjump a:last-child {\n padding-right: 10px;\n}\n\n.indexjump a:hover {\n background: var(--activated-content-bg);\n}\n\n.indexitem {\n margin-top: 4px;\n}\n\n.subindexitem {\n margin-left: 2em;\n font-size: 95%;\n margin-top: -1px;\n}\n\n.subsubindexitem {\n margin-left: 3.5em;\n font-size: 95%;\n margin-top: -1px;\n}\n\n.indexknowl {\n margin-left: 0.11em;\n}\nem + .indexknowl {\n margin-left: -0.25em;\n}\n.indexknowl a {\n margin-left: 2em;\n}\n\n.indexitem .see,\n.subindexitem .see,\n.subsubindexitem .see {\n margin-left: 1em;\n margin-right: 0;\n}\n.indexitem .seealso,\n.subindexitem .seealso,\n.subsubindexitem .seealso {\n margin-left: 1em;\n margin-right: 0;\n}\n.indexitem .see em,\n.subindexitem .see em,\n.subsubindexitem .see em,\n.indexitem .seealso em,\n.subindexitem .seealso em,\n.subsubindexitem .seealso em {\n margin-right: 0.25em;\n font-style: italic;\n}\n/* note that multiple things after \"see\" are in separate spans */\n.indexitem .see + .see,\n.subindexitem .see + .see,\n.subsubindexitem .see + .see,\n.indexitem .seealso + .seealso,\n.subindexitem .seealso + .seealso,\n.subsubindexitem .seealso + .seealso {\n margin-left: 0;\n margin-right: 0;\n}\n\n.indexitem .indexknowl {\n font-size: 90%;\n}\n\n.indexitem [data-knowl], .subindexitem [data-knowl], .indexitem [data-knowl]:hover {\n padding-right: 2px;\n padding-left: 2px;\n}\n.indexknowl [data-knowl]:hover, .indexknowl .active[data-knowl] {\n margin-left: 2em;\n}\n\n.subindexitem .indexknowl {\n font-size: 95%;\n}\n.subsubindexitem .indexknowl {\n font-size: 95%;\n}\n\n.indexletter {\n margin-top: 1.5em;\n}\n", "// ---------------------------------------------\n// containers for images, audio, video, and asymptote\n.image-box,\n.audio-box,\n.video-box,\n.asymptote-box {\n position: relative;\n}\n\n.image-box .asymptote-box iframe.asymptote,\niframe.asymptote,\n.video-box .video,\n.video-box .video-poster {\n position: absolute; top: 0; left: 0; width: 100%; height: 100%;\n}\n\n// images in containers should grow to fit space\n.image-box img,\nimg.contained {\n width: 100%;\n}\n\n// ---------------------------------------------\n// images\n.ptx-content img, .ptx-content svg {\n // for body images in dark mode, we want to be able to force a light colored background\n // as most transparent images will assume that the background is white\n background: var(--ptx-image-bg);\n}\n// but mermaid svg should always have a transparent background\n.mermaid > svg {\n background: none;\n}\n\n.image-description {\n summary {\n list-style: none; // no marker\n cursor: pointer;\n }\n}\n\n// download links after an image\n.image-archive {\n margin: 0.75em auto 0;\n font-family: var(--font-monospace);\n justify-content: center;\n display: flex;\n gap: 0.5em;\n}\n\n// TODO - refactor mag_popup JS and CSS\n// was .ptx-content .image-box > img:not(.draw_on_me):not(.mag_popup)\n.image-box > img:not(.mag_popup) {\n cursor: zoom-in;\n}\n\nimg.mag_popup {\n border: 1px solid #666;\n box-shadow: 4px 6px 4px #999;\n cursor: zoom-out;\n}\n\n.mag_popup_container {\n width:100%;\n position:absolute;\n z-index:1001;\n overflow-x: visible;\n}\n\n// ---------------------------------------------\n// other\n.audio {\n width: 100%;\n}\n\n.video-poster {\n cursor: pointer;\n}\n", "figure {\n clear: both;\n position: relative;\n\n // override browser margins\n margin-left: 0;\n margin-right: 0;\n}\n\nfigcaption {\n margin-left: auto;\n margin-right: auto;\n margin-top: 0.5em;\n\n code.code-inline {\n white-space: pre;\n }\n \n .codenumber,\n .type {\n font-weight: 700;\n }\n\n // add n-dashes\n .codenumber::after,\n .type:last-of-type::after {\n content: \"\\2002\";\n }\n\n // make sure first para comes right after title\n .para:first-of-type {\n display: inline;\n }\n}\n\n// tables are inset\nfigure.table-like {\n margin-left: 30px;\n margin-right: 30px;\n\n // but lists can go full right\n .list {\n margin-right: 0;\n }\n}\n\n@media (max-width <= 943px){\n .figure-like {\n overflow-x: auto;\n }\n}\n", "/* style for poems */\n.poem {\n display: table;\n margin: 0 auto;\n width: auto;\n max-width: 90%;\n}\n\n.poem > .heading {\n display: block;\n text-align: center;\n}\n\nsection article.poem > .heading::after {\n content: \"\";\n}\n\n.poem > .heading > .title {\n font-weight: bold;\n font-size: 1.2em;\n line-height: 1.2em;\n}\n\n.poem .author {\n font-style: italic;\n margin-top: 0.75em;\n}\n\n.poem .author.left {\n text-align: left;\n}\n\n.poem .author.center {\n text-align: center;\n}\n\n.poem .author.right {\n text-align: right;\n}\n\n.poem .stanza > .heading {\n text-align: center;\n font-weight: bold;\n font-size: 1em;\n line-height: 1em;\n}\n\n.poem .stanza + .stanza {\n margin-top: 1em;\n}\n\n.poem .heading + .stanza {\n margin-top: 0.2em;\n}\n\n.poem .heading + .line {\n margin-top: 0.2em;\n}\n\n.poem .line.left {\n text-align: left;\n margin-left: 4em;\n text-indent: -4em;\n}\n\n.poem .line.center {\n text-align: center;\n}\n\n.poem .line.right {\n text-align: right;\n}\n\n.poem .tab {\n margin-left: 2em;\n}\n", "@use '../chunks/codelike';\n\n// Prism stylesheets built locally as default ones don't support light/dark switching\n// this is a merged version of the default and dark themes\n\n// Default prism styling\n// Blocks\npre[class*=\"language-\"] {\n margin: 0;\n overflow: auto;\n border: 1px solid #e1e1e1;\n}\n\n// Inline code\n:not(pre) > code[class*=\"language-\"] {\n padding: .1em;\n border-radius: .3em;\n white-space: normal;\n}\n\ncode[class*=\"language-\"],\npre[class*=\"language-\"] {\n color: black;\n background: #fdfdfd;\n text-shadow: none;\n font-family: var(--font-monospace);\n text-align: left;\n white-space: pre;\n word-spacing: normal;\n word-break: normal;\n word-wrap: normal;\n line-height: 1.2;\n tab-size: 4;\n hyphens: none;\n\n &.code-inline {\n // unclobber some inline code styles\n @include codelike.code-inline-spacing();\n }\n\n &::selection,\n & ::selection {\n background: #b3d4fc;\n }\n\n .token {\n \n &:is(.comment,\n .prolog,\n .doctype,\n .cdata) {\n color: #2a9716;\n }\n \n &.punctuation {\n color: #000;\n }\n \n &.namespace {\n opacity: .9;\n }\n \n &:is(.property,\n .tag,\n .boolean,\n .number,\n .constant,\n .symbol,\n .deleted) {\n color: rgb(41, 120, 15);\n }\n \n &:is(.selector,\n .attr-name,\n .string,\n .char,\n .builtin,\n .regex,\n .inserted) {\n color: #a11;\n }\n \n &:is(.operator,\n .entity,\n .url) {\n color: #000;\n background: none;\n }\n \n &:is(.atrule,\n .attr-value,\n .keyword) {\n color: #0679B7;\n }\n \n &.function,\n &.class-name {\n color: #30a;\n }\n \n &.important,\n &.variable {\n color: rgb(0, 0, 0);\n }\n \n \n &.important,\n &.bold {\n font-weight: bold;\n }\n \n &.italic {\n font-style: italic;\n }\n \n &.entity {\n cursor: help;\n }\n }\n \n // -------------------------------------------\n // Line numbers\n &.line-numbers {\n position: relative;\n padding-left: 3.8em;\n counter-reset: linenumber;\n overflow: auto;\n \n > code {\n position: relative;\n white-space: inherit\n }\n \n .line-numbers-rows {\n position: absolute;\n pointer-events: none;\n top: 0;\n font-size: 100%;\n left: -3.8em;\n width: 3em;\n letter-spacing: -1px;\n border-right: 1px solid #999;\n user-select: none\n }\n \n .line-numbers-rows > span {\n display: block;\n counter-increment: linenumber\n }\n \n .line-numbers-rows > span::before {\n content: counter(linenumber);\n color: #999;\n display: block;\n padding-right: .8em;\n text-align: right\n }\n }\n \n \n // -------------------------------------------\n // Line highlighting\n .line-highlight {\n position: absolute;\n margin-top: 4px; // tune to match padding of containing pre\n left: 0;\n right: 0;\n padding: inherit 0;\n font-size: inherit;\n background: hsla(24, 20%, 50%, 8%);\n pointer-events: none;\n line-height: inherit;\n white-space: pre\n }\n}\n\n// -------------------------------------------\n// Dark mode\n:root.dark-mode {\n \n /* Code blocks */\n pre[class*=\"language-\"] {\n border: 1px solid #3d3d3d;\n }\n \n \n // Darker styling to match Runesone's code mirror theme\n code[class*=\"language-\"],\n pre[class*=\"language-\"] {\n color: white;\n background: hsl(0, 0%, 8%);\n \n &::selection,\n & ::selection {\n background: hsl(200, 4%, 16%);\n }\n \n /* Make the tokens sit above the line highlight so the colours don't look faded. */\n .token {\n position: relative;\n z-index: 1;\n \n &:is(.comment,\n .prolog,\n .doctype,\n .cdata) {\n color: #68a950;\n }\n \n &.punctuation {\n color: white;\n opacity: 1;\n }\n \n &.namespace {\n opacity: .9;\n }\n \n &:is(.property,\n .tag,\n .boolean,\n .number,\n .constant,\n .symbol,\n .deleted) {\n color: #abc792;\n }\n \n &:is(.selector,\n .attr-name,\n .string,\n .char,\n .builtin,\n .regex,\n .inserted) {\n color: #ca9147;\n }\n \n &:is(.operator,\n .entity,\n .url) {\n color: white;\n }\n \n &:is(.atrule,\n .attr-value,\n .keyword) {\n color: #2d94fb;\n }\n \n &.function,\n &.class-name {\n color: #e3e1c2;\n }\n \n &.important,\n &.bold {\n font-weight: bold;\n }\n \n &.italic {\n font-style: italic;\n }\n \n &.entity {\n cursor: help;\n }\n \n }\n }\n \n .line-highlight {\n background: hsla(0, 0%, 33%, 10%);\n border-bottom: 1px dashed hsl(0, 0%, 33%);\n border-top: 1px dashed hsl(0, 0%, 33%);\n z-index: 0;\n }\n}\n\n@media print {\n code[class*=\"language-\"],\n pre[class*=\"language-\"] {\n .line-highlight {\n color-adjust: exact\n }\n }\n}\n", "// TODO - refactor\n\n.displaymath {\n overflow-x: auto;\n overflow-y: hidden;\n}\n\n.displaymath mjx-container[jax=\"CHTML\"][display=\"true\"] {\n margin: 0 0 0 0; // container is going to apply margin, so remove it from mjx-container\n padding-top: 2px; // Chrome sometimes clips the top 1-2 pixels of math after it has been scaled - provide room for that content\n}\n\n.process-math mjx-container svg {\n // remove the background that is normally applied to svg's by PreTeXt CSS\n // we use .process-math instead of .displaymath to get inline math as well.\n background: none;\n}\n\n// ?\n[data-knowl] > mjx-mrow .TEX-I {\n font-family: MJXZERO !important;\n font-style: normal !important;\n}\n\n/* remove this when MathJax fixes the bug that was setting the width to 0 */\n/* as in $x=0$. becomes $x=0\\text{.}$ */\n.knowl mjx-mtext > mjx-utext,\nmjx-mtext > mjx-utext {\n width: revert !important;\n}\nmjx-msup mjx-utext,\nmjx-msub mjx-utext {\n display: inline;\n}\n", "// TODO - refactor\n$opacity: 0.0 !default;\n\n/*\nSo that we can position things (like .autopermalink) absolutely wrt these items.\nAny element whose permalink should be positioned directly to the left of it\nshould be in this list.\n*/\nsection,\narticle,\nli,\nblockquote,\nfigcaption,\ndt,\n.exercisegroup,\n.discussion-like,\n.solution-like,\n.para {\n position: relative;\n}\n\n.autopermalink {\n position: absolute;\n display: inline-block;\n top: 0.5ex;\n left: -2em;\n font-size: 85%;\n // variable allows theme to set different opacities for dark/light\n opacity: var(--permalink-opacity, $opacity);\n transition: opacity 0.2s;\n margin-top: 0 !important;\n}\n\nli > .autopermalink {\n left: -3.5em;\n}\n\n.autopermalink > * {\n padding-left: 0.2em;\n padding-right: 0.2em;\n}\n\n\n// Move permalink for division titles etc a little bit lower\n.appendix > .autopermalink,\n.chapter > .autopermalink,\n.index > .autopermalink,\n.section > .autopermalink,\n.subsection > .autopermalink,\n.references > .autopermalink,\n.exercises > .autopermalink {\n top: 1.5ex;\n}\n\n// In some styles, the autopermalink for paras land right on the border line.\n// This is an attempt to fix that. TODO: find a more robust solution, maybe\n// using a variable for the left offset of paras inside blocks.\n.assemblage-like > .para > .autopermalink,\n.example-like > .para > .autopermalink,\n.example-like > .exercise-like > .autopermalink,\n.project-like > .para > .autopermalink,\n.project-like > .exercise-like > .autopermalink,\n.project-like > .exercise-like > .introduction > .para > .autopermalink,\n.project-like > .exercise-like > .conclusion > .para > .autopermalink,\n.remark-like > .para > .autopermalink {\n left: -2.9em;\n}\n\n\n.axiom-like, .example-like, .exercise-like, .solution-like, .assemblage-like, .definition-like, .remark-like, .project-like, .openproblem-like, .computation-like, .theorem-like, .proof, .case, li, dd {\n > .para:first-of-type > .autopermalink {\n display:none;\n }\n\n > .introduction > .para:first-of-type > .autopermalink {\n display:none;\n }\n}\n\n\n// Hover effects\n\n.ptx-content:has(.autopermalink:hover) .autopermalink {\n opacity: 0.2;\n}\n\n.ptx-content:has(.autopermalink:hover) .autopermalink:hover {\n opacity: 1;\n}\n\n.autopermalink:has(a:focus-visible) {\n opacity: 1;\n}\n\n.permalink-alert {\n position: absolute;\n top: -3em;\n left: 5em;\n padding: 1.5em 2em;\n background: var(--content-background);\n border: 3px solid var(--page-border-color);\n z-index: 2001;\n}\n\n\n/* when jumping to a permalink, push down so sticky navbar does not cover */\n:target {\n scroll-margin-top: 45px;\n // the \"pink flash\" when navigating to a target\n animation: target-fade 10s 1;\n}\n\n@keyframes target-fade {\n 0% { background-color: var(--activated-content-bg) }\n 100% {\n background-color: inherit;\n opacity: 1;\n }\n}\n", "\n// Miscellaneous stylized content blocks that are not complex enough\n// to warrant their own file\n\nem.alert {\n font-weight: bold;\n}\n\n.bib {\n margin-top: 0.25em;\n\n .bibitem {\n display: inline-block;\n vertical-align: top;\n width: 7%;\n margin-right: 0;\n }\n \n .bibitem + .bibentry {\n display: inline-block;\n width: 90%;\n margin-top: 0;\n }\n}\n\n\n\n.caption {\n margin-top: 10px;\n margin-left: auto;\n margin-right: auto;\n font-size: 100%;\n text-align: center;\n}\n\n\n.contributor {\n margin-top: 1.5ex;\n\n &:first-child {\n margin-top: 0em;\n }\n\n & + .para {\n margin-top: 3ex;\n }\n\n .contributor-name {\n font-variant: small-caps;\n }\n\n .contributor-info {\n font-size: 88%;\n font-style: italic;\n margin-left: 3ex;\n }\n}\n\n\n// Icon font settings\n.material-symbols-outlined {\n font-variation-settings:\n 'FILL' 0,\n 'wght' 400,\n 'GRAD' 0,\n 'opsz' 24\n}\n\n\niframe {\n margin: 0;\n border: none;\n}\n\n\n.kbdkey {\n background: #f1f1f1;\n color: #333;\n border: 1px solid #dddddd;\n border-radius: 3px;\n padding: 1px 2px 0 2px;\n vertical-align: 0.1em;\n font-size: 110%;\n line-height: 1;\n box-shadow: 2px 2px grey;\n display: inline-block;\n margin-right: 3px;\n}\n\n\n.unit,\n.quantity {\n white-space: nowrap;\n word-spacing: -0.25ex;\n margin-right: 0.125em;\n\n sub, sup {\n word-spacing: normal;\n }\n}\n\n\n.terminology {\n font-style: italic;\n font-weight: bold;\n}\n\n\n\n.times-sign {\n font-size: larger;\n vertical-align: -0.15ex;\n}\n\n\n.emphasis {\n font-style: italic;\n\n .emphasis {\n font-weight: bold;\n }\n}\n\n.definition-like .emphasis {\n font-weight: 700;\n}\narticle.theorem-like .emphasis {\n font-weight: 700;\n}\n\n.para {\n line-height: 1.35;\n}\n\n.hidden {\n display: none !important;\n}\n\n/* genus and species in italics */\n.taxon {\n font-style: italic;\n}\n\n.quote {\n padding-left: 40px;\n padding-right: 10px;\n margin-bottom: 1em;\n}\n\n.booktitle {\n font-style: oblique;\n}\n\n/* Adapted from William Hammond (attributed to David Carlisle) */\n/* \"mathjax-users\" Google Group, 2015-12-27 */\n\n.latex-logo {font-family: \"PT Serif\", \"Times New Roman\", Times, serif;}\n\n.latex-logo .A {font-size: 75%; text-transform: uppercase; vertical-align: .5ex;\n margin-left: -.48em; margin-right: -.2em;}\n\n.latex-logo .E {vertical-align:-.5ex; text-transform: uppercase;\n margin-left: -.18em; margin-right: -.12em; }\n", "// Basic rules for printing a standard PreTeXt page\n\n// Get rid of UI elements.\n// Leave margin fiddling for system print dialog.\n\n// Worksheet and handout printing is handled in print-worksheet.scss\n\n@media print {\n .pretext .ptx-masthead,\n .pretext .ptx-navbar,\n body.pretext > a.assistive,\n .pretext .ptx-page > .ptx-sidebar,\n .pretext .ptx-page-footer,\n .pretext .ptx-main > div.ptx-content-footer {\n display:none;\n }\n\n .ptx-page, .ptx-main, .ptx-main .ptx-content {\n all: unset !important;\n width: 100%;\n border: none;\n padding: 0;\n margin: 0;\n }\n\n .ptx-sagecell, .tabular, .table-like, .figure-like, .exercise-like {\n break-inside: avoid;\n }\n\n .heading {\n break-after: avoid;\n }\n\n .code-inline {\n border: unset;\n background: unset;\n }\n\n @page {\n margin: 0.75in 0.75in 0.75in 0.75in;\n }\n}\n", "// TODO refactor\n\n// Rules in this file apply to both screen and print\n// Print specific rules should go in a file in targets/print-worksheet stylesheet\n@use 'components/helpers/buttons-default' as buttons;\n\n.heading .print-links {\n float: right;\n vertical-align: bottom;\n .print-link {\n font-family: var(--font-body);\n padding: 0.1em 0.2em;\n }\n .material-symbols-outlined {\n margin-top:5pt;\n }\n}\n\n", "// TODO - refactor\n// Make conditional on use of google search???\n\n.pretext .searchwrapper {\n max-width: 900px;\n position: absolute;\n right: 0;\n bottom: 0;\n margin-bottom: 39px;\n}\n\n.pretext .searchwrapper .cse .gsc-control-cse,\n.pretext .searchwrapper .cse .gsc-control-cse input,\n.searchwrapper .gsc-control-cse {\n padding: 5px;\n}\n\n// .pretext .searchwrapper .cse .gsc-search-button input.gsc-search-button-v2,\n// .searchwrapper input.gsc-search-button-v2 {\n// padding: 2px 2px;\n// }\n\n// .pretext .searchwrapper form.gsc-search-box {\n// margin: 0;\n// }\n\n// .pretext .searchwrapper table.gsc-search-box {\n// margin: 0;\n// }\n\n// .pretext .searchwrapper .gsc-search-box-tools .gsc-search-box .gsc-input {\n// padding: 0;\n// }\n\n// .pretext .searchwrapper .gsib_a {\n// padding: 0 0 0 5px;\n// }\n\n// .pretext .searchwrapper .gsc-input-box {\n// height: 3.0ex;\n// }\n\n// .pretext .searchwrapper form.gsc-search-box {\n// font-size: 12px;\n// }\n", "\n@use 'components/helpers/buttons-default' as buttons;\n\n.searchbox {\n\n .searchwidget {\n height: 100%;\n }\n \n .searchresultsplaceholder {\n position: fixed;\n top: 5vh;\n bottom: 5vh;\n padding: 1em;\n left: max(10vw, calc(100vw - 800px) / 2);\n width: 80vw;\n max-width: 800px;\n border: 2px solid var(--body-text-color);\n background: var(--knowl-background, #eaf0f6);\n z-index: 5000;\n display: flex;\n flex-direction: column;\n }\n\n .searchresultsplaceholder article {\n width: 60%;\n margin-left: auto;\n margin-right: auto;\n font-family: sans-serif;\n }\n\n .search-results-controls {\n display: flex;\n justify-content: space-between;\n align-items: stretch;\n gap: 10px;\n margin-bottom: 1em;\n height: 35px;\n }\n\n .ptxsearch {\n flex: 1 1;\n }\n \n\n .closesearchresults {\n @include buttons.ptx-button;\n }\n\n .detailed_result {\n margin-bottom: 10px;\n }\n\n .searchresults a:hover {\n text-decoration: underline;\n background: var(--link-active-background);\n }\n\n\n .searchresults {\n padding-left: 10px;\n margin-top: 0;\n overflow-y: auto;\n flex: 1 1;\n background: var(--content-background, white);\n border: 1px solid var(--page-border-color, #ccc);\n }\n\n .searchresults:empty {\n display: none;\n }\n \n .search-result-bullet {\n list-style-type: none;\n }\n\n .search-result-score {\n display: none;\n }\n\n //result qualities\n .no_result {\n font-size: 90%;\n font-weight: 200;\n }\n\n .low_result {\n font-weight: 200;\n }\n\n .medium_result {\n font-weight: 500;\n }\n .high_result {\n font-weight: 700;\n }\n\n .searchempty {\n display: none;\n padding-left: 10px;\n padding-top: 5px;\n }\n\n .search-results-unshown-count {\n margin-top: 0.6em;\n }\n\n .search-result-clip-highlight {\n background: var(--searchresultshighlight);\n }\n\n .searchresultsbackground {\n position: fixed;\n top: 0;\n background: var(--searchresultsbackground, white);\n width: 100vw;\n height: 100%;\n left: 0;\n z-index: 4999;\n }\n\n @media screen and (max-width: 800px) {\n .searchresultsplaceholder {\n bottom: 10vh;\n }\n }\n}\n\n:root {\n --searchresultsbackground: #fff8;\n --searchresultshighlight: rgba(255, 255, 0, 50%);\n}\n\n:root.dark-mode {\n --searchresultsbackground: #0008;\n --searchresultshighlight: rgba(255, 255, 0, 15%);\n}\n", "$border-radius: 0 !default;\n\n@mixin ptx-button(\n $border-radius: $border-radius\n) {\n font: inherit;\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 0 10px;\n gap: 10px;\n min-height: 34px;\n color: var(--button-text-color);\n background-color: var(--button-background);\n border-width: 1px;\n border-color: var(--button-border-color);\n border-style: solid;\n border-radius: $border-radius;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n cursor: pointer;\n\n // Disable accidental text-selection\n user-select: none;\n\n &:hover:not(.disabled) {\n color: var(--button-hover-text-color);\n background-color: var(--button-hover-background);\n }\n\n &:focus-visible {\n outline: 2px solid var(--button-text-color);\n outline-offset: -2px;\n }\n\n &.disabled {\n opacity: .4;\n cursor: not-allowed;\n }\n\n &.hidden {\n display: none;\n }\n\n &.open {\n color: var(--button-hover-text-color);\n background-color: var(--button-hover-background);\n }\n}\n\n@mixin ptx-dropdown-button {\n position: relative;\n\n .dropdown-content {\n display: none;\n position: absolute;\n background-color: var(--dropdown-background);\n min-width: 160px;\n z-index: 100;\n border: 1px solid var(--dropdown-border-color);\n right: 0;\n top: 35px;\n text-align: start;\n padding: 0;\n\n a {\n display: block;\n text-decoration: none;\n color: var(--dropdown-text-color);\n padding: 2px 8px;\n\n &:is(:hover, :focus-visible) {\n background-color: var(--dropdown-hover-background);\n color: var(--dropdown-hover-text-color);\n }\n }\n\n hr {\n color: var(--dropdown-border-color);\n margin: 4px 0;\n }\n }\n\n &:is(:hover, :focus-visible, :focus-within) {\n overflow: visible;\n\n .dropdown-content {\n display: block;\n }\n }\n}\n", "// extra specific to override Runestone margin\n.ptx-content .ptx-runestone-container .runestone {\n margin: unset;\n border-radius: 0;\n border-width: 1px;\n}\n\n// avoid label splitting into multiple lines\n.multiplechoice_section label > .para {\n display: inline;\n}\n\n// extra specific to override Runestone margin\n.ptx-content .ptx-runestone-container .ac_question { \n max-width: var(--base-content-width);\n margin: 0 auto 10px;\n}\n\n.runestone .runestone_caption {\n // caption is always just something like \"ActiveCode\" in PTX\n display: none;\n}\n\n\n/* to undo Runestone's draganddrop.css */\n.ptx-content .ptx-runestone-container .rsdraggable {\n font-size: 100%;\n}\n\n// Unsure if still needed\n/* hack for runestone */\n/* to undo Runestone's presentermode.css */\n.ptx-content .bottom {\n position: unset;\n}\n\n// override Runestone's pre formatting with these extra specific rules\n.ptx-runestone-container .runestone code,\n.ptx-runestone-container .runestone pre {\n font-size: .93rem;\n line-height: 1.2;\n font-family: var(--font-monospace);\n}\n\n// override Runestone's pre formatting with these extra specific rules\n.ptx-runestone-container code[class*=\"language-\"],\n.ptx-runestone-container pre[class*=\"language-\"] {\n color: black;\n background: #fdfdfd;\n}\n\n//Fixup datafile captions\n.runestone.datafile {\n .datafile_caption {\n background: var(--code-inline-background);\n border: 1px solid color-mix(in oklab, var(--code-inline-background) 50%, #888);\n display: block;\n width: fit-content;\n margin: 0 auto;\n }\n img {\n margin: 0 auto;\n display: block;\n border: 1px solid color-mix(in oklab, var(--code-inline-background) 50%, #888);\n }\n pre, textarea {\n margin: 0 auto;\n border: 1px solid color-mix(in oklab, var(--code-inline-background) 50%, #888);\n background-color: var(--page-color);\n }\n}\n.runestone.datafile + .program {\n margin-top: 0;\n}\n\n// RS does not care what kind of element is used\n// PTX chooses to use a ul, so we will fix margins for it here instead of RS\nul[data-component=\"timedAssessment\"] {\n margin: 0;\n padding: 0;\n}\n\n:root.dark-mode {\n // Darker styling to match Runesone's code mirror theme\n .ptx-runestone-container code[class*=\"language-\"],\n .ptx-runestone-container pre[class*=\"language-\"] {\n color: white;\n background: hsl(0, 0%, 8%);\n }\n}\n", "// TODO - needs refactoring and dark mode update\n\n@use 'components/helpers/buttons-default' as buttons;\n\n/* WW problems */\n.ptx-content .wwprob table.attemptResults {\n margin-left: 2em;\n background: #efefef;\n padding: 0.2em;\n}\n\n.ptx-content .wwprob table.attemptResults + .attemptResultsSummary {\n margin-top: 1em;\n}\n\n.ptx-content .wwprob .problem-main-form {\n margin-top: 1em;\n background: #eeeeff;\n padding: 0.5em;\n}\n\n.ptx-content .wwprob td.ResultsWithoutError {\n background: #9f9;\n}\n\n.ptx-content .wwprob td.ResultsWithError {\n background: #f99;\n}\n\n.ptx-content .wwprob tr th {\n text-align: center;\n padding: 0.2em 1em 0.2em 1em;\n}\n\n.ptx-content .wwprob tr td {\n text-align: center;\n}\n\n.ptx-content .wwprob tr td:empty {\n background: #fff;\n}\n\n.ptx-content .wwprob ol,\n.ptx-content .wwprob ul {\n margin-top: 0.75em !important;\n}\n\n.ptx-content .wwprob .problem {\n background: #fdfdfd;\n}\n\n.ptx-content .wwprob .problem a {\n text-decoration: none;\n}\n\n.ptx-content .wwprob #footer {\n font-size: 70%;\n text-align: right;\n}\n\n/* interactive WeBWorK */\n\nlabel.webwork {\n display: inline-flex;\n flex-direction: column;\n}\n\nlabel.correct .status {\n background-color: #a0f0a0;\n}\n\nlabel.partly-correct .status {\n color: #ffcc66;\n}\n\nlabel.incorrect .status {\n color: #b00;\n}\n\nlabel.incorrect .status::before {\n content: \" \";\n}\n\nlabel.feedback {\n word-wrap: break-word;\n}\n\nlabel.correct .feedback {\n background-color: #00ffcc;\n}\n\nlabel.partly-correct .feedback {\n color: #ffcc66;\n}\n\nlabel.incorrect .feedback {\n color: #e07070;\n}\n\n.webwork img,\n.webwork + .knowl-output img {\n max-width: 100%;\n}\n\n// Make the default margin for items inside the exercise-wrapper similar to\n// default for items in a section\n.exercise-wrapper > *:not(:first-child) {\n margin-top: 1.5em;\n}\n\n.ptx-content .problem-buttons {\n display: flex;\n}\n\n.ptx-content .webwork-button {\n @include buttons.ptx-button;\n}\n\n//.hidden-content used to be used for knowls and got repurposed for hiding webwork contents\n// now just used by webwork\n.problem-buttons.hidden-content,\n.problem-contents.hidden-content {\n display: none;\n}\n", "// TODO - refactor\n\n.sagecell_sessionOutput pre {\n font-family: var(--font-monospace);\n}\n\n.sagecell {\n white-space: normal;\n margin-top: 1.25em;\n margin-bottom: 1.25em;\n}\n\n.sage-interact.sagecell {\n margin: 0;\n}\n\n.sagecell_evalButton {\n font-family: var(--font-body);\n font-size: 16px;\n padding: 0 0.65em;\n}\n\n.sagecell_evalButton {\n cursor: pointer;\n display: inline-block;\n vertical-align: middle;\n /* Disable accidental text-selection */\n user-select: none;\n /* Truncate overflowing text with ellipsis */\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n border-width: 1px;\n border-style: solid;\n font-weight: bold;\n border-radius: 3px;\n}\n\n.sagecell_evalButton {\n color: #383838;\n background-image: linear-gradient(#f7f7f7, #bbbbbb);\n border-color: #c4c4c4;\n}\n\n.sagecell_evalButton:hover {\n color: #181868;\n background-image: linear-gradient(#bbbbbb, #f7f7f7);\n}\n\n.sagecell_evalButton:focus,\n.sagecell_evalButton:active {\n color: #20160b;\n background-image: linear-gradient(#ff6852, #ffd7d1);\n border-color: #ff2822;\n}\n\n.sagecell .sagecell_editor {\n margin-bottom: 8px;\n}\n\n.sageanswer {\n font-family: monospace;\n white-space: pre;\n margin-left: 3em;\n margin-bottom: 2em;\n}\n\n.sageanswer .key {\n display: inline-block;\n vertical-align: top;\n margin-right: 1em;\n}\n\n.sageanswer .output {\n display: inline-block;\n vertical-align: top;\n}\n", "// GeoGebra calculator\n\n$navbar-breakpoint: 856px !default;\n\n.calculator-container {\n position: fixed;\n z-index: 100;\n bottom: 5px;\n right: 5px;\n width: 253px;\n height: 460px;\n}\n\n@media screen and (max-width: $navbar-breakpoint) {\n .calculator-container {\n //assumes navbar moves to bottom of screen\n bottom: 50px !important;\n }\n}\n", "/*\n Master list of color variables and default values.\n Variables are defined in SCSS to allow for calculation of values. They are\n then converted to CSS variables for use in the HTML so authors can, if\n need be, override them with custom CSS.\n\n Any new variable should be added to this file and either defined to another\n variable or given a reasonable default value for the red-blue default theme.\n\n Variables should be semantic, not descriptive\n i.e. --link-color, not --pretty-blue\n*/\n\n@use \"sass:map\";\n\n// ==============================================================================\n// Light theme\n\n// ==============================================================================\n// Page structures\n\n$colors: (\n // Background of page (gutters if any)\n \"page-color\": white,\n // Background of content area\n \"content-background\": white,\n // Border around content area - also possibly used for internal borders\n \"page-border-color\": #ccc,\n\n // ------------------------------------------------------------------------------\n // Banner/nav related\n\n \"doc-title-color\": #932919,\n \"byline-color\": #333,\n \"banner-background\": #fafafa,\n \"navbar-background\": #ededed,\n \"footer-background\": var(--banner-background),\n\n // ------------------------------------------------------------------------------\n // TOC related\n\n \"toc-border-color\": #666,\n \"toc-background\": var(--content-background),\n\n \"tocitem-background\": var(--toc-background),\n \"toc-text-color\": var(--body-text-color),\n\n // highlight styles are used for hover\n \"tocitem-highlight-background\": #671d12,\n \"tocitem-highlight-text-color\": white,\n \"tocitem-highlight-border-color\": var(--toc-border-color),\n \n // active styles are used for the current toc item\n \"tocitem-active-background\": #671d12,\n \"tocitem-active-text-color\": white,\n \"tocitem-active-border-color\": var(--toc-border-color),\n\n // level based colors for TOC\n // levels are not necessarily all used\n // see the toc-basics.scss for how these are determined\n \"toclevel1-background\": var(--content-background),\n \"toclevel1-text-color\": var(--toc-text-color),\n \"toclevel2-background\": var(--content-background),\n \"toclevel2-text-color\": var(--toc-text-color),\n \"toclevel3-background\": var(--content-background),\n \"toclevel3-text-color\": var(--toc-text-color),\n\n\n // ==============================================================================\n // Content\n // ==============================================================================\n\n // ------------------------------------------------------------------------------\n // Text & titles\n\n \"body-text-color\": #000,\n \"body-title-color\": #000,\n\n \"ptx-image-bg\": transparent,\n \"activated-content-bg\": rgba(241, 185, 255, 30%),\n\n \"summary-link-background\": var(--button-background),\n \"summary-link-text-color\": var(--button-text-color),\n \"summary-link-hover-background\": var(--button-hover-background),\n \"summary-link-hover-text-color\": var(--button-hover-text-color),\n\n // ------------------------------------------------------------------------------\n // Links & knowls\n\n \"link-text-color\": #2B5F82,\n \"link-background\": transparent,\n \"link-active-text-color\": var(--link-text-color),\n \"link-active-background\": #cad2e1,\n\n \"link-alt-text-color\": #A62E1C,\n \"link-alt-background\": transparent,\n \"link-alt-active-text-color\": var(--link-alt-text-color),\n \"link-alt-active-background\": #e3d1ce,\n\n \"knowl-link-color\": var(--link-text-color),\n \"knowl-background\": #f5f8ff,\n \"knowl-border-color\": #e0e9ff,\n \"knowl-nested-1-background\": #f5f5ff,\n \"knowl-nested-2-background\": #fffff5,\n \"knowl-nested-3-background\": #f5ffff,\n \"knowl-nested-4-background\": #fff5f5,\n\n // ------------------------------------------------------------------------------\n // Blocks\n\n // Fall back generic block colors:\n \"block-body-background\": var(--content-background),\n \"block-border-color\": var(--knowl-border-color),\n \"block-head-color\": var(--body-text-color),\n\n // See below for specific block types\n \n \"aside-like-link-color\": var(--link-text-color),\n\n // ------------------------------------------------------------------------------\n // Buttons & Widgets\n\n \"button-background\": #ededed,\n \"button-text-color\": #333333,\n \"button-border-color\": #ccc,\n \"button-hover-background\": #c7c7c7,\n \"button-hover-text-color\": var(--button-text-color),\n\n \"dropdown-background\": var(--content-background),\n \"dropdown-border-color\": var(--toc-border-color),\n \"dropdown-text-color\": var(--toc-text-color),\n \"dropdown-hover-background\": var(--tocitem-active-background),\n \"dropdown-hover-text-color\": var(--tocitem-active-text-color),\n\n // ------------------------------------------------------------------------------\n // Other\n \"code-background\": #fdfdfd,\n \"code-inline-background\": #ededed,\n);\n\n// ==============================================================================\n// Block types\n\n// Variables for specific block types should look like those below. In this file\n// only \"top level\" blocks from the -like families are defined. \n// Other themes/color palettes may define\n// more specific ones - see palette_quad_chunks.scss for an example.\n\n// block-types based on those in entities.ent\n$block-types: \"assemblage-like\", \"definition-like\", \"theorem-like\", \"theorem-like\", \"axiom-like\", \"remark-like\", \"computation-like\", \"openproblem-like\", \"aside-like\", \"proof-like\", \"example-like\", \"project-like\", \"goal-like\", \"solution-like\";\n// TODO - \"proof\" should probably be updated to \"proof-like\" in HTML css\n\n@each $block in $block-types {\n $colors: map.merge(\n $colors,\n (\n // define background and border, but default to generic block colors\n \"#{$block}-body-background\": var(--block-body-background),\n \"#{$block}-border-color\": var(--block-border-color),\n )\n );\n}\n", "// This file contains functions and mixins for working with colors in SCSS\n\n@use \"sass:map\";\n@use \"sass:color\";\n\n@mixin set-root-colors($colors, $dark-colors: null) {\n :root {\n color-scheme: light;\n // prevent variable leak through to dark\n &:not(.dark-mode) {\n @include scss-to-css($colors);\n }\n }\n\n @if $dark-colors {\n :root.dark-mode {\n color-scheme: dark;\n @include scss-to-css($dark-colors);\n }\n }\n}\n\n// Renders a map of SCSS variables as CSS variables\n@mixin scss-to-css($colors) {\n @each $name, $value in $colors {\n --#{$name}: #{$value};\n }\n}\n\n// Create a map of colors that blend $color with $other at $mix-amounts\n// The resulting map will have keys of the form 'color-other-10'\n// Indicating 10% of other mixed into color\n@function mixes($color, $other, $mix-amounts) {\n $result: ();\n\n @each $i in $mix-amounts {\n $result: map.set($result, '#{$color}-#{$other}-#{$i}', 'color-mix(in oklab, var(--#{$color}), #{$other} #{$i}%)');\n }\n\n @return $result;\n}\n\n$std-mixes: (1, 2, 3, 4, 5, 10, 15, 20, 25, 30, 35, 40, 50, 60, 65, 70, 75, 80, 85, 90, 95, 96, 97, 98, 99);\n\n// Creates a map of color blends for a given color\n// By default it creates blends with black, white, and gray at $std-mixes amounts\n// Mixing is done using css color-mix function so that if a theme file has the base\n// css variable overridden, the blends will be updated accordingly\n@function get-blends($color, $shades: $std-mixes, $tints: $std-mixes, $tones: $std-mixes, ) {\n $shades: mixes($color, black, $std-mixes);\n $tints: mixes($color, white, $std-mixes);\n $tones: mixes($color, gray, $std-mixes);\n\n $blends: map.merge(\n $tints,\n $shades\n );\n\n $blends: map.merge(\n $blends,\n $tones\n );\n @return $blends;\n}\n\n//--------------------------------------------------------------------------\n// https://jonnykates.medium.com/automating-colour-contrast-ratios-with-sass-e201f3b52797\n// Formula there has a typo, need parens around the sum of the three color channels\n\n@function text-contrast($color, $light: #ffffff, $dark: #000000) {\n $color-brightness: round(\n (\n (color.red($color) * 299) +\n (color.green($color) * 587) +\n (color.blue($color) * 114)\n ) / 1000\n );\n\n $light-color: round(\n (\n (color.red(#ffffff) * 299) +\n (color.green(#ffffff) * 587) +\n (color.blue(#ffffff) * 114)\n ) / 1000\n );\n\n @if abs($color-brightness) < calc($light-color / 2){\n @return $light;\n } @else {\n @return $dark;\n }\n}\n\n// @debug \"text-contrast(#7b7b55) should be #ffffff: \" text-contrast(#7b7b55);\n// @debug \"text-contrast(#9b9b70) should be #000000: \" text-contrast(#9b9b70);\n// @debug \"text-contrast(#766f7a) should be #ffffff: \" text-contrast(#766f7a);\n// @debug \"text-contrast(#70909b) should be #000000: \" text-contrast(#70909b);\n//--------------------------------------------rgb(25, 25, 24)-----------------------\n"], + "mappings": "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0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,IAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,IAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,IAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,IAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,IAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAA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", "names": [] } diff --git a/_static/pretext/css/theme.css b/_static/pretext/css/theme.css old mode 100644 new mode 100755 index a4b58e4..ac5a6a7 --- a/_static/pretext/css/theme.css +++ b/_static/pretext/css/theme.css @@ -1,3 +1,3 @@ -@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Open Sans:ital,wght@0,400..700;1,400..700&display=swap";@import"https://fonts.googleapis.com/css2?family=PT Serif:ital,wght@0,400;0,700;1,400;1,700&display=swap";@import"https://fonts.googleapis.com/css2?family=Inconsolata:ital,wght@0,400..700;1,400..700&display=swap";:root{--base-content-width: 600px;--content-padding: 48px}body{margin:0;min-height:100vh;display:flex;flex-direction:column;align-items:stretch}body.pretext{color:var(--body-text-color);font-family:var(--font-body)}.ptx-page{position:relative;display:flex;flex-grow:1;width:100%}.ptx-main{flex-grow:1;position:relative;max-width:100%;container-name:ptx-main;container-type:inline-size}.ptx-main .ptx-content{max-width:696px;padding:24px 48px 60px}.worksheet .ptx-main .ptx-content{max-width:960px}.ptx-page{max-width:1200px;margin-left:auto;margin-right:auto}body.pretext,body.standalone{margin:0;padding:0;font-size:16px;background:var(--page-color, white)}body.pretext>a.assistive{padding:6px;position:absolute;top:-40px;left:0;color:#fff;border-right:1px solid white;border-bottom:1px solid white;border-bottom-right-radius:8px;background:#bf1722;z-index:10000}body.pretext>a.assistive:focus{top:0;outline:0;transition:top .1s ease-in,background .5s linear}.ptx-content-footer{display:flex;justify-content:space-around;max-width:696px;padding:2em 48px}.ptx-content-footer .button{font:inherit;display:flex;justify-content:center;align-items:center;padding:0 10px;gap:10px;min-height:34px;color:var(--button-text-color);background-color:var(--button-background);border-width:1px;border-color:var(--button-border-color);border-style:solid;border-radius:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;user-select:none}.ptx-content-footer .button:hover:not(.disabled){color:var(--button-hover-text-color);background-color:var(--button-hover-background)}.ptx-content-footer .button:focus-visible{outline:2px solid var(--button-text-color);outline-offset:-2px}.ptx-content-footer .button.disabled{opacity:.4;cursor:not-allowed}.ptx-content-footer .button.hidden{display:none}.ptx-content-footer .button.open{color:var(--button-hover-text-color);background-color:var(--button-hover-background)}.ptx-content-footer .button .icon{margin:0 -7px}.ptx-masthead{position:relative;background:var(--banner-background);width:100%;display:flex;justify-content:center}.ptx-masthead .ptx-banner{border-top:1px solid transparent;overflow:hidden;padding:10px;border-bottom:none;display:flex;width:100%;align-items:center;max-width:1200px}.ptx-masthead a{color:var(--doc-title-color, #2a5ea4)}.ptx-masthead a:active{color:var(--link-active-text-color)}.ptx-masthead .title-container{font-family:var(--font-headings);font-size:2em;padding-left:9.68px;overflow:hidden;flex:1}.ptx-masthead .title-container .heading{font-weight:700;font-size:100%;line-height:1.25em}.ptx-masthead .title-container .title:has(+.subtitle):after{content:":"}.ptx-masthead .title-container .subtitle{font-weight:400}.ptx-masthead .logo-link{height:5em;display:flex}.ptx-masthead .logo-link img{max-height:100%}.ptx-masthead .logo-link img[src$=".svg"]{height:100%}.ptx-masthead .byline{color:var(--byline-color);font-weight:400;margin:0;font-size:62.5%;min-height:inherit}@media screen and (max-width: 800px){.ptx-masthead{border-bottom:1px solid var(--page-border-color)}.ptx-masthead .ptx-banner{padding:10px 28px;display:flex;justify-content:center}.ptx-masthead .logo-link:before{font-size:1rem;margin-top:0}.ptx-masthead .title-container{width:fit-content;flex:unset}.ptx-masthead .title-container .heading{line-height:1em}.ptx-masthead .title-container .heading .subtitle{display:block;font-size:80%;line-height:1em}.ptx-masthead .byline{font-size:50%}}@media screen and (width <= 480px){.ptx-masthead .title-container{padding:0;text-align:center;font-size:1em}.ptx-masthead .logo-link,.ptx-masthead .byline{display:none}}.ptx-navbar{position:sticky;top:0;height:36px;width:100%;background:var(--navbar-background);border:0;border-top:1px solid var(--page-border-color);border-bottom:1px solid var(--page-border-color);margin:0;z-index:500;overflow:visible;display:flex}.ptx-navbar .ptx-navbar-contents{position:relative;display:flex;flex:1;justify-content:center;align-items:center;max-width:1200px;margin:0 auto}.ptx-navbar .button{font:inherit;display:flex;justify-content:center;align-items:center;padding:0 10px;gap:10px;min-height:34px;color:var(--button-text-color);background-color:var(--button-background);border-width:1px;border-color:var(--button-border-color);border-style:solid;border-radius:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;user-select:none}.ptx-navbar .button:hover:not(.disabled){color:var(--button-hover-text-color);background-color:var(--button-hover-background)}.ptx-navbar .button:focus-visible{outline:2px solid var(--button-text-color);outline-offset:-2px}.ptx-navbar .button.disabled{opacity:.4;cursor:not-allowed}.ptx-navbar .button.hidden{display:none}.ptx-navbar .button.open{color:var(--button-hover-text-color);background-color:var(--button-hover-background)}.ptx-navbar .button{height:100%;border-width:0}.ptx-navbar .toc-toggle{width:240px;gap:.4em;margin-left:0}.ptx-navbar :is(.treebuttons,.nav-runestone-controls,.nav-other-controls){display:flex}.ptx-navbar .treebuttons{flex:1 1 210px;justify-content:end}.ptx-navbar .nav-runestone-controls{flex:1 1 70px;justify-content:end}.ptx-navbar .pretext .navbar .dropdown{height:34px}.ptx-navbar .embed-popup{padding:10px;background-color:var(--navbar-background);position:absolute;margin-top:36px;border:1px solid var(--page-border-color);border-radius:3px;box-shadow:0 0 5px var(--primary-color-gray-80)}.ptx-navbar .embed-popup .embed-code-container{width:"100%";padding:5px}.ptx-navbar .embed-popup .embed-code-container .embed-code-textbox{width:100%;padding:10px;height:5em}.ptx-navbar .treebuttons>*{display:flex;align-items:center;justify-content:center;min-width:75px}.ptx-navbar .treebuttons .icon{margin:0 -7px}.ptx-navbar :is(.index-button) .icon{display:none}.ptx-navbar :is(.runestone-profile,.activecode-toggle,.searchbutton,.calculator-toggle,.light-dark-button,.embed-button) .name{display:none}.ptx-navbar .index-button{min-width:70px}.runestone-profile{position:relative}.runestone-profile .dropdown-content{display:none;position:absolute;background-color:var(--dropdown-background);min-width:160px;z-index:100;border:1px solid var(--dropdown-border-color);right:0;top:35px;text-align:start;padding:0}.runestone-profile .dropdown-content a{display:block;text-decoration:none;color:var(--dropdown-text-color);padding:2px 8px}.runestone-profile .dropdown-content a:is(:hover,:focus-visible){background-color:var(--dropdown-hover-background);color:var(--dropdown-hover-text-color)}.runestone-profile .dropdown-content hr{color:var(--dropdown-border-color);margin:4px 0}.runestone-profile:is(:hover,:focus-visible,:focus-within){overflow:visible}.runestone-profile:is(:hover,:focus-visible,:focus-within) .dropdown-content{display:block}@media screen and (max-width: 800px){.ptx-navbar .button{border-left-width:1px;border-right-width:1px;border-color:var(--page-border-color)}.ptx-navbar>*:not(:first-child){margin-left:-1px}.ptx-navbar{position:fixed;inset:auto 0 0;z-index:1100;background:var(--button-border-color);max-width:100vw}.ptx-navbar .ptx-navbar-contents{max-width:100vw}.ptx-navbar .nav-runestone-controls{flex:0}.ptx-navbar .toc-toggle{flex:2 1 100px}.ptx-navbar .treebuttons{flex:3 1 150px}.ptx-navbar .treebuttons>*{flex:1 1;min-width:35px}.ptx-navbar .index-button{display:none}.ptx-navbar .embed-popup{margin-top:unset;bottom:36px}.ptx-navbar .dropdown-content{top:unset;bottom:36px}.ptx-navbar :is(.toc-toggle,.previous-button,.up-button,.next-button,.calculator-toggle,.index-button,.embed-button) .name{display:none}}.ptx-sidebar{align-self:flex-start}.ptx-sidebar.visible{display:block}.ptx-sidebar.hidden{display:none;height:0}.ptx-toc{--codenumber-pad-left: .3rem;--codenumber-pad-right: .5rem;--toc-indent-first: calc(1rem + var(--codenumber-pad-left) + var(--codenumber-pad-right));--toc-indent-second: calc(1.7rem + var(--codenumber-pad-left) + var(--codenumber-pad-right));--toc-indent-third: calc(2.2rem + var(--codenumber-pad-left) + var(--codenumber-pad-right));background:var(--toc-background);margin:0;font-size:.9rem}.ptx-toc:is(.depth1,.parts.depth2){--codenumber-pad-right: .5rem}.ptx-toc .toc-item-list{margin:0;padding:0;list-style:none;background:var(--tocitem-background)}.ptx-toc .toc-item-list .active{list-style:none}.ptx-toc .toc-item{background-color:var(--tocitem-background);color:var(--toc-text-color);border-color:var(--toc-border-color)}.ptx-toc .toc-item a{color:inherit}.ptx-toc .toc-item.active:not(:has(.toc-item.active)){color:var(--tocitem-active-text-color)!important;background-color:var(--tocitem-active-background)!important;border-color:var(--tocitem-active-border-color)!important}.ptx-toc .toc-item>.toc-title-box>a:is(:hover,:focus){color:var(--tocitem-highlight-text-color);background-color:var(--tocitem-highlight-background);border-color:var(--tocitem-highlight-border-color)}.ptx-toc .toc-title-box{display:flex}.ptx-toc .toc-title-box>.internal{position:relative;display:flex;flex-grow:1;padding:.2em;font-weight:500}.ptx-toc .toc-item-list .toc-item-list .toc-title-box>.internal{font-weight:400}.ptx-toc .codenumber{min-width:var(--toc-indent-first);padding-left:var(--codenumber-pad-left);padding-right:var(--codenumber-pad-right);display:inline-block;text-align:left;flex-grow:0}.ptx-toc .toc-item{color:var(--toclevel1-text-color);background-color:var(--toclevel1-background)}.ptx-toc .toc-item .toc-item{color:var(--toclevel2-text-color);background-color:var(--toclevel2-background)}.ptx-toc .toc-item .toc-item .toc-item{color:var(--toclevel3-text-color);background-color:var(--toclevel3-background)}.book .ptx-toc .toc-chapter .toc-item-list .codenumber,.article .ptx-toc .toc-section .toc-item-list .codenumber,.ptx-toc .toc-backmatter .toc-item-list .codenumber{font-size:80%;padding-top:.16em;min-width:var(--toc-indent-second)}.book .ptx-toc .toc-chapter .toc-item-list .toc-item-list .codenumber,.article .ptx-toc .toc-section .toc-item-list .toc-item-list .codenumber,.ptx-toc .toc-backmatter .toc-item-list .toc-item-list .codenumber{min-width:var(--toc-indent-third);visibility:hidden}.ptx-toc .toc-item-list .toc-item-list .toc-item-list a:is(:hover,:focus)>.codenumber{visibility:visible}.ptx-toc .toc-item .toc-title-box .title{margin-left:var(--toc-indent-first)}.book .ptx-toc .toc-chapter .toc-item-list .title,.article .ptx-toc .toc-section .toc-item-list .title,.ptx-toc .toc-backmatter .toc-item-list .title{margin-left:var(--toc-indent-second)}.book .ptx-toc .toc-chapter .toc-item-list .toc-item-list .title,.article .ptx-toc .toc-section .toc-item-list .toc-item-list .title,.ptx-toc .toc-backmatter .toc-item-list .toc-item-list .title{margin-left:var(--toc-indent-third)}.ptx-toc .toc-item>.toc-title-box .codenumber+.title{margin-left:0!important}.ptx-toc .toc-chapter .toc-item-list .title,.ptx-toc .toc-section .toc-item-list .title,.ptx-toc .toc-backmatter .toc-item-list .toc-item-list .title{font-size:90%}.ptx-toc .toc-chapter .toc-item-list .toc-item-list .title,.ptx-toc .toc-section .toc-item-list .toc-item-list .title,.ptx-toc .toc-backmatter .toc-item-list .toc-item-list .toc-item-list .title{font-style:italic}.ptx-toc.depth0 ul.structural,.ptx-toc.depth1 ul.structural ul.structural,.ptx-toc.depth2 ul.structural ul.structural ul.structural,.ptx-toc.depth3 ul.structural ul.structural ul.structural ul.structural,.ptx-toc.depth4 ul.structural ul.structural ul.structural ul.structural ul.structural{display:none}.ptx-toc.depth1 ul.structural .toc-item.contains-active{background-color:var(--tocitem-active-backgrounde);color:var(--tocitem-active-text-color)}.ptx-toc.depth2 ul.structural ul.structural .toc-item.contains-active{background-color:var(--tocitem-active-background);color:var(--tocitem-active-text-color)}.ptx-toc.focused ul.structural:not(.contains-active)>.toc-item{display:none}.ptx-toc.focused ul.structural:not(.contains-active)>.toc-item.visible{display:block}.ptx-toc.focused ul.structural .toc-item.active>ul.structural>.toc-item{display:block}.ptx-toc.focused ul.structural .toc-item.active>ul.structural>.toc-item.hidden{display:none}.ptx-toc.focused .toc-expander{border:0;padding:2px 5px;background:inherit;color:inherit;display:flex;align-items:center}.ptx-toc.focused .toc-expander .icon{font-size:1.25em;line-height:18px;font-variation-settings:"wght" 200}.ptx-toc.focused .toc-expander:is(:hover){background-color:var(--tocitem-highlight-background);color:var(--tocitem-highlight-text-color)}.ptx-toc.focused .toc-expander:is(:hover) .icon{fill:var(--tocitem-highlight-text-color)}.ptx-toc.focused .toc-item>.toc-title-box>.toc-expander>.icon:before{content:"add"}.ptx-toc.focused .toc-item.expanded>.toc-title-box>.toc-expander>.icon:before{content:"remove"}.ptx-sidebar{flex:0 0 240px;position:sticky;top:36px;overflow-y:hidden}.ptx-toc{position:sticky;top:36px;overflow-y:auto;overflow-x:hidden;height:calc(100vh - 36px);margin-top:-1px}.ptx-toc>.toc-item-list:first-child>.toc-item:last-child{border-bottom:3px solid var(--toc-border-color)}@media screen and (max-width: 936px){.ptx-sidebar{display:none;position:sticky;top:36px;background:var(--content-background);min-height:30vh;border-right:2px solid var(--toc-border-color);border-bottom:2px solid var(--toc-border-color);width:240px}}@media screen and (max-width: 800px){.ptx-sidebar{position:fixed;z-index:1000;top:unset;height:auto;max-height:80vh;max-width:80vw;bottom:36px;border-right:2px solid var(--toc-border-color);border-top:2px solid var(--toc-border-color)}.ptx-toc{border-top:2px solid var(--toc-border-color);border-bottom:0;max-height:80vh}}.ptx-page-footer{background:var(--footer-background);padding-top:0;border-top:2px solid var(--page-border-color);border-bottom:2px solid var(--page-border-color);display:flex;flex-direction:row;justify-content:center;width:100%;gap:90px;position:relative}.ptx-page-footer>a{margin:1em 0;color:var(--body-text-color)}.ptx-page-footer>a>.logo:first-child{height:3em;width:unset;margin:0}.ptx-page-footer .feedback-link{font:inherit;display:flex;justify-content:center;align-items:center;padding:0 10px;gap:10px;min-height:34px;color:var(--button-text-color);background-color:var(--button-background);border-width:1px;border-color:var(--button-border-color);border-style:solid;border-radius:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;user-select:none}.ptx-page-footer .feedback-link:hover:not(.disabled){color:var(--button-hover-text-color);background-color:var(--button-hover-background)}.ptx-page-footer .feedback-link:focus-visible{outline:2px solid var(--button-text-color);outline-offset:-2px}.ptx-page-footer .feedback-link.disabled{opacity:.4;cursor:not-allowed}.ptx-page-footer .feedback-link.hidden{display:none}.ptx-page-footer .feedback-link.open{color:var(--button-hover-text-color);background-color:var(--button-hover-background)}@media screen and (max-width: 800px){.ptx-page-footer{gap:20px;justify-content:center;margin-bottom:34px}.ptx-page-footer>a>.logo:first-child{height:2em}}@container ptx-main (width < 696px){.ptx-page>.ptx-main .ptx-content{padding-left:28px;padding-right:28px;max-width:656px}}.aside-like>.knowl__link{color:var(--aside-like-link-color);border-bottom-color:var(--aside-like-link-color)}.aside-like>.knowl__content{margin-left:30px;margin-right:30px;border:2px solid var(--aside-like-border-color);background-color:var(--aside-like-body-background)}@media screen and (min-width: 1280px){details.aside-like{position:relative;margin-left:-248px;width:200px;right:-248px;float:right;clear:right}.multicolumn details.aside-like{position:relative;margin-left:inherit;width:auto;right:0;float:none;clear:none}details.aside-like>.knowl__content{margin-left:0;margin-right:0;background-color:var(--aside-like-body-background);z-index:100}}.code-box{overflow-x:auto}.code-display{overflow-x:auto;font-family:var(--font-monospace)}.console,.program{border:1px solid var(--page-border-color);padding:5px 15px;overflow-x:auto;margin:0;font-family:var(--font-monospace);background:var(--code-background);font-size:.93rem;line-height:1.2}.code-inline{font-family:var(--font-monospace);white-space:pre;color:var(--body-text-color);background:var(--code-inline-background);border:1px solid color-mix(in oklab,var(--code-inline-background) 50%,#888);border-radius:.2em;display:inline-block;overflow-x:auto;max-width:100%;vertical-align:middle;line-height:normal;padding:.0625em .15em}.prompt.unselectable{user-select:none}.code-block{border-left:1px solid #aaa;padding:0 15px 5px;overflow-x:auto;margin-top:0;margin-bottom:0;font-family:var(--font-monospace);background:var(--code-background);font-size:.93rem;line-height:1.2}.code-block:before{content:" ";font-size:50%;border-top:1px solid #aaa;display:block;margin-right:auto;margin-left:-15px;width:3em}.code-display{margin:.5em 0}.clipboardable:has(.code-display){margin:.25em 0}.clipboardable:has(.code-display) .code-display{margin:0;padding:.25em 0}.clipboardable{position:relative;display:flow-root}.clipboardable .code-copy{position:absolute;right:0;top:0;opacity:.25;border-width:0;background:none;cursor:pointer;z-index:1;white-space-collapse:collapse;padding:1px;scale:.85}.clipboardable .code-copy:hover{opacity:.7}.clipboardable .code-copy .checkmark{display:none}.clipboardable .code-copy.copied{opacity:1;color:#3cb371;cursor:not-allowed;pointer-events:none}.clipboardable .code-copy.copied .copyicon{display:none}.clipboardable .code-copy.copied .checkmark{display:inline}@media print{.code-copy{display:none}}:is(.cols2,.cols3,.cols4,.cols5,.cols6){display:flex;flex-wrap:wrap;justify-content:start}.cols2>.exercise-like{min-width:calc(50% - 2em);width:min-content;margin-right:2em}.cols3>.exercise-like{min-width:calc(33.3333333333% - 2em);width:min-content;margin-right:2em}.cols4>.exercise-like{min-width:calc(25% - 2em);width:min-content;margin-right:2em}.cols5>.exercise-like{min-width:calc(20% - 2em);width:min-content;margin-right:2em}.cols6>.exercise-like{min-width:calc(16.6666666667% - 2em);width:min-content;margin-right:2em}.exercise-like>.heading{font-size:inherit}.exercisegroup .exercise-like{margin-top:1em}.exercisegroup>.heading{font-size:1.1em;line-height:1.05em;margin-top:.75em;display:inline}.exercisegroup>.heading+.introduction{display:inline}.exercisegroup>.heading+.introduction>.para:first-child{display:inline}.exercisegroup .exercisegroup-exercises{margin-top:1em;padding-left:40px}.exercisegroup .conclusion{margin-left:40px}.exercisegroup .conclusion .heading{font-size:inherit}.exercise-like>.exercise-like.task{margin-left:20px}.exercise-wrapper form button:hover{cursor:pointer;background-color:#e0e0ff;border:1px solid #000}.exercise-wrapper form button:active{background-color:#f0f0f0}.exercise-wrapper form button+button{margin-left:.8em}.exercise-wrapper,.exercise-wrapper form,.exercise-wrapper form>div:first-child{display:inline-block;vertical-align:top;width:100%}.knowl .exercise-wrapper,.knowl .exercise-wrapper form,.knowl .exercise-wrapper form>div:first-child{width:100%}.exercise-wrapper>.para:first-child,.exercisegroup .exercise-wrapper>.para:first-child{margin-top:0;display:inline}.heading+.exercise-wrapper{display:inline-block;max-width:95%;width:100%}.cols2 .heading+.exercise-wrapper{width:auto}section.solutions>.heading+.heading{margin-top:.5em}section.solutions>h3.heading,section.solutions section>h3.heading{font-size:1.6em}section.solutions>h4.heading,section.solutions section>h4.heading{font-size:1.45em}section.solutions>h5.heading,section.solutions section>h5.heading{font-size:1.35em}section.solutions>h6.heading,section.solutions section>h6.heading{font-size:1.25em}.sbsgroup>*:not(:first-child){margin-top:1.5em}.sbsrow{display:grid;grid-template-rows:auto auto}.sbspanel{grid-row:1}.sbspanel>.table>figcaption{text-align:center}.sbspanel .tabular{overflow-x:auto;margin-left:auto;margin-right:auto}.sbspanel--top{align-self:start}.sbspanel--middle{align-self:center}.sbspanel--bottom{align-self:end}.sbspanel:has(.figure-like,.table-like),.sbspanel>:is(.figure-like,.table-like){display:contents}.sbspanel>:is(.figure-like,.table-like)>*:first-child{grid-row:1;align-items:start;align-self:start}.sbspanel--top>:is(.figure-like,.table-like)>*:first-child{align-items:start;align-self:start}.sbspanel--middle>:is(.figure-like,.table-like)>*:first-child{align-items:center;align-self:center}.sbspanel--bottom>:is(.figure-like,.table-like)>*:first-child{align-items:end;align-self:end}.sbspanel>:is(.figure-like,.table-like)>*:nth-child(2){margin-top:.5em;grid-row:2;width:100%}.sbspanel:nth-of-type(2) *{grid-column:2}.sbspanel:nth-of-type(3) *{grid-column:3}.sbspanel:nth-of-type(4) *{grid-column:4}.sbspanel:nth-of-type(5) *{grid-column:5}.sbspanel:nth-of-type(6) *{grid-column:6}.sbspanel:nth-of-type(7) *{grid-column:7}.sbspanel:nth-of-type(8) *{grid-column:8}.sbspanel:nth-of-type(9) *{grid-column:9}.sbspanel:nth-of-type(10) *{grid-column:10}.discussion-like>.heading:first-child{display:inline;line-height:initial;border-bottom:0}.discussion-like>.heading:first-child:after{content:"\2009"}.discussion-like>.heading:first-child+:is(.para,.para.logical,.introduction){display:inline}.discussion-like>.heading:first-child+:is(.para,.para.logical,.introduction)>.para:first-child{display:inline}.discussion-like>.heading:first-child+:is(.para,.para.logical,.introduction)>.para.logical:first-child>.para:first-child{display:inline}.discussion-like>.heading :after{content:"\2009"}.discussion-like>.heading+.para{display:inline}.discussion-like>.heading .space,.discussion-like>.heading .codenumber,.discussion-like>.heading .period{display:none}.discussion-like>.heading .type:after{content:". "}.source-view__link,.knowl__link{cursor:pointer;margin-left:.1em;margin-right:.1em;color:var(--knowl-link-color);border-bottom:1px dotted var(--knowl-link-color)}.source-view{margin:.5em 0}summary.source-view__link,summary.knowl__link{display:list-item inline}.source-view__link>*,.knowl__link>*{display:inline}.source-view__link:is(:hover,:focus,[open]),.knowl__link:is(:hover,:focus,[open]){background-color:var(--knowl-background);border-bottom-color:transparent}.source-view__content{margin:.2em 0}.knowl__content{margin:.75em 0;border:3px solid var(--knowl-border-color);border-radius:8px;padding:12px;background-color:var(--knowl-background)}.knowl__content .incontext{display:block;font-size:85%;text-align:right}.knowl__content .knowl__content{background-color:var(--knowl-nested-1-background)}.knowl__content .knowl__content .knowl__content{background-color:var(--knowl-nested-2-background)}.knowl__content .knowl__content .knowl__content .knowl__content{background-color:var(--knowl-nested-3-background)}.knowl__content .knowl__content .knowl__content .knowl__content .knowl__content{background-color:var(--knowl-nested-4-background)}.knowl__content>figure{margin-left:0;margin-right:0}.assemblage-like:not(.knowl__content,.born-hidden-knowl){border:2px solid var(--assemblage-like-border-color);background-color:var(--assemblage-like-body-background);padding:10px;border-radius:8px}.assemblage-like:not(.knowl__content,.born-hidden-knowl)>.heading:first-child{display:block;color:var(--block-head-color);margin-bottom:.5em}.assemblage-like:not(.knowl__content,.born-hidden-knowl)>*:first-child{margin-top:0}.goal-like:not(.knowl__content,.born-hidden-knowl){border:3px solid var(--goal-like-border-color);background-color:var(--goal-like-body-background);padding:20px;padding-top:calc(20px + .25ex);margin-top:2.5em!important}.goal-like:not(.knowl__content,.born-hidden-knowl)>.heading:first-child{background-color:var(--content-background);display:block;color:var(--block-head-color);margin-bottom:.5em;padding:5px 10px;margin-top:calc(-25px - 1.65ex);width:fit-content;border:0}.goal-like:not(.knowl__content,.born-hidden-knowl)>.heading:first-child:after{display:none}.knowl__content *:first-child .goal-like{margin-top:1em}.theorem-like:not(.knowl__content,.born-hidden-knowl),.definition-like:not(.knowl__content,.born-hidden-knowl),.example-like:not(.knowl__content,.born-hidden-knowl),.project-like:not(.knowl__content,.born-hidden-knowl),.remark-like:not(.knowl__content,.born-hidden-knowl),.openproblem-like:not(.knowl__content,.born-hidden-knowl),.computation-like:not(.knowl__content,.born-hidden-knowl){padding-left:10px;border-left:2px solid var(--block-border-color)}.theorem-like:not(.knowl__content,.born-hidden-knowl)>.heading:first-child,.definition-like:not(.knowl__content,.born-hidden-knowl)>.heading:first-child,.example-like:not(.knowl__content,.born-hidden-knowl)>.heading:first-child,.project-like:not(.knowl__content,.born-hidden-knowl)>.heading:first-child,.remark-like:not(.knowl__content,.born-hidden-knowl)>.heading:first-child,.openproblem-like:not(.knowl__content,.born-hidden-knowl)>.heading:first-child,.computation-like:not(.knowl__content,.born-hidden-knowl)>.heading:first-child{color:var(--block-head-color)}.theorem-like:not(.knowl__content,.born-hidden-knowl):after,.definition-like:not(.knowl__content,.born-hidden-knowl):after,.example-like:not(.knowl__content,.born-hidden-knowl):after,.project-like:not(.knowl__content,.born-hidden-knowl):after,.remark-like:not(.knowl__content,.born-hidden-knowl):after,.openproblem-like:not(.knowl__content,.born-hidden-knowl):after,.computation-like:not(.knowl__content,.born-hidden-knowl):after{content:"";border-bottom:2px solid var(--block-border-color);display:block;margin-right:auto;margin-left:-10px;padding-top:10px;width:1.5em}.knowl__content .theorem-like,.knowl__content .definition-like,.knowl__content .example-like,.knowl__content .project-like,.knowl__content .remark-like,.knowl__content .openproblem-like,.knowl__content .computation-like{padding-left:0;border-left:0}.knowl__content .theorem-like:after,.knowl__content .definition-like:after,.knowl__content .example-like:after,.knowl__content .project-like:after,.knowl__content .remark-like:after,.knowl__content .openproblem-like:after,.knowl__content .computation-like:after{display:none}.project-like:not(.knowl__content,.born-hidden-knowl):not(.knowl__content,.born-hidden-knowl){padding-left:10px;border-left:2px dotted var(--block-border-color)}.project-like:not(.knowl__content,.born-hidden-knowl):not(.knowl__content,.born-hidden-knowl)>.heading:first-child{color:var(--block-head-color)}.project-like:not(.knowl__content,.born-hidden-knowl):not(.knowl__content,.born-hidden-knowl):after{content:"";border-bottom:2px dotted var(--block-border-color);display:block;margin-right:auto;margin-left:-10px;padding-top:10px;width:1.5em}.knowl__content .project-like:not(.knowl__content,.born-hidden-knowl){padding-left:0;border-left:0}.knowl__content .project-like:not(.knowl__content,.born-hidden-knowl):after{display:none}.proof:not(.knowl__content,.born-hidden-knowl){padding-right:10px;border-right:1px solid var(--block-border-color)}.proof:not(.knowl__content,.born-hidden-knowl)>.heading:first-child{color:var(--block-head-color)}.proof:not(.knowl__content,.born-hidden-knowl):after{content:"";border-bottom:1px solid var(--block-border-color);display:block;margin-left:auto;margin-right:-10px;padding-top:10px;width:1.5em}.knowl__content .proof{padding-right:0;border-right:0}.knowl__content .proof:after{display:none}.knowl__content .theorem-like,.knowl__content .definition-like,.knowl__content .example-like,.knowl__content .project-like,.knowl__content .remark-like,.knowl__content .openproblem-like,.knowl__content .computation-like{padding-left:0;margin-left:0;border-left:none}.knowl__content .theorem-like:after,.knowl__content .definition-like:after,.knowl__content .example-like:after,.knowl__content .project-like:after,.knowl__content .remark-like:after,.knowl__content .openproblem-like:after,.knowl__content .computation-like:after{border-bottom:none;display:none}section.solutions:not(:is(:first-child)):not(.knowl__content,.born-hidden-knowl){padding:10px 10px 10px 15px;border-left:10px solid var(--page-border-color);background-color:var(--content-background)}section.solutions:not(:is(:first-child)):not(.knowl__content,.born-hidden-knowl)>.heading:first-child{margin-top:0}.paragraphs>.heading:first-child,article>.heading:first-child{display:inline;line-height:initial;border-bottom:0}.paragraphs>.heading:first-child:after,article>.heading:first-child:after{content:"\2009"}.paragraphs>.heading:first-child+:is(.para,.para.logical,.introduction),article>.heading:first-child+:is(.para,.para.logical,.introduction){display:inline}.paragraphs>.heading:first-child+:is(.para,.para.logical,.introduction)>.para:first-child,article>.heading:first-child+:is(.para,.para.logical,.introduction)>.para:first-child{display:inline}.paragraphs>.heading:first-child+:is(.para,.para.logical,.introduction)>.para.logical:first-child>.para:first-child,article>.heading:first-child+:is(.para,.para.logical,.introduction)>.para.logical:first-child>.para:first-child{display:inline}*{box-sizing:border-box}@layer spacing{:is(section,article,.knowl__content)>*:not(:first-child){margin-top:1.5em}:is(section,article,.knowl__content)>.para+.para{margin-top:1em}.ptx-content :is(ul,td,li,dd,.blockquote,.sbspanel,.para.logical)>*:not(:first-child){margin-top:.5em}}ol.no-marker,ul.no-marker,li.no-marker{list-style-type:none}ol.decimal{list-style-type:decimal}ol.lower-alpha{list-style-type:lower-alpha}ol.lower-alpha-level-1>li::marker{content:"(" counter(list-item,lower-alpha) ") "}ol.upper-alpha{list-style-type:upper-alpha}ol.lower-roman{list-style-type:lower-roman}ol.upper-roman{list-style-type:upper-roman}ul.disc{list-style-type:disc}ul.square{list-style-type:square}ul.circle{list-style-type:circle}dl:is(.description-list,.glossary){margin:0}dl:is(.description-list,.glossary) dt{font-weight:700;max-width:55ex}dl:is(.description-list,.glossary) dd:after{content:"";display:block;clear:both}.para>dl:is(.description-list){margin-top:.5em;margin-bottom:.5em}dl.glossary dt{margin-top:1.25em}dl.glossary dt:first-of-type{margin-top:0}dl.glossary dd{margin-left:5ex}dl.description-list dt,dl.description-list dd{margin-top:1em}dl.description-list dt:first-of-type,dl.description-list dd:first-of-type{margin-top:0}dl.description-list dt{float:left;clear:both;text-align:right;width:18ex;margin-right:1ex}dl.description-list dd{margin-left:22ex}dl.description-list.narrow dt{width:11ex}dl.description-list.narrow dd{margin-left:15ex}dl.description-list.wide dt{width:25ex}dl.description-list.wide dd{margin-left:29ex}dl.description-list dt:first-of-type{clear:none}.description-list+*{clear:both}dl.description-list dl dt{width:8ex}dl.description-list dd dd{margin-left:18ex}dl.description-list dl dd{margin-left:12ex}@media screen and (max-width: 480px){dl.description-list dt{float:none;margin-left:0;text-align:left}dl.description-list dd,dl.description-list.narrow dd,dl.description-list.wide dd{margin-top:.5em;margin-left:3em;max-width:calc(100% - 3em)}}.cols2>li{min-width:calc(50% - 2em);width:min-content;margin-right:2em}.cols3>li{min-width:calc(33.3333333333% - 2em);width:min-content;margin-right:2em}.cols4>li{min-width:calc(25% - 2em);width:min-content;margin-right:2em}.cols5>li{min-width:calc(20% - 2em);width:min-content;margin-right:2em}.cols6>li{min-width:calc(16.6666666667% - 2em);width:min-content;margin-right:2em}.ptx-content li{margin-top:.5em}.ptx-content li .li--heading-title{font-size:100%;font-weight:400;font-style:italic}.para>:is(ol,ul){margin-top:.5em;margin-bottom:.5em}ol>li{padding-left:.25em}.fillin{display:inline-block;border:none;border-width:1px;margin-right:.1em;margin-left:.1em;margin-bottom:-.25em}.fillin.underline{border-bottom-style:solid;border-width:1px}.fillin.box{outline:1px solid var(--body-text-color);height:1.3em}.fillin.shade{background-color:var(--fillin-background-color, #eee);height:1.3em}:root.dark-mode{--fillin-background-color: #444}.heading:is(h1,h2,h3,h4,h5,h6){margin:0;font-size:unset}.heading{line-height:1.1;font-family:var(--font-headings);font-weight:700;margin-top:0;margin-bottom:0}section>.heading{font-size:1.75em;color:var(--body-title-color);line-height:1.25em;margin-top:2.5em;margin-bottom:.5em}section>.heading+*{margin-top:.5em}.ptx-content>section>.heading{margin-top:.5em}section section>.heading{font-size:1.5em;margin-top:2em}section section section>.heading{font-size:1.4em;margin-top:2em}article>.heading{font-size:1.25em;margin-top:1.5em}article>.heading+*{margin-top:.5em}.paragraphs>.heading{font-size:1.125em}:is(section,article)>.heading+:is(section,article)>.heading{margin-top:.5em}@media screen and (max-width: 480px){section>.heading{font-size:1.5em;line-height:1.33em;margin-top:1em}section section>.heading{font-size:1.3em;line-height:1.15em}section section section>.heading{font-size:1.15em;line-height:1em}}.heading.hide-type>.type{display:none}a{color:var(--link-text-color);text-decoration:none}a:hover,a:focus{text-decoration:none}a[href^="mailto:"]{white-space:pre}.ptx-content a.internal{color:var(--link-text-color);font-weight:700}.ptx-content a.external{color:var(--link-alt-text-color);font-weight:700}.ptx-content a.internal:hover,.ptx-content a.internal:hover *,.ptx-content a.internal:focus,.ptx-content a.internal:focus *{color:var(--link-active-text-color);background-color:var(--link-active-background);font-weight:700}.ptx-content a.external:hover,.ptx-content a.external:hover *,.ptx-content a.external:focus,.ptx-content a.external:focus *{color:var(--link-alt-active-text-color);background-color:var(--link-alt-active-background);font-weight:700}.ptx-content table{border-spacing:0;border-collapse:collapse}.ptx-content td{padding:2px 5px;font-size:90%}.ptx-content td img{max-width:200px;margin-right:30px}.ptx-content th{padding:2px 5px}.ptx-content th .lines{white-space:nowrap}.ptx-content th.l{text-align:left}.ptx-content th.c{text-align:center}.ptx-content th.r{text-align:right}.ptx-content th.j{text-align:justify}.ptx-content th.t{vertical-align:top}.ptx-content th.b{vertical-align:bottom}.ptx-content th.m{vertical-align:middle}.ptx-content th.l0{border-left:none}.ptx-content th.l1{border-left:1px solid var(--body-text-color)}.ptx-content th.l2{border-left:2px solid var(--body-text-color)}.ptx-content th.l3{border-left:3px solid var(--body-text-color)}.ptx-content th.r0{border-right:none}.ptx-content th.r1{border-right:1px solid var(--body-text-color)}.ptx-content th.r2{border-right:2px solid var(--body-text-color)}.ptx-content th.r3{border-right:3px solid var(--body-text-color)}.ptx-content th.t0{border-top:none}.ptx-content th.t1{border-top:1px solid var(--body-text-color)}.ptx-content th.t2{border-top:2px solid var(--body-text-color)}.ptx-content th.t3{border-top:3px solid var(--body-text-color)}.ptx-content th.b0{border-bottom:none}.ptx-content th.b1{border-bottom:1px solid var(--body-text-color)}.ptx-content th.b2{border-bottom:2px solid var(--body-text-color)}.ptx-content th.b3{border-bottom:3px solid var(--body-text-color)}.ptx-content td .lines{white-space:nowrap}.ptx-content td.l{text-align:left}.ptx-content td.c{text-align:center}.ptx-content td.r{text-align:right}.ptx-content td.j{text-align:justify}.ptx-content td.t{vertical-align:top}.ptx-content td.b{vertical-align:bottom}.ptx-content td.m{vertical-align:middle}.ptx-content td.l0{border-left:none}.ptx-content td.l1{border-left:1px solid var(--body-text-color)}.ptx-content td.l2{border-left:2px solid var(--body-text-color)}.ptx-content td.l3{border-left:3px solid var(--body-text-color)}.ptx-content td.r0{border-right:none}.ptx-content td.r1{border-right:1px solid var(--body-text-color)}.ptx-content td.r2{border-right:2px solid var(--body-text-color)}.ptx-content td.r3{border-right:3px solid var(--body-text-color)}.ptx-content td.t0{border-top:none}.ptx-content td.t1{border-top:1px solid var(--body-text-color)}.ptx-content td.t2{border-top:2px solid var(--body-text-color)}.ptx-content td.t3{border-top:3px solid var(--body-text-color)}.ptx-content td.b0{border-bottom:none}.ptx-content td.b1{border-bottom:1px solid var(--body-text-color)}.ptx-content td.b2{border-bottom:2px solid var(--body-text-color)}.ptx-content td.b3{border-bottom:3px solid var(--body-text-color)}.ptx-content th.r0.l0,.ptx-content td.r0.l0{padding-left:.8em;padding-right:.8em}.ptx-content tr.header-vertical th{writing-mode:vertical-rl;padding-left:2em}.ptx-content .center table{text-align:center;margin-left:auto;margin-right:auto}.tabular-box{margin-top:.5em;overflow-x:auto}.tabular-box.natural-width table{margin-left:auto;margin-right:auto}table.notation-list tr th{text-align:left;margin-left:1em}table.notation-list tr td{text-align:left;vertical-align:top}.frontmatter>.heading{display:block;text-align:center}.frontmatter>.heading .title,.frontmatter .book>.heading .title{font-size:1.3em}.frontmatter>.heading .subtitle,.frontmatter .book>.heading .subtitle{display:block;font-weight:400;color:var(--byline-color);font-size:.875em;line-height:1.42857em;margin-top:.35714em}.frontmatter>.para:first-of-type{margin-top:4em}.frontmatter>.author,.frontmatter>.credit{margin-top:2em;text-align:center}.frontmatter .author:first-of-type{margin-top:4em}.frontmatter>.author .author-name{font-size:120%}.frontmatter .date{display:block;margin-top:2em;text-align:center}.frontmatter .credit .title{font-size:1em}.frontmatter .credit .author{font-size:.9em;margin-top:.75em}.frontmatter .author-info{font-size:90%}.frontmatter .summary-links{margin-top:4em}.frontmatter .abstract{margin:4em 2em}.frontmatter .keywords,.frontmatter .support{margin-top:2em}.frontmatter .abstract>.title,.frontmatter .keywords>.title,.frontmatter .support>.title{font-size:1.125em;font-weight:600;line-height:1.125em;display:inline}.frontmatter .abstract>.title:after,.frontmatter .keywords>.title:after,.frontmatter .support>.title:after{content:".\2009\2009\2009"}.frontmatter .abstract>.title+.para,.frontmatter .keywords>.title+.para,.frontmatter .support>.title+.para{display:inline}.frontmatter .colophon .copyright,.frontmatter .colophon .license{margin-top:2.5em}.ptx-content .summary-links{font-family:var(--font-headings);display:block;margin-top:1em}.ptx-content .summary-links a{color:var(--summary-link-text-color);background:var(--summary-link-background);font-size:1.5em;line-height:1.25em;padding:10px 60px 10px 20px;border-radius:3px;position:relative;display:block;font-weight:unset}.ptx-content .summary-links a .title{font-style:normal}.ptx-content .summary-links a .codenumber{margin-right:.41667em}.ptx-content .summary-links a:after{right:.83333em;content:"";position:absolute;top:50%;margin-top:-.4em;width:0;height:0;border-top:.4em solid transparent;border-bottom:.4em solid transparent;border-left:.4em solid var(--summary-link-text-color)}.ptx-content .summary-links a:hover,.ptx-content .summary-links a:hover *{color:var(--summary-link-hover-text-color);background:var(--summary-link-hover-background)}.ptx-content .summary-links a:hover .title{font-weight:400}.ptx-content .summary-links a:hover:after{border-left:.4em solid var(--summary-link-hover-text-color)}.ptx-content .summary-links ul{list-style-type:none;padding:0;margin-top:0}.ptx-content .summary-links li{margin-top:5px}@media screen and (width <= 480px){.ptx-content .summary-links a{font-size:100%;line-height:1.25em}}.ptx-footnote{display:inline-block;position:relative}.ptx-footnote[open]{display:contents}.ptx-footnote[open] .ptx-footnote__number:before{font-size:smaller;content:"[x]";visibility:visible;vertical-align:super}.ptx-footnote[open] .ptx-footnote__number sup{display:none}.ptx-footnote__number{display:inline-block;cursor:pointer;min-width:1em}.ptx-footnote__number::marker{content:""}.ptx-footnote__contents{display:block;font-style:italic;background:var(--knowl-background);border-radius:0;padding:8px;margin:4px auto;width:fit-content;max-width:calc(100% - 60px);border:2px solid var(--knowl-border-color);color:var(--body-text-color);font-weight:400;font-size:var(1rem)}.navbar .indexnav{position:absolute;top:46px;right:0}.mininav{float:left;padding-top:.7ex;padding-left:1ex}.indexjump{margin-left:1.5ex;margin-top:.2ex;padding-top:0;float:left;line-height:.95}.indexjump a{padding-left:2.5px;padding-right:.5px;width:2.5ex;margin-right:-1px;color:inherit;font-size:80%;text-align:center}.indexjump a:after{content:"";display:inline-block}.indexjump a:nth-of-type(14){padding-left:1.8ex}.indexjump a:last-child{padding-right:10px}.indexjump a:hover{background:var(--activated-content-bg)}.indexitem{margin-top:4px}.subindexitem{margin-left:2em;font-size:95%;margin-top:-1px}.subsubindexitem{margin-left:3.5em;font-size:95%;margin-top:-1px}.indexknowl{margin-left:.11em}em+.indexknowl{margin-left:-.25em}.indexknowl a{margin-left:2em}.indexitem .see,.subindexitem .see,.subsubindexitem .see,.indexitem .seealso,.subindexitem .seealso,.subsubindexitem .seealso{margin-left:1em;margin-right:0}.indexitem .see em,.subindexitem .see em,.subsubindexitem .see em,.indexitem .seealso em,.subindexitem .seealso em,.subsubindexitem .seealso em{margin-right:.25em;font-style:italic}.indexitem .see+.see,.subindexitem .see+.see,.subsubindexitem .see+.see,.indexitem .seealso+.seealso,.subindexitem .seealso+.seealso,.subsubindexitem .seealso+.seealso{margin-left:0;margin-right:0}.indexitem .indexknowl{font-size:90%}.indexitem [data-knowl],.subindexitem [data-knowl],.indexitem [data-knowl]:hover{padding-right:2px;padding-left:2px}.indexknowl [data-knowl]:hover,.indexknowl .active[data-knowl]{margin-left:2em}.subindexitem .indexknowl,.subsubindexitem .indexknowl{font-size:95%}.indexletter{margin-top:1.5em}.image-box,.audio-box,.video-box,.asymptote-box{position:relative}.image-box .asymptote-box iframe.asymptote,iframe.asymptote,.video-box .video,.video-box .video-poster{position:absolute;top:0;left:0;width:100%;height:100%}.image-box img,img.contained{width:100%}.ptx-content img,.ptx-content svg{background:var(--ptx-image-bg)}.mermaid>svg{background:none}.image-description summary{list-style:none;cursor:pointer}.image-archive{margin:.75em auto 0;font-family:var(--font-monospace);justify-content:center;display:flex;gap:.5em}.image-box>img:not(.mag_popup){cursor:zoom-in}img.mag_popup{border:1px solid #666;box-shadow:4px 6px 4px #999;cursor:zoom-out}.mag_popup_container{width:100%;position:absolute;z-index:1001;overflow-x:visible}.audio{width:100%}.video-poster{cursor:pointer}figure{clear:both;position:relative;margin-left:0;margin-right:0}figcaption{margin-left:auto;margin-right:auto;margin-top:.5em}figcaption code.code-inline{white-space:pre}figcaption .codenumber,figcaption .type{font-weight:700}figcaption .codenumber:after,figcaption .type:last-of-type:after{content:"\2002"}figcaption .para:first-of-type{display:inline}figure.table-like{margin-left:30px;margin-right:30px}figure.table-like .list{margin-right:0}@media (max-width <= 943px){.figure-like{overflow-x:auto}}.poem{display:table;margin:0 auto;width:auto;max-width:90%}.poem>.heading{display:block;text-align:center}section article.poem>.heading:after{content:""}.poem>.heading>.title{font-weight:700;font-size:1.2em;line-height:1.2em}.poem .author{font-style:italic;margin-top:.75em}.poem .author.left{text-align:left}.poem .author.center{text-align:center}.poem .author.right{text-align:right}.poem .stanza>.heading{text-align:center;font-weight:700;font-size:1em;line-height:1em}.poem .stanza+.stanza{margin-top:1em}.poem .heading+.stanza{margin-top:.2em}.poem .heading+.line{margin-top:.2em}.poem .line.left{text-align:left;margin-left:4em;text-indent:-4em}.poem .line.center{text-align:center}.poem .line.right{text-align:right}.poem .tab{margin-left:2em}pre[class*=language-]{margin:0;overflow:auto;border:1px solid #e1e1e1}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}code[class*=language-],pre[class*=language-]{color:#000;background:#fdfdfd;text-shadow:none;font-family:var(--font-monospace);text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.2;tab-size:4;hyphens:none}code[class*=language-].code-inline,pre[class*=language-].code-inline{line-height:normal;padding:.0625em .15em}code[class*=language-]::selection,code[class*=language-] ::selection,pre[class*=language-]::selection,pre[class*=language-] ::selection{background:#b3d4fc}code[class*=language-] .token:is(.comment,.prolog,.doctype,.cdata),pre[class*=language-] .token:is(.comment,.prolog,.doctype,.cdata){color:#2a9716}code[class*=language-] .token.punctuation,pre[class*=language-] .token.punctuation{color:#000}code[class*=language-] .token.namespace,pre[class*=language-] .token.namespace{opacity:.9}code[class*=language-] .token:is(.property,.tag,.boolean,.number,.constant,.symbol,.deleted),pre[class*=language-] .token:is(.property,.tag,.boolean,.number,.constant,.symbol,.deleted){color:#29780f}code[class*=language-] .token:is(.selector,.attr-name,.string,.char,.builtin,.regex,.inserted),pre[class*=language-] .token:is(.selector,.attr-name,.string,.char,.builtin,.regex,.inserted){color:#a11}code[class*=language-] .token:is(.operator,.entity,.url),pre[class*=language-] .token:is(.operator,.entity,.url){color:#000;background:none}code[class*=language-] .token:is(.atrule,.attr-value,.keyword),pre[class*=language-] .token:is(.atrule,.attr-value,.keyword){color:#0679b7}code[class*=language-] .token.function,code[class*=language-] .token.class-name,pre[class*=language-] .token.function,pre[class*=language-] .token.class-name{color:#30a}code[class*=language-] .token.important,code[class*=language-] .token.variable,pre[class*=language-] .token.important,pre[class*=language-] .token.variable{color:#000}code[class*=language-] .token.important,code[class*=language-] .token.bold,pre[class*=language-] .token.important,pre[class*=language-] .token.bold{font-weight:700}code[class*=language-] .token.italic,pre[class*=language-] .token.italic{font-style:italic}code[class*=language-] .token.entity,pre[class*=language-] .token.entity{cursor:help}code[class*=language-].line-numbers,pre[class*=language-].line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber;overflow:auto}code[class*=language-].line-numbers>code,pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}code[class*=language-].line-numbers .line-numbers-rows,pre[class*=language-].line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid #999;user-select:none}code[class*=language-].line-numbers .line-numbers-rows>span,pre[class*=language-].line-numbers .line-numbers-rows>span{display:block;counter-increment:linenumber}code[class*=language-].line-numbers .line-numbers-rows>span:before,pre[class*=language-].line-numbers .line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right}code[class*=language-] .line-highlight,pre[class*=language-] .line-highlight{position:absolute;margin-top:4px;left:0;right:0;padding:inherit 0;font-size:inherit;background:#997a6614;pointer-events:none;line-height:inherit;white-space:pre}:root.dark-mode pre[class*=language-]{border:1px solid #3d3d3d}:root.dark-mode code[class*=language-],:root.dark-mode pre[class*=language-]{color:#fff;background:#141414}:root.dark-mode code[class*=language-]::selection,:root.dark-mode code[class*=language-] ::selection,:root.dark-mode pre[class*=language-]::selection,:root.dark-mode pre[class*=language-] ::selection{background:#27292a}:root.dark-mode code[class*=language-] .token,:root.dark-mode pre[class*=language-] .token{position:relative;z-index:1}:root.dark-mode code[class*=language-] .token:is(.comment,.prolog,.doctype,.cdata),:root.dark-mode pre[class*=language-] .token:is(.comment,.prolog,.doctype,.cdata){color:#68a950}:root.dark-mode code[class*=language-] .token.punctuation,:root.dark-mode pre[class*=language-] .token.punctuation{color:#fff;opacity:1}:root.dark-mode code[class*=language-] .token.namespace,:root.dark-mode pre[class*=language-] .token.namespace{opacity:.9}:root.dark-mode code[class*=language-] .token:is(.property,.tag,.boolean,.number,.constant,.symbol,.deleted),:root.dark-mode pre[class*=language-] .token:is(.property,.tag,.boolean,.number,.constant,.symbol,.deleted){color:#abc792}:root.dark-mode code[class*=language-] .token:is(.selector,.attr-name,.string,.char,.builtin,.regex,.inserted),:root.dark-mode pre[class*=language-] .token:is(.selector,.attr-name,.string,.char,.builtin,.regex,.inserted){color:#ca9147}:root.dark-mode code[class*=language-] .token:is(.operator,.entity,.url),:root.dark-mode pre[class*=language-] .token:is(.operator,.entity,.url){color:#fff}:root.dark-mode code[class*=language-] .token:is(.atrule,.attr-value,.keyword),:root.dark-mode pre[class*=language-] .token:is(.atrule,.attr-value,.keyword){color:#2d94fb}:root.dark-mode code[class*=language-] .token.function,:root.dark-mode code[class*=language-] .token.class-name,:root.dark-mode pre[class*=language-] .token.function,:root.dark-mode pre[class*=language-] .token.class-name{color:#e3e1c2}:root.dark-mode code[class*=language-] .token.important,:root.dark-mode code[class*=language-] .token.bold,:root.dark-mode pre[class*=language-] .token.important,:root.dark-mode pre[class*=language-] .token.bold{font-weight:700}:root.dark-mode code[class*=language-] .token.italic,:root.dark-mode pre[class*=language-] .token.italic{font-style:italic}:root.dark-mode code[class*=language-] .token.entity,:root.dark-mode pre[class*=language-] .token.entity{cursor:help}:root.dark-mode .line-highlight{background:#5454541a;border-bottom:1px dashed hsl(0,0%,33%);border-top:1px dashed hsl(0,0%,33%);z-index:0}@media print{code[class*=language-] .line-highlight,pre[class*=language-] .line-highlight{color-adjust:exact}}.displaymath{overflow-x:auto;overflow-y:hidden}.displaymath mjx-container[jax=CHTML][display=true]{margin:0;padding-top:2px}.process-math mjx-container svg{background:none}[data-knowl]>mjx-mrow .TEX-I{font-family:MJXZERO!important;font-style:normal!important}.knowl mjx-mtext>mjx-utext,mjx-mtext>mjx-utext{width:revert!important}mjx-msup mjx-utext,mjx-msub mjx-utext{display:inline}section,article,li,blockquote,figcaption,dt,.exercisegroup,.discussion-like,.solution-like,.para{position:relative}.autopermalink{position:absolute;display:inline-block;top:.5ex;left:-2em;font-size:85%;opacity:var(--permalink-opacity, 0);transition:opacity .2s;margin-top:0!important}li>.autopermalink{left:-3.5em}.autopermalink>*{padding-left:.2em;padding-right:.2em}.appendix>.autopermalink,.chapter>.autopermalink,.index>.autopermalink,.section>.autopermalink,.subsection>.autopermalink,.references>.autopermalink,.exercises>.autopermalink{top:1.5ex}.assemblage-like>.para>.autopermalink,.example-like>.para>.autopermalink,.example-like>.exercise-like>.autopermalink,.project-like>.para>.autopermalink,.project-like>.exercise-like>.autopermalink,.project-like>.exercise-like>.introduction>.para>.autopermalink,.project-like>.exercise-like>.conclusion>.para>.autopermalink,.remark-like>.para>.autopermalink{left:-2.9em}.axiom-like>.para:first-of-type>.autopermalink,.example-like>.para:first-of-type>.autopermalink,.exercise-like>.para:first-of-type>.autopermalink,.solution-like>.para:first-of-type>.autopermalink,.assemblage-like>.para:first-of-type>.autopermalink,.definition-like>.para:first-of-type>.autopermalink,.remark-like>.para:first-of-type>.autopermalink,.project-like>.para:first-of-type>.autopermalink,.openproblem-like>.para:first-of-type>.autopermalink,.computation-like>.para:first-of-type>.autopermalink,.theorem-like>.para:first-of-type>.autopermalink,.proof>.para:first-of-type>.autopermalink,.case>.para:first-of-type>.autopermalink,li>.para:first-of-type>.autopermalink,dd>.para:first-of-type>.autopermalink{display:none}.axiom-like>.introduction>.para:first-of-type>.autopermalink,.example-like>.introduction>.para:first-of-type>.autopermalink,.exercise-like>.introduction>.para:first-of-type>.autopermalink,.solution-like>.introduction>.para:first-of-type>.autopermalink,.assemblage-like>.introduction>.para:first-of-type>.autopermalink,.definition-like>.introduction>.para:first-of-type>.autopermalink,.remark-like>.introduction>.para:first-of-type>.autopermalink,.project-like>.introduction>.para:first-of-type>.autopermalink,.openproblem-like>.introduction>.para:first-of-type>.autopermalink,.computation-like>.introduction>.para:first-of-type>.autopermalink,.theorem-like>.introduction>.para:first-of-type>.autopermalink,.proof>.introduction>.para:first-of-type>.autopermalink,.case>.introduction>.para:first-of-type>.autopermalink,li>.introduction>.para:first-of-type>.autopermalink,dd>.introduction>.para:first-of-type>.autopermalink{display:none}.ptx-content:has(.autopermalink:hover) .autopermalink{opacity:.2}.ptx-content:has(.autopermalink:hover) .autopermalink:hover{opacity:1}.autopermalink:has(a:focus-visible){opacity:1}.permalink-alert{position:absolute;top:-3em;left:5em;padding:1.5em 2em;background:var(--content-background);border:3px solid var(--page-border-color);z-index:2001}:target{scroll-margin-top:45px;animation:target-fade 10s 1}@keyframes target-fade{0%{background-color:var(--activated-content-bg)}to{background-color:inherit;opacity:1}}em.alert{font-weight:700}.bib{margin-top:.25em}.bib .bibitem{display:inline-block;vertical-align:top;width:7%;margin-right:0}.bib .bibitem+.bibentry{display:inline-block;width:90%;margin-top:0}.caption{margin-top:10px;margin-left:auto;margin-right:auto;font-size:100%;text-align:center}.contributor{margin-top:1.5ex}.contributor:first-child{margin-top:0}.contributor+.para{margin-top:3ex}.contributor .contributor-name{font-variant:small-caps}.contributor .contributor-info{font-size:88%;font-style:italic;margin-left:3ex}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}iframe{margin:0;border:none}.kbdkey{background:#f1f1f1;color:#333;border:1px solid #dddddd;border-radius:3px;padding:1px 2px 0;vertical-align:.1em;font-size:110%;line-height:1;box-shadow:2px 2px gray;display:inline-block;margin-right:3px}.unit,.quantity{white-space:nowrap;word-spacing:-.25ex;margin-right:.125em}.unit sub,.unit sup,.quantity sub,.quantity sup{word-spacing:normal}.terminology{font-style:italic;font-weight:700}.times-sign{font-size:larger;vertical-align:-.15ex}.emphasis{font-style:italic}.emphasis .emphasis,.definition-like .emphasis{font-weight:700}article.theorem-like .emphasis{font-weight:700}.para{line-height:1.35}.hidden{display:none!important}.taxon{font-style:italic}.quote{padding-left:40px;padding-right:10px;margin-bottom:1em}.booktitle{font-style:oblique}.latex-logo{font-family:"PT Serif",Times New Roman,Times,serif}.latex-logo .A{font-size:75%;text-transform:uppercase;vertical-align:.5ex;margin-left:-.48em;margin-right:-.2em}.latex-logo .E{vertical-align:-.5ex;text-transform:uppercase;margin-left:-.18em;margin-right:-.12em}@media print{.pretext .ptx-masthead,.pretext .ptx-navbar,body.pretext>a.assistive,.pretext .ptx-page>.ptx-sidebar,.pretext .ptx-page-footer,.pretext .ptx-main>div.ptx-content-footer{display:none}.ptx-page,.ptx-main,.ptx-main .ptx-content{all:unset!important;width:100%;border:none;padding:0;margin:0}.ptx-sagecell,.tabular,.table-like,.figure-like,.exercise-like{break-inside:avoid}.heading{break-after:avoid}.code-inline{border:unset;background:unset}@page{margin:.75in}}.heading .print-links{float:right;vertical-align:bottom}.heading .print-links .print-link{font-family:var(--font-body);padding:.1em .2em}.heading .print-links .material-symbols-outlined{margin-top:5pt}.pretext .searchwrapper{max-width:900px;position:absolute;right:0;bottom:0;margin-bottom:39px}.pretext .searchwrapper .cse .gsc-control-cse,.pretext .searchwrapper .cse .gsc-control-cse input,.searchwrapper .gsc-control-cse{padding:5px}.searchbox .searchwidget{height:100%}.searchbox .searchresultsplaceholder{position:fixed;top:5vh;bottom:5vh;padding:1em;left:max(10vw,(100vw - 800px) / 2);width:80vw;max-width:800px;border:2px solid var(--body-text-color);background:var(--knowl-background, #eaf0f6);z-index:5000;display:flex;flex-direction:column}.searchbox .searchresultsplaceholder article{width:60%;margin-left:auto;margin-right:auto;font-family:sans-serif}.searchbox .search-results-controls{display:flex;justify-content:space-between;align-items:stretch;gap:10px;margin-bottom:1em;height:35px}.searchbox .ptxsearch{flex:1 1}.searchbox .closesearchresults{font:inherit;display:flex;justify-content:center;align-items:center;padding:0 10px;gap:10px;min-height:34px;color:var(--button-text-color);background-color:var(--button-background);border-width:1px;border-color:var(--button-border-color);border-style:solid;border-radius:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;user-select:none}.searchbox .closesearchresults:hover:not(.disabled){color:var(--button-hover-text-color);background-color:var(--button-hover-background)}.searchbox .closesearchresults:focus-visible{outline:2px solid var(--button-text-color);outline-offset:-2px}.searchbox .closesearchresults.disabled{opacity:.4;cursor:not-allowed}.searchbox .closesearchresults.hidden{display:none}.searchbox .closesearchresults.open{color:var(--button-hover-text-color);background-color:var(--button-hover-background)}.searchbox .detailed_result{margin-bottom:10px}.searchbox .searchresults a:hover{text-decoration:underline;background:var(--link-active-background)}.searchbox .searchresults{padding-left:10px;margin-top:0;overflow-y:auto;flex:1 1;background:var(--content-background, white);border:1px solid var(--page-border-color, #ccc)}.searchbox .searchresults:empty{display:none}.searchbox .search-result-bullet{list-style-type:none}.searchbox .search-result-score{display:none}.searchbox .no_result{font-size:90%;font-weight:200}.searchbox .low_result{font-weight:200}.searchbox .medium_result{font-weight:500}.searchbox .high_result{font-weight:700}.searchbox .searchempty{display:none;padding-left:10px;padding-top:5px}.searchbox .search-results-unshown-count{margin-top:.6em}.searchbox .search-result-clip-highlight{background:var(--searchresultshighlight)}.searchbox .searchresultsbackground{position:fixed;top:0;background:var(--searchresultsbackground, white);width:100vw;height:100%;left:0;z-index:4999}@media screen and (max-width: 800px){.searchbox .searchresultsplaceholder{bottom:10vh}}:root{--searchresultsbackground: #fff8;--searchresultshighlight: rgba(255, 255, 0, 50%)}:root.dark-mode{--searchresultsbackground: #0008;--searchresultshighlight: rgba(255, 255, 0, 15%)}.ptx-content .ptx-runestone-container .runestone{margin:unset;border-radius:0;border-width:1px}.multiplechoice_section label>.para{display:inline}.ptx-content .ptx-runestone-container .ac_question{max-width:var(--base-content-width);margin:0 auto 10px}.runestone .runestone_caption{display:none}.ptx-content .ptx-runestone-container .rsdraggable{font-size:100%}.ptx-content .bottom{position:unset}.ptx-runestone-container .runestone code,.ptx-runestone-container .runestone pre{font-size:.93rem;line-height:1.2;font-family:var(--font-monospace)}.ptx-runestone-container code[class*=language-],.ptx-runestone-container pre[class*=language-]{color:#000;background:#fdfdfd}.runestone.datafile .datafile_caption{background:var(--code-inline-background);border:1px solid color-mix(in oklab,var(--code-inline-background) 50%,#888);display:block;width:fit-content;margin:0 auto}.runestone.datafile img{margin:0 auto;display:block;border:1px solid color-mix(in oklab,var(--code-inline-background) 50%,#888)}.runestone.datafile pre,.runestone.datafile textarea{margin:0 auto;border:1px solid color-mix(in oklab,var(--code-inline-background) 50%,#888);background-color:var(--page-color)}.runestone.datafile+.program{margin-top:0}ul[data-component=timedAssessment]{margin:0;padding:0}:root.dark-mode .ptx-runestone-container code[class*=language-],:root.dark-mode .ptx-runestone-container pre[class*=language-]{color:#fff;background:#141414}.ptx-content .wwprob table.attemptResults{margin-left:2em;background:#efefef;padding:.2em}.ptx-content .wwprob table.attemptResults+.attemptResultsSummary{margin-top:1em}.ptx-content .wwprob .problem-main-form{margin-top:1em;background:#eef;padding:.5em}.ptx-content .wwprob td.ResultsWithoutError{background:#9f9}.ptx-content .wwprob td.ResultsWithError{background:#f99}.ptx-content .wwprob tr th{text-align:center;padding:.2em 1em}.ptx-content .wwprob tr td{text-align:center}.ptx-content .wwprob tr td:empty{background:#fff}.ptx-content .wwprob ol,.ptx-content .wwprob ul{margin-top:.75em!important}.ptx-content .wwprob .problem{background:#fdfdfd}.ptx-content .wwprob .problem a{text-decoration:none}.ptx-content .wwprob #footer{font-size:70%;text-align:right}label.webwork{display:inline-flex;flex-direction:column}label.correct .status{background-color:#a0f0a0}label.partly-correct .status{color:#fc6}label.incorrect .status{color:#b00}label.incorrect .status:before{content:" "}label.feedback{word-wrap:break-word}label.correct .feedback{background-color:#0fc}label.partly-correct .feedback{color:#fc6}label.incorrect .feedback{color:#e07070}.webwork img,.webwork+.knowl-output img{max-width:100%}.exercise-wrapper>*:not(:first-child){margin-top:1.5em}.ptx-content .problem-buttons{display:flex}.ptx-content .webwork-button{font:inherit;display:flex;justify-content:center;align-items:center;padding:0 10px;gap:10px;min-height:34px;color:var(--button-text-color);background-color:var(--button-background);border-width:1px;border-color:var(--button-border-color);border-style:solid;border-radius:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;user-select:none}.ptx-content .webwork-button:hover:not(.disabled){color:var(--button-hover-text-color);background-color:var(--button-hover-background)}.ptx-content .webwork-button:focus-visible{outline:2px solid var(--button-text-color);outline-offset:-2px}.ptx-content .webwork-button.disabled{opacity:.4;cursor:not-allowed}.ptx-content .webwork-button.hidden{display:none}.ptx-content .webwork-button.open{color:var(--button-hover-text-color);background-color:var(--button-hover-background)}.problem-buttons.hidden-content,.problem-contents.hidden-content{display:none}.sagecell_sessionOutput pre{font-family:var(--font-monospace)}.sagecell{white-space:normal;margin-top:1.25em;margin-bottom:1.25em}.sage-interact.sagecell{margin:0}.sagecell_evalButton{font-family:var(--font-body);font-size:16px;padding:0 .65em}.sagecell_evalButton{cursor:pointer;display:inline-block;vertical-align:middle;user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-width:1px;border-style:solid;font-weight:700;border-radius:3px}.sagecell_evalButton{color:#383838;background-image:linear-gradient(#f7f7f7,#bbb);border-color:#c4c4c4}.sagecell_evalButton:hover{color:#181868;background-image:linear-gradient(#bbb,#f7f7f7)}.sagecell_evalButton:focus,.sagecell_evalButton:active{color:#20160b;background-image:linear-gradient(#ff6852,#ffd7d1);border-color:#ff2822}.sagecell .sagecell_editor{margin-bottom:8px}.sageanswer{font-family:monospace;white-space:pre;margin-left:3em;margin-bottom:2em}.sageanswer .key{display:inline-block;vertical-align:top;margin-right:1em}.sageanswer .output{display:inline-block;vertical-align:top}.calculator-container{position:fixed;z-index:100;bottom:5px;right:5px;width:253px;height:460px}@media screen and (max-width: 800px){.calculator-container{bottom:50px!important}}:root{--font-body: Open Sans, Helvetica Neue, Helvetica, Arial, sans-serif}:root{--font-headings: PT Serif, Times New Roman, Times, serif}:root{--font-monospace: Inconsolata, Consolas, Monaco, monospace}:root{--font-print: PT Serif, Times New Roman, Times, serif}.ptx-toc:is(.depth0,.depth1,.depth2) .toc-item .toc-item{background-color:var(--tocitem-background);color:var(--toc-text-color)}.ptx-toc:is(.depth0,.depth1,.depth2,.depth3) .toc-item .toc-item .toc-item{background-color:var(--tocitem-background);color:var(--toc-text-color)}.toc-item{border-top:1px solid var(--toc-border-color)}.ptx-toc.focused .toc-title-box>a:hover{border-right:1px solid var(--toc-border-color)}.ptx-toc.focused .toc-expander:is(:hover){border-left:1px solid var(--toc-border-color)}.ptx-toc>.toc-item-list>.toc-item{border-top:2px solid var(--toc-border-color)}.ptx-toc.focused .toc-item>.toc-title-box>.toc-expander>.icon{font-size:30px}.ptx-toc.focused .toc-item>.toc-title-box>.toc-expander>.icon:before{content:"chevron_left"}.ptx-toc.focused .toc-item.expanded>.toc-title-box>.toc-expander>.icon{transform:rotate(-90deg)}.ptx-toc.focused .toc-item.expanded>.toc-title-box>.toc-expander>.icon:before{content:"chevron_left"}section>.heading{padding-bottom:3px;border-bottom:2px solid var(--primary-color-white-30)}section>h2.heading{border-bottom-width:4px}section>h3.heading{border-bottom-width:3px}:root.dark-mode section>.heading{border-bottom-color:var(--primary-color-black-30)}.displaymath{overflow-x:auto}@container ptx-main (width > 696px){.displaymath{--max-width: min((100cqw - 2 * 48px), 900px) ;min-width:100%;clear:right;width:fit-content;max-width:var(--max-width)}}.code-display{overflow-x:auto}@container ptx-main (width > 696px){.code-display{--max-width: min((100cqw - 2 * 48px), 900px) ;min-width:100%;clear:right;width:fit-content;max-width:var(--max-width)}}.ptx-runestone-container:has(.parsons_section,.ac_section,.codelens){overflow-x:auto}@container ptx-main (width > 696px){.ptx-runestone-container:has(.parsons_section,.ac_section,.codelens){--max-width: min((100cqw - 2 * 48px), 900px) ;min-width:100%;clear:right;width:var(--max-width);max-width:var(--max-width)}}.tabular-box{overflow-x:auto}@container ptx-main (width > 696px){.tabular-box{--max-width: min((100cqw - 2 * 48px), 900px) ;min-width:100%;clear:right;width:fit-content;max-width:var(--max-width)}}:root{color-scheme:light}:root:not(.dark-mode){--page-color: white;--content-background: white;--page-border-color: #ccc;--doc-title-color: var(--primary-color);--byline-color: #333;--banner-background: #fafafa;--navbar-background: #ededed;--footer-background: var(--banner-background);--toc-border-color: var(--primary-color-white-30);--toc-background: var(--content-background);--tocitem-background: var(--toc-background);--toc-text-color: var(--body-text-color);--tocitem-highlight-background: var(--secondary-color-white-10);--tocitem-highlight-text-color: white;--tocitem-highlight-border-color: var(--toc-border-color);--tocitem-active-background: var(--secondary-color);--tocitem-active-text-color: white;--tocitem-active-border-color: var(--toc-border-color);--toclevel1-background: var(--primary-color);--toclevel1-text-color: white;--toclevel2-background: var(--primary-color-white-10);--toclevel2-text-color: var(--toclevel1-text-color);--toclevel3-background: var(--content-background);--toclevel3-text-color: var(--toc-text-color);--body-text-color: #000;--body-title-color: #000;--ptx-image-bg: transparent;--activated-content-bg: #fae6e3;--summary-link-background: var(--button-background);--summary-link-text-color: var(--button-text-color);--summary-link-hover-background: var(--button-hover-background);--summary-link-hover-text-color: var(--button-hover-text-color);--link-text-color: var(--primary-color);--link-background: var(--primary-color-white-97);--link-active-text-color: var(--primary-color-black-20);--link-active-background: var(--link-background);--link-alt-text-color: var(--secondary-color-black-10);--link-alt-background: var(--secondary-color-white-97);--link-alt-active-text-color: var(--link-alt-text-color);--link-alt-active-background: var(--secondary-color-white-97);--knowl-link-color: var(--link-text-color);--knowl-background: var(--primary-color-white-97);--knowl-border-color: var(--primary-color-white-30);--knowl-nested-1-background: var(--secondary-color-white-97);--knowl-nested-2-background: var(--primary-color-white-97);--knowl-nested-3-background: var(--secondary-color-white-97);--knowl-nested-4-background: var(--primary-color-white-97);--block-body-background: var(--content-background);--block-border-color: var(--knowl-border-color);--block-head-color: var(--body-text-color);--aside-like-link-color: var(--link-text-color);--button-background: #ededed;--button-text-color: #333333;--button-border-color: #ccc;--button-hover-background: #c7c7c7;--button-hover-text-color: var(--button-text-color);--dropdown-background: var(--content-background);--dropdown-border-color: var(--toc-border-color);--dropdown-text-color: var(--toc-text-color);--dropdown-hover-background: var(--tocitem-active-background);--dropdown-hover-text-color: var(--tocitem-active-text-color);--code-background: #fdfdfd;--code-inline-background: #ededed;--assemblage-like-body-background: var(--knowl-background);--assemblage-like-border-color: var(--knowl-border-color);--definition-like-body-background: var(--block-body-background);--definition-like-border-color: var(--block-border-color);--theorem-like-body-background: var(--block-body-background);--theorem-like-border-color: var(--block-border-color);--axiom-like-body-background: var(--block-body-background);--axiom-like-border-color: var(--block-border-color);--remark-like-body-background: var(--block-body-background);--remark-like-border-color: var(--block-border-color);--computation-like-body-background: var(--block-body-background);--computation-like-border-color: var(--block-border-color);--openproblem-like-body-background: var(--block-body-background);--openproblem-like-border-color: var(--block-border-color);--aside-like-body-background: var(--knowl-background);--aside-like-border-color: var(--knowl-border-color);--proof-like-body-background: var(--block-body-background);--proof-like-border-color: var(--block-border-color);--example-like-body-background: var(--block-body-background);--example-like-border-color: var(--block-border-color);--project-like-body-background: var(--block-body-background);--project-like-border-color: var(--block-border-color);--goal-like-body-background: var(--block-body-background);--goal-like-border-color: var(--secondary-color-white-20);--solution-like-body-background: var(--block-body-background);--solution-like-border-color: var(--block-border-color);--primary-color-white-1: color-mix(in oklab, var(--primary-color), white 1%);--primary-color-white-2: color-mix(in oklab, var(--primary-color), white 2%);--primary-color-white-3: color-mix(in oklab, var(--primary-color), white 3%);--primary-color-white-4: color-mix(in oklab, var(--primary-color), white 4%);--primary-color-white-5: color-mix(in oklab, var(--primary-color), white 5%);--primary-color-white-10: color-mix(in oklab, var(--primary-color), white 10%);--primary-color-white-15: color-mix(in oklab, var(--primary-color), white 15%);--primary-color-white-20: color-mix(in oklab, var(--primary-color), white 20%);--primary-color-white-25: color-mix(in oklab, var(--primary-color), white 25%);--primary-color-white-30: color-mix(in oklab, var(--primary-color), white 30%);--primary-color-white-35: color-mix(in oklab, var(--primary-color), white 35%);--primary-color-white-40: color-mix(in oklab, var(--primary-color), white 40%);--primary-color-white-50: color-mix(in oklab, var(--primary-color), white 50%);--primary-color-white-60: color-mix(in oklab, var(--primary-color), white 60%);--primary-color-white-65: color-mix(in oklab, var(--primary-color), white 65%);--primary-color-white-70: color-mix(in oklab, var(--primary-color), white 70%);--primary-color-white-75: color-mix(in oklab, var(--primary-color), white 75%);--primary-color-white-80: color-mix(in oklab, var(--primary-color), white 80%);--primary-color-white-85: color-mix(in oklab, var(--primary-color), white 85%);--primary-color-white-90: color-mix(in oklab, var(--primary-color), white 90%);--primary-color-white-95: color-mix(in oklab, var(--primary-color), white 95%);--primary-color-white-96: color-mix(in oklab, var(--primary-color), white 96%);--primary-color-white-97: color-mix(in oklab, var(--primary-color), white 97%);--primary-color-white-98: color-mix(in oklab, var(--primary-color), white 98%);--primary-color-white-99: color-mix(in oklab, var(--primary-color), white 99%);--primary-color-black-1: color-mix(in oklab, var(--primary-color), black 1%);--primary-color-black-2: color-mix(in oklab, var(--primary-color), black 2%);--primary-color-black-3: color-mix(in oklab, var(--primary-color), black 3%);--primary-color-black-4: color-mix(in oklab, var(--primary-color), black 4%);--primary-color-black-5: color-mix(in oklab, var(--primary-color), black 5%);--primary-color-black-10: color-mix(in oklab, var(--primary-color), black 10%);--primary-color-black-15: color-mix(in oklab, var(--primary-color), black 15%);--primary-color-black-20: color-mix(in oklab, var(--primary-color), black 20%);--primary-color-black-25: color-mix(in oklab, var(--primary-color), black 25%);--primary-color-black-30: color-mix(in oklab, var(--primary-color), black 30%);--primary-color-black-35: color-mix(in oklab, var(--primary-color), black 35%);--primary-color-black-40: color-mix(in oklab, var(--primary-color), black 40%);--primary-color-black-50: color-mix(in oklab, var(--primary-color), black 50%);--primary-color-black-60: color-mix(in oklab, var(--primary-color), black 60%);--primary-color-black-65: color-mix(in oklab, var(--primary-color), black 65%);--primary-color-black-70: color-mix(in oklab, var(--primary-color), black 70%);--primary-color-black-75: color-mix(in oklab, var(--primary-color), black 75%);--primary-color-black-80: color-mix(in oklab, var(--primary-color), black 80%);--primary-color-black-85: color-mix(in oklab, var(--primary-color), black 85%);--primary-color-black-90: color-mix(in oklab, var(--primary-color), black 90%);--primary-color-black-95: color-mix(in oklab, var(--primary-color), black 95%);--primary-color-black-96: color-mix(in oklab, var(--primary-color), black 96%);--primary-color-black-97: color-mix(in oklab, var(--primary-color), black 97%);--primary-color-black-98: color-mix(in oklab, var(--primary-color), black 98%);--primary-color-black-99: color-mix(in oklab, var(--primary-color), black 99%);--primary-color-gray-1: color-mix(in oklab, var(--primary-color), gray 1%);--primary-color-gray-2: color-mix(in oklab, var(--primary-color), gray 2%);--primary-color-gray-3: color-mix(in oklab, var(--primary-color), gray 3%);--primary-color-gray-4: color-mix(in oklab, var(--primary-color), gray 4%);--primary-color-gray-5: color-mix(in oklab, var(--primary-color), gray 5%);--primary-color-gray-10: color-mix(in oklab, var(--primary-color), gray 10%);--primary-color-gray-15: color-mix(in oklab, var(--primary-color), gray 15%);--primary-color-gray-20: color-mix(in oklab, var(--primary-color), gray 20%);--primary-color-gray-25: color-mix(in oklab, var(--primary-color), gray 25%);--primary-color-gray-30: color-mix(in oklab, var(--primary-color), gray 30%);--primary-color-gray-35: color-mix(in oklab, var(--primary-color), gray 35%);--primary-color-gray-40: color-mix(in oklab, var(--primary-color), gray 40%);--primary-color-gray-50: color-mix(in oklab, var(--primary-color), gray 50%);--primary-color-gray-60: color-mix(in oklab, var(--primary-color), gray 60%);--primary-color-gray-65: color-mix(in oklab, var(--primary-color), gray 65%);--primary-color-gray-70: color-mix(in oklab, var(--primary-color), gray 70%);--primary-color-gray-75: color-mix(in oklab, var(--primary-color), gray 75%);--primary-color-gray-80: color-mix(in oklab, var(--primary-color), gray 80%);--primary-color-gray-85: color-mix(in oklab, var(--primary-color), gray 85%);--primary-color-gray-90: color-mix(in oklab, var(--primary-color), gray 90%);--primary-color-gray-95: color-mix(in oklab, var(--primary-color), gray 95%);--primary-color-gray-96: color-mix(in oklab, var(--primary-color), gray 96%);--primary-color-gray-97: color-mix(in oklab, var(--primary-color), gray 97%);--primary-color-gray-98: color-mix(in oklab, var(--primary-color), gray 98%);--primary-color-gray-99: color-mix(in oklab, var(--primary-color), gray 99%);--secondary-color-white-1: color-mix(in oklab, var(--secondary-color), white 1%);--secondary-color-white-2: color-mix(in oklab, var(--secondary-color), white 2%);--secondary-color-white-3: color-mix(in oklab, var(--secondary-color), white 3%);--secondary-color-white-4: color-mix(in oklab, var(--secondary-color), white 4%);--secondary-color-white-5: color-mix(in oklab, var(--secondary-color), white 5%);--secondary-color-white-10: color-mix(in oklab, var(--secondary-color), white 10%);--secondary-color-white-15: color-mix(in oklab, var(--secondary-color), white 15%);--secondary-color-white-20: color-mix(in oklab, var(--secondary-color), white 20%);--secondary-color-white-25: color-mix(in oklab, var(--secondary-color), white 25%);--secondary-color-white-30: color-mix(in oklab, var(--secondary-color), white 30%);--secondary-color-white-35: color-mix(in oklab, var(--secondary-color), white 35%);--secondary-color-white-40: color-mix(in oklab, var(--secondary-color), white 40%);--secondary-color-white-50: color-mix(in oklab, var(--secondary-color), white 50%);--secondary-color-white-60: color-mix(in oklab, var(--secondary-color), white 60%);--secondary-color-white-65: color-mix(in oklab, var(--secondary-color), white 65%);--secondary-color-white-70: color-mix(in oklab, var(--secondary-color), white 70%);--secondary-color-white-75: color-mix(in oklab, var(--secondary-color), white 75%);--secondary-color-white-80: color-mix(in oklab, var(--secondary-color), white 80%);--secondary-color-white-85: color-mix(in oklab, var(--secondary-color), white 85%);--secondary-color-white-90: color-mix(in oklab, var(--secondary-color), white 90%);--secondary-color-white-95: color-mix(in oklab, var(--secondary-color), white 95%);--secondary-color-white-96: color-mix(in oklab, var(--secondary-color), white 96%);--secondary-color-white-97: color-mix(in oklab, var(--secondary-color), white 97%);--secondary-color-white-98: color-mix(in oklab, var(--secondary-color), white 98%);--secondary-color-white-99: color-mix(in oklab, var(--secondary-color), white 99%);--secondary-color-black-1: color-mix(in oklab, var(--secondary-color), black 1%);--secondary-color-black-2: color-mix(in oklab, var(--secondary-color), black 2%);--secondary-color-black-3: color-mix(in oklab, var(--secondary-color), black 3%);--secondary-color-black-4: color-mix(in oklab, var(--secondary-color), black 4%);--secondary-color-black-5: color-mix(in oklab, var(--secondary-color), black 5%);--secondary-color-black-10: color-mix(in oklab, var(--secondary-color), black 10%);--secondary-color-black-15: color-mix(in oklab, var(--secondary-color), black 15%);--secondary-color-black-20: color-mix(in oklab, var(--secondary-color), black 20%);--secondary-color-black-25: color-mix(in oklab, var(--secondary-color), black 25%);--secondary-color-black-30: color-mix(in oklab, var(--secondary-color), black 30%);--secondary-color-black-35: color-mix(in oklab, var(--secondary-color), black 35%);--secondary-color-black-40: color-mix(in oklab, var(--secondary-color), black 40%);--secondary-color-black-50: color-mix(in oklab, var(--secondary-color), black 50%);--secondary-color-black-60: color-mix(in oklab, var(--secondary-color), black 60%);--secondary-color-black-65: color-mix(in oklab, var(--secondary-color), black 65%);--secondary-color-black-70: color-mix(in oklab, var(--secondary-color), black 70%);--secondary-color-black-75: color-mix(in oklab, var(--secondary-color), black 75%);--secondary-color-black-80: color-mix(in oklab, var(--secondary-color), black 80%);--secondary-color-black-85: color-mix(in oklab, var(--secondary-color), black 85%);--secondary-color-black-90: color-mix(in oklab, var(--secondary-color), black 90%);--secondary-color-black-95: color-mix(in oklab, var(--secondary-color), black 95%);--secondary-color-black-96: color-mix(in oklab, var(--secondary-color), black 96%);--secondary-color-black-97: color-mix(in oklab, var(--secondary-color), black 97%);--secondary-color-black-98: color-mix(in oklab, var(--secondary-color), black 98%);--secondary-color-black-99: color-mix(in oklab, var(--secondary-color), black 99%);--secondary-color-gray-1: color-mix(in oklab, var(--secondary-color), gray 1%);--secondary-color-gray-2: color-mix(in oklab, var(--secondary-color), gray 2%);--secondary-color-gray-3: color-mix(in oklab, var(--secondary-color), gray 3%);--secondary-color-gray-4: color-mix(in oklab, var(--secondary-color), gray 4%);--secondary-color-gray-5: color-mix(in oklab, var(--secondary-color), gray 5%);--secondary-color-gray-10: color-mix(in oklab, var(--secondary-color), gray 10%);--secondary-color-gray-15: color-mix(in oklab, var(--secondary-color), gray 15%);--secondary-color-gray-20: color-mix(in oklab, var(--secondary-color), gray 20%);--secondary-color-gray-25: color-mix(in oklab, var(--secondary-color), gray 25%);--secondary-color-gray-30: color-mix(in oklab, var(--secondary-color), gray 30%);--secondary-color-gray-35: color-mix(in oklab, var(--secondary-color), gray 35%);--secondary-color-gray-40: color-mix(in oklab, var(--secondary-color), gray 40%);--secondary-color-gray-50: color-mix(in oklab, var(--secondary-color), gray 50%);--secondary-color-gray-60: color-mix(in oklab, var(--secondary-color), gray 60%);--secondary-color-gray-65: color-mix(in oklab, var(--secondary-color), gray 65%);--secondary-color-gray-70: color-mix(in oklab, var(--secondary-color), gray 70%);--secondary-color-gray-75: color-mix(in oklab, var(--secondary-color), gray 75%);--secondary-color-gray-80: color-mix(in oklab, var(--secondary-color), gray 80%);--secondary-color-gray-85: color-mix(in oklab, var(--secondary-color), gray 85%);--secondary-color-gray-90: color-mix(in oklab, var(--secondary-color), gray 90%);--secondary-color-gray-95: color-mix(in oklab, var(--secondary-color), gray 95%);--secondary-color-gray-96: color-mix(in oklab, var(--secondary-color), gray 96%);--secondary-color-gray-97: color-mix(in oklab, var(--secondary-color), gray 97%);--secondary-color-gray-98: color-mix(in oklab, var(--secondary-color), gray 98%);--secondary-color-gray-99: color-mix(in oklab, var(--secondary-color), gray 99%);--primary-color: #195684;--secondary-color: #932c1c}:root.dark-mode{color-scheme:dark;--page-color: var(--background-color);--content-background: var(--page-color);--page-border-color: var(--background-color-white-25);--doc-title-color: var(--primary-color);--byline-color: var(--background-color-white-50);--banner-background: #23241f;--navbar-background: var(--background-color-gray-15);--footer-background: var(--background-color-black-10);--toc-border-color: #555;--toc-background: var(--content-background);--tocitem-background: var(--toc-background);--toc-text-color: var(--body-text-color);--tocitem-highlight-background: var(--primary-color-gray-5);--tocitem-highlight-text-color: var(--background-color-black-50);--tocitem-highlight-border-color: var(--toc-border-color);--tocitem-active-background: var(--primary-color-gray-5);--tocitem-active-text-color: var(--background-color-black-50);--tocitem-active-border-color: var(--toc-border-color);--toclevel1-background: var(--background-color-gray-10);--toclevel1-text-color: var(--primary-color-white-40);--toclevel2-background: var(--toclevel1-background);--toclevel2-text-color: var(--toclevel1-text-color);--toclevel3-background: var(--content-background);--toclevel3-text-color: var(--toc-text-color);--body-text-color: #f2f2f2;--body-title-color: var(--primary-color-white-20);--ptx-image-bg: white;--activated-content-bg: rgba(255, 237, 185, .2);--summary-link-background: var(--button-background);--summary-link-text-color: var(--button-text-color);--summary-link-hover-background: var(--button-hover-background);--summary-link-hover-text-color: var(--button-hover-text-color);--link-text-color: var(--primary-color-white-10);--link-background: transparent;--link-active-text-color: var(--primary-color-white-40);--link-active-background: var(--background-color-gray-30);--link-alt-text-color: var(--link-text-color);--link-alt-background: transparent;--link-alt-active-text-color: var(--link-alt-text-color);--link-alt-active-background: var(--link-active-text-color);--knowl-link-color: var(--doc-title-color);--knowl-background: var(--background-color-black-10);--knowl-border-color: var(--background-color-white-20);--knowl-nested-1-background: var(--background-color-gray-10);--knowl-nested-2-background: var(--background-color-black-10);--knowl-nested-3-background: var(--background-color-gray-10);--knowl-nested-4-background: var(--background-color-black-10);--block-body-background: var(--content-background);--block-border-color: var(--knowl-border-color);--block-head-color: var(--body-text-color);--aside-like-link-color: var(--link-text-color);--button-background: var(--background-color-gray-15);--button-text-color: var(--body-text-color);--button-border-color: var(--background-color-white-25);--button-hover-background: var(--primary-color-black-50);--button-hover-text-color: var(--button-text-color);--dropdown-background: var(--content-background);--dropdown-border-color: var(--toc-border-color);--dropdown-text-color: var(--toc-text-color);--dropdown-hover-background: var(--tocitem-active-background);--dropdown-hover-text-color: var(--tocitem-active-text-color);--code-background: var(--background-color-gray-20);--code-inline-background: var(--background-color-gray-20);--assemblage-like-body-background: var(--block-body-background);--assemblage-like-border-color: var(--block-border-color);--definition-like-body-background: var(--block-body-background);--definition-like-border-color: var(--block-border-color);--theorem-like-body-background: var(--block-body-background);--theorem-like-border-color: var(--block-border-color);--axiom-like-body-background: var(--block-body-background);--axiom-like-border-color: var(--block-border-color);--remark-like-body-background: var(--block-body-background);--remark-like-border-color: var(--block-border-color);--computation-like-body-background: var(--block-body-background);--computation-like-border-color: var(--block-border-color);--openproblem-like-body-background: var(--block-body-background);--openproblem-like-border-color: var(--block-border-color);--aside-like-body-background: var(--block-body-background);--aside-like-border-color: var(--block-border-color);--proof-like-body-background: var(--block-body-background);--proof-like-border-color: var(--block-border-color);--example-like-body-background: var(--block-body-background);--example-like-border-color: var(--block-border-color);--project-like-body-background: var(--block-body-background);--project-like-border-color: var(--block-border-color);--goal-like-body-background: var(--block-body-background);--goal-like-border-color: var(--block-border-color);--solution-like-body-background: var(--block-body-background);--solution-like-border-color: var(--block-border-color);--primary-color: #698aa8;--background-color: #23241f;--background-color-white-1: color-mix(in oklab, var(--background-color), white 1%);--background-color-white-2: color-mix(in oklab, var(--background-color), white 2%);--background-color-white-3: color-mix(in oklab, var(--background-color), white 3%);--background-color-white-4: color-mix(in oklab, var(--background-color), white 4%);--background-color-white-5: color-mix(in oklab, var(--background-color), white 5%);--background-color-white-10: color-mix(in oklab, var(--background-color), white 10%);--background-color-white-15: color-mix(in oklab, var(--background-color), white 15%);--background-color-white-20: color-mix(in oklab, var(--background-color), white 20%);--background-color-white-25: color-mix(in oklab, var(--background-color), white 25%);--background-color-white-30: color-mix(in oklab, var(--background-color), white 30%);--background-color-white-35: color-mix(in oklab, var(--background-color), white 35%);--background-color-white-40: color-mix(in oklab, var(--background-color), white 40%);--background-color-white-50: color-mix(in oklab, var(--background-color), white 50%);--background-color-white-60: color-mix(in oklab, var(--background-color), white 60%);--background-color-white-65: color-mix(in oklab, var(--background-color), white 65%);--background-color-white-70: color-mix(in oklab, var(--background-color), white 70%);--background-color-white-75: color-mix(in oklab, var(--background-color), white 75%);--background-color-white-80: color-mix(in oklab, var(--background-color), white 80%);--background-color-white-85: color-mix(in oklab, var(--background-color), white 85%);--background-color-white-90: color-mix(in oklab, var(--background-color), white 90%);--background-color-white-95: color-mix(in oklab, var(--background-color), white 95%);--background-color-white-96: color-mix(in oklab, var(--background-color), white 96%);--background-color-white-97: color-mix(in oklab, var(--background-color), white 97%);--background-color-white-98: color-mix(in oklab, var(--background-color), white 98%);--background-color-white-99: color-mix(in oklab, var(--background-color), white 99%);--background-color-black-1: color-mix(in oklab, var(--background-color), black 1%);--background-color-black-2: color-mix(in oklab, var(--background-color), black 2%);--background-color-black-3: color-mix(in oklab, var(--background-color), black 3%);--background-color-black-4: color-mix(in oklab, var(--background-color), black 4%);--background-color-black-5: color-mix(in oklab, var(--background-color), black 5%);--background-color-black-10: color-mix(in oklab, var(--background-color), black 10%);--background-color-black-15: color-mix(in oklab, var(--background-color), black 15%);--background-color-black-20: color-mix(in oklab, var(--background-color), black 20%);--background-color-black-25: color-mix(in oklab, var(--background-color), black 25%);--background-color-black-30: color-mix(in oklab, var(--background-color), black 30%);--background-color-black-35: color-mix(in oklab, var(--background-color), black 35%);--background-color-black-40: color-mix(in oklab, var(--background-color), black 40%);--background-color-black-50: color-mix(in oklab, var(--background-color), black 50%);--background-color-black-60: color-mix(in oklab, var(--background-color), black 60%);--background-color-black-65: color-mix(in oklab, var(--background-color), black 65%);--background-color-black-70: color-mix(in oklab, var(--background-color), black 70%);--background-color-black-75: color-mix(in oklab, var(--background-color), black 75%);--background-color-black-80: color-mix(in oklab, var(--background-color), black 80%);--background-color-black-85: color-mix(in oklab, var(--background-color), black 85%);--background-color-black-90: color-mix(in oklab, var(--background-color), black 90%);--background-color-black-95: color-mix(in oklab, var(--background-color), black 95%);--background-color-black-96: color-mix(in oklab, var(--background-color), black 96%);--background-color-black-97: color-mix(in oklab, var(--background-color), black 97%);--background-color-black-98: color-mix(in oklab, var(--background-color), black 98%);--background-color-black-99: color-mix(in oklab, var(--background-color), black 99%);--background-color-gray-1: color-mix(in oklab, var(--background-color), gray 1%);--background-color-gray-2: color-mix(in oklab, var(--background-color), gray 2%);--background-color-gray-3: color-mix(in oklab, var(--background-color), gray 3%);--background-color-gray-4: color-mix(in oklab, var(--background-color), gray 4%);--background-color-gray-5: color-mix(in oklab, var(--background-color), gray 5%);--background-color-gray-10: color-mix(in oklab, var(--background-color), gray 10%);--background-color-gray-15: color-mix(in oklab, var(--background-color), gray 15%);--background-color-gray-20: color-mix(in oklab, var(--background-color), gray 20%);--background-color-gray-25: color-mix(in oklab, var(--background-color), gray 25%);--background-color-gray-30: color-mix(in oklab, var(--background-color), gray 30%);--background-color-gray-35: color-mix(in oklab, var(--background-color), gray 35%);--background-color-gray-40: color-mix(in oklab, var(--background-color), gray 40%);--background-color-gray-50: color-mix(in oklab, var(--background-color), gray 50%);--background-color-gray-60: color-mix(in oklab, var(--background-color), gray 60%);--background-color-gray-65: color-mix(in oklab, var(--background-color), gray 65%);--background-color-gray-70: color-mix(in oklab, var(--background-color), gray 70%);--background-color-gray-75: color-mix(in oklab, var(--background-color), gray 75%);--background-color-gray-80: color-mix(in oklab, var(--background-color), gray 80%);--background-color-gray-85: color-mix(in oklab, var(--background-color), gray 85%);--background-color-gray-90: color-mix(in oklab, var(--background-color), gray 90%);--background-color-gray-95: color-mix(in oklab, var(--background-color), gray 95%);--background-color-gray-96: color-mix(in oklab, var(--background-color), gray 96%);--background-color-gray-97: color-mix(in oklab, var(--background-color), gray 97%);--background-color-gray-98: color-mix(in oklab, var(--background-color), gray 98%);--background-color-gray-99: color-mix(in oklab, var(--background-color), gray 99%);--primary-color-white-1: color-mix(in oklab, var(--primary-color), white 1%);--primary-color-white-2: color-mix(in oklab, var(--primary-color), white 2%);--primary-color-white-3: color-mix(in oklab, var(--primary-color), white 3%);--primary-color-white-4: color-mix(in oklab, var(--primary-color), white 4%);--primary-color-white-5: color-mix(in oklab, var(--primary-color), white 5%);--primary-color-white-10: color-mix(in oklab, var(--primary-color), white 10%);--primary-color-white-15: color-mix(in oklab, var(--primary-color), white 15%);--primary-color-white-20: color-mix(in oklab, var(--primary-color), white 20%);--primary-color-white-25: color-mix(in oklab, var(--primary-color), white 25%);--primary-color-white-30: color-mix(in oklab, var(--primary-color), white 30%);--primary-color-white-35: color-mix(in oklab, var(--primary-color), white 35%);--primary-color-white-40: color-mix(in oklab, var(--primary-color), white 40%);--primary-color-white-50: color-mix(in oklab, var(--primary-color), white 50%);--primary-color-white-60: color-mix(in oklab, var(--primary-color), white 60%);--primary-color-white-65: color-mix(in oklab, var(--primary-color), white 65%);--primary-color-white-70: color-mix(in oklab, var(--primary-color), white 70%);--primary-color-white-75: color-mix(in oklab, var(--primary-color), white 75%);--primary-color-white-80: color-mix(in oklab, var(--primary-color), white 80%);--primary-color-white-85: color-mix(in oklab, var(--primary-color), white 85%);--primary-color-white-90: color-mix(in oklab, var(--primary-color), white 90%);--primary-color-white-95: color-mix(in oklab, var(--primary-color), white 95%);--primary-color-white-96: color-mix(in oklab, var(--primary-color), white 96%);--primary-color-white-97: color-mix(in oklab, var(--primary-color), white 97%);--primary-color-white-98: color-mix(in oklab, var(--primary-color), white 98%);--primary-color-white-99: color-mix(in oklab, var(--primary-color), white 99%);--primary-color-black-1: color-mix(in oklab, var(--primary-color), black 1%);--primary-color-black-2: color-mix(in oklab, var(--primary-color), black 2%);--primary-color-black-3: color-mix(in oklab, var(--primary-color), black 3%);--primary-color-black-4: color-mix(in oklab, var(--primary-color), black 4%);--primary-color-black-5: color-mix(in oklab, var(--primary-color), black 5%);--primary-color-black-10: color-mix(in oklab, var(--primary-color), black 10%);--primary-color-black-15: color-mix(in oklab, var(--primary-color), black 15%);--primary-color-black-20: color-mix(in oklab, var(--primary-color), black 20%);--primary-color-black-25: color-mix(in oklab, var(--primary-color), black 25%);--primary-color-black-30: color-mix(in oklab, var(--primary-color), black 30%);--primary-color-black-35: color-mix(in oklab, var(--primary-color), black 35%);--primary-color-black-40: color-mix(in oklab, var(--primary-color), black 40%);--primary-color-black-50: color-mix(in oklab, var(--primary-color), black 50%);--primary-color-black-60: color-mix(in oklab, var(--primary-color), black 60%);--primary-color-black-65: color-mix(in oklab, var(--primary-color), black 65%);--primary-color-black-70: color-mix(in oklab, var(--primary-color), black 70%);--primary-color-black-75: color-mix(in oklab, var(--primary-color), black 75%);--primary-color-black-80: color-mix(in oklab, var(--primary-color), black 80%);--primary-color-black-85: color-mix(in oklab, var(--primary-color), black 85%);--primary-color-black-90: color-mix(in oklab, var(--primary-color), black 90%);--primary-color-black-95: color-mix(in oklab, var(--primary-color), black 95%);--primary-color-black-96: color-mix(in oklab, var(--primary-color), black 96%);--primary-color-black-97: color-mix(in oklab, var(--primary-color), black 97%);--primary-color-black-98: color-mix(in oklab, var(--primary-color), black 98%);--primary-color-black-99: color-mix(in oklab, var(--primary-color), black 99%);--primary-color-gray-1: color-mix(in oklab, var(--primary-color), gray 1%);--primary-color-gray-2: color-mix(in oklab, var(--primary-color), gray 2%);--primary-color-gray-3: color-mix(in oklab, var(--primary-color), gray 3%);--primary-color-gray-4: color-mix(in oklab, var(--primary-color), gray 4%);--primary-color-gray-5: color-mix(in oklab, var(--primary-color), gray 5%);--primary-color-gray-10: color-mix(in oklab, var(--primary-color), gray 10%);--primary-color-gray-15: color-mix(in oklab, var(--primary-color), gray 15%);--primary-color-gray-20: color-mix(in oklab, var(--primary-color), gray 20%);--primary-color-gray-25: color-mix(in oklab, var(--primary-color), gray 25%);--primary-color-gray-30: color-mix(in oklab, var(--primary-color), gray 30%);--primary-color-gray-35: color-mix(in oklab, var(--primary-color), gray 35%);--primary-color-gray-40: color-mix(in oklab, var(--primary-color), gray 40%);--primary-color-gray-50: color-mix(in oklab, var(--primary-color), gray 50%);--primary-color-gray-60: color-mix(in oklab, var(--primary-color), gray 60%);--primary-color-gray-65: color-mix(in oklab, var(--primary-color), gray 65%);--primary-color-gray-70: color-mix(in oklab, var(--primary-color), gray 70%);--primary-color-gray-75: color-mix(in oklab, var(--primary-color), gray 75%);--primary-color-gray-80: color-mix(in oklab, var(--primary-color), gray 80%);--primary-color-gray-85: color-mix(in oklab, var(--primary-color), gray 85%);--primary-color-gray-90: color-mix(in oklab, var(--primary-color), gray 90%);--primary-color-gray-95: color-mix(in oklab, var(--primary-color), gray 95%);--primary-color-gray-96: color-mix(in oklab, var(--primary-color), gray 96%);--primary-color-gray-97: color-mix(in oklab, var(--primary-color), gray 97%);--primary-color-gray-98: color-mix(in oklab, var(--primary-color), gray 98%);--primary-color-gray-99: color-mix(in oklab, var(--primary-color), gray 99%)} -/*! Theme: default-modern */ +@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Open Sans:ital,wght@0,400..700;1,400..700&display=swap";@import"https://fonts.googleapis.com/css2?family=PT Serif:ital,wght@0,400;0,700;1,400;1,700&display=swap";@import"https://fonts.googleapis.com/css2?family=Inconsolata:ital,wght@0,400..700;1,400..700&display=swap";*{box-sizing:border-box}@layer spacing{:is(section,article,.knowl__content)>*:not(:first-child){margin-top:1.5em}:is(section,article,.knowl__content)>.para+.para{margin-top:1em}.ptx-content :is(ul,td,li,dd,.blockquote,.sbspanel,.para.logical)>*:not(:first-child){margin-top:.5em}}ol.no-marker,ul.no-marker,li.no-marker{list-style-type:none}ol.decimal{list-style-type:decimal}ol.lower-alpha{list-style-type:lower-alpha}ol.lower-alpha-level-1>li::marker{content:"(" counter(list-item,lower-alpha) ") "}ol.upper-alpha{list-style-type:upper-alpha}ol.lower-roman{list-style-type:lower-roman}ol.upper-roman{list-style-type:upper-roman}ul.disc{list-style-type:disc}ul.square{list-style-type:square}ul.circle{list-style-type:circle}dl:is(.description-list,.glossary){margin:0}dl:is(.description-list,.glossary) dt{font-weight:700;max-width:55ex}dl:is(.description-list,.glossary) dd:after{content:"";display:block;clear:both}.para>dl:is(.description-list){margin-top:.5em;margin-bottom:.5em}dl.glossary dt{margin-top:1.25em}dl.glossary dt:first-of-type{margin-top:0}dl.glossary dd{margin-left:5ex}dl.description-list dt,dl.description-list dd{margin-top:1em}dl.description-list dt:first-of-type,dl.description-list dd:first-of-type{margin-top:0}dl.description-list dt{float:left;clear:both;text-align:right;width:18ex;margin-right:1ex}dl.description-list dd{margin-left:22ex}dl.description-list.narrow dt{width:11ex}dl.description-list.narrow dd{margin-left:15ex}dl.description-list.wide dt{width:25ex}dl.description-list.wide dd{margin-left:29ex}dl.description-list dt:first-of-type{clear:none}.description-list+*{clear:both}dl.description-list dl dt{width:8ex}dl.description-list dd dd{margin-left:18ex}dl.description-list dl dd{margin-left:12ex}@media screen and (max-width: 480px){dl.description-list dt{float:none;margin-left:0;text-align:left}dl.description-list dd,dl.description-list.narrow dd,dl.description-list.wide dd{margin-top:.5em;margin-left:3em;max-width:calc(100% - 3em)}}:is(.cols2,.cols3,.cols4,.cols5,.cols6){display:flex;flex-wrap:wrap;justify-content:start}.cols2>li{min-width:calc(50% - 2em);width:min-content;margin-right:2em}.cols3>li{min-width:calc(33.3333333333% - 2em);width:min-content;margin-right:2em}.cols4>li{min-width:calc(25% - 2em);width:min-content;margin-right:2em}.cols5>li{min-width:calc(20% - 2em);width:min-content;margin-right:2em}.cols6>li{min-width:calc(16.6666666667% - 2em);width:min-content;margin-right:2em}.ptx-content li{margin-top:.5em}.ptx-content li .li--heading-title{font-size:100%;font-weight:400;font-style:italic}.para>:is(ol,ul){margin-top:.5em;margin-bottom:.5em}ol>li{padding-left:.25em}.fillin{display:inline-block;border:none;border-width:1px;margin-right:.1em;margin-left:.1em;margin-bottom:-.25em}.fillin.underline{border-bottom-style:solid;border-width:1px}.fillin.box{outline:1px solid var(--body-text-color);height:1.3em}.fillin.shade{background-color:var(--fillin-background-color, #eee);height:1.3em}:root.dark-mode{--fillin-background-color: #444}.heading:is(h1,h2,h3,h4,h5,h6){margin:0;font-size:unset}.heading{line-height:1.1;font-family:var(--font-headings);font-weight:700;margin-top:0;margin-bottom:0}section>.heading{font-size:1.75em;color:var(--body-title-color);line-height:1.25em;margin-top:2.5em;margin-bottom:.5em}section>.heading+*{margin-top:.5em}.ptx-content>section>.heading{margin-top:.5em}section section>.heading{font-size:1.5em;margin-top:2em}section section section>.heading{font-size:1.4em;margin-top:2em}article>.heading{font-size:1.25em;margin-top:1.5em}article>.heading+*{margin-top:.5em}.paragraphs>.heading{font-size:1.125em}:is(section,article)>.heading+:is(section,article)>.heading{margin-top:.5em}@media screen and (max-width: 480px){section>.heading{font-size:1.5em;line-height:1.33em;margin-top:1em}section section>.heading{font-size:1.3em;line-height:1.15em}section section section>.heading{font-size:1.15em;line-height:1em}}.heading.hide-type>.type{display:none}a{color:var(--link-text-color);text-decoration:none}a:hover,a:focus{text-decoration:none}a[href^="mailto:"]{white-space:pre}.ptx-content a.internal{color:var(--link-text-color);font-weight:700}.ptx-content a.external{color:var(--link-alt-text-color);font-weight:700}.ptx-content a.internal:hover,.ptx-content a.internal:hover *,.ptx-content a.internal:focus,.ptx-content a.internal:focus *{color:var(--link-active-text-color);background-color:var(--link-active-background);font-weight:700}.ptx-content a.external:hover,.ptx-content a.external:hover *,.ptx-content a.external:focus,.ptx-content a.external:focus *{color:var(--link-alt-active-text-color);background-color:var(--link-alt-active-background);font-weight:700}.ptx-content table{border-spacing:0;border-collapse:collapse}.ptx-content td{padding:2px 5px;font-size:90%}.ptx-content td img{max-width:200px;margin-right:30px}.ptx-content th{padding:2px 5px}.ptx-content th .lines{white-space:nowrap}.ptx-content th.l{text-align:left}.ptx-content th.c{text-align:center}.ptx-content th.r{text-align:right}.ptx-content th.j{text-align:justify}.ptx-content th.t{vertical-align:top}.ptx-content th.b{vertical-align:bottom}.ptx-content th.m{vertical-align:middle}.ptx-content th.l0{border-left:none}.ptx-content th.l1{border-left:1px solid var(--body-text-color)}.ptx-content th.l2{border-left:2px solid var(--body-text-color)}.ptx-content th.l3{border-left:3px solid var(--body-text-color)}.ptx-content th.r0{border-right:none}.ptx-content th.r1{border-right:1px solid var(--body-text-color)}.ptx-content th.r2{border-right:2px solid var(--body-text-color)}.ptx-content th.r3{border-right:3px solid var(--body-text-color)}.ptx-content th.t0{border-top:none}.ptx-content th.t1{border-top:1px solid var(--body-text-color)}.ptx-content th.t2{border-top:2px solid var(--body-text-color)}.ptx-content th.t3{border-top:3px solid var(--body-text-color)}.ptx-content th.b0{border-bottom:none}.ptx-content th.b1{border-bottom:1px solid var(--body-text-color)}.ptx-content th.b2{border-bottom:2px solid var(--body-text-color)}.ptx-content th.b3{border-bottom:3px solid var(--body-text-color)}.ptx-content td .lines{white-space:nowrap}.ptx-content td.l{text-align:left}.ptx-content td.c{text-align:center}.ptx-content td.r{text-align:right}.ptx-content td.j{text-align:justify}.ptx-content td.t{vertical-align:top}.ptx-content td.b{vertical-align:bottom}.ptx-content td.m{vertical-align:middle}.ptx-content td.l0{border-left:none}.ptx-content td.l1{border-left:1px solid var(--body-text-color)}.ptx-content td.l2{border-left:2px solid var(--body-text-color)}.ptx-content td.l3{border-left:3px solid var(--body-text-color)}.ptx-content td.r0{border-right:none}.ptx-content td.r1{border-right:1px solid var(--body-text-color)}.ptx-content td.r2{border-right:2px solid var(--body-text-color)}.ptx-content td.r3{border-right:3px solid var(--body-text-color)}.ptx-content td.t0{border-top:none}.ptx-content td.t1{border-top:1px solid var(--body-text-color)}.ptx-content td.t2{border-top:2px solid var(--body-text-color)}.ptx-content td.t3{border-top:3px solid var(--body-text-color)}.ptx-content td.b0{border-bottom:none}.ptx-content td.b1{border-bottom:1px solid var(--body-text-color)}.ptx-content td.b2{border-bottom:2px solid var(--body-text-color)}.ptx-content td.b3{border-bottom:3px solid var(--body-text-color)}.ptx-content th.r0.l0,.ptx-content td.r0.l0{padding-left:.8em;padding-right:.8em}.ptx-content tr.header-vertical th{writing-mode:vertical-rl;padding-left:2em}.ptx-content .center table{text-align:center;margin-left:auto;margin-right:auto}.tabular-box{margin-top:.5em;overflow-x:auto}.tabular-box.natural-width table{margin-left:auto;margin-right:auto}table.notation-list tr th{text-align:left;margin-left:1em}table.notation-list tr td{text-align:left;vertical-align:top}.frontmatter>.heading{display:block;text-align:center}.frontmatter>.heading .title,.frontmatter .book>.heading .title{font-size:1.3em}.frontmatter>.heading .subtitle,.frontmatter .book>.heading .subtitle{display:block;font-weight:400;color:var(--byline-color);font-size:.875em;line-height:1.42857em;margin-top:.35714em}.frontmatter>.para:first-of-type{margin-top:4em}.frontmatter>.author,.frontmatter>.credit{margin-top:2em;text-align:center}.frontmatter .author:first-of-type{margin-top:4em}.frontmatter>.author .author-name{font-size:120%}.frontmatter .date{display:block;margin-top:2em;text-align:center}.frontmatter .credit .title{font-size:1em}.frontmatter .credit .author{font-size:.9em;margin-top:.75em}.frontmatter .author-info{font-size:90%}.frontmatter .summary-links{margin-top:4em}.frontmatter .abstract{margin:4em 2em}.frontmatter .keywords,.frontmatter .support{margin-top:2em}.frontmatter .abstract>.title,.frontmatter .keywords>.title,.frontmatter .support>.title{font-size:1.125em;font-weight:600;line-height:1.125em;display:inline}.frontmatter .abstract>.title:after,.frontmatter .keywords>.title:after,.frontmatter .support>.title:after{content:".\2009\2009\2009"}.frontmatter .abstract>.title+.para,.frontmatter .keywords>.title+.para,.frontmatter .support>.title+.para{display:inline}.frontmatter .colophon .copyright,.frontmatter .colophon .license{margin-top:2.5em}.ptx-content .summary-links{font-family:var(--font-headings);display:block;margin-top:1em}.ptx-content .summary-links a{color:var(--summary-link-text-color);background:var(--summary-link-background);font-size:1.5em;line-height:1.25em;padding:10px 60px 10px 20px;border-radius:3px;position:relative;display:block;font-weight:unset}.ptx-content .summary-links a .title{font-style:normal}.ptx-content .summary-links a .codenumber{margin-right:.41667em}.ptx-content .summary-links a:after{right:.83333em;content:"";position:absolute;top:50%;margin-top:-.4em;width:0;height:0;border-top:.4em solid transparent;border-bottom:.4em solid transparent;border-left:.4em solid var(--summary-link-text-color)}.ptx-content .summary-links a:hover,.ptx-content .summary-links a:hover *{color:var(--summary-link-hover-text-color);background:var(--summary-link-hover-background)}.ptx-content .summary-links a:hover .title{font-weight:400}.ptx-content .summary-links a:hover:after{border-left:.4em solid var(--summary-link-hover-text-color)}.ptx-content .summary-links ul{list-style-type:none;padding:0;margin-top:0}.ptx-content .summary-links li{margin-top:5px}@media screen and (width <= 480px){.ptx-content .summary-links a{font-size:100%;line-height:1.25em}}.ptx-footnote{display:inline-block;position:relative}.ptx-footnote[open]{display:contents}.ptx-footnote[open] .ptx-footnote__number:before{font-size:smaller;content:"[x]";visibility:visible;vertical-align:super}.ptx-footnote[open] .ptx-footnote__number sup{display:none}.ptx-footnote__number{display:inline-block;cursor:pointer;min-width:1em}.ptx-footnote__number::marker{content:""}.ptx-footnote__contents{display:block;font-style:italic;background:var(--knowl-background);border-radius:0;padding:8px;margin:4px auto;width:fit-content;max-width:calc(100% - 60px);border:2px solid var(--knowl-border-color);color:var(--body-text-color);font-weight:400;font-size:var(1rem)}.navbar .indexnav{position:absolute;top:46px;right:0}.mininav{float:left;padding-top:.7ex;padding-left:1ex}.indexjump{margin-left:1.5ex;margin-top:.2ex;padding-top:0;float:left;line-height:.95}.indexjump a{padding-left:2.5px;padding-right:.5px;width:2.5ex;margin-right:-1px;color:inherit;font-size:80%;text-align:center}.indexjump a:after{content:"";display:inline-block}.indexjump a:nth-of-type(14){padding-left:1.8ex}.indexjump a:last-child{padding-right:10px}.indexjump a:hover{background:var(--activated-content-bg)}.indexitem{margin-top:4px}.subindexitem{margin-left:2em;font-size:95%;margin-top:-1px}.subsubindexitem{margin-left:3.5em;font-size:95%;margin-top:-1px}.indexknowl{margin-left:.11em}em+.indexknowl{margin-left:-.25em}.indexknowl a{margin-left:2em}.indexitem .see,.subindexitem .see,.subsubindexitem .see,.indexitem .seealso,.subindexitem .seealso,.subsubindexitem .seealso{margin-left:1em;margin-right:0}.indexitem .see em,.subindexitem .see em,.subsubindexitem .see em,.indexitem .seealso em,.subindexitem .seealso em,.subsubindexitem .seealso em{margin-right:.25em;font-style:italic}.indexitem .see+.see,.subindexitem .see+.see,.subsubindexitem .see+.see,.indexitem .seealso+.seealso,.subindexitem .seealso+.seealso,.subsubindexitem .seealso+.seealso{margin-left:0;margin-right:0}.indexitem .indexknowl{font-size:90%}.indexitem [data-knowl],.subindexitem [data-knowl],.indexitem [data-knowl]:hover{padding-right:2px;padding-left:2px}.indexknowl [data-knowl]:hover,.indexknowl .active[data-knowl]{margin-left:2em}.subindexitem .indexknowl,.subsubindexitem .indexknowl{font-size:95%}.indexletter{margin-top:1.5em}.image-box,.audio-box,.video-box,.asymptote-box{position:relative}.image-box .asymptote-box iframe.asymptote,iframe.asymptote,.video-box .video,.video-box .video-poster{position:absolute;top:0;left:0;width:100%;height:100%}.image-box img,img.contained{width:100%}.ptx-content img,.ptx-content svg{background:var(--ptx-image-bg)}.mermaid>svg{background:none}.image-description summary{list-style:none;cursor:pointer}.image-archive{margin:.75em auto 0;font-family:var(--font-monospace);justify-content:center;display:flex;gap:.5em}.image-box>img:not(.mag_popup){cursor:zoom-in}img.mag_popup{border:1px solid #666;box-shadow:4px 6px 4px #999;cursor:zoom-out}.mag_popup_container{width:100%;position:absolute;z-index:1001;overflow-x:visible}.audio{width:100%}.video-poster{cursor:pointer}figure{clear:both;position:relative;margin-left:0;margin-right:0}figcaption{margin-left:auto;margin-right:auto;margin-top:.5em}figcaption code.code-inline{white-space:pre}figcaption .codenumber,figcaption .type{font-weight:700}figcaption .codenumber:after,figcaption .type:last-of-type:after{content:"\2002"}figcaption .para:first-of-type{display:inline}figure.table-like{margin-left:30px;margin-right:30px}figure.table-like .list{margin-right:0}@media (max-width <= 943px){.figure-like{overflow-x:auto}}.poem{display:table;margin:0 auto;width:auto;max-width:90%}.poem>.heading{display:block;text-align:center}section article.poem>.heading:after{content:""}.poem>.heading>.title{font-weight:700;font-size:1.2em;line-height:1.2em}.poem .author{font-style:italic;margin-top:.75em}.poem .author.left{text-align:left}.poem .author.center{text-align:center}.poem .author.right{text-align:right}.poem .stanza>.heading{text-align:center;font-weight:700;font-size:1em;line-height:1em}.poem .stanza+.stanza{margin-top:1em}.poem .heading+.stanza{margin-top:.2em}.poem .heading+.line{margin-top:.2em}.poem .line.left{text-align:left;margin-left:4em;text-indent:-4em}.poem .line.center{text-align:center}.poem .line.right{text-align:right}.poem .tab{margin-left:2em}.code-box{overflow-x:auto}.code-display{overflow-x:auto;font-family:var(--font-monospace)}.console,.program{border:1px solid var(--page-border-color);padding:5px 15px;overflow-x:auto;margin:0;font-family:var(--font-monospace);background:var(--code-background);font-size:.93rem;line-height:1.2}.code-inline{font-family:var(--font-monospace);white-space:pre;color:var(--body-text-color);background:var(--code-inline-background);border:1px solid color-mix(in oklab,var(--code-inline-background) 50%,#888);border-radius:.2em;display:inline-block;overflow-x:auto;max-width:100%;vertical-align:middle;line-height:normal;padding:.0625em .15em}.prompt.unselectable{user-select:none}.code-block{border-left:1px solid #aaa;padding:0 15px 5px;overflow-x:auto;margin-top:0;margin-bottom:0;font-family:var(--font-monospace);background:var(--code-background);font-size:.93rem;line-height:1.2}.code-block:before{content:" ";font-size:50%;border-top:1px solid #aaa;display:block;margin-right:auto;margin-left:-15px;width:3em}.code-display{margin:.5em 0}.clipboardable:has(.code-display){margin:.25em 0}.clipboardable:has(.code-display) .code-display{margin:0;padding:.25em 0}.clipboardable{position:relative;display:flow-root}.clipboardable .code-copy{position:absolute;right:0;top:0;opacity:.25;border-width:0;background:none;cursor:pointer;z-index:1;white-space-collapse:collapse;padding:1px;scale:.85}.clipboardable .code-copy:hover{opacity:.7}.clipboardable .code-copy .checkmark{display:none}.clipboardable .code-copy.copied{opacity:1;color:#3cb371;cursor:not-allowed;pointer-events:none}.clipboardable .code-copy.copied .copyicon{display:none}.clipboardable .code-copy.copied .checkmark{display:inline}@media print{.code-copy{display:none}}pre[class*=language-]{margin:0;overflow:auto;border:1px solid #e1e1e1}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}code[class*=language-],pre[class*=language-]{color:#000;background:#fdfdfd;text-shadow:none;font-family:var(--font-monospace);text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.2;tab-size:4;hyphens:none}code[class*=language-].code-inline,pre[class*=language-].code-inline{line-height:normal;padding:.0625em .15em}code[class*=language-]::selection,code[class*=language-] ::selection,pre[class*=language-]::selection,pre[class*=language-] ::selection{background:#b3d4fc}code[class*=language-] .token:is(.comment,.prolog,.doctype,.cdata),pre[class*=language-] .token:is(.comment,.prolog,.doctype,.cdata){color:#2a9716}code[class*=language-] .token.punctuation,pre[class*=language-] .token.punctuation{color:#000}code[class*=language-] .token.namespace,pre[class*=language-] .token.namespace{opacity:.9}code[class*=language-] .token:is(.property,.tag,.boolean,.number,.constant,.symbol,.deleted),pre[class*=language-] .token:is(.property,.tag,.boolean,.number,.constant,.symbol,.deleted){color:#29780f}code[class*=language-] .token:is(.selector,.attr-name,.string,.char,.builtin,.regex,.inserted),pre[class*=language-] .token:is(.selector,.attr-name,.string,.char,.builtin,.regex,.inserted){color:#a11}code[class*=language-] .token:is(.operator,.entity,.url),pre[class*=language-] .token:is(.operator,.entity,.url){color:#000;background:none}code[class*=language-] .token:is(.atrule,.attr-value,.keyword),pre[class*=language-] .token:is(.atrule,.attr-value,.keyword){color:#0679b7}code[class*=language-] .token.function,code[class*=language-] .token.class-name,pre[class*=language-] .token.function,pre[class*=language-] .token.class-name{color:#30a}code[class*=language-] .token.important,code[class*=language-] .token.variable,pre[class*=language-] .token.important,pre[class*=language-] .token.variable{color:#000}code[class*=language-] .token.important,code[class*=language-] .token.bold,pre[class*=language-] .token.important,pre[class*=language-] .token.bold{font-weight:700}code[class*=language-] .token.italic,pre[class*=language-] .token.italic{font-style:italic}code[class*=language-] .token.entity,pre[class*=language-] .token.entity{cursor:help}code[class*=language-].line-numbers,pre[class*=language-].line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber;overflow:auto}code[class*=language-].line-numbers>code,pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}code[class*=language-].line-numbers .line-numbers-rows,pre[class*=language-].line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid #999;user-select:none}code[class*=language-].line-numbers .line-numbers-rows>span,pre[class*=language-].line-numbers .line-numbers-rows>span{display:block;counter-increment:linenumber}code[class*=language-].line-numbers .line-numbers-rows>span:before,pre[class*=language-].line-numbers .line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right}code[class*=language-] .line-highlight,pre[class*=language-] .line-highlight{position:absolute;margin-top:4px;left:0;right:0;padding:inherit 0;font-size:inherit;background:#997a6614;pointer-events:none;line-height:inherit;white-space:pre}:root.dark-mode pre[class*=language-]{border:1px solid #3d3d3d}:root.dark-mode code[class*=language-],:root.dark-mode pre[class*=language-]{color:#fff;background:#141414}:root.dark-mode code[class*=language-]::selection,:root.dark-mode code[class*=language-] ::selection,:root.dark-mode pre[class*=language-]::selection,:root.dark-mode pre[class*=language-] ::selection{background:#27292a}:root.dark-mode code[class*=language-] .token,:root.dark-mode pre[class*=language-] .token{position:relative;z-index:1}:root.dark-mode code[class*=language-] .token:is(.comment,.prolog,.doctype,.cdata),:root.dark-mode pre[class*=language-] .token:is(.comment,.prolog,.doctype,.cdata){color:#68a950}:root.dark-mode code[class*=language-] .token.punctuation,:root.dark-mode pre[class*=language-] .token.punctuation{color:#fff;opacity:1}:root.dark-mode code[class*=language-] .token.namespace,:root.dark-mode pre[class*=language-] .token.namespace{opacity:.9}:root.dark-mode code[class*=language-] .token:is(.property,.tag,.boolean,.number,.constant,.symbol,.deleted),:root.dark-mode pre[class*=language-] .token:is(.property,.tag,.boolean,.number,.constant,.symbol,.deleted){color:#abc792}:root.dark-mode code[class*=language-] .token:is(.selector,.attr-name,.string,.char,.builtin,.regex,.inserted),:root.dark-mode pre[class*=language-] .token:is(.selector,.attr-name,.string,.char,.builtin,.regex,.inserted){color:#ca9147}:root.dark-mode code[class*=language-] .token:is(.operator,.entity,.url),:root.dark-mode pre[class*=language-] .token:is(.operator,.entity,.url){color:#fff}:root.dark-mode code[class*=language-] .token:is(.atrule,.attr-value,.keyword),:root.dark-mode pre[class*=language-] .token:is(.atrule,.attr-value,.keyword){color:#2d94fb}:root.dark-mode code[class*=language-] .token.function,:root.dark-mode code[class*=language-] .token.class-name,:root.dark-mode pre[class*=language-] .token.function,:root.dark-mode pre[class*=language-] .token.class-name{color:#e3e1c2}:root.dark-mode code[class*=language-] .token.important,:root.dark-mode code[class*=language-] .token.bold,:root.dark-mode pre[class*=language-] .token.important,:root.dark-mode pre[class*=language-] .token.bold{font-weight:700}:root.dark-mode code[class*=language-] .token.italic,:root.dark-mode pre[class*=language-] .token.italic{font-style:italic}:root.dark-mode code[class*=language-] .token.entity,:root.dark-mode pre[class*=language-] .token.entity{cursor:help}:root.dark-mode .line-highlight{background:#5454541a;border-bottom:1px dashed hsl(0,0%,33%);border-top:1px dashed hsl(0,0%,33%);z-index:0}@media print{code[class*=language-] .line-highlight,pre[class*=language-] .line-highlight{color-adjust:exact}}.displaymath{overflow-x:auto;overflow-y:hidden}.displaymath mjx-container[jax=CHTML][display=true]{margin:0;padding-top:2px}.process-math mjx-container svg{background:none}[data-knowl]>mjx-mrow .TEX-I{font-family:MJXZERO!important;font-style:normal!important}.knowl mjx-mtext>mjx-utext,mjx-mtext>mjx-utext{width:revert!important}mjx-msup mjx-utext,mjx-msub mjx-utext{display:inline}section,article,li,blockquote,figcaption,dt,.exercisegroup,.discussion-like,.solution-like,.para{position:relative}.autopermalink{position:absolute;display:inline-block;top:.5ex;left:-2em;font-size:85%;opacity:var(--permalink-opacity, 0);transition:opacity .2s;margin-top:0!important}li>.autopermalink{left:-3.5em}.autopermalink>*{padding-left:.2em;padding-right:.2em}.appendix>.autopermalink,.chapter>.autopermalink,.index>.autopermalink,.section>.autopermalink,.subsection>.autopermalink,.references>.autopermalink,.exercises>.autopermalink{top:1.5ex}.assemblage-like>.para>.autopermalink,.example-like>.para>.autopermalink,.example-like>.exercise-like>.autopermalink,.project-like>.para>.autopermalink,.project-like>.exercise-like>.autopermalink,.project-like>.exercise-like>.introduction>.para>.autopermalink,.project-like>.exercise-like>.conclusion>.para>.autopermalink,.remark-like>.para>.autopermalink{left:-2.9em}.axiom-like>.para:first-of-type>.autopermalink,.example-like>.para:first-of-type>.autopermalink,.exercise-like>.para:first-of-type>.autopermalink,.solution-like>.para:first-of-type>.autopermalink,.assemblage-like>.para:first-of-type>.autopermalink,.definition-like>.para:first-of-type>.autopermalink,.remark-like>.para:first-of-type>.autopermalink,.project-like>.para:first-of-type>.autopermalink,.openproblem-like>.para:first-of-type>.autopermalink,.computation-like>.para:first-of-type>.autopermalink,.theorem-like>.para:first-of-type>.autopermalink,.proof>.para:first-of-type>.autopermalink,.case>.para:first-of-type>.autopermalink,li>.para:first-of-type>.autopermalink,dd>.para:first-of-type>.autopermalink{display:none}.axiom-like>.introduction>.para:first-of-type>.autopermalink,.example-like>.introduction>.para:first-of-type>.autopermalink,.exercise-like>.introduction>.para:first-of-type>.autopermalink,.solution-like>.introduction>.para:first-of-type>.autopermalink,.assemblage-like>.introduction>.para:first-of-type>.autopermalink,.definition-like>.introduction>.para:first-of-type>.autopermalink,.remark-like>.introduction>.para:first-of-type>.autopermalink,.project-like>.introduction>.para:first-of-type>.autopermalink,.openproblem-like>.introduction>.para:first-of-type>.autopermalink,.computation-like>.introduction>.para:first-of-type>.autopermalink,.theorem-like>.introduction>.para:first-of-type>.autopermalink,.proof>.introduction>.para:first-of-type>.autopermalink,.case>.introduction>.para:first-of-type>.autopermalink,li>.introduction>.para:first-of-type>.autopermalink,dd>.introduction>.para:first-of-type>.autopermalink{display:none}.ptx-content:has(.autopermalink:hover) .autopermalink{opacity:.2}.ptx-content:has(.autopermalink:hover) .autopermalink:hover{opacity:1}.autopermalink:has(a:focus-visible){opacity:1}.permalink-alert{position:absolute;top:-3em;left:5em;padding:1.5em 2em;background:var(--content-background);border:3px solid var(--page-border-color);z-index:2001}:target{scroll-margin-top:45px;animation:target-fade 10s 1}@keyframes target-fade{0%{background-color:var(--activated-content-bg)}to{background-color:inherit;opacity:1}}em.alert{font-weight:700}.bib{margin-top:.25em}.bib .bibitem{display:inline-block;vertical-align:top;width:7%;margin-right:0}.bib .bibitem+.bibentry{display:inline-block;width:90%;margin-top:0}.caption{margin-top:10px;margin-left:auto;margin-right:auto;font-size:100%;text-align:center}.contributor{margin-top:1.5ex}.contributor:first-child{margin-top:0}.contributor+.para{margin-top:3ex}.contributor .contributor-name{font-variant:small-caps}.contributor .contributor-info{font-size:88%;font-style:italic;margin-left:3ex}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}iframe{margin:0;border:none}.kbdkey{background:#f1f1f1;color:#333;border:1px solid #dddddd;border-radius:3px;padding:1px 2px 0;vertical-align:.1em;font-size:110%;line-height:1;box-shadow:2px 2px gray;display:inline-block;margin-right:3px}.unit,.quantity{white-space:nowrap;word-spacing:-.25ex;margin-right:.125em}.unit sub,.unit sup,.quantity sub,.quantity sup{word-spacing:normal}.terminology{font-style:italic;font-weight:700}.times-sign{font-size:larger;vertical-align:-.15ex}.emphasis{font-style:italic}.emphasis .emphasis,.definition-like .emphasis{font-weight:700}article.theorem-like .emphasis{font-weight:700}.para{line-height:1.35}.hidden{display:none!important}.taxon{font-style:italic}.quote{padding-left:40px;padding-right:10px;margin-bottom:1em}.booktitle{font-style:oblique}.latex-logo{font-family:"PT Serif",Times New Roman,Times,serif}.latex-logo .A{font-size:75%;text-transform:uppercase;vertical-align:.5ex;margin-left:-.48em;margin-right:-.2em}.latex-logo .E{vertical-align:-.5ex;text-transform:uppercase;margin-left:-.18em;margin-right:-.12em}@media print{.pretext .ptx-masthead,.pretext .ptx-navbar,body.pretext>a.assistive,.pretext .ptx-page>.ptx-sidebar,.pretext .ptx-page-footer,.pretext .ptx-main>div.ptx-content-footer{display:none}.ptx-page,.ptx-main,.ptx-main .ptx-content{all:unset!important;width:100%;border:none;padding:0;margin:0}.ptx-sagecell,.tabular,.table-like,.figure-like,.exercise-like{break-inside:avoid}.heading{break-after:avoid}.code-inline{border:unset;background:unset}@page{margin:.75in}}.heading .print-links{float:right;vertical-align:bottom}.heading .print-links .print-link{font-family:var(--font-body);padding:.1em .2em}.heading .print-links .material-symbols-outlined{margin-top:5pt}.pretext .searchwrapper{max-width:900px;position:absolute;right:0;bottom:0;margin-bottom:39px}.pretext .searchwrapper .cse .gsc-control-cse,.pretext .searchwrapper .cse .gsc-control-cse input,.searchwrapper .gsc-control-cse{padding:5px}.searchbox .searchwidget{height:100%}.searchbox .searchresultsplaceholder{position:fixed;top:5vh;bottom:5vh;padding:1em;left:max(10vw,(100vw - 800px) / 2);width:80vw;max-width:800px;border:2px solid var(--body-text-color);background:var(--knowl-background, #eaf0f6);z-index:5000;display:flex;flex-direction:column}.searchbox .searchresultsplaceholder article{width:60%;margin-left:auto;margin-right:auto;font-family:sans-serif}.searchbox .search-results-controls{display:flex;justify-content:space-between;align-items:stretch;gap:10px;margin-bottom:1em;height:35px}.searchbox .ptxsearch{flex:1 1}.searchbox .closesearchresults{font:inherit;display:flex;justify-content:center;align-items:center;padding:0 10px;gap:10px;min-height:34px;color:var(--button-text-color);background-color:var(--button-background);border-width:1px;border-color:var(--button-border-color);border-style:solid;border-radius:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;user-select:none}.searchbox .closesearchresults:hover:not(.disabled){color:var(--button-hover-text-color);background-color:var(--button-hover-background)}.searchbox .closesearchresults:focus-visible{outline:2px solid var(--button-text-color);outline-offset:-2px}.searchbox .closesearchresults.disabled{opacity:.4;cursor:not-allowed}.searchbox .closesearchresults.hidden{display:none}.searchbox .closesearchresults.open{color:var(--button-hover-text-color);background-color:var(--button-hover-background)}.searchbox .detailed_result{margin-bottom:10px}.searchbox .searchresults a:hover{text-decoration:underline;background:var(--link-active-background)}.searchbox .searchresults{padding-left:10px;margin-top:0;overflow-y:auto;flex:1 1;background:var(--content-background, white);border:1px solid var(--page-border-color, #ccc)}.searchbox .searchresults:empty{display:none}.searchbox .search-result-bullet{list-style-type:none}.searchbox .search-result-score{display:none}.searchbox .no_result{font-size:90%;font-weight:200}.searchbox .low_result{font-weight:200}.searchbox .medium_result{font-weight:500}.searchbox .high_result{font-weight:700}.searchbox .searchempty{display:none;padding-left:10px;padding-top:5px}.searchbox .search-results-unshown-count{margin-top:.6em}.searchbox .search-result-clip-highlight{background:var(--searchresultshighlight)}.searchbox .searchresultsbackground{position:fixed;top:0;background:var(--searchresultsbackground, white);width:100vw;height:100%;left:0;z-index:4999}@media screen and (max-width: 800px){.searchbox .searchresultsplaceholder{bottom:10vh}}:root{--searchresultsbackground: #fff8;--searchresultshighlight: rgba(255, 255, 0, 50%)}:root.dark-mode{--searchresultsbackground: #0008;--searchresultshighlight: rgba(255, 255, 0, 15%)}.ptx-content .ptx-runestone-container .runestone{margin:unset;border-radius:0;border-width:1px}.multiplechoice_section label>.para{display:inline}.ptx-content .ptx-runestone-container .ac_question{max-width:var(--base-content-width);margin:0 auto 10px}.runestone .runestone_caption{display:none}.ptx-content .ptx-runestone-container .rsdraggable{font-size:100%}.ptx-content .bottom{position:unset}.ptx-runestone-container .runestone code,.ptx-runestone-container .runestone pre{font-size:.93rem;line-height:1.2;font-family:var(--font-monospace)}.ptx-runestone-container code[class*=language-],.ptx-runestone-container pre[class*=language-]{color:#000;background:#fdfdfd}.runestone.datafile .datafile_caption{background:var(--code-inline-background);border:1px solid color-mix(in oklab,var(--code-inline-background) 50%,#888);display:block;width:fit-content;margin:0 auto}.runestone.datafile img{margin:0 auto;display:block;border:1px solid color-mix(in oklab,var(--code-inline-background) 50%,#888)}.runestone.datafile pre,.runestone.datafile textarea{margin:0 auto;border:1px solid color-mix(in oklab,var(--code-inline-background) 50%,#888);background-color:var(--page-color)}.runestone.datafile+.program{margin-top:0}ul[data-component=timedAssessment]{margin:0;padding:0}:root.dark-mode .ptx-runestone-container code[class*=language-],:root.dark-mode .ptx-runestone-container pre[class*=language-]{color:#fff;background:#141414}.ptx-content .wwprob table.attemptResults{margin-left:2em;background:#efefef;padding:.2em}.ptx-content .wwprob table.attemptResults+.attemptResultsSummary{margin-top:1em}.ptx-content .wwprob .problem-main-form{margin-top:1em;background:#eef;padding:.5em}.ptx-content .wwprob td.ResultsWithoutError{background:#9f9}.ptx-content .wwprob td.ResultsWithError{background:#f99}.ptx-content .wwprob tr th{text-align:center;padding:.2em 1em}.ptx-content .wwprob tr td{text-align:center}.ptx-content .wwprob tr td:empty{background:#fff}.ptx-content .wwprob ol,.ptx-content .wwprob ul{margin-top:.75em!important}.ptx-content .wwprob .problem{background:#fdfdfd}.ptx-content .wwprob .problem a{text-decoration:none}.ptx-content .wwprob #footer{font-size:70%;text-align:right}label.webwork{display:inline-flex;flex-direction:column}label.correct .status{background-color:#a0f0a0}label.partly-correct .status{color:#fc6}label.incorrect .status{color:#b00}label.incorrect .status:before{content:" "}label.feedback{word-wrap:break-word}label.correct .feedback{background-color:#0fc}label.partly-correct .feedback{color:#fc6}label.incorrect .feedback{color:#e07070}.webwork img,.webwork+.knowl-output img{max-width:100%}.exercise-wrapper>*:not(:first-child){margin-top:1.5em}.ptx-content .problem-buttons{display:flex}.ptx-content .webwork-button{font:inherit;display:flex;justify-content:center;align-items:center;padding:0 10px;gap:10px;min-height:34px;color:var(--button-text-color);background-color:var(--button-background);border-width:1px;border-color:var(--button-border-color);border-style:solid;border-radius:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;user-select:none}.ptx-content .webwork-button:hover:not(.disabled){color:var(--button-hover-text-color);background-color:var(--button-hover-background)}.ptx-content .webwork-button:focus-visible{outline:2px solid var(--button-text-color);outline-offset:-2px}.ptx-content .webwork-button.disabled{opacity:.4;cursor:not-allowed}.ptx-content .webwork-button.hidden{display:none}.ptx-content .webwork-button.open{color:var(--button-hover-text-color);background-color:var(--button-hover-background)}.problem-buttons.hidden-content,.problem-contents.hidden-content{display:none}.sagecell_sessionOutput pre{font-family:var(--font-monospace)}.sagecell{white-space:normal;margin-top:1.25em;margin-bottom:1.25em}.sage-interact.sagecell{margin:0}.sagecell_evalButton{font-family:var(--font-body);font-size:16px;padding:0 .65em}.sagecell_evalButton{cursor:pointer;display:inline-block;vertical-align:middle;user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-width:1px;border-style:solid;font-weight:700;border-radius:3px}.sagecell_evalButton{color:#383838;background-image:linear-gradient(#f7f7f7,#bbb);border-color:#c4c4c4}.sagecell_evalButton:hover{color:#181868;background-image:linear-gradient(#bbb,#f7f7f7)}.sagecell_evalButton:focus,.sagecell_evalButton:active{color:#20160b;background-image:linear-gradient(#ff6852,#ffd7d1);border-color:#ff2822}.sagecell .sagecell_editor{margin-bottom:8px}.sageanswer{font-family:monospace;white-space:pre;margin-left:3em;margin-bottom:2em}.sageanswer .key{display:inline-block;vertical-align:top;margin-right:1em}.sageanswer .output{display:inline-block;vertical-align:top}.calculator-container{position:fixed;z-index:100;bottom:5px;right:5px;width:253px;height:460px}@media screen and (max-width: 800px){.calculator-container{bottom:50px!important}}:is(.chapter,.section,.subsection,.subsubsection)>.tabular-box,:is(.chapter,.section,.subsection,.subsubsection)>.table>.tabular-box{overflow-x:auto}@container ptx-main (width > 640px){:is(.chapter,.section,.subsection,.subsubsection)>.tabular-box,:is(.chapter,.section,.subsection,.subsubsection)>.table>.tabular-box{--max-width: min((100cqw - 2 * 20px), 10000px) ;min-width:100%;clear:right;width:var(--max-width);max-width:var(--max-width);margin-left:calc(-.5*(100cqw - 640px))}}figure.table-like{margin-left:0;margin-right:0}:root{--base-content-width: 600px;--content-padding: 120px}body{margin:0;min-height:100vh;display:flex;flex-direction:column;align-items:stretch}body.pretext{color:var(--body-text-color);font-family:var(--font-body)}.ptx-page{position:relative;display:flex;flex-grow:1;width:100%}.ptx-main{flex-grow:1;position:relative;max-width:100%;container-name:ptx-main;container-type:inline-size}.ptx-main .ptx-content{max-width:840px;padding:24px 120px 60px;margin-left:auto;margin-right:auto}.worksheet .ptx-main .ptx-content{max-width:960px}.ptx-page{max-width:1480px;margin-left:auto;margin-right:auto}body.pretext,body.standalone{margin:0;padding:0;font-size:16px;background:var(--page-color, white)}body.pretext>a.assistive{padding:6px;position:absolute;top:-40px;left:0;color:#fff;border-right:1px solid white;border-bottom:1px solid white;border-bottom-right-radius:8px;background:#bf1722;z-index:10000}body.pretext>a.assistive:focus{top:0;outline:0;transition:top .1s ease-in,background .5s linear}.ptx-content-footer{display:flex;justify-content:space-around;max-width:840px;padding:2em 120px;margin-left:auto;margin-right:auto}.ptx-content-footer .button{font:inherit;display:flex;justify-content:center;align-items:center;padding:0 10px;gap:10px;min-height:34px;color:var(--button-text-color);background-color:var(--button-background);border-width:1px;border-color:var(--button-border-color);border-style:solid;border-radius:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;user-select:none}.ptx-content-footer .button:hover:not(.disabled){color:var(--button-hover-text-color);background-color:var(--button-hover-background)}.ptx-content-footer .button:focus-visible{outline:2px solid var(--button-text-color);outline-offset:-2px}.ptx-content-footer .button.disabled{opacity:.4;cursor:not-allowed}.ptx-content-footer .button.hidden{display:none}.ptx-content-footer .button.open{color:var(--button-hover-text-color);background-color:var(--button-hover-background)}.ptx-content-footer .button .icon{margin:0 -7px}.ptx-masthead{position:relative;background:var(--banner-background);width:100%;display:flex;justify-content:center}.ptx-masthead .ptx-banner{border-top:1px solid transparent;overflow:hidden;padding:10px;border-bottom:none;display:flex;width:100%;align-items:center;max-width:840px}.ptx-masthead a{color:var(--doc-title-color, #2a5ea4)}.ptx-masthead a:active{color:var(--link-active-text-color)}.ptx-masthead .title-container{font-family:var(--font-headings);font-size:2em;padding-left:9.68px;overflow:hidden;flex:1}.ptx-masthead .title-container .heading{font-weight:700;font-size:100%;line-height:1.25em}.ptx-masthead .title-container .title:has(+.subtitle):after{content:":"}.ptx-masthead .title-container .subtitle{font-weight:400}.ptx-masthead .logo-link{height:5em;display:flex}.ptx-masthead .logo-link img{max-height:100%}.ptx-masthead .logo-link img[src$=".svg"]{height:100%}.ptx-masthead .byline{color:var(--byline-color);font-weight:400;margin:0;font-size:62.5%;min-height:inherit}@media screen and (max-width: 800px){.ptx-masthead{border-bottom:1px solid var(--page-border-color)}.ptx-masthead .ptx-banner{padding:10px 28px;display:flex;justify-content:center}.ptx-masthead .logo-link:before{font-size:1rem;margin-top:0}.ptx-masthead .title-container{width:fit-content;flex:unset}.ptx-masthead .title-container .heading{line-height:1em}.ptx-masthead .title-container .heading .subtitle{display:block;font-size:80%;line-height:1em}.ptx-masthead .byline{font-size:50%}}@media screen and (width <= 480px){.ptx-masthead .title-container{padding:0;text-align:center;font-size:1em}.ptx-masthead .logo-link,.ptx-masthead .byline{display:none}}.ptx-navbar{position:sticky;top:0;height:36px;width:100%;background:var(--navbar-background);border:0;border-top:1px solid var(--page-border-color);border-bottom:1px solid var(--page-border-color);margin:0;z-index:500;overflow:visible;display:flex}.ptx-navbar .ptx-navbar-contents{position:relative;display:flex;flex:1;justify-content:center;align-items:center;max-width:840px;margin:0 auto}.ptx-navbar .button{font:inherit;display:flex;justify-content:center;align-items:center;padding:0 10px;gap:10px;min-height:34px;color:var(--button-text-color);background-color:var(--button-background);border-width:1px;border-color:var(--button-border-color);border-style:solid;border-radius:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;user-select:none}.ptx-navbar .button:hover:not(.disabled){color:var(--button-hover-text-color);background-color:var(--button-hover-background)}.ptx-navbar .button:focus-visible{outline:2px solid var(--button-text-color);outline-offset:-2px}.ptx-navbar .button.disabled{opacity:.4;cursor:not-allowed}.ptx-navbar .button.hidden{display:none}.ptx-navbar .button.open{color:var(--button-hover-text-color);background-color:var(--button-hover-background)}.ptx-navbar .button{height:100%;border-width:0}.ptx-navbar .toc-toggle{width:240px;gap:.4em;margin-left:0}.ptx-navbar :is(.treebuttons,.nav-runestone-controls,.nav-other-controls){display:flex}.ptx-navbar .treebuttons{flex:1 1 210px;justify-content:end}.ptx-navbar .nav-runestone-controls{flex:1 1 70px;justify-content:end}.ptx-navbar .pretext .navbar .dropdown{height:34px}.ptx-navbar .embed-popup{padding:10px;background-color:var(--navbar-background);position:absolute;margin-top:36px;border:1px solid var(--page-border-color);border-radius:3px;box-shadow:0 0 5px var(--primary-color-gray-80)}.ptx-navbar .embed-popup .embed-code-container{width:"100%";padding:5px}.ptx-navbar .embed-popup .embed-code-container .embed-code-textbox{width:100%;padding:10px;height:5em}.ptx-navbar .treebuttons>*{display:flex;align-items:center;justify-content:center;min-width:75px}.ptx-navbar .treebuttons .icon{margin:0 -7px}.ptx-navbar :is(.index-button) .icon{display:none}.ptx-navbar :is(.runestone-profile,.activecode-toggle,.searchbutton,.calculator-toggle,.light-dark-button,.embed-button) .name{display:none}.ptx-navbar .index-button{min-width:70px}.runestone-profile{position:relative}.runestone-profile .dropdown-content{display:none;position:absolute;background-color:var(--dropdown-background);min-width:160px;z-index:100;border:1px solid var(--dropdown-border-color);right:0;top:35px;text-align:start;padding:0}.runestone-profile .dropdown-content a{display:block;text-decoration:none;color:var(--dropdown-text-color);padding:2px 8px}.runestone-profile .dropdown-content a:is(:hover,:focus-visible){background-color:var(--dropdown-hover-background);color:var(--dropdown-hover-text-color)}.runestone-profile .dropdown-content hr{color:var(--dropdown-border-color);margin:4px 0}.runestone-profile:is(:hover,:focus-visible,:focus-within){overflow:visible}.runestone-profile:is(:hover,:focus-visible,:focus-within) .dropdown-content{display:block}@media screen and (max-width: 800px){.ptx-navbar .button{border-left-width:1px;border-right-width:1px;border-color:var(--page-border-color)}.ptx-navbar>*:not(:first-child){margin-left:-1px}.ptx-navbar{position:fixed;inset:auto 0 0;z-index:1100;background:var(--button-border-color);max-width:100vw}.ptx-navbar .ptx-navbar-contents{max-width:100vw}.ptx-navbar .nav-runestone-controls{flex:0}.ptx-navbar .toc-toggle{flex:2 1 100px}.ptx-navbar .treebuttons{flex:3 1 150px}.ptx-navbar .treebuttons>*{flex:1 1;min-width:35px}.ptx-navbar .index-button{display:none}.ptx-navbar .embed-popup{margin-top:unset;bottom:36px}.ptx-navbar .dropdown-content{top:unset;bottom:36px}.ptx-navbar :is(.toc-toggle,.previous-button,.up-button,.next-button,.calculator-toggle,.index-button,.embed-button) .name{display:none}}.ptx-sidebar{align-self:flex-start}.ptx-sidebar.visible{display:block}.ptx-sidebar.hidden{display:none;height:0}.ptx-toc{--codenumber-pad-left: .3rem;--codenumber-pad-right: .5rem;--toc-indent-first: calc(1rem + var(--codenumber-pad-left) + var(--codenumber-pad-right));--toc-indent-second: calc(1.7rem + var(--codenumber-pad-left) + var(--codenumber-pad-right));--toc-indent-third: calc(2.2rem + var(--codenumber-pad-left) + var(--codenumber-pad-right));background:var(--toc-background);margin:0;font-size:.9rem}.ptx-toc:is(.depth1,.parts.depth2){--codenumber-pad-right: .5rem}.ptx-toc .toc-item-list{margin:0;padding:0;list-style:none;background:var(--tocitem-background)}.ptx-toc .toc-item-list .active{list-style:none}.ptx-toc .toc-item{background-color:var(--tocitem-background);color:var(--toc-text-color);border-color:var(--toc-border-color)}.ptx-toc .toc-item a{color:inherit}.ptx-toc .toc-item.active:not(:has(.toc-item.active)){color:var(--tocitem-active-text-color)!important;background-color:var(--tocitem-active-background)!important;border-color:var(--tocitem-active-border-color)!important}.ptx-toc .toc-item>.toc-title-box>a:is(:hover,:focus){color:var(--tocitem-highlight-text-color);background-color:var(--tocitem-highlight-background);border-color:var(--tocitem-highlight-border-color)}.ptx-toc .toc-title-box{display:flex}.ptx-toc .toc-title-box>.internal{position:relative;display:flex;flex-grow:1;padding:.2em;font-weight:500}.ptx-toc .toc-item-list .toc-item-list .toc-title-box>.internal{font-weight:400}.ptx-toc .codenumber{min-width:var(--toc-indent-first);padding-left:var(--codenumber-pad-left);padding-right:var(--codenumber-pad-right);display:inline-block;text-align:left;flex-grow:0}.ptx-toc .toc-item{color:var(--toclevel1-text-color);background-color:var(--toclevel1-background)}.ptx-toc .toc-item .toc-item{color:var(--toclevel2-text-color);background-color:var(--toclevel2-background)}.ptx-toc .toc-item .toc-item .toc-item{color:var(--toclevel3-text-color);background-color:var(--toclevel3-background)}.book .ptx-toc .toc-chapter .toc-item-list .codenumber,.article .ptx-toc .toc-section .toc-item-list .codenumber,.ptx-toc .toc-backmatter .toc-item-list .codenumber{font-size:80%;padding-top:.16em;min-width:var(--toc-indent-second)}.book .ptx-toc .toc-chapter .toc-item-list .toc-item-list .codenumber,.article .ptx-toc .toc-section .toc-item-list .toc-item-list .codenumber,.ptx-toc .toc-backmatter .toc-item-list .toc-item-list .codenumber{min-width:var(--toc-indent-third);visibility:hidden}.ptx-toc .toc-item-list .toc-item-list .toc-item-list a:is(:hover,:focus)>.codenumber{visibility:visible}.ptx-toc .toc-item .toc-title-box .title{margin-left:var(--toc-indent-first)}.book .ptx-toc .toc-chapter .toc-item-list .title,.article .ptx-toc .toc-section .toc-item-list .title,.ptx-toc .toc-backmatter .toc-item-list .title{margin-left:var(--toc-indent-second)}.book .ptx-toc .toc-chapter .toc-item-list .toc-item-list .title,.article .ptx-toc .toc-section .toc-item-list .toc-item-list .title,.ptx-toc .toc-backmatter .toc-item-list .toc-item-list .title{margin-left:var(--toc-indent-third)}.ptx-toc .toc-item>.toc-title-box .codenumber+.title{margin-left:0!important}.ptx-toc .toc-chapter .toc-item-list .title,.ptx-toc .toc-section .toc-item-list .title,.ptx-toc .toc-backmatter .toc-item-list .toc-item-list .title{font-size:90%}.ptx-toc .toc-chapter .toc-item-list .toc-item-list .title,.ptx-toc .toc-section .toc-item-list .toc-item-list .title,.ptx-toc .toc-backmatter .toc-item-list .toc-item-list .toc-item-list .title{font-style:italic}.ptx-toc.depth0 ul.structural,.ptx-toc.depth1 ul.structural ul.structural,.ptx-toc.depth2 ul.structural ul.structural ul.structural,.ptx-toc.depth3 ul.structural ul.structural ul.structural ul.structural,.ptx-toc.depth4 ul.structural ul.structural ul.structural ul.structural ul.structural{display:none}.ptx-toc.depth1 ul.structural .toc-item.contains-active{background-color:var(--tocitem-active-backgrounde);color:var(--tocitem-active-text-color)}.ptx-toc.depth2 ul.structural ul.structural .toc-item.contains-active{background-color:var(--tocitem-active-background);color:var(--tocitem-active-text-color)}.ptx-toc.focused ul.structural:not(.contains-active)>.toc-item{display:none}.ptx-toc.focused ul.structural:not(.contains-active)>.toc-item.visible{display:block}.ptx-toc.focused ul.structural .toc-item.active>ul.structural>.toc-item{display:block}.ptx-toc.focused ul.structural .toc-item.active>ul.structural>.toc-item.hidden{display:none}.ptx-toc.focused .toc-expander{border:0;padding:2px 5px;background:inherit;color:inherit;display:flex;align-items:center}.ptx-toc.focused .toc-expander .icon{font-size:1.25em;line-height:18px;font-variation-settings:"wght" 200}.ptx-toc.focused .toc-expander:is(:hover){background-color:var(--tocitem-highlight-background);color:var(--tocitem-highlight-text-color)}.ptx-toc.focused .toc-expander:is(:hover) .icon{fill:var(--tocitem-highlight-text-color)}.ptx-toc.focused .toc-item>.toc-title-box>.toc-expander>.icon:before{content:"add"}.ptx-toc.focused .toc-item.expanded>.toc-title-box>.toc-expander>.icon:before{content:"remove"}.ptx-sidebar{flex:0 0 240px;position:sticky;top:36px;overflow-y:hidden}.ptx-toc{position:sticky;top:36px;overflow-y:auto;overflow-x:hidden;height:calc(100vh - 36px);margin-top:-1px}.ptx-toc>.toc-item-list:first-child>.toc-item:last-child{border-bottom:3px solid var(--toc-border-color)}@media screen and (max-width: 944px){.ptx-sidebar{display:none;position:sticky;top:36px;background:var(--content-background);min-height:30vh;border-right:2px solid var(--toc-border-color);border-bottom:2px solid var(--toc-border-color);width:240px}}@media screen and (max-width: 800px){.ptx-sidebar{position:fixed;z-index:1000;top:unset;height:auto;max-height:80vh;max-width:80vw;bottom:36px;border-right:2px solid var(--toc-border-color);border-top:2px solid var(--toc-border-color)}.ptx-toc{border-top:2px solid var(--toc-border-color);border-bottom:0;max-height:80vh}}.ptx-toc{scrollbar-color:var(--content-background) var(--content-background)}.ptx-toc:hover{scrollbar-color:var(--page-border-color) var(--content-background)}.ptx-page-footer{background:var(--footer-background);padding-top:0;border-top:2px solid var(--page-border-color);border-bottom:2px solid var(--page-border-color);display:flex;flex-direction:row;justify-content:center;width:100%;gap:90px;position:relative}.ptx-page-footer>a{margin:1em 0;color:var(--body-text-color)}.ptx-page-footer>a>.logo:first-child{height:3em;width:unset;margin:0}.ptx-page-footer .feedback-link{font:inherit;display:flex;justify-content:center;align-items:center;padding:0 10px;gap:10px;min-height:34px;color:var(--button-text-color);background-color:var(--button-background);border-width:1px;border-color:var(--button-border-color);border-style:solid;border-radius:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;user-select:none}.ptx-page-footer .feedback-link:hover:not(.disabled){color:var(--button-hover-text-color);background-color:var(--button-hover-background)}.ptx-page-footer .feedback-link:focus-visible{outline:2px solid var(--button-text-color);outline-offset:-2px}.ptx-page-footer .feedback-link.disabled{opacity:.4;cursor:not-allowed}.ptx-page-footer .feedback-link.hidden{display:none}.ptx-page-footer .feedback-link.open{color:var(--button-hover-text-color);background-color:var(--button-hover-background)}@media screen and (max-width: 800px){.ptx-page-footer{gap:20px;justify-content:center;margin-bottom:34px}.ptx-page-footer>a>.logo:first-child{height:2em}}@container ptx-main (width > 640px){.ptx-runestone-container:has(.ac_section,.codelens,.parsons_section,.hparsons_section,.datafile){--max-width: min((100cqw - 2 * 20px), 10000px) ;min-width:100%;clear:right;width:var(--max-width);max-width:var(--max-width);margin-left:calc(-.5*(100cqw - 640px))}}.ptx-runestone-container .ptx-runestone-container:has(.ac_section,.codelens,.parsons_section,.hparsons_section,.datafile){width:100%;min-width:100%;margin-left:auto}@container ptx-main (width > 640px){:is(.timedAssessment,.theorem-like,.definition-like,.example-like,.exercise-like,.project-like,.remark-like,.openproblem-like,.openproblems-like,.computation-like,.knowl__content):has(.ac_section,.codelens,.parsons_section,.hparsons_section,.datafile){--max-width: min((100cqw - 2 * 20px), 10000px) ;min-width:100%;clear:right;width:var(--max-width);max-width:var(--max-width);margin-left:calc(-.5*(100cqw - 640px))}}:is(.timedAssessment,.theorem-like,.definition-like,.example-like,.exercise-like,.project-like,.remark-like,.openproblem-like,.openproblems-like,.computation-like,.knowl__content):has(.ac_section,.codelens,.parsons_section,.hparsons_section,.datafile) :is(.timedAssessment,.theorem-like,.definition-like,.example-like,.exercise-like,.project-like,.remark-like,.openproblem-like,.openproblems-like,.computation-like,.knowl__content):has(.ac_section,.codelens,.parsons_section,.hparsons_section,.datafile){width:100%;margin-left:auto}:is(.timedAssessment,.theorem-like,.definition-like,.example-like,.exercise-like,.project-like,.remark-like,.openproblem-like,.openproblems-like,.computation-like,.knowl__content) .ptx-runestone-container:has(.ac_section,.codelens,.parsons_section,.hparsons_section,.datafile){width:100%;margin-left:0}.runestone.ac_section>div>div>*:not(.ac_code_div):not(.ac_output):not(.codelens):not(.ac_actions){max-width:600px;margin-left:auto;margin-right:auto}.runestone .exercise-statement,.hparsons_section .hp_question,.hparsons_section .hp_feedback{max-width:600px;margin-left:auto;margin-right:auto}.runestone.parsons_section>.parsons{width:100%;padding-right:0}.runestone.parsons_section>.parsons .sortable-code-container{display:flex;flex-flow:wrap;justify-content:center;gap:15px;margin:10px auto}.runestone.parsons_section>.parsons .sortable-code{margin:0}.runestone.parsons_section>.parsons .runestone_caption_text{max-width:unset}.runestone.parsons_section>.parsons>div>*:not(.sortable-code-container){max-width:600px;margin-left:auto;margin-right:auto}@media (width < 850px){.ptx-runestone-container:has(.ac_section,.codelens,.parsons_section,.hparsons_section,.datafile){width:100cqw;margin-left:calc(-.5*(100cqw - 100%))}:is(.timedAssessment,.theorem-like,.definition-like,.example-like,.exercise-like,.project-like,.remark-like,.openproblem-like,.openproblems-like,.computation-like,.knowl__content):has(.ac_section,.codelens,.parsons_section,.hparsons_section,.datafile){width:100cqw;margin-left:calc(-.5*(100cqw - 100%))}:is(.timedAssessment,.theorem-like,.definition-like,.example-like,.exercise-like,.project-like,.remark-like,.openproblem-like,.openproblems-like,.computation-like,.knowl__content) .ptx-runestone-container:has(.ac_section,.codelens,.parsons_section,.hparsons_section,.datafile){width:100%;margin-left:0}}.ptx-main{margin-right:320px}.ptx-sidebar.hidden+.ptx-main{margin-left:320px}.ptx-main{box-shadow:5px 10px 40px -10px var(--primary-color-gray-80)}@media (prefers-color-scheme: dark){.ptx-main{box-shadow:5px 10px 40px -10px #000}}.ptx-sidebar{margin-right:80px}.ptx-navbar{border:none}.ptx-navbar .toc-toggle{transform:translate(-320px);position:absolute;left:0;justify-content:left}.ptx-toc{border:none;position:sticky;top:36px}.toc-item.visible{font-size:.95em;padding-left:8px}.ptx-page{margin-top:36px;margin-bottom:36px}@media screen and (width <= 1480px){.ptx-page{margin-left:0;max-width:100%}.ptx-main{margin-right:calc(100% - 1160px);max-width:840px}.ptx-sidebar.hidden+.ptx-main{margin-right:auto;margin-left:auto}.ptx-navbar .ptx-navbar-contents{margin-left:320px}}@media screen and (width <= 1240px){.ptx-main{box-shadow:unset;margin-right:auto}.ptx-main .ptx-content{padding-left:20px;padding-right:20px;max-width:640px}.ptx-sidebar{margin-right:0}.ptx-navbar .ptx-navbar-contents{margin-left:240px}.ptx-navbar .toc-toggle{transform:translate(-240px);justify-content:center}.ptx-page{margin-top:unset;margin-bottom:unset}.ptx-toc{padding-top:36px}}@media screen and (width <= 880px){.ptx-sidebar{display:none}}@media screen and (max-width: 800px){.ptx-navbar .ptx-navbar-contents{margin-left:0}.ptx-navbar .toc-toggle{transform:none;position:relative;justify-content:center}.ptx-content-footer{padding-left:20px;padding-right:20px}}.toc-item:is(:hover,:focus){color:var(--tocitem-highlight-text-color);background-color:var(--tocitem-highlight-background);border-color:var(--tocitem-highlight-border-color)}.ptx-toc.focused .toc-item>.toc-title-box>.toc-expander>.icon{font-size:30px}.ptx-toc.focused .toc-item>.toc-title-box>.toc-expander>.icon:before{content:"chevron_left"}.ptx-toc.focused .toc-item.expanded>.toc-title-box>.toc-expander>.icon{transform:rotate(-90deg)}.ptx-toc.focused .toc-item.expanded>.toc-title-box>.toc-expander>.icon:before{content:"chevron_left"}.hide-type .codenumber:not(:empty):after{content:". "}.ptx-masthead,.button.disabled{display:none}.aside-like>.knowl__link{color:var(--aside-like-link-color);border-bottom-color:var(--aside-like-link-color)}.aside-like>.knowl__content{margin-left:30px;margin-right:30px;border:2px solid var(--aside-like-border-color);background-color:var(--aside-like-body-background)}@media screen and (min-width: 1450px){details.aside-like{position:relative;margin-left:-365px;width:200px;right:-365px;float:right;clear:right}.multicolumn details.aside-like{position:relative;margin-left:inherit;width:auto;right:0;float:none;clear:none}details.aside-like>.knowl__content{margin-left:0;margin-right:0;background-color:var(--aside-like-body-background);z-index:100}}.cols2>.exercise-like{min-width:calc(50% - 2em);width:min-content;margin-right:2em}.cols3>.exercise-like{min-width:calc(33.3333333333% - 2em);width:min-content;margin-right:2em}.cols4>.exercise-like{min-width:calc(25% - 2em);width:min-content;margin-right:2em}.cols5>.exercise-like{min-width:calc(20% - 2em);width:min-content;margin-right:2em}.cols6>.exercise-like{min-width:calc(16.6666666667% - 2em);width:min-content;margin-right:2em}.exercise-like>.heading{font-size:inherit}.exercisegroup .exercise-like{margin-top:1em}.exercisegroup>.heading{font-size:1.1em;line-height:1.05em;margin-top:.75em;display:inline}.exercisegroup>.heading+.introduction{display:inline}.exercisegroup>.heading+.introduction>.para:first-child{display:inline}.exercisegroup .exercisegroup-exercises{margin-top:1em;padding-left:40px}.exercisegroup .conclusion{margin-left:40px}.exercisegroup .conclusion .heading{font-size:inherit}.exercise-like>.exercise-like.task{margin-left:20px}.exercise-wrapper form button:hover{cursor:pointer;background-color:#e0e0ff;border:1px solid #000}.exercise-wrapper form button:active{background-color:#f0f0f0}.exercise-wrapper form button+button{margin-left:.8em}.exercise-wrapper,.exercise-wrapper form,.exercise-wrapper form>div:first-child{display:inline-block;vertical-align:top;width:100%}.knowl .exercise-wrapper,.knowl .exercise-wrapper form,.knowl .exercise-wrapper form>div:first-child{width:100%}.exercise-wrapper>.para:first-child,.exercisegroup .exercise-wrapper>.para:first-child{margin-top:0;display:inline}.heading+.exercise-wrapper{display:inline-block;max-width:95%;width:100%}.cols2 .heading+.exercise-wrapper{width:auto}section.solutions>.heading+.heading{margin-top:.5em}section.solutions>h3.heading,section.solutions section>h3.heading{font-size:1.6em}section.solutions>h4.heading,section.solutions section>h4.heading{font-size:1.45em}section.solutions>h5.heading,section.solutions section>h5.heading{font-size:1.35em}section.solutions>h6.heading,section.solutions section>h6.heading{font-size:1.25em}.sbsgroup>*:not(:first-child){margin-top:1.5em}.sbsrow{display:grid;grid-template-rows:auto auto}.sbspanel{grid-row:1}.sbspanel>.table>figcaption{text-align:center}.sbspanel .tabular{overflow-x:auto;margin-left:auto;margin-right:auto}.sbspanel--top{align-self:start}.sbspanel--middle{align-self:center}.sbspanel--bottom{align-self:end}.sbspanel:has(.figure-like,.table-like),.sbspanel>:is(.figure-like,.table-like){display:contents}.sbspanel>:is(.figure-like,.table-like)>*:first-child{grid-row:1;align-items:start;align-self:start}.sbspanel--top>:is(.figure-like,.table-like)>*:first-child{align-items:start;align-self:start}.sbspanel--middle>:is(.figure-like,.table-like)>*:first-child{align-items:center;align-self:center}.sbspanel--bottom>:is(.figure-like,.table-like)>*:first-child{align-items:end;align-self:end}.sbspanel>:is(.figure-like,.table-like)>*:nth-child(2){margin-top:.5em;grid-row:2;width:100%}.sbspanel:nth-of-type(2) *{grid-column:2}.sbspanel:nth-of-type(3) *{grid-column:3}.sbspanel:nth-of-type(4) *{grid-column:4}.sbspanel:nth-of-type(5) *{grid-column:5}.sbspanel:nth-of-type(6) *{grid-column:6}.sbspanel:nth-of-type(7) *{grid-column:7}.sbspanel:nth-of-type(8) *{grid-column:8}.sbspanel:nth-of-type(9) *{grid-column:9}.sbspanel:nth-of-type(10) *{grid-column:10}.discussion-like>.heading:first-child{display:inline;line-height:initial;border-bottom:0}.discussion-like>.heading:first-child:after{content:"\2009"}.discussion-like>.heading:first-child+:is(.para,.para.logical,.introduction){display:inline}.discussion-like>.heading:first-child+:is(.para,.para.logical,.introduction)>.para:first-child{display:inline}.discussion-like>.heading:first-child+:is(.para,.para.logical,.introduction)>.para.logical:first-child>.para:first-child{display:inline}.discussion-like>.heading :after{content:"\2009"}.discussion-like>.heading+.para{display:inline}.discussion-like>.heading .space,.discussion-like>.heading .codenumber,.discussion-like>.heading .period{display:none}.discussion-like>.heading .type:after{content:". "}.source-view__link,.knowl__link{cursor:pointer;margin-left:.1em;margin-right:.1em;color:var(--knowl-link-color);border-bottom:1px dotted var(--knowl-link-color)}.source-view{margin:.5em 0}summary.source-view__link,summary.knowl__link{display:list-item inline}.source-view__link>*,.knowl__link>*{display:inline}.source-view__link:is(:hover,:focus,[open]),.knowl__link:is(:hover,:focus,[open]){background-color:var(--knowl-background);border-bottom-color:transparent}.source-view__content{margin:.2em 0}.knowl__content{margin:.75em 0;border:3px solid var(--knowl-border-color);border-radius:8px;padding:12px;background-color:var(--knowl-background)}.knowl__content .incontext{display:block;font-size:85%;text-align:right}.knowl__content .knowl__content{background-color:var(--knowl-nested-1-background)}.knowl__content .knowl__content .knowl__content{background-color:var(--knowl-nested-2-background)}.knowl__content .knowl__content .knowl__content .knowl__content{background-color:var(--knowl-nested-3-background)}.knowl__content .knowl__content .knowl__content .knowl__content .knowl__content{background-color:var(--knowl-nested-4-background)}.knowl__content>figure{margin-left:0;margin-right:0}.assemblage-like:not(.knowl__content,.born-hidden-knowl),.goal-like:not(.knowl__content,.born-hidden-knowl){padding:10px 10px 10px 15px;border-left:4px solid var(--block-border-color);background-color:var(--goal-like-body-background)}.assemblage-like:not(.knowl__content,.born-hidden-knowl)>.heading:first-child,.goal-like:not(.knowl__content,.born-hidden-knowl)>.heading:first-child{margin-top:0}.theorem-like .heading,.definition-like .heading{display:block;font-size:1.1em}.theorem-like .para,.definition-like .para{font-style:italic}.example-like>.heading,.project-like>.heading,.remark-like>.heading,.openproblem-like>.heading,.computation-like>.heading,.commentary>.heading{display:block;font-size:1.1em}.proof{padding-bottom:1.5em;padding-left:1em;padding-right:1em}.proof:after{content:"\25a1";position:absolute;right:0;bottom:1.5em}.proof .heading{font-size:unset;font-weight:700;font-style:italic}.solution-like .heading{display:inline;font-style:italic;font-size:unset}.tasks .knowl__content{border:none}.tasks .knowl__content .theorem-like,.tasks .knowl__content .definition-like,.tasks .knowl__content .example-like,.tasks .knowl__content .project-like,.tasks .knowl__content .remark-like,.tasks .knowl__content .openproblem-like,.tasks .knowl__content .computation-like,.tasks .knowl__content .commentary{padding-left:0;margin-left:0;border-left:none}.tasks .knowl__content .theorem-like:after,.tasks .knowl__content .definition-like:after,.tasks .knowl__content .example-like:after,.tasks .knowl__content .project-like:after,.tasks .knowl__content .remark-like:after,.tasks .knowl__content .openproblem-like:after,.tasks .knowl__content .computation-like:after,.tasks .knowl__content .commentary:after{border-bottom:none;display:none}section.solutions:not(:is(:first-child)):not(.knowl__content,.born-hidden-knowl){padding:10px 10px 10px 15px;border-left:2px solid var(--solution-border-color);background-color:var(--content-background)}section.solutions:not(:is(:first-child)):not(.knowl__content,.born-hidden-knowl)>.heading:first-child{margin-top:0}.paragraphs>.heading:first-child,article>.heading:first-child{display:inline;line-height:initial;border-bottom:0}.paragraphs>.heading:first-child:after,article>.heading:first-child:after{content:"\2009"}.paragraphs>.heading:first-child+:is(.para,.para.logical,.introduction),article>.heading:first-child+:is(.para,.para.logical,.introduction){display:inline}.paragraphs>.heading:first-child+:is(.para,.para.logical,.introduction)>.para:first-child,article>.heading:first-child+:is(.para,.para.logical,.introduction)>.para:first-child{display:inline}.paragraphs>.heading:first-child+:is(.para,.para.logical,.introduction)>.para.logical:first-child>.para:first-child,article>.heading:first-child+:is(.para,.para.logical,.introduction)>.para.logical:first-child>.para:first-child{display:inline}:root{--font-body: Open Sans, Helvetica Neue, Helvetica, Arial, sans-serif}:root{--font-headings: PT Serif, Times New Roman, Times, serif}:root{--font-monospace: Inconsolata, Consolas, Monaco, monospace}:root{--font-print: PT Serif, Times New Roman, Times, serif}:root{color-scheme:light}:root:not(.dark-mode){--page-color: white;--content-background: white;--page-border-color: #ccc;--doc-title-color: var(--primary-color);--byline-color: #333;--banner-background: #f8f8f8;--navbar-background: var(--primary-color);--footer-background: var(--banner-background);--toc-border-color: #666;--toc-background: var(--content-background);--tocitem-background: var(--toc-background);--toc-text-color: var(--primary-color-black-30);--tocitem-highlight-background: #3a3a3a;--tocitem-highlight-text-color: #fff;--tocitem-highlight-border-color: #3a3a3a;--tocitem-active-background: var(--primary-color-white-15);--tocitem-active-text-color: white;--tocitem-active-border-color: var(--toc-border-color);--toclevel1-background: var(--content-background);--toclevel1-text-color: var(--toc-text-color);--toclevel2-background: var(--content-background);--toclevel2-text-color: var(--toc-text-color);--toclevel3-background: var(--content-background);--toclevel3-text-color: var(--toc-text-color);--body-text-color: #000;--body-title-color: var(--primary-color-black-20);--ptx-image-bg: transparent;--activated-content-bg: rgba(241, 185, 255, .3);--summary-link-background: var(--button-background);--summary-link-text-color: var(--button-text-color);--summary-link-hover-background: var(--button-hover-background);--summary-link-hover-text-color: var(--button-hover-text-color);--link-text-color: var(--primary-color);--link-background: transparent;--link-active-text-color: var(--primary-color);--link-active-background: var(--primary-color-white-96);--link-alt-text-color: var(--link-text-color);--link-alt-background: transparent;--link-alt-active-text-color: var(--link-alt-text-color);--link-alt-active-background: var(--primary-color-white-96);--knowl-link-color: var(--link-text-color);--knowl-background: #f8f8f8;--knowl-border-color: var(--primary-color-gray-80);--knowl-nested-1-background: #f5f5ff;--knowl-nested-2-background: #fffff5;--knowl-nested-3-background: #f5ffff;--knowl-nested-4-background: #fff5f5;--block-body-background: var(--content-background);--block-border-color: var(--knowl-border-color);--block-head-color: var(--body-text-color);--aside-like-link-color: var(--link-text-color);--button-background: var(--primary-color);--button-text-color: var(--primary-color-white-90);--button-border-color: #3a3a3a;--button-hover-background: #3a3a3a;--button-hover-text-color: var(--button-text-color);--dropdown-background: var(--content-background);--dropdown-border-color: var(--toc-border-color);--dropdown-text-color: var(--toc-text-color);--dropdown-hover-background: var(--tocitem-active-background);--dropdown-hover-text-color: var(--tocitem-active-text-color);--code-background: #fdfdfd;--code-inline-background: #ededed;--assemblage-like-body-background: var(--block-body-background);--assemblage-like-border-color: var(--block-border-color);--definition-like-body-background: var(--block-body-background);--definition-like-border-color: var(--block-border-color);--theorem-like-body-background: var(--block-body-background);--theorem-like-border-color: var(--block-border-color);--axiom-like-body-background: var(--block-body-background);--axiom-like-border-color: var(--block-border-color);--remark-like-body-background: var(--block-body-background);--remark-like-border-color: var(--block-border-color);--computation-like-body-background: var(--block-body-background);--computation-like-border-color: var(--block-border-color);--openproblem-like-body-background: var(--block-body-background);--openproblem-like-border-color: var(--block-border-color);--aside-like-body-background: var(--block-body-background);--aside-like-border-color: var(--block-border-color);--proof-like-body-background: var(--block-body-background);--proof-like-border-color: var(--block-border-color);--example-like-body-background: var(--block-body-background);--example-like-border-color: var(--block-border-color);--project-like-body-background: var(--block-body-background);--project-like-border-color: var(--block-border-color);--goal-like-body-background: var(--block-body-background);--goal-like-border-color: var(--block-border-color);--solution-like-body-background: var(--block-body-background);--solution-like-border-color: var(--block-border-color);--primary-color-white-1: color-mix(in oklab, var(--primary-color), white 1%);--primary-color-white-2: color-mix(in oklab, var(--primary-color), white 2%);--primary-color-white-3: color-mix(in oklab, var(--primary-color), white 3%);--primary-color-white-4: color-mix(in oklab, var(--primary-color), white 4%);--primary-color-white-5: color-mix(in oklab, var(--primary-color), white 5%);--primary-color-white-10: color-mix(in oklab, var(--primary-color), white 10%);--primary-color-white-15: color-mix(in oklab, var(--primary-color), white 15%);--primary-color-white-20: color-mix(in oklab, var(--primary-color), white 20%);--primary-color-white-25: color-mix(in oklab, var(--primary-color), white 25%);--primary-color-white-30: color-mix(in oklab, var(--primary-color), white 30%);--primary-color-white-35: color-mix(in oklab, var(--primary-color), white 35%);--primary-color-white-40: color-mix(in oklab, var(--primary-color), white 40%);--primary-color-white-50: color-mix(in oklab, var(--primary-color), white 50%);--primary-color-white-60: color-mix(in oklab, var(--primary-color), white 60%);--primary-color-white-65: color-mix(in oklab, var(--primary-color), white 65%);--primary-color-white-70: color-mix(in oklab, var(--primary-color), white 70%);--primary-color-white-75: color-mix(in oklab, var(--primary-color), white 75%);--primary-color-white-80: color-mix(in oklab, var(--primary-color), white 80%);--primary-color-white-85: color-mix(in oklab, var(--primary-color), white 85%);--primary-color-white-90: color-mix(in oklab, var(--primary-color), white 90%);--primary-color-white-95: color-mix(in oklab, var(--primary-color), white 95%);--primary-color-white-96: color-mix(in oklab, var(--primary-color), white 96%);--primary-color-white-97: color-mix(in oklab, var(--primary-color), white 97%);--primary-color-white-98: color-mix(in oklab, var(--primary-color), white 98%);--primary-color-white-99: color-mix(in oklab, var(--primary-color), white 99%);--primary-color-black-1: color-mix(in oklab, var(--primary-color), black 1%);--primary-color-black-2: color-mix(in oklab, var(--primary-color), black 2%);--primary-color-black-3: color-mix(in oklab, var(--primary-color), black 3%);--primary-color-black-4: color-mix(in oklab, var(--primary-color), black 4%);--primary-color-black-5: color-mix(in oklab, var(--primary-color), black 5%);--primary-color-black-10: color-mix(in oklab, var(--primary-color), black 10%);--primary-color-black-15: color-mix(in oklab, var(--primary-color), black 15%);--primary-color-black-20: color-mix(in oklab, var(--primary-color), black 20%);--primary-color-black-25: color-mix(in oklab, var(--primary-color), black 25%);--primary-color-black-30: color-mix(in oklab, var(--primary-color), black 30%);--primary-color-black-35: color-mix(in oklab, var(--primary-color), black 35%);--primary-color-black-40: color-mix(in oklab, var(--primary-color), black 40%);--primary-color-black-50: color-mix(in oklab, var(--primary-color), black 50%);--primary-color-black-60: color-mix(in oklab, var(--primary-color), black 60%);--primary-color-black-65: color-mix(in oklab, var(--primary-color), black 65%);--primary-color-black-70: color-mix(in oklab, var(--primary-color), black 70%);--primary-color-black-75: color-mix(in oklab, var(--primary-color), black 75%);--primary-color-black-80: color-mix(in oklab, var(--primary-color), black 80%);--primary-color-black-85: color-mix(in oklab, var(--primary-color), black 85%);--primary-color-black-90: color-mix(in oklab, var(--primary-color), black 90%);--primary-color-black-95: color-mix(in oklab, var(--primary-color), black 95%);--primary-color-black-96: color-mix(in oklab, var(--primary-color), black 96%);--primary-color-black-97: color-mix(in oklab, var(--primary-color), black 97%);--primary-color-black-98: color-mix(in oklab, var(--primary-color), black 98%);--primary-color-black-99: color-mix(in oklab, var(--primary-color), black 99%);--primary-color-gray-1: color-mix(in oklab, var(--primary-color), gray 1%);--primary-color-gray-2: color-mix(in oklab, var(--primary-color), gray 2%);--primary-color-gray-3: color-mix(in oklab, var(--primary-color), gray 3%);--primary-color-gray-4: color-mix(in oklab, var(--primary-color), gray 4%);--primary-color-gray-5: color-mix(in oklab, var(--primary-color), gray 5%);--primary-color-gray-10: color-mix(in oklab, var(--primary-color), gray 10%);--primary-color-gray-15: color-mix(in oklab, var(--primary-color), gray 15%);--primary-color-gray-20: color-mix(in oklab, var(--primary-color), gray 20%);--primary-color-gray-25: color-mix(in oklab, var(--primary-color), gray 25%);--primary-color-gray-30: color-mix(in oklab, var(--primary-color), gray 30%);--primary-color-gray-35: color-mix(in oklab, var(--primary-color), gray 35%);--primary-color-gray-40: color-mix(in oklab, var(--primary-color), gray 40%);--primary-color-gray-50: color-mix(in oklab, var(--primary-color), gray 50%);--primary-color-gray-60: color-mix(in oklab, var(--primary-color), gray 60%);--primary-color-gray-65: color-mix(in oklab, var(--primary-color), gray 65%);--primary-color-gray-70: color-mix(in oklab, var(--primary-color), gray 70%);--primary-color-gray-75: color-mix(in oklab, var(--primary-color), gray 75%);--primary-color-gray-80: color-mix(in oklab, var(--primary-color), gray 80%);--primary-color-gray-85: color-mix(in oklab, var(--primary-color), gray 85%);--primary-color-gray-90: color-mix(in oklab, var(--primary-color), gray 90%);--primary-color-gray-95: color-mix(in oklab, var(--primary-color), gray 95%);--primary-color-gray-96: color-mix(in oklab, var(--primary-color), gray 96%);--primary-color-gray-97: color-mix(in oklab, var(--primary-color), gray 97%);--primary-color-gray-98: color-mix(in oklab, var(--primary-color), gray 98%);--primary-color-gray-99: color-mix(in oklab, var(--primary-color), gray 99%);--primary-color: #386F94;--toc-border: var(--primary-color-gray-10)}:root.dark-mode{color-scheme:dark;--page-color: var(--background-color);--content-background: var(--page-color);--page-border-color: var(--background-color-white-25);--doc-title-color: var(--primary-color);--byline-color: var(--background-color-white-50);--banner-background: hsl(270, 10%, 5%);--navbar-background: var(--background-color-gray-15);--footer-background: var(--background-color-black-10);--toc-border-color: #555;--toc-background: var(--content-background);--tocitem-background: var(--toc-background);--toc-text-color: var(--body-text-color);--tocitem-highlight-background: var(--primary-color-gray-5);--tocitem-highlight-text-color: var(--background-color-black-50);--tocitem-highlight-border-color: var(--toc-border-color);--tocitem-active-background: var(--primary-color-gray-5);--tocitem-active-text-color: var(--background-color-black-50);--tocitem-active-border-color: var(--toc-border-color);--toclevel1-background: var(--content-background);--toclevel1-text-color: var(--primary-color-white-40);--toclevel2-background: var(--content-background);--toclevel2-text-color: var(--toclevel1-text-color);--toclevel3-background: var(--content-background);--toclevel3-text-color: var(--toc-text-color);--body-text-color: #f2f2f2;--body-title-color: var(--primary-color-white-20);--ptx-image-bg: white;--activated-content-bg: rgba(255, 237, 185, .2);--summary-link-background: var(--button-background);--summary-link-text-color: var(--button-text-color);--summary-link-hover-background: var(--button-hover-background);--summary-link-hover-text-color: var(--button-hover-text-color);--link-text-color: var(--primary-color-white-10);--link-background: transparent;--link-active-text-color: var(--primary-color-white-40);--link-active-background: var(--background-color-gray-30);--link-alt-text-color: var(--link-text-color);--link-alt-background: transparent;--link-alt-active-text-color: var(--link-alt-text-color);--link-alt-active-background: var(--link-active-text-color);--knowl-link-color: var(--doc-title-color);--knowl-background: var(--background-color-black-10);--knowl-border-color: var(--background-color-white-20);--knowl-nested-1-background: var(--background-color-gray-10);--knowl-nested-2-background: var(--background-color-black-10);--knowl-nested-3-background: var(--background-color-gray-10);--knowl-nested-4-background: var(--background-color-black-10);--block-body-background: var(--content-background);--block-border-color: var(--knowl-border-color);--block-head-color: var(--body-text-color);--aside-like-link-color: var(--link-text-color);--button-background: var(--background-color-gray-15);--button-text-color: var(--body-text-color);--button-border-color: var(--background-color-white-25);--button-hover-background: var(--primary-color-black-50);--button-hover-text-color: var(--button-text-color);--dropdown-background: var(--content-background);--dropdown-border-color: var(--toc-border-color);--dropdown-text-color: var(--toc-text-color);--dropdown-hover-background: var(--tocitem-active-background);--dropdown-hover-text-color: var(--tocitem-active-text-color);--code-background: var(--background-color-gray-20);--code-inline-background: var(--background-color-gray-20);--assemblage-like-body-background: var(--block-body-background);--assemblage-like-border-color: var(--block-border-color);--definition-like-body-background: var(--block-body-background);--definition-like-border-color: var(--block-border-color);--theorem-like-body-background: var(--block-body-background);--theorem-like-border-color: var(--block-border-color);--axiom-like-body-background: var(--block-body-background);--axiom-like-border-color: var(--block-border-color);--remark-like-body-background: var(--block-body-background);--remark-like-border-color: var(--block-border-color);--computation-like-body-background: var(--block-body-background);--computation-like-border-color: var(--block-border-color);--openproblem-like-body-background: var(--block-body-background);--openproblem-like-border-color: var(--block-border-color);--aside-like-body-background: var(--block-body-background);--aside-like-border-color: var(--block-border-color);--proof-like-body-background: var(--block-body-background);--proof-like-border-color: var(--block-border-color);--example-like-body-background: var(--block-body-background);--example-like-border-color: var(--block-border-color);--project-like-body-background: var(--block-body-background);--project-like-border-color: var(--block-border-color);--goal-like-body-background: var(--block-body-background);--goal-like-border-color: var(--block-border-color);--solution-like-body-background: var(--block-body-background);--solution-like-border-color: var(--block-border-color);--primary-color: #5192BD;--background-color: hsl(270, 10%, 5%);--background-color-white-1: color-mix(in oklab, var(--background-color), white 1%);--background-color-white-2: color-mix(in oklab, var(--background-color), white 2%);--background-color-white-3: color-mix(in oklab, var(--background-color), white 3%);--background-color-white-4: color-mix(in oklab, var(--background-color), white 4%);--background-color-white-5: color-mix(in oklab, var(--background-color), white 5%);--background-color-white-10: color-mix(in oklab, var(--background-color), white 10%);--background-color-white-15: color-mix(in oklab, var(--background-color), white 15%);--background-color-white-20: color-mix(in oklab, var(--background-color), white 20%);--background-color-white-25: color-mix(in oklab, var(--background-color), white 25%);--background-color-white-30: color-mix(in oklab, var(--background-color), white 30%);--background-color-white-35: color-mix(in oklab, var(--background-color), white 35%);--background-color-white-40: color-mix(in oklab, var(--background-color), white 40%);--background-color-white-50: color-mix(in oklab, var(--background-color), white 50%);--background-color-white-60: color-mix(in oklab, var(--background-color), white 60%);--background-color-white-65: color-mix(in oklab, var(--background-color), white 65%);--background-color-white-70: color-mix(in oklab, var(--background-color), white 70%);--background-color-white-75: color-mix(in oklab, var(--background-color), white 75%);--background-color-white-80: color-mix(in oklab, var(--background-color), white 80%);--background-color-white-85: color-mix(in oklab, var(--background-color), white 85%);--background-color-white-90: color-mix(in oklab, var(--background-color), white 90%);--background-color-white-95: color-mix(in oklab, var(--background-color), white 95%);--background-color-white-96: color-mix(in oklab, var(--background-color), white 96%);--background-color-white-97: color-mix(in oklab, var(--background-color), white 97%);--background-color-white-98: color-mix(in oklab, var(--background-color), white 98%);--background-color-white-99: color-mix(in oklab, var(--background-color), white 99%);--background-color-black-1: color-mix(in oklab, var(--background-color), black 1%);--background-color-black-2: color-mix(in oklab, var(--background-color), black 2%);--background-color-black-3: color-mix(in oklab, var(--background-color), black 3%);--background-color-black-4: color-mix(in oklab, var(--background-color), black 4%);--background-color-black-5: color-mix(in oklab, var(--background-color), black 5%);--background-color-black-10: color-mix(in oklab, var(--background-color), black 10%);--background-color-black-15: color-mix(in oklab, var(--background-color), black 15%);--background-color-black-20: color-mix(in oklab, var(--background-color), black 20%);--background-color-black-25: color-mix(in oklab, var(--background-color), black 25%);--background-color-black-30: color-mix(in oklab, var(--background-color), black 30%);--background-color-black-35: color-mix(in oklab, var(--background-color), black 35%);--background-color-black-40: color-mix(in oklab, var(--background-color), black 40%);--background-color-black-50: color-mix(in oklab, var(--background-color), black 50%);--background-color-black-60: color-mix(in oklab, var(--background-color), black 60%);--background-color-black-65: color-mix(in oklab, var(--background-color), black 65%);--background-color-black-70: color-mix(in oklab, var(--background-color), black 70%);--background-color-black-75: color-mix(in oklab, var(--background-color), black 75%);--background-color-black-80: color-mix(in oklab, var(--background-color), black 80%);--background-color-black-85: color-mix(in oklab, var(--background-color), black 85%);--background-color-black-90: color-mix(in oklab, var(--background-color), black 90%);--background-color-black-95: color-mix(in oklab, var(--background-color), black 95%);--background-color-black-96: color-mix(in oklab, var(--background-color), black 96%);--background-color-black-97: color-mix(in oklab, var(--background-color), black 97%);--background-color-black-98: color-mix(in oklab, var(--background-color), black 98%);--background-color-black-99: color-mix(in oklab, var(--background-color), black 99%);--background-color-gray-1: color-mix(in oklab, var(--background-color), gray 1%);--background-color-gray-2: color-mix(in oklab, var(--background-color), gray 2%);--background-color-gray-3: color-mix(in oklab, var(--background-color), gray 3%);--background-color-gray-4: color-mix(in oklab, var(--background-color), gray 4%);--background-color-gray-5: color-mix(in oklab, var(--background-color), gray 5%);--background-color-gray-10: color-mix(in oklab, var(--background-color), gray 10%);--background-color-gray-15: color-mix(in oklab, var(--background-color), gray 15%);--background-color-gray-20: color-mix(in oklab, var(--background-color), gray 20%);--background-color-gray-25: color-mix(in oklab, var(--background-color), gray 25%);--background-color-gray-30: color-mix(in oklab, var(--background-color), gray 30%);--background-color-gray-35: color-mix(in oklab, var(--background-color), gray 35%);--background-color-gray-40: color-mix(in oklab, var(--background-color), gray 40%);--background-color-gray-50: color-mix(in oklab, var(--background-color), gray 50%);--background-color-gray-60: color-mix(in oklab, var(--background-color), gray 60%);--background-color-gray-65: color-mix(in oklab, var(--background-color), gray 65%);--background-color-gray-70: color-mix(in oklab, var(--background-color), gray 70%);--background-color-gray-75: color-mix(in oklab, var(--background-color), gray 75%);--background-color-gray-80: color-mix(in oklab, var(--background-color), gray 80%);--background-color-gray-85: color-mix(in oklab, var(--background-color), gray 85%);--background-color-gray-90: color-mix(in oklab, var(--background-color), gray 90%);--background-color-gray-95: color-mix(in oklab, var(--background-color), gray 95%);--background-color-gray-96: color-mix(in oklab, var(--background-color), gray 96%);--background-color-gray-97: color-mix(in oklab, var(--background-color), gray 97%);--background-color-gray-98: color-mix(in oklab, var(--background-color), gray 98%);--background-color-gray-99: color-mix(in oklab, var(--background-color), gray 99%);--primary-color-white-1: color-mix(in oklab, var(--primary-color), white 1%);--primary-color-white-2: color-mix(in oklab, var(--primary-color), white 2%);--primary-color-white-3: color-mix(in oklab, var(--primary-color), white 3%);--primary-color-white-4: color-mix(in oklab, var(--primary-color), white 4%);--primary-color-white-5: color-mix(in oklab, var(--primary-color), white 5%);--primary-color-white-10: color-mix(in oklab, var(--primary-color), white 10%);--primary-color-white-15: color-mix(in oklab, var(--primary-color), white 15%);--primary-color-white-20: color-mix(in oklab, var(--primary-color), white 20%);--primary-color-white-25: color-mix(in oklab, var(--primary-color), white 25%);--primary-color-white-30: color-mix(in oklab, var(--primary-color), white 30%);--primary-color-white-35: color-mix(in oklab, var(--primary-color), white 35%);--primary-color-white-40: color-mix(in oklab, var(--primary-color), white 40%);--primary-color-white-50: color-mix(in oklab, var(--primary-color), white 50%);--primary-color-white-60: color-mix(in oklab, var(--primary-color), white 60%);--primary-color-white-65: color-mix(in oklab, var(--primary-color), white 65%);--primary-color-white-70: color-mix(in oklab, var(--primary-color), white 70%);--primary-color-white-75: color-mix(in oklab, var(--primary-color), white 75%);--primary-color-white-80: color-mix(in oklab, var(--primary-color), white 80%);--primary-color-white-85: color-mix(in oklab, var(--primary-color), white 85%);--primary-color-white-90: color-mix(in oklab, var(--primary-color), white 90%);--primary-color-white-95: color-mix(in oklab, var(--primary-color), white 95%);--primary-color-white-96: color-mix(in oklab, var(--primary-color), white 96%);--primary-color-white-97: color-mix(in oklab, var(--primary-color), white 97%);--primary-color-white-98: color-mix(in oklab, var(--primary-color), white 98%);--primary-color-white-99: color-mix(in oklab, var(--primary-color), white 99%);--primary-color-black-1: color-mix(in oklab, var(--primary-color), black 1%);--primary-color-black-2: color-mix(in oklab, var(--primary-color), black 2%);--primary-color-black-3: color-mix(in oklab, var(--primary-color), black 3%);--primary-color-black-4: color-mix(in oklab, var(--primary-color), black 4%);--primary-color-black-5: color-mix(in oklab, var(--primary-color), black 5%);--primary-color-black-10: color-mix(in oklab, var(--primary-color), black 10%);--primary-color-black-15: color-mix(in oklab, var(--primary-color), black 15%);--primary-color-black-20: color-mix(in oklab, var(--primary-color), black 20%);--primary-color-black-25: color-mix(in oklab, var(--primary-color), black 25%);--primary-color-black-30: color-mix(in oklab, var(--primary-color), black 30%);--primary-color-black-35: color-mix(in oklab, var(--primary-color), black 35%);--primary-color-black-40: color-mix(in oklab, var(--primary-color), black 40%);--primary-color-black-50: color-mix(in oklab, var(--primary-color), black 50%);--primary-color-black-60: color-mix(in oklab, var(--primary-color), black 60%);--primary-color-black-65: color-mix(in oklab, var(--primary-color), black 65%);--primary-color-black-70: color-mix(in oklab, var(--primary-color), black 70%);--primary-color-black-75: color-mix(in oklab, var(--primary-color), black 75%);--primary-color-black-80: color-mix(in oklab, var(--primary-color), black 80%);--primary-color-black-85: color-mix(in oklab, var(--primary-color), black 85%);--primary-color-black-90: color-mix(in oklab, var(--primary-color), black 90%);--primary-color-black-95: color-mix(in oklab, var(--primary-color), black 95%);--primary-color-black-96: color-mix(in oklab, var(--primary-color), black 96%);--primary-color-black-97: color-mix(in oklab, var(--primary-color), black 97%);--primary-color-black-98: color-mix(in oklab, var(--primary-color), black 98%);--primary-color-black-99: color-mix(in oklab, var(--primary-color), black 99%);--primary-color-gray-1: color-mix(in oklab, var(--primary-color), gray 1%);--primary-color-gray-2: color-mix(in oklab, var(--primary-color), gray 2%);--primary-color-gray-3: color-mix(in oklab, var(--primary-color), gray 3%);--primary-color-gray-4: color-mix(in oklab, var(--primary-color), gray 4%);--primary-color-gray-5: color-mix(in oklab, var(--primary-color), gray 5%);--primary-color-gray-10: color-mix(in oklab, var(--primary-color), gray 10%);--primary-color-gray-15: color-mix(in oklab, var(--primary-color), gray 15%);--primary-color-gray-20: color-mix(in oklab, var(--primary-color), gray 20%);--primary-color-gray-25: color-mix(in oklab, var(--primary-color), gray 25%);--primary-color-gray-30: color-mix(in oklab, var(--primary-color), gray 30%);--primary-color-gray-35: color-mix(in oklab, var(--primary-color), gray 35%);--primary-color-gray-40: color-mix(in oklab, var(--primary-color), gray 40%);--primary-color-gray-50: color-mix(in oklab, var(--primary-color), gray 50%);--primary-color-gray-60: color-mix(in oklab, var(--primary-color), gray 60%);--primary-color-gray-65: color-mix(in oklab, var(--primary-color), gray 65%);--primary-color-gray-70: color-mix(in oklab, var(--primary-color), gray 70%);--primary-color-gray-75: color-mix(in oklab, var(--primary-color), gray 75%);--primary-color-gray-80: color-mix(in oklab, var(--primary-color), gray 80%);--primary-color-gray-85: color-mix(in oklab, var(--primary-color), gray 85%);--primary-color-gray-90: color-mix(in oklab, var(--primary-color), gray 90%);--primary-color-gray-95: color-mix(in oklab, var(--primary-color), gray 95%);--primary-color-gray-96: color-mix(in oklab, var(--primary-color), gray 96%);--primary-color-gray-97: color-mix(in oklab, var(--primary-color), gray 97%);--primary-color-gray-98: color-mix(in oklab, var(--primary-color), gray 98%);--primary-color-gray-99: color-mix(in oklab, var(--primary-color), gray 99%)} +/*! Theme: boulder */ /*# sourceMappingURL=theme.css.map */ diff --git a/_static/pretext/css/theme.css.map b/_static/pretext/css/theme.css.map old mode 100644 new mode 100755 index 29ee488..076d70e --- a/_static/pretext/css/theme.css.map +++ b/_static/pretext/css/theme.css.map @@ -1,7 +1,7 @@ { "version": 3, - "sources": ["/root/.ptx/2.32.0/core/css/targets/html/theme-default-modern.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../fonts/_fonts-google.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/page-parts/_body.scss", "/root/.ptx/2.32.0/core/css/targets/html/_parts-default.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/helpers/_buttons-default.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/page-parts/_banner.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/page-parts/_navbar.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/page-parts/extras/_navbar-btn-borders.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/page-parts/_toc-basics.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/page-parts/_toc-default.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/page-parts/_footer.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/chunks/_asides-basic.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/chunks/_asides-floating.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/chunks/_codelike.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/helpers/_cols.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/chunks/_exercises.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/chunks/_solutions.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/chunks/_sidebyside.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/chunks/helpers/_inline-heading-mixin.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/chunks/_discussion-inline.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/chunks/_knowls.scss", "/root/.ptx/2.32.0/core/css/targets/html/_chunks-default.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/chunks/helpers/_box-mixin.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/chunks/helpers/_heading-box-mixin.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/chunks/helpers/_L-mixin.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/chunks/helpers/_sidebar-mixin.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/_spacing.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/elements/_list-styles.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/elements/_description-lists.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/elements/_lists.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/elements/_fillin.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/elements/_headings.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/elements/_links.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/elements/_tables.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/elements/_front-matter.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/elements/_summary-links.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/elements/_footnotes.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/elements/_index.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/elements/_media.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/elements/_figures.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/elements/_poem.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/elements/_prism.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/elements/_math.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/elements/_permalinks.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/elements/_misc-content.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/_printing.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/_worksheet.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/_google-search.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/_pretext-search.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/interactives/_runestone.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/interactives/_webwork.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/interactives/_sagecell.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/interactives/_calculators.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../colors/_color-vars.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/page-parts/extras/_toc-last-level-plain.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/page-parts/extras/_toc-borders.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/page-parts/extras/_toc-expand-chevrons.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/elements/extras/_heading-underlines.scss", "/root/.ptx/2.32.0/core/css/targets/html/_customization.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../components/helpers/_expandable.scss", "/root/.ptx/2.32.0/core/css/targets/html/../../../colors/_color-helpers.scss"], - "sourcesContent": ["/*! Theme: default-modern */\n\n// Variables used by theme. CSSBuilder overrides these by prepending\n// different definitions for these variables to this file before the theme\n// is compiled.\n\n$palette: 'blue-red' !default;\n$primary-color: null !default;\n$secondary-color: null !default;\n$primary-color-dark: #698aa8 !default;\n$background-color-dark: #23241f !default;\n\n@use \"sass:map\";\n\n// ---------------------------------------------\n// components and layout\n@use 'parts-default';\n@use 'chunks-default';\n@use 'components/pretext' with (\n $navbar-breakpoint: parts-default.$navbar-breakpoint,\n);\n\n// ---------------------------------------------\n// fonts and colors\n@use 'fonts/fonts-google';\n\n@use \"colors/color-helpers\" as colorHelpers;\n@use 'colors/palette-dual' as palette-dual with (\n $palette: $palette,\n $primary-color: $primary-color,\n $secondary-color: $secondary-color,\n);\n\n// primary/secondary color defined as determined by palette-dual using\n// $palette, $primary-color, $secondary-color\n$primary-color: map.get(palette-dual.$colors, 'primary-color');\n$secondary-color: map.get(palette-dual.$colors, 'secondary-color');\n\n@use 'colors/palette-dark' as palette-dark with (\n $primary-color: $primary-color-dark,\n $background-color: $background-color-dark,\n);\n\n// ---------------------------------------------\n// extra customizations\n\n@use './customization';\n\n// ---------------------------------------------\n// concrete rules / includes that generate CSS\n\n// render the actual colors\n@include colorHelpers.set-root-colors(palette-dual.$colors, palette-dark.$colors);\n", "@use \"sass:map\";\n@use \"sass:string\";\n@use \"sass:list\";\n\n// Fonts to use\n$body: 'Open Sans, Helvetica Neue, Helvetica, Arial, sans-serif' !default;\n$heading: 'PT Serif, Times New Roman, Times, serif' !default;\n$monospace: 'Inconsolata, Consolas, Monaco, monospace;' !default;\n$print: 'PT Serif, Times New Roman, Times, serif' !default;\n\n@function is-variable-font($font-name) {\n $static-fonts: ('PT Serif'); // list of known static fonts used by themes\n @if list.index($font-name, $static-fonts) {\n @return false;\n }\n @return true;\n}\n\n@function generate-import($font-name) {\n @if is-variable-font($font-name) {\n @return 'https://fonts.googleapis.com/css2?family=' + $font-name + ':ital,wght@0,400..700;1,400..700&display=swap';\n }\n @else {\n @return 'https://fonts.googleapis.com/css2?family=' + $font-name + ':ital,wght@0,400;0,700;1,400;1,700&display=swap';\n }\n}\n\n// For now, only try to fetch the first name in the list and assume\n// the rest are system defined fallbacks.\n// lists are 1-indexed\n$body-font: list.nth(string.split($body, ','), 1);\n// @debug \"----------------\" $body-font;\n@import url( generate-import($body-font) );\n\n$heading-font: list.nth(string.split($heading, ','), 1);\n// generate-import($heading-font);\n@import url( generate-import($heading-font) );\n\n$monospace-font: list.nth(string.split($monospace, ','), 1);\n// generate-import($monospace-font);\n@import url( generate-import($monospace-font) );\n\n:root {\n --font-body: #{$body};\n}\n:root {\n --font-headings: #{$heading};\n}\n:root {\n --font-monospace: #{$monospace};\n}\n:root {\n --font-print: #{$print};\n}\n\n// 9/5/24 ... TODO controlled list of fonts ... wait and explore later\n// // Available fonts\n// $serif-options: ('Alegreya', 'Merriweather', 'Noto Serif', 'PT Serif', 'Source Serif 4');\n// $sans-options: ('Alegreya Sans', 'Barlow', 'Lato', 'Open Sans', 'Roboto', 'Source Sans 3');\n// $code-options: ('Inconsolata');\n\n// // Backup lists\n// $sans-backups: ', Helvetica Neue, Helvetica, Arial, sans-serif';\n// $serif-backups: ', Times New Roman, Times, serif';\n\n// // ---------------------------------------------------------\n\n\n// @function add-fonts($list, $backups, $fonts: ()) {\n// @each $font in $list {\n// $fonts: map.set($fonts, $font, (\n// url: '\"https://fonts.googleapis.com/css2?family=#{$font}:wdth,wght@75..100,300..800&display=swap\"',\n// fontlist: $font + $backups,\n// ));\n// }\n// @return $fonts;\n// }\n\n// $fonts: add-fonts($sans-options, $sans-backups);\n// $fonts: add-fonts($serif-options, $sans-backups, $fonts);\n\n// $bodyfont: map.get($fonts, $body);\n// @if not $bodyfont {\n// @error \"Unknown body font: #{$body}\";\n// } @else {\n// @import url(#{map.get($bodyfont, \"url\")});\n// :root {\n// --font-body: #{map.get($bodyfont, \"fontlist\")};\n// }\n// }\n\n// $headingfont: map.get($fonts, $heading);\n// @if not $headingfont {\n// @error \"Unknown heading font: #{$heading}\";\n// } @else {\n// @import url(#{map.get($headingfont, \"url\")});\n// :root {\n// --font-headings: #{map.get($headingfont, \"fontlist\")};\n// }\n// }\n", "// Body level styling\n$max-width: 1200px !default; // 0 == no max width\n\n$content-width: 600px !default; // without padding\n$content-side-padding: 48px !default;\n$centered-content: false !default;\n\n$footer-button-border-radius: 0 !default;\n\n$content-with-padding-width: $content-width + 2 * $content-side-padding;\n\n@use 'components/helpers/buttons-default' as buttons;\n\n// set content width up as a CSS variables so other files can ask\n// \"how wide is standard content?\"\n:root {\n --base-content-width: #{$content-width};\n --content-padding: #{$content-side-padding};\n}\n\n// hits regular pages and generated iframe pages\nbody {\n margin: 0;\n min-height: 100vh;\n\n display: flex;\n flex-direction: column;\n align-items: stretch;\n\n &.pretext {\n color: var(--body-text-color);\n font-family: var(--font-body);\n }\n}\n\n.ptx-page {\n position: relative;\n display: flex;\n flex-grow: 1; // fill space in body\n width: 100%;\n}\n\n.ptx-main {\n flex-grow: 1;\n position: relative;\n max-width: 100%;\n container-name: ptx-main; // for container queries elsewhere\n container-type: inline-size; // for container queries elsewhere\n}\n\n// Base width/padding\n// ptx-main ensures iframe pages don't get these\n.ptx-main .ptx-content {\n max-width: $content-with-padding-width; // bad for worksheets\n padding: 24px $content-side-padding 60px;\n\n @if $centered-content {\n margin-left: auto;\n margin-right: auto;\n }\n}\n.worksheet .ptx-main .ptx-content {\n max-width: 960px;\n}\n\n@if $max-width > 0 {\n .ptx-page {\n max-width: $max-width;\n margin-left: auto;\n margin-right: auto;\n }\n}\n\nbody.pretext,\nbody.standalone {\n margin: 0;\n padding: 0;\n font-size: 16px;\n background: var(--page-color, white);\n}\n\n\nbody.pretext > a.assistive {\n padding:6px;\n position: absolute;\n top:-40px; // hide off screen until keyboard focus\n left: 0px;\n color:white;\n border-right:1px solid white;\n border-bottom:1px solid white;\n border-bottom-right-radius:8px;\n background:#BF1722; // always have correct contrast\n z-index: 10000;\n\n &:focus {\n top:0px; // move into view when keyboard focus\n outline:0;\n transition: top .1s ease-in, background .5s linear;\n }\n}\n\n\n.ptx-content-footer {\n display: flex;\n justify-content: space-around;\n max-width: $content-with-padding-width;\n\n padding-top: 2em;\n padding-bottom: 2em;\n padding-left: $content-side-padding;\n padding-right: $content-side-padding;\n\n @if $centered-content {\n margin-left: auto;\n margin-right: auto;\n }\n\n .button {\n @include buttons.ptx-button(\n $border-radius: $footer-button-border-radius\n );\n .icon {\n margin: 0 -7px; // current icons have lots of whitespace\n }\n }\n}\n", "// Left aligned \"page\" with limited width, beyond which it is centered\n\n$max-width: 1200px !default;\n$sidebar-width: 240px !default;\n$scrolling-toc: true !default;\n$nav-height: 36px !default;\n$content-width: 600px !default;\n$content-side-padding: 48px !default;\n$content-side-padding-tight: 28px !default;\n$navbar-breakpoint: 800px !default;\n\n$sidebar-breakpoint: $content-width + $sidebar-width + $content-side-padding * 2;\n$content-with-padding-width: $content-width + 2 * $content-side-padding;\n\n@use 'components/page-parts/body' with (\n $max-width: $max-width,\n $content-width: $content-width,\n $content-side-padding: $content-side-padding,\n);\n\n@use 'components/page-parts/banner' with (\n $navbar-breakpoint: $navbar-breakpoint,\n);\n\n@use 'components/page-parts/navbar' with (\n $nav-height: $nav-height,\n $navbar-breakpoint: $navbar-breakpoint,\n);\n\n@use 'components/page-parts/toc-default' with (\n $scrolling: $scrolling-toc,\n $sidebar-width: $sidebar-width,\n $sidebar-breakpoint: $sidebar-breakpoint,\n $navbar-breakpoint: $navbar-breakpoint,\n);\n\n@use 'components/page-parts/footer' with (\n $navbar-breakpoint: $navbar-breakpoint,\n);\n\n// Decrease the side margins once out of room\n@container ptx-main (width < #{$content-with-padding-width}) {\n .ptx-page > .ptx-main { \n .ptx-content {\n padding-left: #{$content-side-padding-tight};\n padding-right: #{$content-side-padding-tight};\n max-width: calc($content-width + 2 * #{$content-side-padding-tight});\n }\n }\n}\n", "$border-radius: 0 !default;\n\n@mixin ptx-button(\n $border-radius: $border-radius\n) {\n font: inherit;\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 0 10px;\n gap: 10px;\n min-height: 34px;\n color: var(--button-text-color);\n background-color: var(--button-background);\n border-width: 1px;\n border-color: var(--button-border-color);\n border-style: solid;\n border-radius: $border-radius;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n cursor: pointer;\n\n // Disable accidental text-selection\n user-select: none;\n\n &:hover:not(.disabled) {\n color: var(--button-hover-text-color);\n background-color: var(--button-hover-background);\n }\n\n &:focus-visible {\n outline: 2px solid var(--button-text-color);\n outline-offset: -2px;\n }\n\n &.disabled {\n opacity: .4;\n cursor: not-allowed;\n }\n\n &.hidden {\n display: none;\n }\n\n &.open {\n color: var(--button-hover-text-color);\n background-color: var(--button-hover-background);\n }\n}\n\n@mixin ptx-dropdown-button {\n position: relative;\n\n .dropdown-content {\n display: none;\n position: absolute;\n background-color: var(--dropdown-background);\n min-width: 160px;\n z-index: 100;\n border: 1px solid var(--dropdown-border-color);\n right: 0;\n top: 35px;\n text-align: start;\n padding: 0;\n\n a {\n display: block;\n text-decoration: none;\n color: var(--dropdown-text-color);\n padding: 2px 8px;\n\n &:is(:hover, :focus-visible) {\n background-color: var(--dropdown-hover-background);\n color: var(--dropdown-hover-text-color);\n }\n }\n\n hr {\n color: var(--dropdown-border-color);\n margin: 4px 0;\n }\n }\n\n &:is(:hover, :focus-visible, :focus-within) {\n overflow: visible;\n\n .dropdown-content {\n display: block;\n }\n }\n}\n", "$max-width: 1200px !default; // 0 == no max width\n$navbar-breakpoint: 800px !default;\n$centered-content: false !default;\n\n.ptx-masthead {\n position: relative;\n background: var(--banner-background);\n width: 100%;\n display:flex;\n justify-content: center;\n\n .ptx-banner {\n border-top: 1px solid transparent;\n overflow: hidden;\n padding: 10px 10px;\n border-bottom: none;\n display:flex;\n width: 100%;\n align-items: center;\n @if $max-width > 0 {\n max-width: $max-width;\n }\n @if $centered-content {\n justify-content: center;\n }\n }\n\n a {\n color: var(--doc-title-color, #2a5ea4);\n }\n\n a:active {\n color: var(--link-active-text-color);\n }\n\n .title-container {\n font-family: var(--font-headings);\n font-size: 2em;\n padding-left: 9.68px;\n overflow: hidden;\n flex: 1;\n\n .heading {\n font-weight: 700;\n font-size: 100%;\n line-height: 1.25em;\n }\n\n .title:has(+ .subtitle)::after {\n content: \":\";\n }\n\n .subtitle {\n font-weight: normal;\n }\n }\n\n .logo-link {\n height: 5em;\n display: flex;\n\n img {\n max-height: 100%; //fix rendering bug on safari with large images\n }\n img[src$=\".svg\"] {\n height: 100%; //svg's in safari don't get a correct width with max-height\n // don't use this for all images as we wouldn't want to stretch raster images\n }\n }\n\n // // Insert a placeholder icon if the logo-link is empty\n // .logo-link:empty::before {\n // display: flex;\n // font-family: var(--font-body);\n // font-size: 4rem;\n // margin-top: -0.7rem;\n // content: \"\\2211\"; //sigma symbol\n // color: var(--page-border-color)\n // }\n\n .byline {\n color: var(--byline-color);\n font-weight: normal;\n margin: 0;\n font-size: 62.5%;\n min-height: inherit;\n }\n}\n\n@media screen and (max-width: $navbar-breakpoint) {\n .ptx-masthead {\n border-bottom: 1px solid var(--page-border-color);\n\n .ptx-banner {\n padding: 10px 28px;\n display: flex;\n justify-content: center;\n }\n\n .logo-link::before {\n font-size: 1rem;\n margin-top: 0;\n }\n\n .title-container {\n width: fit-content;\n flex: unset;\n .heading {\n line-height: 1em;\n\n .subtitle {\n /* Force the subtitle onto a separate line */\n display: block;\n font-size: 80%;\n line-height: 1em;\n }\n }\n }\n\n .byline {\n font-size: 50%;\n }\n }\n}\n\n\n@media screen and (width <= 480px) {\n .ptx-masthead {\n\n .title-container {\n padding: 0;\n text-align: center;\n font-size: 1em;\n }\n\n .logo-link {\n display: none;\n }\n\n .byline {\n display: none;\n }\n }\n}\n", "$max-width: 1200px !default; // 0 == no max width\n// applied to the contents of the navbar\n\n$nav-height: 36px !default;\n$border-width: 1px !default;\n$navbar-breakpoint: 800px !default;\n$center-content: true !default;\n\n@use 'components/helpers/buttons-default' as buttons;\n\n@use 'components/page-parts/extras/navbar-btn-borders';\n\n.ptx-navbar {\n position: sticky;\n top: 0;\n height: $nav-height;\n width: 100%;\n background: var(--navbar-background);\n border: 0;\n border-top: 1px solid var(--page-border-color);\n border-bottom: 1px solid var(--page-border-color);\n margin: 0;\n z-index: 500;\n overflow: visible;\n display: flex;\n\n .ptx-navbar-contents {\n position: relative;\n display: flex;\n flex: 1;\n justify-content: center;\n align-items: center;\n max-width: $max-width;\n @if $center-content {\n margin: 0 auto;\n }\n }\n\n .button {\n @include buttons.ptx-button;\n\n & {\n height: 100%; //always fill container\n // Disable normal borders - top/bottom provided by container\n // Use extras/_navbar-btn-borders.scss for side borders if desired\n border-width: 0;\n\n }\n }\n\n .toc-toggle {\n width: 240px;\n gap: 0.4em;\n margin-left: 0; //assumes is first button\n }\n\n :is(.treebuttons, .nav-runestone-controls, .nav-other-controls) {\n display: flex;\n }\n\n .treebuttons {\n flex: 1 1 210px;\n justify-content: end;\n }\n\n .nav-runestone-controls {\n flex: 1 1 70px;\n justify-content: end;\n }\n\n .pretext .navbar .dropdown {\n height: 34px;\n }\n\n .embed-popup {\n padding: 10px;\n background-color: var(--navbar-background);\n position: absolute;\n margin-top: $nav-height;\n border: 1px solid var(--page-border-color);\n border-radius: 3px;\n box-shadow: 0 0 5px var(--primary-color-gray-80);\n .embed-code-container {\n width: \"100%\";\n padding:5px;\n .embed-code-textbox {\n width: 100%;\n padding: 10px;\n height: 5em;\n }\n }\n }\n\n .treebuttons > * {\n display: flex;\n align-items: center;\n justify-content: center;\n min-width: 75px;\n }\n\n .treebuttons .icon {\n margin: 0 -7px; // chevrons have lots of horizontal padding\n }\n\n :is(.index-button) .icon {\n display: none;\n }\n\n :is(.runestone-profile, .activecode-toggle, .searchbutton, .calculator-toggle, .light-dark-button, .embed-button) .name {\n display: none;\n }\n\n .index-button {\n min-width: 70px;\n }\n\n}\n\n// Button in the navbar, but needs to be less specific so not nested in previous\n.runestone-profile {\n @include buttons.ptx-dropdown-button;\n}\n\n@if $max-width > 0 {\n @media screen and (min-width: $max-width) {\n body.pretext .ptx-navbar {\n //forces navbar to line up cleanly with sidebar\n // need padding because there is no container around the items in navbar\n // padding: 0 calc((100% - $max-width) / 2);\n // border-left-width: 1px;\n\n // //tug contents of first button to left\n // & .ptx-navbar-contents > *:first-child {\n // justify-content: start;\n // }\n }\n }\n}\n\n@media screen and (max-width: $navbar-breakpoint) {\n @include navbar-btn-borders.navbar-btn-borders();\n\n .ptx-navbar {\n position: fixed;\n top: auto;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1100;\n background: var(--button-border-color);\n max-width: 100vw;\n\n .ptx-navbar-contents {\n max-width: 100vw;\n }\n\n .nav-runestone-controls {\n flex: 0;\n }\n\n .toc-toggle {\n flex: 2 1 100px;\n }\n\n .treebuttons {\n flex: 3 1 150px;\n /* 3:2 ratio with toc-toggle */\n }\n\n .treebuttons > * {\n flex: 1 1;\n min-width: 35px\n }\n\n .index-button {\n display: none;\n }\n\n .embed-popup {\n margin-top: unset;\n bottom: $nav-height;\n }\n\n .dropdown-content {\n top: unset;\n bottom: $nav-height;\n }\n\n :is(.toc-toggle, .previous-button, .up-button, .next-button, .calculator-toggle, .index-button, .embed-button) .name {\n display: none;\n }\n }\n}\n", "\n$border-width: 1px !default;\n\n@mixin navbar-btn-borders {\n .ptx-navbar {\n .button {\n border-left-width: $border-width;\n border-right-width: $border-width;\n border-color: var(--page-border-color);\n }\n \n & > *:not(:first-child) {\n //hide double borders\n margin-left: -1 * $border-width;\n }\n }\n}\n", "// shared toc styling used by _toc-default, etc...\n\n$sidebar-width: 240px !default;\n$nav-height: 36px !default;\n\n\n\n.ptx-sidebar {\n align-self: flex-start; // needed for sticky inside a flex\n\n &.visible {\n display: block;\n }\n\n &.hidden {\n display: none;\n height: 0;\n }\n}\n\n.ptx-toc {\n --codenumber-pad-left: 0.3rem;\n --codenumber-pad-right: 0.5rem;\n\n --toc-indent-first: calc(1.0rem + var(--codenumber-pad-left) + var(--codenumber-pad-right));\n --toc-indent-second: calc(1.7rem + var(--codenumber-pad-left) + var(--codenumber-pad-right));\n --toc-indent-third: calc(2.2rem + var(--codenumber-pad-left) + var(--codenumber-pad-right));\n\n background: var(--toc-background);\n\n margin: 0;\n font-size: 0.9rem;\n\n /* -------------------toc-items-------------------- */\n // will be less indentation, add some padding\n &:is(.depth1, .parts.depth2) {\n --codenumber-pad-right: 0.5rem;\n }\n\n .toc-item-list {\n margin: 0;\n padding: 0;\n list-style: none;\n background: var(--tocitem-background);\n\n .active {\n list-style: none; // clobber runestone css\n }\n }\n\n .toc-item {\n background-color: var(--tocitem-background);\n color: var(--toc-text-color);\n border-color: var(--toc-border-color);\n\n a {\n color: inherit;\n }\n\n // only highlight lowest level active item\n // need !important to override later depth based css\n &.active:not(:has(.toc-item.active)) {\n color: var(--tocitem-active-text-color) !important;\n background-color: var(--tocitem-active-background) !important;\n border-color: var(--tocitem-active-border-color) !important;\n }\n\n // hoving over a toc item\n & > .toc-title-box > a:is(:hover, :focus) {\n color: var(--tocitem-highlight-text-color);\n background-color: var(--tocitem-highlight-background);\n border-color: var(--tocitem-highlight-border-color);\n }\n }\n\n /* -------------------title-box------------------- */\n\n .toc-title-box {\n display: flex;\n }\n\n .toc-title-box > .internal {\n position: relative;\n display: flex;\n flex-grow: 1;\n padding: 0.2em;\n font-weight: 500;\n }\n\n /* at second level, switch fonts */\n .toc-item-list .toc-item-list .toc-title-box > .internal {\n font-weight: normal;\n }\n\n /* -------------------codenumbers-------------------- */\n .codenumber {\n min-width: var(--toc-indent-first);\n padding-left: var(--codenumber-pad-left);\n padding-right: var(--codenumber-pad-right);\n display: inline-block;\n text-align: left;\n flex-grow: 0;\n }\n}\n\n\n\n// --------------------------------------------------------------------------\n// Conditional styling based on depth\n\n.ptx-toc .toc-item {\n color: var(--toclevel1-text-color);\n background-color: var(--toclevel1-background);\n}\n\n.ptx-toc .toc-item .toc-item {\n color: var(--toclevel2-text-color);\n background-color: var(--toclevel2-background);\n}\n.ptx-toc .toc-item .toc-item .toc-item {\n color: var(--toclevel3-text-color);\n background-color: var(--toclevel3-background);\n}\n\n\n/* second level of numbering */\n/* anything 1+ levels deeper than a chapter in a book */\n.book .ptx-toc .toc-chapter .toc-item-list .codenumber,\n/* anything 1+ levels deeper than a section in an article */\n.article .ptx-toc .toc-section .toc-item-list .codenumber,\n/* anything 1+ levels deeper than backmatter */\n.ptx-toc .toc-backmatter .toc-item-list .codenumber {\n font-size: 80%;\n padding-top: 0.16em;\n min-width: var(--toc-indent-second);\n}\n\n/* third level of numbering */\n/* anything 2+ levels deeper than a chapter in a book */\n.book .ptx-toc .toc-chapter .toc-item-list .toc-item-list .codenumber,\n/* anything 2+ levels deeper than a section in an article */\n.article .ptx-toc .toc-section .toc-item-list .toc-item-list .codenumber,\n/* anything 2+ levels deeper than backmatter */\n.ptx-toc .toc-backmatter .toc-item-list .toc-item-list .codenumber {\n min-width: var(--toc-indent-third);\n visibility: hidden;\n}\n\n/* reveal hidden numbers on interaction */\n.ptx-toc .toc-item-list .toc-item-list .toc-item-list a:is(:hover, :focus) > .codenumber {\n visibility: visible;\n}\n\n/* Any toc item without a codenumber needs indentation\nCan't select absence of a preceeding, so indent all titles\nand then clear indent if there is a codenumber */\n.ptx-toc .toc-item .toc-title-box .title {\n margin-left: var(--toc-indent-first);\n}\n\n/* second level as defined by codenumber selectors */\n.book .ptx-toc .toc-chapter .toc-item-list .title,\n.article .ptx-toc .toc-section .toc-item-list .title,\n.ptx-toc .toc-backmatter .toc-item-list .title {\n margin-left: var(--toc-indent-second);\n}\n\n/* third level as defined by codenumber selectors */\n.book .ptx-toc .toc-chapter .toc-item-list .toc-item-list .title,\n.article .ptx-toc .toc-section .toc-item-list .toc-item-list .title,\n.ptx-toc .toc-backmatter .toc-item-list .toc-item-list .title {\n margin-left: var(--toc-indent-third);\n}\n\n/* unless there is a codenumber */\n.ptx-toc .toc-item > .toc-title-box .codenumber + .title {\n margin-left: 0 !important;\n}\n\n// --------------------------------------------------------------------------\n// Conditional styling based on depth\n\n\n.ptx-toc .toc-chapter .toc-item-list .title,\n.ptx-toc .toc-section .toc-item-list .title,\n/* 2 levels deep in back matter */\n.ptx-toc .toc-backmatter .toc-item-list .toc-item-list .title {\n font-size: 90%;\n}\n\n.ptx-toc .toc-chapter .toc-item-list .toc-item-list .title,\n.ptx-toc .toc-section .toc-item-list .toc-item-list .title,\n/* 3 levels deep in back matter */\n.ptx-toc .toc-backmatter .toc-item-list .toc-item-list .toc-item-list .title {\n font-style: italic;\n}\n\n/* -------------------depth controls-------------------- */\n.ptx-toc.depth0 ul.structural {\n display: none;\n}\n\n.ptx-toc.depth1 ul.structural ul.structural {\n display: none;\n}\n\n.ptx-toc.depth2 ul.structural ul.structural ul.structural {\n display: none;\n}\n\n.ptx-toc.depth3 ul.structural ul.structural ul.structural ul.structural {\n display: none;\n}\n\n.ptx-toc.depth4 ul.structural ul.structural ul.structural ul.structural ul.structural {\n display: none;\n}\n\n/* if depth is shallow, identify best available toc item */\n.ptx-toc.depth1 ul.structural .toc-item.contains-active {\n background-color: var(--tocitem-active-backgrounde);\n color: var(--tocitem-active-text-color);\n}\n\n.ptx-toc.depth2 ul.structural ul.structural .toc-item.contains-active {\n background-color: var(--tocitem-active-background);\n color: var(--tocitem-active-text-color);\n}\n\n\n// --------------------------------------------------------------------------\n// Focused toc\n\n/* Hide all but active area of book */\n.ptx-toc.focused {\n\n ul.structural:not(.contains-active) > .toc-item {\n display: none;\n\n &.visible {\n display: block;\n }\n }\n\n ul.structural .toc-item.active > ul.structural > .toc-item {\n display: block;\n\n &.hidden {\n display: none;\n }\n }\n\n .toc-expander {\n border: 0;\n padding: 2px 5px;\n background: inherit;\n color: inherit;\n display: flex;\n align-items: center;\n\n .icon {\n font-size: 1.25em;\n line-height: 18px;\n font-variation-settings: 'wght' 200;\n }\n\n &:is(:hover) {\n background-color: var(--tocitem-highlight-background);\n color: var(--tocitem-highlight-text-color);\n\n .icon {\n fill: var(--tocitem-highlight-text-color);\n }\n }\n }\n\n /* ---------------icon customization----------------- */\n .toc-item > .toc-title-box > .toc-expander > .icon:before {\n content: \"add\";\n }\n\n .toc-item.expanded > .toc-title-box > .toc-expander > .icon:before {\n content: \"remove\";\n }\n}\n", "$scrolling: true !default;\n$sidebar-width: 240px !default;\n$nav-height: 36px !default;\n$sidebar-breakpoint: 856px !default;\n$navbar-breakpoint: 800px !default;\n\n@use 'toc-basics' with (\n $sidebar-width: $sidebar-width,\n $nav-height: $nav-height\n);\n\n.ptx-sidebar {\n flex: 0 0 $sidebar-width;\n @if $scrolling {\n position: sticky;\n top: $nav-height;\n overflow-y: hidden;\n }\n}\n\n.ptx-toc {\n @if $scrolling {\n position: sticky;\n top: $nav-height;\n overflow-y: auto;\n overflow-x: hidden;\n height: calc(100vh - $nav-height);\n margin-top: -1px; // partially hide top border of first toc item\n\n // border under the last item before the pretext icon\n & > .toc-item-list:first-child > .toc-item:last-child {\n border-bottom: 3px solid var(--toc-border-color);\n }\n }\n @else {\n // not scrolling\n scrollbar-width: none;\n padding: 10px 0;\n box-sizing: border-box;\n border-right: 1px solid var(--toc-border-color);\n }\n}\n\n// Hide once we get too narrow\n@media screen and (max-width: $sidebar-breakpoint) {\n .ptx-sidebar {\n display: none;\n position: sticky;\n top: $nav-height;\n background: var(--content-background);\n min-height: 30vh;\n border-right: 2px solid var(--toc-border-color);\n border-bottom: 2px solid var(--toc-border-color);\n width: $sidebar-width;\n }\n\n @if not $scrolling {\n .ptx-sidebar {\n overflow-y: scroll;\n }\n }\n}\n\n// flip sidebar to bottom one navbar moves\n@media screen and (max-width: min($sidebar-breakpoint, $navbar-breakpoint)) {\n .ptx-sidebar {\n position: fixed;\n z-index: 1000;\n top: unset;\n height: auto;\n max-height: 80vh;\n max-width: 80vw;\n bottom: $nav-height;\n border-right: 2px solid var(--toc-border-color);\n border-top: 2px solid var(--toc-border-color);\n }\n .ptx-toc {\n border-top: 2px solid var(--toc-border-color);\n border-bottom: 0;\n max-height: 80vh;\n }\n}\n", "$max-width: 0 !default; // 0 == no max width\n$navbar-breakpoint: 856px !default;\n$nav-height: 36px !default;\n\n@use 'components/helpers/buttons-default' as buttons;\n\n.ptx-page-footer {\n background: var(--footer-background);\n padding-top: 0;\n border-top: 2px solid var(--page-border-color);\n border-bottom: 2px solid var(--page-border-color);\n display: flex;\n flex-direction: row;\n justify-content: center;\n width: 100%;\n gap: 90px;\n position: relative;\n @if $max-width > 0 {\n max-width: $max-width;\n }\n \n \n & > a {\n margin: 1em 0;\n color: var(--body-text-color);\n }\n\n & > a > .logo:first-child {\n height: 3em;\n width: unset;\n margin: 0;\n }\n\n .feedback-link {\n @include buttons.ptx-button;\n }\n}\n\n\n@media screen and (max-width: $navbar-breakpoint) {\n .ptx-page-footer {\n // prevent icons from spreading too much\n gap: 20px;\n justify-content: center;\n margin-bottom: $nav-height - 2;\n\n & > a > .logo:first-child {\n height: 2em;\n }\n }\n}\n", "$border-width: 2px !default;\n$side-margins: 30px !default;\n\n.aside-like {\n & > .knowl__link {\n color: var(--aside-like-link-color);\n border-bottom-color: var(--aside-like-link-color);\n }\n & > .knowl__content{\n margin-left: $side-margins;\n margin-right: $side-margins;\n border: $border-width solid var(--aside-like-border-color);\n background-color: var(--aside-like-body-background);\n }\n}", "$float-width: 200px !default;\n$float-offset: -248px !default;\n$min-float-width: 1280px !default;\n\n@use 'asides-basic';\n\n@media screen and (min-width: $min-float-width) {\n details.aside-like {\n position: relative;\n margin-left: $float-offset;\n width: $float-width;\n right: $float-offset;\n float: right;\n clear: right;\n }\n\n /* disable in any multicolumn list/exercisegroup */\n .multicolumn details.aside-like {\n position: relative;\n margin-left: inherit;\n width: auto;\n right: 0;\n float: none;\n clear: none;\n }\n\n details.aside-like > .knowl__content {\n margin-left:0;\n margin-right:0;\n background-color: var(--aside-like-body-background);\n z-index: 100;\n }\n}", "@mixin code-text {\n font-family: var(--font-monospace);\n background: var(--code-background);\n font-size: .93rem;\n line-height: 1.2;\n}\n\n@mixin code-inline-spacing {\n line-height: normal; //prevent extra \"padding\" based on line-height\n padding: 0.0625em .15em;\n}\n\n// wide programs need to be scrollable\n.code-box {\n overflow-x: auto;\n}\n\n.code-display {\n overflow-x: auto; //scroll if overflowing\n font-family: var(--font-monospace);\n}\n\n.console,\n.program {\n border: 1px solid var(--page-border-color);\n padding: 5px 15px;\n overflow-x: auto;\n margin: 0;\n @include code-text();\n}\n\n.code-inline {\n font-family: var(--font-monospace);\n white-space: pre;\n color: var(--body-text-color);\n background: var(--code-inline-background);\n border: 1px solid color-mix(in oklab, var(--code-inline-background) 50%, #888);\n border-radius: 0.2em;\n display: inline-block;\n overflow-x: auto;\n max-width: 100%;\n vertical-align: middle;\n @include code-inline-spacing();\n}\n\n\n.prompt.unselectable {\n user-select: none;\n}\n\n// code blocks are preformatted text that is not a program\n.code-block {\n border-left: 1px solid #aaa;\n padding: 0 15px 5px;\n overflow-x: auto;\n background: var(--code-background);\n margin-top: 0;\n margin-bottom: 0;\n @include code-text();\n}\n\n.code-block::before {\n content:' ';\n font-size: 50%;\n border-top: 1px solid #aaa;\n display: block;\n margin-right: auto;\n margin-left: -15px;\n width: 3.0em;\n}\n\n// special handling for code-display as it appears inside .paras\n// and may need space around it\n.code-display {\n margin: 0.5em 0;\n}\n// if inside clipboardable, move margin to that container and turn some into padding\n// to help make sure clipboard icon is contained inside the code-display in dark mode\n.clipboardable:has(.code-display) {\n margin: 0.25em 0;\n\n .code-display {\n margin: 0;\n padding: 0.25em 0;\n }\n}\n\n\n.clipboardable {\n position: relative; // To anchor the code-copy button\n display: flow-root;\n\n .code-copy {\n position: absolute;\n right: 0;\n top: 0;\n opacity: 0.25;\n border-width: 0;\n background: none;\n cursor: pointer;\n z-index: 1;\n white-space-collapse: collapse;\n padding: 1px;\n scale: 0.85;\n\n &:hover {\n opacity: 0.7;\n }\n\n .checkmark {\n display: none;\n }\n\n &.copied {\n opacity: 1;\n color: mediumseagreen;\n cursor: not-allowed;\n pointer-events: none;\n\n .copyicon {\n display: none;\n }\n\n .checkmark {\n display: inline;\n }\n }\n }\n}\n\n@media print {\n .code-copy {\n display: none;\n }\n}\n", "\n// columns are arranged in row-major order to match print output in LaTeX\n:is(.cols2, .cols3, .cols4, .cols5, .cols6) {\n display: flex;\n flex-wrap: wrap;\n justify-content: start;\n}\n\n// see lists and exercises for sample use\n@mixin allow-cols($el, $col-gap: 2em) {\n @for $i from 2 through 6 {\n .cols#{$i} > #{$el} {\n // columns are a suggestion enforced by a minimum size\n // content that needs to be wider can reduce number of columns\n // in its row\n min-width: calc(100% / $i - #{$col-gap});\n width: min-content;\n margin-right: $col-gap;\n }\n }\n}\n\n", "@use '../helpers/cols';\n\n// generate multi column rules for exercises\n@include cols.allow-cols('.exercise-like');\n\n.exercise-like > .heading {\n // exercise heading/numbers regular size\n font-size: inherit;\n}\n\n.exercisegroup {\n\n .exercise-like {\n margin-top: 1em;\n }\n\n > .heading {\n font-size: 1.10em;\n line-height: 1.05em;\n margin-top: 0.75em;\n display: inline;\n\n & + .introduction {\n display: inline;\n\n & > .para:first-child {\n display: inline;\n }\n }\n }\n\n // push the actual exercises down from any possible heading/intro\n .exercisegroup-exercises {\n margin-top: 1em;\n \n //indent items with padding so cols works correctly on them\n padding-left: 40px;\n }\n\n .conclusion {\n margin-left: 40px; // match the padding of the exercisegroup-exercises\n \n .heading {\n // exercise heading/numbers regular size\n font-size: inherit;\n } \n }\n}\n\n// subtasks are indented\n.exercise-like > .exercise-like.task {\n margin-left: 20px;\n}\n\n\n\n// ---------------------------------------------------------\n// exercise-wrapper is used for WW problems\n// these rules need testing/refactoring\n\n.exercise-wrapper form button:hover {\n cursor: pointer;\n background-color: #e0e0ff;\n border: 1px solid #000;\n}\n.exercise-wrapper form button:active {\n background-color: #f0f0f0;\n}\n.exercise-wrapper form button + button {\n margin-left: 0.8em;\n}\n\n.exercise-wrapper,\n.exercise-wrapper form,\n.exercise-wrapper form > div:first-child {\n display: inline-block;\n vertical-align: top;\n width: 100%; /* for live ww to open at 100% wide */\n}\n\n.knowl .exercise-wrapper,\n.knowl .exercise-wrapper form,\n.knowl .exercise-wrapper form > div:first-child {\n width: 100%;\n}\n\n.exercise-wrapper > .para:first-child,\n.exercisegroup .exercise-wrapper > .para:first-child {\n margin-top: 0;\n display: inline;\n}\n\n/* next is related to having exercises start in-line with their exercise number,\n including when a static WW problem is made interactive */\n/* not sure this was the right way to do it */\n/* see https://opentext.uleth.ca/apex-calculus/sec_antider.html#exercise-722 */\n.heading + .exercise-wrapper {\n display: inline-block;\n max-width: 95%;\n width: 100%;\n}\n\n.cols2 .heading + .exercise-wrapper {\n width: auto;\n}\n", "// \n\n/* stacked headings in the solutions backmatter */\nsection.solutions > .heading + .heading {\n margin-top: 0.5em;\n}\n\nsection.solutions > h3.heading,\nsection.solutions section > h3.heading {\n font-size: 1.6em;\n}\n\nsection.solutions > h4.heading,\nsection.solutions section > h4.heading {\n font-size: 1.45em;\n}\n\nsection.solutions > h5.heading,\nsection.solutions section > h5.heading {\n font-size: 1.35em;\n}\n\nsection.solutions > h6.heading,\nsection.solutions section > h6.heading {\n font-size: 1.25em;\n}\n", "// Space all rows in a sbsgroup, no other styling\n.sbsgroup > *:not(:first-child)\n{\n margin-top: 1.5em;\n}\n\n\n// sidebysides get laid out into a grid with two rows. \"Plain panels\" without\n// a caption are in the first row. Panels with things like tables/figures with\n// captions we want to align are decomposed across two rows.\n// If there is no content (no captions) in a second row, it will collapse.\n\n// 1| plain panel | figure-like/table-like\n// 2| | figcaption\n.sbsrow {\n display: grid;\n grid-template-rows: auto auto;\n}\n\n.sbspanel {\n // most sbspanels are in the first row\n grid-row: 1; \n\n // tables and their captions get centered when in panels\n & > .table > figcaption {\n text-align: center;\n }\n .tabular {\n overflow-x: auto;\n margin-left: auto;\n margin-right: auto;\n }\n}\n\n\n// panel content alignment options\n.sbspanel--top {\n align-self: start;\n}\n\n.sbspanel--middle {\n align-self: center;\n}\n\n.sbspanel--bottom {\n align-self: end;\n}\n\n\n// sbspanels with figures or tables get decomposed into two rows\n// both the panel and the figure-like/table-like element should\n// be ignored by the grid layout so we can place the items inside\n// the *-like into the grid\n.sbspanel:has(.figure-like, .table-like),\n.sbspanel > :is(.figure-like, .table-like) {\n display: contents;\n}\n\n\n// first child of decomposed *-like goes to the first row\n.sbspanel > :is(.figure-like, .table-like) > *:first-child {\n grid-row: 1;\n align-items: start;\n align-self: start;\n}\n\n// and gets alignment info\n.sbspanel--top > :is(.figure-like, .table-like) > *:first-child {\n align-items: start;\n align-self: start;\n}\n\n.sbspanel--middle > :is(.figure-like, .table-like) > *:first-child {\n align-items: center;\n align-self: center;\n}\n\n.sbspanel--bottom > :is(.figure-like, .table-like) > *:first-child {\n align-items: end;\n align-self: end;\n}\n\n\n// second child of decomposed *-like goes to the second row\n.sbspanel > :is(.figure-like, .table-like) > *:nth-child(2) {\n margin-top: 0.5em;\n grid-row: 2;\n width: 100%;\n}\n\n\n// make sure content for a panel stays in the correct column\n// otherwise captions may shift left into columns that do not have\n// second row content\n@for $col from 2 through 10 {\n .sbspanel:nth-of-type(#{$col}) * {\n grid-column: #{$col};\n }\n}", "// Generate styles for an inline heading\n@mixin heading {\n & > .heading:first-child {\n display: inline;\n line-height: initial;\n border-bottom: 0; // disable underline that may come from underlined headings\n\n &:after {\n content: \"\\2009\";\n }\n\n // Following sibling also needs to be inline for heading to line up correctly\n // For now limit to logical paragraphs and introductions as they seem to cover\n // the plain text cases. Not clear we would want same treatment for other\n // kinds of content\n & + :is(.para, .para.logical, .introduction) {\n display: inline;\n // possible first child that is the actual text\n & > .para:first-child {\n display: inline;\n }\n // an introduction could have a para.logical with a para\n & > .para.logical:first-child > .para:first-child {\n display: inline;\n }\n }\n }\n}\n", "@use './helpers/inline-heading-mixin';\n\n.discussion-like {\n @include inline-heading-mixin.heading;\n & > .heading {\n ::after {\n content: \"\\2009\";\n }\n\n & + .para {\n display: inline;\n }\n\n .space,\n .codenumber,\n .period {\n display: none;\n }\n\n .type::after {\n content: \". \";\n }\n }\n}\n", "/*\n main knowls styles\n*/\n\n$border-radius: 0px !default;\n$border-width: 3px !default;\n$pad: 12px !default;\n\n.source-view__link,\n.knowl__link {\n cursor: pointer;\n margin-left: 0.1em;\n margin-right: 0.1em;\n color: var(--knowl-link-color);\n border-bottom: 1px dotted var(--knowl-link-color);\n}\n\n.source-view {\n margin: 0.5em 0;\n}\n\nsummary.source-view__link,\nsummary.knowl__link {\n display: list-item inline;\n}\n\n.source-view__link > *,\n.knowl__link > * {\n display: inline;\n}\n\n.source-view__link:is(:hover, :focus, [open]),\n.knowl__link:is(:hover, :focus, [open]) {\n background-color: var(--knowl-background);\n border-bottom-color: transparent;\n}\n\n.source-view__content {\n margin: 0.2em 0;\n}\n\n.knowl__content {\n margin: 0.75em 0; //at least this much space above/below\n border: $border-width solid var(--knowl-border-color);\n border-radius: $border-radius;\n padding: $pad;\n background-color: var(--knowl-background);\n\n .incontext {\n display: block;\n font-size: 85%;\n text-align: right;\n }\n}\n\n/* nested knowl alt colors */\n.knowl__content .knowl__content {\n background-color: var(--knowl-nested-1-background);\n}\n\n.knowl__content .knowl__content .knowl__content {\n background-color: var(--knowl-nested-2-background);\n}\n\n.knowl__content .knowl__content .knowl__content .knowl__content {\n background-color: var(--knowl-nested-3-background);\n}\n\n.knowl__content .knowl__content .knowl__content .knowl__content .knowl__content {\n background-color: var(--knowl-nested-4-background);\n}\n\n\n/* spacing tweaks inside knowls */\n.knowl__content > figure {\n margin-left: 0;\n margin-right: 0;\n}\n", "// Standard collection of chunks. This file should only be modified\n// to fix bugs or improve the default-modern theme. If you want to\n// make changes for use in some other theme, create a _chunks-XXX file\n// in that theme's directory.\n\n$border-radius: 8px !default;\n\n// One stop include for default style content blocks\n@use 'components/chunks/asides-floating';\n@use 'components/chunks/codelike';\n@use 'components/chunks/exercises';\n@use 'components/chunks/solutions';\n@use 'components/chunks/sidebyside';\n@use 'components/chunks/discussion-inline';\n@use 'components/chunks/knowls' with ($border-radius: $border-radius);\n\n@use 'components/chunks/helpers/L-mixin';\n@use 'components/chunks/helpers/box-mixin' with ($border-radius: $border-radius);\n@use 'components/chunks/helpers/heading-box-mixin';\n@use 'components/chunks/helpers/sidebar-mixin';\n@use 'components/chunks/helpers/inline-heading-mixin';\n\n// rounded box\n.assemblage-like {\n @include box-mixin.box($border-color: var(--assemblage-like-border-color), $background-color: var(--assemblage-like-body-background));\n}\n\n// box with title inset on top\n.goal-like {\n @include heading-box-mixin.box(\n $background-color: var(--goal-like-body-background),\n $border-color: var(--goal-like-border-color)\n );\n}\n\n// L-border\n.theorem-like,\n.definition-like,\n.example-like,\n.project-like,\n.remark-like,\n.openproblem-like,\n.computation-like {\n @include L-mixin.border;\n}\n\n// projects get a dotted L\n.project-like:not(.knowl__content, .born-hidden-knowl) {\n @include L-mixin.border($style: dotted);\n}\n\n/* proof gets a backwards facing L */\n.proof {\n @include L-mixin.border(1px, $L-side: right);\n}\n\n/* No decorations/borders in knowls, to save space */\n.knowl__content {\n .theorem-like,\n .definition-like,\n .example-like,\n .project-like,\n .remark-like,\n .openproblem-like,\n .computation-like,\n .project-like {\n padding-left: 0;\n margin-left: 0;\n border-left: none;\n\n &::after {\n border-bottom: none;\n display: none;\n }\n }\n}\n\n// wide sidebar on an entire section of solutions\nsection.solutions:not(:is(:first-child)) {\n @include sidebar-mixin.box(\n $border-width: 10px,\n\n $border-color: var(--page-border-color),\n );\n}\n\n.paragraphs,\narticle {\n @include inline-heading-mixin.heading;\n}\n", "// These values can be set on @use to avoid repeating values in each @import\n$pad: 10px !default;\n$border-radius: 0px !default;\n\n// Generate styles for a surrounding box\n@mixin box($border-width: 2px,\n $style: solid,\n $background-color: var(--block-body-background),\n $border-color: var(--block-border-color),\n $head-color: var(--block-head-color),\n $padding: $pad,\n $border-radius: $border-radius)\n{\n\n &:not(.knowl__content, .born-hidden-knowl) {\n border: $border-width $style $border-color;\n background-color: $background-color;\n padding: $padding;\n\n @if $border-radius > 0 {\n border-radius: $border-radius;\n }\n\n & > .heading:first-child {\n display: block;\n color: $head-color;\n margin-bottom: 0.5em;\n }\n\n & > *:first-child {\n margin-top: 0;\n }\n }\n}\n", "// These values can be set on @use to avoid repeating values in each @import\n$pad: 20px !default;\n$border-radius: 0px !default;\n$border-width: 3px !default;\n$margin-top: 2.5em !default;\n$font-style: 'normal' !default;\n// $font-size: 1.25em !default;\n$box-padding: 5px !default;\n$background-color: var(--block-body-background) !default;\n$border-color: var(--block-border-color) !default;\n$heading-background: var(--content-background) !default;\n$heading-color: var(--block-head-color) !default;\n$side-borders: true !default;\n\n// Generate styles for a box with inset heading\n@mixin box($border-width: $border-width,\n $style: solid,\n $background-color: $background-color,\n $border-color: $border-color,\n $heading-background: $heading-background,\n $heading-color: $heading-color,\n $padding: $pad,\n $border-radius: $border-radius,\n $side-borders: $side-borders,\n $margin-top: $margin-top,\n $font-style: $font-style,\n $box-padding: $box-padding,\n // $font-size: $font-size,\n $hide-number: false)\n{\n // this *should* always work well for reasonable padding/font sizes\n //$heading-top: calc(-1 * $box-padding - 1.65ex);\n $heading-top: calc(-1 * ($padding + $box-padding) - 1.65ex);\n \n &:not(.knowl__content, .born-hidden-knowl) {\n border: $border-width $style $border-color;\n @if not $side-borders {\n border-left: 0;\n border-right: 0;\n }\n background-color: $background-color;\n padding: $pad;\n //extra top-padding to make room for heading\n padding-top: calc($pad + 0.25ex);\n\n // need to control margin to overcome negative margin on heading\n // !important to override default article styling\n margin-top: $margin-top !important;\n\n @if $border-radius > 0 {\n border-radius: $border-radius;\n }\n\n & > .heading:first-child {\n background-color: $heading-background;\n display: block;\n color: $heading-color;\n margin-bottom: 0.5em;\n padding: $box-padding (2 * $box-padding);\n // font-size: $font-size;\n margin-top: $heading-top;\n width: fit-content;\n border: 0; //in case picking up border from elsewhere\n\n @if $font-style != 'normal' {\n font-style: $font-style;\n }\n @if $border-radius > 0 {\n border-radius: $border-radius;\n }\n\n @if $hide-number {\n .codenumber {\n display: none;\n }\n }\n\n &:after {\n //disable any extra junk\n display: none;\n }\n }\n }\n\n // if the first child of a knowl, need just enough margin to clear exposed heading\n @at-root {\n .knowl__content *:first-child & {\n margin-top: 1em;\n }\n }\n}\n", "// These values can be set on @use to avoid repeating values in each @import\n$pad: 10px !default;\n\n// Generate styles for an L shaped border \n@mixin border(\n $border-width: 2px,\n $style: solid,\n $head-color: var(--block-head-color),\n $border-color: var(--block-border-color),\n $padding: $pad,\n $L-side: left) \n{\n //determine side opposite L\n $alt-side: if($L-side ==left, right, left);\n\n &:not(.knowl__content, .born-hidden-knowl) {\n padding-#{$L-side}: $padding;\n border-#{$L-side}: $border-width $style $border-color;\n\n & > .heading:first-child {\n color: $head-color;\n }\n\n &::after {\n content: '';\n border-bottom: $border-width $style $border-color;\n display: block;\n margin-#{$alt-side}: auto;\n margin-#{$L-side}: -$padding;\n padding-top: $padding;\n width: 1.5em;\n }\n }\n\n @at-root .knowl__content & {\n padding-#{$L-side}: 0;\n border-#{$L-side}: 0;\n\n &::after {\n display: none;\n }\n }\n}\n", "// These values can be set on @use to avoid repeating values in each @import\n$pad: 10px !default; //all sides\n$padside: 15px !default; //on side with border\n$border-radius: 0px !default; //on side with border\n$border-color: var(--block-border-color) !default;\n$background-color: var(--content-background) !default;\n$side: left !default;\n$border-width: 2px !default;\n\n// Generate styles for a sidebar down left or right of content\n@mixin box($border-width: $border-width,\n $style: solid,\n $border-color: $border-color,\n $background-color: $background-color,\n $padding: $pad,\n $padside: $padside,\n $side: $side,\n $border-radius: $border-radius) \n{\n &:not(.knowl__content, .born-hidden-knowl) {\n padding: $padding;\n padding-#{$side}: $padside;\n border-#{$side}: $border-width $style $border-color;\n background-color: $background-color;\n\n @if $border-radius > 0 {\n border-radius: $border-radius;\n }\n\n > .heading:first-child {\n margin-top: 0;\n }\n }\n}\n", "// Basic spacing for content\n\n// Breakpoint at which the navbar moves to the bottom of the screen\n$navbar-breakpoint: 800px !default;\n\n// all styling assumes border-box layout measurement\n* {\n box-sizing: border-box;\n}\n\n//----------------------------------------------------------\n// Inter item vertical spacing\n//\n// Set some baseline minimal inter-item vertical spacings\n//\n// Individual items can override this with their own margin. The\n// user of @layer here forces these rules to all have less precedence\n// than any rules not in a layer.\n// Most spacing should be done with margin-top.\n\n@layer spacing {\n // inter-item spacing high level containers\n :is(section, article, .knowl__content) > *:not(:first-child) {\n margin-top: 1.5em;\n }\n\n // but tighten up spacing slightly for adjacent paragraphs in a section\n :is(section, article, .knowl__content) > .para + .para {\n margin-top: 1em;\n }\n\n // lower-level container elements that are expected to contain sequences of items\n // tighter spacing here to avoid visually breaking up the minor container\n .ptx-content :is(ul, td, li, dd, .blockquote, .sbspanel, .para.logical) > *:not(:first-child) {\n margin-top: 0.5em;\n }\n}", "// Types of ol/ul - used by web and ebooks\n// Any spacing should be in _lists.scss, not here\n\nol.no-marker,\nul.no-marker,\nli.no-marker {\n list-style-type: none;\n}\n\nol.decimal {\n list-style-type: decimal;\n}\n\nol.lower-alpha {\n list-style-type: lower-alpha;\n}\n\n// Match LaTeX style for second level (i.e. level=\"1\") lists\nol.lower-alpha-level-1 > li::marker {\n content: \"(\"counter(list-item,lower-alpha)\") \";\n}\n\nol.upper-alpha {\n list-style-type: upper-alpha;\n}\n\nol.lower-roman {\n list-style-type: lower-roman;\n}\n\nol.upper-roman {\n list-style-type: upper-roman;\n}\n\nul.disc {\n list-style-type: disc;\n}\n\nul.square {\n list-style-type: square;\n}\n\nul.circle {\n list-style-type: circle;\n}\n", "/* dl is used for glossaries and descriptions lists.\n Glossaries are simple: bold word by itself on a line.\n Definition indented on the next line.\n Vertical space before the next term.\n\n Description lists are more complicated. The wider version\n (refering to the horizontal indentation of the definition;\n this is the default)\n has the (wrapped) term inline with the definition.\n\n The narrow version is complicated because the term is inline\n with its definition if it fits, otherwise it is on the line above.\n That means the vertical space between entries can't be handled by\n a top margin on the dt. Instead we have an ::after on the dd .\n */\n\ndl:is(.description-list, .glossary) {\n margin: 0;\n //overflow: hidden; // Removed to show permalinks\n\n dt {\n font-weight: bold;\n max-width: 55ex;\n }\n\n dd::after {\n content: \"\";\n display: block;\n clear: both;\n }\n}\n\n.para > dl:is(.description-list) {\n // add some space when inside a .para\n margin-top: 0.5em;\n margin-bottom: 0.5em;\n}\n\ndl.glossary {\n dt {\n margin-top: 1.25em;\n\n &:first-of-type {\n margin-top: 0;\n }\n }\n\n dd {\n margin-left: 5ex;\n }\n}\n\ndl.description-list {\n\n dt,\n dd {\n margin-top: 1em;\n\n &:first-of-type {\n margin-top: 0;\n }\n }\n\n dt {\n float: left;\n clear: both;\n text-align: right;\n width: 18ex;\n margin-right: 1ex;\n }\n\n dd {\n margin-left: 22ex;\n }\n\n &.narrow {\n dt {\n width: 11ex;\n }\n\n dd {\n margin-left: 15ex;\n }\n }\n\n &.wide {\n dt {\n width: 25ex;\n }\n\n dd {\n margin-left: 29ex;\n }\n }\n}\n\ndl.description-list dt:first-of-type {\n clear: none;\n}\n\n.description-list + * {\n clear: both;\n}\n\n/* where do we have nested dl? */\ndl.description-list dl dt {\n width: 8ex;\n}\n\ndl.description-list dd dd {\n margin-left: 18ex;\n}\n\ndl.description-list dl dd {\n margin-left: 12ex;\n}\n\n\n@media screen and (max-width: 480px) {\n dl.description-list dt {\n float: none;\n margin-left: 0;\n text-align: left;\n }\n\n dl.description-list dd,\n dl.description-list.narrow dd,\n dl.description-list.wide dd {\n margin-top: 0.5em;\n margin-left: 3em;\n max-width: calc(100% - 3em);\n }\n}\n", "// Entry point for ol/ul/dl web styling\n\n@use \"list-styles\";\n@use \"description-lists\";\n@use '../helpers/cols';\n\n// generate multi column rules for lists\n@include cols.allow-cols('li');\n\n// use .ptx-content to avoid styling lists in toc/header/etc...\n.ptx-content {\n ol,\n ul {\n\n ol,\n ul {\n // margin-top: 0.5em;\n }\n }\n\n li {\n margin-top: 0.5em;\n // margin-bottom: 0;\n\n // & > .para:first-child {\n // margin-top: 0;\n // }\n\n .li--heading-title {\n font-size: 100%;\n font-weight: normal;\n font-style: italic;\n }\n }\n} // .ptx-content\n\n.para > :is(ol, ul) {\n // add some space when inside a .para\n margin-top: 0.5em;\n margin-bottom: 0.5em;\n}\n\n// provide space for custom markers\nol > li {\n padding-left: 0.25em;\n}\n", "\n.fillin {\n display: inline-block;\n border: none;\n border-width: 1px;\n margin-right: 0.1em;\n margin-left: 0.1em;\n margin-bottom: -0.25em;\n\n &.underline {\n border-bottom-style: solid;\n border-width: 1px;\n }\n\n &.box {\n outline: 1px solid var(--body-text-color);\n height: 1.3em;\n }\n\n &.shade {\n background-color: var(--fillin-background-color, #eee);\n height: 1.3em;\n }\n}\n\n\n:root.dark-mode {\n --fillin-background-color: #444;\n}\n", "// headings for standard page elements - sections/articles/etc...\n// more specialized headings (exercises) should be defined in the specific component\n// complex stylizing (like boxes) should be done by \"chunks\"\n\n// reset size/margin for headings\n.heading:is(h1, h2, h3, h4, h5, h6) {\n margin: 0;\n font-size: unset;\n}\n\n.heading {\n line-height: 1.1;\n font-family: var(--font-headings);\n font-weight: 700;\n margin-top: 0;\n margin-bottom: 0;\n}\n\nsection > .heading {\n font-size: 1.75em;\n color: var(--body-title-color);\n line-height: 1.25em;\n margin-top: 2.5em;\n margin-bottom: 0.5em;\n\n // pull in any following items that default to a larger top margin\n & + * {\n margin-top: 0.5em;\n }\n}\n\n.ptx-content > section > .heading {\n //first heading on page\n margin-top: 0.5em;\n}\n\nsection section > .heading {\n font-size: 1.5em;\n margin-top: 2em;\n}\n\nsection section section > .heading {\n font-size: 1.40em;\n margin-top: 2em;\n}\n\n\narticle > .heading {\n font-size: 1.25em;\n margin-top: 1.5em;\n\n // pull in any following items that default to a larger top margin\n & + * {\n margin-top: 0.5em;\n }\n}\n\n.paragraphs > .heading {\n font-size: 1.125em;\n}\n\n// heading followed by no content and then a subsection that starts with heading\n:is(section, article) > .heading + :is(section, article) > .heading {\n margin-top: 0.5em;\n}\n\n// smaller headings on phone screens\n@media screen and (max-width: 480px) {\n section > .heading {\n font-size: 1.5em;\n line-height: 1.33em;\n margin-top: 1em;\n }\n section section > .heading {\n font-size: 1.3em;\n line-height: 1.15em;\n }\n section section section > .heading {\n font-size: 1.15em;\n line-height: 1em;\n }\n}\n\n.heading.hide-type > .type {\n display: none;\n}\n", "\n// Reset for all links\na {\n color: var(--link-text-color);\n text-decoration: none;\n\n &:hover,\n &:focus {\n text-decoration: none;\n }\n}\n\n\na[href^=\"mailto:\"] {\n white-space: pre;\n}\n\n\n// Body links. .ptx-content to avoid hitting navbar, toc, etc...\n.ptx-content {\n a.internal {\n color: var(--link-text-color);\n font-weight: bold;\n }\n a.external {\n color: var(--link-alt-text-color);\n font-weight: bold;\n }\n a.internal:hover, a.internal:hover *,\n a.internal:focus, a.internal:focus * {\n color: var(--link-active-text-color);\n background-color: var(--link-active-background);\n font-weight: bold;\n }\n a.external:hover, a.external:hover *,\n a.external:focus, a.external:focus * {\n color: var(--link-alt-active-text-color);\n background-color: var(--link-alt-active-background);\n font-weight: bold;\n }\n}\n", "// limit rules targeting basic elements to just content area\n.ptx-content {\n table {\n border-spacing: 0;\n border-collapse: collapse;\n }\n\n td {\n padding: 2px 5px;\n font-size: 90%;\n\n img {\n max-width: 200px;\n margin-right: 30px;\n }\n }\n\n th {\n padding: 2px 5px;\n }\n\n // generate alignment/border mixin classes for both th and td\n @each $cell-type in (th, td) {\n #{$cell-type} {\n .lines {\n white-space: nowrap;\n }\n\n // horizontal alignment options\n @each $class, $align in (l: left, c: center, r: right, j: justify) {\n &.#{$class} {\n text-align: $align;\n }\n }\n\n // vertical alignment options\n @each $class, $align in (t: top, b: bottom, m: middle) {\n &.#{$class} {\n vertical-align: $align;\n }\n }\n\n // border options\n @each $side, $side-symbol in (left: l, right: r, top: t, bottom: b) {\n @for $i from 0 through 3 {\n &.#{$side-symbol}#{$i} {\n @if $i ==0 {\n border-#{$side}: none;\n }\n\n @else {\n border-#{$side}: #{$i}px solid var(--body-text-color);\n }\n }\n }\n }\n }\n }\n\n\n // when cells do not have a border on left and right, add padding\n th.r0.l0,\n td.r0.l0 {\n padding-left: 0.8em;\n padding-right: 0.8em;\n }\n\n tr.header-vertical {\n th {\n writing-mode: vertical-rl;\n padding-left: 2em;\n }\n }\n\n .center {\n table {\n text-align: center;\n margin-left: auto;\n margin-right: auto;\n }\n }\n}\n\n// Rules with non-generic targeting\n\n.tabular-box {\n margin-top: 0.5em; //minimum space above to separate from figcaption\n overflow-x: auto;\n}\n\n.tabular-box.natural-width table {\n margin-left: auto;\n margin-right: auto;\n}\n\n// More specific types of tables\n\ntable.notation-list {\n tr {\n th {\n text-align: left;\n margin-left: 1em;\n }\n\n td {\n text-align: left;\n vertical-align: top;\n }\n }\n}\n\n\n\n", "// Styles for the items that are (at least generally) a part of the front matter\n// There are some pretty generic class names. Those get wrapped with a class\n// limiting their scope to the expected page\n\n.frontmatter {\n & > .heading {\n display: block;\n text-align: center;\n }\n\n & > .heading .title,\n .book > .heading .title {\n font-size: 1.3em;\n }\n\n & > .heading .subtitle,\n .book > .heading .subtitle {\n display: block;\n font-weight: normal;\n color: var(--byline-color);\n font-size: 0.875em;\n line-height: 1.42857em;\n margin-top: 0.35714em;\n }\n\n & > .para:first-of-type {\n margin-top: 4em;\n }\n\n & > .author,\n & > .credit {\n margin-top: 2em;\n text-align: center;\n }\n\n .author:first-of-type {\n margin-top: 4em;\n }\n\n & > .author .author-name {\n font-size: 120%;\n }\n\n .date {\n display: block;\n margin-top: 2em;\n text-align: center;\n }\n\n .credit .title {\n font-size: 1em;\n }\n\n .credit .author {\n font-size: 0.9em;\n margin-top: 0.75em;\n }\n\n .author-info {\n font-size: 90%;\n }\n\n .summary-links {\n margin-top: 4em;\n }\n\n .abstract {\n margin: 4em 2em;\n }\n\n .keywords, .support {\n margin-top: 2em;\n }\n\n .abstract, .keywords, .support {\n & > .title {\n font-size: 1.125em;\n font-weight: 600;\n line-height: 1.125em;\n display: inline;\n }\n\n & > .title::after {\n content: \".\\2009\\2009\\2009\";\n }\n\n & > .title + .para {\n display: inline;\n }\n }\n\n .colophon {\n .copyright {\n margin-top: 2.5em;\n }\n\n .license {\n margin-top: 2.5em;\n }\n }\n}\n", "\n/* Start of division toc links */\n// .ptx-content to override _links rules\n.ptx-content .summary-links {\n font-family: var(--font-headings);\n display: block;\n margin-top: 1em;\n\n a {\n color: var(--summary-link-text-color);\n background: var(--summary-link-background);\n font-size: 1.5em;\n line-height: 1.25em;\n padding: 10px 20px;\n padding-right: 60px;\n border-radius: 3px;\n position: relative;\n display: block;\n font-weight: unset;\n\n .title{\n font-style: normal;\n }\n\n .codenumber {\n margin-right: 0.41667em;\n }\n\n &::after {\n // triangles\n right: 0.83333em;\n content: \"\";\n position: absolute;\n top: 50%;\n margin-top: -0.4em;\n width: 0;\n height: 0;\n border-top: 0.4em solid transparent;\n border-bottom: 0.4em solid transparent;\n border-left: 0.4em solid var(--summary-link-text-color);\n }\n\n &:hover {\n color: var(--summary-link-hover-text-color);\n background: var(--summary-link-hover-background);\n\n // need to override work done in _links\n * {\n color: var(--summary-link-hover-text-color);\n background: var(--summary-link-hover-background);\n }\n .title {\n font-weight: normal;\n }\n\n &::after {\n border-left: 0.4em solid var(--summary-link-hover-text-color);\n } \n } \n }\n\n ul {\n list-style-type: none;\n padding: 0;\n margin-top: 0;\n }\n\n li {\n margin-top: 5px;\n }\n}\n\n@media screen and (width <= 480px) {\n .ptx-content .summary-links a {\n //shrink on mobile\n font-size: 100%;\n line-height: 1.25em;\n }\n}\n", "$border-radius: 0px !default;\n\n.ptx-footnote {\n display: inline-block;\n position: relative;\n}\n\n.ptx-footnote[open] {\n display: contents;\n}\n\n\n.ptx-footnote[open] .ptx-footnote__number::before {\n font-size: smaller;\n content: \"[x]\";\n visibility: visible;\n vertical-align: super;\n}\n\n.ptx-footnote[open] .ptx-footnote__number sup {\n display: none;\n}\n\n.ptx-footnote__number {\n display: inline-block;\n cursor: pointer;\n min-width: 1em; //hopefully enough space...\n}\n\n.ptx-footnote__number::marker {\n content: \"\";\n}\n\n.ptx-footnote__contents {\n display: block;\n font-style: italic;\n background: var(--knowl-background);\n border-radius: $border-radius;\n padding: 8px;\n margin: 4px auto;\n width: fit-content;\n max-width: calc(100% - 60px);\n border: 2px solid var(--knowl-border-color);\n //reset color/weight/size in case used in block that changed them\n // e.g. theorem title in denver\n color: var(--body-text-color);\n font-weight: normal;\n font-size: var(1rem);\n}\n", "\n\n/* the index at the back of the book */\n// TODO - refactor\n\n\n.navbar .indexnav {\n position: absolute;\n top: 46px;\n right: 0;\n}\n\n.mininav {\n float: left;\n padding-top: 0.7ex;\n padding-left: 1ex;\n}\n\n\n.indexjump {\n margin-left: 1.5ex;\n margin-top: 0.2ex;\n padding-top: 0;\n float: left;\n line-height: 0.95;\n}\n\n.indexjump a {\n padding-left: 2.5px;\n padding-right: 0.5px;\n width: 2.5ex;\n/*\n* * omitted, because we put a space in the source\n* padding-right: 3px;\n* */\n margin-right: -1px;\n color: inherit;\n font-size: 80%;\n text-align: center;\n}\n.indexjump a::after{\n content: \"\";\n display: inline-block;\n}\n.indexjump a:nth-of-type(14){\n padding-left: 1.8ex;\n}\n.indexjump a:last-child {\n padding-right: 10px;\n}\n\n.indexjump a:hover {\n background: var(--activated-content-bg);\n}\n\n.indexitem {\n margin-top: 4px;\n}\n\n.subindexitem {\n margin-left: 2em;\n font-size: 95%;\n margin-top: -1px;\n}\n\n.subsubindexitem {\n margin-left: 3.5em;\n font-size: 95%;\n margin-top: -1px;\n}\n\n.indexknowl {\n margin-left: 0.11em;\n}\nem + .indexknowl {\n margin-left: -0.25em;\n}\n.indexknowl a {\n margin-left: 2em;\n}\n\n.indexitem .see,\n.subindexitem .see,\n.subsubindexitem .see {\n margin-left: 1em;\n margin-right: 0;\n}\n.indexitem .seealso,\n.subindexitem .seealso,\n.subsubindexitem .seealso {\n margin-left: 1em;\n margin-right: 0;\n}\n.indexitem .see em,\n.subindexitem .see em,\n.subsubindexitem .see em,\n.indexitem .seealso em,\n.subindexitem .seealso em,\n.subsubindexitem .seealso em {\n margin-right: 0.25em;\n font-style: italic;\n}\n/* note that multiple things after \"see\" are in separate spans */\n.indexitem .see + .see,\n.subindexitem .see + .see,\n.subsubindexitem .see + .see,\n.indexitem .seealso + .seealso,\n.subindexitem .seealso + .seealso,\n.subsubindexitem .seealso + .seealso {\n margin-left: 0;\n margin-right: 0;\n}\n\n.indexitem .indexknowl {\n font-size: 90%;\n}\n\n.indexitem [data-knowl], .subindexitem [data-knowl], .indexitem [data-knowl]:hover {\n padding-right: 2px;\n padding-left: 2px;\n}\n.indexknowl [data-knowl]:hover, .indexknowl .active[data-knowl] {\n margin-left: 2em;\n}\n\n.subindexitem .indexknowl {\n font-size: 95%;\n}\n.subsubindexitem .indexknowl {\n font-size: 95%;\n}\n\n.indexletter {\n margin-top: 1.5em;\n}\n", "// ---------------------------------------------\n// containers for images, audio, video, and asymptote\n.image-box,\n.audio-box,\n.video-box,\n.asymptote-box {\n position: relative;\n}\n\n.image-box .asymptote-box iframe.asymptote,\niframe.asymptote,\n.video-box .video,\n.video-box .video-poster {\n position: absolute; top: 0; left: 0; width: 100%; height: 100%;\n}\n\n// images in containers should grow to fit space\n.image-box img,\nimg.contained {\n width: 100%;\n}\n\n// ---------------------------------------------\n// images\n.ptx-content img, .ptx-content svg {\n // for body images in dark mode, we want to be able to force a light colored background\n // as most transparent images will assume that the background is white\n background: var(--ptx-image-bg);\n}\n// but mermaid svg should always have a transparent background\n.mermaid > svg {\n background: none;\n}\n\n.image-description {\n summary {\n list-style: none; // no marker\n cursor: pointer;\n }\n}\n\n// download links after an image\n.image-archive {\n margin: 0.75em auto 0;\n font-family: var(--font-monospace);\n justify-content: center;\n display: flex;\n gap: 0.5em;\n}\n\n// TODO - refactor mag_popup JS and CSS\n// was .ptx-content .image-box > img:not(.draw_on_me):not(.mag_popup)\n.image-box > img:not(.mag_popup) {\n cursor: zoom-in;\n}\n\nimg.mag_popup {\n border: 1px solid #666;\n box-shadow: 4px 6px 4px #999;\n cursor: zoom-out;\n}\n\n.mag_popup_container {\n width:100%;\n position:absolute;\n z-index:1001;\n overflow-x: visible;\n}\n\n// ---------------------------------------------\n// other\n.audio {\n width: 100%;\n}\n\n.video-poster {\n cursor: pointer;\n}\n", "figure {\n clear: both;\n position: relative;\n\n // override browser margins\n margin-left: 0;\n margin-right: 0;\n}\n\nfigcaption {\n margin-left: auto;\n margin-right: auto;\n margin-top: 0.5em;\n\n code.code-inline {\n white-space: pre;\n }\n \n .codenumber,\n .type {\n font-weight: 700;\n }\n\n // add n-dashes\n .codenumber::after,\n .type:last-of-type::after {\n content: \"\\2002\";\n }\n\n // make sure first para comes right after title\n .para:first-of-type {\n display: inline;\n }\n}\n\n// tables are inset\nfigure.table-like {\n margin-left: 30px;\n margin-right: 30px;\n\n // but lists can go full right\n .list {\n margin-right: 0;\n }\n}\n\n@media (max-width <= 943px){\n .figure-like {\n overflow-x: auto;\n }\n}\n", "/* style for poems */\n.poem {\n display: table;\n margin: 0 auto;\n width: auto;\n max-width: 90%;\n}\n\n.poem > .heading {\n display: block;\n text-align: center;\n}\n\nsection article.poem > .heading::after {\n content: \"\";\n}\n\n.poem > .heading > .title {\n font-weight: bold;\n font-size: 1.2em;\n line-height: 1.2em;\n}\n\n.poem .author {\n font-style: italic;\n margin-top: 0.75em;\n}\n\n.poem .author.left {\n text-align: left;\n}\n\n.poem .author.center {\n text-align: center;\n}\n\n.poem .author.right {\n text-align: right;\n}\n\n.poem .stanza > .heading {\n text-align: center;\n font-weight: bold;\n font-size: 1em;\n line-height: 1em;\n}\n\n.poem .stanza + .stanza {\n margin-top: 1em;\n}\n\n.poem .heading + .stanza {\n margin-top: 0.2em;\n}\n\n.poem .heading + .line {\n margin-top: 0.2em;\n}\n\n.poem .line.left {\n text-align: left;\n margin-left: 4em;\n text-indent: -4em;\n}\n\n.poem .line.center {\n text-align: center;\n}\n\n.poem .line.right {\n text-align: right;\n}\n\n.poem .tab {\n margin-left: 2em;\n}\n", "@use '../chunks/codelike';\n\n// Prism stylesheets built locally as default ones don't support light/dark switching\n// this is a merged version of the default and dark themes\n\n// Default prism styling\n// Blocks\npre[class*=\"language-\"] {\n margin: 0;\n overflow: auto;\n border: 1px solid #e1e1e1;\n}\n\n// Inline code\n:not(pre) > code[class*=\"language-\"] {\n padding: .1em;\n border-radius: .3em;\n white-space: normal;\n}\n\ncode[class*=\"language-\"],\npre[class*=\"language-\"] {\n color: black;\n background: #fdfdfd;\n text-shadow: none;\n font-family: var(--font-monospace);\n text-align: left;\n white-space: pre;\n word-spacing: normal;\n word-break: normal;\n word-wrap: normal;\n line-height: 1.2;\n tab-size: 4;\n hyphens: none;\n\n &.code-inline {\n // unclobber some inline code styles\n @include codelike.code-inline-spacing();\n }\n\n &::selection,\n & ::selection {\n background: #b3d4fc;\n }\n\n .token {\n \n &:is(.comment,\n .prolog,\n .doctype,\n .cdata) {\n color: #2a9716;\n }\n \n &.punctuation {\n color: #000;\n }\n \n &.namespace {\n opacity: .9;\n }\n \n &:is(.property,\n .tag,\n .boolean,\n .number,\n .constant,\n .symbol,\n .deleted) {\n color: rgb(41, 120, 15);\n }\n \n &:is(.selector,\n .attr-name,\n .string,\n .char,\n .builtin,\n .regex,\n .inserted) {\n color: #a11;\n }\n \n &:is(.operator,\n .entity,\n .url) {\n color: #000;\n background: none;\n }\n \n &:is(.atrule,\n .attr-value,\n .keyword) {\n color: #0679B7;\n }\n \n &.function,\n &.class-name {\n color: #30a;\n }\n \n &.important,\n &.variable {\n color: rgb(0, 0, 0);\n }\n \n \n &.important,\n &.bold {\n font-weight: bold;\n }\n \n &.italic {\n font-style: italic;\n }\n \n &.entity {\n cursor: help;\n }\n }\n \n // -------------------------------------------\n // Line numbers\n &.line-numbers {\n position: relative;\n padding-left: 3.8em;\n counter-reset: linenumber;\n overflow: auto;\n \n > code {\n position: relative;\n white-space: inherit\n }\n \n .line-numbers-rows {\n position: absolute;\n pointer-events: none;\n top: 0;\n font-size: 100%;\n left: -3.8em;\n width: 3em;\n letter-spacing: -1px;\n border-right: 1px solid #999;\n user-select: none\n }\n \n .line-numbers-rows > span {\n display: block;\n counter-increment: linenumber\n }\n \n .line-numbers-rows > span::before {\n content: counter(linenumber);\n color: #999;\n display: block;\n padding-right: .8em;\n text-align: right\n }\n }\n \n \n // -------------------------------------------\n // Line highlighting\n .line-highlight {\n position: absolute;\n margin-top: 4px; // tune to match padding of containing pre\n left: 0;\n right: 0;\n padding: inherit 0;\n font-size: inherit;\n background: hsla(24, 20%, 50%, 8%);\n pointer-events: none;\n line-height: inherit;\n white-space: pre\n }\n}\n\n// -------------------------------------------\n// Dark mode\n:root.dark-mode {\n \n /* Code blocks */\n pre[class*=\"language-\"] {\n border: 1px solid #3d3d3d;\n }\n \n \n // Darker styling to match Runesone's code mirror theme\n code[class*=\"language-\"],\n pre[class*=\"language-\"] {\n color: white;\n background: hsl(0, 0%, 8%);\n \n &::selection,\n & ::selection {\n background: hsl(200, 4%, 16%);\n }\n \n /* Make the tokens sit above the line highlight so the colours don't look faded. */\n .token {\n position: relative;\n z-index: 1;\n \n &:is(.comment,\n .prolog,\n .doctype,\n .cdata) {\n color: #68a950;\n }\n \n &.punctuation {\n color: white;\n opacity: 1;\n }\n \n &.namespace {\n opacity: .9;\n }\n \n &:is(.property,\n .tag,\n .boolean,\n .number,\n .constant,\n .symbol,\n .deleted) {\n color: #abc792;\n }\n \n &:is(.selector,\n .attr-name,\n .string,\n .char,\n .builtin,\n .regex,\n .inserted) {\n color: #ca9147;\n }\n \n &:is(.operator,\n .entity,\n .url) {\n color: white;\n }\n \n &:is(.atrule,\n .attr-value,\n .keyword) {\n color: #2d94fb;\n }\n \n &.function,\n &.class-name {\n color: #e3e1c2;\n }\n \n &.important,\n &.bold {\n font-weight: bold;\n }\n \n &.italic {\n font-style: italic;\n }\n \n &.entity {\n cursor: help;\n }\n \n }\n }\n \n .line-highlight {\n background: hsla(0, 0%, 33%, 10%);\n border-bottom: 1px dashed hsl(0, 0%, 33%);\n border-top: 1px dashed hsl(0, 0%, 33%);\n z-index: 0;\n }\n}\n\n@media print {\n code[class*=\"language-\"],\n pre[class*=\"language-\"] {\n .line-highlight {\n color-adjust: exact\n }\n }\n}\n", "// TODO - refactor\n\n.displaymath {\n overflow-x: auto;\n overflow-y: hidden;\n}\n\n.displaymath mjx-container[jax=\"CHTML\"][display=\"true\"] {\n margin: 0 0 0 0; // container is going to apply margin, so remove it from mjx-container\n padding-top: 2px; // Chrome sometimes clips the top 1-2 pixels of math after it has been scaled - provide room for that content\n}\n\n.process-math mjx-container svg {\n // remove the background that is normally applied to svg's by PreTeXt CSS\n // we use .process-math instead of .displaymath to get inline math as well.\n background: none;\n}\n\n// ?\n[data-knowl] > mjx-mrow .TEX-I {\n font-family: MJXZERO !important;\n font-style: normal !important;\n}\n\n/* remove this when MathJax fixes the bug that was setting the width to 0 */\n/* as in $x=0$. becomes $x=0\\text{.}$ */\n.knowl mjx-mtext > mjx-utext,\nmjx-mtext > mjx-utext {\n width: revert !important;\n}\nmjx-msup mjx-utext,\nmjx-msub mjx-utext {\n display: inline;\n}\n", "// TODO - refactor\n$opacity: 0.0 !default;\n\n/*\nSo that we can position things (like .autopermalink) absolutely wrt these items.\nAny element whose permalink should be positioned directly to the left of it\nshould be in this list.\n*/\nsection,\narticle,\nli,\nblockquote,\nfigcaption,\ndt,\n.exercisegroup,\n.discussion-like,\n.solution-like,\n.para {\n position: relative;\n}\n\n.autopermalink {\n position: absolute;\n display: inline-block;\n top: 0.5ex;\n left: -2em;\n font-size: 85%;\n // variable allows theme to set different opacities for dark/light\n opacity: var(--permalink-opacity, $opacity);\n transition: opacity 0.2s;\n margin-top: 0 !important;\n}\n\nli > .autopermalink {\n left: -3.5em;\n}\n\n.autopermalink > * {\n padding-left: 0.2em;\n padding-right: 0.2em;\n}\n\n\n// Move permalink for division titles etc a little bit lower\n.appendix > .autopermalink,\n.chapter > .autopermalink,\n.index > .autopermalink,\n.section > .autopermalink,\n.subsection > .autopermalink,\n.references > .autopermalink,\n.exercises > .autopermalink {\n top: 1.5ex;\n}\n\n// In some styles, the autopermalink for paras land right on the border line.\n// This is an attempt to fix that. TODO: find a more robust solution, maybe\n// using a variable for the left offset of paras inside blocks.\n.assemblage-like > .para > .autopermalink,\n.example-like > .para > .autopermalink,\n.example-like > .exercise-like > .autopermalink,\n.project-like > .para > .autopermalink,\n.project-like > .exercise-like > .autopermalink,\n.project-like > .exercise-like > .introduction > .para > .autopermalink,\n.project-like > .exercise-like > .conclusion > .para > .autopermalink,\n.remark-like > .para > .autopermalink {\n left: -2.9em;\n}\n\n\n.axiom-like, .example-like, .exercise-like, .solution-like, .assemblage-like, .definition-like, .remark-like, .project-like, .openproblem-like, .computation-like, .theorem-like, .proof, .case, li, dd {\n > .para:first-of-type > .autopermalink {\n display:none;\n }\n\n > .introduction > .para:first-of-type > .autopermalink {\n display:none;\n }\n}\n\n\n// Hover effects\n\n.ptx-content:has(.autopermalink:hover) .autopermalink {\n opacity: 0.2;\n}\n\n.ptx-content:has(.autopermalink:hover) .autopermalink:hover {\n opacity: 1;\n}\n\n.autopermalink:has(a:focus-visible) {\n opacity: 1;\n}\n\n.permalink-alert {\n position: absolute;\n top: -3em;\n left: 5em;\n padding: 1.5em 2em;\n background: var(--content-background);\n border: 3px solid var(--page-border-color);\n z-index: 2001;\n}\n\n\n/* when jumping to a permalink, push down so sticky navbar does not cover */\n:target {\n scroll-margin-top: 45px;\n // the \"pink flash\" when navigating to a target\n animation: target-fade 10s 1;\n}\n\n@keyframes target-fade {\n 0% { background-color: var(--activated-content-bg) }\n 100% {\n background-color: inherit;\n opacity: 1;\n }\n}\n", "\n// Miscellaneous stylized content blocks that are not complex enough\n// to warrant their own file\n\nem.alert {\n font-weight: bold;\n}\n\n.bib {\n margin-top: 0.25em;\n\n .bibitem {\n display: inline-block;\n vertical-align: top;\n width: 7%;\n margin-right: 0;\n }\n \n .bibitem + .bibentry {\n display: inline-block;\n width: 90%;\n margin-top: 0;\n }\n}\n\n\n\n.caption {\n margin-top: 10px;\n margin-left: auto;\n margin-right: auto;\n font-size: 100%;\n text-align: center;\n}\n\n\n.contributor {\n margin-top: 1.5ex;\n\n &:first-child {\n margin-top: 0em;\n }\n\n & + .para {\n margin-top: 3ex;\n }\n\n .contributor-name {\n font-variant: small-caps;\n }\n\n .contributor-info {\n font-size: 88%;\n font-style: italic;\n margin-left: 3ex;\n }\n}\n\n\n// Icon font settings\n.material-symbols-outlined {\n font-variation-settings:\n 'FILL' 0,\n 'wght' 400,\n 'GRAD' 0,\n 'opsz' 24\n}\n\n\niframe {\n margin: 0;\n border: none;\n}\n\n\n.kbdkey {\n background: #f1f1f1;\n color: #333;\n border: 1px solid #dddddd;\n border-radius: 3px;\n padding: 1px 2px 0 2px;\n vertical-align: 0.1em;\n font-size: 110%;\n line-height: 1;\n box-shadow: 2px 2px grey;\n display: inline-block;\n margin-right: 3px;\n}\n\n\n.unit,\n.quantity {\n white-space: nowrap;\n word-spacing: -0.25ex;\n margin-right: 0.125em;\n\n sub, sup {\n word-spacing: normal;\n }\n}\n\n\n.terminology {\n font-style: italic;\n font-weight: bold;\n}\n\n\n\n.times-sign {\n font-size: larger;\n vertical-align: -0.15ex;\n}\n\n\n.emphasis {\n font-style: italic;\n\n .emphasis {\n font-weight: bold;\n }\n}\n\n.definition-like .emphasis {\n font-weight: 700;\n}\narticle.theorem-like .emphasis {\n font-weight: 700;\n}\n\n.para {\n line-height: 1.35;\n}\n\n.hidden {\n display: none !important;\n}\n\n/* genus and species in italics */\n.taxon {\n font-style: italic;\n}\n\n.quote {\n padding-left: 40px;\n padding-right: 10px;\n margin-bottom: 1em;\n}\n\n.booktitle {\n font-style: oblique;\n}\n\n/* Adapted from William Hammond (attributed to David Carlisle) */\n/* \"mathjax-users\" Google Group, 2015-12-27 */\n\n.latex-logo {font-family: \"PT Serif\", \"Times New Roman\", Times, serif;}\n\n.latex-logo .A {font-size: 75%; text-transform: uppercase; vertical-align: .5ex;\n margin-left: -.48em; margin-right: -.2em;}\n\n.latex-logo .E {vertical-align:-.5ex; text-transform: uppercase;\n margin-left: -.18em; margin-right: -.12em; }\n", "// Basic rules for printing a standard PreTeXt page\n\n// Get rid of UI elements.\n// Leave margin fiddling for system print dialog.\n\n// Worksheet and handout printing is handled in print-worksheet.scss\n\n@media print {\n .pretext .ptx-masthead,\n .pretext .ptx-navbar,\n body.pretext > a.assistive,\n .pretext .ptx-page > .ptx-sidebar,\n .pretext .ptx-page-footer,\n .pretext .ptx-main > div.ptx-content-footer {\n display:none;\n }\n\n .ptx-page, .ptx-main, .ptx-main .ptx-content {\n all: unset !important;\n width: 100%;\n border: none;\n padding: 0;\n margin: 0;\n }\n\n .ptx-sagecell, .tabular, .table-like, .figure-like, .exercise-like {\n break-inside: avoid;\n }\n\n .heading {\n break-after: avoid;\n }\n\n .code-inline {\n border: unset;\n background: unset;\n }\n\n @page {\n margin: 0.75in 0.75in 0.75in 0.75in;\n }\n}\n", "// TODO refactor\n\n// Rules in this file apply to both screen and print\n// Print specific rules should go in a file in targets/print-worksheet stylesheet\n@use 'components/helpers/buttons-default' as buttons;\n\n.heading .print-links {\n float: right;\n vertical-align: bottom;\n .print-link {\n font-family: var(--font-body);\n padding: 0.1em 0.2em;\n }\n .material-symbols-outlined {\n margin-top:5pt;\n }\n}\n\n", "// TODO - refactor\n// Make conditional on use of google search???\n\n.pretext .searchwrapper {\n max-width: 900px;\n position: absolute;\n right: 0;\n bottom: 0;\n margin-bottom: 39px;\n}\n\n.pretext .searchwrapper .cse .gsc-control-cse,\n.pretext .searchwrapper .cse .gsc-control-cse input,\n.searchwrapper .gsc-control-cse {\n padding: 5px;\n}\n\n// .pretext .searchwrapper .cse .gsc-search-button input.gsc-search-button-v2,\n// .searchwrapper input.gsc-search-button-v2 {\n// padding: 2px 2px;\n// }\n\n// .pretext .searchwrapper form.gsc-search-box {\n// margin: 0;\n// }\n\n// .pretext .searchwrapper table.gsc-search-box {\n// margin: 0;\n// }\n\n// .pretext .searchwrapper .gsc-search-box-tools .gsc-search-box .gsc-input {\n// padding: 0;\n// }\n\n// .pretext .searchwrapper .gsib_a {\n// padding: 0 0 0 5px;\n// }\n\n// .pretext .searchwrapper .gsc-input-box {\n// height: 3.0ex;\n// }\n\n// .pretext .searchwrapper form.gsc-search-box {\n// font-size: 12px;\n// }\n", "\n@use 'components/helpers/buttons-default' as buttons;\n\n.searchbox {\n\n .searchwidget {\n height: 100%;\n }\n \n .searchresultsplaceholder {\n position: fixed;\n top: 5vh;\n bottom: 5vh;\n padding: 1em;\n left: max(10vw, calc(100vw - 800px) / 2);\n width: 80vw;\n max-width: 800px;\n border: 2px solid var(--body-text-color);\n background: var(--knowl-background, #eaf0f6);\n z-index: 5000;\n display: flex;\n flex-direction: column;\n }\n\n .searchresultsplaceholder article {\n width: 60%;\n margin-left: auto;\n margin-right: auto;\n font-family: sans-serif;\n }\n\n .search-results-controls {\n display: flex;\n justify-content: space-between;\n align-items: stretch;\n gap: 10px;\n margin-bottom: 1em;\n height: 35px;\n }\n\n .ptxsearch {\n flex: 1 1;\n }\n \n\n .closesearchresults {\n @include buttons.ptx-button;\n }\n\n .detailed_result {\n margin-bottom: 10px;\n }\n\n .searchresults a:hover {\n text-decoration: underline;\n background: var(--link-active-background);\n }\n\n\n .searchresults {\n padding-left: 10px;\n margin-top: 0;\n overflow-y: auto;\n flex: 1 1;\n background: var(--content-background, white);\n border: 1px solid var(--page-border-color, #ccc);\n }\n\n .searchresults:empty {\n display: none;\n }\n \n .search-result-bullet {\n list-style-type: none;\n }\n\n .search-result-score {\n display: none;\n }\n\n //result qualities\n .no_result {\n font-size: 90%;\n font-weight: 200;\n }\n\n .low_result {\n font-weight: 200;\n }\n\n .medium_result {\n font-weight: 500;\n }\n .high_result {\n font-weight: 700;\n }\n\n .searchempty {\n display: none;\n padding-left: 10px;\n padding-top: 5px;\n }\n\n .search-results-unshown-count {\n margin-top: 0.6em;\n }\n\n .search-result-clip-highlight {\n background: var(--searchresultshighlight);\n }\n\n .searchresultsbackground {\n position: fixed;\n top: 0;\n background: var(--searchresultsbackground, white);\n width: 100vw;\n height: 100%;\n left: 0;\n z-index: 4999;\n }\n\n @media screen and (max-width: 800px) {\n .searchresultsplaceholder {\n bottom: 10vh;\n }\n }\n}\n\n:root {\n --searchresultsbackground: #fff8;\n --searchresultshighlight: rgba(255, 255, 0, 50%);\n}\n\n:root.dark-mode {\n --searchresultsbackground: #0008;\n --searchresultshighlight: rgba(255, 255, 0, 15%);\n}\n", "// extra specific to override Runestone margin\n.ptx-content .ptx-runestone-container .runestone {\n margin: unset;\n border-radius: 0;\n border-width: 1px;\n}\n\n// avoid label splitting into multiple lines\n.multiplechoice_section label > .para {\n display: inline;\n}\n\n// extra specific to override Runestone margin\n.ptx-content .ptx-runestone-container .ac_question { \n max-width: var(--base-content-width);\n margin: 0 auto 10px;\n}\n\n.runestone .runestone_caption {\n // caption is always just something like \"ActiveCode\" in PTX\n display: none;\n}\n\n\n/* to undo Runestone's draganddrop.css */\n.ptx-content .ptx-runestone-container .rsdraggable {\n font-size: 100%;\n}\n\n// Unsure if still needed\n/* hack for runestone */\n/* to undo Runestone's presentermode.css */\n.ptx-content .bottom {\n position: unset;\n}\n\n// override Runestone's pre formatting with these extra specific rules\n.ptx-runestone-container .runestone code,\n.ptx-runestone-container .runestone pre {\n font-size: .93rem;\n line-height: 1.2;\n font-family: var(--font-monospace);\n}\n\n// override Runestone's pre formatting with these extra specific rules\n.ptx-runestone-container code[class*=\"language-\"],\n.ptx-runestone-container pre[class*=\"language-\"] {\n color: black;\n background: #fdfdfd;\n}\n\n//Fixup datafile captions\n.runestone.datafile {\n .datafile_caption {\n background: var(--code-inline-background);\n border: 1px solid color-mix(in oklab, var(--code-inline-background) 50%, #888);\n display: block;\n width: fit-content;\n margin: 0 auto;\n }\n img {\n margin: 0 auto;\n display: block;\n border: 1px solid color-mix(in oklab, var(--code-inline-background) 50%, #888);\n }\n pre, textarea {\n margin: 0 auto;\n border: 1px solid color-mix(in oklab, var(--code-inline-background) 50%, #888);\n background-color: var(--page-color);\n }\n}\n.runestone.datafile + .program {\n margin-top: 0;\n}\n\n// RS does not care what kind of element is used\n// PTX chooses to use a ul, so we will fix margins for it here instead of RS\nul[data-component=\"timedAssessment\"] {\n margin: 0;\n padding: 0;\n}\n\n:root.dark-mode {\n // Darker styling to match Runesone's code mirror theme\n .ptx-runestone-container code[class*=\"language-\"],\n .ptx-runestone-container pre[class*=\"language-\"] {\n color: white;\n background: hsl(0, 0%, 8%);\n }\n}\n", "// TODO - needs refactoring and dark mode update\n\n@use 'components/helpers/buttons-default' as buttons;\n\n/* WW problems */\n.ptx-content .wwprob table.attemptResults {\n margin-left: 2em;\n background: #efefef;\n padding: 0.2em;\n}\n\n.ptx-content .wwprob table.attemptResults + .attemptResultsSummary {\n margin-top: 1em;\n}\n\n.ptx-content .wwprob .problem-main-form {\n margin-top: 1em;\n background: #eeeeff;\n padding: 0.5em;\n}\n\n.ptx-content .wwprob td.ResultsWithoutError {\n background: #9f9;\n}\n\n.ptx-content .wwprob td.ResultsWithError {\n background: #f99;\n}\n\n.ptx-content .wwprob tr th {\n text-align: center;\n padding: 0.2em 1em 0.2em 1em;\n}\n\n.ptx-content .wwprob tr td {\n text-align: center;\n}\n\n.ptx-content .wwprob tr td:empty {\n background: #fff;\n}\n\n.ptx-content .wwprob ol,\n.ptx-content .wwprob ul {\n margin-top: 0.75em !important;\n}\n\n.ptx-content .wwprob .problem {\n background: #fdfdfd;\n}\n\n.ptx-content .wwprob .problem a {\n text-decoration: none;\n}\n\n.ptx-content .wwprob #footer {\n font-size: 70%;\n text-align: right;\n}\n\n/* interactive WeBWorK */\n\nlabel.webwork {\n display: inline-flex;\n flex-direction: column;\n}\n\nlabel.correct .status {\n background-color: #a0f0a0;\n}\n\nlabel.partly-correct .status {\n color: #ffcc66;\n}\n\nlabel.incorrect .status {\n color: #b00;\n}\n\nlabel.incorrect .status::before {\n content: \" \";\n}\n\nlabel.feedback {\n word-wrap: break-word;\n}\n\nlabel.correct .feedback {\n background-color: #00ffcc;\n}\n\nlabel.partly-correct .feedback {\n color: #ffcc66;\n}\n\nlabel.incorrect .feedback {\n color: #e07070;\n}\n\n.webwork img,\n.webwork + .knowl-output img {\n max-width: 100%;\n}\n\n// Make the default margin for items inside the exercise-wrapper similar to\n// default for items in a section\n.exercise-wrapper > *:not(:first-child) {\n margin-top: 1.5em;\n}\n\n.ptx-content .problem-buttons {\n display: flex;\n}\n\n.ptx-content .webwork-button {\n @include buttons.ptx-button;\n}\n\n//.hidden-content used to be used for knowls and got repurposed for hiding webwork contents\n// now just used by webwork\n.problem-buttons.hidden-content,\n.problem-contents.hidden-content {\n display: none;\n}\n", "// TODO - refactor\n\n.sagecell_sessionOutput pre {\n font-family: var(--font-monospace);\n}\n\n.sagecell {\n white-space: normal;\n margin-top: 1.25em;\n margin-bottom: 1.25em;\n}\n\n.sage-interact.sagecell {\n margin: 0;\n}\n\n.sagecell_evalButton {\n font-family: var(--font-body);\n font-size: 16px;\n padding: 0 0.65em;\n}\n\n.sagecell_evalButton {\n cursor: pointer;\n display: inline-block;\n vertical-align: middle;\n /* Disable accidental text-selection */\n user-select: none;\n /* Truncate overflowing text with ellipsis */\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n border-width: 1px;\n border-style: solid;\n font-weight: bold;\n border-radius: 3px;\n}\n\n.sagecell_evalButton {\n color: #383838;\n background-image: linear-gradient(#f7f7f7, #bbbbbb);\n border-color: #c4c4c4;\n}\n\n.sagecell_evalButton:hover {\n color: #181868;\n background-image: linear-gradient(#bbbbbb, #f7f7f7);\n}\n\n.sagecell_evalButton:focus,\n.sagecell_evalButton:active {\n color: #20160b;\n background-image: linear-gradient(#ff6852, #ffd7d1);\n border-color: #ff2822;\n}\n\n.sagecell .sagecell_editor {\n margin-bottom: 8px;\n}\n\n.sageanswer {\n font-family: monospace;\n white-space: pre;\n margin-left: 3em;\n margin-bottom: 2em;\n}\n\n.sageanswer .key {\n display: inline-block;\n vertical-align: top;\n margin-right: 1em;\n}\n\n.sageanswer .output {\n display: inline-block;\n vertical-align: top;\n}\n", "// GeoGebra calculator\n\n$navbar-breakpoint: 856px !default;\n\n.calculator-container {\n position: fixed;\n z-index: 100;\n bottom: 5px;\n right: 5px;\n width: 253px;\n height: 460px;\n}\n\n@media screen and (max-width: $navbar-breakpoint) {\n .calculator-container {\n //assumes navbar moves to bottom of screen\n bottom: 50px !important;\n }\n}\n", "/*\n Master list of color variables and default values.\n Variables are defined in SCSS to allow for calculation of values. They are\n then converted to CSS variables for use in the HTML so authors can, if\n need be, override them with custom CSS.\n\n Any new variable should be added to this file and either defined to another\n variable or given a reasonable default value for the red-blue default theme.\n\n Variables should be semantic, not descriptive\n i.e. --link-color, not --pretty-blue\n*/\n\n@use \"sass:map\";\n\n// ==============================================================================\n// Light theme\n\n// ==============================================================================\n// Page structures\n\n$colors: (\n // Background of page (gutters if any)\n \"page-color\": white,\n // Background of content area\n \"content-background\": white,\n // Border around content area - also possibly used for internal borders\n \"page-border-color\": #ccc,\n\n // ------------------------------------------------------------------------------\n // Banner/nav related\n\n \"doc-title-color\": #932919,\n \"byline-color\": #333,\n \"banner-background\": #fafafa,\n \"navbar-background\": #ededed,\n \"footer-background\": var(--banner-background),\n\n // ------------------------------------------------------------------------------\n // TOC related\n\n \"toc-border-color\": #666,\n \"toc-background\": var(--content-background),\n\n \"tocitem-background\": var(--toc-background),\n \"toc-text-color\": var(--body-text-color),\n\n // highlight styles are used for hover\n \"tocitem-highlight-background\": #671d12,\n \"tocitem-highlight-text-color\": white,\n \"tocitem-highlight-border-color\": var(--toc-border-color),\n \n // active styles are used for the current toc item\n \"tocitem-active-background\": #671d12,\n \"tocitem-active-text-color\": white,\n \"tocitem-active-border-color\": var(--toc-border-color),\n\n // level based colors for TOC\n // levels are not necessarily all used\n // see the toc-basics.scss for how these are determined\n \"toclevel1-background\": var(--content-background),\n \"toclevel1-text-color\": var(--toc-text-color),\n \"toclevel2-background\": var(--content-background),\n \"toclevel2-text-color\": var(--toc-text-color),\n \"toclevel3-background\": var(--content-background),\n \"toclevel3-text-color\": var(--toc-text-color),\n\n\n // ==============================================================================\n // Content\n // ==============================================================================\n\n // ------------------------------------------------------------------------------\n // Text & titles\n\n \"body-text-color\": #000,\n \"body-title-color\": #000,\n\n \"ptx-image-bg\": transparent,\n \"activated-content-bg\": rgba(241, 185, 255, 30%),\n\n \"summary-link-background\": var(--button-background),\n \"summary-link-text-color\": var(--button-text-color),\n \"summary-link-hover-background\": var(--button-hover-background),\n \"summary-link-hover-text-color\": var(--button-hover-text-color),\n\n // ------------------------------------------------------------------------------\n // Links & knowls\n\n \"link-text-color\": #2B5F82,\n \"link-background\": transparent,\n \"link-active-text-color\": var(--link-text-color),\n \"link-active-background\": #cad2e1,\n\n \"link-alt-text-color\": #A62E1C,\n \"link-alt-background\": transparent,\n \"link-alt-active-text-color\": var(--link-alt-text-color),\n \"link-alt-active-background\": #e3d1ce,\n\n \"knowl-link-color\": var(--link-text-color),\n \"knowl-background\": #f5f8ff,\n \"knowl-border-color\": #e0e9ff,\n \"knowl-nested-1-background\": #f5f5ff,\n \"knowl-nested-2-background\": #fffff5,\n \"knowl-nested-3-background\": #f5ffff,\n \"knowl-nested-4-background\": #fff5f5,\n\n // ------------------------------------------------------------------------------\n // Blocks\n\n // Fall back generic block colors:\n \"block-body-background\": var(--content-background),\n \"block-border-color\": var(--knowl-border-color),\n \"block-head-color\": var(--body-text-color),\n\n // See below for specific block types\n \n \"aside-like-link-color\": var(--link-text-color),\n\n // ------------------------------------------------------------------------------\n // Buttons & Widgets\n\n \"button-background\": #ededed,\n \"button-text-color\": #333333,\n \"button-border-color\": #ccc,\n \"button-hover-background\": #c7c7c7,\n \"button-hover-text-color\": var(--button-text-color),\n\n \"dropdown-background\": var(--content-background),\n \"dropdown-border-color\": var(--toc-border-color),\n \"dropdown-text-color\": var(--toc-text-color),\n \"dropdown-hover-background\": var(--tocitem-active-background),\n \"dropdown-hover-text-color\": var(--tocitem-active-text-color),\n\n // ------------------------------------------------------------------------------\n // Other\n \"code-background\": #fdfdfd,\n \"code-inline-background\": #ededed,\n);\n\n// ==============================================================================\n// Block types\n\n// Variables for specific block types should look like those below. In this file\n// only \"top level\" blocks from the -like families are defined. \n// Other themes/color palettes may define\n// more specific ones - see palette_quad_chunks.scss for an example.\n\n// block-types based on those in entities.ent\n$block-types: \"assemblage-like\", \"definition-like\", \"theorem-like\", \"theorem-like\", \"axiom-like\", \"remark-like\", \"computation-like\", \"openproblem-like\", \"aside-like\", \"proof-like\", \"example-like\", \"project-like\", \"goal-like\", \"solution-like\";\n// TODO - \"proof\" should probably be updated to \"proof-like\" in HTML css\n\n@each $block in $block-types {\n $colors: map.merge(\n $colors,\n (\n // define background and border, but default to generic block colors\n \"#{$block}-body-background\": var(--block-body-background),\n \"#{$block}-border-color\": var(--block-border-color),\n )\n );\n}\n", "// levels 2 & 3 only get new colors if they contain further levels\n// that way bottom level has default styling\n\n.ptx-toc:is(.depth0, .depth1, .depth2) .toc-item .toc-item {\n background-color: var(--tocitem-background);\n color: var(--toc-text-color);\n}\n\n.ptx-toc:is(.depth0, .depth1, .depth2, .depth3) .toc-item .toc-item .toc-item {\n background-color: var(--tocitem-background);\n color: var(--toc-text-color);\n}\n", "\n$border-width: 1px !default;\n\n// apply some borders to the TOC\n.toc-item {\n border-top: $border-width solid var(--toc-border-color);\n}\n.ptx-toc.focused .toc-title-box > a:hover {\n border-right: $border-width solid var(--toc-border-color);\n}\n.ptx-toc.focused .toc-expander:is(:hover) {\n border-left: $border-width solid var(--toc-border-color);\n}\n// Extra border above top level items\n.ptx-toc > .toc-item-list > .toc-item {\n border-top: $border-width + 1 solid var(--toc-border-color);\n}\n", "// Use chevrons instead of +/- in ToC expander control\n\n.ptx-toc.focused {\n .toc-item > .toc-title-box > .toc-expander > .icon {\n font-size: 30px;\n &:before {\n content: \"chevron_left\";\n }\n }\n\n .toc-item.expanded > .toc-title-box > .toc-expander > .icon {\n transform: rotate(-90deg);\n &:before {\n content: \"chevron_left\";\n }\n }\n}\n", "$color-light: var(--primary-color-white-30) !default;\n$color-dark: var(--primary-color-black-30) !default;\n$thickness: 2px !default;\n$padding: 3px !default;\n$thickness-h2: 4px !default;\n$thickness-h3: 3px !default;\n\n\nsection > .heading {\n padding-bottom: $padding;\n border-bottom: $thickness solid $color-light;\n}\nsection > h2.heading {\n border-bottom-width: $thickness-h2;\n}\nsection > h3.heading {\n border-bottom-width: $thickness-h3;\n}\n\n:root.dark-mode {\n section > .heading {\n border-bottom-color: $color-dark;\n }\n}\n", "// turn on some optional design features\n@use 'components/page-parts/extras/navbar-btn-borders';\n@use 'components/page-parts/extras/toc-last-level-plain';\n@use 'components/page-parts/extras/toc-borders';\n@use 'components/page-parts/extras/toc-expand-chevrons';\n\n// used to expand math and RS blocks\n@use 'components/helpers/expandable';\n\n// underlines to headings\n@use 'components/elements/extras/heading-underlines';\n\n// let math stretch out to fill space on right\n.displaymath {\n @include expandable.expandable;\n}\n\n.code-display {\n @include expandable.expandable;\n}\n\n// grow some rs elements\n$wide-rs-elements: \".parsons_section, .ac_section, .codelens\";\n\n.ptx-runestone-container:has(#{$wide-rs-elements}) {\n @include expandable.expandable($always-expand: true);\n}\n\n// horizontal scroll for tabular boxes\n.tabular-box {\n @include expandable.expandable;\n}\n", "// Styling for elements in ptx-main that are allowed to expand past normal width\n// of ptx-content.\n\n// Assumes that $content-padding is set to the padding of ptx-content\n// and that element normally takes up 100% of parent width. (Like display-math)\n\n// for responsive elements\n$width-hard-cap: 900px !default;\n$base-content-width: 600px !default;\n$content-padding: 48px !default;\n$always-expand: false !default; // whether to always expand to the max width\n$centered: false !default; // whether to center the content if not max width\n$content-with-padding-width: $base-content-width + 2 * $content-padding;\n\n// for scrollable\n$overflow-y-scroll: hidden !default;\n\n\n// An element that has some minimum authored width which may be larger\n// than the available width. We want it to scroll horizontally.\n@mixin scrollable(\n $overflow-y-scroll: $overflow-y-scroll\n) {\n overflow-x: auto;\n $overflow-y: $overflow-y-scroll;\n}\n\n// An element with no minimum width that we want to allow to expand\n// to whatever width is available to maximize the display area.\n@mixin responsive(\n $base-content-width: $base-content-width,\n $width-hard-cap: $width-hard-cap,\n $content-padding: $content-padding,\n $always-expand: $always-expand,\n $centered: $centered\n) {\n @container ptx-main (width > #{$base-content-width + 2 * $content-padding}) {\n --max-width: calc(min((100cqw - 2 * #{$content-padding}), #{$width-hard-cap}));\n min-width: 100%;\n clear: right; // clear any floats\n @if $always-expand {\n width: var(--max-width);\n } @else {\n width: fit-content; //grow if space needed\n }\n max-width: var(--max-width);\n @if $centered {\n margin-left: calc(-0.5 * (100cqw - #{$content-with-padding-width}));\n }\n }\n}\n\n// An element that has some minimum authored width which we want to allow to expand\n// to whatever width is available to maximize visible content.\n// Content that is still not visible will be scrollable.\n@mixin expandable(\n $base-content-width: $base-content-width,\n $width-hard-cap: $width-hard-cap,\n $content-padding: $content-padding,\n $always-expand: $always-expand,\n $centered: $centered,\n $overflow-y-scroll: $overflow-y-scroll\n) {\n @include scrollable(\n $overflow-y-scroll: $overflow-y-scroll\n );\n @include responsive(\n $base-content-width: $base-content-width,\n $width-hard-cap: $width-hard-cap,\n $content-padding: $content-padding,\n $always-expand: $always-expand,\n $centered: $centered\n );\n}\n", "// This file contains functions and mixins for working with colors in SCSS\n\n@use \"sass:map\";\n@use \"sass:color\";\n\n@mixin set-root-colors($colors, $dark-colors: null) {\n :root {\n color-scheme: light;\n // prevent variable leak through to dark\n &:not(.dark-mode) {\n @include scss-to-css($colors);\n }\n }\n\n @if $dark-colors {\n :root.dark-mode {\n color-scheme: dark;\n @include scss-to-css($dark-colors);\n }\n }\n}\n\n// Renders a map of SCSS variables as CSS variables\n@mixin scss-to-css($colors) {\n @each $name, $value in $colors {\n --#{$name}: #{$value};\n }\n}\n\n// Create a map of colors that blend $color with $other at $mix-amounts\n// The resulting map will have keys of the form 'color-other-10'\n// Indicating 10% of other mixed into color\n@function mixes($color, $other, $mix-amounts) {\n $result: ();\n\n @each $i in $mix-amounts {\n $result: map.set($result, '#{$color}-#{$other}-#{$i}', 'color-mix(in oklab, var(--#{$color}), #{$other} #{$i}%)');\n }\n\n @return $result;\n}\n\n$std-mixes: (1, 2, 3, 4, 5, 10, 15, 20, 25, 30, 35, 40, 50, 60, 65, 70, 75, 80, 85, 90, 95, 96, 97, 98, 99);\n\n// Creates a map of color blends for a given color\n// By default it creates blends with black, white, and gray at $std-mixes amounts\n// Mixing is done using css color-mix function so that if a theme file has the base\n// css variable overridden, the blends will be updated accordingly\n@function get-blends($color, $shades: $std-mixes, $tints: $std-mixes, $tones: $std-mixes, ) {\n $shades: mixes($color, black, $std-mixes);\n $tints: mixes($color, white, $std-mixes);\n $tones: mixes($color, gray, $std-mixes);\n\n $blends: map.merge(\n $tints,\n $shades\n );\n\n $blends: map.merge(\n $blends,\n $tones\n );\n @return $blends;\n}\n\n//--------------------------------------------------------------------------\n// https://jonnykates.medium.com/automating-colour-contrast-ratios-with-sass-e201f3b52797\n// Formula there has a typo, need parens around the sum of the three color channels\n\n@function text-contrast($color, $light: #ffffff, $dark: #000000) {\n $color-brightness: round(\n (\n (color.red($color) * 299) +\n (color.green($color) * 587) +\n (color.blue($color) * 114)\n ) / 1000\n );\n\n $light-color: round(\n (\n (color.red(#ffffff) * 299) +\n (color.green(#ffffff) * 587) +\n (color.blue(#ffffff) * 114)\n ) / 1000\n );\n\n @if abs($color-brightness) < calc($light-color / 2){\n @return $light;\n } @else {\n @return $dark;\n }\n}\n\n// @debug \"text-contrast(#7b7b55) should be #ffffff: \" text-contrast(#7b7b55);\n// @debug \"text-contrast(#9b9b70) should be #000000: \" text-contrast(#9b9b70);\n// @debug \"text-contrast(#766f7a) should be #ffffff: \" text-contrast(#766f7a);\n// @debug \"text-contrast(#70909b) should be #000000: \" text-contrast(#70909b);\n//--------------------------------------------rgb(25, 25, 24)-----------------------\n"], - "mappings": "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CVlDA,eUkDA,CG3CA,aH2CA,CVlDA,eUkDA,CG3CA,aH2CA,CVlDA,eUkDA,CG3CA,YH2CA,CVlDA,eUkDA,CG3CA,iBH2CA,CVlDA,eUkDA,CG3CA,iBHmDE,aAAA,EACA,YAAA,EACA,YAAA,KAEA,CV9DF,eU8DE,CGvDF,YHuDE,OAAA,CV9DF,eU8DE,CGvDF,eHuDE,OAAA,CV9DF,eU8DE,CGvDF,YHuDE,OAAA,CV9DF,eU8DE,CGvDF,YHuDE,OAAA,CV9DF,eU8DE,CGvDF,WHuDE,OAAA,CV9DF,eU8DE,CGvDF,gBHuDE,OAAA,CV9DF,eU8DE,CGvDF,gBHuDE,OACE,cAAA,KACA,QAAA,KIrDJ,OAAA,CThBF,SSgBE,KAAA,IAAA,cAAA,KAAA,CdXA,ecWA,CHLA,2BGbI,eACI,KAoBN,YAAA,KAAA,MAAA,IAAA,qBACA,iBAlBe,IAAA,sBAwBf,OAAA,CT1BJ,SS0BI,KAAA,IAAA,cAAA,KAAA,CdrBF,ecqBE,CHfF,kBGeE,CAAA,CpBaA,OoBbA,aACE,WAAA,EP5BJ,CAAA,UAAA,CAAA,CbwCE,OaxCF,aAAA,OAAA,CAAA,CbwCE,OaxCF,aACE,QAAA,OACA,YAAA,QACA,cAAA,EAEA,CALF,UAKE,CAAA,CbmCA,OanCA,YAAA,OAAA,OAAA,CAAA,CbmCA,OanCA,YAAA,OACE,QAAA,QAOF,CAbF,UAaE,CAAA,Cb2BA,Oa3BA,YAAA,CAAA,IAAA,CHUE,KGVF,CHUE,IGVF,CAAA,QAAA,CHOA,cGPA,OAAA,CAAA,Cb2BA,Oa3BA,YAAA,CAAA,IAAA,CHUE,KGVF,CHUE,IGVF,CAAA,QAAA,CHOA,cGNE,QAAA,OAEA,CAhBJ,UAgBI,CAAA,CbwBF,OaxBE,YAAA,CAAA,IAAA,CHOA,KGPA,CHOA,IGPA,CAHF,QAGE,CHIF,aGJE,CAAA,CHOA,IGPA,aAAA,OAAA,CAAA,CbwBF,OaxBE,YAAA,CAAA,IAAA,CHOA,KGPA,CHOA,IGPA,CAHF,QAGE,CHIF,aGJE,CAAA,CHOA,IGPA,aACE,QAAA,OAGF,CApBJ,UAoBI,CAAA,CboBF,OapBE,YAAA,CAAA,IAAA,CHGA,KGHA,CHGA,IGHA,CAP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AAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,IAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,IAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,IAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,IAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,IAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,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A,EAAA,IAAA,kBAAA,EAAA,MAAA,IAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,KAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,KAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,KAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,KAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,KAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,KAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,KAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,KAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,KAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,KAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,KAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,KAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,KAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,KAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,KAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,KAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,KAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,KAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,KAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,KAAA,2BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,IAAA,2BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,IAAA,2BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,IAAA,2BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,IAAA,2BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,IAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,KAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,KAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,KAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,KAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,KAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,KAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,KAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,KAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,KAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,KAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,KAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,KAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,KAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,KAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,KAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,KAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,KAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,KAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,KAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,KAAA,IAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,KAAA,IAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,KAAA,IAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,KAAA,IAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,KAAA,IAAA,2BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,KAAA,KAAA,2BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,KAAA,KAAA,2BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,KAAA,KAAA,2BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,KAAA,KAAA,2BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,KAAA,KAAA,2BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,KAAA,KAAA,2BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,KAAA,KAAA,2BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,KAAA,KAAA,2BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,KAAA,KAAA,2BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,KAAA,KAAA,2BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,KAAA,KAAA,2BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,KAAA,KAAA,2BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,KAAA,KAAA,2BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,KAAA,KAAA,2BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,KAAA,KAAA,2BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,KAAA,KAAA,2BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,KAAA,KAAA,2BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,kBAAA,EAAA,KAAA,KAAA,2BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,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A,IAAA,mBAAA,EAAA,MAAA,KAAA,6BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,KAAA,6BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,KAAA,6BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,KAAA,6BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,KAAA,6BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,KAAA,6BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,KAAA,6BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,KAAA,6BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,KAAA,6BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,KAAA,6BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,KAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,IAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,IAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,IAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,IAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,IAAA,6BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,KAAA,6BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,KAAA,6BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,KAAA,6BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,KAAA,6BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,KAAA,6BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,KAAA,6BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,KAAA,6BAAA,UAAA,GAAA,KAAA,EAAA,IA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,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,IAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,IAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,IAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,IAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,IAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,wBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,IAAA,wBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,IAAA,wBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,IAAA,wBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,IAAA,wBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,IAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA", + "sources": ["c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/theme-boulder.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\fonts\\_fonts-google.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\_spacing.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\elements\\_list-styles.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\elements\\_description-lists.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\helpers\\_cols.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\elements\\_lists.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\elements\\_fillin.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\elements\\_headings.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\elements\\_links.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\elements\\_tables.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\elements\\_front-matter.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\elements\\_summary-links.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\elements\\_footnotes.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\elements\\_index.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\elements\\_media.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\elements\\_figures.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\elements\\_poem.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\chunks\\_codelike.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\elements\\_prism.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\elements\\_math.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\elements\\_permalinks.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\elements\\_misc-content.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\_printing.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\_worksheet.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\_google-search.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\_pretext-search.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\helpers\\_buttons-default.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\interactives\\_runestone.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\interactives\\_webwork.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\interactives\\_sagecell.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\interactives\\_calculators.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\salem\\_other-widen.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\helpers\\_expandable.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\page-parts\\_body.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\denver\\_parts-paper.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\page-parts\\_banner.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\page-parts\\_navbar.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\page-parts\\extras\\_navbar-btn-borders.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\page-parts\\_toc-basics.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\page-parts\\_toc-default.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\page-parts\\extras\\_toc-hidden-scrollbar.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\page-parts\\_footer.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\salem\\_rs-widen.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\page-parts\\extras\\_toc-expand-chevrons.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/_customization.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\chunks\\_asides-basic.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\chunks\\_asides-floating.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\greeley\\_chunks-greeley.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\chunks\\_exercises.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\chunks\\_solutions.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\chunks\\_sidebyside.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\chunks\\helpers\\_inline-heading-mixin.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\chunks\\_discussion-inline.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\chunks\\_knowls.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\components\\chunks\\helpers\\_sidebar-mixin.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\colors\\_color-vars.scss", "c:\\Users\\andyj\\.ptx\\2.32.0\\core\\css\\targets\\html\\boulder/..\\..\\..\\colors\\_color-helpers.scss"], + "sourcesContent": ["$primary-color: #386F94;\n$primary-color-dark: #5192BD;\n$provide-dark-mode: yes;\n/*! Theme: boulder */\n// Theme designed for short articles (i.e., research papers) or course documents.\n// Minimal navigation bar; there is likely only one html page per document.\n\n// Current maintainer: Oscar Levin\n\n// Variables used by theme. CSSBuilder overrides these by prepending\n// different definitions for these variables to this file before the theme\n// is compiled.\n$primary-color: hsl(270, 40%, 15%) !default;\n$primary-color-dark: hsl(270, 50%, 50%) !default;\n$background-color-dark: hsl(270, 10%, 5%) !default;\n\n@use \"sass:map\";\n\n\n// set some default sizing variables - this will also set up\n// defaults for expandable mixin\n@use '../salem/sizing-globals' with (\n $content-width: 600px,\n $content-side-padding: 20px\n);\n\n// Basic components: \n@use 'components/pretext'; \n\n@use '../salem/other-widen';\n\n@use '../denver/parts-paper';\n//@use 'shell';\n@use 'customization';\n@use '../greeley/chunks-greeley';\n\n//@use 'heading-tweaks';\n\n// fonts and colors\n// $body-font: 'Open Sans' !default;\n// $heading-font: 'Roboto' !default;\n@use 'fonts/fonts-google'; // with ($body: $body-font, $heading: $heading-font);\n\n@use \"colors/color-helpers\" as colorHelpers;\n@use \"colors/palette-single-bold\" as palette-single with (\n $primary-color: $primary-color,\n);\n\n\n// primary/secondary color defined as determined by palette-chunks from\n// color-scheme, primary-color, secondary-color\n$primary-color: map.get(palette-single.$colors, 'primary-color');\n//$secondary-color: map.get(palette-dual.$colors, 'secondary-color');\n\n@use 'colors/palette-dark' as palette-dark with (\n $primary-color: $primary-color-dark,\n $background-color: $background-color-dark,\n);\n\n\n$light-colors: map.merge(palette-single.$colors, (\n \"toclevel1-background\": var(--content-background),\n \"toclevel2-background\": var(--content-background),\n \"toclevel3-background\": var(--content-background),\n));\n\n\n$dark-colors: map.merge(palette-dark.$colors, (\n \"toclevel1-background\": var(--content-background),\n \"toclevel2-background\": var(--content-background),\n \"toclevel3-background\": var(--content-background),\n));\n\n@include colorHelpers.set-root-colors($light-colors, $dark-colors);\n", "@use \"sass:map\";\n@use \"sass:string\";\n@use \"sass:list\";\n\n// Fonts to use\n$body: 'Open Sans, Helvetica Neue, Helvetica, Arial, sans-serif' !default;\n$heading: 'PT Serif, Times New Roman, Times, serif' !default;\n$monospace: 'Inconsolata, Consolas, Monaco, monospace;' !default;\n$print: 'PT Serif, Times New Roman, Times, serif' !default;\n\n@function is-variable-font($font-name) {\n $static-fonts: ('PT Serif'); // list of known static fonts used by themes\n @if list.index($font-name, $static-fonts) {\n @return false;\n }\n @return true;\n}\n\n@function generate-import($font-name) {\n @if is-variable-font($font-name) {\n @return 'https://fonts.googleapis.com/css2?family=' + $font-name + ':ital,wght@0,400..700;1,400..700&display=swap';\n }\n @else {\n @return 'https://fonts.googleapis.com/css2?family=' + $font-name + ':ital,wght@0,400;0,700;1,400;1,700&display=swap';\n }\n}\n\n// For now, only try to fetch the first name in the list and assume\n// the rest are system defined fallbacks.\n// lists are 1-indexed\n$body-font: list.nth(string.split($body, ','), 1);\n// @debug \"----------------\" $body-font;\n@import url( generate-import($body-font) );\n\n$heading-font: list.nth(string.split($heading, ','), 1);\n// generate-import($heading-font);\n@import url( generate-import($heading-font) );\n\n$monospace-font: list.nth(string.split($monospace, ','), 1);\n// generate-import($monospace-font);\n@import url( generate-import($monospace-font) );\n\n:root {\n --font-body: #{$body};\n}\n:root {\n --font-headings: #{$heading};\n}\n:root {\n --font-monospace: #{$monospace};\n}\n:root {\n --font-print: #{$print};\n}\n\n// 9/5/24 ... TODO controlled list of fonts ... wait and explore later\n// // Available fonts\n// $serif-options: ('Alegreya', 'Merriweather', 'Noto Serif', 'PT Serif', 'Source Serif 4');\n// $sans-options: ('Alegreya Sans', 'Barlow', 'Lato', 'Open Sans', 'Roboto', 'Source Sans 3');\n// $code-options: ('Inconsolata');\n\n// // Backup lists\n// $sans-backups: ', Helvetica Neue, Helvetica, Arial, sans-serif';\n// $serif-backups: ', Times New Roman, Times, serif';\n\n// // ---------------------------------------------------------\n\n\n// @function add-fonts($list, $backups, $fonts: ()) {\n// @each $font in $list {\n// $fonts: map.set($fonts, $font, (\n// url: '\"https://fonts.googleapis.com/css2?family=#{$font}:wdth,wght@75..100,300..800&display=swap\"',\n// fontlist: $font + $backups,\n// ));\n// }\n// @return $fonts;\n// }\n\n// $fonts: add-fonts($sans-options, $sans-backups);\n// $fonts: add-fonts($serif-options, $sans-backups, $fonts);\n\n// $bodyfont: map.get($fonts, $body);\n// @if not $bodyfont {\n// @error \"Unknown body font: #{$body}\";\n// } @else {\n// @import url(#{map.get($bodyfont, \"url\")});\n// :root {\n// --font-body: #{map.get($bodyfont, \"fontlist\")};\n// }\n// }\n\n// $headingfont: map.get($fonts, $heading);\n// @if not $headingfont {\n// @error \"Unknown heading font: #{$heading}\";\n// } @else {\n// @import url(#{map.get($headingfont, \"url\")});\n// :root {\n// --font-headings: #{map.get($headingfont, \"fontlist\")};\n// }\n// }\n", "// Basic spacing for content\n\n// Breakpoint at which the navbar moves to the bottom of the screen\n$navbar-breakpoint: 800px !default;\n\n// all styling assumes border-box layout measurement\n* {\n box-sizing: border-box;\n}\n\n//----------------------------------------------------------\n// Inter item vertical spacing\n//\n// Set some baseline minimal inter-item vertical spacings\n//\n// Individual items can override this with their own margin. The\n// user of @layer here forces these rules to all have less precedence\n// than any rules not in a layer.\n// Most spacing should be done with margin-top.\n\n@layer spacing {\n // inter-item spacing high level containers\n :is(section, article, .knowl__content) > *:not(:first-child) {\n margin-top: 1.5em;\n }\n\n // but tighten up spacing slightly for adjacent paragraphs in a section\n :is(section, article, .knowl__content) > .para + .para {\n margin-top: 1em;\n }\n\n // lower-level container elements that are expected to contain sequences of items\n // tighter spacing here to avoid visually breaking up the minor container\n .ptx-content :is(ul, td, li, dd, .blockquote, .sbspanel, .para.logical) > *:not(:first-child) {\n margin-top: 0.5em;\n }\n}", "// Types of ol/ul - used by web and ebooks\n// Any spacing should be in _lists.scss, not here\n\nol.no-marker,\nul.no-marker,\nli.no-marker {\n list-style-type: none;\n}\n\nol.decimal {\n list-style-type: decimal;\n}\n\nol.lower-alpha {\n list-style-type: lower-alpha;\n}\n\n// Match LaTeX style for second level (i.e. level=\"1\") lists\nol.lower-alpha-level-1 > li::marker {\n content: \"(\"counter(list-item,lower-alpha)\") \";\n}\n\nol.upper-alpha {\n list-style-type: upper-alpha;\n}\n\nol.lower-roman {\n list-style-type: lower-roman;\n}\n\nol.upper-roman {\n list-style-type: upper-roman;\n}\n\nul.disc {\n list-style-type: disc;\n}\n\nul.square {\n list-style-type: square;\n}\n\nul.circle {\n list-style-type: circle;\n}\n", "/* dl is used for glossaries and descriptions lists.\n Glossaries are simple: bold word by itself on a line.\n Definition indented on the next line.\n Vertical space before the next term.\n\n Description lists are more complicated. The wider version\n (refering to the horizontal indentation of the definition;\n this is the default)\n has the (wrapped) term inline with the definition.\n\n The narrow version is complicated because the term is inline\n with its definition if it fits, otherwise it is on the line above.\n That means the vertical space between entries can't be handled by\n a top margin on the dt. Instead we have an ::after on the dd .\n */\n\ndl:is(.description-list, .glossary) {\n margin: 0;\n //overflow: hidden; // Removed to show permalinks\n\n dt {\n font-weight: bold;\n max-width: 55ex;\n }\n\n dd::after {\n content: \"\";\n display: block;\n clear: both;\n }\n}\n\n.para > dl:is(.description-list) {\n // add some space when inside a .para\n margin-top: 0.5em;\n margin-bottom: 0.5em;\n}\n\ndl.glossary {\n dt {\n margin-top: 1.25em;\n\n &:first-of-type {\n margin-top: 0;\n }\n }\n\n dd {\n margin-left: 5ex;\n }\n}\n\ndl.description-list {\n\n dt,\n dd {\n margin-top: 1em;\n\n &:first-of-type {\n margin-top: 0;\n }\n }\n\n dt {\n float: left;\n clear: both;\n text-align: right;\n width: 18ex;\n margin-right: 1ex;\n }\n\n dd {\n margin-left: 22ex;\n }\n\n &.narrow {\n dt {\n width: 11ex;\n }\n\n dd {\n margin-left: 15ex;\n }\n }\n\n &.wide {\n dt {\n width: 25ex;\n }\n\n dd {\n margin-left: 29ex;\n }\n }\n}\n\ndl.description-list dt:first-of-type {\n clear: none;\n}\n\n.description-list + * {\n clear: both;\n}\n\n/* where do we have nested dl? */\ndl.description-list dl dt {\n width: 8ex;\n}\n\ndl.description-list dd dd {\n margin-left: 18ex;\n}\n\ndl.description-list dl dd {\n margin-left: 12ex;\n}\n\n\n@media screen and (max-width: 480px) {\n dl.description-list dt {\n float: none;\n margin-left: 0;\n text-align: left;\n }\n\n dl.description-list dd,\n dl.description-list.narrow dd,\n dl.description-list.wide dd {\n margin-top: 0.5em;\n margin-left: 3em;\n max-width: calc(100% - 3em);\n }\n}\n", "\n// columns are arranged in row-major order to match print output in LaTeX\n:is(.cols2, .cols3, .cols4, .cols5, .cols6) {\n display: flex;\n flex-wrap: wrap;\n justify-content: start;\n}\n\n// see lists and exercises for sample use\n@mixin allow-cols($el, $col-gap: 2em) {\n @for $i from 2 through 6 {\n .cols#{$i} > #{$el} {\n // columns are a suggestion enforced by a minimum size\n // content that needs to be wider can reduce number of columns\n // in its row\n min-width: calc(100% / $i - #{$col-gap});\n width: min-content;\n margin-right: $col-gap;\n }\n }\n}\n\n", "// Entry point for ol/ul/dl web styling\n\n@use \"list-styles\";\n@use \"description-lists\";\n@use '../helpers/cols';\n\n// generate multi column rules for lists\n@include cols.allow-cols('li');\n\n// use .ptx-content to avoid styling lists in toc/header/etc...\n.ptx-content {\n ol,\n ul {\n\n ol,\n ul {\n // margin-top: 0.5em;\n }\n }\n\n li {\n margin-top: 0.5em;\n // margin-bottom: 0;\n\n // & > .para:first-child {\n // margin-top: 0;\n // }\n\n .li--heading-title {\n font-size: 100%;\n font-weight: normal;\n font-style: italic;\n }\n }\n} // .ptx-content\n\n.para > :is(ol, ul) {\n // add some space when inside a .para\n margin-top: 0.5em;\n margin-bottom: 0.5em;\n}\n\n// provide space for custom markers\nol > li {\n padding-left: 0.25em;\n}\n", "\n.fillin {\n display: inline-block;\n border: none;\n border-width: 1px;\n margin-right: 0.1em;\n margin-left: 0.1em;\n margin-bottom: -0.25em;\n\n &.underline {\n border-bottom-style: solid;\n border-width: 1px;\n }\n\n &.box {\n outline: 1px solid var(--body-text-color);\n height: 1.3em;\n }\n\n &.shade {\n background-color: var(--fillin-background-color, #eee);\n height: 1.3em;\n }\n}\n\n\n:root.dark-mode {\n --fillin-background-color: #444;\n}\n", "// headings for standard page elements - sections/articles/etc...\n// more specialized headings (exercises) should be defined in the specific component\n// complex stylizing (like boxes) should be done by \"chunks\"\n\n// reset size/margin for headings\n.heading:is(h1, h2, h3, h4, h5, h6) {\n margin: 0;\n font-size: unset;\n}\n\n.heading {\n line-height: 1.1;\n font-family: var(--font-headings);\n font-weight: 700;\n margin-top: 0;\n margin-bottom: 0;\n}\n\nsection > .heading {\n font-size: 1.75em;\n color: var(--body-title-color);\n line-height: 1.25em;\n margin-top: 2.5em;\n margin-bottom: 0.5em;\n\n // pull in any following items that default to a larger top margin\n & + * {\n margin-top: 0.5em;\n }\n}\n\n.ptx-content > section > .heading {\n //first heading on page\n margin-top: 0.5em;\n}\n\nsection section > .heading {\n font-size: 1.5em;\n margin-top: 2em;\n}\n\nsection section section > .heading {\n font-size: 1.40em;\n margin-top: 2em;\n}\n\n\narticle > .heading {\n font-size: 1.25em;\n margin-top: 1.5em;\n\n // pull in any following items that default to a larger top margin\n & + * {\n margin-top: 0.5em;\n }\n}\n\n.paragraphs > .heading {\n font-size: 1.125em;\n}\n\n// heading followed by no content and then a subsection that starts with heading\n:is(section, article) > .heading + :is(section, article) > .heading {\n margin-top: 0.5em;\n}\n\n// smaller headings on phone screens\n@media screen and (max-width: 480px) {\n section > .heading {\n font-size: 1.5em;\n line-height: 1.33em;\n margin-top: 1em;\n }\n section section > .heading {\n font-size: 1.3em;\n line-height: 1.15em;\n }\n section section section > .heading {\n font-size: 1.15em;\n line-height: 1em;\n }\n}\n\n.heading.hide-type > .type {\n display: none;\n}\n", "\n// Reset for all links\na {\n color: var(--link-text-color);\n text-decoration: none;\n\n &:hover,\n &:focus {\n text-decoration: none;\n }\n}\n\n\na[href^=\"mailto:\"] {\n white-space: pre;\n}\n\n\n// Body links. .ptx-content to avoid hitting navbar, toc, etc...\n.ptx-content {\n a.internal {\n color: var(--link-text-color);\n font-weight: bold;\n }\n a.external {\n color: var(--link-alt-text-color);\n font-weight: bold;\n }\n a.internal:hover, a.internal:hover *,\n a.internal:focus, a.internal:focus * {\n color: var(--link-active-text-color);\n background-color: var(--link-active-background);\n font-weight: bold;\n }\n a.external:hover, a.external:hover *,\n a.external:focus, a.external:focus * {\n color: var(--link-alt-active-text-color);\n background-color: var(--link-alt-active-background);\n font-weight: bold;\n }\n}\n", "// limit rules targeting basic elements to just content area\n.ptx-content {\n table {\n border-spacing: 0;\n border-collapse: collapse;\n }\n\n td {\n padding: 2px 5px;\n font-size: 90%;\n\n img {\n max-width: 200px;\n margin-right: 30px;\n }\n }\n\n th {\n padding: 2px 5px;\n }\n\n // generate alignment/border mixin classes for both th and td\n @each $cell-type in (th, td) {\n #{$cell-type} {\n .lines {\n white-space: nowrap;\n }\n\n // horizontal alignment options\n @each $class, $align in (l: left, c: center, r: right, j: justify) {\n &.#{$class} {\n text-align: $align;\n }\n }\n\n // vertical alignment options\n @each $class, $align in (t: top, b: bottom, m: middle) {\n &.#{$class} {\n vertical-align: $align;\n }\n }\n\n // border options\n @each $side, $side-symbol in (left: l, right: r, top: t, bottom: b) {\n @for $i from 0 through 3 {\n &.#{$side-symbol}#{$i} {\n @if $i ==0 {\n border-#{$side}: none;\n }\n\n @else {\n border-#{$side}: #{$i}px solid var(--body-text-color);\n }\n }\n }\n }\n }\n }\n\n\n // when cells do not have a border on left and right, add padding\n th.r0.l0,\n td.r0.l0 {\n padding-left: 0.8em;\n padding-right: 0.8em;\n }\n\n tr.header-vertical {\n th {\n writing-mode: vertical-rl;\n padding-left: 2em;\n }\n }\n\n .center {\n table {\n text-align: center;\n margin-left: auto;\n margin-right: auto;\n }\n }\n}\n\n// Rules with non-generic targeting\n\n.tabular-box {\n margin-top: 0.5em; //minimum space above to separate from figcaption\n overflow-x: auto;\n}\n\n.tabular-box.natural-width table {\n margin-left: auto;\n margin-right: auto;\n}\n\n// More specific types of tables\n\ntable.notation-list {\n tr {\n th {\n text-align: left;\n margin-left: 1em;\n }\n\n td {\n text-align: left;\n vertical-align: top;\n }\n }\n}\n\n\n\n", "// Styles for the items that are (at least generally) a part of the front matter\n// There are some pretty generic class names. Those get wrapped with a class\n// limiting their scope to the expected page\n\n.frontmatter {\n & > .heading {\n display: block;\n text-align: center;\n }\n\n & > .heading .title,\n .book > .heading .title {\n font-size: 1.3em;\n }\n\n & > .heading .subtitle,\n .book > .heading .subtitle {\n display: block;\n font-weight: normal;\n color: var(--byline-color);\n font-size: 0.875em;\n line-height: 1.42857em;\n margin-top: 0.35714em;\n }\n\n & > .para:first-of-type {\n margin-top: 4em;\n }\n\n & > .author,\n & > .credit {\n margin-top: 2em;\n text-align: center;\n }\n\n .author:first-of-type {\n margin-top: 4em;\n }\n\n & > .author .author-name {\n font-size: 120%;\n }\n\n .date {\n display: block;\n margin-top: 2em;\n text-align: center;\n }\n\n .credit .title {\n font-size: 1em;\n }\n\n .credit .author {\n font-size: 0.9em;\n margin-top: 0.75em;\n }\n\n .author-info {\n font-size: 90%;\n }\n\n .summary-links {\n margin-top: 4em;\n }\n\n .abstract {\n margin: 4em 2em;\n }\n\n .keywords, .support {\n margin-top: 2em;\n }\n\n .abstract, .keywords, .support {\n & > .title {\n font-size: 1.125em;\n font-weight: 600;\n line-height: 1.125em;\n display: inline;\n }\n\n & > .title::after {\n content: \".\\2009\\2009\\2009\";\n }\n\n & > .title + .para {\n display: inline;\n }\n }\n\n .colophon {\n .copyright {\n margin-top: 2.5em;\n }\n\n .license {\n margin-top: 2.5em;\n }\n }\n}\n", "\n/* Start of division toc links */\n// .ptx-content to override _links rules\n.ptx-content .summary-links {\n font-family: var(--font-headings);\n display: block;\n margin-top: 1em;\n\n a {\n color: var(--summary-link-text-color);\n background: var(--summary-link-background);\n font-size: 1.5em;\n line-height: 1.25em;\n padding: 10px 20px;\n padding-right: 60px;\n border-radius: 3px;\n position: relative;\n display: block;\n font-weight: unset;\n\n .title{\n font-style: normal;\n }\n\n .codenumber {\n margin-right: 0.41667em;\n }\n\n &::after {\n // triangles\n right: 0.83333em;\n content: \"\";\n position: absolute;\n top: 50%;\n margin-top: -0.4em;\n width: 0;\n height: 0;\n border-top: 0.4em solid transparent;\n border-bottom: 0.4em solid transparent;\n border-left: 0.4em solid var(--summary-link-text-color);\n }\n\n &:hover {\n color: var(--summary-link-hover-text-color);\n background: var(--summary-link-hover-background);\n\n // need to override work done in _links\n * {\n color: var(--summary-link-hover-text-color);\n background: var(--summary-link-hover-background);\n }\n .title {\n font-weight: normal;\n }\n\n &::after {\n border-left: 0.4em solid var(--summary-link-hover-text-color);\n } \n } \n }\n\n ul {\n list-style-type: none;\n padding: 0;\n margin-top: 0;\n }\n\n li {\n margin-top: 5px;\n }\n}\n\n@media screen and (width <= 480px) {\n .ptx-content .summary-links a {\n //shrink on mobile\n font-size: 100%;\n line-height: 1.25em;\n }\n}\n", "$border-radius: 0px !default;\n\n.ptx-footnote {\n display: inline-block;\n position: relative;\n}\n\n.ptx-footnote[open] {\n display: contents;\n}\n\n\n.ptx-footnote[open] .ptx-footnote__number::before {\n font-size: smaller;\n content: \"[x]\";\n visibility: visible;\n vertical-align: super;\n}\n\n.ptx-footnote[open] .ptx-footnote__number sup {\n display: none;\n}\n\n.ptx-footnote__number {\n display: inline-block;\n cursor: pointer;\n min-width: 1em; //hopefully enough space...\n}\n\n.ptx-footnote__number::marker {\n content: \"\";\n}\n\n.ptx-footnote__contents {\n display: block;\n font-style: italic;\n background: var(--knowl-background);\n border-radius: $border-radius;\n padding: 8px;\n margin: 4px auto;\n width: fit-content;\n max-width: calc(100% - 60px);\n border: 2px solid var(--knowl-border-color);\n //reset color/weight/size in case used in block that changed them\n // e.g. theorem title in denver\n color: var(--body-text-color);\n font-weight: normal;\n font-size: var(1rem);\n}\n", "\n\n/* the index at the back of the book */\n// TODO - refactor\n\n\n.navbar .indexnav {\n position: absolute;\n top: 46px;\n right: 0;\n}\n\n.mininav {\n float: left;\n padding-top: 0.7ex;\n padding-left: 1ex;\n}\n\n\n.indexjump {\n margin-left: 1.5ex;\n margin-top: 0.2ex;\n padding-top: 0;\n float: left;\n line-height: 0.95;\n}\n\n.indexjump a {\n padding-left: 2.5px;\n padding-right: 0.5px;\n width: 2.5ex;\n/*\n* * omitted, because we put a space in the source\n* padding-right: 3px;\n* */\n margin-right: -1px;\n color: inherit;\n font-size: 80%;\n text-align: center;\n}\n.indexjump a::after{\n content: \"\";\n display: inline-block;\n}\n.indexjump a:nth-of-type(14){\n padding-left: 1.8ex;\n}\n.indexjump a:last-child {\n padding-right: 10px;\n}\n\n.indexjump a:hover {\n background: var(--activated-content-bg);\n}\n\n.indexitem {\n margin-top: 4px;\n}\n\n.subindexitem {\n margin-left: 2em;\n font-size: 95%;\n margin-top: -1px;\n}\n\n.subsubindexitem {\n margin-left: 3.5em;\n font-size: 95%;\n margin-top: -1px;\n}\n\n.indexknowl {\n margin-left: 0.11em;\n}\nem + .indexknowl {\n margin-left: -0.25em;\n}\n.indexknowl a {\n margin-left: 2em;\n}\n\n.indexitem .see,\n.subindexitem .see,\n.subsubindexitem .see {\n margin-left: 1em;\n margin-right: 0;\n}\n.indexitem .seealso,\n.subindexitem .seealso,\n.subsubindexitem .seealso {\n margin-left: 1em;\n margin-right: 0;\n}\n.indexitem .see em,\n.subindexitem .see em,\n.subsubindexitem .see em,\n.indexitem .seealso em,\n.subindexitem .seealso em,\n.subsubindexitem .seealso em {\n margin-right: 0.25em;\n font-style: italic;\n}\n/* note that multiple things after \"see\" are in separate spans */\n.indexitem .see + .see,\n.subindexitem .see + .see,\n.subsubindexitem .see + .see,\n.indexitem .seealso + .seealso,\n.subindexitem .seealso + .seealso,\n.subsubindexitem .seealso + .seealso {\n margin-left: 0;\n margin-right: 0;\n}\n\n.indexitem .indexknowl {\n font-size: 90%;\n}\n\n.indexitem [data-knowl], .subindexitem [data-knowl], .indexitem [data-knowl]:hover {\n padding-right: 2px;\n padding-left: 2px;\n}\n.indexknowl [data-knowl]:hover, .indexknowl .active[data-knowl] {\n margin-left: 2em;\n}\n\n.subindexitem .indexknowl {\n font-size: 95%;\n}\n.subsubindexitem .indexknowl {\n font-size: 95%;\n}\n\n.indexletter {\n margin-top: 1.5em;\n}\n", "// ---------------------------------------------\n// containers for images, audio, video, and asymptote\n.image-box,\n.audio-box,\n.video-box,\n.asymptote-box {\n position: relative;\n}\n\n.image-box .asymptote-box iframe.asymptote,\niframe.asymptote,\n.video-box .video,\n.video-box .video-poster {\n position: absolute; top: 0; left: 0; width: 100%; height: 100%;\n}\n\n// images in containers should grow to fit space\n.image-box img,\nimg.contained {\n width: 100%;\n}\n\n// ---------------------------------------------\n// images\n.ptx-content img, .ptx-content svg {\n // for body images in dark mode, we want to be able to force a light colored background\n // as most transparent images will assume that the background is white\n background: var(--ptx-image-bg);\n}\n// but mermaid svg should always have a transparent background\n.mermaid > svg {\n background: none;\n}\n\n.image-description {\n summary {\n list-style: none; // no marker\n cursor: pointer;\n }\n}\n\n// download links after an image\n.image-archive {\n margin: 0.75em auto 0;\n font-family: var(--font-monospace);\n justify-content: center;\n display: flex;\n gap: 0.5em;\n}\n\n// TODO - refactor mag_popup JS and CSS\n// was .ptx-content .image-box > img:not(.draw_on_me):not(.mag_popup)\n.image-box > img:not(.mag_popup) {\n cursor: zoom-in;\n}\n\nimg.mag_popup {\n border: 1px solid #666;\n box-shadow: 4px 6px 4px #999;\n cursor: zoom-out;\n}\n\n.mag_popup_container {\n width:100%;\n position:absolute;\n z-index:1001;\n overflow-x: visible;\n}\n\n// ---------------------------------------------\n// other\n.audio {\n width: 100%;\n}\n\n.video-poster {\n cursor: pointer;\n}\n", "figure {\n clear: both;\n position: relative;\n\n // override browser margins\n margin-left: 0;\n margin-right: 0;\n}\n\nfigcaption {\n margin-left: auto;\n margin-right: auto;\n margin-top: 0.5em;\n\n code.code-inline {\n white-space: pre;\n }\n \n .codenumber,\n .type {\n font-weight: 700;\n }\n\n // add n-dashes\n .codenumber::after,\n .type:last-of-type::after {\n content: \"\\2002\";\n }\n\n // make sure first para comes right after title\n .para:first-of-type {\n display: inline;\n }\n}\n\n// tables are inset\nfigure.table-like {\n margin-left: 30px;\n margin-right: 30px;\n\n // but lists can go full right\n .list {\n margin-right: 0;\n }\n}\n\n@media (max-width <= 943px){\n .figure-like {\n overflow-x: auto;\n }\n}\n", "/* style for poems */\n.poem {\n display: table;\n margin: 0 auto;\n width: auto;\n max-width: 90%;\n}\n\n.poem > .heading {\n display: block;\n text-align: center;\n}\n\nsection article.poem > .heading::after {\n content: \"\";\n}\n\n.poem > .heading > .title {\n font-weight: bold;\n font-size: 1.2em;\n line-height: 1.2em;\n}\n\n.poem .author {\n font-style: italic;\n margin-top: 0.75em;\n}\n\n.poem .author.left {\n text-align: left;\n}\n\n.poem .author.center {\n text-align: center;\n}\n\n.poem .author.right {\n text-align: right;\n}\n\n.poem .stanza > .heading {\n text-align: center;\n font-weight: bold;\n font-size: 1em;\n line-height: 1em;\n}\n\n.poem .stanza + .stanza {\n margin-top: 1em;\n}\n\n.poem .heading + .stanza {\n margin-top: 0.2em;\n}\n\n.poem .heading + .line {\n margin-top: 0.2em;\n}\n\n.poem .line.left {\n text-align: left;\n margin-left: 4em;\n text-indent: -4em;\n}\n\n.poem .line.center {\n text-align: center;\n}\n\n.poem .line.right {\n text-align: right;\n}\n\n.poem .tab {\n margin-left: 2em;\n}\n", "@mixin code-text {\n font-family: var(--font-monospace);\n background: var(--code-background);\n font-size: .93rem;\n line-height: 1.2;\n}\n\n@mixin code-inline-spacing {\n line-height: normal; //prevent extra \"padding\" based on line-height\n padding: 0.0625em .15em;\n}\n\n// wide programs need to be scrollable\n.code-box {\n overflow-x: auto;\n}\n\n.code-display {\n overflow-x: auto; //scroll if overflowing\n font-family: var(--font-monospace);\n}\n\n.console,\n.program {\n border: 1px solid var(--page-border-color);\n padding: 5px 15px;\n overflow-x: auto;\n margin: 0;\n @include code-text();\n}\n\n.code-inline {\n font-family: var(--font-monospace);\n white-space: pre;\n color: var(--body-text-color);\n background: var(--code-inline-background);\n border: 1px solid color-mix(in oklab, var(--code-inline-background) 50%, #888);\n border-radius: 0.2em;\n display: inline-block;\n overflow-x: auto;\n max-width: 100%;\n vertical-align: middle;\n @include code-inline-spacing();\n}\n\n\n.prompt.unselectable {\n user-select: none;\n}\n\n// code blocks are preformatted text that is not a program\n.code-block {\n border-left: 1px solid #aaa;\n padding: 0 15px 5px;\n overflow-x: auto;\n background: var(--code-background);\n margin-top: 0;\n margin-bottom: 0;\n @include code-text();\n}\n\n.code-block::before {\n content:' ';\n font-size: 50%;\n border-top: 1px solid #aaa;\n display: block;\n margin-right: auto;\n margin-left: -15px;\n width: 3.0em;\n}\n\n// special handling for code-display as it appears inside .paras\n// and may need space around it\n.code-display {\n margin: 0.5em 0;\n}\n// if inside clipboardable, move margin to that container and turn some into padding\n// to help make sure clipboard icon is contained inside the code-display in dark mode\n.clipboardable:has(.code-display) {\n margin: 0.25em 0;\n\n .code-display {\n margin: 0;\n padding: 0.25em 0;\n }\n}\n\n\n.clipboardable {\n position: relative; // To anchor the code-copy button\n display: flow-root;\n\n .code-copy {\n position: absolute;\n right: 0;\n top: 0;\n opacity: 0.25;\n border-width: 0;\n background: none;\n cursor: pointer;\n z-index: 1;\n white-space-collapse: collapse;\n padding: 1px;\n scale: 0.85;\n\n &:hover {\n opacity: 0.7;\n }\n\n .checkmark {\n display: none;\n }\n\n &.copied {\n opacity: 1;\n color: mediumseagreen;\n cursor: not-allowed;\n pointer-events: none;\n\n .copyicon {\n display: none;\n }\n\n .checkmark {\n display: inline;\n }\n }\n }\n}\n\n@media print {\n .code-copy {\n display: none;\n }\n}\n", "@use '../chunks/codelike';\n\n// Prism stylesheets built locally as default ones don't support light/dark switching\n// this is a merged version of the default and dark themes\n\n// Default prism styling\n// Blocks\npre[class*=\"language-\"] {\n margin: 0;\n overflow: auto;\n border: 1px solid #e1e1e1;\n}\n\n// Inline code\n:not(pre) > code[class*=\"language-\"] {\n padding: .1em;\n border-radius: .3em;\n white-space: normal;\n}\n\ncode[class*=\"language-\"],\npre[class*=\"language-\"] {\n color: black;\n background: #fdfdfd;\n text-shadow: none;\n font-family: var(--font-monospace);\n text-align: left;\n white-space: pre;\n word-spacing: normal;\n word-break: normal;\n word-wrap: normal;\n line-height: 1.2;\n tab-size: 4;\n hyphens: none;\n\n &.code-inline {\n // unclobber some inline code styles\n @include codelike.code-inline-spacing();\n }\n\n &::selection,\n & ::selection {\n background: #b3d4fc;\n }\n\n .token {\n \n &:is(.comment,\n .prolog,\n .doctype,\n .cdata) {\n color: #2a9716;\n }\n \n &.punctuation {\n color: #000;\n }\n \n &.namespace {\n opacity: .9;\n }\n \n &:is(.property,\n .tag,\n .boolean,\n .number,\n .constant,\n .symbol,\n .deleted) {\n color: rgb(41, 120, 15);\n }\n \n &:is(.selector,\n .attr-name,\n .string,\n .char,\n .builtin,\n .regex,\n .inserted) {\n color: #a11;\n }\n \n &:is(.operator,\n .entity,\n .url) {\n color: #000;\n background: none;\n }\n \n &:is(.atrule,\n .attr-value,\n .keyword) {\n color: #0679B7;\n }\n \n &.function,\n &.class-name {\n color: #30a;\n }\n \n &.important,\n &.variable {\n color: rgb(0, 0, 0);\n }\n \n \n &.important,\n &.bold {\n font-weight: bold;\n }\n \n &.italic {\n font-style: italic;\n }\n \n &.entity {\n cursor: help;\n }\n }\n \n // -------------------------------------------\n // Line numbers\n &.line-numbers {\n position: relative;\n padding-left: 3.8em;\n counter-reset: linenumber;\n overflow: auto;\n \n > code {\n position: relative;\n white-space: inherit\n }\n \n .line-numbers-rows {\n position: absolute;\n pointer-events: none;\n top: 0;\n font-size: 100%;\n left: -3.8em;\n width: 3em;\n letter-spacing: -1px;\n border-right: 1px solid #999;\n user-select: none\n }\n \n .line-numbers-rows > span {\n display: block;\n counter-increment: linenumber\n }\n \n .line-numbers-rows > span::before {\n content: counter(linenumber);\n color: #999;\n display: block;\n padding-right: .8em;\n text-align: right\n }\n }\n \n \n // -------------------------------------------\n // Line highlighting\n .line-highlight {\n position: absolute;\n margin-top: 4px; // tune to match padding of containing pre\n left: 0;\n right: 0;\n padding: inherit 0;\n font-size: inherit;\n background: hsla(24, 20%, 50%, 8%);\n pointer-events: none;\n line-height: inherit;\n white-space: pre\n }\n}\n\n// -------------------------------------------\n// Dark mode\n:root.dark-mode {\n \n /* Code blocks */\n pre[class*=\"language-\"] {\n border: 1px solid #3d3d3d;\n }\n \n \n // Darker styling to match Runesone's code mirror theme\n code[class*=\"language-\"],\n pre[class*=\"language-\"] {\n color: white;\n background: hsl(0, 0%, 8%);\n \n &::selection,\n & ::selection {\n background: hsl(200, 4%, 16%);\n }\n \n /* Make the tokens sit above the line highlight so the colours don't look faded. */\n .token {\n position: relative;\n z-index: 1;\n \n &:is(.comment,\n .prolog,\n .doctype,\n .cdata) {\n color: #68a950;\n }\n \n &.punctuation {\n color: white;\n opacity: 1;\n }\n \n &.namespace {\n opacity: .9;\n }\n \n &:is(.property,\n .tag,\n .boolean,\n .number,\n .constant,\n .symbol,\n .deleted) {\n color: #abc792;\n }\n \n &:is(.selector,\n .attr-name,\n .string,\n .char,\n .builtin,\n .regex,\n .inserted) {\n color: #ca9147;\n }\n \n &:is(.operator,\n .entity,\n .url) {\n color: white;\n }\n \n &:is(.atrule,\n .attr-value,\n .keyword) {\n color: #2d94fb;\n }\n \n &.function,\n &.class-name {\n color: #e3e1c2;\n }\n \n &.important,\n &.bold {\n font-weight: bold;\n }\n \n &.italic {\n font-style: italic;\n }\n \n &.entity {\n cursor: help;\n }\n \n }\n }\n \n .line-highlight {\n background: hsla(0, 0%, 33%, 10%);\n border-bottom: 1px dashed hsl(0, 0%, 33%);\n border-top: 1px dashed hsl(0, 0%, 33%);\n z-index: 0;\n }\n}\n\n@media print {\n code[class*=\"language-\"],\n pre[class*=\"language-\"] {\n .line-highlight {\n color-adjust: exact\n }\n }\n}\n", "// TODO - refactor\n\n.displaymath {\n overflow-x: auto;\n overflow-y: hidden;\n}\n\n.displaymath mjx-container[jax=\"CHTML\"][display=\"true\"] {\n margin: 0 0 0 0; // container is going to apply margin, so remove it from mjx-container\n padding-top: 2px; // Chrome sometimes clips the top 1-2 pixels of math after it has been scaled - provide room for that content\n}\n\n.process-math mjx-container svg {\n // remove the background that is normally applied to svg's by PreTeXt CSS\n // we use .process-math instead of .displaymath to get inline math as well.\n background: none;\n}\n\n// ?\n[data-knowl] > mjx-mrow .TEX-I {\n font-family: MJXZERO !important;\n font-style: normal !important;\n}\n\n/* remove this when MathJax fixes the bug that was setting the width to 0 */\n/* as in $x=0$. becomes $x=0\\text{.}$ */\n.knowl mjx-mtext > mjx-utext,\nmjx-mtext > mjx-utext {\n width: revert !important;\n}\nmjx-msup mjx-utext,\nmjx-msub mjx-utext {\n display: inline;\n}\n", "// TODO - refactor\n$opacity: 0.0 !default;\n\n/*\nSo that we can position things (like .autopermalink) absolutely wrt these items.\nAny element whose permalink should be positioned directly to the left of it\nshould be in this list.\n*/\nsection,\narticle,\nli,\nblockquote,\nfigcaption,\ndt,\n.exercisegroup,\n.discussion-like,\n.solution-like,\n.para {\n position: relative;\n}\n\n.autopermalink {\n position: absolute;\n display: inline-block;\n top: 0.5ex;\n left: -2em;\n font-size: 85%;\n // variable allows theme to set different opacities for dark/light\n opacity: var(--permalink-opacity, $opacity);\n transition: opacity 0.2s;\n margin-top: 0 !important;\n}\n\nli > .autopermalink {\n left: -3.5em;\n}\n\n.autopermalink > * {\n padding-left: 0.2em;\n padding-right: 0.2em;\n}\n\n\n// Move permalink for division titles etc a little bit lower\n.appendix > .autopermalink,\n.chapter > .autopermalink,\n.index > .autopermalink,\n.section > .autopermalink,\n.subsection > .autopermalink,\n.references > .autopermalink,\n.exercises > .autopermalink {\n top: 1.5ex;\n}\n\n// In some styles, the autopermalink for paras land right on the border line.\n// This is an attempt to fix that. TODO: find a more robust solution, maybe\n// using a variable for the left offset of paras inside blocks.\n.assemblage-like > .para > .autopermalink,\n.example-like > .para > .autopermalink,\n.example-like > .exercise-like > .autopermalink,\n.project-like > .para > .autopermalink,\n.project-like > .exercise-like > .autopermalink,\n.project-like > .exercise-like > .introduction > .para > .autopermalink,\n.project-like > .exercise-like > .conclusion > .para > .autopermalink,\n.remark-like > .para > .autopermalink {\n left: -2.9em;\n}\n\n\n.axiom-like, .example-like, .exercise-like, .solution-like, .assemblage-like, .definition-like, .remark-like, .project-like, .openproblem-like, .computation-like, .theorem-like, .proof, .case, li, dd {\n > .para:first-of-type > .autopermalink {\n display:none;\n }\n\n > .introduction > .para:first-of-type > .autopermalink {\n display:none;\n }\n}\n\n\n// Hover effects\n\n.ptx-content:has(.autopermalink:hover) .autopermalink {\n opacity: 0.2;\n}\n\n.ptx-content:has(.autopermalink:hover) .autopermalink:hover {\n opacity: 1;\n}\n\n.autopermalink:has(a:focus-visible) {\n opacity: 1;\n}\n\n.permalink-alert {\n position: absolute;\n top: -3em;\n left: 5em;\n padding: 1.5em 2em;\n background: var(--content-background);\n border: 3px solid var(--page-border-color);\n z-index: 2001;\n}\n\n\n/* when jumping to a permalink, push down so sticky navbar does not cover */\n:target {\n scroll-margin-top: 45px;\n // the \"pink flash\" when navigating to a target\n animation: target-fade 10s 1;\n}\n\n@keyframes target-fade {\n 0% { background-color: var(--activated-content-bg) }\n 100% {\n background-color: inherit;\n opacity: 1;\n }\n}\n", "\n// Miscellaneous stylized content blocks that are not complex enough\n// to warrant their own file\n\nem.alert {\n font-weight: bold;\n}\n\n.bib {\n margin-top: 0.25em;\n\n .bibitem {\n display: inline-block;\n vertical-align: top;\n width: 7%;\n margin-right: 0;\n }\n \n .bibitem + .bibentry {\n display: inline-block;\n width: 90%;\n margin-top: 0;\n }\n}\n\n\n\n.caption {\n margin-top: 10px;\n margin-left: auto;\n margin-right: auto;\n font-size: 100%;\n text-align: center;\n}\n\n\n.contributor {\n margin-top: 1.5ex;\n\n &:first-child {\n margin-top: 0em;\n }\n\n & + .para {\n margin-top: 3ex;\n }\n\n .contributor-name {\n font-variant: small-caps;\n }\n\n .contributor-info {\n font-size: 88%;\n font-style: italic;\n margin-left: 3ex;\n }\n}\n\n\n// Icon font settings\n.material-symbols-outlined {\n font-variation-settings:\n 'FILL' 0,\n 'wght' 400,\n 'GRAD' 0,\n 'opsz' 24\n}\n\n\niframe {\n margin: 0;\n border: none;\n}\n\n\n.kbdkey {\n background: #f1f1f1;\n color: #333;\n border: 1px solid #dddddd;\n border-radius: 3px;\n padding: 1px 2px 0 2px;\n vertical-align: 0.1em;\n font-size: 110%;\n line-height: 1;\n box-shadow: 2px 2px grey;\n display: inline-block;\n margin-right: 3px;\n}\n\n\n.unit,\n.quantity {\n white-space: nowrap;\n word-spacing: -0.25ex;\n margin-right: 0.125em;\n\n sub, sup {\n word-spacing: normal;\n }\n}\n\n\n.terminology {\n font-style: italic;\n font-weight: bold;\n}\n\n\n\n.times-sign {\n font-size: larger;\n vertical-align: -0.15ex;\n}\n\n\n.emphasis {\n font-style: italic;\n\n .emphasis {\n font-weight: bold;\n }\n}\n\n.definition-like .emphasis {\n font-weight: 700;\n}\narticle.theorem-like .emphasis {\n font-weight: 700;\n}\n\n.para {\n line-height: 1.35;\n}\n\n.hidden {\n display: none !important;\n}\n\n/* genus and species in italics */\n.taxon {\n font-style: italic;\n}\n\n.quote {\n padding-left: 40px;\n padding-right: 10px;\n margin-bottom: 1em;\n}\n\n.booktitle {\n font-style: oblique;\n}\n\n/* Adapted from William Hammond (attributed to David Carlisle) */\n/* \"mathjax-users\" Google Group, 2015-12-27 */\n\n.latex-logo {font-family: \"PT Serif\", \"Times New Roman\", Times, serif;}\n\n.latex-logo .A {font-size: 75%; text-transform: uppercase; vertical-align: .5ex;\n margin-left: -.48em; margin-right: -.2em;}\n\n.latex-logo .E {vertical-align:-.5ex; text-transform: uppercase;\n margin-left: -.18em; margin-right: -.12em; }\n", "// Basic rules for printing a standard PreTeXt page\n\n// Get rid of UI elements.\n// Leave margin fiddling for system print dialog.\n\n// Worksheet and handout printing is handled in print-worksheet.scss\n\n@media print {\n .pretext .ptx-masthead,\n .pretext .ptx-navbar,\n body.pretext > a.assistive,\n .pretext .ptx-page > .ptx-sidebar,\n .pretext .ptx-page-footer,\n .pretext .ptx-main > div.ptx-content-footer {\n display:none;\n }\n\n .ptx-page, .ptx-main, .ptx-main .ptx-content {\n all: unset !important;\n width: 100%;\n border: none;\n padding: 0;\n margin: 0;\n }\n\n .ptx-sagecell, .tabular, .table-like, .figure-like, .exercise-like {\n break-inside: avoid;\n }\n\n .heading {\n break-after: avoid;\n }\n\n .code-inline {\n border: unset;\n background: unset;\n }\n\n @page {\n margin: 0.75in 0.75in 0.75in 0.75in;\n }\n}\n", "// TODO refactor\n\n// Rules in this file apply to both screen and print\n// Print specific rules should go in a file in targets/print-worksheet stylesheet\n@use 'components/helpers/buttons-default' as buttons;\n\n.heading .print-links {\n float: right;\n vertical-align: bottom;\n .print-link {\n font-family: var(--font-body);\n padding: 0.1em 0.2em;\n }\n .material-symbols-outlined {\n margin-top:5pt;\n }\n}\n\n", "// TODO - refactor\n// Make conditional on use of google search???\n\n.pretext .searchwrapper {\n max-width: 900px;\n position: absolute;\n right: 0;\n bottom: 0;\n margin-bottom: 39px;\n}\n\n.pretext .searchwrapper .cse .gsc-control-cse,\n.pretext .searchwrapper .cse .gsc-control-cse input,\n.searchwrapper .gsc-control-cse {\n padding: 5px;\n}\n\n// .pretext .searchwrapper .cse .gsc-search-button input.gsc-search-button-v2,\n// .searchwrapper input.gsc-search-button-v2 {\n// padding: 2px 2px;\n// }\n\n// .pretext .searchwrapper form.gsc-search-box {\n// margin: 0;\n// }\n\n// .pretext .searchwrapper table.gsc-search-box {\n// margin: 0;\n// }\n\n// .pretext .searchwrapper .gsc-search-box-tools .gsc-search-box .gsc-input {\n// padding: 0;\n// }\n\n// .pretext .searchwrapper .gsib_a {\n// padding: 0 0 0 5px;\n// }\n\n// .pretext .searchwrapper .gsc-input-box {\n// height: 3.0ex;\n// }\n\n// .pretext .searchwrapper form.gsc-search-box {\n// font-size: 12px;\n// }\n", "\n@use 'components/helpers/buttons-default' as buttons;\n\n.searchbox {\n\n .searchwidget {\n height: 100%;\n }\n \n .searchresultsplaceholder {\n position: fixed;\n top: 5vh;\n bottom: 5vh;\n padding: 1em;\n left: max(10vw, calc(100vw - 800px) / 2);\n width: 80vw;\n max-width: 800px;\n border: 2px solid var(--body-text-color);\n background: var(--knowl-background, #eaf0f6);\n z-index: 5000;\n display: flex;\n flex-direction: column;\n }\n\n .searchresultsplaceholder article {\n width: 60%;\n margin-left: auto;\n margin-right: auto;\n font-family: sans-serif;\n }\n\n .search-results-controls {\n display: flex;\n justify-content: space-between;\n align-items: stretch;\n gap: 10px;\n margin-bottom: 1em;\n height: 35px;\n }\n\n .ptxsearch {\n flex: 1 1;\n }\n \n\n .closesearchresults {\n @include buttons.ptx-button;\n }\n\n .detailed_result {\n margin-bottom: 10px;\n }\n\n .searchresults a:hover {\n text-decoration: underline;\n background: var(--link-active-background);\n }\n\n\n .searchresults {\n padding-left: 10px;\n margin-top: 0;\n overflow-y: auto;\n flex: 1 1;\n background: var(--content-background, white);\n border: 1px solid var(--page-border-color, #ccc);\n }\n\n .searchresults:empty {\n display: none;\n }\n \n .search-result-bullet {\n list-style-type: none;\n }\n\n .search-result-score {\n display: none;\n }\n\n //result qualities\n .no_result {\n font-size: 90%;\n font-weight: 200;\n }\n\n .low_result {\n font-weight: 200;\n }\n\n .medium_result {\n font-weight: 500;\n }\n .high_result {\n font-weight: 700;\n }\n\n .searchempty {\n display: none;\n padding-left: 10px;\n padding-top: 5px;\n }\n\n .search-results-unshown-count {\n margin-top: 0.6em;\n }\n\n .search-result-clip-highlight {\n background: var(--searchresultshighlight);\n }\n\n .searchresultsbackground {\n position: fixed;\n top: 0;\n background: var(--searchresultsbackground, white);\n width: 100vw;\n height: 100%;\n left: 0;\n z-index: 4999;\n }\n\n @media screen and (max-width: 800px) {\n .searchresultsplaceholder {\n bottom: 10vh;\n }\n }\n}\n\n:root {\n --searchresultsbackground: #fff8;\n --searchresultshighlight: rgba(255, 255, 0, 50%);\n}\n\n:root.dark-mode {\n --searchresultsbackground: #0008;\n --searchresultshighlight: rgba(255, 255, 0, 15%);\n}\n", "$border-radius: 0 !default;\n\n@mixin ptx-button(\n $border-radius: $border-radius\n) {\n font: inherit;\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 0 10px;\n gap: 10px;\n min-height: 34px;\n color: var(--button-text-color);\n background-color: var(--button-background);\n border-width: 1px;\n border-color: var(--button-border-color);\n border-style: solid;\n border-radius: $border-radius;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n cursor: pointer;\n\n // Disable accidental text-selection\n user-select: none;\n\n &:hover:not(.disabled) {\n color: var(--button-hover-text-color);\n background-color: var(--button-hover-background);\n }\n\n &:focus-visible {\n outline: 2px solid var(--button-text-color);\n outline-offset: -2px;\n }\n\n &.disabled {\n opacity: .4;\n cursor: not-allowed;\n }\n\n &.hidden {\n display: none;\n }\n\n &.open {\n color: var(--button-hover-text-color);\n background-color: var(--button-hover-background);\n }\n}\n\n@mixin ptx-dropdown-button {\n position: relative;\n\n .dropdown-content {\n display: none;\n position: absolute;\n background-color: var(--dropdown-background);\n min-width: 160px;\n z-index: 100;\n border: 1px solid var(--dropdown-border-color);\n right: 0;\n top: 35px;\n text-align: start;\n padding: 0;\n\n a {\n display: block;\n text-decoration: none;\n color: var(--dropdown-text-color);\n padding: 2px 8px;\n\n &:is(:hover, :focus-visible) {\n background-color: var(--dropdown-hover-background);\n color: var(--dropdown-hover-text-color);\n }\n }\n\n hr {\n color: var(--dropdown-border-color);\n margin: 4px 0;\n }\n }\n\n &:is(:hover, :focus-visible, :focus-within) {\n overflow: visible;\n\n .dropdown-content {\n display: block;\n }\n }\n}\n", "// extra specific to override Runestone margin\n.ptx-content .ptx-runestone-container .runestone {\n margin: unset;\n border-radius: 0;\n border-width: 1px;\n}\n\n// avoid label splitting into multiple lines\n.multiplechoice_section label > .para {\n display: inline;\n}\n\n// extra specific to override Runestone margin\n.ptx-content .ptx-runestone-container .ac_question { \n max-width: var(--base-content-width);\n margin: 0 auto 10px;\n}\n\n.runestone .runestone_caption {\n // caption is always just something like \"ActiveCode\" in PTX\n display: none;\n}\n\n\n/* to undo Runestone's draganddrop.css */\n.ptx-content .ptx-runestone-container .rsdraggable {\n font-size: 100%;\n}\n\n// Unsure if still needed\n/* hack for runestone */\n/* to undo Runestone's presentermode.css */\n.ptx-content .bottom {\n position: unset;\n}\n\n// override Runestone's pre formatting with these extra specific rules\n.ptx-runestone-container .runestone code,\n.ptx-runestone-container .runestone pre {\n font-size: .93rem;\n line-height: 1.2;\n font-family: var(--font-monospace);\n}\n\n// override Runestone's pre formatting with these extra specific rules\n.ptx-runestone-container code[class*=\"language-\"],\n.ptx-runestone-container pre[class*=\"language-\"] {\n color: black;\n background: #fdfdfd;\n}\n\n//Fixup datafile captions\n.runestone.datafile {\n .datafile_caption {\n background: var(--code-inline-background);\n border: 1px solid color-mix(in oklab, var(--code-inline-background) 50%, #888);\n display: block;\n width: fit-content;\n margin: 0 auto;\n }\n img {\n margin: 0 auto;\n display: block;\n border: 1px solid color-mix(in oklab, var(--code-inline-background) 50%, #888);\n }\n pre, textarea {\n margin: 0 auto;\n border: 1px solid color-mix(in oklab, var(--code-inline-background) 50%, #888);\n background-color: var(--page-color);\n }\n}\n.runestone.datafile + .program {\n margin-top: 0;\n}\n\n// RS does not care what kind of element is used\n// PTX chooses to use a ul, so we will fix margins for it here instead of RS\nul[data-component=\"timedAssessment\"] {\n margin: 0;\n padding: 0;\n}\n\n:root.dark-mode {\n // Darker styling to match Runesone's code mirror theme\n .ptx-runestone-container code[class*=\"language-\"],\n .ptx-runestone-container pre[class*=\"language-\"] {\n color: white;\n background: hsl(0, 0%, 8%);\n }\n}\n", "// TODO - needs refactoring and dark mode update\n\n@use 'components/helpers/buttons-default' as buttons;\n\n/* WW problems */\n.ptx-content .wwprob table.attemptResults {\n margin-left: 2em;\n background: #efefef;\n padding: 0.2em;\n}\n\n.ptx-content .wwprob table.attemptResults + .attemptResultsSummary {\n margin-top: 1em;\n}\n\n.ptx-content .wwprob .problem-main-form {\n margin-top: 1em;\n background: #eeeeff;\n padding: 0.5em;\n}\n\n.ptx-content .wwprob td.ResultsWithoutError {\n background: #9f9;\n}\n\n.ptx-content .wwprob td.ResultsWithError {\n background: #f99;\n}\n\n.ptx-content .wwprob tr th {\n text-align: center;\n padding: 0.2em 1em 0.2em 1em;\n}\n\n.ptx-content .wwprob tr td {\n text-align: center;\n}\n\n.ptx-content .wwprob tr td:empty {\n background: #fff;\n}\n\n.ptx-content .wwprob ol,\n.ptx-content .wwprob ul {\n margin-top: 0.75em !important;\n}\n\n.ptx-content .wwprob .problem {\n background: #fdfdfd;\n}\n\n.ptx-content .wwprob .problem a {\n text-decoration: none;\n}\n\n.ptx-content .wwprob #footer {\n font-size: 70%;\n text-align: right;\n}\n\n/* interactive WeBWorK */\n\nlabel.webwork {\n display: inline-flex;\n flex-direction: column;\n}\n\nlabel.correct .status {\n background-color: #a0f0a0;\n}\n\nlabel.partly-correct .status {\n color: #ffcc66;\n}\n\nlabel.incorrect .status {\n color: #b00;\n}\n\nlabel.incorrect .status::before {\n content: \" \";\n}\n\nlabel.feedback {\n word-wrap: break-word;\n}\n\nlabel.correct .feedback {\n background-color: #00ffcc;\n}\n\nlabel.partly-correct .feedback {\n color: #ffcc66;\n}\n\nlabel.incorrect .feedback {\n color: #e07070;\n}\n\n.webwork img,\n.webwork + .knowl-output img {\n max-width: 100%;\n}\n\n// Make the default margin for items inside the exercise-wrapper similar to\n// default for items in a section\n.exercise-wrapper > *:not(:first-child) {\n margin-top: 1.5em;\n}\n\n.ptx-content .problem-buttons {\n display: flex;\n}\n\n.ptx-content .webwork-button {\n @include buttons.ptx-button;\n}\n\n//.hidden-content used to be used for knowls and got repurposed for hiding webwork contents\n// now just used by webwork\n.problem-buttons.hidden-content,\n.problem-contents.hidden-content {\n display: none;\n}\n", "// TODO - refactor\n\n.sagecell_sessionOutput pre {\n font-family: var(--font-monospace);\n}\n\n.sagecell {\n white-space: normal;\n margin-top: 1.25em;\n margin-bottom: 1.25em;\n}\n\n.sage-interact.sagecell {\n margin: 0;\n}\n\n.sagecell_evalButton {\n font-family: var(--font-body);\n font-size: 16px;\n padding: 0 0.65em;\n}\n\n.sagecell_evalButton {\n cursor: pointer;\n display: inline-block;\n vertical-align: middle;\n /* Disable accidental text-selection */\n user-select: none;\n /* Truncate overflowing text with ellipsis */\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n border-width: 1px;\n border-style: solid;\n font-weight: bold;\n border-radius: 3px;\n}\n\n.sagecell_evalButton {\n color: #383838;\n background-image: linear-gradient(#f7f7f7, #bbbbbb);\n border-color: #c4c4c4;\n}\n\n.sagecell_evalButton:hover {\n color: #181868;\n background-image: linear-gradient(#bbbbbb, #f7f7f7);\n}\n\n.sagecell_evalButton:focus,\n.sagecell_evalButton:active {\n color: #20160b;\n background-image: linear-gradient(#ff6852, #ffd7d1);\n border-color: #ff2822;\n}\n\n.sagecell .sagecell_editor {\n margin-bottom: 8px;\n}\n\n.sageanswer {\n font-family: monospace;\n white-space: pre;\n margin-left: 3em;\n margin-bottom: 2em;\n}\n\n.sageanswer .key {\n display: inline-block;\n vertical-align: top;\n margin-right: 1em;\n}\n\n.sageanswer .output {\n display: inline-block;\n vertical-align: top;\n}\n", "// GeoGebra calculator\n\n$navbar-breakpoint: 856px !default;\n\n.calculator-container {\n position: fixed;\n z-index: 100;\n bottom: 5px;\n right: 5px;\n width: 253px;\n height: 460px;\n}\n\n@media screen and (max-width: $navbar-breakpoint) {\n .calculator-container {\n //assumes navbar moves to bottom of screen\n bottom: 50px !important;\n }\n}\n", "// --------------------------------------------------------------------------\n// Flexible / centered widening of other components\n\n// options should already be set in a previous @use\n@use 'components/helpers/expandable';\n\n$top-level-containers: \".chapter, .section, .subsection, .subsubsection\" !default;\n\n:is(#{$top-level-containers}) > .tabular-box,\n:is(#{$top-level-containers}) > .table > .tabular-box {\n @include expandable.expandable;\n}\n\n// get rid of indentation for tablular figures, interferes with centering wide elements\nfigure.table-like {\n margin-left: 0px;\n margin-right: 0px;\n}\n", "// Styling for elements in ptx-main that are allowed to expand past normal width\n// of ptx-content.\n\n// Assumes that $content-padding is set to the padding of ptx-content\n// and that element normally takes up 100% of parent width. (Like display-math)\n\n// for responsive elements\n$width-hard-cap: 900px !default;\n$base-content-width: 600px !default;\n$content-padding: 48px !default;\n$always-expand: false !default; // whether to always expand to the max width\n$centered: false !default; // whether to center the content if not max width\n$content-with-padding-width: $base-content-width + 2 * $content-padding;\n\n// for scrollable\n$overflow-y-scroll: hidden !default;\n\n\n// An element that has some minimum authored width which may be larger\n// than the available width. We want it to scroll horizontally.\n@mixin scrollable(\n $overflow-y-scroll: $overflow-y-scroll\n) {\n overflow-x: auto;\n $overflow-y: $overflow-y-scroll;\n}\n\n// An element with no minimum width that we want to allow to expand\n// to whatever width is available to maximize the display area.\n@mixin responsive(\n $base-content-width: $base-content-width,\n $width-hard-cap: $width-hard-cap,\n $content-padding: $content-padding,\n $always-expand: $always-expand,\n $centered: $centered\n) {\n @container ptx-main (width > #{$base-content-width + 2 * $content-padding}) {\n --max-width: calc(min((100cqw - 2 * #{$content-padding}), #{$width-hard-cap}));\n min-width: 100%;\n clear: right; // clear any floats\n @if $always-expand {\n width: var(--max-width);\n } @else {\n width: fit-content; //grow if space needed\n }\n max-width: var(--max-width);\n @if $centered {\n margin-left: calc(-0.5 * (100cqw - #{$content-with-padding-width}));\n }\n }\n}\n\n// An element that has some minimum authored width which we want to allow to expand\n// to whatever width is available to maximize visible content.\n// Content that is still not visible will be scrollable.\n@mixin expandable(\n $base-content-width: $base-content-width,\n $width-hard-cap: $width-hard-cap,\n $content-padding: $content-padding,\n $always-expand: $always-expand,\n $centered: $centered,\n $overflow-y-scroll: $overflow-y-scroll\n) {\n @include scrollable(\n $overflow-y-scroll: $overflow-y-scroll\n );\n @include responsive(\n $base-content-width: $base-content-width,\n $width-hard-cap: $width-hard-cap,\n $content-padding: $content-padding,\n $always-expand: $always-expand,\n $centered: $centered\n );\n}\n", "// Body level styling\n$max-width: 1200px !default; // 0 == no max width\n\n$content-width: 600px !default; // without padding\n$content-side-padding: 48px !default;\n$centered-content: false !default;\n\n$footer-button-border-radius: 0 !default;\n\n$content-with-padding-width: $content-width + 2 * $content-side-padding;\n\n@use 'components/helpers/buttons-default' as buttons;\n\n// set content width up as a CSS variables so other files can ask\n// \"how wide is standard content?\"\n:root {\n --base-content-width: #{$content-width};\n --content-padding: #{$content-side-padding};\n}\n\n// hits regular pages and generated iframe pages\nbody {\n margin: 0;\n min-height: 100vh;\n\n display: flex;\n flex-direction: column;\n align-items: stretch;\n\n &.pretext {\n color: var(--body-text-color);\n font-family: var(--font-body);\n }\n}\n\n.ptx-page {\n position: relative;\n display: flex;\n flex-grow: 1; // fill space in body\n width: 100%;\n}\n\n.ptx-main {\n flex-grow: 1;\n position: relative;\n max-width: 100%;\n container-name: ptx-main; // for container queries elsewhere\n container-type: inline-size; // for container queries elsewhere\n}\n\n// Base width/padding\n// ptx-main ensures iframe pages don't get these\n.ptx-main .ptx-content {\n max-width: $content-with-padding-width; // bad for worksheets\n padding: 24px $content-side-padding 60px;\n\n @if $centered-content {\n margin-left: auto;\n margin-right: auto;\n }\n}\n.worksheet .ptx-main .ptx-content {\n max-width: 960px;\n}\n\n@if $max-width > 0 {\n .ptx-page {\n max-width: $max-width;\n margin-left: auto;\n margin-right: auto;\n }\n}\n\nbody.pretext,\nbody.standalone {\n margin: 0;\n padding: 0;\n font-size: 16px;\n background: var(--page-color, white);\n}\n\n\nbody.pretext > a.assistive {\n padding:6px;\n position: absolute;\n top:-40px; // hide off screen until keyboard focus\n left: 0px;\n color:white;\n border-right:1px solid white;\n border-bottom:1px solid white;\n border-bottom-right-radius:8px;\n background:#BF1722; // always have correct contrast\n z-index: 10000;\n\n &:focus {\n top:0px; // move into view when keyboard focus\n outline:0;\n transition: top .1s ease-in, background .5s linear;\n }\n}\n\n\n.ptx-content-footer {\n display: flex;\n justify-content: space-around;\n max-width: $content-with-padding-width;\n\n padding-top: 2em;\n padding-bottom: 2em;\n padding-left: $content-side-padding;\n padding-right: $content-side-padding;\n\n @if $centered-content {\n margin-left: auto;\n margin-right: auto;\n }\n\n .button {\n @include buttons.ptx-button(\n $border-radius: $footer-button-border-radius\n );\n .icon {\n margin: 0 -7px; // current icons have lots of whitespace\n }\n }\n}\n", "//Some basic variables\n$centered-content: true !default;\n$scrolling-toc: true !default;\n$nav-height: 36px !default;\n$navbar-breakpoint: 800px !default;\n\n//The following variables represent the *max* width of everything. When the screen shrinks, we will reduce some of these.\n\n// The sidebar contains the TOC. It is left of the page, with a right-margin to separate it.\n$sidebar-width: 240px !default;\n$sidebar-right-margin: 80px !default;\n$sidebar-total-width: $sidebar-width + $sidebar-right-margin;\n\n// ptx-content contains the main content. It is contained in ptx-main\n$content-width: 600px !default;\n$content-side-padding: 120px !default;\n$content-side-padding-tight: 20px !default;\n\n$sidebar-breakpoint: $content-width + $sidebar-total-width + 24px; // a little extra for padding\n\n// ptx-main contains the ptx-content and footer. It has a width equal to the content plus the content's margins.\n// There is a right margin that counters the size of the sidebar+sidebarmargin.\n$main-width: $content-width + (2 * $content-side-padding);\n$main-right-margin: $sidebar-total-width;\n\n// ptx-page contains the sidebar and ptx-main. It's width is the sum of main, main-right-margin, and sidebar-total-width.\n$page-width: $sidebar-total-width + $main-width + $main-right-margin;\n\n@use 'components/page-parts/body' with (\n $max-width: $page-width,\n $content-width: $content-width,\n $content-side-padding: $content-side-padding,\n $centered-content: $centered-content,\n);\n\n@use 'components/page-parts/banner' with (\n $max-width: $main-width,\n $navbar-breakpoint: $navbar-breakpoint,\n);\n\n@use 'components/page-parts/navbar' with (\n $max-width: $main-width,\n $nav-height: $nav-height,\n $navbar-breakpoint: $navbar-breakpoint,\n);\n\n@use 'components/page-parts/toc-default' with (\n $scrolling: $scrolling-toc,\n $sidebar-width: $sidebar-width,\n $sidebar-breakpoint: $sidebar-breakpoint,\n $navbar-breakpoint: $navbar-breakpoint,\n);\n\n@use 'components/page-parts/extras/toc-hidden-scrollbar';\n\n//@use 'summary-links';\n@use 'components/page-parts/footer' with (\n $navbar-breakpoint: $navbar-breakpoint,\n);\n\n@use '../salem/rs-widen';\n\n// now handle smaller screens for rs elements\n@media (width < 850px) {\n @include rs-widen.smaller-screen-widening;\n}\n\n\n.ptx-main {\n margin-right: $sidebar-total-width;\n}\n\n.ptx-sidebar.hidden + .ptx-main {\n margin-left: $sidebar-total-width;\n}\n\n\n// .ptx-main is the center column - apply page shadow to it\n.ptx-main {\n // The color of the shadow is mostly gray, but with a slight tint of the primary color\n box-shadow: 5px 10px 40px -10px var(--primary-color-gray-80);\n}\n@media (prefers-color-scheme: dark) {\n .ptx-main {\n // Dark mode shadow is just black\n box-shadow: 5px 10px 40px -10px black;\n }\n}\n\n\n\n// visually shift the sidebar off the page\n.ptx-sidebar {\n //transform: translateX(-$sidebar-right-margin);\n margin-right: $sidebar-right-margin;\n}\n\n.ptx-navbar {\n border: none;\n\n // move contents button out of navbar-contents and align with sidebar\n .toc-toggle {\n transform: translateX(-$sidebar-total-width);\n position: absolute;\n left: 0;\n justify-content: left;\n }\n}\n\n.ptx-toc {\n border: none;\n position: sticky;\n top: $nav-height;\n}\n\n// Make expanded parts of TOC look more like subsections\n.toc-item.visible {\n font-size: .95em;\n padding-left: 8px;\n}\n\n.ptx-page {\n margin-top: 36px;\n margin-bottom: 36px;\n}\n\n// Sidebar hits the left side of page - need to lock it in place\n$sidebar-lock-breakpoint: $main-width + 2 * $sidebar-total-width;\n// @debug \"$sidebar-lock-breakpoint: #{$sidebar-lock-breakpoint}\";\n@media screen and (width <= $sidebar-lock-breakpoint) {\n .ptx-page {\n margin-left: 0;\n max-width: 100%;\n }\n .ptx-main {\n margin-right: calc(100% - $main-width - $sidebar-total-width);\n max-width: $main-width;\n }\n .ptx-sidebar.hidden + .ptx-main {\n margin-right: auto;\n margin-left: auto;\n }\n .ptx-navbar .ptx-navbar-contents {\n margin-left: $sidebar-total-width;\n }\n}\n\n// When the the main content is almost to the edge of the screen, we remove the drop-shadow\n// and change the layout strategy to center the content in what space is available\n// Sidebar no only consumes minimum required space as whitespace on left/right of main should be equal\n$page-border-breakpoint: $main-width + $sidebar-width + 2 * $sidebar-right-margin;\n// @debug \"page-border-breakpoint: #{$page-border-breakpoint}\";\n@media screen and (width <= $page-border-breakpoint) {\n // main is centered in page\n .ptx-main {\n box-shadow: unset;\n margin-right: auto;\n\n // shrink content padding\n .ptx-content {\n padding-left: $content-side-padding-tight;\n padding-right: $content-side-padding-tight;\n max-width: calc($content-width + 2 * $content-side-padding-tight);\n }\n }\n\n .ptx-sidebar {\n margin-right: 0;\n }\n\n // align toc-toggle with right edge of sidebar\n .ptx-navbar .ptx-navbar-contents {\n margin-left: $sidebar-width;\n }\n .ptx-navbar .toc-toggle {\n transform: translateX(-$sidebar-width);\n justify-content: center;\n }\n\n // Reset margins for page now that we don't show box-shadow\n .ptx-page {\n margin-top: unset;\n margin-bottom: unset;\n }\n\n // And lower TOC accordingly\n .ptx-toc {\n padding-top: 36px;\n\n }\n\n}\n\n\n// Now it is time to hide the sidebar unless requested\n$sidebar-hide-breakpoint: $content-width + 2 * $content-side-padding-tight + $sidebar-width;\n// @debug \"sidebar-hide-breakpoint: #{$sidebar-hide-breakpoint}\";\n@media screen and (width <= $sidebar-hide-breakpoint) {\n .ptx-sidebar {\n display: none;\n }\n}\n\n//Adjust again when navbar moves to bottom.\n@media screen and (max-width: $navbar-breakpoint) {\n // Undo modifications to toc-toggle and margin that held space for it\n .ptx-navbar .ptx-navbar-contents {\n margin-left: 0;\n }\n .ptx-navbar .toc-toggle {\n transform: none;\n position: relative;\n justify-content: center;\n }\n\n .ptx-content-footer {\n padding-left: $content-side-padding-tight;\n padding-right: $content-side-padding-tight;\n }\n}\n\n\n// TOC hover spans entire width of TOC item\n.toc-item:is(:hover, :focus) {\n color: var(--tocitem-highlight-text-color);\n background-color: var(--tocitem-highlight-background);\n border-color: var(--tocitem-highlight-border-color);\n}\n", "$max-width: 1200px !default; // 0 == no max width\n$navbar-breakpoint: 800px !default;\n$centered-content: false !default;\n\n.ptx-masthead {\n position: relative;\n background: var(--banner-background);\n width: 100%;\n display:flex;\n justify-content: center;\n\n .ptx-banner {\n border-top: 1px solid transparent;\n overflow: hidden;\n padding: 10px 10px;\n border-bottom: none;\n display:flex;\n width: 100%;\n align-items: center;\n @if $max-width > 0 {\n max-width: $max-width;\n }\n @if $centered-content {\n justify-content: center;\n }\n }\n\n a {\n color: var(--doc-title-color, #2a5ea4);\n }\n\n a:active {\n color: var(--link-active-text-color);\n }\n\n .title-container {\n font-family: var(--font-headings);\n font-size: 2em;\n padding-left: 9.68px;\n overflow: hidden;\n flex: 1;\n\n .heading {\n font-weight: 700;\n font-size: 100%;\n line-height: 1.25em;\n }\n\n .title:has(+ .subtitle)::after {\n content: \":\";\n }\n\n .subtitle {\n font-weight: normal;\n }\n }\n\n .logo-link {\n height: 5em;\n display: flex;\n\n img {\n max-height: 100%; //fix rendering bug on safari with large images\n }\n img[src$=\".svg\"] {\n height: 100%; //svg's in safari don't get a correct width with max-height\n // don't use this for all images as we wouldn't want to stretch raster images\n }\n }\n\n // // Insert a placeholder icon if the logo-link is empty\n // .logo-link:empty::before {\n // display: flex;\n // font-family: var(--font-body);\n // font-size: 4rem;\n // margin-top: -0.7rem;\n // content: \"\\2211\"; //sigma symbol\n // color: var(--page-border-color)\n // }\n\n .byline {\n color: var(--byline-color);\n font-weight: normal;\n margin: 0;\n font-size: 62.5%;\n min-height: inherit;\n }\n}\n\n@media screen and (max-width: $navbar-breakpoint) {\n .ptx-masthead {\n border-bottom: 1px solid var(--page-border-color);\n\n .ptx-banner {\n padding: 10px 28px;\n display: flex;\n justify-content: center;\n }\n\n .logo-link::before {\n font-size: 1rem;\n margin-top: 0;\n }\n\n .title-container {\n width: fit-content;\n flex: unset;\n .heading {\n line-height: 1em;\n\n .subtitle {\n /* Force the subtitle onto a separate line */\n display: block;\n font-size: 80%;\n line-height: 1em;\n }\n }\n }\n\n .byline {\n font-size: 50%;\n }\n }\n}\n\n\n@media screen and (width <= 480px) {\n .ptx-masthead {\n\n .title-container {\n padding: 0;\n text-align: center;\n font-size: 1em;\n }\n\n .logo-link {\n display: none;\n }\n\n .byline {\n display: none;\n }\n }\n}\n", "$max-width: 1200px !default; // 0 == no max width\n// applied to the contents of the navbar\n\n$nav-height: 36px !default;\n$border-width: 1px !default;\n$navbar-breakpoint: 800px !default;\n$center-content: true !default;\n\n@use 'components/helpers/buttons-default' as buttons;\n\n@use 'components/page-parts/extras/navbar-btn-borders';\n\n.ptx-navbar {\n position: sticky;\n top: 0;\n height: $nav-height;\n width: 100%;\n background: var(--navbar-background);\n border: 0;\n border-top: 1px solid var(--page-border-color);\n border-bottom: 1px solid var(--page-border-color);\n margin: 0;\n z-index: 500;\n overflow: visible;\n display: flex;\n\n .ptx-navbar-contents {\n position: relative;\n display: flex;\n flex: 1;\n justify-content: center;\n align-items: center;\n max-width: $max-width;\n @if $center-content {\n margin: 0 auto;\n }\n }\n\n .button {\n @include buttons.ptx-button;\n\n & {\n height: 100%; //always fill container\n // Disable normal borders - top/bottom provided by container\n // Use extras/_navbar-btn-borders.scss for side borders if desired\n border-width: 0;\n\n }\n }\n\n .toc-toggle {\n width: 240px;\n gap: 0.4em;\n margin-left: 0; //assumes is first button\n }\n\n :is(.treebuttons, .nav-runestone-controls, .nav-other-controls) {\n display: flex;\n }\n\n .treebuttons {\n flex: 1 1 210px;\n justify-content: end;\n }\n\n .nav-runestone-controls {\n flex: 1 1 70px;\n justify-content: end;\n }\n\n .pretext .navbar .dropdown {\n height: 34px;\n }\n\n .embed-popup {\n padding: 10px;\n background-color: var(--navbar-background);\n position: absolute;\n margin-top: $nav-height;\n border: 1px solid var(--page-border-color);\n border-radius: 3px;\n box-shadow: 0 0 5px var(--primary-color-gray-80);\n .embed-code-container {\n width: \"100%\";\n padding:5px;\n .embed-code-textbox {\n width: 100%;\n padding: 10px;\n height: 5em;\n }\n }\n }\n\n .treebuttons > * {\n display: flex;\n align-items: center;\n justify-content: center;\n min-width: 75px;\n }\n\n .treebuttons .icon {\n margin: 0 -7px; // chevrons have lots of horizontal padding\n }\n\n :is(.index-button) .icon {\n display: none;\n }\n\n :is(.runestone-profile, .activecode-toggle, .searchbutton, .calculator-toggle, .light-dark-button, .embed-button) .name {\n display: none;\n }\n\n .index-button {\n min-width: 70px;\n }\n\n}\n\n// Button in the navbar, but needs to be less specific so not nested in previous\n.runestone-profile {\n @include buttons.ptx-dropdown-button;\n}\n\n@if $max-width > 0 {\n @media screen and (min-width: $max-width) {\n body.pretext .ptx-navbar {\n //forces navbar to line up cleanly with sidebar\n // need padding because there is no container around the items in navbar\n // padding: 0 calc((100% - $max-width) / 2);\n // border-left-width: 1px;\n\n // //tug contents of first button to left\n // & .ptx-navbar-contents > *:first-child {\n // justify-content: start;\n // }\n }\n }\n}\n\n@media screen and (max-width: $navbar-breakpoint) {\n @include navbar-btn-borders.navbar-btn-borders();\n\n .ptx-navbar {\n position: fixed;\n top: auto;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1100;\n background: var(--button-border-color);\n max-width: 100vw;\n\n .ptx-navbar-contents {\n max-width: 100vw;\n }\n\n .nav-runestone-controls {\n flex: 0;\n }\n\n .toc-toggle {\n flex: 2 1 100px;\n }\n\n .treebuttons {\n flex: 3 1 150px;\n /* 3:2 ratio with toc-toggle */\n }\n\n .treebuttons > * {\n flex: 1 1;\n min-width: 35px\n }\n\n .index-button {\n display: none;\n }\n\n .embed-popup {\n margin-top: unset;\n bottom: $nav-height;\n }\n\n .dropdown-content {\n top: unset;\n bottom: $nav-height;\n }\n\n :is(.toc-toggle, .previous-button, .up-button, .next-button, .calculator-toggle, .index-button, .embed-button) .name {\n display: none;\n }\n }\n}\n", "\n$border-width: 1px !default;\n\n@mixin navbar-btn-borders {\n .ptx-navbar {\n .button {\n border-left-width: $border-width;\n border-right-width: $border-width;\n border-color: var(--page-border-color);\n }\n \n & > *:not(:first-child) {\n //hide double borders\n margin-left: -1 * $border-width;\n }\n }\n}\n", "// shared toc styling used by _toc-default, etc...\n\n$sidebar-width: 240px !default;\n$nav-height: 36px !default;\n\n\n\n.ptx-sidebar {\n align-self: flex-start; // needed for sticky inside a flex\n\n &.visible {\n display: block;\n }\n\n &.hidden {\n display: none;\n height: 0;\n }\n}\n\n.ptx-toc {\n --codenumber-pad-left: 0.3rem;\n --codenumber-pad-right: 0.5rem;\n\n --toc-indent-first: calc(1.0rem + var(--codenumber-pad-left) + var(--codenumber-pad-right));\n --toc-indent-second: calc(1.7rem + var(--codenumber-pad-left) + var(--codenumber-pad-right));\n --toc-indent-third: calc(2.2rem + var(--codenumber-pad-left) + var(--codenumber-pad-right));\n\n background: var(--toc-background);\n\n margin: 0;\n font-size: 0.9rem;\n\n /* -------------------toc-items-------------------- */\n // will be less indentation, add some padding\n &:is(.depth1, .parts.depth2) {\n --codenumber-pad-right: 0.5rem;\n }\n\n .toc-item-list {\n margin: 0;\n padding: 0;\n list-style: none;\n background: var(--tocitem-background);\n\n .active {\n list-style: none; // clobber runestone css\n }\n }\n\n .toc-item {\n background-color: var(--tocitem-background);\n color: var(--toc-text-color);\n border-color: var(--toc-border-color);\n\n a {\n color: inherit;\n }\n\n // only highlight lowest level active item\n // need !important to override later depth based css\n &.active:not(:has(.toc-item.active)) {\n color: var(--tocitem-active-text-color) !important;\n background-color: var(--tocitem-active-background) !important;\n border-color: var(--tocitem-active-border-color) !important;\n }\n\n // hoving over a toc item\n & > .toc-title-box > a:is(:hover, :focus) {\n color: var(--tocitem-highlight-text-color);\n background-color: var(--tocitem-highlight-background);\n border-color: var(--tocitem-highlight-border-color);\n }\n }\n\n /* -------------------title-box------------------- */\n\n .toc-title-box {\n display: flex;\n }\n\n .toc-title-box > .internal {\n position: relative;\n display: flex;\n flex-grow: 1;\n padding: 0.2em;\n font-weight: 500;\n }\n\n /* at second level, switch fonts */\n .toc-item-list .toc-item-list .toc-title-box > .internal {\n font-weight: normal;\n }\n\n /* -------------------codenumbers-------------------- */\n .codenumber {\n min-width: var(--toc-indent-first);\n padding-left: var(--codenumber-pad-left);\n padding-right: var(--codenumber-pad-right);\n display: inline-block;\n text-align: left;\n flex-grow: 0;\n }\n}\n\n\n\n// --------------------------------------------------------------------------\n// Conditional styling based on depth\n\n.ptx-toc .toc-item {\n color: var(--toclevel1-text-color);\n background-color: var(--toclevel1-background);\n}\n\n.ptx-toc .toc-item .toc-item {\n color: var(--toclevel2-text-color);\n background-color: var(--toclevel2-background);\n}\n.ptx-toc .toc-item .toc-item .toc-item {\n color: var(--toclevel3-text-color);\n background-color: var(--toclevel3-background);\n}\n\n\n/* second level of numbering */\n/* anything 1+ levels deeper than a chapter in a book */\n.book .ptx-toc .toc-chapter .toc-item-list .codenumber,\n/* anything 1+ levels deeper than a section in an article */\n.article .ptx-toc .toc-section .toc-item-list .codenumber,\n/* anything 1+ levels deeper than backmatter */\n.ptx-toc .toc-backmatter .toc-item-list .codenumber {\n font-size: 80%;\n padding-top: 0.16em;\n min-width: var(--toc-indent-second);\n}\n\n/* third level of numbering */\n/* anything 2+ levels deeper than a chapter in a book */\n.book .ptx-toc .toc-chapter .toc-item-list .toc-item-list .codenumber,\n/* anything 2+ levels deeper than a section in an article */\n.article .ptx-toc .toc-section .toc-item-list .toc-item-list .codenumber,\n/* anything 2+ levels deeper than backmatter */\n.ptx-toc .toc-backmatter .toc-item-list .toc-item-list .codenumber {\n min-width: var(--toc-indent-third);\n visibility: hidden;\n}\n\n/* reveal hidden numbers on interaction */\n.ptx-toc .toc-item-list .toc-item-list .toc-item-list a:is(:hover, :focus) > .codenumber {\n visibility: visible;\n}\n\n/* Any toc item without a codenumber needs indentation\nCan't select absence of a preceeding, so indent all titles\nand then clear indent if there is a codenumber */\n.ptx-toc .toc-item .toc-title-box .title {\n margin-left: var(--toc-indent-first);\n}\n\n/* second level as defined by codenumber selectors */\n.book .ptx-toc .toc-chapter .toc-item-list .title,\n.article .ptx-toc .toc-section .toc-item-list .title,\n.ptx-toc .toc-backmatter .toc-item-list .title {\n margin-left: var(--toc-indent-second);\n}\n\n/* third level as defined by codenumber selectors */\n.book .ptx-toc .toc-chapter .toc-item-list .toc-item-list .title,\n.article .ptx-toc .toc-section .toc-item-list .toc-item-list .title,\n.ptx-toc .toc-backmatter .toc-item-list .toc-item-list .title {\n margin-left: var(--toc-indent-third);\n}\n\n/* unless there is a codenumber */\n.ptx-toc .toc-item > .toc-title-box .codenumber + .title {\n margin-left: 0 !important;\n}\n\n// --------------------------------------------------------------------------\n// Conditional styling based on depth\n\n\n.ptx-toc .toc-chapter .toc-item-list .title,\n.ptx-toc .toc-section .toc-item-list .title,\n/* 2 levels deep in back matter */\n.ptx-toc .toc-backmatter .toc-item-list .toc-item-list .title {\n font-size: 90%;\n}\n\n.ptx-toc .toc-chapter .toc-item-list .toc-item-list .title,\n.ptx-toc .toc-section .toc-item-list .toc-item-list .title,\n/* 3 levels deep in back matter */\n.ptx-toc .toc-backmatter .toc-item-list .toc-item-list .toc-item-list .title {\n font-style: italic;\n}\n\n/* -------------------depth controls-------------------- */\n.ptx-toc.depth0 ul.structural {\n display: none;\n}\n\n.ptx-toc.depth1 ul.structural ul.structural {\n display: none;\n}\n\n.ptx-toc.depth2 ul.structural ul.structural ul.structural {\n display: none;\n}\n\n.ptx-toc.depth3 ul.structural ul.structural ul.structural ul.structural {\n display: none;\n}\n\n.ptx-toc.depth4 ul.structural ul.structural ul.structural ul.structural ul.structural {\n display: none;\n}\n\n/* if depth is shallow, identify best available toc item */\n.ptx-toc.depth1 ul.structural .toc-item.contains-active {\n background-color: var(--tocitem-active-backgrounde);\n color: var(--tocitem-active-text-color);\n}\n\n.ptx-toc.depth2 ul.structural ul.structural .toc-item.contains-active {\n background-color: var(--tocitem-active-background);\n color: var(--tocitem-active-text-color);\n}\n\n\n// --------------------------------------------------------------------------\n// Focused toc\n\n/* Hide all but active area of book */\n.ptx-toc.focused {\n\n ul.structural:not(.contains-active) > .toc-item {\n display: none;\n\n &.visible {\n display: block;\n }\n }\n\n ul.structural .toc-item.active > ul.structural > .toc-item {\n display: block;\n\n &.hidden {\n display: none;\n }\n }\n\n .toc-expander {\n border: 0;\n padding: 2px 5px;\n background: inherit;\n color: inherit;\n display: flex;\n align-items: center;\n\n .icon {\n font-size: 1.25em;\n line-height: 18px;\n font-variation-settings: 'wght' 200;\n }\n\n &:is(:hover) {\n background-color: var(--tocitem-highlight-background);\n color: var(--tocitem-highlight-text-color);\n\n .icon {\n fill: var(--tocitem-highlight-text-color);\n }\n }\n }\n\n /* ---------------icon customization----------------- */\n .toc-item > .toc-title-box > .toc-expander > .icon:before {\n content: \"add\";\n }\n\n .toc-item.expanded > .toc-title-box > .toc-expander > .icon:before {\n content: \"remove\";\n }\n}\n", "$scrolling: true !default;\n$sidebar-width: 240px !default;\n$nav-height: 36px !default;\n$sidebar-breakpoint: 856px !default;\n$navbar-breakpoint: 800px !default;\n\n@use 'toc-basics' with (\n $sidebar-width: $sidebar-width,\n $nav-height: $nav-height\n);\n\n.ptx-sidebar {\n flex: 0 0 $sidebar-width;\n @if $scrolling {\n position: sticky;\n top: $nav-height;\n overflow-y: hidden;\n }\n}\n\n.ptx-toc {\n @if $scrolling {\n position: sticky;\n top: $nav-height;\n overflow-y: auto;\n overflow-x: hidden;\n height: calc(100vh - $nav-height);\n margin-top: -1px; // partially hide top border of first toc item\n\n // border under the last item before the pretext icon\n & > .toc-item-list:first-child > .toc-item:last-child {\n border-bottom: 3px solid var(--toc-border-color);\n }\n }\n @else {\n // not scrolling\n scrollbar-width: none;\n padding: 10px 0;\n box-sizing: border-box;\n border-right: 1px solid var(--toc-border-color);\n }\n}\n\n// Hide once we get too narrow\n@media screen and (max-width: $sidebar-breakpoint) {\n .ptx-sidebar {\n display: none;\n position: sticky;\n top: $nav-height;\n background: var(--content-background);\n min-height: 30vh;\n border-right: 2px solid var(--toc-border-color);\n border-bottom: 2px solid var(--toc-border-color);\n width: $sidebar-width;\n }\n\n @if not $scrolling {\n .ptx-sidebar {\n overflow-y: scroll;\n }\n }\n}\n\n// flip sidebar to bottom one navbar moves\n@media screen and (max-width: min($sidebar-breakpoint, $navbar-breakpoint)) {\n .ptx-sidebar {\n position: fixed;\n z-index: 1000;\n top: unset;\n height: auto;\n max-height: 80vh;\n max-width: 80vw;\n bottom: $nav-height;\n border-right: 2px solid var(--toc-border-color);\n border-top: 2px solid var(--toc-border-color);\n }\n .ptx-toc {\n border-top: 2px solid var(--toc-border-color);\n border-bottom: 0;\n max-height: 80vh;\n }\n}\n", "// blend in with page until hover\n.ptx-toc {\n scrollbar-color: var(--content-background) var(--content-background);\n\n // reveal scroll on hover\n &:hover {\n scrollbar-color: var(--page-border-color) var(--content-background);\n }\n}\n", "$max-width: 0 !default; // 0 == no max width\n$navbar-breakpoint: 856px !default;\n$nav-height: 36px !default;\n\n@use 'components/helpers/buttons-default' as buttons;\n\n.ptx-page-footer {\n background: var(--footer-background);\n padding-top: 0;\n border-top: 2px solid var(--page-border-color);\n border-bottom: 2px solid var(--page-border-color);\n display: flex;\n flex-direction: row;\n justify-content: center;\n width: 100%;\n gap: 90px;\n position: relative;\n @if $max-width > 0 {\n max-width: $max-width;\n }\n \n \n & > a {\n margin: 1em 0;\n color: var(--body-text-color);\n }\n\n & > a > .logo:first-child {\n height: 3em;\n width: unset;\n margin: 0;\n }\n\n .feedback-link {\n @include buttons.ptx-button;\n }\n}\n\n\n@media screen and (max-width: $navbar-breakpoint) {\n .ptx-page-footer {\n // prevent icons from spreading too much\n gap: 20px;\n justify-content: center;\n margin-bottom: $nav-height - 2;\n\n & > a > .logo:first-child {\n height: 2em;\n }\n }\n}\n", "// --------------------------------------------------------------------------\n// Flexible / centered widening of rs elements and other components\n\n$small-nested-margin-offset: 0px !default;\n\n// These will have defaults that have possibly been overridden by @use in main theme file\n@use 'sizing-globals' as sizing;\n@use 'components/helpers/expandable';\n\n\n\n// designed to be used with a @container/media query by file using this\n// left to user to include in a media query\n// e.g. @container ptx-main (width < 850px) { @include smaller-screen-widening; }\n@mixin smaller-screen-widening {\n .ptx-runestone-container:has(#{sizing.$rs-wide-elements}) {\n width: calc(100cqw);\n margin-left: calc(-0.5*(100cqw - 100%));\n }\n :is(#{sizing.$grouping-elements}):has(#{sizing.$rs-wide-elements}) {\n width: calc(100cqw);\n margin-left: calc(-0.5*(100cqw - 100%));\n }\n :is(#{sizing.$grouping-elements}) .ptx-runestone-container:has(#{sizing.$rs-wide-elements}) {\n width: 100%;\n margin-left: $small-nested-margin-offset; //cheat into padding\n }\n}\n\n\n\n// widen all runestone elements that should be wide\n.ptx-runestone-container:has(#{sizing.$rs-wide-elements}){\n @include expandable.responsive;\n}\n\n// unless nested in other runestones\n.ptx-runestone-container {\n .ptx-runestone-container:has(#{sizing.$rs-wide-elements})\n {\n width: 100%;\n min-width: 100%;\n margin-left: auto;\n }\n}\n\n// also wide grouping elements that have wide elements\n:is(#{sizing.$grouping-elements}):has(#{sizing.$rs-wide-elements}) {\n @include expandable.responsive;\n}\n// unless nested in other wide elements\n:is(#{sizing.$grouping-elements}):has(#{sizing.$rs-wide-elements}) {\n :is(#{sizing.$grouping-elements}):has(#{sizing.$rs-wide-elements}) {\n width: 100%;\n margin-left: auto;\n }\n}\n\n// which simplifies the nested wide elements\n:is(#{sizing.$grouping-elements}) .ptx-runestone-container:has(#{sizing.$rs-wide-elements}) {\n width: 100%;\n margin-left: 0;\n}\n\n/* limit width of content inside ac except for actual activecode */\n.runestone.ac_section\n > div\n > div\n > *:not(.ac_code_div):not(.ac_output):not(.codelens):not(.ac_actions) {\n max-width: sizing.$content-width;\n margin-left: auto;\n margin-right: auto;\n}\n\n/* same for exercise-statement in any runestone */\n.runestone {\n .exercise-statement {\n max-width: sizing.$content-width;\n margin-left: auto;\n margin-right: auto;\n }\n}\n\n/* limit width of statement and success/error message inside hparson */\n.hparsons_section .hp_question,\n.hparsons_section .hp_feedback {\n max-width: sizing.$content-width;\n margin-left: auto;\n margin-right: auto;\n}\n\n/* limit width of content inside parsons except for actual parsons */\n.runestone.parsons_section > .parsons {\n width: 100%;\n padding-right: 0;\n\n .sortable-code-container {\n display: flex;\n flex-flow: wrap;\n justify-content: center;\n gap: 15px;\n margin: 10px auto;\n }\n\n .sortable-code {\n margin: 0;\n }\n\n .runestone_caption_text {\n max-width: unset;\n }\n\n & > div > *:not(.sortable-code-container) {\n max-width: sizing.$content-width;\n margin-left: auto;\n margin-right: auto;\n }\n}\n", "// Use chevrons instead of +/- in ToC expander control\n\n.ptx-toc.focused {\n .toc-item > .toc-title-box > .toc-expander > .icon {\n font-size: 30px;\n &:before {\n content: \"chevron_left\";\n }\n }\n\n .toc-item.expanded > .toc-title-box > .toc-expander > .icon {\n transform: rotate(-90deg);\n &:before {\n content: \"chevron_left\";\n }\n }\n}\n", "//$color: var(--primary-color) !default;\n//$text-color: white !default;\n\n@use 'components/page-parts/extras/toc-expand-chevrons';\n\n.hide-type .codenumber:not(:empty)::after {\n content: \". \";\n}\n\n.ptx-masthead {\n display: none;\n}\n\n\n.button.disabled {\n display: none;\n}\n\n//.ptx-toc {\n// padding-top:unset;\n//}\n\n//// Top heading followed by no content and then a subsection that starts with heading\n//section > .heading + section > .heading {\n// margin-top: 0.5em;\n//}\n\n", "$border-width: 2px !default;\n$side-margins: 30px !default;\n\n.aside-like {\n & > .knowl__link {\n color: var(--aside-like-link-color);\n border-bottom-color: var(--aside-like-link-color);\n }\n & > .knowl__content{\n margin-left: $side-margins;\n margin-right: $side-margins;\n border: $border-width solid var(--aside-like-border-color);\n background-color: var(--aside-like-body-background);\n }\n}", "$float-width: 200px !default;\n$float-offset: -248px !default;\n$min-float-width: 1280px !default;\n\n@use 'asides-basic';\n\n@media screen and (min-width: $min-float-width) {\n details.aside-like {\n position: relative;\n margin-left: $float-offset;\n width: $float-width;\n right: $float-offset;\n float: right;\n clear: right;\n }\n\n /* disable in any multicolumn list/exercisegroup */\n .multicolumn details.aside-like {\n position: relative;\n margin-left: inherit;\n width: auto;\n right: 0;\n float: none;\n clear: none;\n }\n\n details.aside-like > .knowl__content {\n margin-left:0;\n margin-right:0;\n background-color: var(--aside-like-body-background);\n z-index: 100;\n }\n}", "$border-radius: 8px !default;\n\n// One stop include for default style content blocks\n@use 'components/chunks/asides-floating' with (\n $float-width: 200px,\n $float-offset: -365px,\n $min-float-width: 1450px\n);\n@use 'components/chunks/codelike';\n@use 'components/chunks/exercises';\n@use 'components/chunks/solutions';\n@use 'components/chunks/sidebyside';\n@use 'components/chunks/discussion-inline';\n@use 'components/chunks/knowls' with ($border-radius: $border-radius);\n@use 'components/chunks/helpers/L-mixin';\n@use 'components/chunks/helpers/box-mixin' with ($border-radius: 0);\n@use 'components/chunks/helpers/heading-box-mixin';\n@use 'components/chunks/helpers/sidebar-mixin';\n@use 'components/chunks/helpers/inline-heading-mixin';\n\n.assemblage-like, .goal-like {\n @include sidebar-mixin.box(\n $border-width: 4px,\n $background-color: var(--goal-like-body-background),\n );\n}\n\n\n.theorem-like,\n.definition-like\n{\n .heading {\n display: block;\n font-size: 1.1em;\n }\n .para {\n font-style: italic;\n }\n}\n\n.example-like,\n.project-like,\n.remark-like,\n.openproblem-like,\n.computation-like,\n.commentary {\n > .heading {\n display: block;\n font-size: 1.1em;\n }\n}\n\n.proof {\n padding-bottom: 1.5em;\n padding-left: 1em;\n padding-right: 1em;\n &::after {\n content: \"□\";\n position: absolute;\n right: 0;\n bottom: 1.5em;\n }\n\n .heading {\n font-size: unset;\n font-weight: bold;\n font-style: italic;\n }\n}\n\n.solution-like {\n .heading {\n display: inline;\n font-style: italic;\n font-size: unset;\n }\n}\n\n.tasks\n\n/* No decorations/borders in knowls, to save space */\n.knowl__content {\n border: none;\n .theorem-like,\n .definition-like,\n .example-like,\n .project-like,\n .remark-like,\n .openproblem-like,\n .computation-like,\n .project-like,\n .commentary {\n padding-left: 0;\n margin-left: 0;\n border-left: none;\n\n &::after {\n border-bottom: none;\n display: none;\n }\n }\n}\n\n// wide sidebar on an entire section of solutions\nsection.solutions:not(:is(:first-child)) {\n @include sidebar-mixin.box($border-color: var(--solution-border-color));\n}\n\n.paragraphs,\narticle {\n @include inline-heading-mixin.heading;\n}\n", "@use '../helpers/cols';\n\n// generate multi column rules for exercises\n@include cols.allow-cols('.exercise-like');\n\n.exercise-like > .heading {\n // exercise heading/numbers regular size\n font-size: inherit;\n}\n\n.exercisegroup {\n\n .exercise-like {\n margin-top: 1em;\n }\n\n > .heading {\n font-size: 1.10em;\n line-height: 1.05em;\n margin-top: 0.75em;\n display: inline;\n\n & + .introduction {\n display: inline;\n\n & > .para:first-child {\n display: inline;\n }\n }\n }\n\n // push the actual exercises down from any possible heading/intro\n .exercisegroup-exercises {\n margin-top: 1em;\n \n //indent items with padding so cols works correctly on them\n padding-left: 40px;\n }\n\n .conclusion {\n margin-left: 40px; // match the padding of the exercisegroup-exercises\n \n .heading {\n // exercise heading/numbers regular size\n font-size: inherit;\n } \n }\n}\n\n// subtasks are indented\n.exercise-like > .exercise-like.task {\n margin-left: 20px;\n}\n\n\n\n// ---------------------------------------------------------\n// exercise-wrapper is used for WW problems\n// these rules need testing/refactoring\n\n.exercise-wrapper form button:hover {\n cursor: pointer;\n background-color: #e0e0ff;\n border: 1px solid #000;\n}\n.exercise-wrapper form button:active {\n background-color: #f0f0f0;\n}\n.exercise-wrapper form button + button {\n margin-left: 0.8em;\n}\n\n.exercise-wrapper,\n.exercise-wrapper form,\n.exercise-wrapper form > div:first-child {\n display: inline-block;\n vertical-align: top;\n width: 100%; /* for live ww to open at 100% wide */\n}\n\n.knowl .exercise-wrapper,\n.knowl .exercise-wrapper form,\n.knowl .exercise-wrapper form > div:first-child {\n width: 100%;\n}\n\n.exercise-wrapper > .para:first-child,\n.exercisegroup .exercise-wrapper > .para:first-child {\n margin-top: 0;\n display: inline;\n}\n\n/* next is related to having exercises start in-line with their exercise number,\n including when a static WW problem is made interactive */\n/* not sure this was the right way to do it */\n/* see https://opentext.uleth.ca/apex-calculus/sec_antider.html#exercise-722 */\n.heading + .exercise-wrapper {\n display: inline-block;\n max-width: 95%;\n width: 100%;\n}\n\n.cols2 .heading + .exercise-wrapper {\n width: auto;\n}\n", "// \n\n/* stacked headings in the solutions backmatter */\nsection.solutions > .heading + .heading {\n margin-top: 0.5em;\n}\n\nsection.solutions > h3.heading,\nsection.solutions section > h3.heading {\n font-size: 1.6em;\n}\n\nsection.solutions > h4.heading,\nsection.solutions section > h4.heading {\n font-size: 1.45em;\n}\n\nsection.solutions > h5.heading,\nsection.solutions section > h5.heading {\n font-size: 1.35em;\n}\n\nsection.solutions > h6.heading,\nsection.solutions section > h6.heading {\n font-size: 1.25em;\n}\n", "// Space all rows in a sbsgroup, no other styling\n.sbsgroup > *:not(:first-child)\n{\n margin-top: 1.5em;\n}\n\n\n// sidebysides get laid out into a grid with two rows. \"Plain panels\" without\n// a caption are in the first row. Panels with things like tables/figures with\n// captions we want to align are decomposed across two rows.\n// If there is no content (no captions) in a second row, it will collapse.\n\n// 1| plain panel | figure-like/table-like\n// 2| | figcaption\n.sbsrow {\n display: grid;\n grid-template-rows: auto auto;\n}\n\n.sbspanel {\n // most sbspanels are in the first row\n grid-row: 1; \n\n // tables and their captions get centered when in panels\n & > .table > figcaption {\n text-align: center;\n }\n .tabular {\n overflow-x: auto;\n margin-left: auto;\n margin-right: auto;\n }\n}\n\n\n// panel content alignment options\n.sbspanel--top {\n align-self: start;\n}\n\n.sbspanel--middle {\n align-self: center;\n}\n\n.sbspanel--bottom {\n align-self: end;\n}\n\n\n// sbspanels with figures or tables get decomposed into two rows\n// both the panel and the figure-like/table-like element should\n// be ignored by the grid layout so we can place the items inside\n// the *-like into the grid\n.sbspanel:has(.figure-like, .table-like),\n.sbspanel > :is(.figure-like, .table-like) {\n display: contents;\n}\n\n\n// first child of decomposed *-like goes to the first row\n.sbspanel > :is(.figure-like, .table-like) > *:first-child {\n grid-row: 1;\n align-items: start;\n align-self: start;\n}\n\n// and gets alignment info\n.sbspanel--top > :is(.figure-like, .table-like) > *:first-child {\n align-items: start;\n align-self: start;\n}\n\n.sbspanel--middle > :is(.figure-like, .table-like) > *:first-child {\n align-items: center;\n align-self: center;\n}\n\n.sbspanel--bottom > :is(.figure-like, .table-like) > *:first-child {\n align-items: end;\n align-self: end;\n}\n\n\n// second child of decomposed *-like goes to the second row\n.sbspanel > :is(.figure-like, .table-like) > *:nth-child(2) {\n margin-top: 0.5em;\n grid-row: 2;\n width: 100%;\n}\n\n\n// make sure content for a panel stays in the correct column\n// otherwise captions may shift left into columns that do not have\n// second row content\n@for $col from 2 through 10 {\n .sbspanel:nth-of-type(#{$col}) * {\n grid-column: #{$col};\n }\n}", "// Generate styles for an inline heading\n@mixin heading {\n & > .heading:first-child {\n display: inline;\n line-height: initial;\n border-bottom: 0; // disable underline that may come from underlined headings\n\n &:after {\n content: \"\\2009\";\n }\n\n // Following sibling also needs to be inline for heading to line up correctly\n // For now limit to logical paragraphs and introductions as they seem to cover\n // the plain text cases. Not clear we would want same treatment for other\n // kinds of content\n & + :is(.para, .para.logical, .introduction) {\n display: inline;\n // possible first child that is the actual text\n & > .para:first-child {\n display: inline;\n }\n // an introduction could have a para.logical with a para\n & > .para.logical:first-child > .para:first-child {\n display: inline;\n }\n }\n }\n}\n", "@use './helpers/inline-heading-mixin';\n\n.discussion-like {\n @include inline-heading-mixin.heading;\n & > .heading {\n ::after {\n content: \"\\2009\";\n }\n\n & + .para {\n display: inline;\n }\n\n .space,\n .codenumber,\n .period {\n display: none;\n }\n\n .type::after {\n content: \". \";\n }\n }\n}\n", "/*\n main knowls styles\n*/\n\n$border-radius: 0px !default;\n$border-width: 3px !default;\n$pad: 12px !default;\n\n.source-view__link,\n.knowl__link {\n cursor: pointer;\n margin-left: 0.1em;\n margin-right: 0.1em;\n color: var(--knowl-link-color);\n border-bottom: 1px dotted var(--knowl-link-color);\n}\n\n.source-view {\n margin: 0.5em 0;\n}\n\nsummary.source-view__link,\nsummary.knowl__link {\n display: list-item inline;\n}\n\n.source-view__link > *,\n.knowl__link > * {\n display: inline;\n}\n\n.source-view__link:is(:hover, :focus, [open]),\n.knowl__link:is(:hover, :focus, [open]) {\n background-color: var(--knowl-background);\n border-bottom-color: transparent;\n}\n\n.source-view__content {\n margin: 0.2em 0;\n}\n\n.knowl__content {\n margin: 0.75em 0; //at least this much space above/below\n border: $border-width solid var(--knowl-border-color);\n border-radius: $border-radius;\n padding: $pad;\n background-color: var(--knowl-background);\n\n .incontext {\n display: block;\n font-size: 85%;\n text-align: right;\n }\n}\n\n/* nested knowl alt colors */\n.knowl__content .knowl__content {\n background-color: var(--knowl-nested-1-background);\n}\n\n.knowl__content .knowl__content .knowl__content {\n background-color: var(--knowl-nested-2-background);\n}\n\n.knowl__content .knowl__content .knowl__content .knowl__content {\n background-color: var(--knowl-nested-3-background);\n}\n\n.knowl__content .knowl__content .knowl__content .knowl__content .knowl__content {\n background-color: var(--knowl-nested-4-background);\n}\n\n\n/* spacing tweaks inside knowls */\n.knowl__content > figure {\n margin-left: 0;\n margin-right: 0;\n}\n", "// These values can be set on @use to avoid repeating values in each @import\n$pad: 10px !default; //all sides\n$padside: 15px !default; //on side with border\n$border-radius: 0px !default; //on side with border\n$border-color: var(--block-border-color) !default;\n$background-color: var(--content-background) !default;\n$side: left !default;\n$border-width: 2px !default;\n\n// Generate styles for a sidebar down left or right of content\n@mixin box($border-width: $border-width,\n $style: solid,\n $border-color: $border-color,\n $background-color: $background-color,\n $padding: $pad,\n $padside: $padside,\n $side: $side,\n $border-radius: $border-radius) \n{\n &:not(.knowl__content, .born-hidden-knowl) {\n padding: $padding;\n padding-#{$side}: $padside;\n border-#{$side}: $border-width $style $border-color;\n background-color: $background-color;\n\n @if $border-radius > 0 {\n border-radius: $border-radius;\n }\n\n > .heading:first-child {\n margin-top: 0;\n }\n }\n}\n", "/*\n Master list of color variables and default values.\n Variables are defined in SCSS to allow for calculation of values. They are\n then converted to CSS variables for use in the HTML so authors can, if\n need be, override them with custom CSS.\n\n Any new variable should be added to this file and either defined to another\n variable or given a reasonable default value for the red-blue default theme.\n\n Variables should be semantic, not descriptive\n i.e. --link-color, not --pretty-blue\n*/\n\n@use \"sass:map\";\n\n// ==============================================================================\n// Light theme\n\n// ==============================================================================\n// Page structures\n\n$colors: (\n // Background of page (gutters if any)\n \"page-color\": white,\n // Background of content area\n \"content-background\": white,\n // Border around content area - also possibly used for internal borders\n \"page-border-color\": #ccc,\n\n // ------------------------------------------------------------------------------\n // Banner/nav related\n\n \"doc-title-color\": #932919,\n \"byline-color\": #333,\n \"banner-background\": #fafafa,\n \"navbar-background\": #ededed,\n \"footer-background\": var(--banner-background),\n\n // ------------------------------------------------------------------------------\n // TOC related\n\n \"toc-border-color\": #666,\n \"toc-background\": var(--content-background),\n\n \"tocitem-background\": var(--toc-background),\n \"toc-text-color\": var(--body-text-color),\n\n // highlight styles are used for hover\n \"tocitem-highlight-background\": #671d12,\n \"tocitem-highlight-text-color\": white,\n \"tocitem-highlight-border-color\": var(--toc-border-color),\n \n // active styles are used for the current toc item\n \"tocitem-active-background\": #671d12,\n \"tocitem-active-text-color\": white,\n \"tocitem-active-border-color\": var(--toc-border-color),\n\n // level based colors for TOC\n // levels are not necessarily all used\n // see the toc-basics.scss for how these are determined\n \"toclevel1-background\": var(--content-background),\n \"toclevel1-text-color\": var(--toc-text-color),\n \"toclevel2-background\": var(--content-background),\n \"toclevel2-text-color\": var(--toc-text-color),\n \"toclevel3-background\": var(--content-background),\n \"toclevel3-text-color\": var(--toc-text-color),\n\n\n // ==============================================================================\n // Content\n // ==============================================================================\n\n // ------------------------------------------------------------------------------\n // Text & titles\n\n \"body-text-color\": #000,\n \"body-title-color\": #000,\n\n \"ptx-image-bg\": transparent,\n \"activated-content-bg\": rgba(241, 185, 255, 30%),\n\n \"summary-link-background\": var(--button-background),\n \"summary-link-text-color\": var(--button-text-color),\n \"summary-link-hover-background\": var(--button-hover-background),\n \"summary-link-hover-text-color\": var(--button-hover-text-color),\n\n // ------------------------------------------------------------------------------\n // Links & knowls\n\n \"link-text-color\": #2B5F82,\n \"link-background\": transparent,\n \"link-active-text-color\": var(--link-text-color),\n \"link-active-background\": #cad2e1,\n\n \"link-alt-text-color\": #A62E1C,\n \"link-alt-background\": transparent,\n \"link-alt-active-text-color\": var(--link-alt-text-color),\n \"link-alt-active-background\": #e3d1ce,\n\n \"knowl-link-color\": var(--link-text-color),\n \"knowl-background\": #f5f8ff,\n \"knowl-border-color\": #e0e9ff,\n \"knowl-nested-1-background\": #f5f5ff,\n \"knowl-nested-2-background\": #fffff5,\n \"knowl-nested-3-background\": #f5ffff,\n \"knowl-nested-4-background\": #fff5f5,\n\n // ------------------------------------------------------------------------------\n // Blocks\n\n // Fall back generic block colors:\n \"block-body-background\": var(--content-background),\n \"block-border-color\": var(--knowl-border-color),\n \"block-head-color\": var(--body-text-color),\n\n // See below for specific block types\n \n \"aside-like-link-color\": var(--link-text-color),\n\n // ------------------------------------------------------------------------------\n // Buttons & Widgets\n\n \"button-background\": #ededed,\n \"button-text-color\": #333333,\n \"button-border-color\": #ccc,\n \"button-hover-background\": #c7c7c7,\n \"button-hover-text-color\": var(--button-text-color),\n\n \"dropdown-background\": var(--content-background),\n \"dropdown-border-color\": var(--toc-border-color),\n \"dropdown-text-color\": var(--toc-text-color),\n \"dropdown-hover-background\": var(--tocitem-active-background),\n \"dropdown-hover-text-color\": var(--tocitem-active-text-color),\n\n // ------------------------------------------------------------------------------\n // Other\n \"code-background\": #fdfdfd,\n \"code-inline-background\": #ededed,\n);\n\n// ==============================================================================\n// Block types\n\n// Variables for specific block types should look like those below. In this file\n// only \"top level\" blocks from the -like families are defined. \n// Other themes/color palettes may define\n// more specific ones - see palette_quad_chunks.scss for an example.\n\n// block-types based on those in entities.ent\n$block-types: \"assemblage-like\", \"definition-like\", \"theorem-like\", \"theorem-like\", \"axiom-like\", \"remark-like\", \"computation-like\", \"openproblem-like\", \"aside-like\", \"proof-like\", \"example-like\", \"project-like\", \"goal-like\", \"solution-like\";\n// TODO - \"proof\" should probably be updated to \"proof-like\" in HTML css\n\n@each $block in $block-types {\n $colors: map.merge(\n $colors,\n (\n // define background and border, but default to generic block colors\n \"#{$block}-body-background\": var(--block-body-background),\n \"#{$block}-border-color\": var(--block-border-color),\n )\n );\n}\n", "// This file contains functions and mixins for working with colors in SCSS\n\n@use \"sass:map\";\n@use \"sass:color\";\n\n@mixin set-root-colors($colors, $dark-colors: null) {\n :root {\n color-scheme: light;\n // prevent variable leak through to dark\n &:not(.dark-mode) {\n @include scss-to-css($colors);\n }\n }\n\n @if $dark-colors {\n :root.dark-mode {\n color-scheme: dark;\n @include scss-to-css($dark-colors);\n }\n }\n}\n\n// Renders a map of SCSS variables as CSS variables\n@mixin scss-to-css($colors) {\n @each $name, $value in $colors {\n --#{$name}: #{$value};\n }\n}\n\n// Create a map of colors that blend $color with $other at $mix-amounts\n// The resulting map will have keys of the form 'color-other-10'\n// Indicating 10% of other mixed into color\n@function mixes($color, $other, $mix-amounts) {\n $result: ();\n\n @each $i in $mix-amounts {\n $result: map.set($result, '#{$color}-#{$other}-#{$i}', 'color-mix(in oklab, var(--#{$color}), #{$other} #{$i}%)');\n }\n\n @return $result;\n}\n\n$std-mixes: (1, 2, 3, 4, 5, 10, 15, 20, 25, 30, 35, 40, 50, 60, 65, 70, 75, 80, 85, 90, 95, 96, 97, 98, 99);\n\n// Creates a map of color blends for a given color\n// By default it creates blends with black, white, and gray at $std-mixes amounts\n// Mixing is done using css color-mix function so that if a theme file has the base\n// css variable overridden, the blends will be updated accordingly\n@function get-blends($color, $shades: $std-mixes, $tints: $std-mixes, $tones: $std-mixes, ) {\n $shades: mixes($color, black, $std-mixes);\n $tints: mixes($color, white, $std-mixes);\n $tones: mixes($color, gray, $std-mixes);\n\n $blends: map.merge(\n $tints,\n $shades\n );\n\n $blends: map.merge(\n $blends,\n $tones\n );\n @return $blends;\n}\n\n//--------------------------------------------------------------------------\n// https://jonnykates.medium.com/automating-colour-contrast-ratios-with-sass-e201f3b52797\n// Formula there has a typo, need parens around the sum of the three color channels\n\n@function text-contrast($color, $light: #ffffff, $dark: #000000) {\n $color-brightness: round(\n (\n (color.red($color) * 299) +\n (color.green($color) * 587) +\n (color.blue($color) * 114)\n ) / 1000\n );\n\n $light-color: round(\n (\n (color.red(#ffffff) * 299) +\n (color.green(#ffffff) * 587) +\n (color.blue(#ffffff) * 114)\n ) / 1000\n );\n\n @if abs($color-brightness) < calc($light-color / 2){\n @return $light;\n } @else {\n @return $dark;\n }\n}\n\n// @debug \"text-contrast(#7b7b55) should be #ffffff: \" text-contrast(#7b7b55);\n// @debug \"text-contrast(#9b9b70) should be #000000: \" text-contrast(#9b9b70);\n// @debug \"text-contrast(#766f7a) should be #ffffff: \" text-contrast(#766f7a);\n// @debug \"text-contrast(#70909b) should be #000000: \" text-contrast(#70909b);\n//--------------------------------------------rgb(25, 25, 24)-----------------------\n"], + "mappings": "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,kBAUE,CAAA,C/CxBJ,O+CwBI,aACE,WAAA,EPCJ,C3BuCA,a2BvCA,CxC1BF,QwC0BE,C3BuCA,gB2BvCA,CxC1BF,QwC2BI,QAAA,MACA,UAAA,MAEF,C3BmCA,a2BnCA,C9CRA,K8CQA,C3BmCA,gB2BnCA,C9CRA,K8CSE,WAAA,OAUF,C3BWF,Y2BXE,CAAA,CxCzCF,QwCyCE,C3BWF,Y2BXE,CAAA,CxCzCF,QwCyCE,C3BWF,W2BXE,CAAA,CxCzCF,QwCyCE,C3BwBA,gB2BxBA,CAAA,CxCzCF,QwCyCE,C3BwBA,gB2BxBA,CAAA,CxCzCF,QwCyCE,CAAA,UAAA,CAAA,CxCzCF,QwC0CI,QAAA,MACA,UAAA,MAIJ,C3BkBE,M2BjBA,eAAA,MACA,aAAA,IACA,cAAA,IACA,C3BcA,K2BdA,OACE,QAAA,QACA,SAAA,SACA,MAAA,EACA,OAAA,MAGF,C3BOA,M2BPA,CxC1DF,QwC2DI,UAAA,MACA,YAAA,IACA,WAAA,OAKF,C3B/DF,c2B+DE,CxClEF,QwCmEI,QAAA,OACA,WAAA,OACA,UAAA,MAIJ,CAAA,MAAA,C9CxDE,e8C4DA,OAAA,KACA,CALF,MAKE,C9C7DA,e8C6DA,C3BbA,a2BaA,CALF,MAKE,C9C7DA,e8C6DA,C3BbA,gB2BaA,CALF,MAKE,C9C7DA,e8C6DA,C3B1BF,a2B0BE,CALF,MAKE,C9C7DA,e8C6DA,C3B1BF,a2B0BE,CALF,MAKE,C9C7DA,e8C6DA,C3B1BF,Y2B0BE,CALF,MAKE,C9C7DA,e8C6DA,C3BbA,iB2BaA,CALF,MAKE,C9C7DA,e8C6DA,C3BbA,iB2BaA,CALF,MAKE,C9C7DA,e8C6DA,CArCA,WA8CE,aAAA,EACA,YAAA,EACA,YAAA,KAEA,CAlBJ,MAkBI,C9C1EF,e8C0EE,C3B1BF,Y2B0BE,OAAA,CAlBJ,MAkBI,C9C1EF,e8C0EE,C3B1BF,e2B0BE,OAAA,CAlBJ,MAkBI,C9C1EF,e8C0EE,C3BvCJ,Y2BuCI,OAAA,CAlBJ,MAkBI,C9C1EF,e8C0EE,C3BvCJ,Y2BuCI,OAAA,CAlBJ,MAkBI,C9C1EF,e8C0EE,C3BvCJ,W2BuCI,OAAA,CAlBJ,MAkBI,C9C1EF,e8C0EE,C3B1BF,gB2B0BE,OAAA,CAlBJ,MAkBI,C9C1EF,e8C0EE,C3B1BF,gB2B0BE,OAAA,CAlBJ,MAkBI,C9C1EF,e8C0EE,CAlDF,UAkDE,OACE,cAAA,KACA,QAAA,KO/EJ,OAAA,CLhBF,SKgBE,KAAA,IAAA,cAAA,KAAA,CrDGA,eqDHA,CAAA,2BAlBI,eACI,KAoBN,YAAA,IAAA,MAAA,IAAA,yBACA,iBAlBe,IAAA,sBAwBf,OAAA,CL1BJ,SK0BI,KAAA,IAAA,cAAA,KAAA,CrDPF,eqDOE,CAVF,kBAUE,CAAA,C/CxBJ,O+CwBI,aACE,WAAA,EH5BJ,C5CuDF,U4CvDE,CAAA,C5CGF,O4CHE,aAAA,OAAA,CAAA,C5CGF,O4CHE,aACE,QAAA,OACA,YAAA,QACA,cAAA,EAEA,C5CkDJ,U4ClDI,CAAA,C5CFJ,O4CEI,YAAA,OAAA,OAAA,CAAA,C5CFJ,O4CEI,YAAA,OACE,QAAA,QAOF,C5C0CJ,U4C1CI,CAAA,C5CVJ,O4CUI,YAAA,CAAA,IAAA,ClDYF,KkDZE,ClDYF,IkDZE,ClDkBF,QkDlBE,C/B0CJ,c+B1CI,OAAA,CAAA,C5CVJ,O4CUI,YAAA,CAAA,IAAA,ClDYF,KkDZE,ClDYF,IkDZE,ClDkBF,QkDlBE,C/B0CJ,c+BzCM,QAAA,OAEA,C5CuCN,U4CvCM,CAAA,C5CbN,O4CaM,YAAA,CAAA,IAAA,ClDSJ,KkDTI,ClDSJ,IkDTI,ClDeJ,QkDfI,C/BuCN,a+BvCM,CAAA,ClDSJ,IkDTI,aAAA,OAAA,CAAA,C5CbN,O4CaM,YAAA,CAAA,IAAA,ClDSJ,KkDTI,ClDSJ,IkDTI,ClDeJ,QkDfI,C/BuCN,a+BvCM,CAAA,ClDSJ,IkDTI,aACE,QAAA,OAGF,C5CmCN,U4CnCM,CAAA,C5CjBN,O4CiBM,YAAA,CAAA,IAAA,ClDKJ,KkDLI,ClDKJ,IkDLI,ClDWJ,QkDXI,C/BmCN,a+BnCM,CAAA,ClDKJ,IkDLI,ClDWJ,OkDXI,YAAA,CAAA,ClDKJ,IkDLI,aAAA,OAAA,CAAA,C5CjBN,O4CiBM,YAAA,CAAA,IAAA,ClDKJ,KkDLI,ClDKJ,IkDLI,ClDWJ,QkDXI,C/BmCN,a+BnCM,CAAA,ClDKJ,IkDLI,ClDWJ,OkDXI,YAAA,CAAA,ClDKJ,IkDLI,aACE,QAAA,OnDmBR,MACE,aAAA,KAAA,IAAA,EAAA,UAAA,IAAA,EAAA,SAAA,EAAA,KAAA,EAAA,WAEF,MACE,iBAAA,GAAA,KAAA,EAAA,MAAA,IAAA,KAAA,EAAA,KAAA,EAAA,MAEF,MACE,kBAAA,WAAA,EAAA,QAAA,EAAA,MAAA,EAAA,UAEF,MACE,cAAA,GAAA,KAAA,EAAA,MAAA,IAAA,KAAA,EAAA,KAAA,EAAA,MwD9CA,MACE,aAAA,MAEA,KAAA,KAAA,ClDiBJ,WkDDI,cAAA,MAAA,sBAAA,MAAA,qBAAA,KAAA,mBAAA,IAAA,iBAAA,gBAAA,KAAA,qBAAA,QAAA,qBAAA,IAAA,iBAAA,qBAAA,IAAA,qBAAA,oBAAA,KAAA,kBAAA,IAAA,sBAAA,sBAAA,IAAA,kBAAA,kBAAA,IAAA,0BAAA,gCAAA,QAAA,gCAAA,KAAA,kCAAA,QAAA,6BAAA,IAAA,0BAAA,6BAAA,MAAA,+BAAA,IAAA,oBAAA,wBAAA,IAAA,sBAAA,wBAAA,IAAA,kBAAA,wBAAA,IAAA,sBAAA,wBAAA,IAAA,kBAAA,wBAAA,IAAA,sBAAA,wBAAA,IAAA,kBAAA,mBAAA,KAAA,oBAAA,IAAA,0BAAA,gBAAA,YAAA,wBAAA,KAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,IAAA,2BAAA,IAAA,qBAAA,2BAAA,IAAA,qBAAA,iCAAA,IAAA,2BAAA,iCAAA,IAAA,2BAAA,mBAAA,IAAA,iBAAA,mBAAA,YAAA,0BAAA,IAAA,iBAAA,0BAAA,IAAA,0BAAA,uBAAA,IAAA,mBAAA,uBAAA,YAAA,8BAAA,IAAA,uBAAA,8BAAA,IAAA,0BAAA,oBAAA,IAAA,mBAAA,oBAAA,QAAA,sBAAA,IAAA,yBAAA,6BAAA,QAAA,6BAAA,QAAA,6BAAA,QAAA,6BAAA,QAAA,yBAAA,IAAA,sBAAA,sBAAA,IAAA,sBAAA,oBAAA,IAAA,mBAAA,yBAAA,IAAA,mBAAA,qBAAA,IAAA,iBAAA,qBAAA,IAAA,0BAAA,uBAAA,QAAA,2BAAA,QAAA,2BAAA,IAAA,qBAAA,uBAAA,IAAA,sBAAA,yBAAA,IAAA,oBAAA,uBAAA,IAAA,kBAAA,6BAAA,IAAA,6BAAA,6BAAA,IAAA,6BAAA,mBAAA,QAAA,0BAAA,QAAA,mCAAA,IAAA,yBAAA,gCAAA,IAAA,sBAAA,mCAAA,IAAA,yBAAA,gCAAA,IAAA,sBAAA,gCAAA,IAAA,yBAAA,6BAAA,IAAA,sBAAA,8BAAA,IAAA,yBAAA,2BAAA,IAAA,sBAAA,+BAAA,IAAA,yBAAA,4BAAA,IAAA,sBAAA,oCAAA,IAAA,yBAAA,iCAAA,IAAA,sBAAA,oCAAA,IAAA,yBAAA,iCAAA,IAAA,sBAAA,8BAAA,IAAA,yBAAA,2BAAA,IAAA,sBAAA,8BAAA,IAAA,yBAAA,2BAAA,IAAA,sBAAA,gCAAA,IAAA,yBAAA,6BAAA,IAAA,sBAAA,gCAAA,IAAA,yBAAA,6BAAA,IAAA,sBAAA,6BAAA,IAAA,yBAAA,0BAAA,IAAA,sBAAA,iCAAA,IAAA,yBAAA,8BAAA,IAAA,sBAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,IAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,IAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,IAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,IAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,IAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,IAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,IAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,IAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,IAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,IAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAA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AAA,IAAA,mBAAA,EAAA,MAAA,KAAA,6BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,KAAA,6BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,KAAA,6BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,KAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,IAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,IAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,IAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,IAAA,4BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,IAAA,6BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,KAAA,6BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,KAAA,6BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,KAAA,6BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,KAAA,6BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,KAAA,6BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,KAAA,6BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,KAAA,6BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,KAAA,6BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,KAAA,6BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,KAAA,6BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,KAAA,6BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,KAAA,6BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,KAAA,6BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,mBAAA,EAAA,MAAA,KAAA,6BAAA,UAAA,GAAA,KAAA,EAAA,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AA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,IAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,IAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,IAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,IAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,IAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,0BAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,MAAA,KAAA,wBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,IAAA,wBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,IAAA,wBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,IAAA,wBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,IAAA,wBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,IAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA,KAAA,yBAAA,UAAA,GAAA,KAAA,EAAA,IAAA,gBAAA,EAAA,KAAA", "names": [] } diff --git a/_static/pretext/js/answer.js b/_static/pretext/js/answer.js old mode 100644 new mode 100755 diff --git a/_static/pretext/js/diagcess/diagcess.js b/_static/pretext/js/diagcess/diagcess.js old mode 100644 new mode 100755 diff --git a/_static/pretext/js/edit.js b/_static/pretext/js/edit.js old mode 100644 new mode 100755 diff --git a/_static/pretext/js/highlight.js b/_static/pretext/js/highlight.js old mode 100644 new mode 100755 diff --git a/_static/pretext/js/instructor.js b/_static/pretext/js/instructor.js old mode 100644 new mode 100755 diff --git a/_static/pretext/js/lib/jquery.espy.min.js b/_static/pretext/js/lib/jquery.espy.min.js old mode 100644 new mode 100755 diff --git a/_static/pretext/js/lib/jquery.min.js b/_static/pretext/js/lib/jquery.min.js old mode 100644 new mode 100755 diff --git a/_static/pretext/js/lib/jquery.sticky.js b/_static/pretext/js/lib/jquery.sticky.js old mode 100644 new mode 100755 diff --git a/_static/pretext/js/lib/knowl.js b/_static/pretext/js/lib/knowl.js old mode 100644 new mode 100755 diff --git a/_static/pretext/js/lib/mathjaxknowl.js b/_static/pretext/js/lib/mathjaxknowl.js old mode 100644 new mode 100755 diff --git a/_static/pretext/js/lib/mathjaxknowl3.js b/_static/pretext/js/lib/mathjaxknowl3.js old mode 100644 new mode 100755 diff --git a/_static/pretext/js/login.js b/_static/pretext/js/login.js old mode 100644 new mode 100755 diff --git a/_static/pretext/js/lti_iframe_resizer.js b/_static/pretext/js/lti_iframe_resizer.js old mode 100644 new mode 100755 diff --git a/_static/pretext/js/pretext-stack/stackapicalls.js b/_static/pretext/js/pretext-stack/stackapicalls.js old mode 100644 new mode 100755 diff --git a/_static/pretext/js/pretext-stack/stackjsvle.js b/_static/pretext/js/pretext-stack/stackjsvle.js old mode 100644 new mode 100755 diff --git a/_static/pretext/js/pretext-webwork/2.16/pretext-webwork.js b/_static/pretext/js/pretext-webwork/2.16/pretext-webwork.js old mode 100644 new mode 100755 diff --git a/_static/pretext/js/pretext-webwork/2.17/pretext-webwork.js b/_static/pretext/js/pretext-webwork/2.17/pretext-webwork.js old mode 100644 new mode 100755 diff --git a/_static/pretext/js/pretext-webwork/2.18/pretext-webwork.js b/_static/pretext/js/pretext-webwork/2.18/pretext-webwork.js old mode 100644 new mode 100755 diff --git a/_static/pretext/js/pretext-webwork/2.19/pretext-webwork.js b/_static/pretext/js/pretext-webwork/2.19/pretext-webwork.js old mode 100644 new mode 100755 diff --git a/_static/pretext/js/pretext-webwork/2.20/pretext-webwork.js b/_static/pretext/js/pretext-webwork/2.20/pretext-webwork.js old mode 100644 new mode 100755 diff --git a/_static/pretext/js/pretext.js b/_static/pretext/js/pretext.js old mode 100644 new mode 100755 diff --git a/_static/pretext/js/pretext_add_on.js b/_static/pretext/js/pretext_add_on.js old mode 100644 new mode 100755 diff --git a/_static/pretext/js/pretext_search.js b/_static/pretext/js/pretext_search.js old mode 100644 new mode 100755 diff --git a/_static/pretext/js/ptx_search.js b/_static/pretext/js/ptx_search.js old mode 100644 new mode 100755 diff --git a/_static/pretext/js/user_preferences.js b/_static/pretext/js/user_preferences.js old mode 100644 new mode 100755 diff --git a/_static/sql-wasm.wasm b/_static/sql-wasm.wasm old mode 100644 new mode 100755 diff --git a/_static/sql-wasm.wasm.gz b/_static/sql-wasm.wasm.gz old mode 100644 new mode 100755 diff --git a/_static/webpack_static_imports.json b/_static/webpack_static_imports.json old mode 100644 new mode 100755 index d220870..3f07ec2 --- a/_static/webpack_static_imports.json +++ b/_static/webpack_static_imports.json @@ -1 +1 @@ -{"js":["prefix-runtime.42217a82c75796c8.bundle.js","prefix-723.3e6434f80549315a.bundle.js","prefix-runestone.7e141ad8414abf4a.bundle.js"],"css":["prefix-723.3bccd435914aa0ff.css","prefix-runestone.f4ab138da65f4203.css"]} \ No newline at end of file +{"js":["prefix-runtime.991c135ccf182bf5.bundle.js","prefix-723.3e6434f80549315a.bundle.js","prefix-runestone.1c010553c35c544c.bundle.js"],"css":["prefix-723.3bccd435914aa0ff.css","prefix-runestone.677a75a9120449ff.css"]} \ No newline at end of file diff --git a/_static/webpack_static_imports.json.gz b/_static/webpack_static_imports.json.gz old mode 100644 new mode 100755 index 138a006..dbfa07a Binary files a/_static/webpack_static_imports.json.gz and b/_static/webpack_static_imports.json.gz differ diff --git a/_static/webpack_static_imports.xml b/_static/webpack_static_imports.xml old mode 100644 new mode 100755 index 7c4cb61..3fc346a --- a/_static/webpack_static_imports.xml +++ b/_static/webpack_static_imports.xml @@ -1,14 +1,14 @@ - prefix-runtime.42217a82c75796c8.bundle.js + prefix-runtime.991c135ccf182bf5.bundle.js prefix-723.3e6434f80549315a.bundle.js - prefix-runestone.7e141ad8414abf4a.bundle.js + prefix-runestone.1c010553c35c544c.bundle.js prefix-723.3bccd435914aa0ff.css - prefix-runestone.f4ab138da65f4203.css + prefix-runestone.677a75a9120449ff.css https://runestone.academy/cdn/runestone/ - 7.11.5 + 7.11.8 diff --git a/backmatter-2.html b/backmatter-2.html old mode 100644 new mode 100755 index bc82bd4..a198362 --- a/backmatter-2.html +++ b/backmatter-2.html @@ -9,7 +9,7 @@ - + @@ -101,15 +101,15 @@ eBookConfig.allow_pairs = false; eBookConfig.enableScratchAC = false; eBookConfig.build_info = ""; eBookConfig.python3 = null; -eBookConfig.runestone_version = '7.11.5'; +eBookConfig.runestone_version = '7.11.8'; eBookConfig.jobehost = ''; eBookConfig.proxyuri_runs = ''; eBookConfig.proxyuri_files = ''; eBookConfig.enable_chatcodes = false; - - + + @@ -129,7 +129,13 @@ eBookConfig.enable_chatcodes = false;
      -PrevUpNext + +PrevUpNext
      -
      -PrevUpNext + +PrevUpNext
      -
      -PrevUpNext + +PrevUpNext
      -
      -PrevUpNext + +PrevUpNext
      -
      -PrevUpNext + +PrevUpNext
      -
      -PrevUpNext + +PrevUpNext
      -
      -PrevUpNext + +PrevUpNext
      -
      -PrevUpNext + +PrevUpNext
      -
      -PrevUpNext + +PrevUpNext
      -PrevUpNext + +PrevUpNext
      -
      -PrevUpNext + +PrevUpNext
      -
      -PrevUpNext + +PrevUpNext
      -
      diff --git a/sec-Chi-Squared.html b/sec-Chi-Squared.html old mode 100644 new mode 100755 index a401629..72c4b00 --- a/sec-Chi-Squared.html +++ b/sec-Chi-Squared.html @@ -9,7 +9,7 @@ - + @@ -101,15 +101,15 @@ eBookConfig.allow_pairs = false; eBookConfig.enableScratchAC = false; eBookConfig.build_info = ""; eBookConfig.python3 = null; -eBookConfig.runestone_version = '7.11.5'; +eBookConfig.runestone_version = '7.11.8'; eBookConfig.jobehost = ''; eBookConfig.proxyuri_runs = ''; eBookConfig.proxyuri_files = ''; eBookConfig.enable_chatcodes = false; - - + + @@ -129,7 +129,13 @@ eBookConfig.enable_chatcodes = false;
        -PrevUpNext + +PrevUpNext
        -
        diff --git a/sec-Conditional-Probability.html b/sec-Conditional-Probability.html old mode 100644 new mode 100755 index 67b54f0..d91f5dd --- a/sec-Conditional-Probability.html +++ b/sec-Conditional-Probability.html @@ -9,7 +9,7 @@ - + @@ -101,15 +101,15 @@ eBookConfig.allow_pairs = false; eBookConfig.enableScratchAC = false; eBookConfig.build_info = ""; eBookConfig.python3 = null; -eBookConfig.runestone_version = '7.11.5'; +eBookConfig.runestone_version = '7.11.8'; eBookConfig.jobehost = ''; eBookConfig.proxyuri_runs = ''; eBookConfig.proxyuri_files = ''; eBookConfig.enable_chatcodes = false; - - + + @@ -129,7 +129,13 @@ eBookConfig.enable_chatcodes = false;
          -PrevUpNext + +PrevUpNext
          -
          -PrevUpNext + +PrevUpNext
          -
          diff --git a/sec-Continuous-RVs.html b/sec-Continuous-RVs.html old mode 100644 new mode 100755 index 806a40b..3b903d8 --- a/sec-Continuous-RVs.html +++ b/sec-Continuous-RVs.html @@ -9,7 +9,7 @@ - + @@ -101,15 +101,15 @@ eBookConfig.allow_pairs = false; eBookConfig.enableScratchAC = false; eBookConfig.build_info = ""; eBookConfig.python3 = null; -eBookConfig.runestone_version = '7.11.5'; +eBookConfig.runestone_version = '7.11.8'; eBookConfig.jobehost = ''; eBookConfig.proxyuri_runs = ''; eBookConfig.proxyuri_files = ''; eBookConfig.enable_chatcodes = false; - - + + @@ -129,7 +129,13 @@ eBookConfig.enable_chatcodes = false;
            -PrevUpNext + +PrevUpNext -PrevUpNext + +PrevUpNext
            -
            diff --git a/sec-Covariance.html b/sec-Covariance.html old mode 100644 new mode 100755 index 3d5fb97..8ba01b3 --- a/sec-Covariance.html +++ b/sec-Covariance.html @@ -9,7 +9,7 @@ - + @@ -101,15 +101,15 @@ eBookConfig.allow_pairs = false; eBookConfig.enableScratchAC = false; eBookConfig.build_info = ""; eBookConfig.python3 = null; -eBookConfig.runestone_version = '7.11.5'; +eBookConfig.runestone_version = '7.11.8'; eBookConfig.jobehost = ''; eBookConfig.proxyuri_runs = ''; eBookConfig.proxyuri_files = ''; eBookConfig.enable_chatcodes = false; - - + + @@ -129,7 +129,13 @@ eBookConfig.enable_chatcodes = false;
              -PrevUpNext + +PrevUpNext
              -
              -PrevUpNext + +PrevUpNext
              -
              -PrevUpNext + +PrevUpNext
              -
              + +
              + + + diff --git a/sec-Linear-Regression.html b/sec-Linear-Regression.html old mode 100644 new mode 100755 index 056ff95..f46b47b --- a/sec-Linear-Regression.html +++ b/sec-Linear-Regression.html @@ -9,7 +9,7 @@ - + @@ -101,15 +101,15 @@ eBookConfig.allow_pairs = false; eBookConfig.enableScratchAC = false; eBookConfig.build_info = ""; eBookConfig.python3 = null; -eBookConfig.runestone_version = '7.11.5'; +eBookConfig.runestone_version = '7.11.8'; eBookConfig.jobehost = ''; eBookConfig.proxyuri_runs = ''; eBookConfig.proxyuri_files = ''; eBookConfig.enable_chatcodes = false; - - + + @@ -129,7 +129,13 @@ eBookConfig.enable_chatcodes = false;
                -PrevUpNext + +PrevUpNext
                -
                diff --git a/sec-One-Sample-Tests.html b/sec-One-Sample-Tests.html old mode 100644 new mode 100755 index 6545b98..b984b91 --- a/sec-One-Sample-Tests.html +++ b/sec-One-Sample-Tests.html @@ -9,7 +9,7 @@ - + @@ -101,15 +101,15 @@ eBookConfig.allow_pairs = false; eBookConfig.enableScratchAC = false; eBookConfig.build_info = ""; eBookConfig.python3 = null; -eBookConfig.runestone_version = '7.11.5'; +eBookConfig.runestone_version = '7.11.8'; eBookConfig.jobehost = ''; eBookConfig.proxyuri_runs = ''; eBookConfig.proxyuri_files = ''; eBookConfig.enable_chatcodes = false; - - + + @@ -129,7 +129,13 @@ eBookConfig.enable_chatcodes = false;
                  -PrevUpNext + +PrevUpNext
                  -
                  diff --git a/sec-Power.html b/sec-Power.html old mode 100644 new mode 100755 index f614074..0ac6c0f --- a/sec-Power.html +++ b/sec-Power.html @@ -9,7 +9,7 @@ - + @@ -101,15 +101,15 @@ eBookConfig.allow_pairs = false; eBookConfig.enableScratchAC = false; eBookConfig.build_info = ""; eBookConfig.python3 = null; -eBookConfig.runestone_version = '7.11.5'; +eBookConfig.runestone_version = '7.11.8'; eBookConfig.jobehost = ''; eBookConfig.proxyuri_runs = ''; eBookConfig.proxyuri_files = ''; eBookConfig.enable_chatcodes = false; - - + + @@ -129,7 +129,13 @@ eBookConfig.enable_chatcodes = false;
                    -PrevUpNext + +PrevUpNext
                    -
                    diff --git a/sec-Probability.html b/sec-Probability.html old mode 100644 new mode 100755 index 261155b..1d9b22c --- a/sec-Probability.html +++ b/sec-Probability.html @@ -9,7 +9,7 @@ - + @@ -101,15 +101,15 @@ eBookConfig.allow_pairs = false; eBookConfig.enableScratchAC = false; eBookConfig.build_info = ""; eBookConfig.python3 = null; -eBookConfig.runestone_version = '7.11.5'; +eBookConfig.runestone_version = '7.11.8'; eBookConfig.jobehost = ''; eBookConfig.proxyuri_runs = ''; eBookConfig.proxyuri_files = ''; eBookConfig.enable_chatcodes = false; - - + + @@ -129,7 +129,13 @@ eBookConfig.enable_chatcodes = false;
                      -PrevUpNext + +PrevUpNext
                      -
                      +
                      The probability of leaving during the first 3 minutes is \(\Pr(1) + \Pr(2) + \Pr(3) = 0.657.\) +
                      + +
                      + diff --git a/sec-Set-Theory.html b/sec-Set-Theory.html old mode 100644 new mode 100755 index a4ae388..c4e3b50 --- a/sec-Set-Theory.html +++ b/sec-Set-Theory.html @@ -9,7 +9,7 @@ - + @@ -101,15 +101,15 @@ eBookConfig.allow_pairs = false; eBookConfig.enableScratchAC = false; eBookConfig.build_info = ""; eBookConfig.python3 = null; -eBookConfig.runestone_version = '7.11.5'; +eBookConfig.runestone_version = '7.11.8'; eBookConfig.jobehost = ''; eBookConfig.proxyuri_runs = ''; eBookConfig.proxyuri_files = ''; eBookConfig.enable_chatcodes = false; - - + + @@ -129,7 +129,13 @@ eBookConfig.enable_chatcodes = false;
                        -PrevUpNext + +PrevUpNext
                        -
                        -PrevUpNext + +PrevUpNext
                        -
                        diff --git a/sec-Variance.html b/sec-Variance.html old mode 100644 new mode 100755 index a36d45d..3daf18d --- a/sec-Variance.html +++ b/sec-Variance.html @@ -9,7 +9,7 @@ - + @@ -101,15 +101,15 @@ eBookConfig.allow_pairs = false; eBookConfig.enableScratchAC = false; eBookConfig.build_info = ""; eBookConfig.python3 = null; -eBookConfig.runestone_version = '7.11.5'; +eBookConfig.runestone_version = '7.11.8'; eBookConfig.jobehost = ''; eBookConfig.proxyuri_runs = ''; eBookConfig.proxyuri_files = ''; eBookConfig.enable_chatcodes = false; - - + + @@ -129,7 +129,13 @@ eBookConfig.enable_chatcodes = false;
                          -PrevUpNext + +PrevUpNext
                          -