프로젝트

일반

사용자정보

개정판 78a9d434

ID78a9d434149411767ac7b4ac65c0bebb0cf6c1c9
상위 de6d5bac
하위 b088d0f9, 5aa151cb

백흠경이(가) 약 5년 전에 추가함

issue #1366: apply flask framework

Change-Id: Icaeed7199d2c4b648d5ca8a749352719f91d67f2

차이점 보기:

DTI_PID/WebServer/app.py
1
from flask import Flask, jsonify, request, render_template
2
import cv2
3
import numpy as np
4
import sys, os
5
import json, base64
6
from PIL import Image
1
# run.py
7 2

  
8
# craft
9
sys.path.insert(0, os.path.dirname(os.path.realpath(__file__)) + '\\CRAFT_pytorch_master')
10
# service streamer
11
sys.path.insert(0, os.path.dirname(os.path.realpath(__file__)) + '\\service_streamer_master')
12
# deep ocr
13
#sys.path.insert(0, os.path.dirname(os.path.realpath(__file__)) + '\\deep_text_recognition_benchmark_master')
14
# symbol
15
sys.path.insert(0, os.path.dirname(os.path.realpath(__file__)) + '\\symbol_recognition')
3
# Add your settings here... this is a temporary location, as the settings for a Flask app
4
# should be stored separate from your main program.
5
DEBUG = True
16 6

  
17
app = Flask(__name__)
7
from app import app
18 8

  
19
def recognition(params=None):
20
    if params[0] == 'Text Area':
21
        res = text_craft.get_text_box_batch(params[1:])
22
        return ['Text Area', res]
23
    elif params[0] == 'Symbol':
24
        pass
25

  
26
try:
27
    #from model import get_prediction, batch_prediction
28
    import text_craft
29
    import test_doftech_all_images
30
    from service_streamer import ThreadedStreamer
31

  
32
    # for error at 3.8
33
    #import ctypes
34
    #ctypes.cdll.LoadLibrary('caffe2_nvrtc.dll')
35

  
36
    streamer = ThreadedStreamer(recognition, batch_size=64)
37
except ImportError as ex:
38
    ex
39
    pass
40

  
41
@app.route('/')
42
def index():
43
    return 'Hello ID2'
44

  
45
@app.route('/requset_license_key/')
46
def requset_license_key():
47
    return render_template('license.html')
48

  
49
@app.route('/gen_key', methods=['POST'])
50
def gen_key():
51
    import base64
52

  
53
    if request.method == 'POST':
54
        r = request
55

  
56
        key = 'Image Drawing to Intelligent Drawing'
57

  
58
        pw = r.form['Authorization']
59
        clear = r.form['Computer_Name']
60

  
61
        if pw != 'admin':
62
            return 'Invalid Authorization'
63

  
64
        enc = []
65
        for i in range(len(clear)):
66
            key_c = key[i % len(key)]
67
            enc_c = (ord(clear[i]) + ord(key_c)) % 256
68
            enc.append(enc_c)
69

  
70
        new_key = base64.urlsafe_b64encode(bytes(enc))
71

  
72
        return 'License Key for ' + clear + ' : ' + new_key.decode('utf-8')
73

  
74
@app.route('/symbol_box', methods=['POST'])
75
def symbol_box():
76
    if request.method == 'POST':
77
        r = request
78
        nparr = np.fromstring(r.data, np.uint8)
79

  
80
        imgs = []
81
        imgs.append(Image.fromarray(cv2.imdecode(nparr, cv2.IMREAD_COLOR)))
82

  
83
        boxes = test_doftech_all_images.get_symbol(imgs, trained_model1=os.path.dirname(os.path.realpath(__file__)) + '\\symbol_recognition\\MODEL\\f_doftech_all_class_only_params.pth',\
84
                        trained_model2=os.path.dirname(os.path.realpath(__file__)) + '\\symbol_recognition\\MODEL\\doftech_all_class_only_params_opc.pth')
85

  
86
        return jsonify({'symbol_box': boxes[0]})
87

  
88
    
89
@app.route('/text_box', methods=['POST'])
90
def text_box():
91
    if request.method == 'POST':
92
        r = request
93
        nparr = np.fromstring(r.data, np.uint8)
94

  
95
        img = cv2.imdecode(nparr, cv2.IMREAD_COLOR)
96
        #img = img.reshape(1, -1)
97

  
98
        boxes = text_craft.get_text_box(img, img_path=None, score_path=None, trained_model=os.path.dirname(os.path.realpath(__file__)) + '\\CRAFT_pytorch_master\\weights\\craft_mlt_25k.pth')
99

  
100
        return jsonify({'text_box': boxes})
101

  
102
@app.route('/stream_text_box', methods=['POST'])
103
def stream_text_box():
104
    if request.method == 'POST':
105
        r = request
106
        str_imgs = json.loads(r.data)
107
        imgs = []
108
        for str_img in str_imgs:
109
            str_img = base64.b64decode(str_img)
110
            nparr = np.fromstring(str_img, np.uint8)
111
            img = cv2.imdecode(nparr, cv2.IMREAD_COLOR)
112
            imgs.append(img)
113

  
114
        boxes_list = []
115
        '''
116
        for img in imgs:
117
            # faster
118
            #boxes = streamer.predict([[img, None, None, os.path.dirname(os.path.realpath(__file__)) + '\\CRAFT_pytorch_master\\weights\\craft_ic15_20k.pth']])
119

  
120
            # More accurate
121
            boxes = streamer.predict([[img, None, None, os.path.dirname(os.path.realpath(__file__)) + '\\CRAFT_pytorch_master\\weights\\craft_mlt_25k.pth']])
122
            boxes_list.append(boxes[0])
123
        '''
124

  
125
        '''
126
        infos = []
127
        for img in imgs:
128
            infos.append([img, None, None, os.path.dirname(os.path.realpath(__file__)) + '\\CRAFT_pytorch_master\\weights\\craft_mlt_25k.pth'])
129
        boxes = streamer.predict(infos)
130
        boxes_list = boxes
131
        '''
132

  
133
        infos = ['Text Area', [None, None, os.path.dirname(os.path.realpath(__file__)) + '\\CRAFT_pytorch_master\\weights\\craft_mlt_25k.pth', imgs]]
134
        boxes = streamer.predict(infos)
135
        boxes_list = boxes[1][0]
136

  
137
        return jsonify({'text_box_list': boxes_list})
138

  
139
if __name__ == '__main__':
140
    app.run(debug=False)
141
    #app.run(host='0,0,0,0')
9
if __name__ == "__main__":
10
    app.run()
DTI_PID/WebServer/app/__init__.py
1
#################
2
#### imports ####
3
#################
4
from flask import Flask, render_template
5
from app.license.index import license_service
6
from app.recognition.index import recognition_service
7

  
8
################
9
#### config ####
10
################
11
 
12
app = Flask(__name__)
13

  
14
@app.route('/')
15
def index():
16
    return render_template("index.html")
17

  
18
# 위에서 추가한 파일을 연동해주는 역할
19
app.register_blueprint(license_service)
20
app.register_blueprint(recognition_service)
DTI_PID/WebServer/app/license/index.py
1
# file name : index.py
2
# pwd : /project_name/app/license/index.py
3

  
4
from flask import Blueprint, request, render_template, flash, redirect, url_for
5
from flask import current_app as app
6

  
7
license_service = Blueprint('license', __name__, url_prefix='/license')
8

  
9

  
10
@license_service.route('/', methods=['GET'])
11
def index():
12
    return render_template("/license/index.html")
