├── README.md ├── images ├── favicon.ico ├── qutip-logo.png ├── wavefunction.png ├── research-word-cloud.png ├── numericalpython-cover.jpg ├── research-word-cloud-2.png ├── research-word-cloud-3.png ├── research-word-cloud-4.png ├── numericalpython-cover-ed3.jpg └── theory-experiment-computation.png ├── css ├── main.css ├── bootstrap-theme.min.css ├── bootstrap-theme.css.map └── bootstrap-theme.css ├── index.html ├── qdpack.html ├── qdpack_example.html ├── numericalpython.html ├── files └── Robert-Johansson-RIKEN-Public.asc ├── computing.html ├── js └── bootstrap.min.js └── research.html /README.md: -------------------------------------------------------------------------------- 1 | 2 | Repository for github web pages: 3 | 4 | http://jrjohansson.github.com 5 | -------------------------------------------------------------------------------- /images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrjohansson/jrjohansson.github.com/master/images/favicon.ico -------------------------------------------------------------------------------- /images/qutip-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrjohansson/jrjohansson.github.com/master/images/qutip-logo.png -------------------------------------------------------------------------------- /images/wavefunction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrjohansson/jrjohansson.github.com/master/images/wavefunction.png -------------------------------------------------------------------------------- /images/research-word-cloud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrjohansson/jrjohansson.github.com/master/images/research-word-cloud.png -------------------------------------------------------------------------------- /images/numericalpython-cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrjohansson/jrjohansson.github.com/master/images/numericalpython-cover.jpg -------------------------------------------------------------------------------- /images/research-word-cloud-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrjohansson/jrjohansson.github.com/master/images/research-word-cloud-2.png -------------------------------------------------------------------------------- /images/research-word-cloud-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrjohansson/jrjohansson.github.com/master/images/research-word-cloud-3.png -------------------------------------------------------------------------------- /images/research-word-cloud-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrjohansson/jrjohansson.github.com/master/images/research-word-cloud-4.png -------------------------------------------------------------------------------- /images/numericalpython-cover-ed3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrjohansson/jrjohansson.github.com/master/images/numericalpython-cover-ed3.jpg -------------------------------------------------------------------------------- /images/theory-experiment-computation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrjohansson/jrjohansson.github.com/master/images/theory-experiment-computation.png -------------------------------------------------------------------------------- /css/main.css: -------------------------------------------------------------------------------- 1 | body { font-family: Droid Serif, sans-serif; } 2 | 3 | h1, h2, h3, h4, h5, h6 { font-weight: normal; } 4 | 5 | h1 { font-size: 28.5px; } 6 | 7 | h2 { font-size: 21.5px; } 8 | 9 | h3 { font-size: 16.5px; } 10 | 11 | p { padding: 5px; align: justify;} -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | J Robert Johansson 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 51 | 52 |
53 | 54 |
55 |
56 |
57 |
58 | 59 |
60 | 61 |
62 |

Numerical Python book

63 |

64 |
65 | 66 |
67 |

Scientific computing

68 |

69 |
70 | 71 |
72 |

Physics research

73 |

74 |
75 |
76 | 77 |
78 | 79 |
80 |
81 |

82 | A book about scientific and technical computing using Python. Source code listings are available in the form of IPython notebooks, which can be downloaded or viewed online. 83 |

84 |
85 | 86 |
87 |
88 |

89 | Lectures on scientific computing with Python, computational quantum mechanics with Python, scientific computing projects (QuTiP, SymPsi, Wavefunction), and several other scientific-computing related projects. 90 |

91 |
92 | 93 |
94 |
95 |

Physics research page, including publications, presentations, posters, and research related software.

96 |
97 | 98 |
99 | 100 |
101 |
102 |
103 |

104 | 105 | Copyright © J Robert Johansson. 106 |

107 |
108 |
109 | 110 | 111 |
112 | 113 | 114 | 115 | 116 | 129 | 130 | 131 | 132 | -------------------------------------------------------------------------------- /qdpack.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | QDpack - Quantum Dynamics Package 13 | 14 | 15 | 16 | 17 | 18 | 19 | QDpack logo 20 | 21 |

22 | QDpack (Quantum Dynamics Package) is a free open-source software package (LGPL), implemented in C, for calculating the time-evolution of quantum systems. QDpack includes solvers for both unitary and dissipative dynamics, which can be applied to arbitrary quantum systems as long the total numbers of states is moderate (~100 to 300, depending on the stiffness of the problem). QDpack is a low-level C library. In order to solve a particular problem a C program needs to be created. A good starting point is one of the many examples that are included in the distribution tarball. It is often sufficient to create a new definition of a Hamiltonian to get started with a new calculation. 23 |

24 | 25 |

Change Log

26 | 27 | 31 | 32 |

Download

33 | 34 | 38 | 39 |

Features

40 | 41 | 58 | 59 |

Build and install instructions for Ubuntu Linux

60 | 61 | 76 | 77 |

Documentation

78 | 79 |

80 | To get started get started using the QD package 81 | have a look at this example, as well as the examples that are included in the source 82 | code distribution. 83 | Also, the QDpack source code is partially documented using Doxygen, 84 | which automatically generates API reference pages that can be found in the source code distribution. 85 |

86 | 87 |
88 |

89 | 90 | Copyright © Robert Johansson 91 |
92 |
93 |

94 | 95 | 97 | 101 | 102 | 103 | -------------------------------------------------------------------------------- /qdpack_example.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | QDpack example - Coupled qubits 12 | 13 | 14 | 15 | 16 | 17 |

QDpack example - Coupled qubits

18 | 19 |

20 | This document describes how to use the QD package to calculate the dynamics of a simple quantum system. The example is a 21 | system of two coupled qubits that are initially in their ground states. An RF field is applied to the first qubit which 22 | gradually excite it (Rabi oscillations). The static interaction between the qubits cause energy exchange between the 23 | qubit once energy is pumped into the first qubit via the RF field. The example program is configured to output the 24 | occupation probabilities for each qubit. 25 |

26 | 27 |

Model and parameter values

28 | 29 |

30 | The model and parameter values used in this example are the following: 31 |

32 | 33 | Model Hamiltonian and parameter values 34 | 35 |

Example source code

36 | 37 |

38 | The example programs source code is available for download here, and it is also 39 | available in the QDpack source code distribution. 40 |

41 | 42 |

Program structure

43 | 44 | 74 | 75 |

Build and run

76 | 77 |

78 | Build the example by typing "make run_qubits" in the QDpack directory. This will produce a executable file called 79 | "run_qubits". Run this program from the same directory, after making sure that the data output directory (data/qubit.dynamics) 80 | exists: 81 |

