Select Page
Methods Documentation
Edit on
Codepen.io

Modal Carts

Modal cart example using the FastSpring Store Builder Library and Handlebars JS.


x
704
 
1
<!DOCTYPE html>
2
<html>
3
    <head>
4
        <meta charset="utf-8">
5
        <title>
6
            Full Cart Catalog Page
7
        </title>
8
    </head>
9
    <body>
10
        <!--
11
        Spinner to display action taking place.
12
        -->
13
        <div id="fastspring_spinner">
14
            <img src="https://d1f8f9xcsvx3ha.cloudfront.net/pinhole/spin.svg" />
15
        </div>
16
        <!--
17
        Example buttons to populate the shopping cart.
18
        -->
19
        <h1>
20
            Open Cart Buttons
21
        </h1>
22
        <a class="fastspring_btn fastspring_btn-success" data-fsc-opencart="Modal">Open modal cart</a>
23
        <a class="fastspring_btn fastspring_btn-success" data-fsc-opencart="ModalSmall">Open small modal cart</a>
24
        <a class="fastspring_btn fastspring_btn-success" data-fsc-opencart="Left">Open left cart</a>
25
        <a class="fastspring_btn fastspring_btn-success" data-fsc-opencart="Right">Open right cart</a>
26
        <a class="fastspring_btn fastspring_btn-success" data-fsc-opencart="Bottom">Open bottom cart</a>
27
        
28
        <h1>
29
            Add to cart buttons Modal Cart
30
        </h1>
31
        <button class="fastspring_btn fastspring_btn-success" data-fsc-item-path-value="base" data-fsc-item-path="base" data-fsc-addthis="base" data-fsc-cart="Modal">Buy The Photo.io App</button>
32
        <button class="fastspring_btn fastspring_btn-success" data-fsc-item-path-value="xsell" data-fsc-item-path="xsell" data-fsc-addthis="xsell" data-fsc-cart="Modal">Buy The Photo.io App with Cross-Sell</button>
33
        <button class="fastspring_btn fastspring_btn-success" data-fsc-item-path-value="upsell" data-fsc-item-path="upsell" data-fsc-addthis="upsell" data-fsc-cart="Modal">Buy The Photo.io App with Upsell</button>
34
        <button class="fastspring_btn fastspring_btn-success" data-fsc-item-path-value="sub" data-fsc-item-path="sub" data-fsc-addthis="sub" data-fsc-cart="Modal">Buy The Photo.io App Subscription</button>
35
        <button class="fastspring_btn fastspring_btn-success" data-fsc-item-path-value="bogus" data-fsc-item-path="bogus" data-fsc-addthis="bogus" data-fsc-cart="Modal">Buy Bogus Product To Trigger Error</button>
36
        <h1>
37
            Add to cart buttons Small Modal Cart
38
        </h1>
39
        <button class="fastspring_btn fastspring_btn-success" data-fsc-item-path-value="base" data-fsc-item-path="base" data-fsc-addthis="base" data-fsc-cart="ModalSmall">Buy The Photo.io App</button>
40
        <button class="fastspring_btn fastspring_btn-success" data-fsc-item-path-value="xsell" data-fsc-item-path="xsell" data-fsc-addthis="xsell" data-fsc-cart="ModalSmall">Buy The Photo.io App with Cross-Sell</button>
41
        <button class="fastspring_btn fastspring_btn-success" data-fsc-item-path-value="upsell" data-fsc-item-path="upsell" data-fsc-addthis="upsell" data-fsc-cart="ModalSmall">Buy The Photo.io App with Upsell</button>
42
        <button class="fastspring_btn fastspring_btn-success" data-fsc-item-path-value="sub" data-fsc-item-path="sub" data-fsc-addthis="sub" data-fsc-cart="ModalSmall">Buy The Photo.io App Subscription</button>
43
        <button class="fastspring_btn fastspring_btn-success" data-fsc-item-path-value="bogus" data-fsc-item-path="bogus" data-fsc-addthis="bogus" data-fsc-cart="fsb-ModalSmall">Buy Bogus Product To Trigger Error</button>       
44
        
45
        <h1>
46
            Add to cart buttons Left Sheet Cart
47
        </h1>
48
        <button class="fastspring_btn fastspring_btn-success" data-fsc-item-path-value="base" data-fsc-item-path="base" data-fsc-addthis="base" data-fsc-cart="Left">Buy The Photo.io App</button>
49
        <button class="fastspring_btn fastspring_btn-success" data-fsc-item-path-value="xsell" data-fsc-item-path="xsell" data-fsc-addthis="xsell" data-fsc-cart="Left">Buy The Photo.io App with Cross-Sell</button>
50
        <button class="fastspring_btn fastspring_btn-success" data-fsc-item-path-value="upsell" data-fsc-item-path="upsell" data-fsc-addthis="upsell" data-fsc-cart="Left">Buy The Photo.io App with Upsell</button>
51
        <button class="fastspring_btn fastspring_btn-success" data-fsc-item-path-value="sub" data-fsc-item-path="sub" data-fsc-addthis="sub" data-fsc-cart="Left">Buy The Photo.io App Subscription</button>
52
        <button class="fastspring_btn fastspring_btn-success" data-fsc-item-path-value="bogus" data-fsc-item-path="bogus" data-fsc-addthis="bogus" data-fsc-cart="Left">Buy Bogus Product To Trigger Error</button>     
53
        
54
        <h1>
55
            Add to cart buttons Right Sheet Cart
56
        </h1>
57
        <button class="fastspring_btn fastspring_btn-success" data-fsc-item-path-value="base" data-fsc-item-path="base" data-fsc-addthis="base" data-fsc-cart="Right">Buy The Photo.io App</button>
58
        <button class="fastspring_btn fastspring_btn-success" data-fsc-item-path-value="xsell" data-fsc-item-path="xsell" data-fsc-addthis="xsell" data-fsc-cart="Right">Buy The Photo.io App with Cross-Sell</button>
59
        <button class="fastspring_btn fastspring_btn-success" data-fsc-item-path-value="upsell" data-fsc-item-path="upsell" data-fsc-addthis="upsell" data-fsc-cart="Right">Buy The Photo.io App with Upsell</button>
60
        <button class="fastspring_btn fastspring_btn-success" data-fsc-item-path-value="sub" data-fsc-item-path="sub" data-fsc-addthis="sub" data-fsc-cart="Right">Buy The Photo.io App Subscription</button>
61
        <button class="fastspring_btn fastspring_btn-success" data-fsc-item-path-value="bogus" data-fsc-item-path="bogus" data-fsc-addthis="bogus" data-fsc-cart="Right">Buy Bogus Product To Trigger Error</button>        
62
        
63
        <h1>
64
            Add to cart buttons Bottom Sheet Cart
65
        </h1>
66
        <button class="fastspring_btn fastspring_btn-success" data-fsc-item-path-value="base" data-fsc-item-path="base" data-fsc-addthis="base" data-fsc-cart="Bottom">Buy The Photo.io App</button>
67
        <button class="fastspring_btn fastspring_btn-success" data-fsc-item-path-value="xsell" data-fsc-item-path="xsell" data-fsc-addthis="xsell" data-fsc-cart="Bottom">Buy The Photo.io App with Cross-Sell</button>
68
        <button class="fastspring_btn fastspring_btn-success" data-fsc-item-path-value="upsell" data-fsc-item-path="upsell" data-fsc-addthis="upsell" data-fsc-cart="Bottom">Buy The Photo.io App with Upsell</button>
69
        <button class="fastspring_btn fastspring_btn-success" data-fsc-item-path-value="sub" data-fsc-item-path="sub" data-fsc-addthis="sub" data-fsc-cart="Bottom">Buy The Photo.io App Subscription</button>
70
        <button class="fastspring_btn fastspring_btn-success" data-fsc-item-path-value="bogus" data-fsc-item-path="bogus" data-fsc-addthis="bogus" data-fsc-cart="Bottom">Buy Bogus Product To Trigger Error</button>       
71
                        
72
        <br /><br />
73
<!--
74
    This is the modal shopping cart.  The contents of the below will be populated by the handlebars script defined below.
75
-->
76
<div id="fsb-modal" class="fsb-modal">
77
    <div class="fsb-modal-content" id="fsb-modal-content">
78
        <div class="fsb-modal-header" style="background: #28a745; color: #ffffff;">
79
            <span id="fsb-close" class="fsb-close">&times;</span>
80
            <span class="fsb-cart_title">Shopping Cart</span>
81
        </div>
82
        <div class="fsb-modal-body">
83
            <div id="fsb_error" class="fsb-alert fsb-alert-danger" role="alert">
84
                <p class="fsb-alert-heading"><strong>I'm sorry, there was an issue.</strong></p>
85
                <p id="fsb_error_msg"></p>
86
            </div>
87
            <div id="fsb" data-fsc-selections-smartdisplay>
88
                <div data-fsc-selections-smartdisplay data-fsc-items-container='fastspring_shopping_cart' data-fsc-filter="selected=true" class="fsb-container-fluid px-5 py5">
89
                </div>
90
            </div>
91
            <div data-fsc-selections-smartdisplay-inverse>
92
                <p class="fsb-emptyCart">Your cart is empty.</p>
93
            </div>
94
        </div>
95
    </div>
96
</div>
97
98
        <!--
99
        Initialize the Store Builder Library
100
        Callbacks are located in fullcart.js
101
        -->
102
        <script
103
            id="fsc-api"
104
            src="https://d1f8f9xcsvx3ha.cloudfront.net/sbl/0.8.1/fastspring-builder.min.js" type="text/javascript"
105
            data-storefront="fastspringexamples.test.onfastspring.com/popup-fastspringexamples"
106
            data-markup-helpers-callback="markupHelpersCallback"
107
            data-before-requests-callback="beforeRequestsCallbackFunction"
108
            data-after-markup-callback="afterMarkupCallbackFunction"
109
            data-popup-closed="popupClosed"
110
            /*uncomment the following line if using Google Analytics*/
111
            /*data-decorate-callback="decorateCallback"*/
112
            data-error-callback="errorCallback"
113
            data-data-callback="dataCallback"
114
            data-continuous="true">
115
        </script>
116
117
        <!--
118
           fsb_shopping_cart handlebars template
119
           This is the base shopping cart template and will loop through the items currently in the shopping cart.
120
        -->
121
        <script data-fsc-template-for="fastspring_shopping_cart" type="text/x-handlebars-template">
122
            <div class="fsb-row fsb-align-items-center fsb-mb-4">
123
                <!--start cart item row-->