13

  
14

  
15
@license_service.route('/gen_key', methods=['POST'])
16
def gen_key():
17
    import base64
18

  
19
    if request.method == 'POST':
20
        r = request
21

  
22
        key = 'Image Drawing to Intelligent Drawing'
23

  
24
        pw = r.form['Authorization']
25
        clear = r.form['Computer_Name']
26

  
27
        if pw != 'admin':
28
            return 'Invalid Authorization'
29

  
30
        enc = []
31
        for i in range(len(clear)):
32
            key_c = key[i % len(key)]
33
            enc_c = (ord(clear[i]) + ord(key_c)) % 256
34
            enc.append(enc_c)
35

  
36
        new_key = base64.urlsafe_b64encode(bytes(enc))
37

  
38
        return 'License Key for ' + clear + ' : ' + new_key.decode('utf-8')
DTI_PID/WebServer/app/recognition/index.py
1
from flask import Flask, Blueprint, jsonify, request, render_template
2
import cv2
3
import numpy as np
4
import sys, os
5
import json, base64
6
from PIL import Image
7

  
8
# craft
9
sys.path.insert(0, os.path.dirname(os.path.realpath(__file__)) + '\\CRAFT_pytorch_master')
10
# service streamer
11
sys.path.insert(0, os.path.dirname(os.path.realpath(__file__)) + '\\service_streamer_master')
12
# deep ocr
13
# sys.path.insert(0, os.path.dirname(os.path.realpath(__file__)) + '\\deep_text_recognition_benchmark_master')
14
# symbol
15
sys.path.insert(0, os.path.dirname(os.path.realpath(__file__)) + '\\symbol_recognition')
16

  
17
recognition_service = Blueprint('recognition', __name__, url_prefix='/recognition')
18

  
19

  
20
@recognition_service.route('/', methods=['GET'])
21
def index():
22
    return "recognition module is running"
23

  
24
def recognition(params=None):
25
    if params[0] == 'Text Area':
26
        res = text_craft.get_text_box_batch(params[1:])
27
        return ['Text Area', res]
28
    elif params[0] == 'Symbol':
29
        pass
30

  
31

  
32
try:
33
    # from model import get_prediction, batch_prediction
34
    import text_craft
35
    import test_doftech_all_images
36
    from service_streamer import ThreadedStreamer
37

  
38
    # for error at 3.8
39
    # import ctypes
40
    # ctypes.cdll.LoadLibrary('caffe2_nvrtc.dll')
41

  
42
    streamer = ThreadedStreamer(recognition, batch_size=64)
43
except ImportError as ex:
44
    ex
45
    pass
46

  
47

  
48
@recognition_service.route('/symbol_box', methods=['POST'])
49
def symbol_box():
50
    if request.method == 'POST':
51
        r = request
52
        nparr = np.fromstring(r.data, np.uint8)
53

  
54
        imgs = []
55
        imgs.append(Image.fromarray(cv2.imdecode(nparr, cv2.IMREAD_COLOR)))
56

  
57
        boxes = test_doftech_all_images.get_symbol(imgs, trained_model1=os.path.dirname(
58
            os.path.realpath(__file__)) + '\\symbol_recognition\\MODEL\\f_doftech_all_class_only_params.pth', \
59
                                                   trained_model2=os.path.dirname(os.path.realpath(
60
                                                       __file__)) + '\\symbol_recognition\\MODEL\\doftech_all_class_only_params_opc.pth')
61

  
62
        return jsonify({'symbol_box': boxes[0]})
63

  
64

  
65
@recognition_service.route('/text_box', methods=['POST'])
66
def text_box():
67
    if request.method == 'POST':
68
        r = request
69
        nparr = np.fromstring(r.data, np.uint8)
70

  
71
        img = cv2.imdecode(nparr, cv2.IMREAD_COLOR)
72
        # img = img.reshape(1, -1)
73

  
74
        boxes = text_craft.get_text_box(img, img_path=None, score_path=None, trained_model=os.path.dirname(
75
            os.path.realpath(__file__)) + '\\CRAFT_pytorch_master\\weights\\craft_mlt_25k.pth')
76

  
77
        return jsonify({'text_box': boxes})
78

  
79

  
80
@recognition_service.route('/stream_text_box', methods=['POST'])
81
def stream_text_box():
82
    if request.method == 'POST':
83
        r = request
84
        str_imgs = json.loads(r.data)
85
        imgs = []
86
        for str_img in str_imgs:
87
            str_img = base64.b64decode(str_img)
88
            nparr = np.fromstring(str_img, np.uint8)
89
            img = cv2.imdecode(nparr, cv2.IMREAD_COLOR)
90
            imgs.append(img)
91

  
92
        boxes_list = []
93
        '''
94
        for img in imgs:
95
            # faster
96
            #boxes = streamer.predict([[img, None, None, os.path.dirname(os.path.realpath(__file__)) + '\\CRAFT_pytorch_master\\weights\\craft_ic15_20k.pth']])
97

  
98
            # More accurate
99
            boxes = streamer.predict([[img, None, None, os.path.dirname(os.path.realpath(__file__)) + '\\CRAFT_pytorch_master\\weights\\craft_mlt_25k.pth']])
100
            boxes_list.append(boxes[0])
101
        '''
102

  
103
        '''
104
        infos = []
105
        for img in imgs:
106
            infos.append([img, None, None, os.path.dirname(os.path.realpath(__file__)) + '\\CRAFT_pytorch_master\\weights\\craft_mlt_25k.pth'])
107
        boxes = streamer.predict(infos)
108
        boxes_list = boxes
109
        '''
110

  
111
        infos = ['Text Area', [None, None, os.path.dirname(
112
            os.path.realpath(__file__)) + '\\CRAFT_pytorch_master\\weights\\craft_mlt_25k.pth', imgs]]
113
        boxes = streamer.predict(infos)
114
        boxes_list = boxes[1][0]
115

  
116
        return jsonify({'text_box_list': boxes_list})