82 | 83 |
 84 | $ mkdir -p data/qubit.dynamics
 85 | $ time ./run_qubits
 86 | Quantum system with 2 sub systems: 2 2
 87 | DEBUG: combining (tensor product)
 88 | DEBUG: combining (tensor product)
 89 | DEBUG: starting dm_evolve_lme_t (Lindblad-type Master Eqaution)
 90 | 
 91 | real    0m1.078s
 92 | user    0m0.972s
 93 | sys     0m0.108s
 94 | $
 95 | 
96 | 97 |

98 | The program output is stored in the directory data/qubit.dynamics/: 99 |

100 | 101 |
102 | $ wc data/qubit.dynamics/*
103 | 1001  3003 27028 data/qubit.dynamics/qubit_population_0.dat
104 | 1001  3003 27028 data/qubit.dynamics/qubit_population_1.dat
105 | 3003  9009 81084 total
106 | $
107 | 
108 | 109 |

110 | The occupation probabilities of each qubit is stored in individual files with and integer identifier in the file name. The 111 | data is formatted in the tab-separated values (TSV) ascii format, and column one to three is: 1) time, 2) probability to be in the 112 | ground state, and 3) probability of being in the excited state, respectively" 113 |

114 | 115 |
116 | $ tail data/qubit.dynamics/qubit_population_0.dat
117 | 9.910000        0.869513        0.130487
118 | 9.920000        0.869527        0.130473
119 | 9.930000        0.869539        0.130461
120 | 9.940000        0.869553        0.130447
121 | 9.950000        0.869568        0.130432
122 | 9.960000        0.869587        0.130413
123 | 9.970000        0.869608        0.130392
124 | 9.980000        0.869634        0.130366
125 | 9.990000        0.869666        0.130334
126 | 10.000000       0.869703        0.130297
127 | $
128 | 
129 | 130 |

Plotting results

131 | 132 |

133 | Plotting the results for the occupation probabilities for the three qubis gives the following figures: 134 |

135 | 136 |
137 | $ enplot -x 0 -y 1,2 -X "time t (ns)" -Y "Occupation probabilities" -t "Occupation probability of qubit 1" -p qubit_1_populations.png data/qubit.dynamics/qubit_population_0.dat &
138 | $ enplot -x 0 -y 1,2 -X "time t (ns)" -Y "Occupation probabilities" -t "Occupation probability of qubit 2" -p qubit_2_populations.png data/qubit.dynamics/qubit_population_1.dat &
139 | 
140 | 141 | Qubit 1 - populations as a function of time. 142 | Qubit 1 - populations as a function of time. 143 | 144 |

145 | Figure caption: Left (top), the occupation probabilities of the first qubit. Fast oscillations are Rabi oscillations due 146 | to the RF driving. Slow oscillations are due to the static interaction with the second qubit. Right (bottom), the occupation 147 | probabilities of the second qubit. The oscillations are due to interaction with the first qubit. The gradual decay 148 | of oscillation visibility is due to dissipation in the second qubit (first qubit is dissipationless in this simulation). 149 |

150 | 151 |
152 |

153 | 154 | Copyright © 2008 Robert Johansson 155 |
156 |
157 |

158 | 159 | 161 | 165 | 166 | 167 | -------------------------------------------------------------------------------- /numericalpython.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | J Robert Johansson 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 51 | 52 |
53 | 54 |
55 |
56 |

Numerical Python

57 |

Scientific Computing and Data Science Applications with NumPy, SciPy and Matplotlib

58 |
59 |
60 | 61 |
62 | 63 |
64 |

 

65 |

66 | 67 |

68 |

69 | ISBN13: 979-8-8688-0412-0 (ebook 979-8-8688-0413-7) 70 |

71 | 72 |

73 | Author: Robert Johansson 74 |

75 | 76 |

77 | Publisher: Springer / Apress 78 |

79 | 80 |

81 | For more information, see the 82 | book's page on publisher's web site. 83 |

84 |
85 | 86 | 87 |
88 |

Summary

89 |

90 | Numerical Python by Robert Johansson shows you how to leverage the numerical and mathematical capabilities in Python, its standard library, and the extensive ecosystem of computationally oriented Python libraries, including popular packages such as NumPy, SciPy, SymPy, Matplotlib, Pandas, and more, and how to apply these software tools in computational problem solving. 91 |

92 | 93 |

94 | Python has gained widespread popularity as a computing language: It is nowadays employed for computing by practitioners in such diverse fields as for example scientific research, engineering, finance, and data analytics. One reason for the popularity of Python is its high-level and easy-to-work-with syntax, which enables the rapid development and exploratory computing that is required in modern computational work. 95 |

96 | 97 |

98 | After reading and using this book, you will have seen examples and case studies from many areas of computing, and gained familiarity with basic computing techniques such as array-based and symbolic computing, all-around practical skills such as visualisation and numerical file I/O, general computational methods such as equation solving, optimization, interpolation and integration, and domain-specific computational problems, such as differential equation solving, data analysis, statistical modeling and machine learning. 99 |

100 |
101 | 102 |
103 |

TOC and source code notebooks

104 |

105 | Each chapter is accompanied with a IPython notebook containing the source code listings. The notebooks can be downloaded from the publisher's web site (here) or viewed online via github or nbviewer: 106 |

107 | 108 |
    109 | 110 |
  1. 111 | Introduction to computing with Python 112 |
  2. 113 | 114 |
  3. 115 | Vectors, matrices and multidimensional arrays 116 |
  4. 117 | 118 |
  5. 119 | Symbolic computing 120 |
  6. 121 | 122 |
  7. 123 | Plotting and visualization 124 |
  8. 125 | 126 |
  9. 127 | Equation solving 128 |
  10. 129 | 130 |
  11. 131 | Optimization 132 |
  12. 133 | 134 |
  13. 135 | Interpolation 136 |
  14. 137 | 138 |
  15. 139 | Integration 140 |
  16. 141 | 142 |
  17. 143 | Ordinary differential equations 144 |
  18. 145 | 146 |
  19. 147 | Sparse matrices and graphs 148 |
  20. 149 | 150 |
  21. 151 | Partial differential equations 152 |
  22. 153 | 154 |
  23. 155 | Data processing and analysis 156 |
  24. 157 | 158 |
  25. 159 | Statistics 160 |
  26. 161 | 162 |
  27. 163 | Statistical modeling 164 |
  28. 165 | 166 |
  29. 167 | Machine learning 168 |
  30. 169 | 170 | 171 |
  31. 172 | Bayesian statistics 173 |
  32. 174 | 175 |
  33. 176 | Signal processing 177 |
  34. 178 | 179 |
  35. 180 | Data input and output 181 |
  36. 182 | 183 |
  37. 184 | Code optimization 185 |
  38. 186 | 187 |
  39. 188 | Appendix: Installation 189 |
  40. 190 | 191 |
192 | 193 | 194 |
195 |
196 | 197 | 198 |
199 |
200 |
201 |

202 | 203 | Copyright © J Robert Johansson. 204 | 205 |

206 |
207 |
208 | 209 | 210 |
211 | 212 | 213 | 214 | 215 | 228 | 229 | 230 | 231 | -------------------------------------------------------------------------------- /files/Robert-Johansson-RIKEN-Public.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | Version: GnuPG v1.4.11 (GNU/Linux) 3 | 4 | mQENBEx0he4BCAD8e/n23yv0OLEucNfAZ5D2JejyuUtHJS/4GvVU8zy5ymuuO5/1 5 | oJSYT075ynj65aqoGwh31snl5/mx2iAu7Q4+PRHxnJqzxS/3q35mtcExUa/1/9Bd 6 | HWmJMD0f8Y3pRfx1GXzi4NTv4+qyz9VQsQpLCsAA7+CIhGrAxkuin5JFcORNsSx8 7 | jIFt0kxvqo+vKBBqOrc8DRkG0aRlYS22wPi42Konmezmt73QTqzEVN9eVMo9Wx6b 8 | m83UpmKYyFCB/LJGoSUivlSTP8igKKyrPGOvrfhpKM4bELTc984SYAiB/wcZlEuQ 9 | sYImsOKw++FLxYok0np+SliE45VWUY31GhzRABEBAAG0IlJvYmVydCBKb2hhbnNz 10 | b24gPHJvYmVydEByaWtlbi5qcD6JATgEEwECACIFAkx0he4CGwMGCwkIBwMCBhUI 11 | AgkKCwQWAgMBAh4BAheAAAoJEGxO33Z36c1SyPIH/16VXn9fU1Cj8Usoi6lwpRY7 12 | a3yPVguRY7I2nb40AIgazia3YKJQNsCc63MMo5LWEUBwKyKgTGuTW8b5VGNtekPk 13 | uBJyB9SHChg1HjcwGNJovGiIuBq88UrtiKbnXftnMSpxaLf/A1M05l12sYZUuJ4J 14 | ERr4FzZ1WYARfRhqoMZX+znKiqTqQcqUMMpfADk8d7TtgvoIpsBYBEMqZcjNPgLQ 15 | 2PrceQOH7Wr96GmhXOAunxMJj4N2NvMHIdLuT5AMtsvBvL3rXI5LqkKRTO0LNqqb 16 | HqeVdJ/F+xATT0WXUQas5DFETXmZgcR5auAS5Mq9gkdyeU0pZSjpF2NwSuc6+IKJ 17 | ATsEEwECACUCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheABQJMdIdjAhkBAAoJ 18 | EGxO33Z36c1S9doIAMm7RLJDj+KJH9EccpSWaa+urLJel6M7L+nIJLzcAiWpzkSU 19 | fvrgDT5Yv0DLw9Og9mvwJ5TG8cUVTX4TIYsl4a3NLn1uLSO057u4YM4bLAyDJDQG 20 | 2nH01KdIexCK2Gf12iwalpOQawMxo81w2JBovTWq7hUjMjOpcprjw2ujaNE0loqM 21 | W4yRoRbat7Fz9xqrp8uvIwAwKgCNiqFtkEOvgQW8BUglySVbrP6o8dYIGiHLjVL4 22 | GySMW7hFHl3XK6ZoFgR8sMdTIFTHxUwaIkQgm4fSdFHc1RljDydTk9vLkfvgcpm3 23 | kbSFsvfGWQd/PJGE9nDj+wMsaC2nAKUCWp9V8wqIRgQQEQIABgUCTHSGSQAKCRAQ 24 | wwt3EVTTGL84AKCBgRa2hI1CZt9sjf0I6JL6qxzm5QCgsncsOFL9sj0+/PR9xHap 25 | 1QUSG0bR3rPesQEQAAEBAAAAAAAAAAAAAAAA/9j/4AAQSkZJRgABAQAAAQABAAD/ 26 | /gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcgSlBFRyB2NjIpLCBx 27 | dWFsaXR5ID0gODUK/9sAQwAFAwQEBAMFBAQEBQUFBgcMCAcHBwcPCwsJDBEPEhIR 28 | DxERExYcFxMUGhURERghGBodHR8fHxMXIiQiHiQcHh8e/9sAQwEFBQUHBgcOCAgO 29 | HhQRFB4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4e 30 | Hh4eHh4e/8AAEQgAyADIAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAAB 31 | AgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQci 32 | cRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElK 33 | U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeo 34 | qaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5 35 | +v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQH 36 | BQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDTh 37 | JfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5 38 | eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT 39 | 1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8Au6jo8sUhEJ8x 40 | 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 213 | =sQaX 214 | -----END PGP PUBLIC KEY BLOCK----- 215 | -------------------------------------------------------------------------------- /computing.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | J Robert Johansson 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 51 | 52 |
53 | 54 |
55 |
56 |

Scientific computing projects


57 |
58 |
59 | 60 |
61 | 62 |
63 |

64 | QuTiP logo 65 | QuTiP is an open-source python framework for simulating the dynamics of quantum systems. 66 | QuTiP is based on the excellent Numpy and Scipy numerical packages, and graphical output is provided by Matplotlib. QuTiP aims to provide user-friendly and efficient numerical 69 | simulations of a wide variety of quantum mechanical problems commonly found in physics applications in fields 70 | such as quantum optics, trapped ions, superconducting circuits, and quantum nanomechanical resonators. 71 |

72 | 73 |

74 | More information and documentation is available at the QuTiP web page, and at the 75 | QuTiP github repositories. 76 |

77 | 78 |

79 | Wavefunction logo wavefunction 80 | is a Python package for calculating wavefunctions, energy levels, transition rates, etc., for 1 and 2 dimensional potentials. It includes examples for the harmonic oscillator, flux and current bias phase qubits, the Morse potential, and Flux qubits. 81 |

82 | 83 |

84 | More information and documentation is available at the 85 | github repository. 86 |

87 | 88 |

IPython extensions

89 |

90 | Various extensions for use with the IPython notebook. 91 |

92 | 93 |
    94 |
  • version_information: An IPython 95 | extension for showing version information for dependency modules. See the 96 | example notebook 97 | for installation and usage instructions.
  • 98 |
  • ipython-circuitikz: 99 | An IPython extension for generating and displaying electrical circuit diagrams in the 100 | IPython notebook, using LaTeX and the CircuiTikz package. There is an 101 | example notebook with installation and usage instructions.
  • 102 |
  • ipython-asymptote: 103 | An IPython extension for generating and displaying scientific figures in the 104 | IPython notebook, using the Asymptote vector graphics language. See the 105 | example notebook for details.
  • 106 |
107 |
108 | 109 |
110 |

Lectures on QuTiP

111 |

112 | A series of computationally-oriented lectures on quantum mechanics and quantum optics using QuTiP and iPython notebooks. 114 | The notebooks can be downloaded from the qutip-lectures github repository (ZIP), or viewed online (read-only) using the links below. 115 | The following topics are covered: 116 |

117 | 118 | 217 | 218 |

Symbolic quantum mechanics

219 |

220 | IPython notebooks on symbolic quantum mechanics with SymPy and SymPsi. The notebooks are available from the sympsi-notebooks repository at github, and can 221 | be view as static HTML pages via these links: 222 |

223 | 224 | 231 | 232 |

Wavefunction notebooks

233 |

234 | IPython notebooks with examples for the 235 | wavefunction python package. 236 | More examples are available in the 237 | github repository. 238 |

239 | 240 | 247 | 248 | 249 |
250 | 251 | 252 |
253 |

Lectures on scientific computing with Python

254 |

255 | A series of lectures on scientific computing using python. The lectures are written as IPython notebooks, which means that you can interactively edit and run the code. Download the notebooks from the scientific-python-lectures github repository (ZIP), or browse them online (read-only) using the these links: 256 |

257 | 258 |

259 |

298 |

299 | 300 |

Reproduced papers

301 |

302 | A collection of IPython notebooks with reproduced numerical results (to varying degree of detail) for some interesting 303 | papers. The notebooks are available for download at the 304 | reproduced-papers github repository, and 305 | can be previewed online using the following links: 306 |

307 | 308 | 317 | 318 |

319 | See also 320 | reproduced-papers.github.io. 321 |

322 |
323 | 324 |
325 | 326 |
327 |
328 |
329 |

330 | 331 | Copyright © J Robert Johansson. 332 | 333 |

334 |
335 |
336 | 337 | 338 |
339 | 340 | 341 | 342 | 343 | 356 | 357 | 358 | 359 | -------------------------------------------------------------------------------- /css/bootstrap-theme.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v3.2.0 (http://getbootstrap.com) 3 | * Copyright 2011-2014 Twitter, Inc. 4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 5 | */.btn-default,.btn-primary,.btn-success,.btn-info,.btn-warning,.btn-danger{text-shadow:0 -1px 0 rgba(0,0,0,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.btn-default:active,.btn-primary:active,.btn-success:active,.btn-info:active,.btn-warning:active,.btn-danger:active,.btn-default.active,.btn-primary.active,.btn-success.active,.btn-info.active,.btn-warning.active,.btn-danger.active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn:active,.btn.active{background-image:none}.btn-default{text-shadow:0 1px 0 #fff;background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-o-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e0e0e0));background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#dbdbdb;border-color:#ccc}.btn-default:hover,.btn-default:focus{background-color:#e0e0e0;background-position:0 -15px}.btn-default:active,.btn-default.active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-default:disabled,.btn-default[disabled]{background-color:#e0e0e0;background-image:none}.btn-primary{background-image:-webkit-linear-gradient(top,#428bca 0,#2d6ca2 100%);background-image:-o-linear-gradient(top,#428bca 0,#2d6ca2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#428bca),to(#2d6ca2));background-image:linear-gradient(to bottom,#428bca 0,#2d6ca2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff2d6ca2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#2b669a}.btn-primary:hover,.btn-primary:focus{background-color:#2d6ca2;background-position:0 -15px}.btn-primary:active,.btn-primary.active{background-color:#2d6ca2;border-color:#2b669a}.btn-primary:disabled,.btn-primary[disabled]{background-color:#2d6ca2;background-image:none}.btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#419641));background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:hover,.btn-success:focus{background-color:#419641;background-position:0 -15px}.btn-success:active,.btn-success.active{background-color:#419641;border-color:#3e8f3e}.btn-success:disabled,.btn-success[disabled]{background-color:#419641;background-image:none}.btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#2aabd2));background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:hover,.btn-info:focus{background-color:#2aabd2;background-position:0 -15px}.btn-info:active,.btn-info.active{background-color:#2aabd2;border-color:#28a4c9}.btn-info:disabled,.btn-info[disabled]{background-color:#2aabd2;background-image:none}.btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#eb9316));background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:hover,.btn-warning:focus{background-color:#eb9316;background-position:0 -15px}.btn-warning:active,.btn-warning.active{background-color:#eb9316;border-color:#e38d13}.btn-warning:disabled,.btn-warning[disabled]{background-color:#eb9316;background-image:none}.btn-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c12e2a));background-image:linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:hover,.btn-danger:focus{background-color:#c12e2a;background-position:0 -15px}.btn-danger:active,.btn-danger.active{background-color:#c12e2a;border-color:#b92c28}.btn-danger:disabled,.btn-danger[disabled]{background-color:#c12e2a;background-image:none}.thumbnail,.img-thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{background-color:#357ebd;background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:-o-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#428bca),to(#357ebd));background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);background-repeat:repeat-x}.navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-o-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f8f8f8));background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.navbar-default .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f3f3f3 100%);background-image:-o-linear-gradient(top,#ebebeb 0,#f3f3f3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#f3f3f3));background-image:linear-gradient(to bottom,#ebebeb 0,#f3f3f3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-o-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#3c3c3c),to(#222));background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x}.navbar-inverse .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#222 0,#282828 100%);background-image:-o-linear-gradient(top,#222 0,#282828 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#222),to(#282828));background-image:linear-gradient(to bottom,#222 0,#282828 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-static-top,.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}.alert{text-shadow:0 1px 0 rgba(255,255,255,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#c8e5bc));background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);background-repeat:repeat-x;border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#b9def0));background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);background-repeat:repeat-x;border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#f8efc0));background-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);background-repeat:repeat-x;border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-o-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#e7c3c3));background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);background-repeat:repeat-x;border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#f5f5f5));background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x}.progress-bar{background-image:-webkit-linear-gradient(top,#428bca 0,#3071a9 100%);background-image:-o-linear-gradient(top,#428bca 0,#3071a9 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#428bca),to(#3071a9));background-image:linear-gradient(to bottom,#428bca 0,#3071a9 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0);background-repeat:repeat-x}.progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#449d44));background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);background-repeat:repeat-x}.progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#31b0d5));background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);background-repeat:repeat-x}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#ec971f));background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);background-repeat:repeat-x}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c9302c));background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);background-repeat:repeat-x}.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{text-shadow:0 -1px 0 #3071a9;background-image:-webkit-linear-gradient(top,#428bca 0,#3278b3 100%);background-image:-o-linear-gradient(top,#428bca 0,#3278b3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#428bca),to(#3278b3));background-image:linear-gradient(to bottom,#428bca 0,#3278b3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0);background-repeat:repeat-x;border-color:#3278b3}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:-o-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#428bca),to(#357ebd));background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);background-repeat:repeat-x}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#d0e9c6));background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);background-repeat:repeat-x}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#c4e3f3));background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);background-repeat:repeat-x}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#faf2cc));background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);background-repeat:repeat-x}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-o-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#ebcccc));background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);background-repeat:repeat-x}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#e8e8e8),to(#f5f5f5));background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x;border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)} -------------------------------------------------------------------------------- /css/bootstrap-theme.css.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"bootstrap-theme.css","sources":["less/theme.less","less/mixins/vendor-prefixes.less","bootstrap-theme.css","less/mixins/gradients.less","less/mixins/reset-filter.less"],"names":[],"mappings":"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","sourcesContent":["\n//\n// Load core variables and mixins\n// --------------------------------------------------\n\n@import \"variables.less\";\n@import \"mixins.less\";\n\n\n\n//\n// Buttons\n// --------------------------------------------------\n\n// Common styles\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0,0,0,.2);\n @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075);\n .box-shadow(@shadow);\n\n // Reset the shadow\n &:active,\n &.active {\n .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n }\n}\n\n// Mixin for generating new styles\n.btn-styles(@btn-color: #555) {\n #gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 12%));\n .reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners\n background-repeat: repeat-x;\n border-color: darken(@btn-color, 14%);\n\n &:hover,\n &:focus {\n background-color: darken(@btn-color, 12%);\n background-position: 0 -15px;\n }\n\n &:active,\n &.active {\n background-color: darken(@btn-color, 12%);\n border-color: darken(@btn-color, 14%);\n }\n\n &:disabled,\n &[disabled] {\n background-color: darken(@btn-color, 12%);\n background-image: none;\n }\n}\n\n// Common styles\n.btn {\n // Remove the gradient for the pressed/active state\n &:active,\n &.active {\n background-image: none;\n }\n}\n\n// Apply the mixin to the buttons\n.btn-default { .btn-styles(@btn-default-bg); text-shadow: 0 1px 0 #fff; border-color: #ccc; }\n.btn-primary { .btn-styles(@btn-primary-bg); }\n.btn-success { .btn-styles(@btn-success-bg); }\n.btn-info { .btn-styles(@btn-info-bg); }\n.btn-warning { .btn-styles(@btn-warning-bg); }\n.btn-danger { .btn-styles(@btn-danger-bg); }\n\n\n\n//\n// Images\n// --------------------------------------------------\n\n.thumbnail,\n.img-thumbnail {\n .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n\n\n\n//\n// Dropdowns\n// --------------------------------------------------\n\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%));\n background-color: darken(@dropdown-link-hover-bg, 5%);\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n background-color: darken(@dropdown-link-active-bg, 5%);\n}\n\n\n\n//\n// Navbar\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n #gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered\n border-radius: @navbar-border-radius;\n @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);\n .box-shadow(@shadow);\n\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: darken(@navbar-default-bg, 5%); @end-color: darken(@navbar-default-bg, 2%));\n .box-shadow(inset 0 3px 9px rgba(0,0,0,.075));\n }\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255,255,255,.25);\n}\n\n// Inverted navbar\n.navbar-inverse {\n #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered\n\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: @navbar-inverse-bg; @end-color: lighten(@navbar-inverse-bg, 2.5%));\n .box-shadow(inset 0 3px 9px rgba(0,0,0,.25));\n }\n\n .navbar-brand,\n .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0,0,0,.25);\n }\n}\n\n// Undo rounded corners in static and fixed navbars\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n\n\n\n//\n// Alerts\n// --------------------------------------------------\n\n// Common styles\n.alert {\n text-shadow: 0 1px 0 rgba(255,255,255,.2);\n @shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 1px 2px rgba(0,0,0,.05);\n .box-shadow(@shadow);\n}\n\n// Mixin for generating new styles\n.alert-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 7.5%));\n border-color: darken(@color, 15%);\n}\n\n// Apply the mixin to the alerts\n.alert-success { .alert-styles(@alert-success-bg); }\n.alert-info { .alert-styles(@alert-info-bg); }\n.alert-warning { .alert-styles(@alert-warning-bg); }\n.alert-danger { .alert-styles(@alert-danger-bg); }\n\n\n\n//\n// Progress bars\n// --------------------------------------------------\n\n// Give the progress background some depth\n.progress {\n #gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg)\n}\n\n// Mixin for generating new styles\n.progress-bar-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 10%));\n}\n\n// Apply the mixin to the progress bars\n.progress-bar { .progress-bar-styles(@progress-bar-bg); }\n.progress-bar-success { .progress-bar-styles(@progress-bar-success-bg); }\n.progress-bar-info { .progress-bar-styles(@progress-bar-info-bg); }\n.progress-bar-warning { .progress-bar-styles(@progress-bar-warning-bg); }\n.progress-bar-danger { .progress-bar-styles(@progress-bar-danger-bg); }\n\n// Reset the striped class because our mixins don't do multiple gradients and\n// the above custom styles override the new `.progress-bar-striped` in v3.2.0.\n.progress-bar-striped {\n #gradient > .striped();\n}\n\n\n//\n// List groups\n// --------------------------------------------------\n\n.list-group {\n border-radius: @border-radius-base;\n .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%);\n #gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%));\n border-color: darken(@list-group-active-border, 7.5%);\n}\n\n\n\n//\n// Panels\n// --------------------------------------------------\n\n// Common styles\n.panel {\n .box-shadow(0 1px 2px rgba(0,0,0,.05));\n}\n\n// Mixin for generating new styles\n.panel-heading-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 5%));\n}\n\n// Apply the mixin to the panel headings only\n.panel-default > .panel-heading { .panel-heading-styles(@panel-default-heading-bg); }\n.panel-primary > .panel-heading { .panel-heading-styles(@panel-primary-heading-bg); }\n.panel-success > .panel-heading { .panel-heading-styles(@panel-success-heading-bg); }\n.panel-info > .panel-heading { .panel-heading-styles(@panel-info-heading-bg); }\n.panel-warning > .panel-heading { .panel-heading-styles(@panel-warning-heading-bg); }\n.panel-danger > .panel-heading { .panel-heading-styles(@panel-danger-heading-bg); }\n\n\n\n//\n// Wells\n// --------------------------------------------------\n\n.well {\n #gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg);\n border-color: darken(@well-bg, 10%);\n @shadow: inset 0 1px 3px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1);\n .box-shadow(@shadow);\n}\n","// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They will be removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n -webkit-animation: @animation;\n -o-animation: @animation;\n animation: @animation;\n}\n.animation-name(@name) {\n -webkit-animation-name: @name;\n animation-name: @name;\n}\n.animation-duration(@duration) {\n -webkit-animation-duration: @duration;\n animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n -webkit-animation-timing-function: @timing-function;\n animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n -webkit-animation-delay: @delay;\n animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n -webkit-animation-iteration-count: @iteration-count;\n animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n -webkit-animation-direction: @direction;\n animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n -webkit-animation-fill-mode: @fill-mode;\n animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility){\n -webkit-backface-visibility: @visibility;\n -moz-backface-visibility: @visibility;\n backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n -webkit-box-sizing: @boxmodel;\n -moz-box-sizing: @boxmodel;\n box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n -webkit-column-count: @column-count;\n -moz-column-count: @column-count;\n column-count: @column-count;\n -webkit-column-gap: @column-gap;\n -moz-column-gap: @column-gap;\n column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n word-wrap: break-word;\n -webkit-hyphens: @mode;\n -moz-hyphens: @mode;\n -ms-hyphens: @mode; // IE10+\n -o-hyphens: @mode;\n hyphens: @mode;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n &::-moz-placeholder { color: @color; // Firefox\n opacity: 1; } // See https://github.com/twbs/bootstrap/pull/11526\n &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n -webkit-transform: scale(@ratio);\n -ms-transform: scale(@ratio); // IE9 only\n -o-transform: scale(@ratio);\n transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n -webkit-transform: scale(@ratioX, @ratioY);\n -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n -o-transform: scale(@ratioX, @ratioY);\n transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n -webkit-transform: scaleX(@ratio);\n -ms-transform: scaleX(@ratio); // IE9 only\n -o-transform: scaleX(@ratio);\n transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n -webkit-transform: scaleY(@ratio);\n -ms-transform: scaleY(@ratio); // IE9 only\n -o-transform: scaleY(@ratio);\n transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n -webkit-transform: skewX(@x) skewY(@y);\n -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n -o-transform: skewX(@x) skewY(@y);\n transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n -webkit-transform: translate(@x, @y);\n -ms-transform: translate(@x, @y); // IE9 only\n -o-transform: translate(@x, @y);\n transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n -webkit-transform: translate3d(@x, @y, @z);\n transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n -webkit-transform: rotate(@degrees);\n -ms-transform: rotate(@degrees); // IE9 only\n -o-transform: rotate(@degrees);\n transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n -webkit-transform: rotateX(@degrees);\n -ms-transform: rotateX(@degrees); // IE9 only\n -o-transform: rotateX(@degrees);\n transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n -webkit-transform: rotateY(@degrees);\n -ms-transform: rotateY(@degrees); // IE9 only\n -o-transform: rotateY(@degrees);\n transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n -webkit-perspective: @perspective;\n -moz-perspective: @perspective;\n perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n -webkit-perspective-origin: @perspective;\n -moz-perspective-origin: @perspective;\n perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n -webkit-transform-origin: @origin;\n -moz-transform-origin: @origin;\n -ms-transform-origin: @origin; // IE9 only\n transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n -webkit-transition: @transition;\n -o-transition: @transition;\n transition: @transition;\n}\n.transition-property(@transition-property) {\n -webkit-transition-property: @transition-property;\n transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n -webkit-transition-delay: @transition-delay;\n transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n -webkit-transition-duration: @transition-duration;\n transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n -webkit-transition-timing-function: @timing-function;\n transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n -webkit-transition: -webkit-transform @transition;\n -moz-transition: -moz-transform @transition;\n -o-transition: -o-transform @transition;\n transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n -webkit-user-select: @select;\n -moz-user-select: @select;\n -ms-user-select: @select; // IE10+\n user-select: @select;\n}\n",null,"// Gradients\n\n#gradient {\n\n // Horizontal gradient, from left to right\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n // Vertical gradient, from top to bottom\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n background-repeat: repeat-x;\n background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n }\n .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .radial(@inner-color: #555; @outer-color: #333) {\n background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n background-image: radial-gradient(circle, @inner-color, @outer-color);\n background-repeat: no-repeat;\n }\n .striped(@color: rgba(255,255,255,.15); @angle: 45deg) {\n background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n }\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n"]} -------------------------------------------------------------------------------- /css/bootstrap-theme.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v3.2.0 (http://getbootstrap.com) 3 | * Copyright 2011-2014 Twitter, Inc. 4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 5 | */ 6 | 7 | .btn-default, 8 | .btn-primary, 9 | .btn-success, 10 | .btn-info, 11 | .btn-warning, 12 | .btn-danger { 13 | text-shadow: 0 -1px 0 rgba(0, 0, 0, .2); 14 | -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075); 15 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075); 16 | } 17 | .btn-default:active, 18 | .btn-primary:active, 19 | .btn-success:active, 20 | .btn-info:active, 21 | .btn-warning:active, 22 | .btn-danger:active, 23 | .btn-default.active, 24 | .btn-primary.active, 25 | .btn-success.active, 26 | .btn-info.active, 27 | .btn-warning.active, 28 | .btn-danger.active { 29 | -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); 30 | box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); 31 | } 32 | .btn:active, 33 | .btn.active { 34 | background-image: none; 35 | } 36 | .btn-default { 37 | text-shadow: 0 1px 0 #fff; 38 | background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%); 39 | background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%); 40 | background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0)); 41 | background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%); 42 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0); 43 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); 44 | background-repeat: repeat-x; 45 | border-color: #dbdbdb; 46 | border-color: #ccc; 47 | } 48 | .btn-default:hover, 49 | .btn-default:focus { 50 | background-color: #e0e0e0; 51 | background-position: 0 -15px; 52 | } 53 | .btn-default:active, 54 | .btn-default.active { 55 | background-color: #e0e0e0; 56 | border-color: #dbdbdb; 57 | } 58 | .btn-default:disabled, 59 | .btn-default[disabled] { 60 | background-color: #e0e0e0; 61 | background-image: none; 62 | } 63 | .btn-primary { 64 | background-image: -webkit-linear-gradient(top, #428bca 0%, #2d6ca2 100%); 65 | background-image: -o-linear-gradient(top, #428bca 0%, #2d6ca2 100%); 66 | background-image: -webkit-gradient(linear, left top, left bottom, from(#428bca), to(#2d6ca2)); 67 | background-image: linear-gradient(to bottom, #428bca 0%, #2d6ca2 100%); 68 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff2d6ca2', GradientType=0); 69 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); 70 | background-repeat: repeat-x; 71 | border-color: #2b669a; 72 | } 73 | .btn-primary:hover, 74 | .btn-primary:focus { 75 | background-color: #2d6ca2; 76 | background-position: 0 -15px; 77 | } 78 | .btn-primary:active, 79 | .btn-primary.active { 80 | background-color: #2d6ca2; 81 | border-color: #2b669a; 82 | } 83 | .btn-primary:disabled, 84 | .btn-primary[disabled] { 85 | background-color: #2d6ca2; 86 | background-image: none; 87 | } 88 | .btn-success { 89 | background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%); 90 | background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%); 91 | background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641)); 92 | background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%); 93 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0); 94 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); 95 | background-repeat: repeat-x; 96 | border-color: #3e8f3e; 97 | } 98 | .btn-success:hover, 99 | .btn-success:focus { 100 | background-color: #419641; 101 | background-position: 0 -15px; 102 | } 103 | .btn-success:active, 104 | .btn-success.active { 105 | background-color: #419641; 106 | border-color: #3e8f3e; 107 | } 108 | .btn-success:disabled, 109 | .btn-success[disabled] { 110 | background-color: #419641; 111 | background-image: none; 112 | } 113 | .btn-info { 114 | background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%); 115 | background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%); 116 | background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2)); 117 | background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%); 118 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0); 119 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); 120 | background-repeat: repeat-x; 121 | border-color: #28a4c9; 122 | } 123 | .btn-info:hover, 124 | .btn-info:focus { 125 | background-color: #2aabd2; 126 | background-position: 0 -15px; 127 | } 128 | .btn-info:active, 129 | .btn-info.active { 130 | background-color: #2aabd2; 131 | border-color: #28a4c9; 132 | } 133 | .btn-info:disabled, 134 | .btn-info[disabled] { 135 | background-color: #2aabd2; 136 | background-image: none; 137 | } 138 | .btn-warning { 139 | background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%); 140 | background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%); 141 | background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316)); 142 | background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%); 143 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0); 144 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); 145 | background-repeat: repeat-x; 146 | border-color: #e38d13; 147 | } 148 | .btn-warning:hover, 149 | .btn-warning:focus { 150 | background-color: #eb9316; 151 | background-position: 0 -15px; 152 | } 153 | .btn-warning:active, 154 | .btn-warning.active { 155 | background-color: #eb9316; 156 | border-color: #e38d13; 157 | } 158 | .btn-warning:disabled, 159 | .btn-warning[disabled] { 160 | background-color: #eb9316; 161 | background-image: none; 162 | } 163 | .btn-danger { 164 | background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%); 165 | background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%); 166 | background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a)); 167 | background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%); 168 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0); 169 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); 170 | background-repeat: repeat-x; 171 | border-color: #b92c28; 172 | } 173 | .btn-danger:hover, 174 | .btn-danger:focus { 175 | background-color: #c12e2a; 176 | background-position: 0 -15px; 177 | } 178 | .btn-danger:active, 179 | .btn-danger.active { 180 | background-color: #c12e2a; 181 | border-color: #b92c28; 182 | } 183 | .btn-danger:disabled, 184 | .btn-danger[disabled] { 185 | background-color: #c12e2a; 186 | background-image: none; 187 | } 188 | .thumbnail, 189 | .img-thumbnail { 190 | -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075); 191 | box-shadow: 0 1px 2px rgba(0, 0, 0, .075); 192 | } 193 | .dropdown-menu > li > a:hover, 194 | .dropdown-menu > li > a:focus { 195 | background-color: #e8e8e8; 196 | background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); 197 | background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); 198 | background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8)); 199 | background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); 200 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0); 201 | background-repeat: repeat-x; 202 | } 203 | .dropdown-menu > .active > a, 204 | .dropdown-menu > .active > a:hover, 205 | .dropdown-menu > .active > a:focus { 206 | background-color: #357ebd; 207 | background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%); 208 | background-image: -o-linear-gradient(top, #428bca 0%, #357ebd 100%); 209 | background-image: -webkit-gradient(linear, left top, left bottom, from(#428bca), to(#357ebd)); 210 | background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%); 211 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0); 212 | background-repeat: repeat-x; 213 | } 214 | .navbar-default { 215 | background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%); 216 | background-image: -o-linear-gradient(top, #fff 0%, #f8f8f8 100%); 217 | background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f8f8f8)); 218 | background-image: linear-gradient(to bottom, #fff 0%, #f8f8f8 100%); 219 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0); 220 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); 221 | background-repeat: repeat-x; 222 | border-radius: 4px; 223 | -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075); 224 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075); 225 | } 226 | .navbar-default .navbar-nav > .active > a { 227 | background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f3f3f3 100%); 228 | background-image: -o-linear-gradient(top, #ebebeb 0%, #f3f3f3 100%); 229 | background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f3f3f3)); 230 | background-image: linear-gradient(to bottom, #ebebeb 0%, #f3f3f3 100%); 231 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0); 232 | background-repeat: repeat-x; 233 | -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075); 234 | box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075); 235 | } 236 | .navbar-brand, 237 | .navbar-nav > li > a { 238 | text-shadow: 0 1px 0 rgba(255, 255, 255, .25); 239 | } 240 | .navbar-inverse { 241 | background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%); 242 | background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%); 243 | background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222)); 244 | background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%); 245 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0); 246 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); 247 | background-repeat: repeat-x; 248 | } 249 | .navbar-inverse .navbar-nav > .active > a { 250 | background-image: -webkit-linear-gradient(top, #222 0%, #282828 100%); 251 | background-image: -o-linear-gradient(top, #222 0%, #282828 100%); 252 | background-image: -webkit-gradient(linear, left top, left bottom, from(#222), to(#282828)); 253 | background-image: linear-gradient(to bottom, #222 0%, #282828 100%); 254 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0); 255 | background-repeat: repeat-x; 256 | -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25); 257 | box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25); 258 | } 259 | .navbar-inverse .navbar-brand, 260 | .navbar-inverse .navbar-nav > li > a { 261 | text-shadow: 0 -1px 0 rgba(0, 0, 0, .25); 262 | } 263 | .navbar-static-top, 264 | .navbar-fixed-top, 265 | .navbar-fixed-bottom { 266 | border-radius: 0; 267 | } 268 | .alert { 269 | text-shadow: 0 1px 0 rgba(255, 255, 255, .2); 270 | -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05); 271 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05); 272 | } 273 | .alert-success { 274 | background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%); 275 | background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%); 276 | background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc)); 277 | background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%); 278 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0); 279 | background-repeat: repeat-x; 280 | border-color: #b2dba1; 281 | } 282 | .alert-info { 283 | background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%); 284 | background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%); 285 | background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0)); 286 | background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%); 287 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0); 288 | background-repeat: repeat-x; 289 | border-color: #9acfea; 290 | } 291 | .alert-warning { 292 | background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%); 293 | background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%); 294 | background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0)); 295 | background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%); 296 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0); 297 | background-repeat: repeat-x; 298 | border-color: #f5e79e; 299 | } 300 | .alert-danger { 301 | background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%); 302 | background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%); 303 | background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3)); 304 | background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%); 305 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0); 306 | background-repeat: repeat-x; 307 | border-color: #dca7a7; 308 | } 309 | .progress { 310 | background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%); 311 | background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%); 312 | background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5)); 313 | background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%); 314 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0); 315 | background-repeat: repeat-x; 316 | } 317 | .progress-bar { 318 | background-image: -webkit-linear-gradient(top, #428bca 0%, #3071a9 100%); 319 | background-image: -o-linear-gradient(top, #428bca 0%, #3071a9 100%); 320 | background-image: -webkit-gradient(linear, left top, left bottom, from(#428bca), to(#3071a9)); 321 | background-image: linear-gradient(to bottom, #428bca 0%, #3071a9 100%); 322 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0); 323 | background-repeat: repeat-x; 324 | } 325 | .progress-bar-success { 326 | background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%); 327 | background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%); 328 | background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44)); 329 | background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%); 330 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0); 331 | background-repeat: repeat-x; 332 | } 333 | .progress-bar-info { 334 | background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%); 335 | background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%); 336 | background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5)); 337 | background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%); 338 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0); 339 | background-repeat: repeat-x; 340 | } 341 | .progress-bar-warning { 342 | background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%); 343 | background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%); 344 | background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f)); 345 | background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%); 346 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0); 347 | background-repeat: repeat-x; 348 | } 349 | .progress-bar-danger { 350 | background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%); 351 | background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%); 352 | background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c)); 353 | background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%); 354 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0); 355 | background-repeat: repeat-x; 356 | } 357 | .progress-bar-striped { 358 | background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); 359 | background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); 360 | background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); 361 | } 362 | .list-group { 363 | border-radius: 4px; 364 | -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075); 365 | box-shadow: 0 1px 2px rgba(0, 0, 0, .075); 366 | } 367 | .list-group-item.active, 368 | .list-group-item.active:hover, 369 | .list-group-item.active:focus { 370 | text-shadow: 0 -1px 0 #3071a9; 371 | background-image: -webkit-linear-gradient(top, #428bca 0%, #3278b3 100%); 372 | background-image: -o-linear-gradient(top, #428bca 0%, #3278b3 100%); 373 | background-image: -webkit-gradient(linear, left top, left bottom, from(#428bca), to(#3278b3)); 374 | background-image: linear-gradient(to bottom, #428bca 0%, #3278b3 100%); 375 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0); 376 | background-repeat: repeat-x; 377 | border-color: #3278b3; 378 | } 379 | .panel { 380 | -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05); 381 | box-shadow: 0 1px 2px rgba(0, 0, 0, .05); 382 | } 383 | .panel-default > .panel-heading { 384 | background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); 385 | background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); 386 | background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8)); 387 | background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); 388 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0); 389 | background-repeat: repeat-x; 390 | } 391 | .panel-primary > .panel-heading { 392 | background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%); 393 | background-image: -o-linear-gradient(top, #428bca 0%, #357ebd 100%); 394 | background-image: -webkit-gradient(linear, left top, left bottom, from(#428bca), to(#357ebd)); 395 | background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%); 396 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0); 397 | background-repeat: repeat-x; 398 | } 399 | .panel-success > .panel-heading { 400 | background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%); 401 | background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%); 402 | background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6)); 403 | background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%); 404 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0); 405 | background-repeat: repeat-x; 406 | } 407 | .panel-info > .panel-heading { 408 | background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%); 409 | background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%); 410 | background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3)); 411 | background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%); 412 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0); 413 | background-repeat: repeat-x; 414 | } 415 | .panel-warning > .panel-heading { 416 | background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%); 417 | background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%); 418 | background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc)); 419 | background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%); 420 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0); 421 | background-repeat: repeat-x; 422 | } 423 | .panel-danger > .panel-heading { 424 | background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%); 425 | background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%); 426 | background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc)); 427 | background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%); 428 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0); 429 | background-repeat: repeat-x; 430 | } 431 | .well { 432 | background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%); 433 | background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%); 434 | background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5)); 435 | background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%); 436 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0); 437 | background-repeat: repeat-x; 438 | border-color: #dcdcdc; 439 | -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1); 440 | box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1); 441 | } 442 | /*# sourceMappingURL=bootstrap-theme.css.map */ 443 | -------------------------------------------------------------------------------- /js/bootstrap.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v3.2.0 (http://getbootstrap.com) 3 | * Copyright 2011-2014 Twitter, Inc. 4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 5 | */ 6 | if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.2.0",d.prototype.close=function(b){function c(){f.detach().trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",c).emulateTransitionEnd(150):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.2.0",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),d[e](null==f[b]?this.options[b]:f[b]),setTimeout(a.proxy(function(){"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}a&&this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),c.preventDefault()})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b).on("keydown.bs.carousel",a.proxy(this.keydown,this)),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.2.0",c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},c.prototype.keydown=function(a){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.to=function(b){var c=this,d=this.getItemIndex(this.$active=this.$element.find(".item.active"));return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}if(e.hasClass("active"))return this.sliding=!1;var j=e[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:g});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,f&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(e)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:g});return a.support.transition&&this.$element.hasClass("slide")?(e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one("bsTransitionEnd",function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(1e3*d.css("transition-duration").slice(0,-1))):(d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger(m)),f&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b);!e&&f.toggle&&"show"==b&&(b=!b),e||d.data("bs.collapse",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};c.VERSION="3.2.0",c.DEFAULTS={toggle:!0},c.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},c.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var c=a.Event("show.bs.collapse");if(this.$element.trigger(c),!c.isDefaultPrevented()){var d=this.$parent&&this.$parent.find("> .panel > .in");if(d&&d.length){var e=d.data("bs.collapse");if(e&&e.transitioning)return;b.call(d,"hide"),e||d.data("bs.collapse",null)}var f=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[f](0),this.transitioning=1;var g=function(){this.$element.removeClass("collapsing").addClass("collapse in")[f](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return g.call(this);var h=a.camelCase(["scroll",f].join("-"));this.$element.one("bsTransitionEnd",a.proxy(g,this)).emulateTransitionEnd(350)[f](this.$element[0][h])}}},c.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(d,this)).emulateTransitionEnd(350):d.call(this)}}},c.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var d=a.fn.collapse;a.fn.collapse=b,a.fn.collapse.Constructor=c,a.fn.collapse.noConflict=function(){return a.fn.collapse=d,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(c){var d,e=a(this),f=e.attr("data-target")||c.preventDefault()||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),g=a(f),h=g.data("bs.collapse"),i=h?"toggle":e.data(),j=e.attr("data-parent"),k=j&&a(j);h&&h.transitioning||(k&&k.find('[data-toggle="collapse"][data-parent="'+j+'"]').not(e).addClass("collapsed"),e[g.hasClass("in")?"addClass":"removeClass"]("collapsed")),b.call(g,i)})}(jQuery),+function(a){"use strict";function b(b){b&&3===b.which||(a(e).remove(),a(f).each(function(){var d=c(a(this)),e={relatedTarget:this};d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown",e)),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown",e))}))}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.2.0",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('