124
                {{#each items}}
125
                    {{#each items}}
126
                        {{#iff path '!=' 'SystemExtension.shippingcalculation'}}
127
                        <div class="fsb-col-lg-12 fsb-border fsb-mb-4 fsb-rounded">
128
                            {{#if removable}}
129
                                <p class="fsb-removeX" style="position: absolute; top: 0px; right: 5px;">
130
                                    <a href="#" class="fsb-remove fsb-d-md-none" data-fsc-action="Remove" data-fsc-item-path-value="{{path}}" style="line-height:75%;"> &times;</a>
131
                                </p>
132
                            {{/if}}
133
                            <div class="fsb-row  fsb-mt-4 fsb-mb-4">
134
                                <div class="fsb-col-lg-1 fsb-col-md-1 fsb-col-4 fsb-offset-4 fsb-offset-sm-0 fsb-text-center fsb-pr-0">
135
                                    {{#if image}}
136
                                        <img src="{{image}}" class="fsb-img-fluid fsb-cartimage" />
137
                                    {{/if}}
138
                                </div>
139
                                <div class="fsb-col-lg-6 fsb-col-md-4 fsb-col-sm-8 fsb-col-12 fsb-text-center fsb-text-sm-left">
140
                                    <p class="fsb-display">{{display}}</p>
141
                                    {{#if description.summary}}
142
                                        {{{description.summary}}}
143
                                    {{/if}}
144
                                </div>
145
                                <div class="fsb-col-lg-3 fsb-col-md-4 fsb-col-12 fsb-text-center fsb-align-top fsb-mt-4 fsb-mt-sm-2">
146
                                    {{>pricing}}
147
                                    {{>quantity}}
148
                                </div>
149
                                <div class="fsb-d-none fsb-d-md-block fsb-col-lg-2 fsb-col-md-3 fsb-col-12 fsb-text-center fsb-text-md-right fsb-align-top  fsb-mt-4 fsb-mt-sm-2">
150
                                    <p class="fsb-extPrice fsb-text-nowrap">
151
                                        {{#iff totalValue '>' '0'}}
152
                                            {{total}}
153
                                        {{else}}
154
                                            FREE
155
                                        {{/iff}}
156
                                        {{#if removable}}
157
                                            <a href="#" class="fsb-d-none fsb-d-md-inline-block fsb-remove" data-fsc-action="Remove" data-fsc-item-path-value="{{path}}"> &times;</a>
158
                                        {{/if}}
159
                                    </p>
160
                                </div>
161
                            </div>
162
                            
163
                            {{#each groups}}
164
                                <!--Up-Sells-->
165
                                {{#iff type '==' 'replace'}}
166
                                    {{#iff selectableReplacements '==' true}}
167
                                        {{>upsell}}
168
                                    {{/iff}}
169
                                {{/iff}}
170
                                <!--Bundle-->
171
                                {{#iff type '==' 'bundle'}}
172
                                    <div class="fsb-row">
173
                                        <div class="fsb-col fsb-offset-md-1">
174
                                            <div class="fsb-card fsb-mt-2 fsb-mb-3">
175
                                                <div class="fsb-card-header" style="background: #28a745; color: #ffffff;">
176
                                                    {{display}} includes the following:
177
                                                </div>
178
                                                <div class="fsb-card-body fsb-pb-4">
179
                                                    {{#each items}}
180
                                                        {{#if image}}
181
                                                            <img src='{{image}}' class="fsb-bundleimage" alt='{{display}}' />
182
                                                        {{/if}}
183
                                                    {{/each}}
184
                                                </div>
185
                                            </div>
186
                                        </div>
187
                                    </div>
188
                                {{/iff}}
189
                                <!--Alternatives-->
190
                                {{#iff type '==' 'options'}}
191
                                    <div class="fsb-row">
192
                                        <div class="fsb-col-md-11 fsb-offset-md-1">
193
                                            <div class="fsb-card fsb-mt-2 fsb-mb-3">
194
                                                <div class="fsb-card-header" style="background: #28a745; color: #ffffff;">
195
                                                    {{display}}&nbsp;
196
                                                </div>
197
                                                <div class="fsb-card-body fsb-pb-0">
198
                                                    {{#each items}}
199
                                                    <div class="fsb-row fsb-mb-4">
200
                                                        <div class="fsb-col-1">
201
                                                            <input class="fsb-option-input fsb-radio" type="radio" {{#if selected}} checked{{/if}} name="{{display}}" id="{{path}}" data-fsc-action="Add" data-fsc-item-path-value="{{path}}" >
202
                                                        </div>
203
                                                        <div class="fsb-col-lg-1 fsb-col-md-1 fsb-col-12 fsb-text-center fsb-pr-0">
204
                                                            {{#if image}}
205
                                                                <img src="{{image}}" class="fsb-img-fluid fsb-ximage"  alt="{{display}}" />                                                     
206
                                                            {{/if}}
207
                                                        </div>
208
                                                        <div class=" fsb-col-12 fsb-col-md-7 fsb-col-9  fsb-text-center fsb-text-md-left">
209
                                                            <p class="fsb-display">{{display}}</p>
210
                                                            {{#if description.summary}}
211
                                                                {{{description.summary}}}
212
                                                            {{/if}}
213
                                                            <div class="fsb-d-md-none fsb-row fsb-mt-4  fsb-text-center fsb-text-md-left">
214
                                                                <div class=" fsb-col-md-7 fsb-col-12">
215
                                                                    {{>pricing2}}
216
                                                                    {{>volume-discount}}
217
                                                                </div>
218
                                                            </div>
219
                                                        </div>
220
                                                        <div class=" fsb-col-12 fsb-col-md-3 fsb-d-none fsb-d-md-block fsb-text-center">
221
                                                            {{>pricing2}}
222
                                                        </div>
223
                                                    </div>
224
                                                    <hr />
225
                                                    {{/each}}
226
                                                </div>
227
                                            </div>
228
                                        </div>
229
                                    </div>
230
                                {{/iff}}
231
                                <!--Single Choice Option-->
232
                                {{#iff type '==' 'config-one'}}
233
                                    {{>singlechoice}}
234
                                {{/iff}}
235
                                <!--Multiple Choice Option-->
236
                                {{#iff type '==' 'config-many'}}
237
                                    {{>multichoice}}
238
                                {{/iff}}
239
                                <!--Single Choice Subscription Addon-->
240
                                {{#iff type '==' 'addon-one'}}
241
                                    {{>singlechoice}}
242
                                {{/iff}}
243
                                <!--Multiple Choice Subscription Addon-->
244
                                {{#iff type '==' 'addon-many'}}
245
                                    {{>multichoice}}
246
                                {{/iff}}
247
                            {{/each}}                           
248
                            <!--Cross Sells-->
249
                            {{#each @root.groups}}
250
                                {{#iff type '==' 'add'}}
251
                                    {{#iff driver '==' ../../path}}
252
                                        {{#iff selectableAdditions '==' true}}
253
                                            {{#iff driverType '==' 'product'}}
254
                                                {{>xsell}}
255
                                            {{/iff}}
256
                                        {{/iff}}
257
                                    {{/iff}}
258
                                {{/iff}}
259
                            {{/each}}
260
                        </div>
261
                        {{/iff}}
262
                    {{/each}}
263
                {{/each}}
264
                <!--end cart item row-->
265
                <div class="fsb-col-12">
266
                    <div class="fsb-row">
267
                        <div class="fsb-col-12 fsb-col-md-6 fsb-order-md-12 fsb-order-1 fsb-mb-4">
268
                            {{#each items}}
269
                                {{#each items}}
270
                                    {{#iff path '==' 'SystemExtension.shippingcalculation'}}
271
                                        <div class="fsb-row">
272
                                            <div class="fsb-col-8 fsb-text-right">
273
                                                <p class="fsb-shipping">Shipping:</p>
274
                                            </div>
275
                                            <div class="fsb-col-4 fsb-text-right">
276
                                                <p class="fsb-shipping">{{total}}</p>
277
                                            </div>
278
                                        </div>
279
                                    {{/iff}}
280
                                {{/each}}
281
                            {{/each}}
282
                            <div class="fsb-row">
283
                                <div class="fsb-col-8 fsb-text-right">
284
                                    <p class="fsb-total">Total:</p>
285
                                </div>
286
                                <div class="fsb-col-4 fsb-text-right">
287
                                    {{#each order}}
288
                                        {{#iff totalValue '>' '0'}}
289
                                            <p class="fsb-total" data-fsc-order-total ></p>
290
                                        {{else}}
291
                                            <p class="fsb-total">FREE</p>
292
                                        {{/iff}}
293
                                        {{#if discountTotalValue}}
294
                                            <p class="fsb-text-success">You save {{discountTotal}}!</p>
295
                                        {{/if}}
296
                                    {{/each}}
297
                                </div>
298
                            </div>
299
                            <div class="fsb-row">
300
                                <div class="fsb-col-12 mt-2">
301
                                    <button id="checkout" data-fsc-selections-smartdisplay class="fastspring_btn fastspring_btn-success" style="float:right;" data-fsc-action="Checkout">
302
                                        Checkout 
303
                                    </button>
304
                                </div>
305
                            </div>
306
                        </div>                      
307
                        <div class="fsb-col-md-6 fsb-col-12 fsb-order-md-1 fsb-order-12">
308
                            <div class="fsb-col-12 fsb-text-nowrap fsb-text-center fsb-text-md-left">
309
                                <label for="couponcode" class="fsb-promocode">Have a promo code?</label><br />
310
                                <input type="text" id="couponcode" data-fsc-order-promocode class="fsb-form-control" placeholder="Coupon ID" style="display:inline-block; width:200px;">
311
                                <button class="fastspring_btn fastspring_btn-success" onclick="applycoupon();">Apply</button>
312
                            </div>                          
313
                        </div>
314
                    </div>
315
                    {{#each groups}}
316
                        {{#iff driverType '==' 'storefront'}}
317
                            {{#each items}}
318
                                {{#iff path '==' 'SystemExtension.eds'}}
319
                                    {{#iff selected '==' false}}
320
                                        <div class="fsb-row">
321
                                            <div class="fsb-col-md-12 fsb-mt-4">
322
                                                <div class="fsb-card fsb-mt-2 fsb-mb-3">
323
                                                    <div class="fsb-card-header" style="background: #28a745; color: #ffffff;">
324
                                                        {{display}}&nbsp;
325
                                                    </div>
326
                                                    <div class="fsb-card-body fsb-pb-0">
327
                                                        <div class="fsb-row fsb-mb-4">
328
                                                            <div class="fsb-col-lg-1 fsb-col-md-1 fsb-col-4 fsb-offset-4 fsb-offset-sm-0 fsb-text-center fsb-pr-0">
329
                                                                {{#if image}}
330
                                                                    <img src="{{image}}" class="fsb-img-fluid fsb-ximage"  alt="{{display}}" />
331
                                                                {{/if}}
332
                                                            </div>
333
                                                            <div class="fsb-col-lg-6 fsb-col-md-4 fsb-col-sm-8 fsb-col-12 fsb-text-center fsb-text-sm-left">
334
                                                                <p class="fsb-display">{{display}}</p>
335
                                                                {{#if description.summary}}
336
                                                                    {{{description.summary}}}
337
                                                                {{/if}}
338
                                                                <div class="fsb-d-md-none fsb-row fsb-mt-4">
339
                                                                    <div class=" fsb-col-sm-7 fsb-col-12 fsb-text-center fsb-text-sm-left">
340
                                                                        {{>pricing}}
341
                                                                        {{>volume-discount}}
342
                                                                    </div>
343
                                                                    <div class="fsb-col-sm-5 fsb-col-12 fsb-text-center fsb-text-sm-right">
344
                                                                         <button type="button" class="fastspring_btn fastspring_btn-success" data-fsc-item-path-value="{{path}}" data-fsc-item-path="{{path}}" data-fsc-action="Add" data-fsc-item-description-action>Add to Order</button>
345
                                                                    </div>
346
                                                                </div>
347
                                                            </div>
348
                                                            <div class="fsb-col-lg-3 fsb-col-md-4 fsb-d-none fsb-d-md-block fsb-text-center">
349
                                                                {{>pricing}}
350
                                                            </div>
351
                                                            <div class="fsb-col-lg-2 fsb-col-md-3 fsb-d-none fsb-d-md-block fsb-text-right">
352
                                                                <button type="button" class="fastspring_btn fastspring_btn-success" data-fsc-item-path-value="{{path}}" data-fsc-action="Add">Add to Order</button>
353
                                                            </div>
354
                                                        </div>
355
                                                    </div>
356
                                                </div>
357
                                            </div>
358
                                        </div>
359
                                    {{/iff}}
360
                                {{/iff}}
361
                            {{/each}}
362
                        {{/iff}}
363
                    {{/each}}
364
                </div>
365
            </div>
366
        </script>
367
368
        <!--
369
            pricing-partial handlebars partial
370
            This partial controls how line item prices are displayedin the shopping cart.
371
        -->
372
        <script id="pricing-partial" type='text/x-handlebars-template'>
373
            <span class='pricing'>
374
                {{#if discountTotalValue}}
375
                    <p class="fsb-price fsb-inline-item"><s>{{price}}</s></p>
376
                {{/if}}
377
                {{#iff totalValue '>' '0'}}
378
                    <p class="fsb-price fsb-inline-item">{{unitPrice}}</p>
379
                {{else}}
380
                    <p class="fsb-price fsb-inline-item fsb-text-success"> Free </p>
381
                {{/iff}}
382
            </span>
383
        </script>
384
385
        <!--
386
            pricing-partial handlebars partial
387
            This partial controls how line item prices are displayedin the shopping cart.
388
        -->
389
        <script id="pricing-partial2" type='text/x-handlebars-template'>
390
            <span class='pricing'>
391
                {{#if discountTotalValue}}
392
                    <p class="fsb-price fsb-inline-item"><s>{{price}}</s></p>
393
                {{/if}}
394
                {{#iff totalValue '>' '0'}}
395
                    <p class="fsb-price fsb-inline-item">{{unitPrice}}</p>
396
                {{else}}
397
                    <p class="fsb-price fsb-inline-item fsb-text-success"> Free </p>
398
                {{/iff}}
399
                {{#if subscription}}
400
                    <div>
401
                        <em style="font-size:75%;">
402
                            {{#iff subscription.intervalUnit '==' 'adhoc'}}
403
                                Renews automatically by the seller
404
                            {{else}}
405
                                Renews every
406
                            {{#iff subscription.intervalLength '>=' '2' }}
407
                                {{subscription.intervalLength}} {{subscription.intervalUnit}}s
408
                            {{/iff}}
409
                            {{#iff subscription.intervalLength '==' '1' }}
410
                                {{subscription.intervalUnit}}
411
                            {{/iff}}.
412
                            <br />Next charge: {{subscription.nextChargeTotal}} on {{subscription.nextChargeDate}}
413
                            {{/iff}}
414
                        </em>
415
                    </div>
416
                {{/if}}
417
            </span>
418
        </script>
419
420
        <!--
421
            quantity-partial handlebars partial
422
            This partial controls how the quantity fields are displayed on the shopping cart.
423
        -->
424
        <script id="quantity-partial" type='text/x-handlebars-template'>
425
            {{#if selected}}
426
                {{#iff pricing.quantity '==' 'allow'}}
427
                    {{#iff selected '==' true}}
428
                        <strong>&times</strong>
429
                    {{/iff}}
430
                    <div class="fsb-number">
431
                        <span class="fsb-minus">&minus;</span>
432
                            <input class="fsb-qtyinput" type="text" value="{{quantity}}"  data-fsc-autoapply  data-fsc-item-quantity-value data-fsc-item-quantity data-fsc-item-path-value="{{path}}" data-fsc-item-path="{{path}}" data-fsc-action="Update"/>
433
                        <span class="fsb-plus">&plus;</span>
434
                    </div>
435
                    <p class="fsb-qtyPrice fsb-d-inline-block fsb-d-md-none fsb-ml-2">
436
                        {{#iff totalValue '>' '0'}}
437
                            - {{total}}
438
                        {{else}}
439
                            - FREE
440
                        {{/iff}}
441
                    </p>
442
                {{/iff}}
443
                {{#iff pricing.quantity '==' 'lock'}}
444
                    <p class="fsb-multiply fsb-inline-item">&times {{quantity}}</p>
445
                {{/iff}}
446
                {{#if subscription}}
447
                    <div>
448
                        <em style="font-size:75%;">
449
                            {{#iff subscription.intervalUnit '==' 'adhoc'}}
450
                                Renews automatically by the seller
451
                            {{else}}
452
                                Renews every
453
                            {{#iff subscription.intervalLength '>=' '2' }}
454
                                {{subscription.intervalLength}} {{subscription.intervalUnit}}s
455
                            {{/iff}}
456
                            {{#iff subscription.intervalLength '==' '1' }}
457
                                {{subscription.intervalUnit}}
458
                            {{/iff}}.
459
                            <br />Next charge: {{subscription.nextChargeTotal}} on {{subscription.nextChargeDate}}
460
                            {{/iff}}
461
                        </em>
462
                    </div>
463
                {{/if}}
464
                {{>volume-discount}}
465
            {{/if}}
466
        </script>
467
468
        <!--
469
            volume-discount handlebars partial
470
            This partial controls how volume discounts are displayed in the shopping cart.
471
        -->
472
        <script id="volume-discount" type='text/x-handlebars-template'>
473
            {{#if discountTotalValue}}
474
                <div class="fsb-text-success">
475
                    You save {{discountTotal}} ({{discountPercent}})
476
                </div>
477
            {{/if}}
478
            {{#if discount.data.tiers}}
479
                <div style="font-size:75%;">
480
                    <strong>Volume Discounts Available</strong>
481
                    {{#each discount.data.tiers}}
482
                        <div>
483
                            {{quantity}}+ : {{percent}}{{amount}} off
484
                        </div>
485
                    {{/each}}
486
                </div>
487
            {{/if}}
488
        </script>
489
490
        <!--
491
            multichoice handlebars partial
492
            This partial is used to display multiple choice options or subscription addons.
493
        -->
494
        <script id="multichoice" type='text/x-handlebars-template'>
495
            <div class="fsb-row">
496
                <div class="fsb-col-md-11 fsb-offset-md-1">
497
                    <div class="fsb-card fsb-mt-2 fsb-mb-3">
498
                        <div class="fsb-card-header" style="background: #28a745; color: #ffffff;">
499
                            {{display}}&nbsp;
500
                        </div>
501
                        <div class="fsb-card-body fsb-pb-0">
502
                            {{#each items}}
503
                                <div class="fsb-row fsb-mb-4">
504
                                    <div class="fsb-col-1">
505
                                        {{#if selected}}
506
                                            <input class="fsb-option-input fsb-checkbox" type="checkbox" name="{{display}}" id="{{path}}" checked data-fsc-action="Remove" data-fsc-item-path-value="{{path}}">
507
                                        {{else}}
508
                                            <input class="fsb-option-input fsb-checkbox" type="checkbox" name="{{display}}" id="{{path}}" data-fsc-action="Add" data-fsc-item-path-value="{{path}}">
509
                                        {{/if}}
510
                                    </div>
511
                                    <div class="fsb-col-lg-1 fsb-col-md-1 fsb-col-12 fsb-text-center fsb-pr-0 fsb-d-md-none fsb-d-lg-block">
512
                                        {{#if image}}
513
                                            <img src="{{image}}" class="fsb-img-fluid fsb-ximage"  alt="{{display}}" />
514
                                        {{/if}} 
515
                                    </div>
516
                                    <div class="fsb-col-md-4 fsb-col-12  fsb-text-center fsb-text-md-left">
517
                                        <p class="fsb-display">{{display}}</p>
518
                                        {{#if description.summary}}
519
                                            {{{description.summary}}}
520
                                        {{/if}}
521
                                    </div>
522
                                    <div class="fsb-col-md-4 fsb-col-12 fsb-text-center fsb-mt-3">
523
                                        {{>pricing}}
524
                                        {{>quantity}}
525
                                    </div>
526
                                    <div class="fsb-d-none fsb-d-md-block fsb-col-md-3  fsb-col-lg-2 fsb-col-6 fsb-text-left fsb-text-md-right fsb-mt-3">
527
                                        {{#if selected}}
528
                                            <p class="fsb-qtyPrice">
529
                                                {{#iff totalValue '>' '0'}}
530
                                                    {{total}}
531
                                                {{else}}
532
                                                    FREE
533
                                                {{/iff}}
534
                                            </p>
535
                                        {{else}}
536
                                            ---
537
                                        {{/if}}
538
                                    </div>
539
                                </div>
540
                                <hr />
541
                            {{/each}}
542
                        </div>
543
                    </div>
544
                </div>
545
            </div>
546
        </script>
547
548
        <!--
549
            singlechoice handlebars partial
550
            This partial is used to display single choice options or subscription addons.
551
        -->
552
        <script id="singlechoice" type='text/x-handlebars-template'>
553
            <div class="fsb-row">
554
                <div class="fsb-col-md-11 fsb-offset-md-1">
555
                    <div class="fsb-card fsb-mt-2 fsb-mb-3">
556
                        <div class="fsb-card-header" style="background: #28a745; color: #ffffff;">
557
                            {{display}}&nbsp;
558
                        </div>
559
                        <div class="fsb-card-body fsb-pb-0">
560
                            {{#each items}}
561
                                <div class="fsb-row fsb-mb-4">
562
                                    <div class="fsb-col-1">
563
                                        <input class="fsb-option-input fsb-radio" type="radio" {{#if selected}} checked{{/if}} name="{{display}}" id="{{path}}" data-fsc-action="Add" data-fsc-item-path-value="{{path}}" >
564
                                    </div>
565
                                    <div class="fsb-col-lg-1 fsb-col-md-1 fsb-col-12 fsb-text-center fsb-pr-0 fsb-d-md-none fsb-d-lg-block">
566
                                        {{#if image}}
567
                                            <img src="{{image}}" class="fsb-img-fluid fsb-ximage"  alt="" />
568
                                        {{/if}}
569
                                    </div>
570
                                    <div class="fsb-col-md-4 fsb-col-12 fsb-text-center fsb-text-md-left">
571
                                        <p class="fsb-display">{{display}}</p>
572
                                        {{#if description.summary}}
573
                                            {{{description.summary}}}
574
                                        {{/if}}
575
                                    </div>
576
                                    <div class="fsb-col-md-4 fsb-col-12 fsb-text-center fsb-mt-3">
577
                                        {{>pricing}}
578
                                        {{>quantity}}
579
                                    </div>
580
                                    <div class="fsb-d-none fsb-d-md-block fsb-fsb-col-md-3 fsb-fsb-col-lg-2 fsb-fsb-col-6 fsb-text-left fsb-text-md-right fsb-mt-3">
581
                                        {{#if selected}}
582
                                            <p class="fsb-qtyPrice">
583
                                                {{#iff totalValue '>' '0'}}
584
                                                    {{total}}
585
                                                {{else}}
586
                                                    FREE
587
                                                {{/iff}}
588
                                            </p>
589
                                        {{else}}
590
                                                    ---
591
                                        {{/if}}
592
                                    </div>
593
                                </div>
594
                                <hr />
595
                            {{/each}}
596
                        </div>
597
                    </div>
598
                </div>
599
            </div>
600
        </script>
601
602
        <!--
603
            upsell handlebars partial
604
            This partial controls how upsells are displayed in the shopping cart.
605
        -->
606
        <script id="upsell" type='text/x-handlebars-template'>
607
            <div class="fsb-row">
608
                <div class="fsb-col-md-11 fsb-offset-md-1">
609
                    <div class="fsb-card fsb-mt-2 fsb-mb-3">
610
                        <div class="fsb-card-header" style="background: #28a745; color: #ffffff;">
611
                            {{display}}&nbsp;
612
                        </div>
613
                        <div class="fsb-card-body fsb-pb-0">
614
                            {{#each items}}
615
                                {{#iff selected '==' false}}
616
                                    <div class="fsb-row fsb-mb-4">
617
                                        <div class="fsb-col-lg-1 fsb-col-md-1 fsb-col-3 fsb-offset-sm-0 fsb-text-center fsb-pr-0">
618
                                            {{#if image}}
619
                                                <img src="{{image}}" class="fsb-img-fluid fsb-ximage"  alt="" />
620
                                            {{/if}}
621
                                        </div>
622
                                        <div class="fsb-col-lg-5 fsb-col-md-4 fsb-col-sm-9 fsb-col-12 fsb-text-center fsb-text-sm-left">
623
                                            <p class="fsb-display">{{display}}</p>
624
                                            {{#if description.summary}}
625
                                                {{{description.summary}}}
626
                                            {{/if}}
627
                                            <div class="fsb-d-md-none fsb-row">
628
                                                <div class=" fsb-col-sm-6 fsb-col-12 fsb-text-center fsb-text-sm-left">
629
                                                    {{>pricing}}
630
                                                    {{>volume-discount}}
631
                                                </div>
632
                                                <div class="fsb-col-sm-6 fsb-col-12 fsb-text-center fsb-text-sm-right">
633
                                                    <button type="button" class="fastspring_btn fastspring_btn-success" data-fsc-item-path-value="{{path}}" data-fsc-action="Add">Upgrade Now</button>
634
                                                </div>
635
                                            </div>
636
                                        </div>
637
                                        <div class="fsb-col-lg-3 fsb-col-md-3 fsb-d-none fsb-d-md-block fsb-text-center">
638
                                            {{>pricing}}
639
                                        </div>
640
                                        <div class="fsb-col-lg-3 fsb-col-md-4 fsb-d-none fsb-d-md-block fsb-text-right">
641
                                            <button type="button" class="fastspring_btn fastspring_btn-success" data-fsc-item-path-value="{{path}}" data-fsc-action="Add">Upgrade Now</button>
642
                                        </div>
643
                                    </div>
644
                                    <hr />
645
                                {{/iff}}
646
                            {{/each}}
647
                        </div>
648
                    </div>
649
                </div>
650
            </div>
651
        </script>
652
653
        <!--
654
            upsell handlebars partial
655
            This partial controls how cross sells are displayed in the shopping cart.
656
        -->
657
        <script id="xsell" type='text/x-handlebars-template'>
658
            <div class="fsb-row">
659
                <div class="fsb-col-md-11 fsb-offset-md-1">
660
                    <div class="fsb-card fsb-mt-2 fsb-mb-3">
661
                        <div class="fsb-card-header" style="background: #28a745; color: #ffffff;">
662
                            {{display}}&nbsp;
663
                        </div>
664
                        <div class="fsb-card-body fsb-pb-0">
665
                            {{#each items}}
666
                                {{#iff selected '==' false}}
667
                                    <div class="fsb-row fsb-mb-4">
668
                                        <div class="fsb-col-lg-1 fsb-col-md-1 fsb-col-3 fsb-offset-sm-0 fsb-text-center fsb-pr-0">
669
                                            {{#if image}}
670
                                                <img src="{{image}}" class="fsb-img-fluid fsb-ximage"  alt="" />
671
                                            {{/if}}
672
                                        </div>
673
                                        <div class="fsb-col-lg-5 fsb-col-md-4 fsb-col-sm-9 fsb-col-12 fsb-text-center fsb-text-sm-left">
674
                                            <p class="fsb-display">{{display}}</p>
675
                                            {{#if description.summary}}
676
                                                {{{description.summary}}}
677
                                            {{/if}}
678
                                            <div class="fsb-d-md-none fsb-row">
679
                                                <div class=" fsb-col-sm-6 fsb-col-12 fsb-text-center fsb-text-sm-left">
680
                                                    {{>pricing}}
681
                                                    {{>volume-discount}}
682
                                                </div>
683
                                                <div class="fsb-col-sm-6 fsb-col-12 fsb-text-center fsb-text-sm-right">
684
                                                    <button type="button" class="fastspring_btn fastspring_btn-success" data-fsc-item-path-value="{{path}}" data-fsc-action="Add">Add to Order</button>
685
                                                </div>
686
                                            </div>
687
                                        </div>
688
                                        <div class="fsb-col-lg-3 fsb-col-md-3 fsb-d-none fsb-d-md-block fsb-text-center">
689
                                            {{>pricing}}
690
                                        </div>
691
                                        <div class="fsb-col-lg-3 fsb-col-md-4 fsb-d-none fsb-d-md-block fsb-text-right">
692
                                            <button type="button" class="fastspring_btn fastspring_btn-success" data-fsc-item-path-value="{{path}}" data-fsc-action="Add">Add to Order</button>
693
                                        </div>
694
                                    </div>
695
                                    <hr />
696
                                {{/iff}}
697
                            {{/each}}
698
                        </div>
699
                    </div>
700
                </div>
701
            </div>
702
        </script>
703
    </body>
704
</html>
1
2817
 
1
#fsb *,
2
#fsb ::after,
3
#fsb ::before {
4
  -webkit-box-sizing: border-box;
5
          box-sizing: border-box; }
6
7
body.fsb-modalOpen {
8
  overflow: hidden; }
9
10
#fastspring_spinner
11
{
12
    width: 100%;
13
    height: 100%;
14
    z-index: 99999998;
15
    background: rgba(0,0,0,0.4);
16
    position: fixed;
17
    top: 0;
18
    left: 0;
19
}
20
21
#fastspring_spinner img
22
{
23
    -webkit-animation-duration: .4s;
24
    animation-duration: .4s;
25
    -webkit-animation-delay: .4s;
26
    animation-delay: .4s;
27
    -webkit-animation-name: fsb-fadeIn;
28
    animation-name: fsb-fadeIn;
29
    position: fixed;
30
    top: 50%;
31
    margin-top: -50px;
32
    left: 50%;
33
    margin-left: -50px;
34
    z-index: 99999999;
35
}
36
37
.fsb-alert-danger {
38
  color: #a94442;
39
  background-color: #f2dede;
40
  border-color: #ebccd1; }
41
42
.fsb-alert {
43
  display: none; }
44
45
.fsb-alert,
46
.fsb-mod_alert {
47
  -webkit-animation-duration: .4s;
48
  animation-duration: .4s;
49
  -webkit-animation-name: fsb-mod_animatetop;
50
  animation-name: fsb-mod_animatetop;
51
  padding: 15px;
52
  margin-bottom: 20px;
53
  border: 1px solid transparent;
54
  border-radius: 4px;
55
  z-index: 999999999; }
56
57
.fsb-inline-item {
58
  display: inline-block; }
59
60
.fsb-img-fluid {
61
  height: auto;
62
  max-width: 100%; }
63
64
.fsb-container-fluid {
65
  margin-left: auto;
66
  margin-right: auto;
67
  padding-left: 15px;
68
  padding-right: 15px;
69
  width: 100%; }
70
71
.fsb-row {
72
  display: -ms-flexbox;
73
  display: flex;
74
  -ms-flex-wrap: wrap;
75
  flex-wrap: wrap;
76
  margin-left: -15px;
77
  margin-right: -15px; }
78
79
.fsb-col-1, .fsb-col-2, .fsb-col-3, .fsb-col-4, .fsb-col-5, .fsb-col-6, .fsb-col-7, .fsb-col-8, .fsb-col-9, .fsb-col-10, .fsb-col-11, .fsb-col-12, .fsb-col,
80
.fsb-col-auto, .fsb-col-sm-1, .fsb-col-sm-2, .fsb-col-sm-3, .fsb-col-sm-4, .fsb-col-sm-5, .fsb-col-sm-6, .fsb-col-sm-7, .fsb-col-sm-8, .fsb-col-sm-9, .fsb-col-sm-10, .fsb-col-sm-11, .fsb-col-sm-12, .fsb-col-sm,
81
.fsb-col-sm-auto, .fsb-col-md-1, .fsb-col-md-2, .fsb-col-md-3, .fsb-col-md-4, .fsb-col-md-5, .fsb-col-md-6, .fsb-col-md-7, .fsb-col-md-8, .fsb-col-md-9, .fsb-col-md-10, .fsb-col-md-11, .fsb-col-md-12, .fsb-col-md,
82
.fsb-col-md-auto, .fsb-col-lg-1, .fsb-col-lg-2, .fsb-col-lg-3, .fsb-col-lg-4, .fsb-col-lg-5, .fsb-col-lg-6, .fsb-col-lg-7, .fsb-col-lg-8, .fsb-col-lg-9, .fsb-col-lg-10, .fsb-col-lg-11, .fsb-col-lg-12, .fsb-col-lg,
83
.fsb-col-lg-auto, .fsb-col-xl-1, .fsb-col-xl-2, .fsb-col-xl-3, .fsb-col-xl-4, .fsb-col-xl-5, .fsb-col-xl-6, .fsb-col-xl-7, .fsb-col-xl-8, .fsb-col-xl-9, .fsb-col-xl-10, .fsb-col-xl-11, .fsb-col-xl-12, .fsb-col-xl,
84
.fsb-col-xl-auto {
85
  min-height: 1px;
86
  padding-left: 15px;
87
  padding-right: 15px;
88
  position: relative;
89
  width: 100%; }
90
91
.fsb-col-1 {
92
  -ms-flex: 0 0 8.333333%;
93
  flex: 0 0 8.333333%;
94
  max-width: 8.333333%; }
95
96
.fsb-col-2 {
97
  -ms-flex: 0 0 16.666667%;
98
  flex: 0 0 16.666667%;
99
  max-width: 16.666667%; }
100
101
.fsb-col-3 {
102
  -ms-flex: 0 0 25%;
103
  flex: 0 0 25%;
104
  max-width: 25%; }
105
106
.fsb-col-4 {
107
  -ms-flex: 0 0 33.333333%;
108
  flex: 0 0 33.333333%;
109
  max-width: 33.333333%; }
110
111
.fsb-col-5 {
112
  -ms-flex: 0 0 41.666667%;
113
  flex: 0 0 41.666667%;
114
  max-width: 41.666667%; }
115
116
.fsb-col-6 {
117
  -ms-flex: 0 0 50%;
118
  flex: 0 0 50%;
119
  max-width: 50%; }
120
121
.fsb-col-7 {
122
  -ms-flex: 0 0 58.333333%;
123
  flex: 0 0 58.333333%;
124
  max-width: 58.333333%; }
125
126
.fsb-col-8 {
127
  -ms-flex: 0 0 66.666667%;
128
  flex: 0 0 66.666667%;
129
  max-width: 66.666667%; }
130
131
.fsb-col-9 {
132
  -ms-flex: 0 0 75%;
133
  flex: 0 0 75%;
134
  max-width: 75%; }
135
136
.fsb-col-10 {
137
  -ms-flex: 0 0 83.333333%;
138
  flex: 0 0 83.333333%;
139
  max-width: 83.333333%; }
140
141
.fsb-col-11 {
142
  -ms-flex: 0 0 91.666667%;
143
  flex: 0 0 91.666667%;
144
  max-width: 91.666667%; }
145
146
.fsb-col-12 {
147
  -ms-flex: 0 0 100%;
148
  flex: 0 0 100%;
149
  max-width: 100%; }
150
151
.fsb-order-first {
152
  -ms-flex-order: -1;
153
  order: -1; }
154
155
.fsb-order-last {
156
  -ms-flex-order: 13;
157
  order: 13; }
158
159
.fsb-order-0 {
160
  -ms-flex-order: 0;
161
  order: 0; }
162
163
.fsb-order-1 {
164
  -ms-flex-order: 1;
165
  order: 1; }
166
167
.fsb-order-2 {
168
  -ms-flex-order: 2;
169
  order: 2; }
170
171
.fsb-order-3 {
172
  -ms-flex-order: 3;
173
  order: 3; }
174
175
.fsb-order-4 {
176
  -ms-flex-order: 4;
177
  order: 4; }
178
179
.fsb-order-5 {
180
  -ms-flex-order: 5;
181
  order: 5; }
182
183
.fsb-order-6 {
184
  -ms-flex-order: 6;
185
  order: 6; }
186
187
.fsb-order-7 {
188
  -ms-flex-order: 7;
189
  order: 7; }
190
191
.fsb-order-8 {
192
  -ms-flex-order: 8;
193
  order: 8; }
194
195
.fsb-order-9 {
196
  -ms-flex-order: 9;
197
  order: 9; }
198
199
.fsb-order-10 {
200
  -ms-flex-order: 10;
201
  order: 10; }
202
203
.fsb-order-11 {
204
  -ms-flex-order: 11;
205
  order: 11; }
206
207
.fsb-order-12 {
208
  -ms-flex-order: 12;
209
  order: 12; }
210
211
.fsb-offset-1 {
212
  margin-left: 8.333333%; }
213
214
.fsb-offset-2 {
215
  margin-left: 16.666667%; }
216
217
.fsb-offset-3 {
218
  margin-left: 25%; }
219
220
.fsb-offset-4 {
221
  margin-left: 33.333333%; }
222
223
.fsb-offset-5 {
224
  margin-left: 41.666667%; }
225
226
.fsb-offset-6 {
227
  margin-left: 50%; }
228
229
.fsb-offset-7 {
230
  margin-left: 58.333333%; }
231
232
.fsb-offset-8 {
233
  margin-left: 66.666667%; }
234
235
.fsb-offset-9 {
236
  margin-left: 75%; }
237
238
.fsb-offset-10 {
239
  margin-left: 83.333333%; }
240
241
.fsb-offset-11 {
242
  margin-left: 91.666667%; }
243
244
@media (min-width: 576px) {
245
  .fsb-col-sm {
246
    -ms-flex-preferred-size: 0;
247
    flex-basis: 0;
248
    -ms-flex-positive: 1;
249
    flex-grow: 1;
250
    max-width: 100%; }
251
  .fsb-col-sm-auto {
252
    -ms-flex: 0 0 auto;
253
    flex: 0 0 auto;
254
    width: auto;
255
    max-width: 100%; }
256
  .fsb-col-sm-1 {
257
    -ms-flex: 0 0 8.333333%;
258
    flex: 0 0 8.333333%;
259
    max-width: 8.333333%; }
260
  .fsb-col-sm-2 {
261
    -ms-flex: 0 0 16.666667%;
262
    flex: 0 0 16.666667%;
263
    max-width: 16.666667%; }
264
  .fsb-col-sm-3 {
265
    -ms-flex: 0 0 25%;
266
    flex: 0 0 25%;
267
    max-width: 25%; }
268
  .fsb-col-sm-4 {
269
    -ms-flex: 0 0 33.333333%;
270
    flex: 0 0 33.333333%;
271
    max-width: 33.333333%; }
272
  .fsb-col-sm-5 {
273
    -ms-flex: 0 0 41.666667%;
274
    flex: 0 0 41.666667%;
275
    max-width: 41.666667%; }
276
  .fsb-col-sm-6 {
277
    -ms-flex: 0 0 50%;
278
    flex: 0 0 50%;
279
    max-width: 50%; }
280
  .fsb-col-sm-7 {
281
    -ms-flex: 0 0 58.333333%;
282
    flex: 0 0 58.333333%;
283
    max-width: 58.333333%; }
284
  .fsb-col-sm-8 {
285
    -ms-flex: 0 0 66.666667%;
286
    flex: 0 0 66.666667%;
287
    max-width: 66.666667%; }
288
  .fsb-col-sm-9 {
289
    -ms-flex: 0 0 75%;
290
    flex: 0 0 75%;
291
    max-width: 75%; }
292
  .fsb-col-sm-10 {
293
    -ms-flex: 0 0 83.333333%;
294
    flex: 0 0 83.333333%;
295
    max-width: 83.333333%; }
296
  .fsb-col-sm-11 {
297
    -ms-flex: 0 0 91.666667%;
298
    flex: 0 0 91.666667%;
299
    max-width: 91.666667%; }
300
  .fsb-col-sm-12 {
301
    -ms-flex: 0 0 100%;
302
    flex: 0 0 100%;
303
    max-width: 100%; }
304
  .fsb-order-sm-first {
305
    -ms-flex-order: -1;
306
    order: -1; }
307
  .fsb-order-sm-last {
308
    -ms-flex-order: 13;
309
    order: 13; }
310
  .fsb-order-sm-0 {
311
    -ms-flex-order: 0;
312
    order: 0; }
313
  .fsb-order-sm-1 {
314
    -ms-flex-order: 1;
315
    order: 1; }
316
  .fsb-order-sm-2 {
317
    -ms-flex-order: 2;
318
    order: 2; }
319
  .fsb-order-sm-3 {
320
    -ms-flex-order: 3;
321
    order: 3; }
322
  .fsb-order-sm-4 {
323
    -ms-flex-order: 4;
324
    order: 4; }
325
  .fsb-order-sm-5 {
326
    -ms-flex-order: 5;
327
    order: 5; }
328
  .fsb-order-sm-6 {
329
    -ms-flex-order: 6;
330
    order: 6; }
331
  .fsb-order-sm-7 {
332
    -ms-flex-order: 7;
333
    order: 7; }
334
  .fsb-order-sm-8 {
335
    -ms-flex-order: 8;
336
    order: 8; }
337
  .fsb-order-sm-9 {
338
    -ms-flex-order: 9;
339
    order: 9; }
340
  .fsb-order-sm-10 {
341
    -ms-flex-order: 10;
342
    order: 10; }
343
  .fsb-order-sm-11 {
344
    -ms-flex-order: 11;
345
    order: 11; }
346
  .fsb-order-sm-12 {
347
    -ms-flex-order: 12;
348
    order: 12; }
349
  .fsb-offset-sm-0 {
350
    margin-left: 0; }
351
  .fsb-offset-sm-1 {
352
    margin-left: 8.333333%; }
353
  .fsb-offset-sm-2 {
354
    margin-left: 16.666667%; }
355
  .fsb-offset-sm-3 {
356
    margin-left: 25%; }
357
  .fsb-offset-sm-4 {
358
    margin-left: 33.333333%; }
359
  .fsb-offset-sm-5 {
360
    margin-left: 41.666667%; }
361
  .fsb-offset-sm-6 {
362
    margin-left: 50%; }
363
  .fsb-offset-sm-7 {
364
    margin-left: 58.333333%; }
365
  .fsb-offset-sm-8 {
366
    margin-left: 66.666667%; }
367
  .fsb-offset-sm-9 {
368
    margin-left: 75%; }
369
  .fsb-offset-sm-10 {
370
    margin-left: 83.333333%; }
371
  .fsb-offset-sm-11 {
372
    margin-left: 91.666667%; } }
373
374
@media (min-width: 768px) {
375
  .fsb-col-md {
376
    -ms-flex-preferred-size: 0;
377
    flex-basis: 0;
378
    -ms-flex-positive: 1;
379
    flex-grow: 1;
380
    max-width: 100%; }
381
  .fsb-col-md-auto {
382
    -ms-flex: 0 0 auto;
383
    flex: 0 0 auto;
384
    width: auto;
385
    max-width: 100%; }
386
  .fsb-col-md-1 {
387
    -ms-flex: 0 0 8.333333%;
388
    flex: 0 0 8.333333%;
389
    max-width: 8.333333%; }
390
  .fsb-col-md-2 {
391
    -ms-flex: 0 0 16.666667%;
392
    flex: 0 0 16.666667%;
393
    max-width: 16.666667%; }
394
  .fsb-col-md-3 {
395
    -ms-flex: 0 0 25%;
396
    flex: 0 0 25%;
397
    max-width: 25%; }
398
  .fsb-col-md-4 {
399
    -ms-flex: 0 0 33.333333%;
400
    flex: 0 0 33.333333%;
401
    max-width: 33.333333%; }
402
  .fsb-col-md-5 {
403
    -ms-flex: 0 0 41.666667%;
404
    flex: 0 0 41.666667%;
405
    max-width: 41.666667%; }
406
  .fsb-col-md-6 {
407
    -ms-flex: 0 0 50%;
408
    flex: 0 0 50%;
409
    max-width: 50%; }
410
  .fsb-col-md-7 {
411
    -ms-flex: 0 0 58.333333%;
412
    flex: 0 0 58.333333%;
413
    max-width: 58.333333%; }
414
  .fsb-col-md-8 {
415
    -ms-flex: 0 0 66.666667%;
416
    flex: 0 0 66.666667%;
417
    max-width: 66.666667%; }
418
  .fsb-col-md-9 {
419
    -ms-flex: 0 0 75%;
420
    flex: 0 0 75%;
421
    max-width: 75%; }
422
  .fsb-col-md-10 {
423
    -ms-flex: 0 0 83.333333%;
424
    flex: 0 0 83.333333%;
425
    max-width: 83.333333%; }
426
  .fsb-col-md-11 {
427
    -ms-flex: 0 0 91.666667%;
428
    flex: 0 0 91.666667%;
429
    max-width: 91.666667%; }
430
  .fsb-col-md-12 {
431
    -ms-flex: 0 0 100%;
432
    flex: 0 0 100%;
433
    max-width: 100%; }
434
  .fsb-order-md-first {
435
    -ms-flex-order: -1;
436
    order: -1; }
437
  .fsb-order-md-last {
438
    -ms-flex-order: 13;
439
    order: 13; }
440
  .fsb-order-md-0 {
441
    -ms-flex-order: 0;
442
    order: 0; }
443
  .fsb-order-md-1 {
444
    -ms-flex-order: 1;
445
    order: 1; }
446
  .fsb-order-md-2 {
447
    -ms-flex-order: 2;
448
    order: 2; }
449
  .fsb-order-md-3 {
450
    -ms-flex-order: 3;
451
    order: 3; }
452
  .fsb-order-md-4 {
453
    -ms-flex-order: 4;
454
    order: 4; }
455
  .fsb-order-md-5 {
456
    -ms-flex-order: 5;
457
    order: 5; }
458
  .fsb-order-md-6 {
459
    -ms-flex-order: 6;
460
    order: 6; }
461
  .fsb-order-md-7 {
462
    -ms-flex-order: 7;
463
    order: 7; }
464
  .fsb-order-md-8 {
465
    -ms-flex-order: 8;
466
    order: 8; }
467
  .fsb-order-md-9 {
468
    -ms-flex-order: 9;
469
    order: 9; }
470
  .fsb-order-md-10 {
471
    -ms-flex-order: 10;
472
    order: 10; }
473
  .fsb-order-md-11 {
474
    -ms-flex-order: 11;
475
    order: 11; }
476
  .fsb-order-md-12 {
477
    -ms-flex-order: 12;
478
    order: 12; }
479
  .fsb-offset-md-0 {
480
    margin-left: 0; }
481
  .fsb-offset-md-1 {
482
    margin-left: 8.333333%; }
483
  .fsb-offset-md-2 {
484
    margin-left: 16.666667%; }
485
  .fsb-offset-md-3 {
486
    margin-left: 25%; }
487
  .fsb-offset-md-4 {
488
    margin-left: 33.333333%; }
489
  .fsb-offset-md-5 {
490
    margin-left: 41.666667%; }
491
  .fsb-offset-md-6 {
492
    margin-left: 50%; }
493
  .fsb-offset-md-7 {
494
    margin-left: 58.333333%; }
495
  .fsb-offset-md-8 {
496
    margin-left: 66.666667%; }
497
  .fsb-offset-md-9 {
498
    margin-left: 75%; }
499
  .fsb-offset-md-10 {
500
    margin-left: 83.333333%; }
501
  .fsb-offset-md-11 {
502
    margin-left: 91.666667%; } }
503
504
@media (min-width: 992px) {
505
  .fsb-col-lg {
506
    -ms-flex-preferred-size: 0;
507
    flex-basis: 0;
508
    -ms-flex-positive: 1;
509
    flex-grow: 1;
510
    max-width: 100%; }
511
  .fsb-col-lg-auto {
512
    -ms-flex: 0 0 auto;
513
    flex: 0 0 auto;
514
    width: auto;
515
    max-width: 100%; }
516
  .fsb-col-lg-1 {
517
    -ms-flex: 0 0 8.333333%;
518
    flex: 0 0 8.333333%;
519
    max-width: 8.333333%; }
520
  .fsb-col-lg-2 {
521
    -ms-flex: 0 0 16.666667%;
522
    flex: 0 0 16.666667%;
523
    max-width: 16.666667%; }
524
  .fsb-col-lg-3 {
525
    -ms-flex: 0 0 25%;
526
    flex: 0 0 25%;
527
    max-width: 25%; }
528
  .fsb-col-lg-4 {
529
    -ms-flex: 0 0 33.333333%;
530
    flex: 0 0 33.333333%;
531
    max-width: 33.333333%; }
532
  .fsb-col-lg-5 {
533
    -ms-flex: 0 0 41.666667%;
534
    flex: 0 0 41.666667%;
535
    max-width: 41.666667%; }
536
  .fsb-col-lg-6 {
537
    -ms-flex: 0 0 50%;
538
    flex: 0 0 50%;
539
    max-width: 50%; }
540
  .fsb-col-lg-7 {
541
    -ms-flex: 0 0 58.333333%;
542
    flex: 0 0 58.333333%;
543
    max-width: 58.333333%; }
544
  .fsb-col-lg-8 {
545
    -ms-flex: 0 0 66.666667%;
546
    flex: 0 0 66.666667%;
547
    max-width: 66.666667%; }
548
  .fsb-col-lg-9 {
549
    -ms-flex: 0 0 75%;
550
    flex: 0 0 75%;
551
    max-width: 75%; }
552
  .fsb-col-lg-10 {
553
    -ms-flex: 0 0 83.333333%;
554
    flex: 0 0 83.333333%;
555
    max-width: 83.333333%; }
556
  .fsb-col-lg-11 {
557
    -ms-flex: 0 0 91.666667%;
558
    flex: 0 0 91.666667%;
559
    max-width: 91.666667%; }
560
  .fsb-col-lg-12 {
561
    -ms-flex: 0 0 100%;
562
    flex: 0 0 100%;
563
    max-width: 100%; }
564
  .fsb-order-lg-first {
565
    -ms-flex-order: -1;
566
    order: -1; }
567
  .fsb-order-lg-last {
568
    -ms-flex-order: 13;
569
    order: 13; }
570
  .fsb-order-lg-0 {
571
    -ms-flex-order: 0;
572
    order: 0; }
573
  .fsb-order-lg-1 {
574
    -ms-flex-order: 1;
575
    order: 1; }
576
  .fsb-order-lg-2 {
577
    -ms-flex-order: 2;
578
    order: 2; }
579
  .fsb-order-lg-3 {
580
    -ms-flex-order: 3;
581
    order: 3; }
582
  .fsb-order-lg-4 {
583
    -ms-flex-order: 4;
584
    order: 4; }
585
  .fsb-order-lg-5 {
586
    -ms-flex-order: 5;
587
    order: 5; }
588
  .fsb-order-lg-6 {
589
    -ms-flex-order: 6;
590
    order: 6; }
591
  .fsb-order-lg-7 {
592
    -ms-flex-order: 7;
593
    order: 7; }
594
  .fsb-order-lg-8 {
595
    -ms-flex-order: 8;
596
    order: 8; }
597
  .fsb-order-lg-9 {
598
    -ms-flex-order: 9;
599
    order: 9; }
600
  .fsb-order-lg-10 {
601
    -ms-flex-order: 10;
602
    order: 10; }
603
  .fsb-order-lg-11 {
604
    -ms-flex-order: 11;
605
    order: 11; }
606
  .fsb-order-lg-12 {
607
    -ms-flex-order: 12;
608
    order: 12; }
609
  .fsb-offset-lg-0 {
610
    margin-left: 0; }
611
  .fsb-offset-lg-1 {
612
    margin-left: 8.333333%; }
613
  .fsb-offset-lg-2 {
614
    margin-left: 16.666667%; }
615
  .fsb-offset-lg-3 {
616
    margin-left: 25%; }
617
  .fsb-offset-lg-4 {
618
    margin-left: 33.333333%; }
619
  .fsb-offset-lg-5 {
620
    margin-left: 41.666667%; }
621
  .fsb-offset-lg-6 {
622
    margin-left: 50%; }
623
  .fsb-offset-lg-7 {
624
    margin-left: 58.333333%; }
625
  .fsb-offset-lg-8 {
626
    margin-left: 66.666667%; }
627
  .fsb-offset-lg-9 {
628
    margin-left: 75%; }
629
  .fsb-offset-lg-10 {
630
    margin-left: 83.333333%; }
631
  .fsb-offset-lg-11 {
632
    margin-left: 91.666667%; } }
633
634
@media (min-width: 1200px) {
635
  .fsb-col-xl {
636
    -ms-flex-preferred-size: 0;
637
    flex-basis: 0;
638
    -ms-flex-positive: 1;
639
    flex-grow: 1;
640
    max-width: 100%; }
641
  .fsb-col-xl-auto {
642
    -ms-flex: 0 0 auto;
643
    flex: 0 0 auto;
644
    width: auto;
645
    max-width: 100%; }
646
  .fsb-col-xl-1 {
647
    -ms-flex: 0 0 8.333333%;
648
    flex: 0 0 8.333333%;
649
    max-width: 8.333333%; }
650
  .fsb-col-xl-2 {
651
    -ms-flex: 0 0 16.666667%;
652
    flex: 0 0 16.666667%;
653
    max-width: 16.666667%; }
654
  .fsb-col-xl-3 {
655
    -ms-flex: 0 0 25%;
656
    flex: 0 0 25%;
657
    max-width: 25%; }
658
  .fsb-col-xl-4 {
659
    -ms-flex: 0 0 33.333333%;
660
    flex: 0 0 33.333333%;
661
    max-width: 33.333333%; }
662
  .fsb-col-xl-5 {
663
    -ms-flex: 0 0 41.666667%;
664
    flex: 0 0 41.666667%;
665
    max-width: 41.666667%; }
666
  .fsb-col-xl-6 {
667
    -ms-flex: 0 0 50%;
668
    flex: 0 0 50%;
669
    max-width: 50%; }
670
  .fsb-col-xl-7 {
671
    -ms-flex: 0 0 58.333333%;
672
    flex: 0 0 58.333333%;
673
    max-width: 58.333333%; }
674
  .fsb-col-xl-8 {
675
    -ms-flex: 0 0 66.666667%;
676
    flex: 0 0 66.666667%;
677
    max-width: 66.666667%; }
678
  .fsb-col-xl-9 {
679
    -ms-flex: 0 0 75%;
680
    flex: 0 0 75%;
681
    max-width: 75%; }
682
  .fsb-col-xl-10 {
683
    -ms-flex: 0 0 83.333333%;
684
    flex: 0 0 83.333333%;
685
    max-width: 83.333333%; }
686
  .fsb-col-xl-11 {
687
    -ms-flex: 0 0 91.666667%;
688
    flex: 0 0 91.666667%;
689
    max-width: 91.666667%; }
690
  .fsb-col-xl-12 {
691
    -ms-flex: 0 0 100%;
692
    flex: 0 0 100%;
693
    max-width: 100%; }
694
  .fsb-order-xl-first {
695
    -ms-flex-order: -1;
696
    order: -1; }
697
  .fsb-order-xl-last {
698
    -ms-flex-order: 13;
699
    order: 13; }
700
  .fsb-order-xl-0 {
701
    -ms-flex-order: 0;
702
    order: 0; }
703
  .fsb-order-xl-1 {
704
    -ms-flex-order: 1;
705
    order: 1; }
706
  .fsb-order-xl-2 {
707
    -ms-flex-order: 2;
708
    order: 2; }
709
  .fsb-order-xl-3 {
710
    -ms-flex-order: 3;
711
    order: 3; }
712
  .fsb-order-xl-4 {
713
    -ms-flex-order: 4;
714
    order: 4; }
715
  .fsb-order-xl-5 {
716
    -ms-flex-order: 5;
717
    order: 5; }
718
  .fsb-order-xl-6 {
719
    -ms-flex-order: 6;
720
    order: 6; }
721
  .fsb-order-xl-7 {
722
    -ms-flex-order: 7;
723
    order: 7; }
724
  .fsb-order-xl-8 {
725
    -ms-flex-order: 8;
726
    order: 8; }
727
  .fsb-order-xl-9 {
728
    -ms-flex-order: 9;
729
    order: 9; }
730
  .fsb-order-xl-10 {
731
    -ms-flex-order: 10;
732
    order: 10; }
733
  .fsb-order-xl-11 {
734
    -ms-flex-order: 11;
735
    order: 11; }
736
  .fsb-order-xl-12 {
737
    -ms-flex-order: 12;
738
    order: 12; }
739
  .fsb-offset-xl-0 {
740
    margin-left: 0; }
741
  .fsb-offset-xl-1 {
742
    margin-left: 8.333333%; }
743
  .fsb-offset-xl-2 {
744
    margin-left: 16.666667%; }
745
  .fsb-offset-xl-3 {
746
    margin-left: 25%; }
747
  .fsb-offset-xl-4 {
748
    margin-left: 33.333333%; }
749
  .fsb-offset-xl-5 {
750
    margin-left: 41.666667%; }
751
  .fsb-offset-xl-6 {
752
    margin-left: 50%; }
753
  .fsb-offset-xl-7 {
754
    margin-left: 58.333333%; }
755
  .fsb-offset-xl-8 {
756
    margin-left: 66.666667%; }
757
  .fsb-offset-xl-9 {
758
    margin-left: 75%; }
759
  .fsb-offset-xl-10 {
760
    margin-left: 83.333333%; }
761
  .fsb-offset-xl-11 {
762
    margin-left: 91.666667%; } }
763
764
.fsb-form-control {
765
  background-clip: padding-box;
766
  font-size: 1rem;
767
  line-height: 1.5;
768
  padding: .375rem .75rem;
769
  -webkit-transition: border-color .15s ease-in-out, -webkit-box-shadow .15s ease-in-out;
770
  transition: border-color .15s ease-in-out, -webkit-box-shadow .15s ease-in-out;
771
  -o-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
772
  transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
773
  transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out, -webkit-box-shadow .15s ease-in-out;
774
  width: 100%;
775
  height: 34px;
776
  border: 1px solid #ddd;
777
  border-radius: 4px;
778
  display: inline-block;
779
  vertical-align: middle; }
780
781
.fsb-form-control::-ms-expand {
782
  background-color: transparent;
783
  border: 0; }
784
785
.fsb-form-control:focus {
786
  border-color: #80bdff;
787
  -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
788
          box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
789
  outline: 0; }
790
791
select.fsb-form-control:not([size]):not([multiple]) {
792
  height: calc(2.25rem + 2px); }
793
794
.fsb-btn {
795
  border: 1px solid transparent;
796
  border-radius: .25rem;
797
  display: inline-block;
798
  font-size: 1rem;
799
  font-weight: 400;
800
  line-height: 1.5;
801
  padding: .375rem .75rem;
802
  text-align: center;
803
  -webkit-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, -webkit-box-shadow .15s ease-in-out;
804
  transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, -webkit-box-shadow .15s ease-in-out;
805
  -o-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
806
  transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
807
  transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, -webkit-box-shadow .15s ease-in-out;
808
  -webkit-user-select: none;
809
  -moz-user-select: none;
810
  -ms-user-select: none;
811
  user-select: none;
812
  vertical-align: middle;
813
  /*white-space: nowrap;*/
814
  text-decoration: none;
815
  text-transform: none;
816
  margin-bottom: 0px; }
817
818
.fsb-btn:focus,
819
.fsb-btn:hover {
820
  text-decoration: none; }
821
822
.fsb-btn:focus {
823
  -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
824
          box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
825
  outline: 0; }
826
827
.fsb-btn:disabled {
828
  opacity: .65; }
829
830
.fsb-btn:not(:disabled):not(.disabled) {
831
  cursor: pointer; }
832
833
.fsb-btn-success {
834
  background-color: #28a745;
835
  border-color: #28a745;
836
  color: #fff; }
837
838
.fsb-btn-success:hover {
839
  background-color: #218838;
840
  border-color: #1e7e34;
841
  color: #fff; }
842
843
.fsb-btn-success:focus {
844
  -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
845
          box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }
846
847
.fsb-btn-success:disabled {
848
  background-color: #28a745;
849
  border-color: #28a745;
850
  color: #fff; }
851
852
.fsb-btn-block {
853
  display: block;
854
  width: 100%; }
855
856
.fssmall {
857
  font-size: 10px;
858
  font-style: italic;
859
  margin-bottom: 10px; }
860
861
.editor-styles-wrapper i {
862
  font-style: normal !important; }
863
864
.fsb-btn:active {
865
  color: white; }
866
867
.fsb-btn-align-center {
868
  text-align: center; }
869
870
.fsb-btn-align-left {
871
  text-align: left; }
872
873
.fsb-btn-align-right {
874
  text-align: right; }
875
876
.fsb-btn {
877
  display: inline-block;
878
  font-weight: 400;
879
  color: #212529;
880
  text-align: center;
881
  vertical-align: middle;
882
  -webkit-user-select: none;
883
  -moz-user-select: none;
884
  -ms-user-select: none;
885
  user-select: none;
886
  background-color: transparent;
887
  border: 1px solid transparent;
888
  padding: 0.375rem 0.75rem;
889
  font-size: 1rem;
890
  line-height: 1.5;
891
  border-radius: 0.25rem;
892
  -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
893
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
894
  -o-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
895
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
896
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
897
  color: white; }
898
899
@media (prefers-reduced-motion: reduce) {
900
  .fsb-btn {
901
    -webkit-transition: none;
902
    -o-transition: none;
903
    transition: none; } }
904
905
.fsb-btn:hover {
906
  color: #212529;
907
  text-decoration: none; }
908
909
.fsb-btn:focus, .fsb-btn.focus {
910
  outline: 0;
911
  -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
912
          box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
913
914
.fsb-btn.disabled, .fsb-btn:disabled {
915
  opacity: 0.65; }
916
917
a.fsb-btn.disabled,
918
fieldset:disabled a.fsb-btn {
919
  pointer-events: none; }
920
921
.fsb-btn-primary {
922
  color: #fff;
923
  background-color: #007bff;
924
  border-color: #007bff; }
925
926
.fsb-btn-primary:hover {
927
  color: #fff;
928
  background-color: #0069d9;
929
  border-color: #0062cc; }
930
931
.fsb-btn-primary:focus, .fsb-btn-primary.focus {
932
  -webkit-box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
933
          box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); }
934
935
.fsb-btn-primary.disabled, .fsb-btn-primary:disabled {
936
  color: #fff;
937
  background-color: #007bff;
938
  border-color: #007bff; }
939
940
.fsb-btn-primary:not(:disabled):not(.disabled):active, .fsb-btn-primary:not(:disabled):not(.disabled).active,
941
.show > .fsb-btn-primary.dropdown-toggle {
942
  color: #fff;
943
  background-color: #0062cc;
944
  border-color: #005cbf; }
945
946
.fsb-btn-primary:not(:disabled):not(.disabled):active:focus, .fsb-btn-primary:not(:disabled):not(.disabled).active:focus,
947
.show > .fsb-btn-primary.dropdown-toggle:focus {
948
  -webkit-box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
949
          box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); }
950
951
.fsb-btn-secondary {
952
  color: #fff;
953
  background-color: #6c757d;
954
  border-color: #6c757d; }
955
956
.fsb-btn-secondary:hover {
957
  color: #fff;
958
  background-color: #5a6268;
959
  border-color: #545b62; }
960
961
.fsb-btn-secondary:focus, .fsb-btn-secondary.focus {
962
  -webkit-box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);
963
          box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); }
964
965
.fsb-btn-secondary.disabled, .fsb-btn-secondary:disabled {
966
  color: #fff;
967
  background-color: #6c757d;
968
  border-color: #6c757d; }
969
970
.fsb-btn-secondary:not(:disabled):not(.disabled):active, .fsb-btn-secondary:not(:disabled):not(.disabled).active,
971
.show > .fsb-btn-secondary.dropdown-toggle {
972
  color: #fff;
973
  background-color: #545b62;
974
  border-color: #4e555b; }
975
976
.fsb-btn-secondary:not(:disabled):not(.disabled):active:focus, .fsb-btn-secondary:not(:disabled):not(.disabled).active:focus,
977
.show > .fsb-btn-secondary.dropdown-toggle:focus {
978
  -webkit-box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);
979
          box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); }
980
981
.fsb-btn-success {
982
  color: #fff;
983
  background-color: #28a745;
984
  border-color: #28a745; }
985
986
.fsb-btn-success:hover {
987
  color: #fff;
988
  background-color: #218838;
989
  border-color: #1e7e34; }
990
991
.fsb-btn-success:focus, .fsb-btn-success.focus {
992
  -webkit-box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);
993
          box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); }
994
995
.fsb-btn-success.disabled, .fsb-btn-success:disabled {
996
  color: #fff;
997
  background-color: #28a745;
998
  border-color: #28a745; }
999
1000
.fsb-btn-success:not(:disabled):not(.disabled):active, .fsb-btn-success:not(:disabled):not(.disabled).active,
1001
.show > .fsb-btn-success.dropdown-toggle {
1002
  color: #fff;
1003
  background-color: #1e7e34;
1004
  border-color: #1c7430; }
1005
1006
.fsb-btn-success:not(:disabled):not(.disabled):active:focus, .fsb-btn-success:not(:disabled):not(.disabled).active:focus,
1007
.show > .fsb-btn-success.dropdown-toggle:focus {
1008
  -webkit-box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);
1009
          box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); }
1010
1011
.fsb-btn-info {
1012
  color: #fff;
1013
  background-color: #17a2b8;
1014
  border-color: #17a2b8; }
1015
1016
.fsb-btn-info:hover {
1017
  color: #fff;
1018
  background-color: #138496;
1019
  border-color: #117a8b; }
1020
1021
.fsb-btn-info:focus, .fsb-btn-info.focus {
1022
  -webkit-box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);
1023
          box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); }
1024
1025
.fsb-btn-info.disabled, .fsb-btn-info:disabled {
1026
  color: #fff;
1027
  background-color: #17a2b8;
1028
  border-color: #17a2b8; }
1029
1030
.fsb-btn-info:not(:disabled):not(.disabled):active, .fsb-btn-info:not(:disabled):not(.disabled).active,
1031
.show > .fsb-btn-info.dropdown-toggle {
1032
  color: #fff;
1033
  background-color: #117a8b;
1034
  border-color: #10707f; }
1035
1036
.fsb-btn-info:not(:disabled):not(.disabled):active:focus, .fsb-btn-info:not(:disabled):not(.disabled).active:focus,
1037
.show > .fsb-btn-info.dropdown-toggle:focus {
1038
  -webkit-box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);
1039
          box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); }
1040
1041
.fsb-btn-warning {
1042
  color: #212529;
1043
  background-color: #ffc107;
1044
  border-color: #ffc107; }
1045
1046
.fsb-btn-warning:hover {
1047
  color: #212529;
1048
  background-color: #e0a800;
1049
  border-color: #d39e00; }
1050
1051
.fsb-btn-warning:focus, .fsb-btn-warning.focus {
1052
  -webkit-box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);
1053
          box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); }
1054
1055
.fsb-btn-warning.disabled, .fsb-btn-warning:disabled {
1056
  color: #212529;
1057
  background-color: #ffc107;
1058
  border-color: #ffc107; }
1059
1060
.fsb-btn-warning:not(:disabled):not(.disabled):active, .fsb-btn-warning:not(:disabled):not(.disabled).active,
1061
.show > .fsb-btn-warning.dropdown-toggle {
1062
  color: #212529;
1063
  background-color: #d39e00;
1064
  border-color: #c69500; }
1065
1066
.fsb-btn-warning:not(:disabled):not(.disabled):active:focus, .fsb-btn-warning:not(:disabled):not(.disabled).active:focus,
1067
.show > .fsb-btn-warning.dropdown-toggle:focus {
1068
  -webkit-box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);
1069
          box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); }
1070
1071
.fsb-btn-danger {
1072
  color: #fff;
1073
  background-color: #dc3545;
1074
  border-color: #dc3545; }
1075
1076
.fsb-btn-danger:hover {
1077
  color: #fff;
1078
  background-color: #c82333;
1079
  border-color: #bd2130; }
1080
1081
.fsb-btn-danger:focus, .fsb-btn-danger.focus {
1082
  -webkit-box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);
1083
          box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); }
1084
1085
.fsb-btn-danger.disabled, .fsb-btn-danger:disabled {
1086
  color: #fff;
1087
  background-color: #dc3545;
1088
  border-color: #dc3545; }
1089
1090
.fsb-btn-danger:not(:disabled):not(.disabled):active, .fsb-btn-danger:not(:disabled):not(.disabled).active,
1091
.show > .fsb-btn-danger.dropdown-toggle {
1092
  color: #fff;
1093
  background-color: #bd2130;
1094
  border-color: #b21f2d; }
1095
1096
.fsb-btn-danger:not(:disabled):not(.disabled):active:focus, .fsb-btn-danger:not(:disabled):not(.disabled).active:focus,
1097
.show > .fsb-btn-danger.dropdown-toggle:focus {
1098
  -webkit-box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);
1099
          box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); }
1100
1101
.fsb-btn-light {
1102
  color: #212529;
1103
  background-color: #f8f9fa;
1104
  border-color: #f8f9fa; }
1105
1106
.fsb-btn-light:hover {
1107
  color: #212529;
1108
  background-color: #e2e6ea;
1109
  border-color: #dae0e5; }
1110
1111
.fsb-btn-light:focus, .fsb-btn-light.focus {
1112
  -webkit-box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);
1113
          box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); }
1114
1115
.fsb-btn-light.disabled, .fsb-btn-light:disabled {
1116
  color: #212529;
1117
  background-color: #f8f9fa;
1118
  border-color: #f8f9fa; }
1119
1120
.fsb-btn-light:not(:disabled):not(.disabled):active, .fsb-btn-light:not(:disabled):not(.disabled).active,
1121
.show > .fsb-btn-light.dropdown-toggle {
1122
  color: #212529;
1123
  background-color: #dae0e5;
1124
  border-color: #d3d9df; }
1125
1126
.fsb-btn-light:not(:disabled):not(.disabled):active:focus, .fsb-btn-light:not(:disabled):not(.disabled).active:focus,
1127
.show > .fsb-btn-light.dropdown-toggle:focus {
1128
  -webkit-box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);
1129
          box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); }
1130
1131
.fsb-btn-dark {
1132
  color: #fff;
1133
  background-color: #343a40;
1134
  border-color: #343a40; }
1135
1136
.fsb-btn-dark:hover {
1137
  color: #fff;
1138
  background-color: #23272b;
1139
  border-color: #1d2124; }
1140
1141
.fsb-btn-dark:focus, .fsb-btn-dark.focus {
1142
  -webkit-box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);
1143
          box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); }
1144
1145
.fsb-btn-dark.disabled, .fsb-btn-dark:disabled {
1146
  color: #fff;
1147
  background-color: #343a40;
1148
  border-color: #343a40; }
1149
1150
.fsb-btn-dark:not(:disabled):not(.disabled):active, .fsb-btn-dark:not(:disabled):not(.disabled).active,
1151
.show > .fsb-btn-dark.dropdown-toggle {
1152
  color: #fff;
1153
  background-color: #1d2124;
1154
  border-color: #171a1d; }
1155
1156
.fsb-btn-dark:not(:disabled):not(.disabled):active:focus, .fsb-btn-dark:not(:disabled):not(.disabled).active:focus,
1157
.show > .fsb-btn-dark.dropdown-toggle:focus {
1158
  -webkit-box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);
1159
          box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); }
1160
1161
.fsb-btn-outline-primary {
1162
  color: #007bff;
1163
  border-color: #007bff; }
1164
1165
.fsb-btn-outline-primary:hover {
1166
  color: #fff;
1167
  background-color: #007bff;
1168
  border-color: #007bff; }
1169
1170
.fsb-btn-outline-primary:focus, .fsb-btn-outline-primary.focus {
1171
  -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
1172
          box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); }
1173
1174
.fsb-btn-outline-primary.disabled, .fsb-btn-outline-primary:disabled {
1175
  color: #007bff;
1176
  background-color: transparent; }
1177
1178
.fsb-btn-outline-primary:not(:disabled):not(.disabled):active, .fsb-btn-outline-primary:not(:disabled):not(.disabled).active,
1179
.show > .fsb-btn-outline-primary.dropdown-toggle {
1180
  color: #fff;
1181
  background-color: #007bff;
1182
  border-color: #007bff; }
1183
1184
.fsb-btn-outline-primary:not(:disabled):not(.disabled):active:focus, .fsb-btn-outline-primary:not(:disabled):not(.disabled).active:focus,
1185
.show > .fsb-btn-outline-primary.dropdown-toggle:focus {
1186
  -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
1187
          box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); }
1188
1189
.fsb-btn-outline-secondary {
1190
  color: #6c757d;
1191
  border-color: #6c757d; }
1192
1193
.fsb-btn-outline-secondary:hover {
1194
  color: #fff;
1195
  background-color: #6c757d;
1196
  border-color: #6c757d; }
1197
1198
.fsb-btn-outline-secondary:focus, .fsb-btn-outline-secondary.focus {
1199
  -webkit-box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
1200
          box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }
1201
1202
.fsb-btn-outline-secondary.disabled, .fsb-btn-outline-secondary:disabled {
1203
  color: #6c757d;
1204
  background-color: transparent; }
1205
1206
.fsb-btn-outline-secondary:not(:disabled):not(.disabled):active, .fsb-btn-outline-secondary:not(:disabled):not(.disabled).active,
1207
.show > .fsb-btn-outline-secondary.dropdown-toggle {
1208
  color: #fff;
1209
  background-color: #6c757d;
1210
  border-color: #6c757d; }
1211
1212
.fsb-btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .fsb-btn-outline-secondary:not(:disabled):not(.disabled).active:focus,
1213
.show > .fsb-btn-outline-secondary.dropdown-toggle:focus {
1214
  -webkit-box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
1215
          box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }
1216
1217
.fsb-btn-outline-success {
1218
  color: #28a745;
1219
  border-color: #28a745; }
1220
1221
.fsb-btn-outline-success:hover {
1222
  color: #fff;
1223
  background-color: #28a745;
1224
  border-color: #28a745; }
1225
1226
.fsb-btn-outline-success:focus, .fsb-btn-outline-success.focus {
1227
  -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
1228
          box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }
1229
1230
.fsb-btn-outline-success.disabled, .fsb-btn-outline-success:disabled {
1231
  color: #28a745;
1232
  background-color: transparent; }
1233
1234
.fsb-btn-outline-success:not(:disabled):not(.disabled):active, .fsb-btn-outline-success:not(:disabled):not(.disabled).active,
1235
.show > .fsb-btn-outline-success.dropdown-toggle {
1236
  color: #fff;
1237
  background-color: #28a745;
1238
  border-color: #28a745; }
1239
1240
.fsb-btn-outline-success:not(:disabled):not(.disabled):active:focus, .fsb-btn-outline-success:not(:disabled):not(.disabled).active:focus,
1241
.show > .fsb-btn-outline-success.dropdown-toggle:focus {
1242
  -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
1243
          box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }
1244
1245
.fsb-btn-outline-info {
1246
  color: #17a2b8;
1247
  border-color: #17a2b8; }
1248
1249
.fsb-btn-outline-info:hover {
1250
  color: #fff;
1251
  background-color: #17a2b8;
1252
  border-color: #17a2b8; }
1253
1254
.fsb-btn-outline-info:focus, .fsb-btn-outline-info.focus {
1255
  -webkit-box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
1256
          box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }
1257
1258
.fsb-btn-outline-info.disabled, .fsb-btn-outline-info:disabled {
1259
  color: #17a2b8;
1260
  background-color: transparent; }
1261
1262
.fsb-btn-outline-info:not(:disabled):not(.disabled):active, .fsb-btn-outline-info:not(:disabled):not(.disabled).active,
1263
.show > .fsb-btn-outline-info.dropdown-toggle {
1264
  color: #fff;
1265
  background-color: #17a2b8;
1266
  border-color: #17a2b8; }
1267
1268
.fsb-btn-outline-info:not(:disabled):not(.disabled):active:focus, .fsb-btn-outline-info:not(:disabled):not(.disabled).active:focus,
1269
.show > .fsb-btn-outline-info.dropdown-toggle:focus {
1270
  -webkit-box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
1271
          box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }
1272
1273
.fsb-btn-outline-warning {
1274
  color: #ffc107;
1275
  border-color: #ffc107; }
1276
1277
.fsb-btn-outline-warning:hover {
1278
  color: #212529;
1279
  background-color: #ffc107;
1280
  border-color: #ffc107; }
1281
1282
.fsb-btn-outline-warning:focus, .fsb-btn-outline-warning.focus {
1283
  -webkit-box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
1284
          box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); }
1285
1286
.fsb-btn-outline-warning.disabled, .fsb-btn-outline-warning:disabled {
1287
  color: #ffc107;
1288
  background-color: transparent; }
1289
1290
.fsb-btn-outline-warning:not(:disabled):not(.disabled):active, .fsb-btn-outline-warning:not(:disabled):not(.disabled).active,
1291
.show > .fsb-btn-outline-warning.dropdown-toggle {
1292
  color: #212529;
1293
  background-color: #ffc107;
1294
  border-color: #ffc107; }
1295
1296
.fsb-btn-outline-warning:not(:disabled):not(.disabled):active:focus, .fsb-btn-outline-warning:not(:disabled):not(.disabled).active:focus,
1297
.show > .fsb-btn-outline-warning.dropdown-toggle:focus {
1298
  -webkit-box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
1299
          box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); }
1300
1301
.fsb-btn-outline-danger {
1302
  color: #dc3545;
1303
  border-color: #dc3545; }
1304
1305
.fsb-btn-outline-danger:hover {
1306
  color: #fff;
1307
  background-color: #dc3545;
1308
  border-color: #dc3545; }
1309
1310
.fsb-btn-outline-danger:focus, .fsb-btn-outline-danger.focus {
1311
  -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
1312
          box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); }
1313
1314
.fsb-btn-outline-danger.disabled, .fsb-btn-outline-danger:disabled {
1315
  color: #dc3545;
1316
  background-color: transparent; }
1317
1318
.fsb-btn-outline-danger:not(:disabled):not(.disabled):active, .fsb-btn-outline-danger:not(:disabled):not(.disabled).active,
1319
.show > .fsb-btn-outline-danger.dropdown-toggle {
1320
  color: #fff;
1321
  background-color: #dc3545;
1322
  border-color: #dc3545; }
1323
1324
.fsb-btn-outline-danger:not(:disabled):not(.disabled):active:focus, .fsb-btn-outline-danger:not(:disabled):not(.disabled).active:focus,
1325
.show > .fsb-btn-outline-danger.dropdown-toggle:focus {
1326
  -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
1327
          box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); }
1328
1329
.fsb-btn-outline-light {
1330
  color: #f8f9fa;
1331
  border-color: #f8f9fa; }
1332
1333
.fsb-btn-outline-light:hover {
1334
  color: #212529;
1335
  background-color: #f8f9fa;
1336
  border-color: #f8f9fa; }
1337
1338
.fsb-btn-outline-light:focus, .fsb-btn-outline-light.focus {
1339
  -webkit-box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
1340
          box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }
1341
1342
.fsb-btn-outline-light.disabled, .fsb-btn-outline-light:disabled {
1343
  color: #f8f9fa;
1344
  background-color: transparent; }
1345
1346
.fsb-btn-outline-light:not(:disabled):not(.disabled):active, .fsb-btn-outline-light:not(:disabled):not(.disabled).active,
1347
.show > .fsb-btn-outline-light.dropdown-toggle {
1348
  color: #212529;
1349
  background-color: #f8f9fa;
1350
  border-color: #f8f9fa; }
1351
1352
.fsb-btn-outline-light:not(:disabled):not(.disabled):active:focus, .fsb-btn-outline-light:not(:disabled):not(.disabled).active:focus,
1353
.show > .fsb-btn-outline-light.dropdown-toggle:focus {
1354
  -webkit-box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
1355
          box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }
1356
1357
.fsb-btn-outline-dark {
1358
  color: #343a40;
1359
  border-color: #343a40; }
1360
1361
.fsb-btn-outline-dark:hover {
1362
  color: #fff;
1363
  background-color: #343a40;
1364
  border-color: #343a40; }
1365
1366
.fsb-btn-outline-dark:focus, .fsb-btn-outline-dark.focus {
1367
  -webkit-box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
1368
          box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }
1369
1370
.fsb-btn-outline-dark.disabled, .fsb-btn-outline-dark:disabled {
1371
  color: #343a40;
1372
  background-color: transparent; }
1373
1374
.fsb-btn-outline-dark:not(:disabled):not(.disabled):active, .fsb-btn-outline-dark:not(:disabled):not(.disabled).active,
1375
.show > .fsb-btn-outline-dark.dropdown-toggle {
1376
  color: #fff;
1377
  background-color: #343a40;
1378
  border-color: #343a40; }
1379
1380
.fsb-btn-outline-dark:not(:disabled):not(.disabled):active:focus, .fsb-btn-outline-dark:not(:disabled):not(.disabled).active:focus,
1381
.show > .fsb-btn-outline-dark.dropdown-toggle:focus {
1382
  -webkit-box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
1383
          box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }
1384
1385
.fsb-btn-link {
1386
  font-weight: 400;
1387
  color: #007bff;
1388
  text-decoration: none; }
1389
1390
.fsb-btn-link:hover {
1391
  color: #0056b3;
1392
  text-decoration: underline; }
1393
1394
.fsb-btn-link:focus, .fsb-btn-link.focus {
1395
  text-decoration: underline;
1396
  -webkit-box-shadow: none;
1397
          box-shadow: none; }
1398
1399
.fsb-btn-link:disabled, .fsb-btn-link.disabled {
1400
  color: #6c757d;
1401
  pointer-events: none; }
1402
1403
.fsb-btn-lg, .fsb-btn-group-lg > .fsb-btn {
1404
  padding: 0.5rem 1rem;
1405
  font-size: 1.25rem;
1406
  line-height: 1.5;
1407
  border-radius: 0.3rem; }
1408
1409
.fsb-btn-sm, .fsb-btn-group-sm > .fsb-btn {
1410
  padding: 0.25rem 0.5rem;
1411
  font-size: 0.875rem;
1412
  line-height: 1.5;
1413
  border-radius: 0.2rem; }
1414
1415
.fsb-btn-block {
1416
  display: block;
1417
  width: 100%; }
1418
1419
.fsb-btn-block + .fsb-btn-block {
1420
  margin-top: 0.5rem; }
1421
1422
input[type="submit"].fsb-btn-block,
1423
input[type="reset"].fsb-btn-block,
1424
input[type="button"].fsb-btn-block {
1425
  width: 100%; }
1426
1427
.fsb-card {
1428
  background-color: #fff;
1429
  border: 1px solid rgba(0, 0, 0, 0.125);
1430
  border-radius: 0px;
1431
  position: relative;
1432
  display: -ms-flexbox;
1433
  display: flex;
1434
  -ms-flex-direction: column;
1435
  flex-direction: column;
1436
  min-width: 0;
1437
  word-wrap: break-word;
1438
  background-color: #fff;
1439
  background-clip: border-box;
1440
  border: 1px solid rgba(0, 0, 0, 0.125); }
1441
1442
.fsb-card-body {
1443
  -ms-flex: 1 1 auto;
1444
  flex: 1 1 auto;
1445
  padding: 1.25rem; }
1446
1447
.fsb-card-header {
1448
  background-color: rgba(0, 0, 0, 0.03);
1449
  border-bottom: 1px solid rgba(0, 0, 0, 0.125);
1450
  margin-bottom: 0;
1451
  padding: 0 1em; }
1452
1453
.fsb-card-header:first-child {
1454
  border-radius: 0px; }
1455
1456
.fsb-align-top {
1457
  vertical-align: top !important; }
1458
1459
.fsb-border {
1460
  border: 1px solid #dee2e6 !important; }
1461
1462
.fsb-rounded {
1463
  border-radius: 0.25rem !important; }
1464
1465
.fsb-d-none {
1466
  display: none !important; }
1467
1468
.fsb-d-inline-block {
1469
  display: inline-block !important; }
1470
1471
@media (min-width: 576px) {
1472
  .fsb-d-sm-none {
1473
    display: none !important; }
1474
  .fsb-d-sm-block {
1475
    display: block !important; } }
1476
1477
@media (min-width: 768px) {
1478
  .fsb-d-md-none {
1479
    display: none !important; }
1480
  .fsb-d-md-inline-block {
1481
    display: inline-block !important; }
1482
  .fsb-d-md-block {
1483
    display: block !important; } }
1484
1485
@media (min-width: 992px) {
1486
  .fsb-d-lg-none {
1487
    display: none !important; }
1488
  .fsb-d-lg-block {
1489
    display: block !important; } }
1490
1491
@media (min-width: 1200px) {
1492
  .fsb-d-xl-none {
1493
    display: none !important; }
1494
  .fsb-d-xl-block {
1495
    display: block !important; } }
1496
1497
.fsb-align-items-center {
1498
  align-items: center !important;
1499
  -webkit-box-align: center !important;
1500
  -ms-flex-align: center !important; }
1501
1502
.fsb-mt-2 {
1503
  margin-top: 0.5rem !important; }
1504
1505
.fsb-ml-2 {
1506
  margin-left: 0.5rem !important; }
1507
1508
.fsb-mt-3 {
1509
  margin-top: 1rem !important; }
1510
1511
.fsb-mb-3 {
1512
  margin-bottom: 1rem !important; }
1513
1514
.fsb-mt-4 {
1515
  margin-top: 1.5rem !important; }
1516
1517
.fsb-m-4 {
1518
  margin: 1.5rem !important; }
1519
1520
.fsb-mb-4 {
1521
  margin-bottom: 1.5rem !important; }
1522
1523
.fsb-pr-0 {
1524
  padding-right: 0 !important; }
1525
1526
.fsb-pl-0 {
1527
  padding-left: 0 !important; }
1528
1529
.fsb-pb-0 {
1530
  padding-bottom: 0 !important; }
1531
1532
.fsb-pb-4 {
1533
  padding-bottom: 1.5rem !important; }
1534
1535
.fsb-px-5 {
1536
  padding-right: 3rem !important; }
1537
1538
.fsb-px-5 {
1539
  padding-left: 3rem !important; }
1540
1541
.fsb-p-1 {
1542
  padding: 1rem !important; }
1543
1544
.fsb-p-0 {
1545
  padding: 0px !important; }
1546
1547
@media (min-width: 576px) {
1548
  .fsb-mt-sm-2 {
1549
    margin-top: 0.5rem !important; } }
1550
1551
.fsb-text-nowrap {
1552
  white-space: nowrap !important; }
1553
1554
.fsb-text-left {
1555
  text-align: left !important; }
1556
1557
.fsb-text-right {
1558
  text-align: right !important; }
1559
1560
.fsb-text-center {
1561
  text-align: center !important; }
1562
1563
@media (min-width: 576px) {
1564
  .fsb-text-sm-left {
1565
    text-align: left !important; }
1566
  .fsb-text-sm-right {
1567
    text-align: right !important; } }
1568
1569
@media (min-width: 768px) {
1570
  .fsb-text-md-left {
1571
    text-align: left !important; }
1572
  .fsb-text-md-right {
1573
    text-align: right !important; } }
1574
1575
.fsb-text-success {
1576
  color: #28a745 !important; }
1577
1578
.fsb-card-body hr:last-child {
1579
  display: none; }
1580
1581
.fsb-remove
1582
{
1583
    color: #b3b3b3;
1584
    text-decoration: none;
1585
    font-size: 28px;
1586
    vertical-align: sub;
1587
}
1588
1589
.fsb-remove:hover {
1590
  color: black; }
1591
1592
.fsb-option-input {
1593
  -webkit-appearance: none;
1594
  -moz-appearance: none;
1595
  -ms-appearance: none;
1596
  -o-appearance: none;
1597
  appearance: none;
1598
  background: #c0c0c0;
1599
  border: none;
1600
  bottom: 0;
1601
  color: #fff;
1602
  cursor: pointer;
1603
  display: inline-block;
1604
  font-family: initial;
1605
  height: 25px;
1606
  left: 0;
1607
  margin-right: .5rem;
1608
  outline: none;
1609
  position: relative;
1610
  position: relative;
1611
  right: 0;
1612
  -webkit-transition: all .15s ease-out 0s;
1613
  -o-transition: all .15s ease-out 0s;
1614
  transition: all .15s ease-out 0s;
1615
  width: 25px;
1616
  z-index: 2; }
1617
1618
.fsb-option-input:hover {
1619
  background: #9faab7; }
1620
1621
.fsb-option-input:checked {
1622
  background: #9faab7; }
1623
1624
.fsb-option-input:checked::before {
1625
  content: '2714';
1626
  display: inline-block;
1627
  font-size: 18px;
1628
  height: 25px;
1629
  line-height: 26px;
1630
  position: absolute;
1631
  text-align: center;
1632
  width: 25px; }
1633
1634
.fsb-cart-input {
1635
  width: 70px;
1636
  display: inline-block; }
1637
1638
.fsb-remove-small {
1639
  position: absolute;
1640
  top: 0px;
1641
  right: 5px;
1642
  font-weight: bold; }
1643
1644
.fsb-coupon-entry {
1645
  display: inline-block;
1646
  width: 200px; }
1647
1648
.fsb-bundle-image {
1649
  width: 60px;
1650
  height: auto;
1651
  display: inline; }
1652
1653
.fsb-75 {
1654
  font-size: 75%; }
1655
1656
.fsb-option-input:checked::after {
1657
  background: #40e0d0;
1658
  content: '';
1659
  display: block;
1660
  position: relative;
1661
  z-index: 3; }
1662
1663
.fsb-option-input.fsb-radio {
1664
  border-radius: 50%; }
1665
1666
.fsb-option-input.fsb-radio::after {
1667
  border-radius: 50%; }
1668
1669
.fsb-bg-success {
1670
  background-color: #28a745 !important;
1671
  color: white; }
1672
1673
.fsb-price-ext, .fsb-prod-name, .fsb-total {
1674
  display: block;
1675
  font-size: 1.17em;
1676
  font-weight: bold; }
1677
1678
.fsb-unit-price {
1679
  font-size: 1.17em;
1680
  font-weight: bold; }
1681
1682
.fsb-shipping {
1683
  display: block;
1684
  font-weight: bold; }
1685
1686
.fsb-total {
1687
  margin: 10px 0px; }
1688
1689
.fsb-normal {
1690
  font-weight: normal; }
1691
1692
/* The Modal (background) */
1693
.fsb-modal {
1694
  -webkit-animation-duration: .4s;
1695
  animation-duration: .4s;
1696
  -webkit-animation-name: fsb-fadeIn;
1697
  /* Fade in the background */
1698
  animation-name: fsb-fadeIn;
1699
  background-color: black;
1700
  /* Fallback color */
1701
  background-color: rgba(0, 0, 0, 0.8);
1702
  /* Black w/ opacity */
1703
  display: none;
1704
  /* Hidden by default */
1705
  height: 100%;
1706
  /* Full height */
1707
  left: 0;
1708
  overflow: auto;
1709
  /* Enable scroll if needed */
1710
  position: fixed;
1711
  /* Stay in place */
1712
  top: 0;
1713
  width: 100%;
1714
  /* Full width */
1715
  z-index: 999999;
1716
  /* Sit on top */ }
1717
1718
.fsb-RS .fsb-modal-content {
1719
  -webkit-animation-duration: .4s;
1720
  animation-duration: .4s;
1721
  -webkit-animation-name: fsb-rs_slideIn;
1722
  animation-name: fsb-rs_slideIn;
1723
  background-color: #fefefe;
1724
  bottom: 0;
1725
  -webkit-box-shadow: -4px 0 8px 0 rgba(0, 0, 0, 0.2), -6px 0 20px 0 rgba(0, 0, 0, 0.19);
1726
          box-shadow: -4px 0 8px 0 rgba(0, 0, 0, 0.2), -6px 0 20px 0 rgba(0, 0, 0, 0.19);
1727
  height: 100%;
1728
  overflow-y: scroll;
1729
  position: fixed;
1730
  right: 0;
1731
  width: 60%; }
1732
1733
.fsb-RS .fsb-modal-content .fsb-close {
1734
  padding-right: 20px;
1735
  margin: 11px 20px; }
1736
1737
.fsb-RS .fsb-modal-content .fsb-cart_title {
1738
  padding-left: 20px; }
1739
1740
.fsb-RS .fsb-modal-body {
1741
  padding: 2px 16px;
1742
  margin-top: 60px; }
1743
1744
.fsb-RS .fsb-modal-header {
1745
  background-color: #28a745;
1746
  color: white;
1747
  position: fixed;
1748
  z-index: 4;
1749
  width: 60%; }
1750
1751
.fsb-LS .fsb-modal-content {
1752
  -webkit-animation-duration: .4s;
1753
  animation-duration: .4s;
1754
  -webkit-animation-name: fsb-ls_slideIn;
1755
  animation-name: fsb-ls_slideIn;
1756
  background-color: #fefefe;
1757
  bottom: 0;
1758
  -webkit-box-shadow: 4px 0 8px 0 rgba(0, 0, 0, 0.2), 6px 0 20px 0 rgba(0, 0, 0, 0.19);
1759
          box-shadow: 4px 0 8px 0 rgba(0, 0, 0, 0.2), 6px 0 20px 0 rgba(0, 0, 0, 0.19);
1760
  height: 100%;
1761
  left: 0;
1762
  overflow-y: scroll;
1763
  position: fixed;
1764
  width: 60%; }
1765
1766
.fsb-LS .fsb-modal-content .fsb-close {
1767
  padding-right: 20px;
1768
  margin: 11px 20px; }
1769
1770
.fsb-LS .fsb-modal-content .fsb-cart_title {
1771
  padding-left: 20px; }
1772
1773
.fsb-LS .fsb-modal-body {
1774
  padding: 2px 16px;
1775
  margin-top: 60px; }
1776
1777
.fsb-LS .fsb-modal-header {
1778
  background-color: #28a745;
1779
  color: white;
1780
  position: fixed;
1781
  z-index: 4;
1782
  width: 60%; }
1783
1784
/* Modal Content */
1785
.fsb-BS .fsb-modal-content {
1786
  -webkit-animation-duration: .4s;
1787
  animation-duration: .4s;
1788
  -webkit-animation-name: fsb-bs_slideIn;
1789
  animation-name: fsb-bs_slideIn;
1790
  background-color: #fefefe;
1791
  bottom: 0;
1792
  -webkit-box-shadow: 0 -4px 8px 0 rgba(0, 0, 0, 0.2), 0 -6px 20px 0 rgba(0, 0, 0, 0.19);
1793
          box-shadow: 0 -4px 8px 0 rgba(0, 0, 0, 0.2), 0 -6px 20px 0 rgba(0, 0, 0, 0.19);
1794
  max-height: 75%;
1795
  overflow-y: scroll;
1796
  position: fixed;
1797
  width: 100%; }
1798
1799
.fsb-BS .fsb-modal-body {
1800
  margin-top: 60px;
1801
  padding: 2px 16px; }
1802
1803
.fsb-BS .fsb-modal-header {
1804
  background-color: #28a745;
1805
  color: white;
1806
  left: 0;
1807
  padding: 0 25px 0 0;
1808
  position: fixed;
1809
  right: 0;
1810
  z-index: 4; }
1811
1812
.fsb-BS .fsb-modal-header .fsb-close {
1813
  margin: 11px 20px; }
1814
1815
.fsb-BS .fsb-modal-header .fsb-cart_title {
1816
  padding-left: 20px; }
1817
1818
/* Modal Content */
1819
.fsb-MOD .fsb-modal-content {
1820
  -webkit-animation-duration: .4s;
1821
  animation-duration: .4s;
1822
  -webkit-animation-name: fsb-mod_animatetop;
1823
  animation-name: fsb-mod_animatetop;
1824
  background-color: #fefefe;
1825
  border: 1px solid #888;
1826
  -webkit-box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
1827
          box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
1828
  margin: 5% auto;
1829
  padding: 0;
1830
  position: relative;
1831
  width: 80%; }
1832
1833
.fsb-MOD .fsb-modal-body {
1834
  padding: 10px 16px 0; }
1835
1836
.fsb-MOD .fsb-modal-header .fsb-close, .fsb-cart_title {
1837
  padding: 11px 0; }
1838
.fsb-card-header {
1839
    padding: 10px;
1840
}
1841
.fsb-MOD .fsb-modal-header {
1842
  background-color: #28a745;
1843
  color: white;
1844
  padding: 2px 16px; }
1845
1846
.fsb-MODSM .fsb-modal-content {
1847
  -webkit-animation-duration: .4s;
1848
  animation-duration: .4s;
1849
  -webkit-animation-name: fsb-mod_animatetop;
1850
  animation-name: fsb-mod_animatetop;
1851
  background-color: #fefefe;
1852
  border: 1px solid #888;
1853
  -webkit-box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
1854
          box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
1855
  margin: 5% auto;
1856
  padding: 0;
1857
  position: relative;
1858
  max-width: 1024px; }
1859
1860
.fsb-MODSM .fsb-modal-body {
1861
  padding: 10px 16px 0; }
1862
1863
.fsb-MODSM .fsb-modal-header .fsb-close {
1864
  margin: 11px 0; }
1865
1866
.fsb-MODSM .fsb-modal-header {
1867
  background-color: #28a745;
1868
  color: white;
1869
  padding: 2px 16px; }
1870
1871
/* The Close Button */
1872
.fsb-close,
1873
.fsb-cart_title {
1874
  color: white;
1875
  display: block;
1876
  font-size: 1.5em;
1877
  font-weight: bold; }
1878
1879
.fsb-close:hover,
1880
.fsb-close:focus {
1881
  color: #000;
1882
  cursor: pointer; }
1883
1884
.fsb-close {
1885
  float: right;
1886
  font-size: 40px;
1887
  line-height: 30px; }
1888
1889
/* Add Animation Bottom Sheet */
1890
@-webkit-keyframes fsb-bs_slideIn {
1891
  from {
1892
    bottom: -300px;
1893
    opacity: 0; }
1894
  to {
1895
    bottom: 0;
1896
    opacity: 1; } }
1897
1898
@keyframes fsb-bs_slideIn {
1899
  from {
1900
    bottom: -300px;
1901
    opacity: 0; }
1902
  to {
1903
    bottom: 0;
1904
    opacity: 1; } }
1905
1906
@-webkit-keyframes fsb-bs_revslideIn {
1907
  from {
1908
    bottom: 0;
1909
    opacity: 1; }
1910
  to {
1911
    bottom: -300px;
1912
    opacity: 0; } }
1913
1914
@keyframes fsb-bs_revslideIn {
1915
  from {
1916
    bottom: 0;
1917
    opacity: 1; }
1918
  to {
1919
    bottom: -300px;
1920
    opacity: 0; } }
1921
1922
/* Add Animation modal */
1923
@-webkit-keyframes fsb-mod_animatetop {
1924
  from {
1925
    opacity: 0;
1926
    top: -300px; }
1927
  to {
1928
    opacity: 1;
1929
    top: 0; } }
1930
1931
@keyframes fsb-mod_animatetop {
1932
  from {
1933
    opacity: 0;
1934
    top: -300px; }
1935
  to {
1936
    opacity: 1;
1937
    top: 0; } }
1938
1939
@-webkit-keyframes fsb-mod_revanimatetop {
1940
  from {
1941
    opacity: 1;
1942
    top: 0; }
1943
  to {
1944
    opacity: 0;
1945
    top: -300; } }
1946
1947
@keyframes fsb-mod_revanimatetop {
1948
  from {
1949
    opacity: 1;
1950
    top: 0; }
1951
  to {
1952
    opacity: 0;
1953
    top: -330px; } }
1954
1955
/* Add Animation right sheet */
1956
@-webkit-keyframes fsb-rs_slideIn {
1957
  from {
1958
    opacity: 1;
1959
    right: -50%; }
1960
  to {
1961
    opacity: 1;
1962
    right: 0; } }
1963
1964
@keyframes fsb-rs_slideIn {
1965
  from {
1966
    opacity: 1;
1967
    right: -50%; }
1968
  to {
1969
    opacity: 1;
1970
    right: 0; } }
1971
1972
@-webkit-keyframes fsb-rs_revslideIn {
1973
  from {
1974
    opacity: 1;
1975
    right: 0; }
1976
  to {
1977
    opacity: 1;
1978
    right: -50%; } }
1979
1980
@keyframes fsb-rs_revslideIn {
1981
  from {
1982
    opacity: 1;
1983
    right: 0; }
1984
  to {
1985
    opacity: 1;
1986
    right: -50%; } }
1987
1988
/* Add Animation left sheet */
1989
@-webkit-keyframes fsb-ls_slideIn {
1990
  from {
1991
    left: -50%;
1992
    opacity: 1; }
1993
  to {
1994
    left: 0;
1995
    opacity: 1; } }
1996
1997
@keyframes fsb-ls_slideIn {
1998
  from {
1999
    left: -50%;
2000
    opacity: 1; }
2001
  to {
2002
    left: 0;
2003
    opacity: 1; } }
2004
2005
@-webkit-keyframes fsb-ls_revslideIn {
2006
  from {
2007
    left: 0;
2008
    opacity: 1; }
2009
  to {
2010
    left: -50%;
2011
    opacity: 1; } }
2012
2013
@keyframes fsb-ls_revslideIn {
2014
  from {
2015
    left: 0;
2016
    opacity: 1; }
2017
  to {
2018
    left: -50%;
2019
    opacity: 1; } }
2020
2021
@-webkit-keyframes fsb-fadeIn {
2022
  from {
2023
    opacity: 0; }
2024
  to {
2025
    opacity: 1; } }
2026
2027
@keyframes fsb-fadeIn {
2028
  from {
2029
    opacity: 0; }
2030
  to {
2031
    opacity: 1; } }
2032
2033
@-webkit-keyframes fsb-revfadeIn {
2034
  from {
2035
    opacity: 1; }
2036
  to {
2037
    opacity: 0; } }
2038
2039
@keyframes fsb-revfadeIn {
2040
  from {
2041
    opacity: 1; }
2042
  to {
2043
    opacity: 0; } }
2044
2045
@media (max-width: 1199.98px) {
2046
  .fsb-RS .fsb-modal-header,
2047
  .fsb-LS .fsb-modal-header {
2048
    width: 80%; }
2049
  .fsb-MOD .fsb-modal-content {
2050
    width: 90%; } }
2051
2052
@media (max-width: 991.98px) {
2053
  .fsb-RS .fsb-modal-header,
2054
  .fsb-LS .fsb-modal-header {
2055
    width: 90%; }
2056
  .fsb-RS .fsb-modal-content,
2057
  .fsb-LS .fsb-modal-content,
2058
  .fsb-MOD .fsb-modal-content {
2059
    width: 90%; } }
2060
2061
@media (max-width: 767.98px) {
2062
  .fsb-RS .fsb-modal-header,
2063
  .fsb-LS .fsb-modal-header {
2064
    width: 100%; }
2065
  .fsb-MOD .fsb-modal-content {
2066
    margin: 0;
2067
    width: 100%; }
2068
  .fsb-RS .fsb-modal-content {
2069
    width: 100%; }
2070
  .fsb-BS .fsb-modal-content {
2071
    max-height: 100%; } }
2072
2073
.minicart {
2074
  border-radius: 5px;
2075
  position: fixed;
2076
  -webkit-box-shadow: 0px 0px 15px 5px rgba(0, 0, 0, 0.2);
2077
  box-shadow: 0px 0px 15px 5px rgba(0, 0, 0, 0.2);
2078
  -webkit-transition: -webkit-box-shadow 0.3s ease-in-out;
2079
  transition: -webkit-box-shadow 0.3s ease-in-out;
2080
  -o-transition: box-shadow 0.3s ease-in-out;
2081
  transition: box-shadow 0.3s ease-in-out;
2082
  transition: box-shadow 0.3s ease-in-out, -webkit-box-shadow 0.3s ease-in-out;
2083
  -webkit-transition: width 0.3s, height 0.3s;
2084
  /* For Safari 3.1 to 6.0 */
2085
  -o-transition: width 0.3s, height 0.3s;
2086
  transition: width 0.3s, height 0.3s;
2087
  color: black;
2088
  background: white;
2089
  z-index: 999998;
2090
  height: 58px;
2091
  width: 58px; }
2092
2093
.minicart.open {
2094
  border-radius: 0px; }
2095
2096
.minicart.topright {
2097
  top: 20px;
2098
  right: 20px; }
2099
2100
.minicart.topleft {
2101
  top: 20px;
2102
  left: 20px; }
2103
2104
.minicart.bottomright {
2105
  bottom: 20px;
2106
  right: 20px; }
2107
2108
.minicart.bottomleft {
2109
  bottom: 20px;
2110
  left: 20px; }
2111
2112
.minicart:hover {
2113
  -webkit-box-shadow: 0px 0px 15px 5px rgba(0, 0, 0, 0.5);
2114
  box-shadow: 0px 0px 15px 5px rgba(0, 0, 0, 0.5); }
2115
2116
.minicart .fa {
2117
  font-size: 25px;
2118
  padding: 15px; }
2119
2120
.minicart-count {
2121
  position: absolute;
2122
  background: red;
2123
  border-radius: 50%;
2124
  height: 20px;
2125
  width: 20px;
2126
  line-height: 21px;
2127
  text-align: center;
2128
  color: white;
2129
  font-size: 12px; }
2130
2131
.topleft .minicart-count, .bottomleft .minicart-count {
2132
  top: -10px;
2133
  right: -10px; }
2134
2135
.topright .minicart-count, .bottomright .minicart-count {
2136
  top: -10px;
2137
  left: -10px; }
2138
2139
.fsb-display {
2140
  font-weight: bold; }
2141
2142
.fsb-extPrice {
2143
  font-weight: bold; }
2144
2145
.fsb-cartimage {
2146
  max-height: 100px; }
2147
2148
.fsb-bundleimage {
2149
  width: 60px;
2150
  height: auto;
2151
  display: inline; }
2152
2153
.fsb-ximage {
2154
  max-height: 75px; }
2155
2156
#fs p {
2157
  margin: 0px; }
2158
2159
.fsb-minus, .fsb-plus
2160
{
2161
    cursor: pointer;
2162
    width: 34px;
2163
    height: 34px;
2164
    background: #f2f2f2;
2165
    border-radius: 4px;
2166
    border: 1px solid #ddd;
2167
    display: inline-block;
2168
    vertical-align: middle;
2169
    text-align: center;
2170
    font-size: 24px;
2171
    line-height: 32px;
2172
}
2173
2174
input[type="text"].fsb-qtyinput {
2175
  height: 34px;
2176
  width: 60px;
2177
  text-align: center;
2178
  border: 1px solid #ddd;
2179
  border-radius: 4px;
2180
  display: inline-block;
2181
  vertical-align: middle; }
2182
2183
.fsb-number {
2184
  display: inline-block; }
2185
2186
.fastspring_btn {
2187
  display: inline-block;
2188
  font-weight: normal;
2189
  line-height: 1.25;
2190
  text-align: center;
2191
  white-space: nowrap;
2192
  vertical-align: middle;
2193
  cursor: pointer;
2194
  -webkit-user-select: none;
2195
  -moz-user-select: none;
2196
  -ms-user-select: none;
2197
  user-select: none;
2198
  border: 1px solid transparent;
2199
  padding: 6px 12px;
2200
  font-size: 14px;
2201
  border-radius: 4px;
2202
  text-decoration: none; }
2203
2204
.fastspring_btn:focus, .fastspring_btn.focus, .fastspring_btn:active:focus, .fastspring_btn:active.focus, .fastspring_btn.active:focus, .fastspring_btn.active.focus {
2205
  outline: 5px auto -webkit-focus-ring-color;
2206
  outline-offset: -2px; }
2207
2208
.fastspring_btn:focus, .fastspring_btn:hover {
2209
  text-decoration: none; }
2210
2211
.fastspring_btn.focus {
2212
  text-decoration: none; }
2213
2214
.fastspring_btn:active, .fastspring_btn.active {
2215
  background-image: none;
2216
  outline: 0; }
2217
2218
.fastspring_btn.disabled, .fastspring_btn:disabled {
2219
  cursor: not-allowed;
2220
  opacity: .65; }
2221
2222
a.fastspring_btn.disabled,
2223
fieldset[disabled] a.fastspring_btn {
2224
  pointer-events: none; }
2225
2226
.fastspring_btn-primary {
2227
  color: #fff !important;
2228
  background-color: #0275d8;
2229
  border-color: #0275d8; }
2230
2231
.fastspring_btn-primary:hover {
2232
  color: #fff !important;
2233
  background-color: #025aa5;
2234
  border-color: #01549b; }
2235
2236
.fastspring_btn-primary:focus, .fastspring_btn-primary.focus {
2237
  color: #fff !important;
2238
  background-color: #025aa5;
2239
  border-color: #01549b; }
2240
2241
.fastspring_btn-primary:active, .fastspring_btn-primary.active,
2242
.open > .fastspring_btn-primary.dropdown-toggle {
2243
  color: #fff !important;
2244
  background-color: #025aa5;
2245
  border-color: #01549b;
2246
  background-image: none; }
2247
2248
.fastspring_btn-primary:active:hover, .fastspring_btn-primary:active:focus, .fastspring_btn-primary:active.focus, .fastspring_btn-primary.active:hover, .fastspring_btn-primary.active:focus, .fastspring_btn-primary.active.focus,
2249
.open > .fastspring_btn-primary.dropdown-toggle:hover,
2250
.open > .fastspring_btn-primary.dropdown-toggle:focus,
2251
.open > .fastspring_btn-primary.dropdown-toggle.focus {
2252
  color: #fff !important;
2253
  background-color: #014682;
2254
  border-color: #01315a; }
2255
2256
.fastspring_btn-primary.disabled:focus, .fastspring_btn-primary.disabled.focus, .fastspring_btn-primary:disabled:focus, .fastspring_btn-primary:disabled.focus {
2257
  background-color: #0275d8;
2258
  border-color: #0275d8; }
2259
2260
.fastspring_btn-primary.disabled:hover, .fastspring_btn-primary:disabled:hover {
2261
  background-color: #0275d8;
2262
  border-color: #0275d8; }
2263
2264
.fastspring_btn-secondary {
2265
  color: #373a3c !important;
2266
  background-color: #fff;
2267
  border-color: #ccc; }
2268
2269
.fastspring_btn-secondary:hover {
2270
  color: #373a3c !important;
2271
  background-color: #e6e6e6;
2272
  border-color: #adadad; }
2273
2274
.fastspring_btn-secondary:focus, .fastspring_btn-secondary.focus {
2275
  color: #373a3c !important;
2276
  background-color: #e6e6e6;
2277
  border-color: #adadad; }
2278
2279
.fastspring_btn-secondary:active, .fastspring_btn-secondary.active,
2280
.open > .fastspring_btn-secondary.dropdown-toggle {
2281
  color: #373a3c !important;
2282
  background-color: #e6e6e6;
2283
  border-color: #adadad;
2284
  background-image: none; }
2285
2286
.fastspring_btn-secondary:active:hover, .fastspring_btn-secondary:active:focus, .fastspring_btn-secondary:active.focus, .fastspring_btn-secondary.active:hover, .fastspring_btn-secondary.active:focus, .fastspring_btn-secondary.active.focus,
2287
.open > .fastspring_btn-secondary.dropdown-toggle:hover,
2288
.open > .fastspring_btn-secondary.dropdown-toggle:focus,
2289
.open > .fastspring_btn-secondary.dropdown-toggle.focus {
2290
  color: #373a3c !important;
2291
  background-color: #d4d4d4;
2292
  border-color: #8c8c8c; }
2293
2294
.fastspring_btn-secondary.disabled:focus, .fastspring_btn-secondary.disabled.focus, .fastspring_btn-secondary:disabled:focus, .fastspring_btn-secondary:disabled.focus {
2295
  background-color: #fff;
2296
  border-color: #ccc; }
2297
2298
.fastspring_btn-secondary.disabled:hover, .fastspring_btn-secondary:disabled:hover {
2299
  background-color: #fff;
2300
  border-color: #ccc; }
2301
2302
.fastspring_btn-default {
2303
  color: #373a3c !important;
2304
  background-color: #fff;
2305
  border: 2px solid #ccc; }
2306
2307
.fastspring_btn-default:hover {
2308
  color: #373a3c !important;
2309
  background-color: #e6e6e6;
2310
  border-color: #adadad; }
2311
2312
.fastspring_btn-default:focus, .fastspring_btn-default.focus {
2313
  color: #373a3c !important;
2314
  background-color: #e6e6e6;
2315
  border-color: #adadad; }
2316
2317
.fastspring_btn-default:active, .fastspring_btn-default.active,
2318
.open > .fastspring_btn-default.dropdown-toggle {
2319
  color: #373a3c !important;
2320
  background-color: #e6e6e6;
2321
  border-color: #adadad;
2322
  background-image: none; }
2323
2324
.fastspring_btn-default:active:hover, .fastspring_btn-default:active:focus, .fastspring_btn-default:active.focus, .fastspring_btn-default.active:hover, .fastspring_btn-default.active:focus, .fastspring_btn-default.active.focus,
2325
.open > .fastspring_btn-default.dropdown-toggle:hover,
2326
.open > .fastspring_btn-default.dropdown-toggle:focus,
2327
.open > .fastspring_btn-default.dropdown-toggle.focus {
2328
  color: #373a3c !important;
2329
  background-color: #d4d4d4;
2330
  border-color: #8c8c8c; }
2331
2332
.fastspring_btn-default.disabled:focus, .fastspring_btn-default.disabled.focus, .fastspring_btn-default:disabled:focus, .fastspring_btn-default:disabled.focus {
2333
  background-color: #fff;
2334
  border-color: #ccc; }
2335
2336
.fastspring_btn-default.disabled:hover, .fastspring_btn-default:disabled:hover {
2337
  background-color: #fff;
2338
  border-color: #ccc; }
2339
2340
.fastspring_btn-info {
2341
  color: #fff !important;
2342
  background-color: #5bc0de;
2343
  border-color: #5bc0de; }
2344
2345
.fastspring_btn-info:hover {
2346
  color: #fff !important;
2347
  background-color: #31b0d5;
2348
  border-color: #2aabd2; }
2349
2350
.fastspring_btn-info:focus, .fastspring_btn-info.focus {
2351
  color: #fff !important;
2352
  background-color: #31b0d5;
2353
  border-color: #2aabd2; }
2354
2355
.fastspring_btn-info:active, .fastspring_btn-info.active,
2356
.open > .fastspring_btn-info.dropdown-toggle {
2357
  color: #fff !important;
2358
  background-color: #31b0d5;
2359
  border-color: #2aabd2;
2360
  background-image: none; }
2361
2362
.fastspring_btn-info:active:hover, .fastspring_btn-info:active:focus, .fastspring_btn-info:active.focus, .fastspring_btn-info.active:hover, .fastspring_btn-info.active:focus, .fastspring_btn-info.active.focus,
2363
.open > .fastspring_btn-info.dropdown-toggle:hover,
2364
.open > .fastspring_btn-info.dropdown-toggle:focus,
2365
.open > .fastspring_btn-info.dropdown-toggle.focus {
2366
  color: #fff !important;
2367
  background-color: #269abc;
2368
  border-color: #1f7e9a; }
2369
2370
.fastspring_btn-info.disabled:focus, .fastspring_btn-info.disabled.focus, .fastspring_btn-info:disabled:focus, .fastspring_btn-info:disabled.focus {
2371
  background-color: #5bc0de;
2372
  border-color: #5bc0de; }
2373
2374
.fastspring_btn-info.disabled:hover, .fastspring_btn-info:disabled:hover {
2375
  background-color: #5bc0de;
2376
  border-color: #5bc0de; }
2377
2378
.fastspring_btn-success {
2379
  color: #fff !important;
2380
  background-color: #5cb85c;
2381
  border-color: #5cb85c; }
2382
2383
.fastspring_btn-success:hover {
2384
  color: #fff !important;
2385
  background-color: #449d44;
2386
  border-color: #419641; }
2387
2388
.fastspring_btn-success:focus, .fastspring_btn-success.focus {
2389
  color: #fff !important;
2390
  background-color: #449d44;
2391
  border-color: #419641; }
2392
2393
.fastspring_btn-success:active, .fastspring_btn-success.active,
2394
.open > .fastspring_btn-success.dropdown-toggle {
2395
  color: #fff !important;
2396
  background-color: #449d44;
2397
  border-color: #419641;
2398
  background-image: none; }
2399
2400
.fastspring_btn-success:active:hover, .fastspring_btn-success:active:focus, .fastspring_btn-success:active.focus, .fastspring_btn-success.active:hover, .fastspring_btn-success.active:focus, .fastspring_btn-success.active.focus,
2401
.open > .fastspring_btn-success.dropdown-toggle:hover,
2402
.open > .fastspring_btn-success.dropdown-toggle:focus,
2403
.open > .fastspring_btn-success.dropdown-toggle.focus {
2404
  color: #fff !important;
2405
  background-color: #398439;
2406
  border-color: #2d672d; }
2407
2408
.fastspring_btn-success.disabled:focus, .fastspring_btn-success.disabled.focus, .fastspring_btn-success:disabled:focus, .fastspring_btn-success:disabled.focus {
2409
  background-color: #5cb85c;
2410
  border-color: #5cb85c; }
2411
2412
.fastspring_btn-success.disabled:hover, .fastspring_btn-success:disabled:hover {
2413
  background-color: #5cb85c;
2414
  border-color: #5cb85c; }
2415
2416
.fastspring_btn-warning {
2417
  color: #fff !important;
2418
  background-color: #f0ad4e;
2419
  border-color: #f0ad4e; }
2420
2421
.fastspring_btn-warning:hover {
2422
  color: #fff !important;
2423
  background-color: #ec971f;
2424
  border-color: #eb9316; }
2425
2426
.fastspring_btn-warning:focus, .fastspring_btn-warning.focus {
2427
  color: #fff !important;
2428
  background-color: #ec971f;
2429
  border-color: #eb9316; }
2430
2431
.fastspring_btn-warning:active, .fastspring_btn-warning.active,
2432
.open > .fastspring_btn-warning.dropdown-toggle {
2433
  color: #fff !important;
2434
  background-color: #ec971f;
2435
  border-color: #eb9316;
2436
  background-image: none; }
2437
2438
.fastspring_btn-warning:active:hover, .fastspring_btn-warning:active:focus, .fastspring_btn-warning:active.focus, .fastspring_btn-warning.active:hover, .fastspring_btn-warning.active:focus, .fastspring_btn-warning.active.focus,
2439
.open > .fastspring_btn-warning.dropdown-toggle:hover,
2440
.open > .fastspring_btn-warning.dropdown-toggle:focus,
2441
.open > .fastspring_btn-warning.dropdown-toggle.focus {
2442
  color: #fff !important;
2443
  background-color: #d58512;
2444
  border-color: #b06d0f; }
2445
2446
.fastspring_btn-warning.disabled:focus, .fastspring_btn-warning.disabled.focus, .fastspring_btn-warning:disabled:focus, .fastspring_btn-warning:disabled.focus {
2447
  background-color: #f0ad4e;
2448
  border-color: #f0ad4e; }
2449
2450
.fastspring_btn-warning.disabled:hover, .fastspring_btn-warning:disabled:hover {
2451
  background-color: #f0ad4e;
2452
  border-color: #f0ad4e; }
2453
2454
.fastspring_btn-danger {
2455
  color: #fff !important;
2456
  background-color: #d9534f;
2457
  border-color: #d9534f; }
2458
2459
.fastspring_btn-danger:hover {
2460
  color: #fff !important;
2461
  background-color: #c9302c;
2462
  border-color: #c12e2a; }
2463
2464
.fastspring_btn-danger:focus, .fastspring_btn-danger.focus {
2465
  color: #fff !important;
2466
  background-color: #c9302c;
2467
  border-color: #c12e2a; }
2468
2469
.fastspring_btn-danger:active, .fastspring_btn-danger.active,
2470
.open > .fastspring_btn-danger.dropdown-toggle {
2471
  color: #fff !important;
2472
  background-color: #c9302c;
2473
  border-color: #c12e2a;
2474
  background-image: none; }
2475
2476
.fastspring_btn-danger:active:hover, .fastspring_btn-danger:active:focus, .fastspring_btn-danger:active.focus, .fastspring_btn-danger.active:hover, .fastspring_btn-danger.active:focus, .fastspring_btn-danger.active.focus,
2477
.open > .fastspring_btn-danger.dropdown-toggle:hover,
2478
.open > .fastspring_btn-danger.dropdown-toggle:focus,
2479
.open > .fastspring_btn-danger.dropdown-toggle.focus {
2480
  color: #fff !important;
2481
  background-color: #ac2925;
2482
  border-color: #8b211e; }
2483
2484
.fastspring_btn-danger.disabled:focus, .fastspring_btn-danger.disabled.focus, .fastspring_btn-danger:disabled:focus, .fastspring_btn-danger:disabled.focus {
2485
  background-color: #d9534f;
2486
  border-color: #d9534f; }
2487
2488
.fastspring_btn-danger.disabled:hover, .fastspring_btn-danger:disabled:hover {
2489
  background-color: #d9534f;
2490
  border-color: #d9534f; }
2491
2492
.fastspring_btn-outline-primary {
2493
  color: #0275d8 !important;
2494
  background-image: none;
2495
  background-color: transparent;
2496
  border-color: #0275d8;
2497
  border: 2px solid; }
2498
2499
.fastspring_btn-outline-primary:hover {
2500
  color: #fff !important;
2501
  background-color: #0275d8;
2502
  border-color: #0275d8; }
2503
2504
.fastspring_btn-outline-primary:focus, .fastspring_btn-outline-primary.focus {
2505
  color: #fff !important;
2506
  background-color: #0275d8;
2507
  border-color: #0275d8; }
2508
2509
.fastspring_btn-outline-primary:active, .fastspring_btn-outline-primary.active,
2510
.open > .fastspring_btn-outline-primary.dropdown-toggle {
2511
  color: #fff !important;
2512
  background-color: #0275d8;
2513
  border-color: #0275d8; }
2514
2515
.fastspring_btn-outline-primary:active:hover, .fastspring_btn-outline-primary:active:focus, .fastspring_btn-outline-primary:active.focus, .fastspring_btn-outline-primary.active:hover, .fastspring_btn-outline-primary.active:focus, .fastspring_btn-outline-primary.active.focus,
2516
.open > .fastspring_btn-outline-primary.dropdown-toggle:hover,
2517
.open > .fastspring_btn-outline-primary.dropdown-toggle:focus,
2518
.open > .fastspring_btn-outline-primary.dropdown-toggle.focus {
2519
  color: #fff !important;
2520
  background-color: #014682;
2521
  border-color: #01315a; }
2522
2523
.fastspring_btn-outline-primary.disabled:focus, .fastspring_btn-outline-primary.disabled.focus, .fastspring_btn-outline-primary:disabled:focus, .fastspring_btn-outline-primary:disabled.focus {
2524
  border-color: #43a7fd; }
2525
2526
.fastspring_btn-outline-primary.disabled:hover, .fastspring_btn-outline-primary:disabled:hover {
2527
  border-color: #43a7fd; }
2528
2529
.fastspring_btn-outline-secondary {
2530
  color: #ccc !important;
2531
  background-image: none;
2532
  background-color: transparent;
2533
  border-color: #ccc;
2534
  border: 2px solid; }
2535
2536
.fastspring_btn-outline-secondary:hover {
2537
  color: #fff !important;
2538
  background-color: #ccc;
2539
  border-color: #ccc; }
2540
2541
.fastspring_btn-outline-secondary:focus, .fastspring_btn-outline-secondary.focus {
2542
  color: #fff !important;
2543
  background-color: #ccc;
2544
  border-color: #ccc; }
2545
2546
.fastspring_btn-outline-secondary:active, .fastspring_btn-outline-secondary.active,
2547
.open > .fastspring_btn-outline-secondary.dropdown-toggle {
2548
  color: #fff !important;
2549
  background-color: #ccc;
2550
  border-color: #ccc; }
2551
2552
.fastspring_btn-outline-secondary:active:hover, .fastspring_btn-outline-secondary:active:focus, .fastspring_btn-outline-secondary:active.focus, .fastspring_btn-outline-secondary.active:hover, .fastspring_btn-outline-secondary.active:focus, .fastspring_btn-outline-secondary.active.focus,
2553
.open > .fastspring_btn-outline-secondary.dropdown-toggle:hover,
2554
.open > .fastspring_btn-outline-secondary.dropdown-toggle:focus,
2555
.open > .fastspring_btn-outline-secondary.dropdown-toggle.focus {
2556
  color: #fff !important;
2557
  background-color: #a1a1a1;
2558
  border-color: #8c8c8c; }
2559
2560
.fastspring_btn-outline-secondary.disabled:focus, .fastspring_btn-outline-secondary.disabled.focus, .fastspring_btn-outline-secondary:disabled:focus, .fastspring_btn-outline-secondary:disabled.focus {
2561
  border-color: white; }
2562
2563
.fastspring_btn-outline-secondary.disabled:hover, .fastspring_btn-outline-secondary:disabled:hover {
2564
  border-color: white; }
2565
2566
.fastspring_btn-outline-info {
2567
  color: #5bc0de !important;
2568
  background-image: none;
2569
  background-color: transparent;
2570
  border-color: #5bc0de;
2571
  border: 2px solid; }
2572
2573
.fastspring_btn-outline-info:hover {
2574
  color: #fff !important;
2575
  background-color: #5bc0de;
2576
  border-color: #5bc0de; }
2577
2578
.fastspring_btn-outline-info:focus, .fastspring_btn-outline-info.focus {
2579
  color: #fff !important;
2580
  background-color: #5bc0de;
2581
  border-color: #5bc0de; }
2582
2583
.fastspring_btn-outline-info:active, .fastspring_btn-outline-info.active,
2584
.open > .fastspring_btn-outline-info.dropdown-toggle {
2585
  color: #fff !important;
2586
  background-color: #5bc0de;
2587
  border-color: #5bc0de; }
2588
2589
.fastspring_btn-outline-info:active:hover, .fastspring_btn-outline-info:active:focus, .fastspring_btn-outline-info:active.focus, .fastspring_btn-outline-info.active:hover, .fastspring_btn-outline-info.active:focus, .fastspring_btn-outline-info.active.focus,
2590
.open > .fastspring_btn-outline-info.dropdown-toggle:hover,
2591
.open > .fastspring_btn-outline-info.dropdown-toggle:focus,
2592
.open > .fastspring_btn-outline-info.dropdown-toggle.focus {
2593
  color: #fff !important;
2594
  background-color: #269abc;
2595
  border-color: #1f7e9a; }
2596
2597
.fastspring_btn-outline-info.disabled:focus, .fastspring_btn-outline-info.disabled.focus, .fastspring_btn-outline-info:disabled:focus, .fastspring_btn-outline-info:disabled.focus {
2598
  border-color: #b0e1ef; }
2599
2600
.fastspring_btn-outline-info.disabled:hover, .fastspring_btn-outline-info:disabled:hover {
2601
  border-color: #b0e1ef; }
2602
2603
.fastspring_btn-outline-success {
2604
  color: #5cb85c !important;
2605
  background-image: none;
2606
  background-color: transparent;
2607
  border-color: #5cb85c;
2608
  border: 2px solid; }
2609
2610
.fastspring_btn-outline-success:hover {
2611
  color: #fff !important;
2612
  background-color: #5cb85c;
2613
  border-color: #5cb85c; }
2614
2615
.fastspring_btn-outline-success:focus, .fastspring_btn-outline-success.focus {
2616
  color: #fff !important;
2617
  background-color: #5cb85c;
2618
  border-color: #5cb85c; }
2619
2620
.fastspring_btn-outline-success:active, .fastspring_btn-outline-success.active,
2621
.open > .fastspring_btn-outline-success.dropdown-toggle {
2622
  color: #fff !important;
2623
  background-color: #5cb85c;
2624
  border-color: #5cb85c; }
2625
2626
.fastspring_btn-outline-success:active:hover, .fastspring_btn-outline-success:active:focus, .fastspring_btn-outline-success:active.focus, .fastspring_btn-outline-success.active:hover, .fastspring_btn-outline-success.active:focus, .fastspring_btn-outline-success.active.focus,
2627
.open > .fastspring_btn-outline-success.dropdown-toggle:hover,
2628
.open > .fastspring_btn-outline-success.dropdown-toggle:focus,
2629
.open > .fastspring_btn-outline-success.dropdown-toggle.focus {
2630
  color: #fff !important;
2631
  background-color: #398439;
2632
  border-color: #2d672d; }
2633
2634
.fastspring_btn-outline-success.disabled:focus, .fastspring_btn-outline-success.disabled.focus, .fastspring_btn-outline-success:disabled:focus, .fastspring_btn-outline-success:disabled.focus {
2635
  border-color: #a3d7a3; }
2636
2637
.fastspring_btn-outline-success.disabled:hover, .fastspring_btn-outline-success:disabled:hover {
2638
  border-color: #a3d7a3; }
2639
2640
.fastspring_btn-outline-warning {
2641
  color: #f0ad4e !important;
2642
  background-image: none;
2643
  background-color: transparent;
2644
  border-color: #f0ad4e;
2645
  border: 2px solid; }
2646
2647
.fastspring_btn-outline-warning:hover {
2648
  color: #fff !important;
2649
  background-color: #f0ad4e;
2650
  border-color: #f0ad4e; }
2651
2652
.fastspring_btn-outline-warning:focus, .fastspring_btn-outline-warning.focus {
2653
  color: #fff !important;
2654
  background-color: #f0ad4e;
2655
  border-color: #f0ad4e; }
2656
2657
.fastspring_btn-outline-warning:active, .fastspring_btn-outline-warning.active,
2658
.open > .fastspring_btn-outline-warning.dropdown-toggle {
2659
  color: #fff !important;
2660
  background-color: #f0ad4e;
2661
  border-color: #f0ad4e; }
2662
2663
.fastspring_btn-outline-warning:active:hover, .fastspring_btn-outline-warning:active:focus, .fastspring_btn-outline-warning:active.focus, .fastspring_btn-outline-warning.active:hover, .fastspring_btn-outline-warning.active:focus, .fastspring_btn-outline-warning.active.focus,
2664
.open > .fastspring_btn-outline-warning.dropdown-toggle:hover,
2665
.open > .fastspring_btn-outline-warning.dropdown-toggle:focus,
2666
.open > .fastspring_btn-outline-warning.dropdown-toggle.focus {
2667
  color: #fff !important;
2668
  background-color: #d58512;
2669
  border-color: #b06d0f; }
2670
2671
.fastspring_btn-outline-warning.disabled:focus, .fastspring_btn-outline-warning.disabled.focus, .fastspring_btn-outline-warning:disabled:focus, .fastspring_btn-outline-warning:disabled.focus {
2672
  border-color: #f8d9ac; }
2673
2674
.fastspring_btn-outline-warning.disabled:hover, .fastspring_btn-outline-warning:disabled:hover {
2675
  border-color: #f8d9ac; }
2676
2677
.fastspring_btn-outline-danger {
2678
  color: #d9534f !important;
2679
  background-image: none;
2680
  background-color: transparent;
2681
  border-color: #d9534f;
2682
  border: 2px solid; }
2683
2684
.fastspring_btn-outline-danger:hover {
2685
  color: #fff !important;
2686
  background-color: #d9534f;
2687
  border-color: #d9534f; }
2688
2689
.fastspring_btn-outline-danger:focus, .fastspring_btn-outline-danger.focus {
2690
  color: #fff !important;
2691
  background-color: #d9534f;
2692
  border-color: #d9534f; }
2693
2694
.fastspring_btn-outline-danger:active, .fastspring_btn-outline-danger.active,
2695
.open > .fastspring_btn-outline-danger.dropdown-toggle {
2696
  color: #fff !important;
2697
  background-color: #d9534f;
2698
  border-color: #d9534f; }
2699
2700
.fastspring_btn-outline-danger:active:hover, .fastspring_btn-outline-danger:active:focus, .fastspring_btn-outline-danger:active.focus, .fastspring_btn-outline-danger.active:hover, .fastspring_btn-outline-danger.active:focus, .fastspring_btn-outline-danger.active.focus,
2701
.open > .fastspring_btn-outline-danger.dropdown-toggle:hover,
2702
.open > .fastspring_btn-outline-danger.dropdown-toggle:focus,
2703
.open > .fastspring_btn-outline-danger.dropdown-toggle.focus {
2704
  color: #fff;
2705
  background-color: #ac2925;
2706
  border-color: #8b211e; }
2707
2708
.fastspring_btn-outline-danger.disabled:focus, .fastspring_btn-outline-danger.disabled.focus, .fastspring_btn-outline-danger:disabled:focus, .fastspring_btn-outline-danger:disabled.focus {
2709
  border-color: #eba5a3; }
2710
2711
.fastspring_btn-outline-danger.disabled:hover, .fastspring_btn-outline-danger:disabled:hover {
2712
  border-color: #eba5a3; }
2713
2714
.fastspring_btn-link {
2715
  font-weight: normal;
2716
  color: #0275d8 !important;
2717
  border-radius: 0; }
2718
2719
.fastspring_btn-link, .fastspring_btn-link:active, .fastspring_btn-link.active, .fastspring_btn-link:disabled {
2720
  background-color: transparent; }
2721
2722
.fastspring_btn-link, .fastspring_btn-link:focus, .fastspring_btn-link:active {
2723
  border-color: transparent; }
2724
2725
.fastspring_btn-link:hover {
2726
  border-color: transparent; }
2727
2728
.fastspring_btn-link:focus, .fastspring_btn-link:hover {
2729
  color: #014c8c !important;
2730
  text-decoration: underline;
2731
  background-color: transparent; }
2732
2733
.fastspring_btn-link:disabled:focus, .fastspring_btn-link:disabled:hover {
2734
  color: #818a91 !important;
2735
  text-decoration: none; }
2736
2737
.fastspring_btn-lg, .fastspring_btn-group-lg > .fastspring_btn {
2738
  padding: 10px 16px;
2739
  font-size: 18px;
2740
  border-radius: 6px;
2741
  line-height: 45px; }
2742
2743
.fastspring_btn-sm, .fastspring_btn-group-sm > .fastspring_btn {
2744
  padding: 5px 10px;
2745
  font-size: 12px;
2746
  border-radius: 3px; }
2747
2748
.fastspring_btn-block {
2749
  display: block;
2750
  width: 100%;
2751
  font-weight: normal;
2752
  line-height: 1.25;
2753
  text-align: center;
2754
  white-space: nowrap;
2755
  vertical-align: middle;
2756
  cursor: pointer;
2757
  -webkit-user-select: none;
2758
  -moz-user-select: none;
2759
  -ms-user-select: none;
2760
  user-select: none;
2761
  padding: 6px 12px;
2762
  font-size: 14px;
2763
  border-radius: 4px;
2764
  text-decoration: none; }
2765
2766
.fastspring_btn-block + .fastspring_btn-block {
2767
  margin-top: 0.5rem; }
2768
2769
@media (max-width: 575.98px) {
2770
  .fastspring_btn.responsive-xs, .fastspring_btn-lg.responsive-xs, .fastspring_btn-sm.responsive-xs {
2771
    display: block;
2772
    width: 100%; } }
2773
2774
@media (max-width: 767.98px) {
2775
  .fastspring_btn.responsive-sm, .fastspring_btn-lg.responsive-sm, .fastspring_btn-sm.responsive-sm {
2776
    display: block;
2777
    width: 100%; } }
2778
2779
.fastspring_btn-block {
2780
  display: block;
2781
  width: 100%;
2782
  font-weight: normal;
2783
  line-height: 1.25;
2784
  text-align: center;
2785
  white-space: nowrap;
2786
  vertical-align: middle;
2787
  cursor: pointer;
2788
  -webkit-user-select: none;
2789
  -moz-user-select: none;
2790
  -ms-user-select: none;
2791
  user-select: none;
2792
  padding: 6px 12px;
2793
  font-size: 14px;
2794
  border-radius: 4px;
2795
  text-decoration: none; }
2796
2797
.fastspring_btn-block + .fastspring_btn-block {
2798
  margin-top: 0.5rem; }
2799
2800
@media (max-width: 575.98px) {
2801
  .fastspring_btn.responsive-xs, .fastspring_btn-lg.responsive-xs, .fastspring_btn-sm.responsive-xs {
2802
    display: block;
2803
    width: 100%; } }
2804
2805
@media (max-width: 767.98px) {
2806
  .fastspring_btn.responsive-sm, .fastspring_btn-lg.responsive-sm, .fastspring_btn-sm.responsive-sm {
2807
    display: block;
2808
    width: 100%; } }
2809
2810
.fsb-img-align-right {
2811
  text-align: right; }
2812
2813
.fsb-img-align-center {
2814
  text-align: center; }
2815
2816
.fsb-row a.fsb_productcatalog {
2817
  text-decoration: none !important; }
1
294
 
1
document.addEventListener('click', function (event) {
2
    if (event.target.matches('.fsb-close')) {
3
        event.preventDefault();
4
        closeitall();
5
        return
6
    }
7
    if(event.target.hasAttribute('data-fsc-addthis')) {
8
        var product = event.target.getAttribute("data-fsc-addthis");
9
        var cart = event.target.getAttribute("data-fsc-cart");
10
        fsaddProd(product, cart);
11
        return
12
    }
13
    if(event.target.hasAttribute('data-fsc-opencart')) {
14
        openCart(event.target.getAttribute("data-fsc-opencart"));
15
        return
16
    }
17
    return
18
}, false);
19
20
function fsaddProd(prod, type) {
21
    fastspring.builder.add(prod, function(data){
22
        if(type != 'fsb-MOD' && type != 'fsb-MODSM' && type!= 'fsb-RS' && type!= 'fsb-LS' && type!= 'fsb-BS' && type!= 'Modal' && type!= 'SmallModal' && type!= 'Right' && type!= 'Left' && type!= 'Bottom') {
23
            openCart('fsb-MOD');
24
        } else {
25
            openCart(type); 
26
        }       
27
    });
28
}
29
30
function applycoupon() {
31
    var couponid= document.getElementById('couponcode').value;
32
    fastspring.builder.promo(couponid);
33
}
34
35
function markupHelpersCallback() {
36
    Handlebars.registerHelper('iff', function(lvalue, operator, rvalue, options) {
37
        var functions = {
38
            '==':       function(l,r) { return l == r; },
39
            '===':      function(l,r) { return l === r; },
40
            '!=':       function(l,r) { return l != r; },
41
            '<':        function(l,r) { return l < r; },
42
            '>':        function(l,r) { return l > r; },
43
            '<=':       function(l,r) { return l <= r; },
44
            '>=':       function(l,r) { return l >= r; },
45
            'typeof':   function(l,r) { return typeof l === r; }
46
        };
47
        if (!functions.hasOwnProperty(operator)){
48
            throw new Error("Handlerbars Helper 'iff' doesn't know the operator " + operator);
49
        }
50
        var result = functions[operator](lvalue,rvalue);
51
        if( result ) {
52
            return options.fn(this);
53
        } else {
54
            return options.inverse(this);
55
        }
56
    });
57
    Handlebars.registerPartial("pricing", document.getElementById('pricing-partial').innerHTML);
58
    Handlebars.registerPartial("quantity", document.getElementById('quantity-partial').innerHTML);
59
    Handlebars.registerPartial("pricing2", document.getElementById('pricing-partial2').innerHTML);
60
    Handlebars.registerPartial("volume-discount", document.getElementById('volume-discount').innerHTML);
61
    Handlebars.registerPartial("xsell", document.getElementById('xsell').innerHTML);
62
    Handlebars.registerPartial("upsell", document.getElementById('upsell').innerHTML);
63
    Handlebars.registerPartial("singlechoice", document.getElementById('singlechoice').innerHTML);
64
    Handlebars.registerPartial("multichoice", document.getElementById('multichoice').innerHTML);
65
}
66
67
function beforeRequestsCallbackFunction() {
68
    var fsb_spinner=document.getElementById("fastspring_spinner");
69
    fsb_spinner.style.display = "block";
70
}
71
72
function afterMarkupCallbackFunction() {
73
    init();
74
    var fsb_spinner=document.getElementById("fastspring_spinner");
75
    fsb_spinner.style.animationName="fsb-revfadeIn";
76
    setTimeout(function(){
77
        fsb_spinner.style.animationName = "fsb-fadeIn";
78
        fsb_spinner.style.display = "none";
79
    },450);
80
}
81
82
function decorateCallback(url) {
83
    var linkerParam = null;
84
    if ( ga && typeof ga === 'function') {
85
        ga(function() {
86
            var trackers = ga.getAll();
87
            linkerParam = trackers[0].get('linkerParam');
88
        });
89
    }
90
    return (linkerParam ? url + '?' + linkerParam : url);
91
}
92
93
function errorCallback(code, string) {
94
    var fsb_spinner=document.getElementById("fastspring_spinner");
95
    fsb_spinner.style.animationName="fsb-revfadeIn";
96
    setTimeout(function(){
97
        fsb_spinner.style.animationName = "fsb-fadeIn";
98
        fsb_spinner.style.display = "none";
99
    },450);
100
    var fsb_modal = document.getElementById('fsb-modal');
101
    if(fsb_modal.style.display === 'block') {
102
        var fsb_error=document.getElementById("fsb_error");
103
        var fsb_error_msg=document.getElementById("fsb_error_msg");
104
        fsb_error.style.display = "block";
105
        fsb_error.style.animationName = "fsb-mod_animatetop";
106
        fsb_error_msg.innerHTML = "Error: " + code + " - " + string;
107
        setTimeout(function(){
108
            fsb_error.style.animationName = "fsb-mod_revanimatetop";
109
            setTimeout(function(){
110
                fsb_error.style.display = "none";
111
            }, 400)
112
        },5000);
113
    } else {
114
        var fsb_error=document.getElementById("fsb_error");
115
        var fsb_error_msg=document.getElementById("fsb_error_msg");
116
        fsb_error.style.display = "block";
117
        fsb_error.style.animationName = "fsb-mod_animatetop";
118
        fsb_error_msg.innerHTML = "Error: " + code + " - " + string;
119
        setTimeout(function(){
120
            fsb_error.style.animationName = "fsb-mod_revanimatetop";
121
            setTimeout(function(){
122
                fsb_error.style.display = "none";
123
            }, 400)
124
        },5000);
125
    }
126
}
127
128
function dataCallback(data) {
129
    if(data.messages[0]) {
130
        var fsb_modal = document.getElementById('fsb-modal');
131
        if(fsb_modal.style.display === 'block') {
132
            var fsb_error=document.getElementById("fsb_error");
133
            var fsb_error_msg=document.getElementById("fsb_error_msg");
134
            fsb_error.style.display = "block";
135
            fsb_error.style.animationName = "fsb-mod_animatetop";
136
            fsb_error_msg.innerHTML = data.messages[0].phrase;
137
            setTimeout(function(){
138
                fsb_error.style.animationName = "fsb-mod_revanimatetop";
139
                setTimeout(function(){
140
                    fsb_error.style.display = "none";
141
                }, 400)
142
            },5000);
143
        } else {
144
        var fsb_error=document.getElementById("fsb_error");
145
        var fsb_error_msg=document.getElementById("fsb_error_msg");
146
        fsb_error.style.display = "block";
147
        fsb_error.style.animationName = "fsb-mod_animatetop";
148
        fsb_error_msg.innerHTML = data.messages[0].phrase;
149
        setTimeout(function(){
150
            fsb_error.style.animationName = "fsb-mod_revanimatetop";
151
            setTimeout(function(){
152
                fsb_error.style.display = "none";
153
            }, 400)
154
        },5000);
155
        }
156
    }
157
    var minicart = document.getElementById("minicart-count");
158
    if(minicart) {
159
        let inCart = 0;
160
        if (data && data.hasOwnProperty('groups')) {
161
            const { groups } = data;
162
            groups.forEach(group => {
163
                if (group.items && Array.isArray(group.items)) {
164
                    group.items.forEach(item => {
165
                        if (item.selected) {
166
                            inCart += item.quantity;
167
                        }
168
                    });
169
                }
170
            });
171
        }
172
        document.getElementById("minicart-count").innerHTML = inCart;
173
    }
174
}
175
176
var fsb_modal = document.getElementById('fsb-modal');
177
var fsb_modalcontent = document.querySelectorAll('#fsb-modal .fsb-modal-content');
178
179
function openCart(type) {
180
    if(type== 'Modal') { type='fsb-MOD'; }
181
    if(type== 'ModalSmall') { type='fsb-MODSM'; }
182
    if(type== 'Left') { type='fsb-LS'; }
183
    if(type== 'Right') { type='fsb-RS'; }
184
    if(type== 'Bottom') { type='fsb-BS'; }
185
    var fsb_modal = document.getElementById('fsb-modal');
186
    var fsb_modalcontent = document.querySelectorAll('#fsb-modal .fsb-modal-content');
187
    if(!type) {
188
        type = 'fsb-MOD';
189
    }
190
    fsb_modal.classList.add(type);
191
    if(type=='fsb-LS') {
192
        fsb_modalcontent[0].style.animationName = "fsb-ls_slideIn";
193
    }
194
    if(type=='fsb-RS') {
195
        fsb_modalcontent[0].style.animationName = "fsb-rs_slideIn";
196
    }
197
    if(type=='fsb-BS') {
198
        fsb_modalcontent[0].style.animationName = "fsb-bs_slideIn";
199
    }
200
    if(type=='fsb-MOD' || type=='fsb-MODSM') {
201
        fsb_modalcontent[0].style.animationName = "fsb-mod_animatetop";
202
    }
203
    fsb_modal.style.display = "block";  
204
    document.body.classList.add("fsb-modalOpen");
205
}
206
207
function closeitall() {
208
    var fsb_modal = document.getElementById('fsb-modal');
209
    var fsb_modalcontent = document.querySelectorAll('#fsb-modal .fsb-modal-content');
210
    document.body.classList.remove("fsb-modalOpen");
211
    if (fsb_modal.classList.contains('fsb-BS')) {
212
        fsb_modalcontent[0].style.animationName = "fsb-bs_revslideIn";
213
        fsb_modal.style.animationName="fsb-revfadeIn";
214
        setTimeout(function(){
215
            fsb_modal.style.display = "none";
216
            fsb_modalcontent[0].style.animationName = "fsb-bs_slideIn";
217
            fsb_modal.style.animationName="fsb-fadeIn";
218
        },350);
219
    }
220
    if (fsb_modal.classList.contains('fsb-LS')) {
221
        fsb_modalcontent[0].style.animationName = "fsb-ls_revslideIn";
222
        fsb_modal.style.animationName="fsb-revfadeIn";
223
        setTimeout(function(){
224
            fsb_modal.style.display = "none";
225
            fsb_modalcontent[0].style.animationName =  "fsb-ls_slideIn";
226
            fsb_modal.style.animationName="fsb-fadeIn";
227
        },350);
228
    }
229
    if (fsb_modal.classList.contains('fsb-RS')) {
230
        fsb_modalcontent[0].style.animationName = "fsb-rs_revslideIn";
231
        fsb_modal.style.animationName="fsb-revfadeIn";
232
        setTimeout(function(){
233
            fsb_modal.style.display = "none";
234
            fsb_modalcontent[0].style.animationName = "fsb-rs_slideIn";
235
            fsb_modal.style.animationName="fsb-fadeIn";
236
        },350);
237
    }
238
    if (fsb_modal.classList.contains('fsb-MOD') || fsb_modal.classList.contains('fsb-MODSM')) {
239
        fsb_modalcontent[0].style.animationName = "fsb-mod_revanimatetop";
240
        fsb_modal.style.animationName="fsb-revfadeIn";
241
        setTimeout(function(){
242
            fsb_modal.style.display = "none";
243
            fsb_modalcontent[0].style.animationName = "fsb-mod_animatetop";
244
            fsb_modal.style.animationName="fsb-fadeIn";
245
        },350);
246
    }
247
    setTimeout(function(){
248
        document.getElementById('fsb-modal').classList.remove("fsb-RS");
249
        document.getElementById('fsb-modal').classList.remove("fsb-LS");
250
        document.getElementById('fsb-modal').classList.remove("fsb-BS");
251
        document.getElementById('fsb-modal').classList.remove("fsb-MOD");
252
        document.getElementById('fsb-modal').classList.remove("fsb-MODSM");
253
    },350);
254
}
255
256
window.onclick = function(event) {
257
    if (event.target.id == "fsb-modal") {
258
        closeitall();
259
    }
260
}
261
262
var value,
263
    quantity = document.getElementsByClassName('fsb-number');
264
function createBindings(quantityContainer) {
265
    var quantityAmount = quantityContainer.getElementsByClassName('fsb-qtyinput')[0];
266
    var increase = quantityContainer.getElementsByClassName('fsb-plus')[0];
267
    var decrease = quantityContainer.getElementsByClassName('fsb-minus')[0];
268
    increase.addEventListener('click', function () { increaseValue(this, quantityAmount); });
269
    decrease.addEventListener('click', function () { decreaseValue(this, quantityAmount); });
270
}
271
272
function init() {
273
    for (var i = 0; i < quantity.length; i++ ) {
274
        createBindings(quantity[i]);
275
    }
276
};
277
278
function increaseValue(clicker, quantityAmount) {
279
    value = parseInt(quantityAmount.value, 10);
280
    product = quantityAmount.getAttribute("data-fsc-item-path");
281
    value = isNaN(value) ? 0 : value;
282
    value++;
283
    quantityAmount.value = value;
284
    fastspring.builder.update(product, value);
285
}
286
287
function decreaseValue(clicker, quantityAmount) {
288
    value = parseInt(quantityAmount.value, 10);
289
    product = quantityAmount.getAttribute("data-fsc-item-path");
290
    value = isNaN(value) ? 0 : value;
291
    if (value > 0) value--;
292
    quantityAmount.value = value;
293
    fastspring.builder.update(product, value);
294
}

Related Topics