117

  
DTI_PID/WebServer/app/static/css/bootstrap-theme.css
1
/*!
2
 * Bootstrap v3.3.2 (http://getbootstrap.com)
3
 * Copyright 2011-2015 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-default .badge,
33
.btn-primary .badge,
34
.btn-success .badge,
35
.btn-info .badge,
36
.btn-warning .badge,
37
.btn-danger .badge {
38
  text-shadow: none;
39
}
40
.btn:active,
41
.btn.active {
42
  background-image: none;
43
}
44
.btn-default {
45
  text-shadow: 0 1px 0 #fff;
46
  background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);
47
  background-image:      -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);
48
  background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0));
49
  background-image:         linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);
50
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);
51
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
52
  background-repeat: repeat-x;
53
  border-color: #dbdbdb;
54
  border-color: #ccc;
55
}
56
.btn-default:hover,
57
.btn-default:focus {
58
  background-color: #e0e0e0;
59
  background-position: 0 -15px;
60
}
61
.btn-default:active,
62
.btn-default.active {
63
  background-color: #e0e0e0;
64
  border-color: #dbdbdb;
65
}
66
.btn-default.disabled,
67
.btn-default:disabled,
68
.btn-default[disabled] {
69
  background-color: #e0e0e0;
70
  background-image: none;
71
}
72
.btn-primary {
73
  background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);
74
  background-image:      -o-linear-gradient(top, #337ab7 0%, #265a88 100%);
75
  background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88));
76
  background-image:         linear-gradient(to bottom, #337ab7 0%, #265a88 100%);
77
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);
78
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
79
  background-repeat: repeat-x;
80
  border-color: #245580;
81
}
82
.btn-primary:hover,
83
.btn-primary:focus {
84
  background-color: #265a88;
85
  background-position: 0 -15px;
86
}
87
.btn-primary:active,
88
.btn-primary.active {
89
  background-color: #265a88;
90
  border-color: #245580;
91
}
92
.btn-primary.disabled,
93
.btn-primary:disabled,
94
.btn-primary[disabled] {
95
  background-color: #265a88;
96
  background-image: none;
97
}
98
.btn-success {
99
  background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);
100
  background-image:      -o-linear-gradient(top, #5cb85c 0%, #419641 100%);
101
  background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641));
102
  background-image:         linear-gradient(to bottom, #5cb85c 0%, #419641 100%);
103
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);
104
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
105
  background-repeat: repeat-x;
106
  border-color: #3e8f3e;
107
}
108
.btn-success:hover,
109
.btn-success:focus {
110
  background-color: #419641;
111
  background-position: 0 -15px;
112
}
113
.btn-success:active,
114
.btn-success.active {
115
  background-color: #419641;
116
  border-color: #3e8f3e;
117
}
118
.btn-success.disabled,
119
.btn-success:disabled,
120
.btn-success[disabled] {
121
  background-color: #419641;
122
  background-image: none;
123
}
124
.btn-info {
125
  background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
126
  background-image:      -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
127
  background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2));
128
  background-image:         linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);
129
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);
130
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
131
  background-repeat: repeat-x;
132
  border-color: #28a4c9;
133
}
134
.btn-info:hover,
135
.btn-info:focus {
136
  background-color: #2aabd2;
137
  background-position: 0 -15px;
138
}
139
.btn-info:active,
140
.btn-info.active {
141
  background-color: #2aabd2;
142
  border-color: #28a4c9;
143
}
144
.btn-info.disabled,
145
.btn-info:disabled,
146
.btn-info[disabled] {
147
  background-color: #2aabd2;
148
  background-image: none;
149
}
150
.btn-warning {
151
  background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
152
  background-image:      -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
153
  background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316));
154
  background-image:         linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);
155
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);
156
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
157
  background-repeat: repeat-x;
158
  border-color: #e38d13;
159
}
160
.btn-warning:hover,
161
.btn-warning:focus {
162
  background-color: #eb9316;
163
  background-position: 0 -15px;
164
}
165
.btn-warning:active,
166
.btn-warning.active {
167
  background-color: #eb9316;
168
  border-color: #e38d13;
169
}
170
.btn-warning.disabled,
171
.btn-warning:disabled,
172
.btn-warning[disabled] {
173
  background-color: #eb9316;
174
  background-image: none;
175
}
176
.btn-danger {
177
  background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
178
  background-image:      -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
179
  background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a));
180
  background-image:         linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);
181
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);
182
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
183
  background-repeat: repeat-x;
184
  border-color: #b92c28;
185
}
186
.btn-danger:hover,
187
.btn-danger:focus {
188
  background-color: #c12e2a;
189
  background-position: 0 -15px;
190
}
191
.btn-danger:active,
192
.btn-danger.active {
193
  background-color: #c12e2a;
194
  border-color: #b92c28;
195
}
196
.btn-danger.disabled,
197
.btn-danger:disabled,
198
.btn-danger[disabled] {
199
  background-color: #c12e2a;
200
  background-image: none;
201
}
202
.thumbnail,
203
.img-thumbnail {
204
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
205
          box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
206
}
207
.dropdown-menu > li > a:hover,
208
.dropdown-menu > li > a:focus {
209
  background-color: #e8e8e8;
210
  background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
211
  background-image:      -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
212
  background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
213
  background-image:         linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
214
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
215
  background-repeat: repeat-x;
216
}
217
.dropdown-menu > .active > a,
218
.dropdown-menu > .active > a:hover,
219
.dropdown-menu > .active > a:focus {
220
  background-color: #2e6da4;
221
  background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
222
  background-image:      -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
223
  background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
224
  background-image:         linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
225
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
226
  background-repeat: repeat-x;
227
}
228
.navbar-default {
229
  background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%);
230
  background-image:      -o-linear-gradient(top, #fff 0%, #f8f8f8 100%);
231
  background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f8f8f8));
232
  background-image:         linear-gradient(to bottom, #fff 0%, #f8f8f8 100%);
233
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);
234
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
235
  background-repeat: repeat-x;
236
  border-radius: 4px;
237
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
238
          box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
239
}
240
.navbar-default .navbar-nav > .open > a,
241
.navbar-default .navbar-nav > .active > a {
242
  background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
243
  background-image:      -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
244
  background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2));
245
  background-image:         linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);
246
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);
247
  background-repeat: repeat-x;
248
  -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
249
          box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
250
}
251
.navbar-brand,
252
.navbar-nav > li > a {
253
  text-shadow: 0 1px 0 rgba(255, 255, 255, .25);
254
}
255
.navbar-inverse {
256
  background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);
257
  background-image:      -o-linear-gradient(top, #3c3c3c 0%, #222 100%);
258
  background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222));
259
  background-image:         linear-gradient(to bottom, #3c3c3c 0%, #222 100%);
260
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
261
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
262
  background-repeat: repeat-x;
263
}
264
.navbar-inverse .navbar-nav > .open > a,
265
.navbar-inverse .navbar-nav > .active > a {
266
  background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);
267
  background-image:      -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);
268
  background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f));
269
  background-image:         linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);
270
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);
271
  background-repeat: repeat-x;
272
  -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
273
          box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
274
}
275
.navbar-inverse .navbar-brand,
276
.navbar-inverse .navbar-nav > li > a {
277
  text-shadow: 0 -1px 0 rgba(0, 0, 0, .25);
278
}
279
.navbar-static-top,
280
.navbar-fixed-top,
281
.navbar-fixed-bottom {
282
  border-radius: 0;
283
}
284
@media (max-width: 767px) {
285
  .navbar .navbar-nav .open .dropdown-menu > .active > a,
286
  .navbar .navbar-nav .open .dropdown-menu > .active > a:hover,
287
  .navbar .navbar-nav .open .dropdown-menu > .active > a:focus {
288
    color: #fff;
289
    background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
290
    background-image:      -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
291
    background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
292
    background-image:         linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
293
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
294
    background-repeat: repeat-x;
295
  }
296
}
297
.alert {
298
  text-shadow: 0 1px 0 rgba(255, 255, 255, .2);
299
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
300
          box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
301
}
302
.alert-success {
303
  background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
304
  background-image:      -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
305
  background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc));
306
  background-image:         linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);
307
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);
308
  background-repeat: repeat-x;
309
  border-color: #b2dba1;
310
}
311
.alert-info {
312
  background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
313
  background-image:      -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
314
  background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0));
315
  background-image:         linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
316
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);
317
  background-repeat: repeat-x;
318
  border-color: #9acfea;
319
}
320
.alert-warning {
321
  background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
322
  background-image:      -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
323
  background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0));
324
  background-image:         linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);
325
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);
326
  background-repeat: repeat-x;
327
  border-color: #f5e79e;
328
}
329
.alert-danger {
330
  background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
331
  background-image:      -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
332
  background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3));
333
  background-image:         linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);
334
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);
335
  background-repeat: repeat-x;
336
  border-color: #dca7a7;
337
}
338
.progress {
339
  background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
340
  background-image:      -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
341
  background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5));
342
  background-image:         linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);
343
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);
344
  background-repeat: repeat-x;
345
}
346
.progress-bar {
347
  background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);
348
  background-image:      -o-linear-gradient(top, #337ab7 0%, #286090 100%);
349
  background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#286090));
350
  background-image:         linear-gradient(to bottom, #337ab7 0%, #286090 100%);
351
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);
352
  background-repeat: repeat-x;
353
}
354
.progress-bar-success {
355
  background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);
356
  background-image:      -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);
357
  background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44));
358
  background-image:         linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
359
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
360
  background-repeat: repeat-x;
361
}
362
.progress-bar-info {
363
  background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
364
  background-image:      -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
365
  background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5));
366
  background-image:         linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
367
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
368
  background-repeat: repeat-x;
369
}
370
.progress-bar-warning {
371
  background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
372
  background-image:      -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
373
  background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f));
374
  background-image:         linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
375
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
376
  background-repeat: repeat-x;
377
}
378
.progress-bar-danger {
379
  background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);
380
  background-image:      -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);
381
  background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c));
382
  background-image:         linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
383
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
384
  background-repeat: repeat-x;
385
}
386
.progress-bar-striped {
387
  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);
388
  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);
389
  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);
390
}
391
.list-group {
392
  border-radius: 4px;
393
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
394
          box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
395
}
396
.list-group-item.active,
397
.list-group-item.active:hover,
398
.list-group-item.active:focus {
399
  text-shadow: 0 -1px 0 #286090;
400
  background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);
401
  background-image:      -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);
402
  background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2b669a));
403
  background-image:         linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);
404
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);
405
  background-repeat: repeat-x;
406
  border-color: #2b669a;
407
}
408
.list-group-item.active .badge,
409
.list-group-item.active:hover .badge,
410
.list-group-item.active:focus .badge {
411
  text-shadow: none;
412
}
413
.panel {
414
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
415
          box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
416
}
417
.panel-default > .panel-heading {
418
  background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
419
  background-image:      -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
420
  background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
421
  background-image:         linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
422
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
423
  background-repeat: repeat-x;
424
}
425
.panel-primary > .panel-heading {
426
  background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
427
  background-image:      -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
428
  background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
429
  background-image:         linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
430
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
431
  background-repeat: repeat-x;
432
}
433
.panel-success > .panel-heading {
434
  background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
435
  background-image:      -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
436
  background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6));
437
  background-image:         linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);
438
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);
439
  background-repeat: repeat-x;
440
}
441
.panel-info > .panel-heading {
442
  background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
443
  background-image:      -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
444
  background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3));
445
  background-image:         linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);
446
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);
447
  background-repeat: repeat-x;
448
}
449
.panel-warning > .panel-heading {
450
  background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
451
  background-image:      -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
452
  background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc));
453
  background-image:         linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);
454
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);
455
  background-repeat: repeat-x;
456
}
457
.panel-danger > .panel-heading {
458
  background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
459
  background-image:      -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
460
  background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc));
461
  background-image:         linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);
462
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);
463
  background-repeat: repeat-x;
464
}
465
.well {
466
  background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
467
  background-image:      -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
468
  background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5));
469
  background-image:         linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);
470
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);
471
  background-repeat: repeat-x;
472
  border-color: #dcdcdc;
473
  -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
474
          box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
475
}
476
/*# sourceMappingURL=bootstrap-theme.css.map */
DTI_PID/WebServer/app/static/css/bootstrap-theme.css.map
1
{"version":3,"sources":["less/theme.less","less/mixins/vendor-prefixes.less","bootstrap-theme.css","less/mixins/gradients.less","less/mixins/reset-filter.less"],"names":[],"mappings":"AAcA;;;;;;EAME,0CAAA;ECgDA,6FAAA;EACQ,qFAAA;EC5DT;AFgBC;;;;;;;;;;;;EC2CA,0DAAA;EACQ,kDAAA;EC7CT;AFVD;;;;;;EAiBI,mBAAA;EECH;AFiCC;;EAEE,wBAAA;EE/BH;AFoCD;EGnDI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJiCA,6BAAA;EACA,uBAAA;EAgC2C,2BAAA;EAA2B,oBAAA;EEzBvE;AFLC;;EAEE,2BAAA;EACA,8BAAA;EEOH;AFJC;;EAEE,2BAAA;EACA,uBAAA;EEMH;AFHC;;;EAGE,2BAAA;EACA,wBAAA;EEKH;AFUD;EGpDI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJiCA,6BAAA;EACA,uBAAA;EEgCD;AF9BC;;EAEE,2BAAA;EACA,8BAAA;EEgCH;AF7BC;;EAEE,2BAAA;EACA,uBAAA;EE+BH;AF5BC;;;EAGE,2BAAA;EACA,wBAAA;EE8BH;AFdD;EGrDI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJiCA,6BAAA;EACA,uBAAA;EEyDD;AFvDC;;EAEE,2BAAA;EACA,8BAAA;EEyDH;AFtDC;;EAEE,2BAAA;EACA,uBAAA;EEwDH;AFrDC;;;EAGE,2BAAA;EACA,wBAAA;EEuDH;AFtCD;EGtDI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJiCA,6BAAA;EACA,uBAAA;EEkFD;AFhFC;;EAEE,2BAAA;EACA,8BAAA;EEkFH;AF/EC;;EAEE,2BAAA;EACA,uBAAA;EEiFH;AF9EC;;;EAGE,2BAAA;EACA,wBAAA;EEgFH;AF9DD;EGvDI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJiCA,6BAAA;EACA,uBAAA;EE2GD;AFzGC;;EAEE,2BAAA;EACA,8BAAA;EE2GH;AFxGC;;EAEE,2BAAA;EACA,uBAAA;EE0GH;AFvGC;;;EAGE,2BAAA;EACA,wBAAA;EEyGH;AFtFD;EGxDI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJiCA,6BAAA;EACA,uBAAA;EEoID;AFlIC;;EAEE,2BAAA;EACA,8BAAA;EEoIH;AFjIC;;EAEE,2BAAA;EACA,uBAAA;EEmIH;AFhIC;;;EAGE,2BAAA;EACA,wBAAA;EEkIH;AFxGD;;EChBE,oDAAA;EACQ,4CAAA;EC4HT;AFnGD;;EGzEI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EHwEF,2BAAA;EEyGD;AFvGD;;;EG9EI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH8EF,2BAAA;EE6GD;AFpGD;EG3FI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ECnBF,qEAAA;EJ6GA,oBAAA;EC/CA,6FAAA;EACQ,qFAAA;EC0JT;AF/GD;;EG3FI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EF2CF,0DAAA;EACQ,kDAAA;ECoKT;AF5GD;;EAEE,gDAAA;EE8GD;AF1GD;EG9GI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ECnBF,qEAAA;EF+OD;AFlHD;;EG9GI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EF2CF,yDAAA;EACQ,iDAAA;EC0LT;AF5HD;;EAYI,2CAAA;EEoHH;AF/GD;;;EAGE,kBAAA;EEiHD;AF5FD;EAfI;;;IAGE,aAAA;IG3IF,0EAAA;IACA,qEAAA;IACA,+FAAA;IAAA,wEAAA;IACA,6BAAA;IACA,wHAAA;ID0PD;EACF;AFxGD;EACE,+CAAA;ECzGA,4FAAA;EACQ,oFAAA;ECoNT;AFhGD;EGpKI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH4JF,uBAAA;EE4GD;AFvGD;EGrKI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH4JF,uBAAA;EEoHD;AF9GD;EGtKI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH4JF,uBAAA;EE4HD;AFrHD;EGvKI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH4JF,uBAAA;EEoID;AFrHD;EG/KI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDuSH;AFlHD;EGzLI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED8SH;AFxHD;EG1LI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDqTH;AF9HD;EG3LI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED4TH;AFpID;EG5LI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDmUH;AF1ID;EG7LI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED0UH;AF7ID;EGhKI,+MAAA;EACA,0MAAA;EACA,uMAAA;EDgTH;AFzID;EACE,oBAAA;EC5JA,oDAAA;EACQ,4CAAA;ECwST;AF1ID;;;EAGE,+BAAA;EGjNE,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH+MF,uBAAA;EEgJD;AFrJD;;;EAQI,mBAAA;EEkJH;AFxID;ECjLE,mDAAA;EACQ,2CAAA;EC4TT;AFlID;EG1OI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED+WH;AFxID;EG3OI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDsXH;AF9ID;EG5OI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED6XH;AFpJD;EG7OI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDoYH;AF1JD;EG9OI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED2YH;AFhKD;EG/OI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDkZH;AFhKD;EGtPI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EHoPF,uBAAA;ECzMA,2FAAA;EACQ,mFAAA;ECgXT","file":"bootstrap-theme.css","sourcesContent":["\n//\n// Load core variables and mixins\n// --------------------------------------------------\n\n@import \"variables.less\";\n@import \"mixins.less\";\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  .badge {\n    text-shadow: none;\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; see https://github.com/twbs/bootstrap/issues/10620\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  &[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// Images\n// --------------------------------------------------\n\n.thumbnail,\n.img-thumbnail {\n  .box-shadow(0 1px 2px rgba(0,0,0,.075));\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// 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 > .open > a,\n  .navbar-nav > .active > a {\n    #gradient > .vertical(@start-color: darken(@navbar-default-link-active-bg, 5%); @end-color: darken(@navbar-default-link-active-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; see https://github.com/twbs/bootstrap/issues/10257\n\n  .navbar-nav > .open > a,\n  .navbar-nav > .active > a {\n    #gradient > .vertical(@start-color: @navbar-inverse-link-active-bg; @end-color: lighten(@navbar-inverse-link-active-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// Fix active state of dropdown items in collapsed mode\n@media (max-width: @grid-float-breakpoint-max) {\n  .navbar .navbar-nav .open .dropdown-menu > .active > a {\n    &,\n    &:hover,\n    &:focus {\n      color: #fff;\n      #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n    }\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// 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  .badge {\n    text-shadow: none;\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// 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  // Firefox\n  &::-moz-placeholder {\n    color: @color;\n    opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n  }\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",".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, 0.2);\n  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.btn-default:active,\n.btn-primary:active,\n.btn-success:active,\n.btn-info:active,\n.btn-warning:active,\n.btn-danger:active,\n.btn-default.active,\n.btn-primary.active,\n.btn-success.active,\n.btn-info.active,\n.btn-warning.active,\n.btn-danger.active {\n  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-default .badge,\n.btn-primary .badge,\n.btn-success .badge,\n.btn-info .badge,\n.btn-warning .badge,\n.btn-danger .badge {\n  text-shadow: none;\n}\n.btn:active,\n.btn.active {\n  background-image: none;\n}\n.btn-default {\n  background-image: -webkit-linear-gradient(top, #ffffff 0%, #e0e0e0 100%);\n  background-image: -o-linear-gradient(top, #ffffff 0%, #e0e0e0 100%);\n  background-image: linear-gradient(to bottom, #ffffff 0%, #e0e0e0 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  background-repeat: repeat-x;\n  border-color: #dbdbdb;\n  text-shadow: 0 1px 0 #fff;\n  border-color: #ccc;\n}\n.btn-default:hover,\n.btn-default:focus {\n  background-color: #e0e0e0;\n  background-position: 0 -15px;\n}\n.btn-default:active,\n.btn-default.active {\n  background-color: #e0e0e0;\n  border-color: #dbdbdb;\n}\n.btn-default.disabled,\n.btn-default:disabled,\n.btn-default[disabled] {\n  background-color: #e0e0e0;\n  background-image: none;\n}\n.btn-primary {\n  background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);\n  background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);\n  background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  background-repeat: repeat-x;\n  border-color: #245580;\n}\n.btn-primary:hover,\n.btn-primary:focus {\n  background-color: #265a88;\n  background-position: 0 -15px;\n}\n.btn-primary:active,\n.btn-primary.active {\n  background-color: #265a88;\n  border-color: #245580;\n}\n.btn-primary.disabled,\n.btn-primary:disabled,\n.btn-primary[disabled] {\n  background-color: #265a88;\n  background-image: none;\n}\n.btn-success {\n  background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);\n  background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);\n  background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  background-repeat: repeat-x;\n  border-color: #3e8f3e;\n}\n.btn-success:hover,\n.btn-success:focus {\n  background-color: #419641;\n  background-position: 0 -15px;\n}\n.btn-success:active,\n.btn-success.active {\n  background-color: #419641;\n  border-color: #3e8f3e;\n}\n.btn-success.disabled,\n.btn-success:disabled,\n.btn-success[disabled] {\n  background-color: #419641;\n  background-image: none;\n}\n.btn-info {\n  background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n  background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n  background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  background-repeat: repeat-x;\n  border-color: #28a4c9;\n}\n.btn-info:hover,\n.btn-info:focus {\n  background-color: #2aabd2;\n  background-position: 0 -15px;\n}\n.btn-info:active,\n.btn-info.active {\n  background-color: #2aabd2;\n  border-color: #28a4c9;\n}\n.btn-info.disabled,\n.btn-info:disabled,\n.btn-info[disabled] {\n  background-color: #2aabd2;\n  background-image: none;\n}\n.btn-warning {\n  background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n  background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n  background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  background-repeat: repeat-x;\n  border-color: #e38d13;\n}\n.btn-warning:hover,\n.btn-warning:focus {\n  background-color: #eb9316;\n  background-position: 0 -15px;\n}\n.btn-warning:active,\n.btn-warning.active {\n  background-color: #eb9316;\n  border-color: #e38d13;\n}\n.btn-warning.disabled,\n.btn-warning:disabled,\n.btn-warning[disabled] {\n  background-color: #eb9316;\n  background-image: none;\n}\n.btn-danger {\n  background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n  background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n  background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  background-repeat: repeat-x;\n  border-color: #b92c28;\n}\n.btn-danger:hover,\n.btn-danger:focus {\n  background-color: #c12e2a;\n  background-position: 0 -15px;\n}\n.btn-danger:active,\n.btn-danger.active {\n  background-color: #c12e2a;\n  border-color: #b92c28;\n}\n.btn-danger.disabled,\n.btn-danger:disabled,\n.btn-danger[disabled] {\n  background-color: #c12e2a;\n  background-image: none;\n}\n.thumbnail,\n.img-thumbnail {\n  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n  background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n  background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n  background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n  background-color: #e8e8e8;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n  background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n  background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n  background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n  background-color: #2e6da4;\n}\n.navbar-default {\n  background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n  background-image: -o-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n  background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  border-radius: 4px;\n  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .active > a {\n  background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n  background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n  background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);\n  -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n}\n.navbar-brand,\n.navbar-nav > li > a {\n  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);\n}\n.navbar-inverse {\n  background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222222 100%);\n  background-image: -o-linear-gradient(top, #3c3c3c 0%, #222222 100%);\n  background-image: linear-gradient(to bottom, #3c3c3c 0%, #222222 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .active > a {\n  background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n  background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n  background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);\n  -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n  box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n}\n.navbar-inverse .navbar-brand,\n.navbar-inverse .navbar-nav > li > a {\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n  border-radius: 0;\n}\n@media (max-width: 767px) {\n  .navbar .navbar-nav .open .dropdown-menu > .active > a,\n  .navbar .navbar-nav .open .dropdown-menu > .active > a:hover,\n  .navbar .navbar-nav .open .dropdown-menu > .active > a:focus {\n    color: #fff;\n    background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n    background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n    background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n    background-repeat: repeat-x;\n    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n  }\n}\n.alert {\n  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);\n  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.alert-success {\n  background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n  background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n  background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);\n  border-color: #b2dba1;\n}\n.alert-info {\n  background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n  background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n  background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);\n  border-color: #9acfea;\n}\n.alert-warning {\n  background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n  background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n  background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);\n  border-color: #f5e79e;\n}\n.alert-danger {\n  background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n  background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n  background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);\n  border-color: #dca7a7;\n}\n.progress {\n  background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n  background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n  background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);\n}\n.progress-bar {\n  background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);\n  background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);\n  background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);\n}\n.progress-bar-success {\n  background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n  background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n  background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);\n}\n.progress-bar-info {\n  background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n  background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n  background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);\n}\n.progress-bar-warning {\n  background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n  background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n  background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);\n}\n.progress-bar-danger {\n  background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n  background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n  background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);\n}\n.progress-bar-striped {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.list-group {\n  border-radius: 4px;\n  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n  box-shadow: 0 1px 2px rgba(0, 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 #286090;\n  background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n  background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n  background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);\n  border-color: #2b669a;\n}\n.list-group-item.active .badge,\n.list-group-item.active:hover .badge,\n.list-group-item.active:focus .badge {\n  text-shadow: none;\n}\n.panel {\n  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.panel-default > .panel-heading {\n  background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n  background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n  background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n}\n.panel-primary > .panel-heading {\n  background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n  background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n  background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n}\n.panel-success > .panel-heading {\n  background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n  background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n  background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);\n}\n.panel-info > .panel-heading {\n  background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n  background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n  background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);\n}\n.panel-warning > .panel-heading {\n  background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n  background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n  background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);\n}\n.panel-danger > .panel-heading {\n  background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n  background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n  background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);\n}\n.well {\n  background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n  background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n  background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);\n  border-color: #dcdcdc;\n  -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n}\n/*# sourceMappingURL=bootstrap-theme.css.map */","// 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"]}
DTI_PID/WebServer/app/static/css/bootstrap-theme.min.css
1
/*!
2
 * Bootstrap v3.3.2 (http://getbootstrap.com)
3
 * Copyright 2011-2015 Twitter, Inc.
4
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5
 */.btn-danger,.btn-default,.btn-info,.btn-primary,.btn-success,.btn-warning{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-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-success.active,.btn-success:active,.btn-warning.active,.btn-warning: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-danger .badge,.btn-default .badge,.btn-info .badge,.btn-primary .badge,.btn-success .badge,.btn-warning .badge{text-shadow:none}.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:focus,.btn-default:hover{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,.btn-default[disabled]{background-color:#e0e0e0;background-image:none}.btn-primary{background-image:-webkit-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-o-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#265a88));background-image:linear-gradient(to bottom,#337ab7 0,#265a88 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#245580}.btn-primary:focus,.btn-primary:hover{background-color:#265a88;background-position:0 -15px}.btn-primary.active,.btn-primary:active{background-color:#265a88;border-color:#245580}.btn-primary.disabled,.btn-primary:disabled,.btn-primary[disabled]{background-color:#265a88;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:focus,.btn-success:hover{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,.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:focus,.btn-info:hover{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,.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:focus,.btn-warning:hover{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,.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:focus,.btn-danger:hover{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,.btn-danger[disabled]{background-color:#c12e2a;background-image:none}.img-thumbnail,.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:focus,.dropdown-menu>li>a:hover{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:focus,.dropdown-menu>.active>a:hover{background-color:#2e6da4;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', 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,.navbar-default .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-o-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dbdbdb),to(#e2e2e2));background-image:linear-gradient(to bottom,#dbdbdb 0,#e2e2e2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', 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,.navbar-inverse .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-o-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#080808),to(#0f0f0f));background-image:linear-gradient(to bottom,#080808 0,#0f0f0f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', 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-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}@media (max-width:767px){.navbar .navbar-nav .open .dropdown-menu>.active>a,.navbar .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}}.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,#337ab7 0,#286090 100%);background-image:-o-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#286090));background-image:linear-gradient(to bottom,#337ab7 0,#286090 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', 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:focus,.list-group-item.active:hover{text-shadow:0 -1px 0 #286090;background-image:-webkit-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2b669a));background-image:linear-gradient(to bottom,#337ab7 0,#2b669a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);background-repeat:repeat-x;border-color:#2b669a}.list-group-item.active .badge,.list-group-item.active:focus .badge,.list-group-item.active:hover .badge{text-shadow:none}.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,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', 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)}
DTI_PID/WebServer/app/static/css/bootstrap.css
1
/*!
2
 * Bootstrap v3.3.2 (http://getbootstrap.com)
3
 * Copyright 2011-2015 Twitter, Inc.
4
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5
 */
6

  
7
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
8
html {
9
  font-family: sans-serif;
10
  -webkit-text-size-adjust: 100%;
11
      -ms-text-size-adjust: 100%;
12
}
13
body {
14
  margin: 0;
15
}
16
article,
17
aside,
18
details,
19
figcaption,
20
figure,
21
footer,
22
header,
23
hgroup,
24
main,
25
menu,
26
nav,
27
section,
28
summary {
29
  display: block;
30
}
31
audio,
32
canvas,
33
progress,
34
video {
35
  display: inline-block;
36
  vertical-align: baseline;
37
}
38
audio:not([controls]) {
39
  display: none;
40
  height: 0;
41
}
42
[hidden],
43
template {
44
  display: none;
45
}
46
a {
47
  background-color: transparent;
48
}
49
a:active,
50
a:hover {
51
  outline: 0;
52
}
53
abbr[title] {
54
  border-bottom: 1px dotted;
55
}
56
b,
57
strong {
58
  font-weight: bold;
59
}
60
dfn {
61
  font-style: italic;
62
}
63
h1 {
64
  margin: .67em 0;
65
  font-size: 2em;
66
}
67
mark {
68
  color: #000;
69
  background: #ff0;
70
}
71
small {
72
  font-size: 80%;
73
}
74
sub,
75
sup {
76
  position: relative;
77
  font-size: 75%;
78
  line-height: 0;
79
  vertical-align: baseline;
80
}
81
sup {
82
  top: -.5em;
83
}
84
sub {
85
  bottom: -.25em;
86
}
87
img {
88
  border: 0;
89
}
90
svg:not(:root) {
91
  overflow: hidden;
92
}
93
figure {
94
  margin: 1em 40px;
95
}
96
hr {
97
  height: 0;
98
  -webkit-box-sizing: content-box;
99
     -moz-box-sizing: content-box;
100
          box-sizing: content-box;
101
}
102
pre {
103
  overflow: auto;
104
}
105
code,
106
kbd,
107
pre,
108
samp {
109
  font-family: monospace, monospace;
110
  font-size: 1em;
111
}
112
button,
113
input,
114
optgroup,
115
select,
116
textarea {
117
  margin: 0;
118
  font: inherit;
119
  color: inherit;
120
}
121
button {
122
  overflow: visible;
123
}
124
button,
125
select {
126
  text-transform: none;
127
}
128
button,
129
html input[type="button"],
130
input[type="reset"],
131
input[type="submit"] {
132
  -webkit-appearance: button;
133
  cursor: pointer;
134
}
135
button[disabled],
136
html input[disabled] {
137
  cursor: default;
138
}
139
button::-moz-focus-inner,
140
input::-moz-focus-inner {
141
  padding: 0;
142
  border: 0;
143
}
144
input {
145
  line-height: normal;
146
}
147
input[type="checkbox"],
148
input[type="radio"] {
149
  -webkit-box-sizing: border-box;
150
     -moz-box-sizing: border-box;
151
          box-sizing: border-box;
152
  padding: 0;
153
}
154
input[type="number"]::-webkit-inner-spin-button,
155
input[type="number"]::-webkit-outer-spin-button {
156
  height: auto;
157
}
158
input[type="search"] {
159
  -webkit-box-sizing: content-box;
160
     -moz-box-sizing: content-box;
161
          box-sizing: content-box;
162
  -webkit-appearance: textfield;
163
}
164
input[type="search"]::-webkit-search-cancel-button,
165
input[type="search"]::-webkit-search-decoration {
166
  -webkit-appearance: none;
167
}
168
fieldset {
169
  padding: .35em .625em .75em;
170
  margin: 0 2px;
171
  border: 1px solid #c0c0c0;
172
}
173
legend {
174
  padding: 0;
175
  border: 0;
176
}
177
textarea {
178
  overflow: auto;
179
}
180
optgroup {
181
  font-weight: bold;
182
}
183
table {
184
  border-spacing: 0;
185
  border-collapse: collapse;
186
}
187
td,
188
th {
189
  padding: 0;
190
}
191
/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
192
@media print {
193
  *,
194
  *:before,
195
  *:after {
196
    color: #000 !important;
197
    text-shadow: none !important;
198
    background: transparent !important;
199
    -webkit-box-shadow: none !important;
200
            box-shadow: none !important;
201
  }
202
  a,
203
  a:visited {
204
    text-decoration: underline;
205
  }
206
  a[href]:after {
207
    content: " (" attr(href) ")";
208
  }
209
  abbr[title]:after {
210
    content: " (" attr(title) ")";
211
  }
212
  a[href^="#"]:after,
213
  a[href^="javascript:"]:after {
214
    content: "";
215
  }
216
  pre,
217
  blockquote {
218
    border: 1px solid #999;
219

  
220
    page-break-inside: avoid;
221
  }
222
  thead {
223
    display: table-header-group;
224
  }
225
  tr,
226
  img {
227
    page-break-inside: avoid;
228
  }
229
  img {
230
    max-width: 100% !important;
231
  }
232
  p,
233
  h2,
234
  h3 {
235
    orphans: 3;
236
    widows: 3;
237
  }
238
  h2,
239
  h3 {
240
    page-break-after: avoid;
241
  }
242
  select {
243
    background: #fff !important;
244
  }
245
  .navbar {
246
    display: none;
247
  }
248
  .btn > .caret,
249
  .dropup > .btn > .caret {
250
    border-top-color: #000 !important;
251
  }
252
  .label {
253
    border: 1px solid #000;
254
  }
255
  .table {
256
    border-collapse: collapse !important;
257
  }
258
  .table td,
259
  .table th {
260
    background-color: #fff !important;
261
  }
262
  .table-bordered th,
263
  .table-bordered td {
264
    border: 1px solid #ddd !important;
265
  }
266
}
267
@font-face {
268
  font-family: 'Glyphicons Halflings';
269

  
270
  src: url('../fonts/glyphicons-halflings-regular.eot');
271
  src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
272
}
273
.glyphicon {
274
  position: relative;
275
  top: 1px;
276
  display: inline-block;
277
  font-family: 'Glyphicons Halflings';
278
  font-style: normal;
279
  font-weight: normal;
280
  line-height: 1;
281

  
282
  -webkit-font-smoothing: antialiased;
283
  -moz-osx-font-smoothing: grayscale;
284
}
285
.glyphicon-asterisk:before {
286
  content: "\2a";
287
}
288
.glyphicon-plus:before {
289
  content: "\2b";
290
}
291
.glyphicon-euro:before,
292
.glyphicon-eur:before {
293
  content: "\20ac";
294
}
295
.glyphicon-minus:before {
296
  content: "\2212";
297
}
298
.glyphicon-cloud:before {
299
  content: "\2601";
300
}
301
.glyphicon-envelope:before {
302
  content: "\2709";
303
}
304
.glyphicon-pencil:before {
305
  content: "\270f";
306
}
307
.glyphicon-glass:before {
308
  content: "\e001";
309
}
310
.glyphicon-music:before {
311
  content: "\e002";
312
}
313
.glyphicon-search:before {
314
  content: "\e003";
315
}
316
.glyphicon-heart:before {
317
  content: "\e005";
318
}
319
.glyphicon-star:before {
320
  content: "\e006";
321
}
322
.glyphicon-star-empty:before {
323
  content: "\e007";
324
}
325
.glyphicon-user:before {
326
  content: "\e008";
327
}
328
.glyphicon-film:before {
329
  content: "\e009";
330
}
331
.glyphicon-th-large:before {
332
  content: "\e010";
333
}
334
.glyphicon-th:before {
335
  content: "\e011";
336
}
337
.glyphicon-th-list:before {
338
  content: "\e012";
339
}
340
.glyphicon-ok:before {
341
  content: "\e013";
342
}
343
.glyphicon-remove:before {
344
  content: "\e014";
345
}
346
.glyphicon-zoom-in:before {
347
  content: "\e015";
348
}
349
.glyphicon-zoom-out:before {
350
  content: "\e016";
351
}
352
.glyphicon-off:before {
353
  content: "\e017";
354
}
355
.glyphicon-signal:before {
356
  content: "\e018";
357
}
358
.glyphicon-cog:before {
359
  content: "\e019";
360
}
361
.glyphicon-trash:before {
362
  content: "\e020";
363
}
364
.glyphicon-home:before {
365
  content: "\e021";
366
}
367
.glyphicon-file:before {
368
  content: "\e022";
369
}
370
.glyphicon-time:before {
371
  content: "\e023";
372
}
373
.glyphicon-road:before {
374
  content: "\e024";
375
}
376
.glyphicon-download-alt:before {
377
  content: "\e025";
378
}
379
.glyphicon-download:before {
380
  content: "\e026";
381
}
382
.glyphicon-upload:before {
383
  content: "\e027";
384
}
385
.glyphicon-inbox:before {
386
  content: "\e028";
387
}
388
.glyphicon-play-circle:before {
389
  content: "\e029";
390
}
391
.glyphicon-repeat:before {
392
  content: "\e030";
393
}
394
.glyphicon-refresh:before {
395
  content: "\e031";
396
}
397
.glyphicon-list-alt:before {
398
  content: "\e032";
399
}
400
.glyphicon-lock:before {
401
  content: "\e033";
402
}
403
.glyphicon-flag:before {
404
  content: "\e034";
405
}
406
.glyphicon-headphones:before {
407
  content: "\e035";
408
}
409
.glyphicon-volume-off:before {
410
  content: "\e036";
411
}
412
.glyphicon-volume-down:before {
413
  content: "\e037";
414
}
415
.glyphicon-volume-up:before {
416
  content: "\e038";
417
}
418
.glyphicon-qrcode:before {
419
  content: "\e039";
420
}
421
.glyphicon-barcode:before {
422
  content: "\e040";
423
}
424
.glyphicon-tag:before {
425
  content: "\e041";
426
}
427
.glyphicon-tags:before {
428
  content: "\e042";
429
}
430
.glyphicon-book:before {
431
  content: "\e043";
432
}
433
.glyphicon-bookmark:before {
434
  content: "\e044";
435
}
436
.glyphicon-print:before {
437
  content: "\e045";
438
}
439
.glyphicon-camera:before {
440
  content: "\e046";
441
}
442
.glyphicon-font:before {
443
  content: "\e047";
444
}
445
.glyphicon-bold:before {
446
  content: "\e048";
447
}
448
.glyphicon-italic:before {
449
  content: "\e049";
450
}
451
.glyphicon-text-height:before {
452
  content: "\e050";
453
}
454
.glyphicon-text-width:before {
455
  content: "\e051";
456
}
457
.glyphicon-align-left:before {
458
  content: "\e052";
459
}
460
.glyphicon-align-center:before {
461
  content: "\e053";
462
}
463
.glyphicon-align-right:before {
464
  content: "\e054";
465
}
466
.glyphicon-align-justify:before {
467
  content: "\e055";
468
}
469
.glyphicon-list:before {
470
  content: "\e056";
471
}
472
.glyphicon-indent-left:before {
473
  content: "\e057";
474
}
475
.glyphicon-indent-right:before {
476
  content: "\e058";
477
}
478
.glyphicon-facetime-video:before {
479
  content: "\e059";
480
}
481
.glyphicon-picture:before {
482
  content: "\e060";
483
}
484
.glyphicon-map-marker:before {
485
  content: "\e062";
486
}
487
.glyphicon-adjust:before {
488
  content: "\e063";
489
}
490
.glyphicon-tint:before {
491
  content: "\e064";
492
}
493
.glyphicon-edit:before {
494
  content: "\e065";
495
}
496
.glyphicon-share:before {
497
  content: "\e066";
498
}
499
.glyphicon-check:before {
500
  content: "\e067";
501
}
502
.glyphicon-move:before {
503
  content: "\e068";
504
}
505
.glyphicon-step-backward:before {
506
  content: "\e069";
507
}
508
.glyphicon-fast-backward:before {
509
  content: "\e070";
510
}
511
.glyphicon-backward:before {
512
  content: "\e071";
513
}
514
.glyphicon-play:before {
515
  content: "\e072";
516
}
517
.glyphicon-pause:before {
518
  content: "\e073";
519
}
520
.glyphicon-stop:before {
521
  content: "\e074";
522
}
523
.glyphicon-forward:before {
524
  content: "\e075";
525
}
526
.glyphicon-fast-forward:before {
527
  content: "\e076";
528
}
529
.glyphicon-step-forward:before {
530
  content: "\e077";
531
}
532
.glyphicon-eject:before {
533
  content: "\e078";
534
}
535
.glyphicon-chevron-left:before {
536
  content: "\e079";
537
}
538
.glyphicon-chevron-right:before {
539
  content: "\e080";
540
}
541
.glyphicon-plus-sign:before {
542
  content: "\e081";
543
}
544
.glyphicon-minus-sign:before {
545
  content: "\e082";
546
}
547
.glyphicon-remove-sign:before {
548
  content: "\e083";
549
}
550
.glyphicon-ok-sign:before {
551
  content: "\e084";
552
}
553
.glyphicon-question-sign:before {
554
  content: "\e085";
555
}
556
.glyphicon-info-sign:before {
557
  content: "\e086";
558
}
559
.glyphicon-screenshot:before {
560
  content: "\e087";
561
}
562
.glyphicon-remove-circle:before {
563
  content: "\e088";
564
}
565
.glyphicon-ok-circle:before {
566
  content: "\e089";
567
}
568
.glyphicon-ban-circle:before {
569
  content: "\e090";
570
}
571
.glyphicon-arrow-left:before {
572
  content: "\e091";
573
}
574
.glyphicon-arrow-right:before {
575
  content: "\e092";
576
}
577
.glyphicon-arrow-up:before {
578
  content: "\e093";
579
}
580
.glyphicon-arrow-down:before {
581
  content: "\e094";
582
}
583
.glyphicon-share-alt:before {
584
  content: "\e095";
585
}
586
.glyphicon-resize-full:before {
587
  content: "\e096";
588
}
589
.glyphicon-resize-small:before {
590
  content: "\e097";
591
}
592
.glyphicon-exclamation-sign:before {
593
  content: "\e101";
594
}
595
.glyphicon-gift:before {
596
  content: "\e102";
597
}
598
.glyphicon-leaf:before {
599
  content: "\e103";
600
}
601
.glyphicon-fire:before {
602
  content: "\e104";
603
}
604
.glyphicon-eye-open:before {
605
  content: "\e105";
606
}
607
.glyphicon-eye-close:before {
608
  content: "\e106";
609
}
610
.glyphicon-warning-sign:before {
611
  content: "\e107";
612
}
613
.glyphicon-plane:before {
614
  content: "\e108";
615
}
616
.glyphicon-calendar:before {
617
  content: "\e109";
618
}
619
.glyphicon-random:before {
620
  content: "\e110";
621
}
622
.glyphicon-comment:before {
623
  content: "\e111";
624
}
625
.glyphicon-magnet:before {
626
  content: "\e112";
627
}
628
.glyphicon-chevron-up:before {
629
  content: "\e113";
630
}
631
.glyphicon-chevron-down:before {
632
  content: "\e114";
633
}
634
.glyphicon-retweet:before {
635
  content: "\e115";
... 이 차이점은 표시할 수 있는 최대 줄수를 초과해서 이 차이점은 잘렸습니다.

내보내기 Unified diff