Version Description
Download this release
Release Info
Developer | wpkube |
Plugin | Subscribe To Comments Reloaded |
Version | 220512 |
Comparing to | |
See all releases |
Code changes from version 220502 to 220512
- classes/stcr_i18n.php +116 -116
- includes/css/stcr-admin-style.css +27 -2
- includes/sass/_buttons.scss +45 -41
- includes/sass/_cards.scss +31 -30
- includes/sass/_forms.scss +251 -239
- includes/sass/_init.scss +3 -0
- includes/sass/_tables.scss +76 -72
- options/options_template.php +9 -11
- options/panel1-add-subscription.php +40 -35
- options/panel1-business-logic.php +201 -208
- options/panel1-edit-subscription.php +45 -40
- options/stcr_comment_form.php +54 -54
- options/stcr_manage_subscriptions.php +71 -71
- options/stcr_management_page.php +61 -61
- options/stcr_notifications.php +22 -22
- options/stcr_options.php +128 -130
- options/stcr_support.php +9 -9
- options/stcr_system.php +96 -99
- readme.txt +298 -295
- subscribe-to-comments-reloaded.php +1 -1
- templates/author.php +150 -149
- templates/confirm.php +39 -39
- templates/key_expired.php +10 -7
- templates/not-allowed.php +3 -3
- templates/one-click-unsubscribe.php +36 -36
- templates/request-management-link.php +30 -28
- templates/subscribe.php +28 -25
- templates/user.php +185 -184
- templates/wrong-request.php +14 -14
- utils/functions.php +15 -15
- utils/stcr_manage.php +33 -40
- utils/stcr_upgrade.php +96 -96
- utils/stcr_utils.php +46 -46
- vendor/bootstrap/dist/css/bootstrap-grid.css +2092 -270
- vendor/bootstrap/dist/css/bootstrap-grid.css.map +1 -1
- vendor/bootstrap/dist/css/bootstrap-grid.min.css +5 -5
- vendor/bootstrap/dist/css/bootstrap-grid.min.css.map +1 -1
classes/stcr_i18n.php
CHANGED
@@ -1,116 +1,116 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Class with management functions for Subscribe to Comments Reloaded
|
4 |
-
* @author reedyseth
|
5 |
-
* @since 27-Mar-2018
|
6 |
-
* @version 1.0.0
|
7 |
-
*/
|
8 |
-
namespace stcr;
|
9 |
-
|
10 |
-
// Avoid direct access to this piece of code
|
11 |
-
if ( ! function_exists( 'add_action' ) ) {
|
12 |
-
header( 'Location: /' );
|
13 |
-
exit;
|
14 |
-
}
|
15 |
-
|
16 |
-
class stcr_i18n {
|
17 |
-
|
18 |
-
private $js_subs_translation = array();
|
19 |
-
private $wp_locale = null;
|
20 |
-
|
21 |
-
public function __construct() {
|
22 |
-
add_action( 'plugins_loaded', array( $this, 'register_js_subs_translation' ) );
|
23 |
-
global $wp_locale;
|
24 |
-
$this->wp_locale = get_locale();
|
25 |
-
}
|
26 |
-
|
27 |
-
/**
|
28 |
-
* Enqueue a script a translated array into a Object Name that will be use in the handle JS file.
|
29 |
-
*
|
30 |
-
* @since 28-Mar-2018
|
31 |
-
* @author reedyseth
|
32 |
-
* @param string $handle Script handle that will be enqueue
|
33 |
-
* @param string $object_name Name for the JavaScript object. Passed directly, so it should be qualified JS variable.
|
34 |
-
* Example: '/[a-zA-Z0-9_]+/'.
|
35 |
-
* @param string $l10n The data itself. The data can be either a single or multi-dimensional array.
|
36 |
-
*/
|
37 |
-
public function stcr_localize_script( $handle, $object_name, $l10n ) {
|
38 |
-
wp_localize_script( $handle, $object_name, $l10n );
|
39 |
-
}
|
40 |
-
/**
|
41 |
-
* Create the translation array for the plugin jQuery Datatables.
|
42 |
-
*
|
43 |
-
* @since 28-Mar-2018
|
44 |
-
* @author reedyseth
|
45 |
-
*/
|
46 |
-
public function register_js_subs_translation() {
|
47 |
-
$translation_array = array (
|
48 |
-
"decimal" =>
|
49 |
-
"emptyTable" =>
|
50 |
-
"info" =>
|
51 |
-
"infoEmpty" =>
|
52 |
-
"infoFiltered" =>
|
53 |
-
"infoPostFix" =>
|
54 |
-
"thousands" =>
|
55 |
-
"lengthMenu" =>
|
56 |
-
"loadingRecords" =>
|
57 |
-
"processing" =>
|
58 |
-
"search" =>
|
59 |
-
"zeroRecords" =>
|
60 |
-
"paginate" => array(
|
61 |
-
"first" =>
|
62 |
-
"last" =>
|
63 |
-
"next" =>
|
64 |
-
"previous" =>
|
65 |
-
),
|
66 |
-
"aria" => array(
|
67 |
-
"sortAscending" =>
|
68 |
-
"sortDescending"=>
|
69 |
-
),
|
70 |
-
"langTextDirection" => $this->get_text_direction()
|
71 |
-
);
|
72 |
-
|
73 |
-
$this->set_js_subs_translation( $translation_array );
|
74 |
-
}
|
75 |
-
|
76 |
-
/**
|
77 |
-
* @return mixed
|
78 |
-
*/
|
79 |
-
public function get_js_subs_translation() {
|
80 |
-
return $this->js_subs_translation;
|
81 |
-
}
|
82 |
-
|
83 |
-
/**
|
84 |
-
* @param mixed $translation_array
|
85 |
-
*/
|
86 |
-
public function set_js_subs_translation( $translation_array ) {
|
87 |
-
$this->js_subs_translation = array_merge( $this->get_js_subs_translation(), $translation_array );
|
88 |
-
}
|
89 |
-
|
90 |
-
/**
|
91 |
-
* @return null
|
92 |
-
*/
|
93 |
-
public function get_wp_locale() {
|
94 |
-
return $this->wp_locale;
|
95 |
-
}
|
96 |
-
|
97 |
-
public function get_text_direction() {
|
98 |
-
|
99 |
-
if ( function_exists( 'is_rtl' ) && is_rtl() ) {
|
100 |
-
$text_direction = "rtl";
|
101 |
-
} else {
|
102 |
-
$text_direction = "ltr";
|
103 |
-
}
|
104 |
-
|
105 |
-
return $text_direction;
|
106 |
-
|
107 |
-
}
|
108 |
-
|
109 |
-
/**
|
110 |
-
* @param null $wp_locale
|
111 |
-
*/
|
112 |
-
public function set_wp_locale($wp_locale) {
|
113 |
-
$this->wp_locale = $wp_locale;
|
114 |
-
}
|
115 |
-
|
116 |
-
}
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Class with management functions for Subscribe to Comments Reloaded
|
4 |
+
* @author reedyseth
|
5 |
+
* @since 27-Mar-2018
|
6 |
+
* @version 1.0.0
|
7 |
+
*/
|
8 |
+
namespace stcr;
|
9 |
+
|
10 |
+
// Avoid direct access to this piece of code
|
11 |
+
if ( ! function_exists( 'add_action' ) ) {
|
12 |
+
header( 'Location: /' );
|
13 |
+
exit;
|
14 |
+
}
|
15 |
+
|
16 |
+
class stcr_i18n {
|
17 |
+
|
18 |
+
private $js_subs_translation = array();
|
19 |
+
private $wp_locale = null;
|
20 |
+
|
21 |
+
public function __construct() {
|
22 |
+
add_action( 'plugins_loaded', array( $this, 'register_js_subs_translation' ) );
|
23 |
+
global $wp_locale;
|
24 |
+
$this->wp_locale = get_locale();
|
25 |
+
}
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Enqueue a script a translated array into a Object Name that will be use in the handle JS file.
|
29 |
+
*
|
30 |
+
* @since 28-Mar-2018
|
31 |
+
* @author reedyseth
|
32 |
+
* @param string $handle Script handle that will be enqueue
|
33 |
+
* @param string $object_name Name for the JavaScript object. Passed directly, so it should be qualified JS variable.
|
34 |
+
* Example: '/[a-zA-Z0-9_]+/'.
|
35 |
+
* @param string $l10n The data itself. The data can be either a single or multi-dimensional array.
|
36 |
+
*/
|
37 |
+
public function stcr_localize_script( $handle, $object_name, $l10n ) {
|
38 |
+
wp_localize_script( $handle, $object_name, $l10n );
|
39 |
+
}
|
40 |
+
/**
|
41 |
+
* Create the translation array for the plugin jQuery Datatables.
|
42 |
+
*
|
43 |
+
* @since 28-Mar-2018
|
44 |
+
* @author reedyseth
|
45 |
+
*/
|
46 |
+
public function register_js_subs_translation() {
|
47 |
+
$translation_array = array (
|
48 |
+
"decimal" => esc_html__( " ", 'subscribe-to-comments-reloaded' ),
|
49 |
+
"emptyTable" => esc_html__( "No data available in table", 'subscribe-to-comments-reloaded' ),
|
50 |
+
"info" => esc_html__( "Showing _START_ to _END_ of _TOTAL_ entries", 'subscribe-to-comments-reloaded' ),
|
51 |
+
"infoEmpty" => esc_html__( "Showing 0 to 0 of 0 entries", 'subscribe-to-comments-reloaded' ),
|
52 |
+
"infoFiltered" => esc_html__( "(filtered from _MAX_ total entries)", 'subscribe-to-comments-reloaded' ),
|
53 |
+
"infoPostFix" => esc_html__( " ", 'subscribe-to-comments-reloaded' ),
|
54 |
+
"thousands" => esc_html__( ",", 'subscribe-to-comments-reloaded' ),
|
55 |
+
"lengthMenu" => esc_html__( "Show _MENU_ entries", 'subscribe-to-comments-reloaded' ),
|
56 |
+
"loadingRecords" => esc_html__( "Loading...", 'subscribe-to-comments-reloaded' ),
|
57 |
+
"processing" => esc_html__( "Processing...", 'subscribe-to-comments-reloaded' ),
|
58 |
+
"search" => esc_html__( "Search", 'subscribe-to-comments-reloaded' ),
|
59 |
+
"zeroRecords" => esc_html__( "No matching records found", 'subscribe-to-comments-reloaded' ),
|
60 |
+
"paginate" => array(
|
61 |
+
"first" => esc_html__( "First", 'subscribe-to-comments-reloaded' ),
|
62 |
+
"last" => esc_html__( "Last", 'subscribe-to-comments-reloaded' ),
|
63 |
+
"next" => esc_html__( "Next", 'subscribe-to-comments-reloaded' ),
|
64 |
+
"previous" => esc_html__( "Previous", 'subscribe-to-comments-reloaded' )
|
65 |
+
),
|
66 |
+
"aria" => array(
|
67 |
+
"sortAscending" => esc_html__( "activate to sort column ascending", 'subscribe-to-comments-reloaded' ),
|
68 |
+
"sortDescending"=> esc_html__( "activate to sort column descending", 'subscribe-to-comments-reloaded' )
|
69 |
+
),
|
70 |
+
"langTextDirection" => $this->get_text_direction()
|
71 |
+
);
|
72 |
+
|
73 |
+
$this->set_js_subs_translation( $translation_array );
|
74 |
+
}
|
75 |
+
|
76 |
+
/**
|
77 |
+
* @return mixed
|
78 |
+
*/
|
79 |
+
public function get_js_subs_translation() {
|
80 |
+
return $this->js_subs_translation;
|
81 |
+
}
|
82 |
+
|
83 |
+
/**
|
84 |
+
* @param mixed $translation_array
|
85 |
+
*/
|
86 |
+
public function set_js_subs_translation( $translation_array ) {
|
87 |
+
$this->js_subs_translation = array_merge( $this->get_js_subs_translation(), $translation_array );
|
88 |
+
}
|
89 |
+
|
90 |
+
/**
|
91 |
+
* @return null
|
92 |
+
*/
|
93 |
+
public function get_wp_locale() {
|
94 |
+
return $this->wp_locale;
|
95 |
+
}
|
96 |
+
|
97 |
+
public function get_text_direction() {
|
98 |
+
|
99 |
+
if ( function_exists( 'is_rtl' ) && is_rtl() ) {
|
100 |
+
$text_direction = "rtl";
|
101 |
+
} else {
|
102 |
+
$text_direction = "ltr";
|
103 |
+
}
|
104 |
+
|
105 |
+
return $text_direction;
|
106 |
+
|
107 |
+
}
|
108 |
+
|
109 |
+
/**
|
110 |
+
* @param null $wp_locale
|
111 |
+
*/
|
112 |
+
public function set_wp_locale($wp_locale) {
|
113 |
+
$this->wp_locale = $wp_locale;
|
114 |
+
}
|
115 |
+
|
116 |
+
}
|
includes/css/stcr-admin-style.css
CHANGED
@@ -4,6 +4,10 @@
|
|
4 |
Â
@author reedyseth
|
5 |
Â
@since 21-Sep-2015
|
6 |
Â
*/
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
7 |
Â
/* ----------------------------------------------------------
|
8 |
Â
Common styles and utilities on pages.
|
9 |
Â
@author Israel Barragan (Reedyseth)
|
@@ -156,6 +160,10 @@ Styles use on form styles. Helpful to customize Bootstrap behavior.
|
|
156 |
Â
display: inline !important;
|
157 |
Â
}
|
158 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
159 |
Â
.form-control-select {
|
160 |
Â
width: 42% !important;
|
161 |
Â
display: inline !important;
|
@@ -339,6 +347,14 @@ Styles use on form styles. Helpful to customize Bootstrap behavior.
|
|
339 |
Â
height: 2px !important;
|
340 |
Â
}
|
341 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
342 |
Â
/* ----------------------------------------------------------
|
343 |
Â
Styles use on Cards styles. Helpful to customize Bootstrap Cards behavior.
|
344 |
Â
@author Israel Barragan (Reedyseth)
|
@@ -346,6 +362,7 @@ Styles use on Cards styles. Helpful to customize Bootstrap Cards behavior.
|
|
346 |
Â
---------------------------------------------------------- */
|
347 |
Â
.card {
|
348 |
Â
padding: 0 !important;
|
Â
|
|
349 |
Â
}
|
350 |
Â
|
351 |
Â
.card-subscribers {
|
@@ -375,6 +392,10 @@ Styles use on Table styles. Helpful to customize Bootstrap Tables behavior.
|
|
375 |
Â
@author Israel Barragan (Reedyseth)
|
376 |
Â
@since 01-Apr-2018
|
377 |
Â
---------------------------------------------------------- */
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
378 |
Â
table.subscribers-table {
|
379 |
Â
width: 100% !important;
|
380 |
Â
}
|
@@ -446,6 +467,10 @@ Styles use on form styles. Helpful to customize Bootstrap Buttons behavior.
|
|
446 |
Â
@author Israel Barragan (Reedyseth)
|
447 |
Â
@since 01-Apr-2018
|
448 |
Â
---------------------------------------------------------- */
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
449 |
Â
.btn-primary {
|
450 |
Â
color: #fff !important;
|
451 |
Â
background-color: #0085ba !important;
|
@@ -472,13 +497,13 @@ Styles use on form styles. Helpful to customize Bootstrap Buttons behavior.
|
|
472 |
Â
|
473 |
Â
.btn-download {
|
474 |
Â
color: #445435;
|
475 |
-
background-color: #7bd774;
|
476 |
Â
border-color: #28a745 !important;
|
477 |
Â
}
|
478 |
Â
|
479 |
Â
.btn-download:hover {
|
480 |
Â
color: #445435;
|
481 |
-
background-color: #78c771;
|
482 |
Â
border-color: #28a745 !important;
|
483 |
Â
}
|
484 |
Â
|
4 |
Â
@author reedyseth
|
5 |
Â
@since 21-Sep-2015
|
6 |
Â
*/
|
7 |
+
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
|
8 |
+
color: inherit;
|
9 |
+
}
|
10 |
+
|
11 |
Â
/* ----------------------------------------------------------
|
12 |
Â
Common styles and utilities on pages.
|
13 |
Â
@author Israel Barragan (Reedyseth)
|
160 |
Â
display: inline !important;
|
161 |
Â
}
|
162 |
Â
|
163 |
+
.form-control {
|
164 |
+
height: auto !important;
|
165 |
+
}
|
166 |
+
|
167 |
Â
.form-control-select {
|
168 |
Â
width: 42% !important;
|
169 |
Â
display: inline !important;
|
347 |
Â
height: 2px !important;
|
348 |
Â
}
|
349 |
Â
|
350 |
+
select.form-control:not([size]):not([multiple]) {
|
351 |
+
height: calc(2.25rem + 2px) !important;
|
352 |
+
}
|
353 |
+
|
354 |
+
.input-group-sm > .input-group-append > select.btn:not([size]):not([multiple]), .input-group-sm > .input-group-append > select.input-group-text:not([size]):not([multiple]), .input-group-sm > .input-group-prepend > select.btn:not([size]):not([multiple]), .input-group-sm > .input-group-prepend > select.input-group-text:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]), select.form-control-sm:not([size]):not([multiple]) {
|
355 |
+
height: calc(1.8125rem + 2px) !important;
|
356 |
+
}
|
357 |
+
|
358 |
Â
/* ----------------------------------------------------------
|
359 |
Â
Styles use on Cards styles. Helpful to customize Bootstrap Cards behavior.
|
360 |
Â
@author Israel Barragan (Reedyseth)
|
362 |
Â
---------------------------------------------------------- */
|
363 |
Â
.card {
|
364 |
Â
padding: 0 !important;
|
365 |
+
border-bottom: 0;
|
366 |
Â
}
|
367 |
Â
|
368 |
Â
.card-subscribers {
|
392 |
Â
@author Israel Barragan (Reedyseth)
|
393 |
Â
@since 01-Apr-2018
|
394 |
Â
---------------------------------------------------------- */
|
395 |
+
.table {
|
396 |
+
color: #464646 !important;
|
397 |
+
}
|
398 |
+
|
399 |
Â
table.subscribers-table {
|
400 |
Â
width: 100% !important;
|
401 |
Â
}
|
467 |
Â
@author Israel Barragan (Reedyseth)
|
468 |
Â
@since 01-Apr-2018
|
469 |
Â
---------------------------------------------------------- */
|
470 |
+
.btn {
|
471 |
+
white-space: nowrap;
|
472 |
+
}
|
473 |
+
|
474 |
Â
.btn-primary {
|
475 |
Â
color: #fff !important;
|
476 |
Â
background-color: #0085ba !important;
|
497 |
Â
|
498 |
Â
.btn-download {
|
499 |
Â
color: #445435;
|
500 |
+
background-color: #7bd774 !important;
|
501 |
Â
border-color: #28a745 !important;
|
502 |
Â
}
|
503 |
Â
|
504 |
Â
.btn-download:hover {
|
505 |
Â
color: #445435;
|
506 |
+
background-color: #78c771 !important;
|
507 |
Â
border-color: #28a745 !important;
|
508 |
Â
}
|
509 |
Â
|
includes/sass/_buttons.scss
CHANGED
@@ -1,41 +1,45 @@
|
|
1 |
-
/* ----------------------------------------------------------
|
2 |
-
Styles use on form styles. Helpful to customize Bootstrap Buttons behavior.
|
3 |
-
@author Israel Barragan (Reedyseth)
|
4 |
-
@since 01-Apr-2018
|
5 |
-
---------------------------------------------------------- */
|
6 |
-
.btn
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
color: #
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
color: #
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
color: #
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
color: #
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
/* ----------------------------------------------------------
|
2 |
+
Styles use on form styles. Helpful to customize Bootstrap Buttons behavior.
|
3 |
+
@author Israel Barragan (Reedyseth)
|
4 |
+
@since 01-Apr-2018
|
5 |
+
---------------------------------------------------------- */
|
6 |
+
.btn {
|
7 |
+
white-space: nowrap;
|
8 |
+
}
|
9 |
+
|
10 |
+
.btn-primary {
|
11 |
+
color: #fff !important;
|
12 |
+
background-color: #0085ba !important;
|
13 |
+
border-color: #80bbd2 !important;
|
14 |
+
}
|
15 |
+
|
16 |
+
.btn-primary:hover {
|
17 |
+
color: #fff !important;
|
18 |
+
background-color: #4299b9 !important;
|
19 |
+
border-color: #5495ad !important;
|
20 |
+
}
|
21 |
+
|
22 |
+
.btn-third {
|
23 |
+
color: #444 !important;
|
24 |
+
background-color: #ffc63c !important;
|
25 |
+
border-color: #dcb456 !important;
|
26 |
+
}
|
27 |
+
|
28 |
+
.btn-third:hover {
|
29 |
+
color: #444 !important;
|
30 |
+
background-color: #fdd575 !important;
|
31 |
+
border-color: #dcb456 !important;
|
32 |
+
}
|
33 |
+
|
34 |
+
.btn-download {
|
35 |
+
color: #445435;
|
36 |
+
background-color: #7bd774 !important;
|
37 |
+
border-color: #28a745 !important;
|
38 |
+
}
|
39 |
+
|
40 |
+
|
41 |
+
.btn-download:hover {
|
42 |
+
color: #445435;
|
43 |
+
background-color: #78c771 !important;
|
44 |
+
border-color: #28a745 !important;
|
45 |
+
}
|
includes/sass/_cards.scss
CHANGED
@@ -1,30 +1,31 @@
|
|
1 |
-
/* ----------------------------------------------------------
|
2 |
-
Styles use on Cards styles. Helpful to customize Bootstrap Cards behavior.
|
3 |
-
@author Israel Barragan (Reedyseth)
|
4 |
-
@since 01-Apr-2018
|
5 |
-
---------------------------------------------------------- */
|
6 |
-
.card {
|
7 |
-
padding: 0 !important;
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
box-shadow: 0 0 6px 0 #9E9E9E;
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
color: #
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
Â
|
1 |
+
/* ----------------------------------------------------------
|
2 |
+
Styles use on Cards styles. Helpful to customize Bootstrap Cards behavior.
|
3 |
+
@author Israel Barragan (Reedyseth)
|
4 |
+
@since 01-Apr-2018
|
5 |
+
---------------------------------------------------------- */
|
6 |
+
.card {
|
7 |
+
padding: 0 !important;
|
8 |
+
border-bottom: 0;
|
9 |
+
}
|
10 |
+
|
11 |
+
.card-subscribers {
|
12 |
+
-webkit-box-shadow: 0 0 6px 0 #9E9E9E;
|
13 |
+
box-shadow: 0 0 6px 0 #9E9E9E;
|
14 |
+
}
|
15 |
+
|
16 |
+
.card-header{
|
17 |
+
background-color: #008ec2 !important;
|
18 |
+
color: #ffffff;
|
19 |
+
}
|
20 |
+
|
21 |
+
.card-font-size {
|
22 |
+
font-size: 0.85em;
|
23 |
+
}
|
24 |
+
|
25 |
+
.original-card-padding {
|
26 |
+
padding: 1.25rem !important;
|
27 |
+
}
|
28 |
+
|
29 |
+
.card-no-max-width {
|
30 |
+
max-width: 100% !important;
|
31 |
+
}
|
includes/sass/_forms.scss
CHANGED
@@ -1,239 +1,251 @@
|
|
1 |
-
/* ----------------------------------------------------------
|
2 |
-
Styles use on form styles. Helpful to customize Bootstrap behavior.
|
3 |
-
@author Israel Barragan (Reedyseth)
|
4 |
-
@since 01-Apr-2018
|
5 |
-
---------------------------------------------------------- */
|
6 |
-
.form-controls-font {
|
7 |
-
font-size: 1em !important;
|
8 |
-
|
9 |
-
}
|
10 |
-
|
11 |
-
.col-form-label {
|
12 |
-
font-size: 0.95rem !important;
|
13 |
-
font-weight: 600 !important;
|
14 |
-
}
|
15 |
-
|
16 |
-
.subscribers-mass-actions
|
17 |
-
{
|
18 |
-
margin-top: 20px;
|
19 |
-
font-size: 0.9rem;
|
20 |
-
}
|
21 |
-
|
22 |
-
.subscribers-mass-actions select,
|
23 |
-
.subscribers-mass-actions button,
|
24 |
-
.subscribers-mass-actions input
|
25 |
-
{
|
26 |
-
font-size: 0.9rem !important;
|
27 |
-
}
|
28 |
-
|
29 |
-
.mass-update-subs {
|
30 |
-
/*height: 100%;*/
|
31 |
-
margin-top: 0 !important;
|
32 |
-
}
|
33 |
-
|
34 |
-
.mass-update-select-status {
|
35 |
-
width: 70% !important;
|
36 |
-
display: inline !important;
|
37 |
-
}
|
38 |
-
|
39 |
-
.new-sub-select-status {
|
40 |
-
width: 76% !important;
|
41 |
-
display: inline !important;
|
42 |
-
}
|
43 |
-
|
44 |
-
.form-control
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
.
|
103 |
-
|
104 |
-
}
|
105 |
-
|
106 |
-
|
107 |
-
.
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
}
|
135 |
-
|
136 |
-
.switch-label
|
137 |
-
|
138 |
-
}
|
139 |
-
|
140 |
-
.switch-label-
|
141 |
-
padding-
|
142 |
-
}
|
143 |
-
|
144 |
-
.switch-
|
145 |
-
|
146 |
-
}
|
147 |
-
|
148 |
-
.switch-input
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
background
|
185 |
-
|
186 |
-
-webkit-
|
187 |
-
|
188 |
-
-
|
189 |
-
-
|
190 |
-
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
background
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
background: #
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
background
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
}
|
221 |
-
|
222 |
-
|
223 |
-
.
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
.arrow
|
228 |
-
left:
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
//
|
239 |
-
//
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
/* ----------------------------------------------------------
|
2 |
+
Styles use on form styles. Helpful to customize Bootstrap behavior.
|
3 |
+
@author Israel Barragan (Reedyseth)
|
4 |
+
@since 01-Apr-2018
|
5 |
+
---------------------------------------------------------- */
|
6 |
+
.form-controls-font {
|
7 |
+
font-size: 1em !important;
|
8 |
+
|
9 |
+
}
|
10 |
+
|
11 |
+
.col-form-label {
|
12 |
+
font-size: 0.95rem !important;
|
13 |
+
font-weight: 600 !important;
|
14 |
+
}
|
15 |
+
|
16 |
+
.subscribers-mass-actions
|
17 |
+
{
|
18 |
+
margin-top: 20px;
|
19 |
+
font-size: 0.9rem;
|
20 |
+
}
|
21 |
+
|
22 |
+
.subscribers-mass-actions select,
|
23 |
+
.subscribers-mass-actions button,
|
24 |
+
.subscribers-mass-actions input
|
25 |
+
{
|
26 |
+
font-size: 0.9rem !important;
|
27 |
+
}
|
28 |
+
|
29 |
+
.mass-update-subs {
|
30 |
+
/*height: 100%;*/
|
31 |
+
margin-top: 0 !important;
|
32 |
+
}
|
33 |
+
|
34 |
+
.mass-update-select-status {
|
35 |
+
width: 70% !important;
|
36 |
+
display: inline !important;
|
37 |
+
}
|
38 |
+
|
39 |
+
.new-sub-select-status {
|
40 |
+
width: 76% !important;
|
41 |
+
display: inline !important;
|
42 |
+
}
|
43 |
+
|
44 |
+
.form-control {
|
45 |
+
height: auto !important;
|
46 |
+
}
|
47 |
+
|
48 |
+
.form-control-select {
|
49 |
+
width: 42% !important;
|
50 |
+
display: inline !important;
|
51 |
+
font-size: 0.9rem !important;
|
52 |
+
}
|
53 |
+
|
54 |
+
.form-control-input-3 {
|
55 |
+
width: 30% !important;
|
56 |
+
display: inline !important;
|
57 |
+
font-size: 0.9rem !important;
|
58 |
+
}
|
59 |
+
|
60 |
+
.form-control-input-4 {
|
61 |
+
width: 40% !important;
|
62 |
+
display: inline !important;
|
63 |
+
font-size: 0.9rem !important;
|
64 |
+
}
|
65 |
+
|
66 |
+
.form-control-input-5 {
|
67 |
+
width: 50% !important;
|
68 |
+
display: inline !important;
|
69 |
+
font-size: 0.9rem !important;
|
70 |
+
}
|
71 |
+
|
72 |
+
.form-control-input-6 {
|
73 |
+
width: 60% !important;
|
74 |
+
display: inline !important;
|
75 |
+
font-size: 0.9rem !important;
|
76 |
+
}
|
77 |
+
|
78 |
+
.form-control-input-7 {
|
79 |
+
width: 70% !important;
|
80 |
+
display: inline !important;
|
81 |
+
font-size: 0.9rem !important;
|
82 |
+
}
|
83 |
+
|
84 |
+
.form-control-input-8 {
|
85 |
+
width: 80% !important;
|
86 |
+
display: inline !important;
|
87 |
+
font-size: 0.9rem !important;
|
88 |
+
}
|
89 |
+
|
90 |
+
.form-control-input-9 {
|
91 |
+
width: 90% !important;
|
92 |
+
display: inline !important;
|
93 |
+
font-size: 0.9rem !important;
|
94 |
+
}
|
95 |
+
|
96 |
+
.add-new-subs {
|
97 |
+
/*height: 100%;*/
|
98 |
+
margin-top: 0 !important;
|
99 |
+
}
|
100 |
+
|
101 |
+
.mass-update-subs h6,
|
102 |
+
.add-new-subs h6 {
|
103 |
+
cursor: pointer;
|
104 |
+
}
|
105 |
+
|
106 |
+
.subscribe-form-button {
|
107 |
+
font-size: 0.8rem !important;
|
108 |
+
}
|
109 |
+
|
110 |
+
// https://php.quicoto.com/toggle-switches-using-input-radio-and-css3/
|
111 |
+
.switch {
|
112 |
+
position: relative;
|
113 |
+
display: inline-flex;
|
114 |
+
margin-top: 7px;
|
115 |
+
height: 26px;
|
116 |
+
width: 120px;
|
117 |
+
background: rgba(45, 43, 42, 0.1);
|
118 |
+
border-radius: 3px;
|
119 |
+
-webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.13), 0 1px rgba(255, 255, 255, 0.1);
|
120 |
+
box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.13), 0 1px rgba(255, 255, 255, 0.1);
|
121 |
+
}
|
122 |
+
|
123 |
+
.switch-label {
|
124 |
+
position: relative;
|
125 |
+
z-index: 2;
|
126 |
+
float: left;
|
127 |
+
width: 58px;
|
128 |
+
line-height: 26px;
|
129 |
+
font-size: 11px;
|
130 |
+
color: rgba(148, 148, 148, 1);
|
131 |
+
text-align: center;
|
132 |
+
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.45);
|
133 |
+
cursor: pointer;
|
134 |
+
}
|
135 |
+
|
136 |
+
.switch-label:active {
|
137 |
+
font-weight: bold;
|
138 |
+
}
|
139 |
+
|
140 |
+
.switch-label-off {
|
141 |
+
padding-left: 2px;
|
142 |
+
}
|
143 |
+
|
144 |
+
.switch-label-on {
|
145 |
+
padding-right: 2px;
|
146 |
+
}
|
147 |
+
|
148 |
+
.switch-input {
|
149 |
+
display: none !important;
|
150 |
+
}
|
151 |
+
|
152 |
+
.switch-input:checked + .switch-label {
|
153 |
+
font-weight: bold;
|
154 |
+
color: rgba(0, 0, 0, 0.65);
|
155 |
+
text-shadow: 0 1px rgba(255, 255, 255, 0.25);
|
156 |
+
-webkit-transition: 0.15s ease-out;
|
157 |
+
-moz-transition: 0.15s ease-out;
|
158 |
+
-o-transition: 0.15s ease-out;
|
159 |
+
transition: 0.15s ease-out;
|
160 |
+
}
|
161 |
+
|
162 |
+
$switch-initial-bg: #46d443;
|
163 |
+
$switch-final-bg: #9dd993;
|
164 |
+
$switch-initial-bg-dis: #82928f;
|
165 |
+
$switch-final-bg-dis: #f3e4f6;
|
166 |
+
|
167 |
+
.switch-input:checked + .switch-label-on ~ .switch-selection{
|
168 |
+
/* Note: left: 50% doesn't transition in WebKit */
|
169 |
+
left: 60px;
|
170 |
+
background-image: -webkit-linear-gradient(top, $switch-final-bg-dis, $switch-initial-bg-dis);
|
171 |
+
background-image: -moz-linear-gradient(top, $switch-final-bg-dis, $switch-initial-bg-dis);
|
172 |
+
background-image: -o-linear-gradient(top, $switch-final-bg-dis, $switch-initial-bg-dis);
|
173 |
+
background-image: linear-gradient(to bottom, $switch-final-bg-dis, $switch-initial-bg-dis);
|
174 |
+
}
|
175 |
+
|
176 |
+
.switch-selection {
|
177 |
+
display: block;
|
178 |
+
position: absolute;
|
179 |
+
z-index: 1;
|
180 |
+
top: 2px;
|
181 |
+
left: 2px;
|
182 |
+
width: 58px;
|
183 |
+
height: 22px;
|
184 |
+
background: #65bd63;
|
185 |
+
border-radius: 3px;
|
186 |
+
background-image: -webkit-linear-gradient(top, $switch-final-bg, $switch-initial-bg);
|
187 |
+
background-image: -moz-linear-gradient(top, $switch-final-bg, $switch-initial-bg);
|
188 |
+
background-image: -o-linear-gradient(top, $switch-final-bg, $switch-initial-bg);
|
189 |
+
background-image: linear-gradient(to bottom, $switch-final-bg, $switch-initial-bg);
|
190 |
+
-webkit-box-shadow: inset 0 1px rgba(255, 255, 255, 0.5), 0 0 2px rgba(0, 0, 0, 0.2);
|
191 |
+
box-shadow: inset 0 1px rgba(255, 255, 255, 0.5), 0 0 2px rgba(0, 0, 0, 0.2);
|
192 |
+
-webkit-transition: left 0.15s ease-out;
|
193 |
+
-moz-transition: left 0.15s ease-out;
|
194 |
+
-o-transition: left 0.15s ease-out;
|
195 |
+
transition: left 0.15s ease-out;
|
196 |
+
}
|
197 |
+
|
198 |
+
.switch-blue .switch-selection {
|
199 |
+
background: #3aa2d0;
|
200 |
+
background-image: -webkit-linear-gradient(top, #4fc9ee, #3aa2d0);
|
201 |
+
background-image: -moz-linear-gradient(top, #4fc9ee, #3aa2d0);
|
202 |
+
background-image: -o-linear-gradient(top, #4fc9ee, #3aa2d0);
|
203 |
+
background-image: linear-gradient(to bottom, #4fc9ee, #3aa2d0);
|
204 |
+
}
|
205 |
+
|
206 |
+
.switch-yellow .switch-selection {
|
207 |
+
background: #c4bb61;
|
208 |
+
background-image: -webkit-linear-gradient(top, #e0dd94, #c4bb61);
|
209 |
+
background-image: -moz-linear-gradient(top, #e0dd94, #c4bb61);
|
210 |
+
background-image: -o-linear-gradient(top, #e0dd94, #c4bb61);
|
211 |
+
background-image: linear-gradient(to bottom, #e0dd94, #c4bb61);
|
212 |
+
}
|
213 |
+
|
214 |
+
.helpDescription {
|
215 |
+
margin-left: 10px;
|
216 |
+
display: inline-flex;
|
217 |
+
color: #008ec2;
|
218 |
+
font-size: 0.9rem;
|
219 |
+
cursor: pointer;
|
220 |
+
}
|
221 |
+
|
222 |
+
.webui-popover-helpDescriptionContent {
|
223 |
+
font-size: 0.85rem;
|
224 |
+
}
|
225 |
+
|
226 |
+
|
227 |
+
.arrow {
|
228 |
+
left: -8px !important;
|
229 |
+
}
|
230 |
+
|
231 |
+
.arrow:after{
|
232 |
+
left: 4px !important;
|
233 |
+
top: 0px !important;
|
234 |
+
width: 17px !important;
|
235 |
+
height: 2px !important;
|
236 |
+
}
|
237 |
+
//.popover .arrow {
|
238 |
+
// position: absolute;
|
239 |
+
// display: block;
|
240 |
+
// width: 1rem !important;
|
241 |
+
// height: .5rem !important;
|
242 |
+
// margin: 0 .3rem !important;
|
243 |
+
//}
|
244 |
+
|
245 |
+
select.form-control:not([size]):not([multiple]) {
|
246 |
+
height: calc(2.25rem + 2px) !important;
|
247 |
+
}
|
248 |
+
|
249 |
+
.input-group-sm > .input-group-append > select.btn:not([size]):not([multiple]), .input-group-sm > .input-group-append > select.input-group-text:not([size]):not([multiple]), .input-group-sm > .input-group-prepend > select.btn:not([size]):not([multiple]), .input-group-sm > .input-group-prepend > select.input-group-text:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]), select.form-control-sm:not([size]):not([multiple]) {
|
250 |
+
height: calc(1.8125rem + 2px) !important;
|
251 |
+
}
|
includes/sass/_init.scss
CHANGED
@@ -0,0 +1,3 @@
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
|
2 |
+
color: inherit;
|
3 |
+
}
|
includes/sass/_tables.scss
CHANGED
@@ -1,72 +1,76 @@
|
|
1 |
-
/* ----------------------------------------------------------
|
2 |
-
Styles use on Table styles. Helpful to customize Bootstrap Tables behavior.
|
3 |
-
@author Israel Barragan (Reedyseth)
|
4 |
-
@since 01-Apr-2018
|
5 |
-
---------------------------------------------------------- */
|
6 |
-
|
7 |
-
|
8 |
-
}
|
9 |
-
|
10 |
-
table.subscribers-table
|
11 |
-
|
12 |
-
}
|
13 |
-
|
14 |
-
table.subscribers-table thead
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
text-align: center;
|
27 |
-
}
|
28 |
-
|
29 |
-
table.subscribers-table
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
table.subscribers-table thead th
|
34 |
-
|
35 |
-
font-size:
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
/* ----------------------------------------------------------
|
2 |
+
Styles use on Table styles. Helpful to customize Bootstrap Tables behavior.
|
3 |
+
@author Israel Barragan (Reedyseth)
|
4 |
+
@since 01-Apr-2018
|
5 |
+
---------------------------------------------------------- */
|
6 |
+
.table {
|
7 |
+
color: #464646 !important;
|
8 |
+
}
|
9 |
+
|
10 |
+
table.subscribers-table {
|
11 |
+
width: 100% !important;
|
12 |
+
}
|
13 |
+
|
14 |
+
table.subscribers-table thead{
|
15 |
+
background-color: #b3e0f1;
|
16 |
+
}
|
17 |
+
|
18 |
+
table.subscribers-table thead th{
|
19 |
+
line-height: normal;
|
20 |
+
vertical-align: middle;
|
21 |
+
padding: 0.55rem;
|
22 |
+
}
|
23 |
+
|
24 |
+
table.subscribers-table thead th:first-child {
|
25 |
+
width: 15%;
|
26 |
+
text-align: center;
|
27 |
+
}
|
28 |
+
|
29 |
+
table.subscribers-table tbody tr td:first-child {
|
30 |
+
text-align: center;
|
31 |
+
}
|
32 |
+
|
33 |
+
table.subscribers-table thead th i{
|
34 |
+
margin-right: 5px;
|
35 |
+
font-size: 1.0rem;
|
36 |
+
}
|
37 |
+
table.subscribers-table thead th span{
|
38 |
+
vertical-align: text-bottom;
|
39 |
+
font-size: 0.9rem;
|
40 |
+
text-transform: uppercase;
|
41 |
+
}
|
42 |
+
|
43 |
+
@media screen and ( max-width: 651px ) {
|
44 |
+
table.dataTable.dtr-inline.collapsed>tbody>tr[role="row"]>td:first-child,
|
45 |
+
table.dataTable.dtr-inline.collapsed>tbody>tr[role="row"]>th:first-child {
|
46 |
+
padding-left: 40px !important;
|
47 |
+
}
|
48 |
+
}
|
49 |
+
|
50 |
+
@media screen and ( max-width: 350px ) {
|
51 |
+
table.dataTable.dtr-inline.collapsed>tbody>tr[role="row"]>td:first-child,
|
52 |
+
table.dataTable.dtr-inline.collapsed>tbody>tr[role="row"]>th:first-child {
|
53 |
+
padding-left: 57px !important;
|
54 |
+
}
|
55 |
+
}
|
56 |
+
|
57 |
+
/* Override rules from DataTables causing styling issues.*/
|
58 |
+
.dataTables_wrapper .dataTables_paginate .paginate_button
|
59 |
+
{
|
60 |
+
padding: 0 !important;
|
61 |
+
margin-left: 0 !important;
|
62 |
+
border: none !important;
|
63 |
+
border-radius: 0px !important;
|
64 |
+
}
|
65 |
+
|
66 |
+
.dataTables_wrapper .dataTables_paginate .paginate_button:hover,
|
67 |
+
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
|
68 |
+
background: none !important;
|
69 |
+
-webkit-box-shadow: none !important;
|
70 |
+
-moz-box-shadow: none !important;
|
71 |
+
box-shadow: none !important;
|
72 |
+
}
|
73 |
+
|
74 |
+
.system-info-table a {
|
75 |
+
color: #0073aa;
|
76 |
+
}
|
options/options_template.php
CHANGED
@@ -47,21 +47,19 @@ if ( isset( $_POST['options'] ) ) {
|
|
47 |
Â
if ( empty( $_POST['stcr_action_nonce'] ) ) {
|
48 |
Â
return;
|
49 |
Â
}
|
50 |
-
|
51 |
Â
if ( ! wp_verify_nonce( $_POST['stcr_action_nonce'], 'stcr_action_nonce' ) ) {
|
52 |
Â
return;
|
53 |
Â
}
|
54 |
-
|
55 |
Â
if ( ! current_user_can( 'manage_options' ) ) {
|
56 |
Â
return;
|
57 |
Â
}
|
58 |
Â
|
59 |
-
$faulty_fields
|
60 |
-
|
61 |
-
foreach ( $
|
62 |
Â
{
|
63 |
-
// echo $option . '<br>';
|
64 |
-
|
65 |
Â
if ( ! $wp_subscribe_reloaded->stcr->utils->stcr_update_menu_options( $option, $value, $options[$option] ) )
|
66 |
Â
{
|
67 |
Â
array_push( $faulty_fields, $option );
|
@@ -71,12 +69,12 @@ if ( isset( $_POST['options'] ) ) {
|
|
71 |
Â
// Display an alert in the admin interface if something went wrong
|
72 |
Â
echo '<div class="updated"><p>';
|
73 |
Â
if ( sizeof( $faulty_fields ) == 0 ) {
|
74 |
-
|
75 |
Â
} else {
|
76 |
-
|
77 |
Â
// echo ' <strong>' . substr( $faulty_fields, 0, - 2 ) . '</strong>';
|
78 |
Â
}
|
79 |
-
echo
|
80 |
Â
}
|
81 |
Â
wp_print_scripts( 'quicktags' );
|
82 |
Â
|
@@ -94,7 +92,7 @@ wp_print_scripts( 'quicktags' );
|
|
94 |
Â
<div class="form-group row">
|
95 |
Â
<div class="col-sm-9 offset-sm-1">
|
96 |
Â
<button type="submit" class="btn btn-primary subscribe-form-button" name="Submit">
|
97 |
-
<?php
|
98 |
Â
</button>
|
99 |
Â
</div>
|
100 |
Â
</div>
|
47 |
Â
if ( empty( $_POST['stcr_action_nonce'] ) ) {
|
48 |
Â
return;
|
49 |
Â
}
|
50 |
+
|
51 |
Â
if ( ! wp_verify_nonce( $_POST['stcr_action_nonce'], 'stcr_action_nonce' ) ) {
|
52 |
Â
return;
|
53 |
Â
}
|
54 |
+
|
55 |
Â
if ( ! current_user_can( 'manage_options' ) ) {
|
56 |
Â
return;
|
57 |
Â
}
|
58 |
Â
|
59 |
+
$faulty_fields = array();
|
60 |
+
$subscribe_options = wp_unslash( $_POST['options'] ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput
|
61 |
+
foreach ( $subscribe_options as $option => $value )
|
62 |
Â
{
|
Â
|
|
Â
|
|
63 |
Â
if ( ! $wp_subscribe_reloaded->stcr->utils->stcr_update_menu_options( $option, $value, $options[$option] ) )
|
64 |
Â
{
|
65 |
Â
array_push( $faulty_fields, $option );
|
69 |
Â
// Display an alert in the admin interface if something went wrong
|
70 |
Â
echo '<div class="updated"><p>';
|
71 |
Â
if ( sizeof( $faulty_fields ) == 0 ) {
|
72 |
+
esc_html_e( 'Your settings have been successfully updated.', 'subscribe-to-comments-reloaded' );
|
73 |
Â
} else {
|
74 |
+
esc_html_e( 'There was an error updating the options.', 'subscribe-to-comments-reloaded' );
|
75 |
Â
// echo ' <strong>' . substr( $faulty_fields, 0, - 2 ) . '</strong>';
|
76 |
Â
}
|
77 |
+
echo '</p></div>';
|
78 |
Â
}
|
79 |
Â
wp_print_scripts( 'quicktags' );
|
80 |
Â
|
92 |
Â
<div class="form-group row">
|
93 |
Â
<div class="col-sm-9 offset-sm-1">
|
94 |
Â
<button type="submit" class="btn btn-primary subscribe-form-button" name="Submit">
|
95 |
+
<?php esc_html_e( 'Save Changes', 'subscribe-to-comments-reloaded' ) ?>
|
96 |
Â
</button>
|
97 |
Â
</div>
|
98 |
Â
</div>
|
options/panel1-add-subscription.php
CHANGED
@@ -1,35 +1,40 @@
|
|
1 |
-
<?php
|
2 |
-
if ( ! function_exists( 'is_admin' ) || ! is_admin() ) {
|
3 |
-
header( 'Location: /' );
|
4 |
-
exit;
|
5 |
-
}
|
6 |
-
?>
|
7 |
-
<div class="postbox">
|
8 |
-
<h3><?php
|
9 |
-
|
10 |
-
<form action="" method="post" id="update_address_form"
|
11 |
-
onsubmit="if (this.srp.value == '' || this.sre.value == '') return false;">
|
12 |
-
<fieldset style="border:0">
|
13 |
-
<p
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
</p>
|
19 |
-
|
20 |
-
<p class="liquid"><label for='
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
<
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
</
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
if ( ! function_exists( 'is_admin' ) || ! is_admin() ) {
|
3 |
+
header( 'Location: /' );
|
4 |
+
exit;
|
5 |
+
}
|
6 |
+
?>
|
7 |
+
<div class="postbox">
|
8 |
+
<h3><?php esc_html_e( 'Add New Subscription', 'subscribe-to-comments-reloaded' ) ?></h3>
|
9 |
+
|
10 |
+
<form action="" method="post" id="update_address_form"
|
11 |
+
onsubmit="if (this.srp.value == '' || this.sre.value == '') return false;">
|
12 |
+
<fieldset style="border:0">
|
13 |
+
<p>
|
14 |
+
<?php
|
15 |
+
esc_html_e( 'Post:', 'subscribe-to-comments-reloaded' );
|
16 |
+
echo ' <strong>' . esc_html( get_the_title( intval( $_GET['srp'] ) ) ) . ' (' . intval( $_GET['srp'] ) . ')</strong>';
|
17 |
+
?>
|
18 |
+
</p>
|
19 |
+
|
20 |
+
<p class="liquid"><label for='sre'><?php esc_html_e( 'Email', 'subscribe-to-comments-reloaded' ) ?></label>
|
21 |
+
<?php $sre = isset( $_GET['sre'] ) ? sanitize_text_field( wp_unslash( $_GET['sre'] ) ) : ''; ?>
|
22 |
+
<input readonly='readonly' type='text' size='30' name='sre' id='sre' value='<?php echo esc_attr( $sre ); ?>' />
|
23 |
+
</p>
|
24 |
+
|
25 |
+
<p class="liquid"><label for='srs'><?php esc_html_e( 'Status', 'subscribe-to-comments-reloaded' ) ?></label>
|
26 |
+
<select name="srs" id="srs">
|
27 |
+
<option value='Y'><?php esc_html_e( 'Active', 'subscribe-to-comments-reloaded' ) ?></option>
|
28 |
+
<option value='R'><?php esc_html_e( 'Replies only', 'subscribe-to-comments-reloaded' ) ?></option>
|
29 |
+
<option value='YC'><?php esc_html_e( 'Ask user to confirm', 'subscribe-to-comments-reloaded' ) ?></option>
|
30 |
+
</select>
|
31 |
+
<input type='submit' class='subscribe-form-button' value='<?php esc_attr_e( 'Update', 'subscribe-to-comments-reloaded' ) ?>' />
|
32 |
+
</p>
|
33 |
+
<input type='hidden' name='sra' value='add' />
|
34 |
+
<input type='hidden' name='srp' value='<?php echo intval( $_GET['srp'] ) ?>' />
|
35 |
+
</fieldset>
|
36 |
+
|
37 |
+
<?php wp_nonce_field( 'stcr_add_subscription_nonce', 'stcr_add_subscription_nonce' ); ?>
|
38 |
+
|
39 |
+
</form>
|
40 |
+
</div>
|
options/panel1-business-logic.php
CHANGED
@@ -1,208 +1,201 @@
|
|
1 |
-
<?php
|
2 |
-
// Avoid direct access to this piece of code
|
3 |
-
if ( ! function_exists( 'is_admin' ) || ! is_admin() ) {
|
4 |
-
header( 'Location: /' );
|
5 |
-
exit;
|
6 |
-
}
|
7 |
-
|
8 |
-
$stcr_post_email = ! empty( $_POST['sre'] ) ? $_POST['sre'] : ( ! empty( $_GET['sre'] ) ? $_GET['sre'] : '' );
|
9 |
-
$stcr_old_post_email = ! empty( $_POST['oldsre'] ) ? $_POST['oldsre'] : ( ! empty( $_GET['oldsre'] ) ? $_GET['oldsre'] : '' );
|
10 |
-
$status = ! empty( $_POST['srs'] ) ? $_POST['srs'] : ( ! empty( $_GET['srs'] ) ? $_GET['srs'] : '' );
|
11 |
-
$post_id = ! empty( $_POST['srp'] ) ? $_POST['srp'] : ( ! empty( $_GET['srp'] ) ? $_GET['srp'] : 0 );
|
12 |
-
$valid_email = true;
|
13 |
-
$valid_post_id = true;
|
14 |
-
// Clean data
|
15 |
-
$post_id = sanitize_text_field( trim( $post_id ) );
|
16 |
-
$status = sanitize_text_field( trim( $status ) );
|
17 |
-
|
18 |
-
switch ( $action ) {
|
19 |
-
case 'add':
|
20 |
-
|
21 |
-
if ( empty( $_POST['stcr_add_subscription_nonce'] ) ) {
|
22 |
-
exit();
|
23 |
-
}
|
24 |
-
|
25 |
-
if ( ! wp_verify_nonce( $_POST['stcr_add_subscription_nonce'], 'stcr_add_subscription_nonce' ) ) {
|
26 |
-
exit();
|
27 |
-
}
|
28 |
-
|
29 |
-
if ( ! current_user_can( 'manage_options' ) ) {
|
30 |
-
exit();
|
31 |
-
}
|
32 |
-
|
33 |
-
$stcr_post_email = $wp_subscribe_reloaded->stcr->utils->check_valid_email( $stcr_post_email );
|
34 |
-
$valid_post_id = $wp_subscribe_reloaded->stcr->utils->check_valid_number( $post_id );
|
35 |
-
|
36 |
-
if ( $stcr_post_email === false )
|
37 |
-
{
|
38 |
-
$valid_email = false;
|
39 |
-
break;
|
40 |
-
}
|
41 |
-
|
42 |
-
if ( $valid_post_id === false )
|
43 |
-
{
|
44 |
-
break;
|
45 |
-
}
|
46 |
-
|
47 |
-
$wp_subscribe_reloaded->stcr->add_subscription( $post_id, $stcr_post_email, $status );
|
48 |
-
|
49 |
-
if ( strpos( $status, 'C' ) !== false ) {
|
50 |
-
$wp_subscribe_reloaded->stcr->confirmation_email( $post_id, $email );
|
51 |
-
}
|
52 |
-
|
53 |
-
echo '<div class="updated"><p>' .
|
54 |
-
break;
|
55 |
-
|
56 |
-
case 'edit':
|
57 |
-
|
58 |
-
if ( empty( $_POST['stcr_edit_subscription_nonce'] ) ) {
|
59 |
-
exit();
|
60 |
-
}
|
61 |
-
|
62 |
-
if ( ! wp_verify_nonce( $_POST['stcr_edit_subscription_nonce'], 'stcr_edit_subscription_nonce' ) ) {
|
63 |
-
exit();
|
64 |
-
}
|
65 |
-
|
66 |
-
if ( ! current_user_can( 'manage_options' ) ) {
|
67 |
-
exit();
|
68 |
-
}
|
69 |
-
|
70 |
-
$stcr_post_email = $wp_subscribe_reloaded->stcr->utils->check_valid_email( $stcr_post_email );
|
71 |
-
$stcr_old_post_email = $wp_subscribe_reloaded->stcr->utils->check_valid_email( $stcr_old_post_email );
|
72 |
-
$valid_post_id = $wp_subscribe_reloaded->stcr->utils->check_valid_number( $post_id );
|
73 |
-
|
74 |
-
if ( $stcr_post_email === false || $stcr_old_post_email === false )
|
75 |
-
{
|
76 |
-
$valid_email = false;
|
77 |
-
break;
|
78 |
-
}
|
79 |
-
|
80 |
-
if ( $valid_post_id === false )
|
81 |
-
{
|
82 |
-
break;
|
83 |
-
}
|
84 |
-
|
85 |
-
$old_email = $stcr_old_post_email;
|
86 |
-
$new_email = $stcr_post_email;
|
87 |
-
|
88 |
-
$wp_subscribe_reloaded->stcr->update_subscription_status( $post_id, $old_email, $status );
|
89 |
-
$wp_subscribe_reloaded->stcr->update_subscription_email( $post_id, $old_email, $new_email );
|
90 |
-
|
91 |
-
echo '<div class="updated"><p>' .
|
92 |
-
break;
|
93 |
-
|
94 |
-
case 'delete-subscription':
|
95 |
-
|
96 |
-
if ( empty( $_GET['stcr_delete_subscription_nonce'] ) ) {
|
97 |
-
exit();
|
98 |
-
}
|
99 |
-
|
100 |
-
if ( ! wp_verify_nonce( $_GET['stcr_delete_subscription_nonce'], 'stcr_delete_subscription_nonce' ) ) {
|
101 |
-
exit();
|
102 |
-
}
|
103 |
-
|
104 |
-
if ( ! current_user_can( 'manage_options' ) ) {
|
105 |
-
exit();
|
106 |
-
}
|
107 |
-
|
108 |
-
$stcr_post_email = $wp_subscribe_reloaded->stcr->utils->check_valid_email( $stcr_post_email );
|
109 |
-
$valid_post_id = $wp_subscribe_reloaded->stcr->utils->check_valid_number( $post_id );
|
110 |
-
|
111 |
-
if ( $stcr_post_email === false )
|
112 |
-
{
|
113 |
-
$valid_email = false;
|
114 |
-
break;
|
115 |
-
}
|
116 |
-
|
117 |
-
$wp_subscribe_reloaded->stcr->delete_subscriptions( $post_id, $stcr_post_email );
|
118 |
-
|
119 |
-
echo '<div class="updated"><p>' .
|
120 |
-
break;
|
121 |
-
|
122 |
-
default:
|
123 |
-
if ( ! empty( $_POST['subscriptions_list'] ) ) {
|
124 |
-
|
125 |
-
if ( empty( $_POST['stcr_update_subscriptions_nonce'] ) ) {
|
126 |
-
exit();
|
127 |
-
}
|
128 |
-
|
129 |
-
if ( ! wp_verify_nonce( $_POST['stcr_update_subscriptions_nonce'], 'stcr_update_subscriptions_nonce' ) ) {
|
130 |
-
exit();
|
131 |
-
}
|
132 |
-
|
133 |
-
if ( ! current_user_can( 'manage_options' ) ) {
|
134 |
-
exit();
|
135 |
-
}
|
136 |
-
|
137 |
-
$post_list = $email_list = array();
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
}
|
174 |
-
|
175 |
-
|
176 |
-
$
|
177 |
-
|
178 |
-
|
179 |
-
$
|
180 |
-
$
|
181 |
-
$
|
182 |
-
$
|
183 |
-
$
|
184 |
-
$
|
185 |
-
|
186 |
-
|
187 |
-
$
|
188 |
-
$
|
189 |
-
|
190 |
-
$
|
191 |
-
$
|
192 |
-
$
|
193 |
-
|
194 |
-
|
195 |
-
$
|
196 |
-
|
197 |
-
|
198 |
-
$ending_to
|
199 |
-
$
|
200 |
-
|
201 |
-
|
202 |
-
$new_starting = ( $offset > $limit_results ) ? $offset - $limit_results : 0;
|
203 |
-
$previous_link = "<a href='admin.php?page=stcr_manage_subscriptions&srf=$search_field&srt=" . urlencode( $operator ) . "&srv=$search_value&srob=$order_by&sro=$order&srsf=$new_starting&srrp=$limit_results'>" . __( '« Previous', 'subscribe-to-comments-reloaded' ) . "</a> ";
|
204 |
-
}
|
205 |
-
if ( ( $ending_to < $count_total ) && ( $count_results > 0 ) ) {
|
206 |
-
$new_starting = $offset + $limit_results;
|
207 |
-
$next_link = "<a href='admin.php?page=stcr_manage_subscriptions&srf=$search_field&srt=" . urlencode( $operator ) . "&srv=$search_value&srob=$order_by&sro=$order&srsf=$new_starting&srrp=$limit_results'>" . __( 'Next »', 'subscribe-to-comments-reloaded' ) . "</a> ";
|
208 |
-
}
|
1 |
+
<?php
|
2 |
+
// Avoid direct access to this piece of code
|
3 |
+
if ( ! function_exists( 'is_admin' ) || ! is_admin() ) {
|
4 |
+
header( 'Location: /' );
|
5 |
+
exit;
|
6 |
+
}
|
7 |
+
|
8 |
+
$stcr_post_email = ! empty( $_POST['sre'] ) ? sanitize_text_field( wp_unslash( $_POST['sre'] ) ) : ( ! empty( $_GET['sre'] ) ? sanitize_text_field( wp_unslash( $_GET['sre'] ) ) : '' );
|
9 |
+
$stcr_old_post_email = ! empty( $_POST['oldsre'] ) ? sanitize_text_field( wp_unslash( $_POST['oldsre'] ) ) : ( ! empty( $_GET['oldsre'] ) ? sanitize_text_field( wp_unslash( $_GET['oldsre'] ) ) : '' );
|
10 |
+
$status = ! empty( $_POST['srs'] ) ? sanitize_text_field( wp_unslash( $_POST['srs'] ) ) : ( ! empty( $_GET['srs'] ) ? sanitize_text_field( wp_unslash( $_GET['srs'] ) ) : '' );
|
11 |
+
$post_id = ! empty( $_POST['srp'] ) ? sanitize_text_field( wp_unslash( $_POST['srp'] ) ) : ( ! empty( $_GET['srp'] ) ? sanitize_text_field( wp_unslash( $_GET['srp'] ) ) : 0 );
|
12 |
+
$valid_email = true;
|
13 |
+
$valid_post_id = true;
|
14 |
+
// Clean data
|
15 |
+
$post_id = sanitize_text_field( trim( $post_id ) );
|
16 |
+
$status = sanitize_text_field( trim( $status ) );
|
17 |
+
|
18 |
+
switch ( $action ) {
|
19 |
+
case 'add':
|
20 |
+
|
21 |
+
if ( empty( $_POST['stcr_add_subscription_nonce'] ) ) {
|
22 |
+
exit();
|
23 |
+
}
|
24 |
+
|
25 |
+
if ( ! wp_verify_nonce( $_POST['stcr_add_subscription_nonce'], 'stcr_add_subscription_nonce' ) ) {
|
26 |
+
exit();
|
27 |
+
}
|
28 |
+
|
29 |
+
if ( ! current_user_can( 'manage_options' ) ) {
|
30 |
+
exit();
|
31 |
+
}
|
32 |
+
|
33 |
+
$stcr_post_email = $wp_subscribe_reloaded->stcr->utils->check_valid_email( $stcr_post_email );
|
34 |
+
$valid_post_id = $wp_subscribe_reloaded->stcr->utils->check_valid_number( $post_id );
|
35 |
+
|
36 |
+
if ( $stcr_post_email === false )
|
37 |
+
{
|
38 |
+
$valid_email = false;
|
39 |
+
break;
|
40 |
+
}
|
41 |
+
|
42 |
+
if ( $valid_post_id === false )
|
43 |
+
{
|
44 |
+
break;
|
45 |
+
}
|
46 |
+
|
47 |
+
$wp_subscribe_reloaded->stcr->add_subscription( $post_id, $stcr_post_email, $status );
|
48 |
+
|
49 |
+
if ( strpos( $status, 'C' ) !== false ) {
|
50 |
+
$wp_subscribe_reloaded->stcr->confirmation_email( $post_id, $email );
|
51 |
+
}
|
52 |
+
|
53 |
+
echo '<div class="updated"><p>' . esc_html__( 'Subscription added.', 'subscribe-to-comments-reloaded' ) . '</p></div>';
|
54 |
+
break;
|
55 |
+
|
56 |
+
case 'edit':
|
57 |
+
|
58 |
+
if ( empty( $_POST['stcr_edit_subscription_nonce'] ) ) {
|
59 |
+
exit();
|
60 |
+
}
|
61 |
+
|
62 |
+
if ( ! wp_verify_nonce( $_POST['stcr_edit_subscription_nonce'], 'stcr_edit_subscription_nonce' ) ) {
|
63 |
+
exit();
|
64 |
+
}
|
65 |
+
|
66 |
+
if ( ! current_user_can( 'manage_options' ) ) {
|
67 |
+
exit();
|
68 |
+
}
|
69 |
+
|
70 |
+
$stcr_post_email = $wp_subscribe_reloaded->stcr->utils->check_valid_email( $stcr_post_email );
|
71 |
+
$stcr_old_post_email = $wp_subscribe_reloaded->stcr->utils->check_valid_email( $stcr_old_post_email );
|
72 |
+
$valid_post_id = $wp_subscribe_reloaded->stcr->utils->check_valid_number( $post_id );
|
73 |
+
|
74 |
+
if ( $stcr_post_email === false || $stcr_old_post_email === false )
|
75 |
+
{
|
76 |
+
$valid_email = false;
|
77 |
+
break;
|
78 |
+
}
|
79 |
+
|
80 |
+
if ( $valid_post_id === false )
|
81 |
+
{
|
82 |
+
break;
|
83 |
+
}
|
84 |
+
|
85 |
+
$old_email = $stcr_old_post_email;
|
86 |
+
$new_email = $stcr_post_email;
|
87 |
+
|
88 |
+
$wp_subscribe_reloaded->stcr->update_subscription_status( $post_id, $old_email, $status );
|
89 |
+
$wp_subscribe_reloaded->stcr->update_subscription_email( $post_id, $old_email, $new_email );
|
90 |
+
|
91 |
+
echo '<div class="updated"><p>' . esc_html__( 'Subscriptions updated.', 'subscribe-to-comments-reloaded' ) . '</p></div>';
|
92 |
+
break;
|
93 |
+
|
94 |
+
case 'delete-subscription':
|
95 |
+
|
96 |
+
if ( empty( $_GET['stcr_delete_subscription_nonce'] ) ) {
|
97 |
+
exit();
|
98 |
+
}
|
99 |
+
|
100 |
+
if ( ! wp_verify_nonce( $_GET['stcr_delete_subscription_nonce'], 'stcr_delete_subscription_nonce' ) ) {
|
101 |
+
exit();
|
102 |
+
}
|
103 |
+
|
104 |
+
if ( ! current_user_can( 'manage_options' ) ) {
|
105 |
+
exit();
|
106 |
+
}
|
107 |
+
|
108 |
+
$stcr_post_email = $wp_subscribe_reloaded->stcr->utils->check_valid_email( $stcr_post_email );
|
109 |
+
$valid_post_id = $wp_subscribe_reloaded->stcr->utils->check_valid_number( $post_id );
|
110 |
+
|
111 |
+
if ( $stcr_post_email === false )
|
112 |
+
{
|
113 |
+
$valid_email = false;
|
114 |
+
break;
|
115 |
+
}
|
116 |
+
|
117 |
+
$wp_subscribe_reloaded->stcr->delete_subscriptions( $post_id, $stcr_post_email );
|
118 |
+
|
119 |
+
echo '<div class="updated"><p>' . esc_html__( 'Subscription deleted.', 'subscribe-to-comments-reloaded' ) . '</p></div>';
|
120 |
+
break;
|
121 |
+
|
122 |
+
default:
|
123 |
+
if ( ! empty( $_POST['subscriptions_list'] ) ) {
|
124 |
+
|
125 |
+
if ( empty( $_POST['stcr_update_subscriptions_nonce'] ) ) {
|
126 |
+
exit();
|
127 |
+
}
|
128 |
+
|
129 |
+
if ( ! wp_verify_nonce( $_POST['stcr_update_subscriptions_nonce'], 'stcr_update_subscriptions_nonce' ) ) {
|
130 |
+
exit();
|
131 |
+
}
|
132 |
+
|
133 |
+
if ( ! current_user_can( 'manage_options' ) ) {
|
134 |
+
exit();
|
135 |
+
}
|
136 |
+
|
137 |
+
$post_list = $email_list = array();
|
138 |
+
$subscription_lists = wp_unslash( $_POST['subscriptions_list'] ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput
|
139 |
+
foreach ( $subscription_lists as $a_subscription ) {
|
140 |
+
list( $a_post, $a_email ) = explode( ',', $a_subscription );
|
141 |
+
if ( ! in_array( $a_post, $post_list ) ) {
|
142 |
+
$post_list[] = $a_post;
|
143 |
+
}
|
144 |
+
if ( ! in_array( $a_email, $email_list ) ) {
|
145 |
+
$email_list[] = urldecode( $a_email );
|
146 |
+
}
|
147 |
+
}
|
148 |
+
|
149 |
+
switch ( $action ) {
|
150 |
+
case 'delete':
|
151 |
+
$rows_affected = $wp_subscribe_reloaded->stcr->delete_subscriptions( $post_list, $email_list );
|
152 |
+
echo '<div class="updated"><p>' . esc_html__( 'Subscriptions deleted:', 'subscribe-to-comments-reloaded' ) . esc_html( $rows_affected ) . '</p></div>';
|
153 |
+
break;
|
154 |
+
case 'suspend':
|
155 |
+
$rows_affected = $wp_subscribe_reloaded->stcr->update_subscription_status( $post_list, $email_list, 'C' );
|
156 |
+
echo '<div class="updated"><p>' . esc_html__( 'Subscriptions suspended:', 'subscribe-to-comments-reloaded' ) . esc_html( $rows_affected ) . '</p></div>';
|
157 |
+
break;
|
158 |
+
case 'activate':
|
159 |
+
$rows_affected = $wp_subscribe_reloaded->stcr->update_subscription_status( $post_list, $email_list, '-C' );
|
160 |
+
echo '<div class="updated"><p>' . esc_html__( 'Subscriptions activated:', 'subscribe-to-comments-reloaded' ) . esc_html( $rows_affected ) . '</p></div>';
|
161 |
+
break;
|
162 |
+
case 'force_y':
|
163 |
+
$rows_affected = $wp_subscribe_reloaded->stcr->update_subscription_status( $post_list, $email_list, 'Y' );
|
164 |
+
echo '<div class="updated"><p>' . esc_html__( 'Subscriptions updated:', 'subscribe-to-comments-reloaded' ) . esc_html( $rows_affected ) . '</p></div>';
|
165 |
+
break;
|
166 |
+
case 'force_r':
|
167 |
+
$rows_affected = $wp_subscribe_reloaded->stcr->update_subscription_status( $post_list, $email_list, 'R' );
|
168 |
+
echo '<div class="updated"><p>' . esc_html__( 'Subscriptions updated:', 'subscribe-to-comments-reloaded' ) . esc_html( $rows_affected ) . '</p></div>';
|
169 |
+
break;
|
170 |
+
default:
|
171 |
+
break;
|
172 |
+
}
|
173 |
+
}
|
174 |
+
}
|
175 |
+
|
176 |
+
$initial_limit_results = 1000;
|
177 |
+
$official_limit_results = '18446744073709551610';
|
178 |
+
|
179 |
+
$search_field = ! empty( $_POST['srf'] ) ? sanitize_text_field( wp_unslash( $_POST['srf'] ) ) : ( ! empty( $_GET['srf'] ) ? sanitize_text_field( wp_unslash( $_GET['srf'] ) ) : 'email' );
|
180 |
+
$operator = ! empty( $_POST['srt'] ) ? sanitize_text_field( wp_unslash( $_POST['srt'] ) ) : ( ! empty( $_GET['srt'] ) ? sanitize_text_field( wp_unslash( $_GET['srt'] ) ) : 'contains' );
|
181 |
+
$search_value = ! empty( $_POST['srv'] ) ? sanitize_text_field( wp_unslash( $_POST['srv'] ) ) : ( ! empty( $_GET['srv'] ) ? sanitize_text_field( wp_unslash( $_GET['srv'] ) ) : '@' );
|
182 |
+
$order_by = ! empty( $_POST['srob'] ) ? sanitize_text_field( wp_unslash( $_POST['srob'] ) ) : ( ! empty( $_GET['srob'] ) ? sanitize_text_field( wp_unslash( $_GET['srob'] ) ) : 'dt' );
|
183 |
+
$order = ! empty( $_POST['sro'] ) ? sanitize_text_field( wp_unslash( $_POST['sro'] ) ) : ( ! empty( $_GET['sro'] ) ? sanitize_text_field( wp_unslash( $_GET['sro'] ) ) : 'DESC' );
|
184 |
+
$offset = ! empty( $_POST['srsf'] ) ? intval( $_POST['srsf'] ) : ( ! empty( $_GET['srsf'] ) ? intval( $_GET['srsf'] ) : 0 );
|
185 |
+
$limit_results = ! empty( $_POST['srrp'] ) ? intval( $_POST['srrp'] ) : ( ! empty( $_GET['srrp'] ) ? intval( $_GET['srrp'] ) : $initial_limit_results );
|
186 |
+
|
187 |
+
$subscriptions = $wp_subscribe_reloaded->stcr->get_subscriptions( $search_field, $operator, $search_value, $order_by, $order, $offset, $limit_results );
|
188 |
+
$count_total = count( $wp_subscribe_reloaded->stcr->get_subscriptions( $search_field, $operator, $search_value ) );
|
189 |
+
|
190 |
+
$count_results = count( $subscriptions ); // 0 if $results is null
|
191 |
+
$ending_to = min( $count_total, $offset + $limit_results );
|
192 |
+
$previous_link = $next_link = $next_page_link = $previous_page_link = '';
|
193 |
+
|
194 |
+
if ( $offset > 0 ) {
|
195 |
+
$new_starting = ( $offset > $limit_results ) ? $offset - $limit_results : 0;
|
196 |
+
$previous_link = "<a href='admin.php?page=stcr_manage_subscriptions&srf=$search_field&srt=" . urlencode( $operator ) . "&srv=$search_value&srob=$order_by&sro=$order&srsf=$new_starting&srrp=$limit_results'>" . esc_html__( '« Previous', 'subscribe-to-comments-reloaded' ) . "</a> ";
|
197 |
+
}
|
198 |
+
if ( ( $ending_to < $count_total ) && ( $count_results > 0 ) ) {
|
199 |
+
$new_starting = $offset + $limit_results;
|
200 |
+
$next_link = "<a href='admin.php?page=stcr_manage_subscriptions&srf=$search_field&srt=" . urlencode( $operator ) . "&srv=$search_value&srob=$order_by&sro=$order&srsf=$new_starting&srrp=$limit_results'>" . esc_html__( 'Next »', 'subscribe-to-comments-reloaded' ) . "</a> ";
|
201 |
+
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
options/panel1-edit-subscription.php
CHANGED
@@ -1,40 +1,45 @@
|
|
1 |
-
<?php
|
2 |
-
if ( ! function_exists( 'is_admin' ) || ! is_admin() ) {
|
3 |
-
header( 'Location: /' );
|
4 |
-
exit;
|
5 |
-
}
|
6 |
-
?>
|
7 |
-
<div class="postbox">
|
8 |
-
<h3><?php
|
9 |
-
|
10 |
-
<form action="" method="post" id="update_address_form"
|
11 |
-
onsubmit="if (this.sre.value != '<?php
|
12 |
-
<fieldset style="border:0">
|
13 |
-
<p
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
</p>
|
19 |
-
|
20 |
-
<p class="liquid"><label for='
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
if ( ! function_exists( 'is_admin' ) || ! is_admin() ) {
|
3 |
+
header( 'Location: /' );
|
4 |
+
exit;
|
5 |
+
}
|
6 |
+
?>
|
7 |
+
<div class="postbox">
|
8 |
+
<h3><?php esc_html_e( 'Update Subscription', 'subscribe-to-comments-reloaded' ) ?></h3>
|
9 |
+
|
10 |
+
<form action="" method="post" id="update_address_form"
|
11 |
+
onsubmit="if (this.sre.value != '<?php esc_attr_e( 'optional', 'subscribe-to-comments-reloaded' ) ?>') return confirm('<?php esc_attr_e( 'Please remember: this operation cannot be undone. Are you sure you want to proceed?', 'subscribe-to-comments-reloaded' ) ?>')">
|
12 |
+
<fieldset style="border:0">
|
13 |
+
<p>
|
14 |
+
<?php
|
15 |
+
esc_html_e( 'Post:', 'subscribe-to-comments-reloaded' );
|
16 |
+
echo ' <strong>' . esc_html( get_the_title( intval( $_GET['srp'] ) ) ) . ' (' . intval( $_GET['srp'] ) . ')</strong>';
|
17 |
+
?>
|
18 |
+
</p>
|
19 |
+
|
20 |
+
<p class="liquid"><label for='oldsre'><?php esc_html_e( 'From', 'subscribe-to-comments-reloaded' ) ?></label>
|
21 |
+
<?php $sre = isset( $_GET['sre'] ) ? sanitize_text_field( wp_unslash( $_GET['sre'] ) ) : ''; ?>
|
22 |
+
<input readonly='readonly' type='text' size='30' name='oldsre' id='oldsre' value='<?php echo esc_attr( $sre ); ?>' />
|
23 |
+
</p>
|
24 |
+
|
25 |
+
<p class="liquid"><label for='sre'><?php esc_html_e( 'To', 'subscribe-to-comments-reloaded' ) ?></label>
|
26 |
+
<input type='text' size='30' name='sre' id='sre' value='<?php esc_attr_e( 'optional', 'subscribe-to-comments-reloaded' ) ?>' style="color:#ccc"
|
27 |
+
onfocus='if (this.value == "<?php esc_attr_e( 'optional', 'subscribe-to-comments-reloaded' ) ?>") this.value="";this.style.color="#000"'
|
28 |
+
onblur='if (this.value == ""){this.value="<?php esc_attr_e( 'optional', 'subscribe-to-comments-reloaded' ) ?>";this.style.color="#ccc"}' />
|
29 |
+
</p>
|
30 |
+
|
31 |
+
<p class="liquid"><label for='srs'><?php esc_html_e( 'Status', 'subscribe-to-comments-reloaded' ) ?></label>
|
32 |
+
<select name="srs" id="srs">
|
33 |
+
<option value=''><?php esc_html_e( 'Keep unchanged', 'subscribe-to-comments-reloaded' ) ?></option>
|
34 |
+
<option value='Y'><?php esc_html_e( 'Active', 'subscribe-to-comments-reloaded' ) ?></option>
|
35 |
+
<option value='R'><?php esc_html_e( 'Replies only', 'subscribe-to-comments-reloaded' ) ?></option>
|
36 |
+
<option value='C'><?php esc_html_e( 'Suspended', 'subscribe-to-comments-reloaded' ) ?></option>
|
37 |
+
</select>
|
38 |
+
<input type='submit' class='subscribe-form-button' value='<?php esc_attr_e( 'Update', 'subscribe-to-comments-reloaded' ) ?>' />
|
39 |
+
</p>
|
40 |
+
<input type='hidden' name='sra' value='edit' />
|
41 |
+
<input type='hidden' name='srp' value='<?php echo intval( $_GET['srp'] ) ?>' />
|
42 |
+
<?php wp_nonce_field( 'stcr_edit_subscription_nonce', 'stcr_edit_subscription_nonce' ); ?>
|
43 |
+
</fieldset>
|
44 |
+
</form>
|
45 |
+
</div>
|
options/stcr_comment_form.php
CHANGED
@@ -27,18 +27,18 @@ if ( isset( $_POST['options'] ) ) {
|
|
27 |
Â
if ( empty( $_POST['stcr_save_comment_form_nonce'] ) ) {
|
28 |
Â
return;
|
29 |
Â
}
|
30 |
-
|
31 |
Â
if ( ! wp_verify_nonce( $_POST['stcr_save_comment_form_nonce'], 'stcr_save_comment_form_nonce' ) ) {
|
32 |
Â
return;
|
33 |
Â
}
|
34 |
-
|
35 |
Â
if ( ! current_user_can( 'manage_options' ) ) {
|
36 |
Â
return;
|
37 |
Â
}
|
38 |
Â
|
39 |
-
$faulty_fields
|
40 |
-
|
41 |
-
foreach ( $
|
42 |
Â
{
|
43 |
Â
|
44 |
Â
if ( ! $wp_subscribe_reloaded->stcr->utils->stcr_update_menu_options( $option, $value, $options[$option] ) )
|
@@ -50,12 +50,12 @@ if ( isset( $_POST['options'] ) ) {
|
|
50 |
Â
// Display an alert in the admin interface if something went wrong
|
51 |
Â
echo '<div class="updated"><p>';
|
52 |
Â
if ( sizeof( $faulty_fields ) == 0 ) {
|
53 |
-
|
54 |
Â
} else {
|
55 |
-
|
56 |
Â
// echo ' <strong>' . substr( $faulty_fields, 0, - 2 ) . '</strong>';
|
57 |
Â
}
|
58 |
-
echo
|
59 |
Â
}
|
60 |
Â
?>
|
61 |
Â
<link href="<?php echo esc_url( plugins_url( '/vendor/webui-popover/dist/jquery.webui-popover.min.css', STCR_PLUGIN_FILE ) ); ?>" rel="stylesheet"/>
|
@@ -66,50 +66,50 @@ if ( isset( $_POST['options'] ) ) {
|
|
66 |
Â
<div class="col-sm-9">
|
67 |
Â
<form action="" method="post">
|
68 |
Â
<div class="form-group row">
|
69 |
-
<label for="show_subscription_box" class="col-sm-3 col-form-label text-right"><?php
|
70 |
Â
<div class="col-sm-7">
|
71 |
Â
<div class="switch">
|
72 |
Â
<input type="radio" class="switch-input" name="options[show_subscription_box]"
|
73 |
Â
value="yes" id="show_subscription_box-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'show_subscription_box' ) == 'yes' ) ? ' checked' : ''; ?> />
|
74 |
Â
<label for="show_subscription_box-yes" class="switch-label switch-label-off">
|
75 |
-
<?php
|
76 |
Â
</label>
|
77 |
Â
<input type="radio" class="switch-input" name="options[show_subscription_box]" value="no" id="show_subscription_box-no"
|
78 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'show_subscription_box' ) == 'no' ) ? ' checked' : ''; ?> />
|
79 |
Â
<label for="show_subscription_box-no" class="switch-label switch-label-on">
|
80 |
-
<?php
|
81 |
Â
</label>
|
82 |
Â
<span class="switch-selection"></span>
|
83 |
Â
</div>
|
84 |
Â
<div class="helpDescription subsOptDescriptions"
|
85 |
-
data-content="<?php
|
86 |
Â
data-placement="right"
|
87 |
-
aria-label="<?php
|
88 |
Â
<i class="fas fa-question-circle"></i>
|
89 |
Â
</div>
|
90 |
Â
</div>
|
91 |
Â
</div>
|
92 |
Â
|
93 |
Â
<div class="form-group row">
|
94 |
-
<label for="checked_by_default" class="col-sm-3 col-form-label text-right"><?php
|
95 |
Â
<div class="col-sm-7">
|
96 |
Â
<div class="switch">
|
97 |
Â
<input type="radio" class="switch-input" name="options[checked_by_default]"
|
98 |
Â
value="yes" id="checked_by_default-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'checked_by_default' ) == 'yes' ) ? ' checked' : ''; ?> />
|
99 |
Â
<label for="checked_by_default-yes" class="switch-label switch-label-off">
|
100 |
-
<?php
|
101 |
Â
</label>
|
102 |
Â
<input type="radio" class="switch-input" name="options[checked_by_default]" value="no" id="checked_by_default-no"
|
103 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'checked_by_default' ) == 'no' ) ? ' checked' : ''; ?> />
|
104 |
Â
<label for="checked_by_default-no" class="switch-label switch-label-on">
|
105 |
-
<?php
|
106 |
Â
</label>
|
107 |
Â
<span class="switch-selection"></span>
|
108 |
Â
</div>
|
109 |
Â
<div class="helpDescription subsOptDescriptions"
|
110 |
-
data-content="<?php
|
111 |
Â
data-placement="right"
|
112 |
-
aria-label="<?php
|
113 |
Â
<i class="fas fa-question-circle"></i>
|
114 |
Â
</div>
|
115 |
Â
</div>
|
@@ -119,16 +119,16 @@ if ( isset( $_POST['options'] ) ) {
|
|
119 |
Â
if ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'enable_advanced_subscriptions' ) == 'no' ) :
|
120 |
Â
?>
|
121 |
Â
<div class="form-group row">
|
122 |
-
<label for="checked_by_default_value" class="col-sm-3 col-form-label text-right"><?php
|
123 |
Â
<div class="col-sm-7">
|
124 |
Â
<select name="options[checked_by_default_value]" id="checked_by_default_value" class="form-control form-control-select">
|
125 |
-
<option value="0" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'checked_by_default_value' ) === '0' ) ? "selected='selected'" : ''; ?>><?php
|
126 |
-
<option value="1" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'checked_by_default_value' ) === '1' ) ? "selected='selected'" : ''; ?>><?php
|
127 |
Â
</select>
|
128 |
Â
<div class="helpDescription subsOptDescriptions"
|
129 |
-
data-content="<?php
|
130 |
Â
data-placement="right"
|
131 |
-
aria-label="<?php
|
132 |
Â
<i class="fas fa-question-circle"></i>
|
133 |
Â
</div>
|
134 |
Â
</div>
|
@@ -140,26 +140,26 @@ if ( isset( $_POST['options'] ) ) {
|
|
140 |
Â
|
141 |
Â
<div class="form-group row">
|
142 |
Â
<label for="enable_advanced_subscriptions" class="col-sm-3 col-form-label text-right">
|
143 |
-
<?php
|
144 |
Â
<div class="col-sm-7">
|
145 |
Â
<div class="switch">
|
146 |
Â
<input type="radio" class="switch-input" name="options[enable_advanced_subscriptions]"
|
147 |
Â
value="yes" id="enable_advanced_subscriptions-yes"
|
148 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'enable_advanced_subscriptions' ) == 'yes' ) ? ' checked' : ''; ?> />
|
149 |
Â
<label for="enable_advanced_subscriptions-yes" class="switch-label switch-label-off">
|
150 |
-
<?php
|
151 |
Â
</label>
|
152 |
Â
<input type="radio" class="switch-input" name="options[enable_advanced_subscriptions]" value="no" id="enable_advanced_subscriptions-no"
|
153 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'enable_advanced_subscriptions' ) == 'no' ) ? ' checked' : ''; ?> />
|
154 |
Â
<label for="enable_advanced_subscriptions-no" class="switch-label switch-label-on">
|
155 |
-
<?php
|
156 |
Â
</label>
|
157 |
Â
<span class="switch-selection"></span>
|
158 |
Â
</div>
|
159 |
Â
<div class="helpDescription subsOptDescriptions"
|
160 |
-
data-content="<?php
|
161 |
Â
data-placement="right"
|
162 |
-
aria-label="<?php
|
163 |
Â
<i class="fas fa-question-circle"></i>
|
164 |
Â
</div>
|
165 |
Â
</div>
|
@@ -170,17 +170,17 @@ if ( isset( $_POST['options'] ) ) {
|
|
170 |
Â
if ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'enable_advanced_subscriptions' ) == 'yes' ): ?>
|
171 |
Â
<div class="form-group row">
|
172 |
Â
<label for="default_subscription_type" class="col-sm-3 col-form-label text-right">
|
173 |
-
<?php
|
174 |
Â
<div class="col-sm-7">
|
175 |
Â
<select name="options[default_subscription_type]" id="default_subscription_type" class="form-control form-control-select">
|
176 |
-
<option value="0" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'default_subscription_type' ) === '0' ) ? "selected='selected'" : ''; ?>><?php
|
177 |
-
<option value="1" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'default_subscription_type' ) === '1' ) ? "selected='selected'" : ''; ?>><?php
|
178 |
-
<option value="2" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'default_subscription_type' ) === '2' ) ? "selected='selected'" : ''; ?>><?php
|
179 |
Â
</select>
|
180 |
Â
<div class="helpDescription subsOptDescriptions"
|
181 |
-
data-content="<?php
|
182 |
Â
data-placement="right"
|
183 |
-
aria-label="<?php
|
184 |
Â
<i class="fas fa-question-circle"></i>
|
185 |
Â
</div>
|
186 |
Â
</div>
|
@@ -192,16 +192,16 @@ if ( isset( $_POST['options'] ) ) {
|
|
192 |
Â
|
193 |
Â
<div class="form-group row">
|
194 |
Â
<label for="checkbox_inline_style" class="col-sm-3 col-form-label text-right">
|
195 |
-
<?php
|
196 |
Â
<div class="col-sm-7">
|
197 |
Â
<input type="text" name="options[checkbox_inline_style]" id="checkbox_inline_style"
|
198 |
Â
class="form-control form-control-input-8"
|
199 |
Â
value="<?php echo esc_attr( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'checkbox_inline_style' ) ); ?>" size="20">
|
200 |
Â
|
201 |
Â
<div class="helpDescription subsOptDescriptions"
|
202 |
-
data-content="<?php
|
203 |
Â
data-placement="right"
|
204 |
-
aria-label="<?php
|
205 |
Â
<i class="fas fa-question-circle"></i>
|
206 |
Â
</div>
|
207 |
Â
</div>
|
@@ -209,12 +209,12 @@ if ( isset( $_POST['options'] ) ) {
|
|
209 |
Â
|
210 |
Â
<div class="form-group row">
|
211 |
Â
<label for="checkbox_html" class="col-sm-3 offset-sm-1 col-form-label">
|
212 |
-
<?php
|
213 |
Â
|
214 |
Â
<div class="helpDescription subsOptDescriptions"
|
215 |
-
data-content="<?php
|
216 |
Â
data-placement="right"
|
217 |
-
aria-label="<?php
|
218 |
Â
<i class="fas fa-question-circle"></i>
|
219 |
Â
</div>
|
220 |
Â
|
@@ -235,16 +235,16 @@ if ( isset( $_POST['options'] ) ) {
|
|
235 |
Â
</div>
|
236 |
Â
</div>
|
237 |
Â
|
238 |
-
<h3><?php
|
239 |
Â
|
240 |
Â
<div class="form-group row">
|
241 |
Â
<label for="checkbox_label" class="col-sm-3 offset-sm-1 col-form-label" style="z-index: 9999;">
|
242 |
-
<?php
|
243 |
Â
|
244 |
Â
<div class="helpDescription subsOptDescriptions"
|
245 |
-
data-content="<?php
|
246 |
Â
data-placement="right"
|
247 |
-
aria-label="<?php
|
248 |
Â
<i class="fas fa-question-circle"></i>
|
249 |
Â
</div>
|
250 |
Â
|
@@ -266,12 +266,12 @@ if ( isset( $_POST['options'] ) ) {
|
|
266 |
Â
|
267 |
Â
<div class="form-group row">
|
268 |
Â
<label for="subscribed_label" class="col-sm-3 offset-sm-1 col-form-label" style="z-index: 9999;">
|
269 |
-
<?php
|
270 |
Â
|
271 |
Â
<div class="helpDescription subsOptDescriptions"
|
272 |
-
data-content="<?php
|
273 |
Â
data-placement="right"
|
274 |
-
aria-label="<?php
|
275 |
Â
<i class="fas fa-question-circle"></i>
|
276 |
Â
</div>
|
277 |
Â
|
@@ -293,12 +293,12 @@ if ( isset( $_POST['options'] ) ) {
|
|
293 |
Â
|
294 |
Â
<div class="form-group row">
|
295 |
Â
<label for="subscribed_waiting_label" class="col-sm-3 offset-sm-1 col-form-label" style="z-index: 9999;">
|
296 |
-
<?php
|
297 |
Â
|
298 |
Â
<div class="helpDescription subsOptDescriptions"
|
299 |
-
data-content="<?php
|
300 |
Â
data-placement="right"
|
301 |
-
aria-label="<?php
|
302 |
Â
<i class="fas fa-question-circle"></i>
|
303 |
Â
</div>
|
304 |
Â
|
@@ -320,12 +320,12 @@ if ( isset( $_POST['options'] ) ) {
|
|
320 |
Â
|
321 |
Â
<div class="form-group row">
|
322 |
Â
<label for="author_label" class="col-sm-3 offset-sm-1 col-form-label" style="z-index: 9999;">
|
323 |
-
<?php
|
324 |
Â
|
325 |
Â
<div class="helpDescription subsOptDescriptions"
|
326 |
-
data-content="<?php
|
327 |
Â
data-placement="right"
|
328 |
-
aria-label="<?php
|
329 |
Â
<i class="fas fa-question-circle"></i>
|
330 |
Â
</div>
|
331 |
Â
|
@@ -348,7 +348,7 @@ if ( isset( $_POST['options'] ) ) {
|
|
348 |
Â
<div class="form-group row">
|
349 |
Â
<div class="col-sm-9 offset-sm-1">
|
350 |
Â
<button type="submit" class="btn btn-primary subscribe-form-button" name="Submit">
|
351 |
-
<?php
|
352 |
Â
</button>
|
353 |
Â
</div>
|
354 |
Â
</div>
|
27 |
Â
if ( empty( $_POST['stcr_save_comment_form_nonce'] ) ) {
|
28 |
Â
return;
|
29 |
Â
}
|
30 |
+
|
31 |
Â
if ( ! wp_verify_nonce( $_POST['stcr_save_comment_form_nonce'], 'stcr_save_comment_form_nonce' ) ) {
|
32 |
Â
return;
|
33 |
Â
}
|
34 |
+
|
35 |
Â
if ( ! current_user_can( 'manage_options' ) ) {
|
36 |
Â
return;
|
37 |
Â
}
|
38 |
Â
|
39 |
+
$faulty_fields = array();
|
40 |
+
$subscribe_options = wp_unslash( $_POST['options'] ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput
|
41 |
+
foreach ( $subscribe_options as $option => $value )
|
42 |
Â
{
|
43 |
Â
|
44 |
Â
if ( ! $wp_subscribe_reloaded->stcr->utils->stcr_update_menu_options( $option, $value, $options[$option] ) )
|
50 |
Â
// Display an alert in the admin interface if something went wrong
|
51 |
Â
echo '<div class="updated"><p>';
|
52 |
Â
if ( sizeof( $faulty_fields ) == 0 ) {
|
53 |
+
esc_html_e( 'Your settings have been successfully updated.', 'subscribe-to-comments-reloaded' );
|
54 |
Â
} else {
|
55 |
+
esc_html_e( 'There was an error updating the following fields:', 'subscribe-to-comments-reloaded' );
|
56 |
Â
// echo ' <strong>' . substr( $faulty_fields, 0, - 2 ) . '</strong>';
|
57 |
Â
}
|
58 |
+
echo '</p></div>';
|
59 |
Â
}
|
60 |
Â
?>
|
61 |
Â
<link href="<?php echo esc_url( plugins_url( '/vendor/webui-popover/dist/jquery.webui-popover.min.css', STCR_PLUGIN_FILE ) ); ?>" rel="stylesheet"/>
|
66 |
Â
<div class="col-sm-9">
|
67 |
Â
<form action="" method="post">
|
68 |
Â
<div class="form-group row">
|
69 |
+
<label for="show_subscription_box" class="col-sm-3 col-form-label text-right"><?php esc_html_e( 'Enable default checkbox', 'subscribe-to-comments-reloaded' ) ?></label>
|
70 |
Â
<div class="col-sm-7">
|
71 |
Â
<div class="switch">
|
72 |
Â
<input type="radio" class="switch-input" name="options[show_subscription_box]"
|
73 |
Â
value="yes" id="show_subscription_box-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'show_subscription_box' ) == 'yes' ) ? ' checked' : ''; ?> />
|
74 |
Â
<label for="show_subscription_box-yes" class="switch-label switch-label-off">
|
75 |
+
<?php esc_html_e( 'Yes', 'subscribe-to-comments-reloaded' ) ?>
|
76 |
Â
</label>
|
77 |
Â
<input type="radio" class="switch-input" name="options[show_subscription_box]" value="no" id="show_subscription_box-no"
|
78 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'show_subscription_box' ) == 'no' ) ? ' checked' : ''; ?> />
|
79 |
Â
<label for="show_subscription_box-no" class="switch-label switch-label-on">
|
80 |
+
<?php esc_html_e( 'No', 'subscribe-to-comments-reloaded' ) ?>
|
81 |
Â
</label>
|
82 |
Â
<span class="switch-selection"></span>
|
83 |
Â
</div>
|
84 |
Â
<div class="helpDescription subsOptDescriptions"
|
85 |
+
data-content="<?php esc_attr_e( 'Disable this option if you want to move the subscription checkbox to a different place on your page.', 'subscribe-to-comments-reloaded' ); ?>"
|
86 |
Â
data-placement="right"
|
87 |
+
aria-label="<?php esc_attr_e( 'Disable this option if you want to move the subscription checkbox to a different place on your page.', 'subscribe-to-comments-reloaded' ); ?>">
|
88 |
Â
<i class="fas fa-question-circle"></i>
|
89 |
Â
</div>
|
90 |
Â
</div>
|
91 |
Â
</div>
|
92 |
Â
|
93 |
Â
<div class="form-group row">
|
94 |
+
<label for="checked_by_default" class="col-sm-3 col-form-label text-right"><?php esc_html_e( 'Checked by default', 'subscribe-to-comments-reloaded' ) ?></label>
|
95 |
Â
<div class="col-sm-7">
|
96 |
Â
<div class="switch">
|
97 |
Â
<input type="radio" class="switch-input" name="options[checked_by_default]"
|
98 |
Â
value="yes" id="checked_by_default-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'checked_by_default' ) == 'yes' ) ? ' checked' : ''; ?> />
|
99 |
Â
<label for="checked_by_default-yes" class="switch-label switch-label-off">
|
100 |
+
<?php esc_html_e( 'Yes', 'subscribe-to-comments-reloaded' ) ?>
|
101 |
Â
</label>
|
102 |
Â
<input type="radio" class="switch-input" name="options[checked_by_default]" value="no" id="checked_by_default-no"
|
103 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'checked_by_default' ) == 'no' ) ? ' checked' : ''; ?> />
|
104 |
Â
<label for="checked_by_default-no" class="switch-label switch-label-on">
|
105 |
+
<?php esc_html_e( 'No', 'subscribe-to-comments-reloaded' ) ?>
|
106 |
Â
</label>
|
107 |
Â
<span class="switch-selection"></span>
|
108 |
Â
</div>
|
109 |
Â
<div class="helpDescription subsOptDescriptions"
|
110 |
+
data-content="<?php esc_attr_e( 'Decide if the checkbox should be checked by default or not.', 'subscribe-to-comments-reloaded' ); ?>"
|
111 |
Â
data-placement="right"
|
112 |
+
aria-label="<?php esc_attr_e( 'Decide if the checkbox should be checked by default or not.', 'subscribe-to-comments-reloaded' ); ?>">
|
113 |
Â
<i class="fas fa-question-circle"></i>
|
114 |
Â
</div>
|
115 |
Â
</div>
|
119 |
Â
if ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'enable_advanced_subscriptions' ) == 'no' ) :
|
120 |
Â
?>
|
121 |
Â
<div class="form-group row">
|
122 |
+
<label for="checked_by_default_value" class="col-sm-3 col-form-label text-right"><?php esc_html_e( 'Subscription type', 'subscribe-to-comments-reloaded' ) ?></label>
|
123 |
Â
<div class="col-sm-7">
|
124 |
Â
<select name="options[checked_by_default_value]" id="checked_by_default_value" class="form-control form-control-select">
|
125 |
+
<option value="0" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'checked_by_default_value' ) === '0' ) ? "selected='selected'" : ''; ?>><?php esc_html_e( 'All new comments', 'subscribe-to-comments-reloaded' ); ?></option>
|
126 |
+
<option value="1" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'checked_by_default_value' ) === '1' ) ? "selected='selected'" : ''; ?>><?php esc_html_e( 'Replies to this comment', 'subscribe-to-comments-reloaded' ); ?></option>
|
127 |
Â
</select>
|
128 |
Â
<div class="helpDescription subsOptDescriptions"
|
129 |
+
data-content="<?php esc_attr_e( 'Select the type of subscription.', 'subscribe-to-comments-reloaded' ); ?>"
|
130 |
Â
data-placement="right"
|
131 |
+
aria-label="<?php esc_attr_e( 'Select the type of subscription.', 'subscribe-to-comments-reloaded' ); ?>">
|
132 |
Â
<i class="fas fa-question-circle"></i>
|
133 |
Â
</div>
|
134 |
Â
</div>
|
140 |
Â
|
141 |
Â
<div class="form-group row">
|
142 |
Â
<label for="enable_advanced_subscriptions" class="col-sm-3 col-form-label text-right">
|
143 |
+
<?php esc_html_e( 'Advanced subscription', 'subscribe-to-comments-reloaded' ) ?></label>
|
144 |
Â
<div class="col-sm-7">
|
145 |
Â
<div class="switch">
|
146 |
Â
<input type="radio" class="switch-input" name="options[enable_advanced_subscriptions]"
|
147 |
Â
value="yes" id="enable_advanced_subscriptions-yes"
|
148 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'enable_advanced_subscriptions' ) == 'yes' ) ? ' checked' : ''; ?> />
|
149 |
Â
<label for="enable_advanced_subscriptions-yes" class="switch-label switch-label-off">
|
150 |
+
<?php esc_html_e( 'Yes', 'subscribe-to-comments-reloaded' ) ?>
|
151 |
Â
</label>
|
152 |
Â
<input type="radio" class="switch-input" name="options[enable_advanced_subscriptions]" value="no" id="enable_advanced_subscriptions-no"
|
153 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'enable_advanced_subscriptions' ) == 'no' ) ? ' checked' : ''; ?> />
|
154 |
Â
<label for="enable_advanced_subscriptions-no" class="switch-label switch-label-on">
|
155 |
+
<?php esc_html_e( 'No', 'subscribe-to-comments-reloaded' ) ?>
|
156 |
Â
</label>
|
157 |
Â
<span class="switch-selection"></span>
|
158 |
Â
</div>
|
159 |
Â
<div class="helpDescription subsOptDescriptions"
|
160 |
+
data-content="<?php esc_attr_e( 'Allow users to choose from different subscription types (all, replies only).', 'subscribe-to-comments-reloaded' ); ?>"
|
161 |
Â
data-placement="right"
|
162 |
+
aria-label="<?php esc_attr_e( 'Allow users to choose from different subscription types (all, replies only).', 'subscribe-to-comments-reloaded' ); ?>">
|
163 |
Â
<i class="fas fa-question-circle"></i>
|
164 |
Â
</div>
|
165 |
Â
</div>
|
170 |
Â
if ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'enable_advanced_subscriptions' ) == 'yes' ): ?>
|
171 |
Â
<div class="form-group row">
|
172 |
Â
<label for="default_subscription_type" class="col-sm-3 col-form-label text-right">
|
173 |
+
<?php esc_html_e( 'Advanced default', 'subscribe-to-comments-reloaded' ) ?></label>
|
174 |
Â
<div class="col-sm-7">
|
175 |
Â
<select name="options[default_subscription_type]" id="default_subscription_type" class="form-control form-control-select">
|
176 |
+
<option value="0" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'default_subscription_type' ) === '0' ) ? "selected='selected'" : ''; ?>><?php esc_html_e( 'None', 'subscribe-to-comments-reloaded' ); ?></option>
|
177 |
+
<option value="1" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'default_subscription_type' ) === '1' ) ? "selected='selected'" : ''; ?>><?php esc_html_e( 'All new comments', 'subscribe-to-comments-reloaded' ); ?></option>
|
178 |
+
<option value="2" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'default_subscription_type' ) === '2' ) ? "selected='selected'" : ''; ?>><?php esc_html_e( 'Replies to this comment', 'subscribe-to-comments-reloaded' ); ?></option>
|
179 |
Â
</select>
|
180 |
Â
<div class="helpDescription subsOptDescriptions"
|
181 |
+
data-content="<?php esc_attr_e( 'The default subscription type that should be selected when Advanced subscriptions are enable.', 'subscribe-to-comments-reloaded' ); ?>"
|
182 |
Â
data-placement="right"
|
183 |
+
aria-label="<?php esc_attr_e( 'The default subscription type that should be selected when Advanced subscriptions are enable.', 'subscribe-to-comments-reloaded' ); ?>">
|
184 |
Â
<i class="fas fa-question-circle"></i>
|
185 |
Â
</div>
|
186 |
Â
</div>
|
192 |
Â
|
193 |
Â
<div class="form-group row">
|
194 |
Â
<label for="checkbox_inline_style" class="col-sm-3 col-form-label text-right">
|
195 |
+
<?php esc_html_e( 'Custom inline style', 'subscribe-to-comments-reloaded' ) ?></label>
|
196 |
Â
<div class="col-sm-7">
|
197 |
Â
<input type="text" name="options[checkbox_inline_style]" id="checkbox_inline_style"
|
198 |
Â
class="form-control form-control-input-8"
|
199 |
Â
value="<?php echo esc_attr( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'checkbox_inline_style' ) ); ?>" size="20">
|
200 |
Â
|
201 |
Â
<div class="helpDescription subsOptDescriptions"
|
202 |
+
data-content="<?php esc_attr_e( 'Custom inline CSS to add to the checkbox.', 'subscribe-to-comments-reloaded' ); ?>"
|
203 |
Â
data-placement="right"
|
204 |
+
aria-label="<?php esc_attr_e( 'Custom inline CSS to add to the checkbox.', 'subscribe-to-comments-reloaded' ); ?>">
|
205 |
Â
<i class="fas fa-question-circle"></i>
|
206 |
Â
</div>
|
207 |
Â
</div>
|
209 |
Â
|
210 |
Â
<div class="form-group row">
|
211 |
Â
<label for="checkbox_html" class="col-sm-3 offset-sm-1 col-form-label">
|
212 |
+
<?php esc_html_e( 'Custom HTML', 'subscribe-to-comments-reloaded' ) ?>
|
213 |
Â
|
214 |
Â
<div class="helpDescription subsOptDescriptions"
|
215 |
+
data-content="<?php esc_attr_e( 'Custom HTML code to be used when displaying the checkbox. Allowed tags: [checkbox_field], [checkbox_label]', 'subscribe-to-comments-reloaded' ); ?>"
|
216 |
Â
data-placement="right"
|
217 |
+
aria-label="<?php esc_attr_e( 'Custom HTML code to be used when displaying the checkbox. Allowed tags: [checkbox_field], [checkbox_label]', 'subscribe-to-comments-reloaded' ); ?>">
|
218 |
Â
<i class="fas fa-question-circle"></i>
|
219 |
Â
</div>
|
220 |
Â
|
235 |
Â
</div>
|
236 |
Â
</div>
|
237 |
Â
|
238 |
+
<h3><?php esc_html_e( 'Messages for your visitors', 'subscribe-to-comments-reloaded' ) ?></h3>
|
239 |
Â
|
240 |
Â
<div class="form-group row">
|
241 |
Â
<label for="checkbox_label" class="col-sm-3 offset-sm-1 col-form-label" style="z-index: 9999;">
|
242 |
+
<?php esc_html_e( 'Default label', 'subscribe-to-comments-reloaded' ) ?>
|
243 |
Â
|
244 |
Â
<div class="helpDescription subsOptDescriptions"
|
245 |
+
data-content="<?php esc_attr_e( 'Label associated to the checkbox. Allowed tag: [subscribe_link]', 'subscribe-to-comments-reloaded' ); ?>"
|
246 |
Â
data-placement="right"
|
247 |
+
aria-label="<?php esc_attr_e( 'Label associated to the checkbox. Allowed tag: [subscribe_link]', 'subscribe-to-comments-reloaded' ); ?>">
|
248 |
Â
<i class="fas fa-question-circle"></i>
|
249 |
Â
</div>
|
250 |
Â
|
266 |
Â
|
267 |
Â
<div class="form-group row">
|
268 |
Â
<label for="subscribed_label" class="col-sm-3 offset-sm-1 col-form-label" style="z-index: 9999;">
|
269 |
+
<?php esc_html_e( 'Subscribed label', 'subscribe-to-comments-reloaded' ) ?>
|
270 |
Â
|
271 |
Â
<div class="helpDescription subsOptDescriptions"
|
272 |
+
data-content="<?php esc_attr_e( 'Label shown to those who are already subscribed to a post. Allowed tag: [manager_link]', 'subscribe-to-comments-reloaded' ); ?>"
|
273 |
Â
data-placement="right"
|
274 |
+
aria-label="<?php esc_attr_e( 'Label shown to those who are already subscribed to a post. Allowed tag: [manager_link]', 'subscribe-to-comments-reloaded' ); ?>">
|
275 |
Â
<i class="fas fa-question-circle"></i>
|
276 |
Â
</div>
|
277 |
Â
|
293 |
Â
|
294 |
Â
<div class="form-group row">
|
295 |
Â
<label for="subscribed_waiting_label" class="col-sm-3 offset-sm-1 col-form-label" style="z-index: 9999;">
|
296 |
+
<?php esc_html_e( 'Pending label', 'subscribe-to-comments-reloaded' ) ?>
|
297 |
Â
|
298 |
Â
<div class="helpDescription subsOptDescriptions"
|
299 |
+
data-content="<?php esc_attr_e( "Label shown to those who are already subscribed, but haven't clicked on the confirmation link yet. Allowed tag: [manager_link]", 'subscribe-to-comments-reloaded' ); ?>"
|
300 |
Â
data-placement="right"
|
301 |
+
aria-label="<?php esc_attr_e( "Label shown to those who are already subscribed, but haven't clicked on the confirmation link yet. Allowed tag: [manager_link]", 'subscribe-to-comments-reloaded' ); ?>">
|
302 |
Â
<i class="fas fa-question-circle"></i>
|
303 |
Â
</div>
|
304 |
Â
|
320 |
Â
|
321 |
Â
<div class="form-group row">
|
322 |
Â
<label for="author_label" class="col-sm-3 offset-sm-1 col-form-label" style="z-index: 9999;">
|
323 |
+
<?php esc_html_e( 'Author label', 'subscribe-to-comments-reloaded' ) ?>
|
324 |
Â
|
325 |
Â
<div class="helpDescription subsOptDescriptions"
|
326 |
+
data-content="<?php esc_attr_e( "Label shown to authors (and administrators). Allowed tag: [manager_link]", 'subscribe-to-comments-reloaded' ); ?>"
|
327 |
Â
data-placement="right"
|
328 |
+
aria-label="<?php esc_attr_e( "Label shown to authors (and administrators). Allowed tag: [manager_link]", 'subscribe-to-comments-reloaded' ); ?>">
|
329 |
Â
<i class="fas fa-question-circle"></i>
|
330 |
Â
</div>
|
331 |
Â
|
348 |
Â
<div class="form-group row">
|
349 |
Â
<div class="col-sm-9 offset-sm-1">
|
350 |
Â
<button type="submit" class="btn btn-primary subscribe-form-button" name="Submit">
|
351 |
+
<?php esc_html_e( 'Save Changes', 'subscribe-to-comments-reloaded' ) ?>
|
352 |
Â
</button>
|
353 |
Â
</div>
|
354 |
Â
</div>
|
options/stcr_manage_subscriptions.php
CHANGED
@@ -5,7 +5,7 @@ if ( ! function_exists( 'is_admin' ) || ! is_admin() ) {
|
|
5 |
Â
exit;
|
6 |
Â
}
|
7 |
Â
|
8 |
-
$action =
|
9 |
Â
if ( $action == 'edit-subscription' || $action == 'add-subscription' ) {
|
10 |
Â
require_once trailingslashit( dirname( STCR_PLUGIN_FILE ) ) . 'options/panel1-' . $action . '.php';
|
11 |
Â
|
@@ -19,15 +19,15 @@ if ( is_readable( trailingslashit( dirname( STCR_PLUGIN_FILE ) ) . 'options/pane
|
|
19 |
Â
if ( ! $valid_email )
|
20 |
Â
{
|
21 |
Â
echo '<div class="notice notice-error is-dismissible"><p>';
|
22 |
-
|
23 |
-
echo
|
24 |
Â
}
|
25 |
Â
|
26 |
Â
if ( ! $valid_post_id )
|
27 |
Â
{
|
28 |
Â
echo '<div class="notice notice-error is-dismissible"><p>';
|
29 |
-
|
30 |
-
echo
|
31 |
Â
}
|
32 |
Â
}
|
33 |
Â
|
@@ -46,7 +46,7 @@ if ( is_readable( trailingslashit( dirname( STCR_PLUGIN_FILE ) ) . 'options/pane
|
|
46 |
Â
<div class="col-sm-6">
|
47 |
Â
<div class="card card-font-size mass-update-subs">
|
48 |
Â
<h6 class="card-header">
|
49 |
-
<i class="fas fa-exchange-alt"></i> <?php
|
50 |
Â
<i class="fas fa-caret-down pull-right"></i>
|
51 |
Â
</h6>
|
52 |
Â
<div class="card-body cbody-mass" style="padding: 0;">
|
@@ -55,30 +55,30 @@ if ( is_readable( trailingslashit( dirname( STCR_PLUGIN_FILE ) ) . 'options/pane
|
|
55 |
Â
|
56 |
Â
<table>
|
57 |
Â
<tr>
|
58 |
-
<td><label for='oldsre'><?php
|
59 |
Â
<td><input class="form-control form-controls-font" type='text' size='30' name='oldsre' id='oldsre' value='<?php esc_attr_e( 'email address', 'subscribe-to-comments-reloaded' ) ?>' style="color:#ccc;"></td>
|
60 |
Â
<td><span class="validate-error-text validate-error-text-oldsre stcr-hidden "></span></td>
|
61 |
Â
</tr>
|
62 |
Â
<tr>
|
63 |
-
<td><label for='sre'><?php
|
64 |
Â
<td><input class="form-control form-controls-font" type='text' size='30' name='sre' id='sre' value='<?php esc_attr_e( 'optional - new email address', 'subscribe-to-comments-reloaded' ) ?>' style="color:#ccc;"
|
65 |
Â
>
|
66 |
Â
</td>
|
67 |
Â
<td><span class="validate-error-text validate-error-text-sre stcr-hidden "></span></td>
|
68 |
Â
</tr>
|
69 |
Â
<tr>
|
70 |
-
<td><label for='srs'><?php
|
71 |
Â
<td><select class="form-control form-controls-font mass-update-select-status" name="srs" id="srs">
|
72 |
-
<option value=''><?php
|
73 |
-
<option value='Y'><?php
|
74 |
-
<option value='R'><?php
|
75 |
-
<option value='C'><?php
|
76 |
Â
</select>
|
77 |
Â
<input type='submit' style="font-size: 0.8rem;" class='subscribe-form-button btn btn-primary' value='<?php esc_attr_e( 'Update', 'subscribe-to-comments-reloaded' ) ?>' ></td>
|
78 |
Â
</tr>
|
79 |
Â
<tr>
|
80 |
Â
<td colspan="2">
|
81 |
-
<div class="more-info" data-infopanel="info-panel-mass-update" aria-label="<?php
|
82 |
Â
<i class="fas fa-question-circle"></i>
|
83 |
Â
</div>
|
84 |
Â
</td>
|
@@ -90,9 +90,9 @@ if ( is_readable( trailingslashit( dirname( STCR_PLUGIN_FILE ) ) . 'options/pane
|
|
90 |
Â
</table>
|
91 |
Â
|
92 |
Â
<div class="alert alert-info hidden info-panel-mass-update" role="alert">
|
93 |
-
<?php
|
94 |
Â
</div>
|
95 |
-
|
96 |
Â
<?php wp_nonce_field( 'stcr_edit_subscription_nonce', 'stcr_edit_subscription_nonce' ); ?>
|
97 |
Â
</form>
|
98 |
Â
</div>
|
@@ -103,7 +103,7 @@ if ( is_readable( trailingslashit( dirname( STCR_PLUGIN_FILE ) ) . 'options/pane
|
|
103 |
Â
<div class="col-sm-6">
|
104 |
Â
<div class="card card-font-size add-new-subs">
|
105 |
Â
<h6 class="card-header">
|
106 |
-
<i class="fas fa-plus-square"></i> <?php
|
107 |
Â
<i class="fas fa-caret-down pull-right"></i>
|
108 |
Â
</h6>
|
109 |
Â
<div class="card-body" style="padding: 0;">
|
@@ -112,22 +112,22 @@ if ( is_readable( trailingslashit( dirname( STCR_PLUGIN_FILE ) ) . 'options/pane
|
|
112 |
Â
<fieldset style="border:0">
|
113 |
Â
<table>
|
114 |
Â
<tr>
|
115 |
-
<td><?php
|
116 |
Â
<td><input class="form-control form-controls-font" type='text' size='30' name='srp' value='' ></td>
|
117 |
Â
<td><span class="validate-error-text validate-error-text-srp stcr-hidden "></span></td>
|
118 |
Â
</tr>
|
119 |
Â
<tr>
|
120 |
-
<td><?php
|
121 |
Â
<td><input class="form-control form-controls-font" type='text' size='30' name='sre' value='' ></td>
|
122 |
Â
<td><span class="validate-error-text validate-error-text-sre stcr-hidden "></span></td>
|
123 |
Â
</tr>
|
124 |
Â
<tr>
|
125 |
-
<td><?php
|
126 |
Â
<td>
|
127 |
Â
<select name="srs" class="form-control form-controls-font new-sub-select-status">
|
128 |
-
<option value='Y'><?php
|
129 |
-
<option value='R'><?php
|
130 |
-
<option value='YC'><?php
|
131 |
Â
</select>
|
132 |
Â
<input type='submit' style="font-size: 0.8rem;" class='subscribe-form-button btn btn-primary' value='<?php esc_attr_e( 'Add', 'subscribe-to-comments-reloaded' ) ?>' >
|
133 |
Â
</td>
|
@@ -155,14 +155,14 @@ if ( is_readable( trailingslashit( dirname( STCR_PLUGIN_FILE ) ) . 'options/pane
|
|
155 |
Â
|
156 |
Â
<div class="card-text postbox" style="border: none;">
|
157 |
Â
|
158 |
-
<h4><i class="fas fa-search"></i> <?php
|
159 |
Â
|
160 |
Â
<?php if ( ! empty( $_POST['srv'] ) || ( is_array( $subscriptions ) && count( $subscriptions ) == 1000 ) ) : ?>
|
161 |
Â
|
162 |
Â
<?php
|
163 |
Â
$search_term = '';
|
164 |
Â
if ( ! empty( $_POST['srv'] ) ) {
|
165 |
-
$search_term = sanitize_text_field( $_POST['srv'] );
|
166 |
Â
}
|
167 |
Â
?>
|
168 |
Â
<form action="" method="post" style="background: #f5f5f5; padding: 15px; margin-top: 20px;">
|
@@ -178,12 +178,12 @@ if ( is_readable( trailingslashit( dirname( STCR_PLUGIN_FILE ) ) . 'options/pane
|
|
178 |
Â
|
179 |
Â
<?php endif; ?>
|
180 |
Â
|
181 |
-
<div class="col-md-2 subs-spinner mx-auto"><h5><?php
|
182 |
Â
|
183 |
Â
<div class="clearfix"></div>
|
184 |
Â
|
185 |
Â
<form style="border: 1px solid #eee; padding: 15px; margin-top: 20px;" action="" method="post" id="subscription_form" name="subscription_form"
|
186 |
-
onsubmit="if(this.sra[0].checked) return confirm('<?php
|
187 |
Â
|
188 |
Â
<?php
|
189 |
Â
|
@@ -191,18 +191,18 @@ if ( is_readable( trailingslashit( dirname( STCR_PLUGIN_FILE ) ) . 'options/pane
|
|
191 |
Â
$date_time_format = get_option( 'date_format' ) . ' ' . get_option( 'time_format' );
|
192 |
Â
// Let us form those status
|
193 |
Â
$status_arry = array(
|
194 |
-
'R' =>
|
195 |
-
'RC' =>
|
196 |
-
'Y' =>
|
197 |
-
'YC' =>
|
198 |
-
'C' =>
|
199 |
-
'-C' =>
|
200 |
Â
);
|
201 |
Â
|
202 |
Â
if ( ! empty( $subscriptions ) && is_array( $subscriptions ) ) {
|
203 |
Â
|
204 |
-
$show_post_column = ( $operator != 'equals' || $search_field != 'post_id' ) ?
|
205 |
-
$show_email_column = ( $operator != 'equals' || $search_field != 'email' ) ?
|
206 |
Â
|
207 |
Â
echo "<table class=\"table table-smx table-hover table-striped subscribers-table stcr-hidden\" style=\"font-size: 0.8em\">
|
208 |
Â
<thead>";
|
@@ -212,13 +212,13 @@ if ( is_readable( trailingslashit( dirname( STCR_PLUGIN_FILE ) ) . 'options/pane
|
|
212 |
Â
|
213 |
Â
echo "<tr>
|
214 |
Â
<th scope=\"col\">
|
215 |
-
<i class=\"fas fa-exchange-alt\"></i> <span>" .
|
216 |
Â
<input class='checkbox' type='checkbox' name='subscription_list_select_all' id='stcr_select_all' class='stcr_select_all'/>
|
217 |
Â
</th>
|
218 |
-
<th scope=\"col\"><i class=\"fas fa-thumbtack\"></i><span
|
219 |
-
<th scope=\"col\"><i class=\"fas fa-address-card\"></i><span
|
220 |
-
<th scope=\"col\"><i class=\"fas fa-calendar-alt\"></i><span>".
|
221 |
-
<th scope=\"col\"><i class=\"fas fa-info-circle\"></i><span>".
|
222 |
Â
</tr>";
|
223 |
Â
}
|
224 |
Â
else
|
@@ -226,12 +226,12 @@ if ( is_readable( trailingslashit( dirname( STCR_PLUGIN_FILE ) ) . 'options/pane
|
|
226 |
Â
echo "<tr>
|
227 |
Â
<th scope=\"col\">
|
228 |
Â
<input class='checkbox' type='checkbox' name='subscription_list_select_all' id='stcr_select_all' class='stcr_select_all'/>
|
229 |
-
<i class=\"fas fa-exchange-alt\"></i> <span>" .
|
230 |
Â
</th>
|
231 |
-
<th scope=\"col\"><i class=\"fas fa-thumbtack\"></i><span
|
232 |
-
<th scope=\"col\"><i class=\"fas fa-address-card\"></i><span
|
233 |
-
<th scope=\"col\"><i class=\"fas fa-calendar-alt\"></i><span>".
|
234 |
-
<th scope=\"col\"><i class=\"fas fa-info-circle\"></i><span>".
|
235 |
Â
</tr>";
|
236 |
Â
}
|
237 |
Â
|
@@ -263,30 +263,30 @@ if ( is_readable( trailingslashit( dirname( STCR_PLUGIN_FILE ) ) . 'options/pane
|
|
263 |
Â
{
|
264 |
Â
echo "<tr>
|
265 |
Â
<td>
|
266 |
-
<label for='sub_
|
267 |
-
<input class='checkbox' type='checkbox' name='subscriptions_list[]' value='$a_subscription->post_id," . urlencode( $a_subscription->email ) . "' id='sub_
|
268 |
-
<a href='admin.php?page=stcr_manage_subscriptions&sra=edit-subscription&srp=" . $a_subscription->post_id . "&sre=" . urlencode( $a_subscription->email ) . "' alt='" .
|
269 |
-
<a href='$delete_url' onclick='return confirm(\"" .
|
270 |
Â
</td>
|
271 |
-
<td
|
272 |
-
<td
|
273 |
-
<td data-sort='$date_time_sort'
|
274 |
-
<td
|
275 |
Â
</tr>";
|
276 |
Â
}
|
277 |
Â
else
|
278 |
Â
{
|
279 |
Â
echo "<tr>
|
280 |
Â
<td>
|
281 |
-
<label for='sub_
|
282 |
-
<input class='checkbox' type='checkbox' name='subscriptions_list[]' value='$a_subscription->post_id," . urlencode( $a_subscription->email ) . "' id='sub_
|
283 |
-
<a href='admin.php?page=stcr_manage_subscriptions&sra=edit-subscription&srp=" . $a_subscription->post_id . "&sre=" . urlencode( $a_subscription->email ) . "' alt='" .
|
284 |
-
<a href='$delete_url' onclick='return confirm(\"" .
|
285 |
Â
</td>
|
286 |
-
<td
|
287 |
-
<td
|
288 |
-
<td data-sort='$date_time_sort'
|
289 |
-
<td
|
290 |
Â
</tr>";
|
291 |
Â
}
|
292 |
Â
|
@@ -296,23 +296,23 @@ if ( is_readable( trailingslashit( dirname( STCR_PLUGIN_FILE ) ) . 'options/pane
|
|
296 |
Â
echo "</table>";
|
297 |
Â
|
298 |
Â
echo "<div class='subscribers-mass-actions form-group row'>";
|
299 |
-
echo '<label for="action_type" class="col-sm-1 col-form-label">' .
|
300 |
Â
?> <div class="col-sm-3">
|
301 |
Â
<select name="sra" id="action_type" class="form-control">
|
302 |
-
<option value="delete"><?php
|
303 |
-
<option value="suspend"><?php
|
304 |
-
<option value="force_y"><?php
|
305 |
-
<option value="force_r"><?php
|
306 |
-
<option value="activate"><?php
|
307 |
Â
</select>
|
308 |
Â
</div>
|
309 |
Â
<?php
|
310 |
-
echo '<div class="col-sm-2"><button type="submit" class="subscribe-form-button btn btn-primary" >' .
|
311 |
-
echo "<input type='hidden' name='srf' value='$search_field'/><input type='hidden' name='srt' value='$operator'/><input type='hidden' name='srv' value='$search_value'/><input type='hidden' name='srsf' value='$offset'/><input type='hidden' name='srrp' value='$limit_results'/><input type='hidden' name='srob' value='$order_by'/><input type='hidden' name='sro' value='$order'/>";
|
312 |
-
echo
|
313 |
Â
|
314 |
Â
} elseif ( $action == 'search' ) {
|
315 |
-
echo '<p>' .
|
316 |
Â
}
|
317 |
Â
?>
|
318 |
Â
|
5 |
Â
exit;
|
6 |
Â
}
|
7 |
Â
|
8 |
+
$action = ! empty( $_POST['sra'] ) ? sanitize_text_field( wp_unslash( $_POST['sra'] ) ) : ( ! empty( $_GET['sra'] ) ? sanitize_text_field( wp_unslash( $_GET['sra'] ) ) : '' );
|
9 |
Â
if ( $action == 'edit-subscription' || $action == 'add-subscription' ) {
|
10 |
Â
require_once trailingslashit( dirname( STCR_PLUGIN_FILE ) ) . 'options/panel1-' . $action . '.php';
|
11 |
Â
|
19 |
Â
if ( ! $valid_email )
|
20 |
Â
{
|
21 |
Â
echo '<div class="notice notice-error is-dismissible"><p>';
|
22 |
+
esc_html_e( 'The email that you typed is not correct.', 'subscribe-to-comments-reloaded' );
|
23 |
+
echo '</p></div>';
|
24 |
Â
}
|
25 |
Â
|
26 |
Â
if ( ! $valid_post_id )
|
27 |
Â
{
|
28 |
Â
echo '<div class="notice notice-error is-dismissible"><p>';
|
29 |
+
esc_html_e( 'Please enter a valid Post ID.', 'subscribe-to-comments-reloaded' );
|
30 |
+
echo '</p></div>';
|
31 |
Â
}
|
32 |
Â
}
|
33 |
Â
|
46 |
Â
<div class="col-sm-6">
|
47 |
Â
<div class="card card-font-size mass-update-subs">
|
48 |
Â
<h6 class="card-header">
|
49 |
+
<i class="fas fa-exchange-alt"></i> <?php esc_html_e( 'Mass Update Subscriptions', 'subscribe-to-comments-reloaded' ) ?>
|
50 |
Â
<i class="fas fa-caret-down pull-right"></i>
|
51 |
Â
</h6>
|
52 |
Â
<div class="card-body cbody-mass" style="padding: 0;">
|
55 |
Â
|
56 |
Â
<table>
|
57 |
Â
<tr>
|
58 |
+
<td><label for='oldsre'><?php esc_html_e( 'From', 'subscribe-to-comments-reloaded' ) ?></label></td>
|
59 |
Â
<td><input class="form-control form-controls-font" type='text' size='30' name='oldsre' id='oldsre' value='<?php esc_attr_e( 'email address', 'subscribe-to-comments-reloaded' ) ?>' style="color:#ccc;"></td>
|
60 |
Â
<td><span class="validate-error-text validate-error-text-oldsre stcr-hidden "></span></td>
|
61 |
Â
</tr>
|
62 |
Â
<tr>
|
63 |
+
<td><label for='sre'><?php esc_html_e( 'To', 'subscribe-to-comments-reloaded' ) ?></label></td>
|
64 |
Â
<td><input class="form-control form-controls-font" type='text' size='30' name='sre' id='sre' value='<?php esc_attr_e( 'optional - new email address', 'subscribe-to-comments-reloaded' ) ?>' style="color:#ccc;"
|
65 |
Â
>
|
66 |
Â
</td>
|
67 |
Â
<td><span class="validate-error-text validate-error-text-sre stcr-hidden "></span></td>
|
68 |
Â
</tr>
|
69 |
Â
<tr>
|
70 |
+
<td><label for='srs'><?php esc_html_e( 'Status', 'subscribe-to-comments-reloaded' ) ?></label></td>
|
71 |
Â
<td><select class="form-control form-controls-font mass-update-select-status" name="srs" id="srs">
|
72 |
+
<option value=''><?php esc_html_e( 'Keep unchanged', 'subscribe-to-comments-reloaded' ) ?></option>
|
73 |
+
<option value='Y'><?php esc_html_e( 'Active', 'subscribe-to-comments-reloaded' ) ?></option>
|
74 |
+
<option value='R'><?php esc_html_e( 'Replies only', 'subscribe-to-comments-reloaded' ) ?></option>
|
75 |
+
<option value='C'><?php esc_html_e( 'Suspended', 'subscribe-to-comments-reloaded' ) ?></option>
|
76 |
Â
</select>
|
77 |
Â
<input type='submit' style="font-size: 0.8rem;" class='subscribe-form-button btn btn-primary' value='<?php esc_attr_e( 'Update', 'subscribe-to-comments-reloaded' ) ?>' ></td>
|
78 |
Â
</tr>
|
79 |
Â
<tr>
|
80 |
Â
<td colspan="2">
|
81 |
+
<div class="more-info" data-infopanel="info-panel-mass-update" aria-label="<?php esc_html_e("More info", 'subscribe-to-comments-reloaded'); ?>">
|
82 |
Â
<i class="fas fa-question-circle"></i>
|
83 |
Â
</div>
|
84 |
Â
</td>
|
90 |
Â
</table>
|
91 |
Â
|
92 |
Â
<div class="alert alert-info hidden info-panel-mass-update" role="alert">
|
93 |
+
<?php esc_html_e('This option will allow you to change an email address for another one or to update the same status for all the subscription on a specific email address.', 'subscribe-to-comments-reloaded' ); ?>
|
94 |
Â
</div>
|
95 |
+
|
96 |
Â
<?php wp_nonce_field( 'stcr_edit_subscription_nonce', 'stcr_edit_subscription_nonce' ); ?>
|
97 |
Â
</form>
|
98 |
Â
</div>
|
103 |
Â
<div class="col-sm-6">
|
104 |
Â
<div class="card card-font-size add-new-subs">
|
105 |
Â
<h6 class="card-header">
|
106 |
+
<i class="fas fa-plus-square"></i> <?php esc_html_e( 'Add New Subscription', 'subscribe-to-comments-reloaded' ) ?>
|
107 |
Â
<i class="fas fa-caret-down pull-right"></i>
|
108 |
Â
</h6>
|
109 |
Â
<div class="card-body" style="padding: 0;">
|
112 |
Â
<fieldset style="border:0">
|
113 |
Â
<table>
|
114 |
Â
<tr>
|
115 |
+
<td><?php esc_html_e( 'Post ID', 'subscribe-to-comments-reloaded' ) ?></td>
|
116 |
Â
<td><input class="form-control form-controls-font" type='text' size='30' name='srp' value='' ></td>
|
117 |
Â
<td><span class="validate-error-text validate-error-text-srp stcr-hidden "></span></td>
|
118 |
Â
</tr>
|
119 |
Â
<tr>
|
120 |
+
<td><?php esc_html_e( 'Email', 'subscribe-to-comments-reloaded' ) ?></td>
|
121 |
Â
<td><input class="form-control form-controls-font" type='text' size='30' name='sre' value='' ></td>
|
122 |
Â
<td><span class="validate-error-text validate-error-text-sre stcr-hidden "></span></td>
|
123 |
Â
</tr>
|
124 |
Â
<tr>
|
125 |
+
<td><?php esc_html_e( 'Status', 'subscribe-to-comments-reloaded' ) ?></td>
|
126 |
Â
<td>
|
127 |
Â
<select name="srs" class="form-control form-controls-font new-sub-select-status">
|
128 |
+
<option value='Y'><?php esc_html_e( 'Active', 'subscribe-to-comments-reloaded' ) ?></option>
|
129 |
+
<option value='R'><?php esc_html_e( 'Replies only', 'subscribe-to-comments-reloaded' ) ?></option>
|
130 |
+
<option value='YC'><?php esc_html_e( 'Ask user to confirm', 'subscribe-to-comments-reloaded' ) ?></option>
|
131 |
Â
</select>
|
132 |
Â
<input type='submit' style="font-size: 0.8rem;" class='subscribe-form-button btn btn-primary' value='<?php esc_attr_e( 'Add', 'subscribe-to-comments-reloaded' ) ?>' >
|
133 |
Â
</td>
|
155 |
Â
|
156 |
Â
<div class="card-text postbox" style="border: none;">
|
157 |
Â
|
158 |
+
<h4><i class="fas fa-search"></i> <?php esc_html_e( 'Search subscriptions', 'subscribe-to-comments-reloaded' ) ?></h4>
|
159 |
Â
|
160 |
Â
<?php if ( ! empty( $_POST['srv'] ) || ( is_array( $subscriptions ) && count( $subscriptions ) == 1000 ) ) : ?>
|
161 |
Â
|
162 |
Â
<?php
|
163 |
Â
$search_term = '';
|
164 |
Â
if ( ! empty( $_POST['srv'] ) ) {
|
165 |
+
$search_term = sanitize_text_field( wp_unslash( $_POST['srv'] ) );
|
166 |
Â
}
|
167 |
Â
?>
|
168 |
Â
<form action="" method="post" style="background: #f5f5f5; padding: 15px; margin-top: 20px;">
|
178 |
Â
|
179 |
Â
<?php endif; ?>
|
180 |
Â
|
181 |
+
<div class="col-md-2 subs-spinner mx-auto"><h5><?php esc_html_e( "Loading", 'subscribe-to-comments-reloaded'); ?> <i class="fas fa-play-circle"></i></h5></div>
|
182 |
Â
|
183 |
Â
<div class="clearfix"></div>
|
184 |
Â
|
185 |
Â
<form style="border: 1px solid #eee; padding: 15px; margin-top: 20px;" action="" method="post" id="subscription_form" name="subscription_form"
|
186 |
+
onsubmit="if(this.sra[0].checked) return confirm('<?php esc_attr_e( 'Please remember: this operation cannot be undone. Are you sure you want to proceed?', 'subscribe-to-comments-reloaded' ) ?>')">
|
187 |
Â
|
188 |
Â
<?php
|
189 |
Â
|
191 |
Â
$date_time_format = get_option( 'date_format' ) . ' ' . get_option( 'time_format' );
|
192 |
Â
// Let us form those status
|
193 |
Â
$status_arry = array(
|
194 |
+
'R' => esc_html__( 'Replies', 'subscribe-to-comments-reloaded'),
|
195 |
+
'RC' => esc_html__( 'Replies Unconfirmed', 'subscribe-to-comments-reloaded'),
|
196 |
+
'Y' => esc_html__( "All Comments", 'subscribe-to-comments-reloaded'),
|
197 |
+
'YC' => esc_html__( "Unconfirmed", 'subscribe-to-comments-reloaded'),
|
198 |
+
'C' => esc_html__( "Inactive", 'subscribe-to-comments-reloaded'),
|
199 |
+
'-C' => esc_html__( "Active", 'subscribe-to-comments-reloaded')
|
200 |
Â
);
|
201 |
Â
|
202 |
Â
if ( ! empty( $subscriptions ) && is_array( $subscriptions ) ) {
|
203 |
Â
|
204 |
+
$show_post_column = ( $operator != 'equals' || $search_field != 'post_id' ) ? esc_html__( 'Post (ID)', 'subscribe-to-comments-reloaded' ) : '';
|
205 |
+
$show_email_column = ( $operator != 'equals' || $search_field != 'email' ) ? esc_html__( 'Email', 'subscribe-to-comments-reloaded' ) : '';
|
206 |
Â
|
207 |
Â
echo "<table class=\"table table-smx table-hover table-striped subscribers-table stcr-hidden\" style=\"font-size: 0.8em\">
|
208 |
Â
<thead>";
|
212 |
Â
|
213 |
Â
echo "<tr>
|
214 |
Â
<th scope=\"col\">
|
215 |
+
<i class=\"fas fa-exchange-alt\"></i> <span>" . esc_html__( 'Actions', 'subscribe-to-comments-reloaded' ) . "</span>
|
216 |
Â
<input class='checkbox' type='checkbox' name='subscription_list_select_all' id='stcr_select_all' class='stcr_select_all'/>
|
217 |
Â
</th>
|
218 |
+
<th scope=\"col\"><i class=\"fas fa-thumbtack\"></i><span>" . esc_html( $show_post_column ) . "</span></th>
|
219 |
+
<th scope=\"col\"><i class=\"fas fa-address-card\"></i><span>" . esc_html( $show_email_column ) . "</span></th>
|
220 |
+
<th scope=\"col\"><i class=\"fas fa-calendar-alt\"></i><span>" . esc_html__( 'Date and Time', 'subscribe-to-comments-reloaded' ) . "</span></th>
|
221 |
+
<th scope=\"col\"><i class=\"fas fa-info-circle\"></i><span>" . esc_html__( 'Status', 'subscribe-to-comments-reloaded' ) . "</span></th>
|
222 |
Â
</tr>";
|
223 |
Â
}
|
224 |
Â
else
|
226 |
Â
echo "<tr>
|
227 |
Â
<th scope=\"col\">
|
228 |
Â
<input class='checkbox' type='checkbox' name='subscription_list_select_all' id='stcr_select_all' class='stcr_select_all'/>
|
229 |
+
<i class=\"fas fa-exchange-alt\"></i> <span>" . esc_html__( 'Actions', 'subscribe-to-comments-reloaded' ) . "</span>
|
230 |
Â
</th>
|
231 |
+
<th scope=\"col\"><i class=\"fas fa-thumbtack\"></i><span>" . esc_html( $show_post_column ) . "</span></th>
|
232 |
+
<th scope=\"col\"><i class=\"fas fa-address-card\"></i><span>" . esc_html( $show_email_column ) . "</span></th>
|
233 |
+
<th scope=\"col\"><i class=\"fas fa-calendar-alt\"></i><span>" . esc_html__( 'Date and Time', 'subscribe-to-comments-reloaded' ) . "</span></th>
|
234 |
+
<th scope=\"col\"><i class=\"fas fa-info-circle\"></i><span>" . esc_html__( 'Status', 'subscribe-to-comments-reloaded' ) . "</span></th>
|
235 |
Â
</tr>";
|
236 |
Â
}
|
237 |
Â
|
263 |
Â
{
|
264 |
Â
echo "<tr>
|
265 |
Â
<td>
|
266 |
+
<label for='sub_" . esc_attr( $a_subscription->meta_id ) . "' class='hidden'>" . esc_html__( 'Subscription', 'subscribe-to-comments-reloaded' ) . esc_attr( $a_subscription->meta_id ) . "</label>
|
267 |
+
<input class='checkbox' type='checkbox' name='subscriptions_list[]' value='" . esc_attr( $a_subscription->post_id ) . "," . urlencode( $a_subscription->email ) . "' id='sub_" . esc_attr( $a_subscription->meta_id ) . "' />
|
268 |
+
<a href='admin.php?page=stcr_manage_subscriptions&sra=edit-subscription&srp=" . esc_attr( $a_subscription->post_id ) . "&sre=" . urlencode( $a_subscription->email ) . "' alt='" . esc_html__( 'Edit', 'subscribe-to-comments-reloaded' ) . "'><i class=\"fas fa-edit\" style='font-size: 1.1em;color: #ffc53a;'></i></a>
|
269 |
+
<a href='" . esc_url( $delete_url ) . "' onclick='return confirm(\"" . esc_html__( 'Please remember: this operation cannot be undone. Are you sure you want to proceed?', 'subscribe-to-comments-reloaded' ) . "\");' alt='" . esc_html__( 'Delete', 'subscribe-to-comments-reloaded' ) . "'><i class=\"fas fa-trash-alt\" style='font-size: 1.1em;color: #ff695a;'></i></a>
|
270 |
Â
</td>
|
271 |
+
<td>" . wp_kses( $row_post, wp_kses_allowed_html( 'post' ) ) . "</td>
|
272 |
+
<td>" . wp_kses( $row_email, wp_kses_allowed_html( 'post' ) ) . "</td>
|
273 |
+
<td data-sort='" . esc_attr( $date_time_sort ) . "'>" . esc_html( $date_time ) . "</td>
|
274 |
+
<td>" . esc_html( $status_desc ) . "</td>
|
275 |
Â
</tr>";
|
276 |
Â
}
|
277 |
Â
else
|
278 |
Â
{
|
279 |
Â
echo "<tr>
|
280 |
Â
<td>
|
281 |
+
<label for='sub_" . esc_attr( $a_subscription->meta_id ) . "' class='hidden'>" . esc_html__( 'Subscription', 'subscribe-to-comments-reloaded' ) . esc_attr( $a_subscription->meta_id ) . "</label>
|
282 |
+
<input class='checkbox' type='checkbox' name='subscriptions_list[]' value='" . esc_attr( $a_subscription->post_id ) . "," . urlencode( $a_subscription->email ) . "' id='sub_" . esc_attr( $a_subscription->meta_id ) . "' />
|
283 |
+
<a href='admin.php?page=stcr_manage_subscriptions&sra=edit-subscription&srp=" . esc_attr( $a_subscription->post_id ) . "&sre=" . urlencode( $a_subscription->email ) . "' alt='" . esc_html__( 'Edit', 'subscribe-to-comments-reloaded' ) . "'><i class=\"fas fa-edit\" style='font-size: 1.1em;color: #ffc53a;'></i></a>
|
284 |
+
<a href='" . esc_url( $delete_url ) . "' onclick='return confirm(\"" . esc_html__( 'Please remember: this operation cannot be undone. Are you sure you want to proceed?', 'subscribe-to-comments-reloaded' ) . "\");' alt='" . esc_html__( 'Delete', 'subscribe-to-comments-reloaded' ) . "'><i class=\"fas fa-trash-alt\" style='font-size: 1.1em;color: #ff695a;'></i></a>
|
285 |
Â
</td>
|
286 |
+
<td>" . wp_kses( $row_post, wp_kses_allowed_html( 'post' ) ) . "</td>
|
287 |
+
<td>" . wp_kses( $row_email, wp_kses_allowed_html( 'post' ) ) . "</td>
|
288 |
+
<td data-sort='" . esc_attr( $date_time_sort ) . "'>" . esc_html( $date_time ) . "</td>
|
289 |
+
<td>" . esc_html( $status_desc ) . "</td>
|
290 |
Â
</tr>";
|
291 |
Â
}
|
292 |
Â
|
296 |
Â
echo "</table>";
|
297 |
Â
|
298 |
Â
echo "<div class='subscribers-mass-actions form-group row'>";
|
299 |
+
echo '<label for="action_type" class="col-sm-1 col-form-label">' . esc_html__( 'Action:', 'subscribe-to-comments-reloaded' ) . '</label >' ;
|
300 |
Â
?> <div class="col-sm-3">
|
301 |
Â
<select name="sra" id="action_type" class="form-control">
|
302 |
+
<option value="delete"><?php esc_html_e( 'Delete forever', 'subscribe-to-comments-reloaded' ) ?></option>
|
303 |
+
<option value="suspend"><?php esc_html_e( 'Suspend', 'subscribe-to-comments-reloaded' ) ?></option>
|
304 |
+
<option value="force_y"><?php esc_html_e( 'Activate and set to notify on all comments', 'subscribe-to-comments-reloaded' ) ?></option>
|
305 |
+
<option value="force_r"><?php esc_html_e( 'Activate and set to notify on replies only ', 'subscribe-to-comments-reloaded' ) ?></option>
|
306 |
+
<option value="activate"><?php esc_html_e( 'Activate', 'subscribe-to-comments-reloaded' ) ?></option>
|
307 |
Â
</select>
|
308 |
Â
</div>
|
309 |
Â
<?php
|
310 |
+
echo '<div class="col-sm-2"><button type="submit" class="subscribe-form-button btn btn-primary" >' . esc_html__( 'Update subscriptions', 'subscribe-to-comments-reloaded' ) . '</button></div>';
|
311 |
+
echo "<input type='hidden' name='srf' value='" . esc_attr( $search_field ) . "'/><input type='hidden' name='srt' value='" . esc_attr( $operator ) . "'/><input type='hidden' name='srv' value='" . esc_attr( $search_value ) . "'/><input type='hidden' name='srsf' value='" .esc_attr( $offset ) . "'/><input type='hidden' name='srrp' value='" . esc_attr( $limit_results ) . "'/><input type='hidden' name='srob' value='" . esc_attr( $order_by ) . "'/><input type='hidden' name='sro' value='" . esc_attr( $order ) . "'/>";
|
312 |
+
echo '</div>';
|
313 |
Â
|
314 |
Â
} elseif ( $action == 'search' ) {
|
315 |
+
echo '<p>' . esc_html__( 'Sorry, no subscriptions match your search criteria.', 'subscribe-to-comments-reloaded' ) . '</p>';
|
316 |
Â
}
|
317 |
Â
?>
|
318 |
Â
|
options/stcr_management_page.php
CHANGED
@@ -24,7 +24,7 @@ $options = array(
|
|
24 |
Â
);
|
25 |
Â
|
26 |
Â
$options_readable = array(
|
27 |
-
"manager_page" =>
|
28 |
Â
);
|
29 |
Â
|
30 |
Â
// Update options
|
@@ -33,18 +33,18 @@ if ( isset( $_POST['options'] ) ) {
|
|
33 |
Â
if ( empty( $_POST['stcr_save_management_page_nonce'] ) ) {
|
34 |
Â
return;
|
35 |
Â
}
|
36 |
-
|
37 |
Â
if ( ! wp_verify_nonce( $_POST['stcr_save_management_page_nonce'], 'stcr_save_management_page_nonce' ) ) {
|
38 |
Â
return;
|
39 |
Â
}
|
40 |
-
|
41 |
Â
if ( ! current_user_can( 'manage_options' ) ) {
|
42 |
Â
return;
|
43 |
Â
}
|
44 |
Â
|
45 |
Â
$faulty_fields = array();
|
46 |
-
|
47 |
-
foreach ( $
|
48 |
Â
{
|
49 |
Â
if ( ! $wp_subscribe_reloaded->stcr->utils->stcr_update_menu_options( $option, $value, $options[$option] ) )
|
50 |
Â
{
|
@@ -59,18 +59,18 @@ if ( isset( $_POST['options'] ) ) {
|
|
59 |
Â
// Display an alert in the admin interface if something went wrong
|
60 |
Â
if ( sizeof( $faulty_fields ) == 0 ) {
|
61 |
Â
echo '<div class="updated"><p>';
|
62 |
-
|
63 |
-
echo
|
64 |
Â
} else {
|
65 |
Â
echo '<div class="error"><p>';
|
66 |
-
|
67 |
-
echo
|
68 |
Â
foreach( $faulty_fields as $field )
|
69 |
Â
{
|
70 |
-
echo ' <li>> ' . $options_readable[$field] . '</li>';
|
71 |
Â
}
|
72 |
-
echo
|
73 |
-
echo
|
74 |
Â
}
|
75 |
Â
}
|
76 |
Â
wp_print_scripts( 'quicktags' );
|
@@ -85,25 +85,25 @@ wp_print_scripts( 'quicktags' );
|
|
85 |
Â
<form class="management_page_form" action="" method="post">
|
86 |
Â
|
87 |
Â
<div class="form-group row">
|
88 |
-
<label for="manager_page_enabled" class="col-sm-3 col-form-label text-right"><?php
|
89 |
Â
<div class="col-sm-7">
|
90 |
Â
<div class="switch">
|
91 |
Â
<input type="radio" class="switch-input" name="options[manager_page_enabled]"
|
92 |
Â
value="yes" id="manager_page_enabled-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'manager_page_enabled' ) == 'yes' ) ? ' checked' : ''; ?> />
|
93 |
Â
<label for="manager_page_enabled-yes" class="switch-label switch-label-off">
|
94 |
-
<?php
|
95 |
Â
</label>
|
96 |
Â
<input type="radio" class="switch-input" name="options[manager_page_enabled]" value="no" id="manager_page_enabled-no"
|
97 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'manager_page_enabled' ) == 'no' ) ? ' checked' : ''; ?> />
|
98 |
Â
<label for="manager_page_enabled-no" class="switch-label switch-label-on">
|
99 |
-
<?php
|
100 |
Â
</label>
|
101 |
Â
<span class="switch-selection"></span>
|
102 |
Â
</div>
|
103 |
Â
<div class="helpDescription subsOptDescriptions"
|
104 |
-
data-content="<?php
|
105 |
Â
data-placement="right"
|
106 |
-
aria-label="<?php
|
107 |
Â
<i class="fas fa-question-circle"></i>
|
108 |
Â
</div>
|
109 |
Â
</div>
|
@@ -111,16 +111,16 @@ wp_print_scripts( 'quicktags' );
|
|
111 |
Â
|
112 |
Â
<div class="form-group row">
|
113 |
Â
<label for="manager_page_title" class="col-sm-3 col-form-label text-right">
|
114 |
-
<?php
|
115 |
Â
<div class="col-sm-7">
|
116 |
Â
<input type="text" name="options[manager_page_title]" id="manager_page_title"
|
117 |
Â
class="form-control form-control-input-8"
|
118 |
Â
value="<?php echo esc_attr( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'manager_page_title' ) ); ?>" size="20">
|
119 |
Â
|
120 |
Â
<div class="helpDescription subsOptDescriptions"
|
121 |
-
data-content="<?php
|
122 |
Â
data-placement="right"
|
123 |
-
aria-label="<?php
|
124 |
Â
<i class="fas fa-question-circle"></i>
|
125 |
Â
</div>
|
126 |
Â
</div>
|
@@ -128,24 +128,24 @@ wp_print_scripts( 'quicktags' );
|
|
128 |
Â
|
129 |
Â
<div class="form-group row">
|
130 |
Â
<label for="manager_page" class="col-sm-3 col-form-label text-right">
|
131 |
-
<?php
|
132 |
Â
<div class="col-sm-7">
|
133 |
-
<code><?php echo get_bloginfo( 'url' ) ?></code>
|
134 |
Â
<input type="text" name="options[manager_page]" id="manager_page"
|
135 |
Â
class="form-control form-control-input-8"
|
136 |
Â
value="<?php echo esc_attr( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'manager_page' ) ); ?>" style=" width: 60% !important;">
|
137 |
Â
|
138 |
Â
<div class="helpDescription subsOptDescriptions"
|
139 |
-
data-content="<?php
|
140 |
Â
data-placement="bottom"
|
141 |
-
aria-label="<?php
|
142 |
Â
<i class="fas fa-question-circle"></i>
|
143 |
Â
</div>
|
144 |
Â
|
145 |
Â
<?php
|
146 |
Â
if ( ( get_option( 'permalink_structure' ) == '' ) && ( strpos( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'manager_page' ), '?page_id=' ) === false ) ) {
|
147 |
Â
echo "<div class=\"alert alert-danger\" role=\"alert\">";
|
148 |
-
echo '<strong>' .
|
149 |
Â
echo "</div>";
|
150 |
Â
}
|
151 |
Â
?>
|
@@ -154,81 +154,81 @@ wp_print_scripts( 'quicktags' );
|
|
154 |
Â
|
155 |
Â
<div class="form-group row">
|
156 |
Â
<label for="custom_header_meta" class="col-sm-3 col-form-label text-right">
|
157 |
-
<?php
|
158 |
Â
<div class="col-sm-7">
|
159 |
Â
<input type="text" name="options[custom_header_meta]" id="custom_header_meta"
|
160 |
Â
class="form-control form-control-input-8"
|
161 |
Â
value="<?php echo esc_attr( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'custom_header_meta' ) ); ?>" size="20">
|
162 |
Â
|
163 |
Â
<div class="helpDescription subsOptDescriptions"
|
164 |
-
data-content="<?php
|
165 |
Â
data-placement="right"
|
166 |
-
aria-label="<?php
|
167 |
Â
<i class="fas fa-question-circle"></i>
|
168 |
Â
</div>
|
169 |
Â
</div>
|
170 |
Â
</div>
|
171 |
Â
|
172 |
Â
<div class="form-group row">
|
173 |
-
<label for="allow_subscribe_without_comment" class="col-sm-3 col-form-label text-right"><?php
|
174 |
Â
<div class="col-sm-7">
|
175 |
Â
<div class="switch">
|
176 |
Â
<input type="radio" class="switch-input" name="options[allow_subscribe_without_comment]"
|
177 |
Â
value="yes" id="allow_subscribe_without_comment-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'allow_subscribe_without_comment', 'yes' ) == 'yes' ) ? ' checked' : ''; ?> />
|
178 |
Â
<label for="allow_subscribe_without_comment-yes" class="switch-label switch-label-off">
|
179 |
-
<?php
|
180 |
Â
</label>
|
181 |
Â
<input type="radio" class="switch-input" name="options[allow_subscribe_without_comment]" value="no" id="allow_subscribe_without_comment-no"
|
182 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'allow_subscribe_without_comment', 'yes' ) == 'no' ) ? ' checked' : ''; ?> />
|
183 |
Â
<label for="allow_subscribe_without_comment-no" class="switch-label switch-label-on">
|
184 |
-
<?php
|
185 |
Â
</label>
|
186 |
Â
<span class="switch-selection"></span>
|
187 |
Â
</div>
|
188 |
Â
<div class="helpDescription subsOptDescriptions"
|
189 |
-
data-content="<?php
|
190 |
Â
data-placement="right"
|
191 |
-
aria-label="<?php
|
192 |
Â
<i class="fas fa-question-circle"></i>
|
193 |
Â
</div>
|
194 |
Â
</div>
|
195 |
Â
</div>
|
196 |
Â
|
197 |
Â
<div class="form-group row">
|
198 |
-
<label for="allow_request_management_link" class="col-sm-3 col-form-label text-right"><?php
|
199 |
Â
<div class="col-sm-7">
|
200 |
Â
<div class="switch">
|
201 |
Â
<input type="radio" class="switch-input" name="options[allow_request_management_link]"
|
202 |
Â
value="yes" id="allow_request_management_link-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'allow_request_management_link', 'yes' ) == 'yes' ) ? ' checked' : ''; ?> />
|
203 |
Â
<label for="allow_request_management_link-yes" class="switch-label switch-label-off">
|
204 |
-
<?php
|
205 |
Â
</label>
|
206 |
Â
<input type="radio" class="switch-input" name="options[allow_request_management_link]" value="no" id="allow_request_management_link-no"
|
207 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'allow_request_management_link', 'yes' ) == 'no' ) ? ' checked' : ''; ?> />
|
208 |
Â
<label for="allow_request_management_link-no" class="switch-label switch-label-on">
|
209 |
-
<?php
|
210 |
Â
</label>
|
211 |
Â
<span class="switch-selection"></span>
|
212 |
Â
</div>
|
213 |
Â
<div class="helpDescription subsOptDescriptions"
|
214 |
-
data-content="<?php
|
215 |
Â
data-placement="right"
|
216 |
-
aria-label="<?php
|
217 |
Â
<i class="fas fa-question-circle"></i>
|
218 |
Â
</div>
|
219 |
Â
</div>
|
220 |
Â
</div>
|
221 |
Â
|
222 |
-
<h3><?php
|
223 |
Â
|
224 |
Â
<div class="form-group row">
|
225 |
Â
<label for="request_mgmt_link" class="col-sm-2 offset-sm-1 col-form-label" style="z-index: 9999;">
|
226 |
-
<?php
|
227 |
Â
|
228 |
Â
<div class="helpDescription subsOptDescriptions"
|
229 |
-
data-content="<?php
|
230 |
Â
data-placement="right"
|
231 |
-
aria-label="<?php
|
232 |
Â
<i class="fas fa-question-circle"></i>
|
233 |
Â
</div>
|
234 |
Â
|
@@ -250,12 +250,12 @@ wp_print_scripts( 'quicktags' );
|
|
250 |
Â
|
251 |
Â
<div class="form-group row" style="display: none;">
|
252 |
Â
<label for="request_mgmt_link_thankyou" class="col-sm-3 offset-sm-1 col-form-label" style="z-index: 9999;">
|
253 |
-
<?php
|
254 |
Â
|
255 |
Â
<div class="helpDescription subsOptDescriptions"
|
256 |
-
data-content="<?php
|
257 |
Â
data-placement="right"
|
258 |
-
aria-label="<?php
|
259 |
Â
<i class="fas fa-question-circle"></i>
|
260 |
Â
</div>
|
261 |
Â
|
@@ -277,12 +277,12 @@ wp_print_scripts( 'quicktags' );
|
|
277 |
Â
|
278 |
Â
<div class="form-group row">
|
279 |
Â
<label for="subscribe_without_commenting" class="col-sm-4 offset-sm-1 col-form-label" style="z-index: 9999;">
|
280 |
-
<?php
|
281 |
Â
|
282 |
Â
<div class="helpDescription subsOptDescriptions"
|
283 |
-
data-content="<?php
|
284 |
Â
data-placement="right"
|
285 |
-
aria-label="<?php
|
286 |
Â
<i class="fas fa-question-circle"></i>
|
287 |
Â
</div>
|
288 |
Â
|
@@ -304,12 +304,12 @@ wp_print_scripts( 'quicktags' );
|
|
304 |
Â
|
305 |
Â
<div class="form-group row">
|
306 |
Â
<label for="subscription_confirmed" class="col-sm-4 offset-sm-1 col-form-label" style="z-index: 9999;">
|
307 |
-
<?php
|
308 |
Â
|
309 |
Â
<div class="helpDescription subsOptDescriptions"
|
310 |
-
data-content="<?php
|
311 |
Â
data-placement="right"
|
312 |
-
aria-label="<?php
|
313 |
Â
<i class="fas fa-question-circle"></i>
|
314 |
Â
</div>
|
315 |
Â
|
@@ -331,12 +331,12 @@ wp_print_scripts( 'quicktags' );
|
|
331 |
Â
|
332 |
Â
<div class="form-group row">
|
333 |
Â
<label for="subscription_confirmed_dci" class="col-sm-4 offset-sm-1 col-form-label" style="z-index: 9999;">
|
334 |
-
<?php
|
335 |
Â
|
336 |
Â
<div class="helpDescription subsOptDescriptions"
|
337 |
-
data-content="<?php
|
338 |
Â
data-placement="right"
|
339 |
-
aria-label="<?php
|
340 |
Â
<i class="fas fa-question-circle"></i>
|
341 |
Â
</div>
|
342 |
Â
|
@@ -358,12 +358,12 @@ wp_print_scripts( 'quicktags' );
|
|
358 |
Â
|
359 |
Â
<div class="form-group row">
|
360 |
Â
<label for="author_text" class="col-sm-4 offset-sm-1 col-form-label" style="z-index: 9999;">
|
361 |
-
<?php
|
362 |
Â
|
363 |
Â
<div class="helpDescription subsOptDescriptions"
|
364 |
-
data-content="<?php
|
365 |
Â
data-placement="right"
|
366 |
-
aria-label="<?php
|
367 |
Â
<i class="fas fa-question-circle"></i>
|
368 |
Â
</div>
|
369 |
Â
|
@@ -385,12 +385,12 @@ wp_print_scripts( 'quicktags' );
|
|
385 |
Â
|
386 |
Â
<div class="form-group row">
|
387 |
Â
<label for="user_text" class="col-sm-4 offset-sm-1 col-form-label" style="z-index: 9999;">
|
388 |
-
<?php
|
389 |
Â
|
390 |
Â
<div class="helpDescription subsOptDescriptions"
|
391 |
-
data-content="<?php
|
392 |
Â
data-placement="right"
|
393 |
-
aria-label="<?php
|
394 |
Â
<i class="fas fa-question-circle"></i>
|
395 |
Â
</div>
|
396 |
Â
|
@@ -413,7 +413,7 @@ wp_print_scripts( 'quicktags' );
|
|
413 |
Â
<div class="form-group row">
|
414 |
Â
<div class="col-sm-9 offset-sm-1">
|
415 |
Â
<button type="submit" class="btn btn-primary subscribe-form-button" name="Submit">
|
416 |
-
<?php
|
417 |
Â
</button>
|
418 |
Â
</div>
|
419 |
Â
</div>
|
24 |
Â
);
|
25 |
Â
|
26 |
Â
$options_readable = array(
|
27 |
+
"manager_page" => esc_html__("Management URL",'subscribe-to-comments-reloaded')
|
28 |
Â
);
|
29 |
Â
|
30 |
Â
// Update options
|
33 |
Â
if ( empty( $_POST['stcr_save_management_page_nonce'] ) ) {
|
34 |
Â
return;
|
35 |
Â
}
|
36 |
+
|
37 |
Â
if ( ! wp_verify_nonce( $_POST['stcr_save_management_page_nonce'], 'stcr_save_management_page_nonce' ) ) {
|
38 |
Â
return;
|
39 |
Â
}
|
40 |
+
|
41 |
Â
if ( ! current_user_can( 'manage_options' ) ) {
|
42 |
Â
return;
|
43 |
Â
}
|
44 |
Â
|
45 |
Â
$faulty_fields = array();
|
46 |
+
$subscribe_options = wp_unslash( $_POST['options'] ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput
|
47 |
+
foreach ( $subscribe_options as $option => $value )
|
48 |
Â
{
|
49 |
Â
if ( ! $wp_subscribe_reloaded->stcr->utils->stcr_update_menu_options( $option, $value, $options[$option] ) )
|
50 |
Â
{
|
59 |
Â
// Display an alert in the admin interface if something went wrong
|
60 |
Â
if ( sizeof( $faulty_fields ) == 0 ) {
|
61 |
Â
echo '<div class="updated"><p>';
|
62 |
+
esc_html_e( 'Your settings have been successfully updated.', 'subscribe-to-comments-reloaded' );
|
63 |
+
echo '</p></div>';
|
64 |
Â
} else {
|
65 |
Â
echo '<div class="error"><p>';
|
66 |
+
esc_html_e( 'There was an error updating the following fields:', 'subscribe-to-comments-reloaded' );
|
67 |
+
echo '<ul style="font-size: 0.8em;">';
|
68 |
Â
foreach( $faulty_fields as $field )
|
69 |
Â
{
|
70 |
+
echo ' <li>> ' . esc_html( $options_readable[$field] ) . '</li>';
|
71 |
Â
}
|
72 |
+
echo '</ul>';
|
73 |
+
echo '</p></div>';
|
74 |
Â
}
|
75 |
Â
}
|
76 |
Â
wp_print_scripts( 'quicktags' );
|
85 |
Â
<form class="management_page_form" action="" method="post">
|
86 |
Â
|
87 |
Â
<div class="form-group row">
|
88 |
+
<label for="manager_page_enabled" class="col-sm-3 col-form-label text-right"><?php esc_html_e( 'Virtual Management Page', 'subscribe-to-comments-reloaded' ) ?></label>
|
89 |
Â
<div class="col-sm-7">
|
90 |
Â
<div class="switch">
|
91 |
Â
<input type="radio" class="switch-input" name="options[manager_page_enabled]"
|
92 |
Â
value="yes" id="manager_page_enabled-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'manager_page_enabled' ) == 'yes' ) ? ' checked' : ''; ?> />
|
93 |
Â
<label for="manager_page_enabled-yes" class="switch-label switch-label-off">
|
94 |
+
<?php esc_html_e( 'Yes', 'subscribe-to-comments-reloaded' ) ?>
|
95 |
Â
</label>
|
96 |
Â
<input type="radio" class="switch-input" name="options[manager_page_enabled]" value="no" id="manager_page_enabled-no"
|
97 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'manager_page_enabled' ) == 'no' ) ? ' checked' : ''; ?> />
|
98 |
Â
<label for="manager_page_enabled-no" class="switch-label switch-label-on">
|
99 |
+
<?php esc_html_e( 'No', 'subscribe-to-comments-reloaded' ) ?>
|
100 |
Â
</label>
|
101 |
Â
<span class="switch-selection"></span>
|
102 |
Â
</div>
|
103 |
Â
<div class="helpDescription subsOptDescriptions"
|
104 |
+
data-content="<?php echo wp_kses( __( "Disable the virtual management page if you need to create a <a href='https://github.com/stcr/subscribe-to-comments-reloaded/wiki/KB#create-a-real-management-page'>real page</a> to make your theme happy.", 'subscribe-to-comments-reloaded' ), wp_kses_allowed_html( 'post' ) ); ?>"
|
105 |
Â
data-placement="right"
|
106 |
+
aria-label="<?php echo wp_kses( __( "Disable the virtual management page if you need to create a <a href='https://github.com/stcr/subscribe-to-comments-reloaded/wiki/KB#create-a-real-management-page'>real page</a> to make your theme happy.", 'subscribe-to-comments-reloaded' ), wp_kses_allowed_html( 'post' ) ); ?>">
|
107 |
Â
<i class="fas fa-question-circle"></i>
|
108 |
Â
</div>
|
109 |
Â
</div>
|
111 |
Â
|
112 |
Â
<div class="form-group row">
|
113 |
Â
<label for="manager_page_title" class="col-sm-3 col-form-label text-right">
|
114 |
+
<?php esc_html_e( 'Page title', 'subscribe-to-comments-reloaded' ) ?></label>
|
115 |
Â
<div class="col-sm-7">
|
116 |
Â
<input type="text" name="options[manager_page_title]" id="manager_page_title"
|
117 |
Â
class="form-control form-control-input-8"
|
118 |
Â
value="<?php echo esc_attr( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'manager_page_title' ) ); ?>" size="20">
|
119 |
Â
|
120 |
Â
<div class="helpDescription subsOptDescriptions"
|
121 |
+
data-content="<?php esc_attr_e( 'Title of the page your visitors will use to manage their subscriptions.', 'subscribe-to-comments-reloaded' ); ?>"
|
122 |
Â
data-placement="right"
|
123 |
+
aria-label="<?php esc_attr_e( 'Title of the page your visitors will use to manage their subscriptions.', 'subscribe-to-comments-reloaded' ); ?>">
|
124 |
Â
<i class="fas fa-question-circle"></i>
|
125 |
Â
</div>
|
126 |
Â
</div>
|
128 |
Â
|
129 |
Â
<div class="form-group row">
|
130 |
Â
<label for="manager_page" class="col-sm-3 col-form-label text-right">
|
131 |
+
<?php esc_html_e( 'Management URL', 'subscribe-to-comments-reloaded' ) ?></label>
|
132 |
Â
<div class="col-sm-7">
|
133 |
+
<code><?php echo esc_url( get_bloginfo( 'url' ) ); ?></code>
|
134 |
Â
<input type="text" name="options[manager_page]" id="manager_page"
|
135 |
Â
class="form-control form-control-input-8"
|
136 |
Â
value="<?php echo esc_attr( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'manager_page' ) ); ?>" style=" width: 60% !important;">
|
137 |
Â
|
138 |
Â
<div class="helpDescription subsOptDescriptions"
|
139 |
+
data-content="<?php echo wp_kses( __( "The permalink for your management page (something like <code>/manage-subscriptions</code> or <code>/?page_id=345</code>). This page <b>does not</b> actually exist in the system, but its link must follow your permalink structure.", 'subscribe-to-comments-reloaded' ), wp_kses_allowed_html( 'post' ) ); ?>"
|
140 |
Â
data-placement="bottom"
|
141 |
+
aria-label="<?php echo wp_kses( __( "The permalink for your management page (something like <code>/manage-subscriptions</code> or <code>/?page_id=345</code>). This page <b>does not</b> actually exist in the system, but its link must follow your permalink structure.", 'subscribe-to-comments-reloaded' ), wp_kses_allowed_html( 'post' ) ); ?>">
|
142 |
Â
<i class="fas fa-question-circle"></i>
|
143 |
Â
</div>
|
144 |
Â
|
145 |
Â
<?php
|
146 |
Â
if ( ( get_option( 'permalink_structure' ) == '' ) && ( strpos( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'manager_page' ), '?page_id=' ) === false ) ) {
|
147 |
Â
echo "<div class=\"alert alert-danger\" role=\"alert\">";
|
148 |
+
echo '<strong>' . esc_html__( "Warning: it looks like the value you are using may be incompatible with your permalink structure", 'subscribe-to-comments-reloaded' ) . '</strong>';
|
149 |
Â
echo "</div>";
|
150 |
Â
}
|
151 |
Â
?>
|
154 |
Â
|
155 |
Â
<div class="form-group row">
|
156 |
Â
<label for="custom_header_meta" class="col-sm-3 col-form-label text-right">
|
157 |
+
<?php esc_html_e( 'Custom HEAD meta', 'subscribe-to-comments-reloaded' ) ?></label>
|
158 |
Â
<div class="col-sm-7">
|
159 |
Â
<input type="text" name="options[custom_header_meta]" id="custom_header_meta"
|
160 |
Â
class="form-control form-control-input-8"
|
161 |
Â
value="<?php echo esc_attr( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'custom_header_meta' ) ); ?>" size="20">
|
162 |
Â
|
163 |
Â
<div class="helpDescription subsOptDescriptions"
|
164 |
+
data-content="<?php echo wp_kses( __( 'Specify your custom HTML code to be added to the HEAD section of the page. Use <strong>single</strong> quotes for values.', 'subscribe-to-comments-reloaded' ), wp_kses_allowed_html( 'post' ) ); ?>"
|
165 |
Â
data-placement="right"
|
166 |
+
aria-label="<?php echo wp_kses( __( 'Specify your custom HTML code to be added to the HEAD section of the page. Use <strong>single</strong> quotes for values.', 'subscribe-to-comments-reloaded' ), wp_kses_allowed_html( 'post' ) ); ?>">
|
167 |
Â
<i class="fas fa-question-circle"></i>
|
168 |
Â
</div>
|
169 |
Â
</div>
|
170 |
Â
</div>
|
171 |
Â
|
172 |
Â
<div class="form-group row">
|
173 |
+
<label for="allow_subscribe_without_comment" class="col-sm-3 col-form-label text-right"><?php esc_html_e( 'Allow "Subscribe Without Comment"', 'subscribe-to-comments-reloaded' ) ?></label>
|
174 |
Â
<div class="col-sm-7">
|
175 |
Â
<div class="switch">
|
176 |
Â
<input type="radio" class="switch-input" name="options[allow_subscribe_without_comment]"
|
177 |
Â
value="yes" id="allow_subscribe_without_comment-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'allow_subscribe_without_comment', 'yes' ) == 'yes' ) ? ' checked' : ''; ?> />
|
178 |
Â
<label for="allow_subscribe_without_comment-yes" class="switch-label switch-label-off">
|
179 |
+
<?php esc_html_e( 'Yes', 'subscribe-to-comments-reloaded' ) ?>
|
180 |
Â
</label>
|
181 |
Â
<input type="radio" class="switch-input" name="options[allow_subscribe_without_comment]" value="no" id="allow_subscribe_without_comment-no"
|
182 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'allow_subscribe_without_comment', 'yes' ) == 'no' ) ? ' checked' : ''; ?> />
|
183 |
Â
<label for="allow_subscribe_without_comment-no" class="switch-label switch-label-on">
|
184 |
+
<?php esc_html_e( 'No', 'subscribe-to-comments-reloaded' ) ?>
|
185 |
Â
</label>
|
186 |
Â
<span class="switch-selection"></span>
|
187 |
Â
</div>
|
188 |
Â
<div class="helpDescription subsOptDescriptions"
|
189 |
+
data-content="<?php esc_attr_e( "Enable or disable the form that allows visitors to subscribe to comments notifications without commenting.", 'subscribe-to-comments-reloaded' ); ?>"
|
190 |
Â
data-placement="right"
|
191 |
+
aria-label="<?php esc_attr_e( "Enable or disable the form that allows visitors to subscribe to comments notifications without commenting.", 'subscribe-to-comments-reloaded' ); ?>">
|
192 |
Â
<i class="fas fa-question-circle"></i>
|
193 |
Â
</div>
|
194 |
Â
</div>
|
195 |
Â
</div>
|
196 |
Â
|
197 |
Â
<div class="form-group row">
|
198 |
+
<label for="allow_request_management_link" class="col-sm-3 col-form-label text-right"><?php esc_html_e( 'Allow "Request Management Link"', 'subscribe-to-comments-reloaded' ) ?></label>
|
199 |
Â
<div class="col-sm-7">
|
200 |
Â
<div class="switch">
|
201 |
Â
<input type="radio" class="switch-input" name="options[allow_request_management_link]"
|
202 |
Â
value="yes" id="allow_request_management_link-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'allow_request_management_link', 'yes' ) == 'yes' ) ? ' checked' : ''; ?> />
|
203 |
Â
<label for="allow_request_management_link-yes" class="switch-label switch-label-off">
|
204 |
+
<?php esc_html_e( 'Yes', 'subscribe-to-comments-reloaded' ) ?>
|
205 |
Â
</label>
|
206 |
Â
<input type="radio" class="switch-input" name="options[allow_request_management_link]" value="no" id="allow_request_management_link-no"
|
207 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'allow_request_management_link', 'yes' ) == 'no' ) ? ' checked' : ''; ?> />
|
208 |
Â
<label for="allow_request_management_link-no" class="switch-label switch-label-on">
|
209 |
+
<?php esc_html_e( 'No', 'subscribe-to-comments-reloaded' ) ?>
|
210 |
Â
</label>
|
211 |
Â
<span class="switch-selection"></span>
|
212 |
Â
</div>
|
213 |
Â
<div class="helpDescription subsOptDescriptions"
|
214 |
+
data-content="<?php esc_attr_e( "Enable or disable the form that allows visitors to to request a subscription management link.", 'subscribe-to-comments-reloaded' ); ?>"
|
215 |
Â
data-placement="right"
|
216 |
+
aria-label="<?php esc_attr_e( "Enable or disable the form that allows visitors to to request a subscription management link.", 'subscribe-to-comments-reloaded' ); ?>">
|
217 |
Â
<i class="fas fa-question-circle"></i>
|
218 |
Â
</div>
|
219 |
Â
</div>
|
220 |
Â
</div>
|
221 |
Â
|
222 |
+
<h3><?php esc_html_e( 'Messages', 'subscribe-to-comments-reloaded' ) ?></h3>
|
223 |
Â
|
224 |
Â
<div class="form-group row">
|
225 |
Â
<label for="request_mgmt_link" class="col-sm-2 offset-sm-1 col-form-label" style="z-index: 9999;">
|
226 |
+
<?php esc_html_e( 'Request link', 'subscribe-to-comments-reloaded' ) ?>
|
227 |
Â
|
228 |
Â
<div class="helpDescription subsOptDescriptions"
|
229 |
+
data-content="<?php esc_attr_e( 'Text shown to those who request to manage their subscriptions.', 'subscribe-to-comments-reloaded' ); ?>"
|
230 |
Â
data-placement="right"
|
231 |
+
aria-label="<?php esc_attr_e( 'Text shown to those who request to manage their subscriptions.', 'subscribe-to-comments-reloaded' ); ?>">
|
232 |
Â
<i class="fas fa-question-circle"></i>
|
233 |
Â
</div>
|
234 |
Â
|
250 |
Â
|
251 |
Â
<div class="form-group row" style="display: none;">
|
252 |
Â
<label for="request_mgmt_link_thankyou" class="col-sm-3 offset-sm-1 col-form-label" style="z-index: 9999;">
|
253 |
+
<?php esc_html_e( 'Request submitted', 'subscribe-to-comments-reloaded' ) ?>
|
254 |
Â
|
255 |
Â
<div class="helpDescription subsOptDescriptions"
|
256 |
+
data-content="<?php esc_attr_e( 'Thank you note shown after the request here above has been processed. Allowed tags: [post_title], [post_permalink]', 'subscribe-to-comments-reloaded' ); ?>"
|
257 |
Â
data-placement="right"
|
258 |
+
aria-label="<?php esc_attr_e( 'Thank you note shown after the request here above has been processed. Allowed tags: [post_title], [post_permalink]', 'subscribe-to-comments-reloaded' ); ?>">
|
259 |
Â
<i class="fas fa-question-circle"></i>
|
260 |
Â
</div>
|
261 |
Â
|
277 |
Â
|
278 |
Â
<div class="form-group row">
|
279 |
Â
<label for="subscribe_without_commenting" class="col-sm-4 offset-sm-1 col-form-label" style="z-index: 9999;">
|
280 |
+
<?php esc_html_e( 'Subscribe without commenting', 'subscribe-to-comments-reloaded' ) ?>
|
281 |
Â
|
282 |
Â
<div class="helpDescription subsOptDescriptions"
|
283 |
+
data-content="<?php esc_attr_e( 'Text shown to those who want to subscribe without commenting. Allowed tags: [post_title], [post_permalink]', 'subscribe-to-comments-reloaded' ); ?>"
|
284 |
Â
data-placement="right"
|
285 |
+
aria-label="<?php esc_attr_e( 'Text shown to those who want to subscribe without commenting. Allowed tags: [post_title], [post_permalink]', 'subscribe-to-comments-reloaded' ); ?>">
|
286 |
Â
<i class="fas fa-question-circle"></i>
|
287 |
Â
</div>
|
288 |
Â
|
304 |
Â
|
305 |
Â
<div class="form-group row">
|
306 |
Â
<label for="subscription_confirmed" class="col-sm-4 offset-sm-1 col-form-label" style="z-index: 9999;">
|
307 |
+
<?php esc_html_e( 'Subscription processed', 'subscribe-to-comments-reloaded' ) ?>
|
308 |
Â
|
309 |
Â
<div class="helpDescription subsOptDescriptions"
|
310 |
+
data-content="<?php esc_attr_e( 'Thank you note shown after the subscription request has been processed (double check-in disabled). Allowed tags: [post_title], [post_permalink]', 'subscribe-to-comments-reloaded' ); ?>"
|
311 |
Â
data-placement="right"
|
312 |
+
aria-label="<?php esc_attr_e( 'Thank you note shown after the subscription request has been processed (double check-in disabled). Allowed tags: [post_title], [post_permalink]', 'subscribe-to-comments-reloaded' ); ?>">
|
313 |
Â
<i class="fas fa-question-circle"></i>
|
314 |
Â
</div>
|
315 |
Â
|
331 |
Â
|
332 |
Â
<div class="form-group row">
|
333 |
Â
<label for="subscription_confirmed_dci" class="col-sm-4 offset-sm-1 col-form-label" style="z-index: 9999;">
|
334 |
+
<?php esc_html_e( 'Subscription processed (DCI)', 'subscribe-to-comments-reloaded' ) ?>
|
335 |
Â
|
336 |
Â
<div class="helpDescription subsOptDescriptions"
|
337 |
+
data-content="<?php esc_attr_e( 'Thank you note shown after the subscription request has been processed (double check-in enabled). Allowed tags: [post_title], [post_permalink]', 'subscribe-to-comments-reloaded' ); ?>"
|
338 |
Â
data-placement="right"
|
339 |
+
aria-label="<?php esc_attr_e( 'Thank you note shown after the subscription request has been processed (double check-in enabled). Allowed tags: [post_title], [post_permalink]', 'subscribe-to-comments-reloaded' ); ?>">
|
340 |
Â
<i class="fas fa-question-circle"></i>
|
341 |
Â
</div>
|
342 |
Â
|
358 |
Â
|
359 |
Â
<div class="form-group row">
|
360 |
Â
<label for="author_text" class="col-sm-4 offset-sm-1 col-form-label" style="z-index: 9999;">
|
361 |
+
<?php esc_html_e( 'Authors', 'subscribe-to-comments-reloaded' ) ?>
|
362 |
Â
|
363 |
Â
<div class="helpDescription subsOptDescriptions"
|
364 |
+
data-content="<?php esc_attr_e( "Introductory text for the authors' management page.", 'subscribe-to-comments-reloaded' ); ?>"
|
365 |
Â
data-placement="right"
|
366 |
+
aria-label="<?php esc_attr_e( "Introductory text for the authors' management page.", 'subscribe-to-comments-reloaded' ); ?>">
|
367 |
Â
<i class="fas fa-question-circle"></i>
|
368 |
Â
</div>
|
369 |
Â
|
385 |
Â
|
386 |
Â
<div class="form-group row">
|
387 |
Â
<label for="user_text" class="col-sm-4 offset-sm-1 col-form-label" style="z-index: 9999;">
|
388 |
+
<?php esc_html_e( 'Users', 'subscribe-to-comments-reloaded' ) ?>
|
389 |
Â
|
390 |
Â
<div class="helpDescription subsOptDescriptions"
|
391 |
+
data-content="<?php esc_attr_e( "Introductory text for the users' management page.", 'subscribe-to-comments-reloaded' ); ?>"
|
392 |
Â
data-placement="right"
|
393 |
+
aria-label="<?php esc_attr_e( "Introductory text for the users' management page.", 'subscribe-to-comments-reloaded' ); ?>">
|
394 |
Â
<i class="fas fa-question-circle"></i>
|
395 |
Â
</div>
|
396 |
Â
|
413 |
Â
<div class="form-group row">
|
414 |
Â
<div class="col-sm-9 offset-sm-1">
|
415 |
Â
<button type="submit" class="btn btn-primary subscribe-form-button" name="Submit">
|
416 |
+
<?php esc_html_e( 'Save Changes', 'subscribe-to-comments-reloaded' ) ?>
|
417 |
Â
</button>
|
418 |
Â
</div>
|
419 |
Â
</div>
|
options/stcr_notifications.php
CHANGED
@@ -27,18 +27,18 @@ if ( isset( $_POST['options'] ) ) {
|
|
27 |
Â
if ( empty( $_POST['stcr_save_notifications_nonce'] ) ) {
|
28 |
Â
return;
|
29 |
Â
}
|
30 |
-
|
31 |
Â
if ( ! wp_verify_nonce( $_POST['stcr_save_notifications_nonce'], 'stcr_save_notifications_nonce' ) ) {
|
32 |
Â
return;
|
33 |
Â
}
|
34 |
-
|
35 |
Â
if ( ! current_user_can( 'manage_options' ) ) {
|
36 |
Â
return;
|
37 |
Â
}
|
38 |
Â
|
39 |
Â
$faulty_fields = array();
|
40 |
-
|
41 |
-
foreach ( $
|
42 |
Â
{
|
43 |
Â
|
44 |
Â
if ( $option === "notification_content" )
|
@@ -64,12 +64,12 @@ if ( isset( $_POST['options'] ) ) {
|
|
64 |
Â
// Display an alert in the admin interface if something went wrong
|
65 |
Â
echo '<div class="updated"><p>';
|
66 |
Â
if ( sizeof( $faulty_fields ) == 0 ) {
|
67 |
-
|
68 |
Â
} else {
|
69 |
-
|
70 |
Â
// echo ' <strong>' . substr( $faulty_fields, 0, - 2 ) . '</strong>';
|
71 |
Â
}
|
72 |
-
echo
|
73 |
Â
}
|
74 |
Â
wp_print_scripts( 'quicktags' );
|
75 |
Â
|
@@ -84,7 +84,7 @@ wp_print_scripts( 'quicktags' );
|
|
84 |
Â
|
85 |
Â
<div class="form-group row">
|
86 |
Â
<label for="from_name" class="col-sm-3 col-form-label text-right">
|
87 |
-
<?php
|
88 |
Â
<div class="col-sm-7">
|
89 |
Â
<input type="text" name="options[from_name]" id="from_name"
|
90 |
Â
class="form-control form-control-input-8"
|
@@ -101,7 +101,7 @@ wp_print_scripts( 'quicktags' );
|
|
101 |
Â
|
102 |
Â
<div class="form-group row">
|
103 |
Â
<label for="from_email" class="col-sm-3 col-form-label text-right">
|
104 |
-
<?php
|
105 |
Â
<div class="col-sm-7">
|
106 |
Â
<input type="text" name="options[from_email]" id="from_email"
|
107 |
Â
class="form-control form-control-input-8"
|
@@ -118,7 +118,7 @@ wp_print_scripts( 'quicktags' );
|
|
118 |
Â
|
119 |
Â
<div class="form-group row">
|
120 |
Â
<label for="reply_to" class="col-sm-3 col-form-label text-right">
|
121 |
-
<?php
|
122 |
Â
<div class="col-sm-7">
|
123 |
Â
<input type="text" name="options[reply_to]" id="reply_to"
|
124 |
Â
class="form-control form-control-input-8"
|
@@ -133,11 +133,11 @@ wp_print_scripts( 'quicktags' );
|
|
133 |
Â
</div>
|
134 |
Â
</div>
|
135 |
Â
|
136 |
-
<h3><?php
|
137 |
Â
|
138 |
Â
<div class="form-group row">
|
139 |
Â
<label for="notification_subject" class="col-sm-3 col-form-label text-right">
|
140 |
-
<?php
|
141 |
Â
<div class="col-sm-7">
|
142 |
Â
<input type="text" name="options[notification_subject]" id="notification_subject"
|
143 |
Â
class="form-control form-control-input-8"
|
@@ -154,7 +154,7 @@ wp_print_scripts( 'quicktags' );
|
|
154 |
Â
|
155 |
Â
<div class="form-group row">
|
156 |
Â
<label for="notification_content" class="col-sm-4 offset-sm-1 col-form-label" style="z-index: 9999;">
|
157 |
-
<?php
|
158 |
Â
|
159 |
Â
<div class="helpDescription subsOptDescriptions"
|
160 |
Â
data-content="<?php esc_attr_e( "Content of the notification email. Allowed tags: [post_title], [comment_permalink], [comment_author], [comment_content], [post_permalink], [manager_link], [comment_gravatar]<p style='color: #156dc7;'><strong>Note: To get a default template clear all the content and save the options.</strong></p>", 'subscribe-to-comments-reloaded' ); ?>"
|
@@ -185,7 +185,7 @@ wp_print_scripts( 'quicktags' );
|
|
185 |
Â
|
186 |
Â
<div class="form-group row">
|
187 |
Â
<label for="double_check_subject" class="col-sm-3 col-form-label text-right">
|
188 |
-
<?php
|
189 |
Â
<div class="col-sm-7">
|
190 |
Â
<input type="text" name="options[double_check_subject]" id="double_check_subject"
|
191 |
Â
class="form-control form-control-input-8"
|
@@ -202,7 +202,7 @@ wp_print_scripts( 'quicktags' );
|
|
202 |
Â
|
203 |
Â
<div class="form-group row">
|
204 |
Â
<label for="double_check_content" class="col-sm-3 offset-sm-1 col-form-label" style="z-index: 9999;">
|
205 |
-
<?php
|
206 |
Â
|
207 |
Â
<div class="helpDescription subsOptDescriptions"
|
208 |
Â
data-content="<?php esc_attr_e( "Content of the confirmation email. Allowed tags: [post_permalink], [confirm_link], [post_title], [manager_link]", 'subscribe-to-comments-reloaded' ); ?>"
|
@@ -229,7 +229,7 @@ wp_print_scripts( 'quicktags' );
|
|
229 |
Â
|
230 |
Â
<div class="form-group row">
|
231 |
Â
<label for="management_subject" class="col-sm-3 col-form-label text-right">
|
232 |
-
<?php
|
233 |
Â
<div class="col-sm-7">
|
234 |
Â
<input type="text" name="options[management_subject]" id="management_subject"
|
235 |
Â
class="form-control form-control-input-8"
|
@@ -249,12 +249,12 @@ wp_print_scripts( 'quicktags' );
|
|
249 |
Â
$management_page_message = $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'management_content' );
|
250 |
Â
if ( empty( $management_page_message ) ) { $management_page_message = ''; }
|
251 |
Â
if ( strpos( $management_page_message, '[manager_link]' ) ) {
|
252 |
-
$disallowed_tags['manager_link'] =
|
253 |
Â
}
|
254 |
Â
?>
|
255 |
Â
<div class="form-group row">
|
256 |
Â
<label for="management_content" class="col-sm-4 offset-sm-1 col-form-label" style="z-index: 9999;">
|
257 |
-
<?php
|
258 |
Â
|
259 |
Â
<div class="helpDescription subsOptDescriptions"
|
260 |
Â
data-content="<?php esc_attr_e( "Content of the management Page message. Allowed tags: [blog_name].", 'subscribe-to-comments-reloaded' ); ?>"
|
@@ -269,7 +269,7 @@ wp_print_scripts( 'quicktags' );
|
|
269 |
Â
<?php if ( ! empty( $disallowed_tags ) ) : ?>
|
270 |
Â
<p class="notice notice-error" style="margin: 0;padding:8px;">
|
271 |
Â
<?php foreach ( $disallowed_tags as $disallowed_tag_id => $disallowed_tag_message ) : ?>
|
272 |
-
<?php echo $disallowed_tag_message; ?>
|
273 |
Â
<?php endforeach; ?>
|
274 |
Â
</ul>
|
275 |
Â
</p>
|
@@ -290,7 +290,7 @@ wp_print_scripts( 'quicktags' );
|
|
290 |
Â
|
291 |
Â
<div class="form-group row">
|
292 |
Â
<label for="management_email_content" class="col-sm-4 offset-sm-1 col-form-label" style="z-index: 9999;">
|
293 |
-
<?php
|
294 |
Â
|
295 |
Â
<div class="helpDescription subsOptDescriptions"
|
296 |
Â
data-content="<?php esc_attr_e( "Content of the management email message. Allowed tags: [blog_name], [manager_link].", 'subscribe-to-comments-reloaded' ); ?>"
|
@@ -317,7 +317,7 @@ wp_print_scripts( 'quicktags' );
|
|
317 |
Â
|
318 |
Â
<div class="form-group row">
|
319 |
Â
<label for="oneclick_text" class="col-sm-4 offset-sm-1 col-form-label" style="z-index: 9999;">
|
320 |
-
<?php
|
321 |
Â
|
322 |
Â
<div class="helpDescription subsOptDescriptions"
|
323 |
Â
data-content="<?php esc_attr_e( "Content of the One Click confirmation. Allowed tags: [post_title], [blog_name].", 'subscribe-to-comments-reloaded' ); ?>"
|
@@ -345,7 +345,7 @@ wp_print_scripts( 'quicktags' );
|
|
345 |
Â
<div class="form-group row">
|
346 |
Â
<div class="col-sm-9 offset-sm-1">
|
347 |
Â
<button type="submit" class="btn btn-primary subscribe-form-button" name="Submit">
|
348 |
-
<?php
|
349 |
Â
</button>
|
350 |
Â
</div>
|
351 |
Â
</div>
|
27 |
Â
if ( empty( $_POST['stcr_save_notifications_nonce'] ) ) {
|
28 |
Â
return;
|
29 |
Â
}
|
30 |
+
|
31 |
Â
if ( ! wp_verify_nonce( $_POST['stcr_save_notifications_nonce'], 'stcr_save_notifications_nonce' ) ) {
|
32 |
Â
return;
|
33 |
Â
}
|
34 |
+
|
35 |
Â
if ( ! current_user_can( 'manage_options' ) ) {
|
36 |
Â
return;
|
37 |
Â
}
|
38 |
Â
|
39 |
Â
$faulty_fields = array();
|
40 |
+
$subscribe_options = wp_unslash( $_POST['options'] ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput
|
41 |
+
foreach ( $subscribe_options as $option => $value )
|
42 |
Â
{
|
43 |
Â
|
44 |
Â
if ( $option === "notification_content" )
|
64 |
Â
// Display an alert in the admin interface if something went wrong
|
65 |
Â
echo '<div class="updated"><p>';
|
66 |
Â
if ( sizeof( $faulty_fields ) == 0 ) {
|
67 |
+
esc_html_e( 'Your settings have been successfully updated.', 'subscribe-to-comments-reloaded' );
|
68 |
Â
} else {
|
69 |
+
esc_html_e( 'There was an error updating the options.', 'subscribe-to-comments-reloaded' );
|
70 |
Â
// echo ' <strong>' . substr( $faulty_fields, 0, - 2 ) . '</strong>';
|
71 |
Â
}
|
72 |
+
echo '</p></div>';
|
73 |
Â
}
|
74 |
Â
wp_print_scripts( 'quicktags' );
|
75 |
Â
|
84 |
Â
|
85 |
Â
<div class="form-group row">
|
86 |
Â
<label for="from_name" class="col-sm-3 col-form-label text-right">
|
87 |
+
<?php esc_html_e( 'Sender email address', 'subscribe-to-comments-reloaded' ) ?></label>
|
88 |
Â
<div class="col-sm-7">
|
89 |
Â
<input type="text" name="options[from_name]" id="from_name"
|
90 |
Â
class="form-control form-control-input-8"
|
101 |
Â
|
102 |
Â
<div class="form-group row">
|
103 |
Â
<label for="from_email" class="col-sm-3 col-form-label text-right">
|
104 |
+
<?php esc_html_e( 'Sender email address', 'subscribe-to-comments-reloaded' ) ?></label>
|
105 |
Â
<div class="col-sm-7">
|
106 |
Â
<input type="text" name="options[from_email]" id="from_email"
|
107 |
Â
class="form-control form-control-input-8"
|
118 |
Â
|
119 |
Â
<div class="form-group row">
|
120 |
Â
<label for="reply_to" class="col-sm-3 col-form-label text-right">
|
121 |
+
<?php esc_html_e( 'Reply To', 'subscribe-to-comments-reloaded' ) ?></label>
|
122 |
Â
<div class="col-sm-7">
|
123 |
Â
<input type="text" name="options[reply_to]" id="reply_to"
|
124 |
Â
class="form-control form-control-input-8"
|
133 |
Â
</div>
|
134 |
Â
</div>
|
135 |
Â
|
136 |
+
<h3><?php esc_html_e( 'Messages', 'subscribe-to-comments-reloaded' ) ?></h3>
|
137 |
Â
|
138 |
Â
<div class="form-group row">
|
139 |
Â
<label for="notification_subject" class="col-sm-3 col-form-label text-right">
|
140 |
+
<?php esc_html_e( 'Notification subject', 'subscribe-to-comments-reloaded' ) ?></label>
|
141 |
Â
<div class="col-sm-7">
|
142 |
Â
<input type="text" name="options[notification_subject]" id="notification_subject"
|
143 |
Â
class="form-control form-control-input-8"
|
154 |
Â
|
155 |
Â
<div class="form-group row">
|
156 |
Â
<label for="notification_content" class="col-sm-4 offset-sm-1 col-form-label" style="z-index: 9999;">
|
157 |
+
<?php esc_html_e( 'Notification message', 'subscribe-to-comments-reloaded' ) ?>
|
158 |
Â
|
159 |
Â
<div class="helpDescription subsOptDescriptions"
|
160 |
Â
data-content="<?php esc_attr_e( "Content of the notification email. Allowed tags: [post_title], [comment_permalink], [comment_author], [comment_content], [post_permalink], [manager_link], [comment_gravatar]<p style='color: #156dc7;'><strong>Note: To get a default template clear all the content and save the options.</strong></p>", 'subscribe-to-comments-reloaded' ); ?>"
|
185 |
Â
|
186 |
Â
<div class="form-group row">
|
187 |
Â
<label for="double_check_subject" class="col-sm-3 col-form-label text-right">
|
188 |
+
<?php esc_html_e( 'Double check subject', 'subscribe-to-comments-reloaded' ) ?></label>
|
189 |
Â
<div class="col-sm-7">
|
190 |
Â
<input type="text" name="options[double_check_subject]" id="double_check_subject"
|
191 |
Â
class="form-control form-control-input-8"
|
202 |
Â
|
203 |
Â
<div class="form-group row">
|
204 |
Â
<label for="double_check_content" class="col-sm-3 offset-sm-1 col-form-label" style="z-index: 9999;">
|
205 |
+
<?php esc_html_e( 'Double check message', 'subscribe-to-comments-reloaded' ) ?>
|
206 |
Â
|
207 |
Â
<div class="helpDescription subsOptDescriptions"
|
208 |
Â
data-content="<?php esc_attr_e( "Content of the confirmation email. Allowed tags: [post_permalink], [confirm_link], [post_title], [manager_link]", 'subscribe-to-comments-reloaded' ); ?>"
|
229 |
Â
|
230 |
Â
<div class="form-group row">
|
231 |
Â
<label for="management_subject" class="col-sm-3 col-form-label text-right">
|
232 |
+
<?php esc_html_e( 'Management subject', 'subscribe-to-comments-reloaded' ) ?></label>
|
233 |
Â
<div class="col-sm-7">
|
234 |
Â
<input type="text" name="options[management_subject]" id="management_subject"
|
235 |
Â
class="form-control form-control-input-8"
|
249 |
Â
$management_page_message = $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'management_content' );
|
250 |
Â
if ( empty( $management_page_message ) ) { $management_page_message = ''; }
|
251 |
Â
if ( strpos( $management_page_message, '[manager_link]' ) ) {
|
252 |
+
$disallowed_tags['manager_link'] = esc_html__( '[manager_link] tag only works for "Management Email message". It is a private link that takes to a management page and for security reasons has to be sent to the email address.', 'subscribe-to-comments-reloaded' );
|
253 |
Â
}
|
254 |
Â
?>
|
255 |
Â
<div class="form-group row">
|
256 |
Â
<label for="management_content" class="col-sm-4 offset-sm-1 col-form-label" style="z-index: 9999;">
|
257 |
+
<?php esc_html_e( 'Management Page message', 'subscribe-to-comments-reloaded' ) ?>
|
258 |
Â
|
259 |
Â
<div class="helpDescription subsOptDescriptions"
|
260 |
Â
data-content="<?php esc_attr_e( "Content of the management Page message. Allowed tags: [blog_name].", 'subscribe-to-comments-reloaded' ); ?>"
|
269 |
Â
<?php if ( ! empty( $disallowed_tags ) ) : ?>
|
270 |
Â
<p class="notice notice-error" style="margin: 0;padding:8px;">
|
271 |
Â
<?php foreach ( $disallowed_tags as $disallowed_tag_id => $disallowed_tag_message ) : ?>
|
272 |
+
<?php echo esc_html( $disallowed_tag_message ); ?>
|
273 |
Â
<?php endforeach; ?>
|
274 |
Â
</ul>
|
275 |
Â
</p>
|
290 |
Â
|
291 |
Â
<div class="form-group row">
|
292 |
Â
<label for="management_email_content" class="col-sm-4 offset-sm-1 col-form-label" style="z-index: 9999;">
|
293 |
+
<?php esc_html_e( 'Management Email message', 'subscribe-to-comments-reloaded' ) ?>
|
294 |
Â
|
295 |
Â
<div class="helpDescription subsOptDescriptions"
|
296 |
Â
data-content="<?php esc_attr_e( "Content of the management email message. Allowed tags: [blog_name], [manager_link].", 'subscribe-to-comments-reloaded' ); ?>"
|
317 |
Â
|
318 |
Â
<div class="form-group row">
|
319 |
Â
<label for="oneclick_text" class="col-sm-4 offset-sm-1 col-form-label" style="z-index: 9999;">
|
320 |
+
<?php esc_html_e( 'One Click Unsubscribe', 'subscribe-to-comments-reloaded' ) ?>
|
321 |
Â
|
322 |
Â
<div class="helpDescription subsOptDescriptions"
|
323 |
Â
data-content="<?php esc_attr_e( "Content of the One Click confirmation. Allowed tags: [post_title], [blog_name].", 'subscribe-to-comments-reloaded' ); ?>"
|
345 |
Â
<div class="form-group row">
|
346 |
Â
<div class="col-sm-9 offset-sm-1">
|
347 |
Â
<button type="submit" class="btn btn-primary subscribe-form-button" name="Submit">
|
348 |
+
<?php esc_html_e( 'Save Changes', 'subscribe-to-comments-reloaded' ) ?>
|
349 |
Â
</button>
|
350 |
Â
</div>
|
351 |
Â
</div>
|
options/stcr_options.php
CHANGED
@@ -41,11 +41,11 @@ if ( array_key_exists( "generate_key", $_POST ) ) {
|
|
41 |
Â
if ( empty( $_POST['stcr_save_options_nonce'] ) ) {
|
42 |
Â
return;
|
43 |
Â
}
|
44 |
-
|
45 |
Â
if ( ! wp_verify_nonce( $_POST['stcr_save_options_nonce'], 'stcr_save_options_nonce' ) ) {
|
46 |
Â
return;
|
47 |
Â
}
|
48 |
-
|
49 |
Â
if ( ! current_user_can( 'manage_options' ) ) {
|
50 |
Â
return;
|
51 |
Â
}
|
@@ -54,24 +54,24 @@ if ( array_key_exists( "generate_key", $_POST ) ) {
|
|
54 |
Â
$wp_subscribe_reloaded->stcr->utils->stcr_update_menu_options( 'unique_key', $unique_key, 'text' );
|
55 |
Â
|
56 |
Â
echo '<div class="updated"><p>';
|
57 |
-
|
58 |
-
echo
|
59 |
Â
|
60 |
Â
} elseif ( array_key_exists( "reset_all_options", $_POST ) ) {
|
61 |
Â
|
62 |
Â
if ( empty( $_POST['stcr_save_options_nonce'] ) ) {
|
63 |
Â
return;
|
64 |
Â
}
|
65 |
-
|
66 |
Â
if ( ! wp_verify_nonce( $_POST['stcr_save_options_nonce'], 'stcr_save_options_nonce' ) ) {
|
67 |
Â
return;
|
68 |
Â
}
|
69 |
-
|
70 |
Â
if ( ! current_user_can( 'manage_options' ) ) {
|
71 |
Â
return;
|
72 |
Â
}
|
73 |
Â
|
74 |
-
$delete_subscriptions_selection = $_POST['options']['delete_options_subscriptions'];
|
75 |
Â
$deletion_result = $wp_subscribe_reloaded->stcr->utils->delete_all_settings( $delete_subscriptions_selection );
|
76 |
Â
|
77 |
Â
if( $deletion_result )
|
@@ -84,21 +84,19 @@ if ( array_key_exists( "generate_key", $_POST ) ) {
|
|
84 |
Â
if ( empty( $_POST['stcr_save_options_nonce'] ) ) {
|
85 |
Â
return;
|
86 |
Â
}
|
87 |
-
|
88 |
Â
if ( ! wp_verify_nonce( $_POST['stcr_save_options_nonce'], 'stcr_save_options_nonce' ) ) {
|
89 |
Â
return;
|
90 |
Â
}
|
91 |
-
|
92 |
Â
if ( ! current_user_can( 'manage_options' ) ) {
|
93 |
Â
return;
|
94 |
Â
}
|
95 |
Â
|
96 |
-
$faulty_fields
|
97 |
-
|
98 |
-
foreach ( $
|
99 |
Â
{
|
100 |
-
// echo $option . '<br>';
|
101 |
-
|
102 |
Â
if ( ! $wp_subscribe_reloaded->stcr->utils->stcr_update_menu_options( $option, $value, $options[$option] ) )
|
103 |
Â
{
|
104 |
Â
array_push( $faulty_fields, $option );
|
@@ -108,12 +106,12 @@ if ( array_key_exists( "generate_key", $_POST ) ) {
|
|
108 |
Â
// Display an alert in the admin interface if something went wrong
|
109 |
Â
echo '<div class="updated"><p>';
|
110 |
Â
if ( sizeof( $faulty_fields ) == 0 ) {
|
111 |
-
|
112 |
Â
} else {
|
113 |
-
|
114 |
Â
// echo ' <strong>' . substr( $faulty_fields, 0, - 2 ) . '</strong>';
|
115 |
Â
}
|
116 |
-
echo
|
117 |
Â
}
|
118 |
Â
wp_print_scripts( 'quicktags' );
|
119 |
Â
|
@@ -127,50 +125,50 @@ wp_print_scripts( 'quicktags' );
|
|
127 |
Â
<form action="" method="post">
|
128 |
Â
|
129 |
Â
<div class="form-group row" style="margin-bottom: 0;">
|
130 |
-
<label for="show_subscription_box" class="col-sm-3 col-form-label text-right"><?php
|
131 |
Â
<div class="col-sm-7">
|
132 |
Â
<div class="switch">
|
133 |
Â
<input type="radio" class="switch-input" name="options[show_subscription_box]"
|
134 |
Â
value="yes" id="show_subscription_box-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'show_subscription_box' ) == 'yes' ) ? ' checked' : ''; ?> />
|
135 |
Â
<label for="show_subscription_box-yes" class="switch-label switch-label-off">
|
136 |
-
<?php
|
137 |
Â
</label>
|
138 |
Â
<input type="radio" class="switch-input" name="options[show_subscription_box]" value="no" id="show_subscription_box-no"
|
139 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'show_subscription_box' ) == 'no' ) ? ' checked' : ''; ?> />
|
140 |
Â
<label for="show_subscription_box-no" class="switch-label switch-label-on">
|
141 |
-
<?php
|
142 |
Â
</label>
|
143 |
Â
<span class="switch-selection"></span>
|
144 |
Â
</div>
|
145 |
Â
<div class="helpDescription subsOptDescriptions"
|
146 |
-
data-content="<?php
|
147 |
Â
data-placement="right"
|
148 |
-
aria-label="<?php
|
149 |
Â
<i class="fas fa-question-circle"></i>
|
150 |
Â
</div>
|
151 |
Â
</div>
|
152 |
Â
</div>
|
153 |
Â
|
154 |
Â
<div class="form-group row">
|
155 |
-
<label for="safely_uninstall" class="col-sm-3 col-form-label text-right"><?php
|
156 |
Â
<div class="col-sm-7">
|
157 |
Â
<div class="switch">
|
158 |
Â
<input type="radio" class="switch-input" name="options[safely_uninstall]"
|
159 |
Â
value="yes" id="safely_uninstall-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'safely_uninstall' ) == 'yes' ) ? ' checked' : ''; ?> />
|
160 |
Â
<label for="safely_uninstall-yes" class="switch-label switch-label-off">
|
161 |
-
<?php
|
162 |
Â
</label>
|
163 |
Â
<input type="radio" class="switch-input" name="options[safely_uninstall]" value="no" id="safely_uninstall-no"
|
164 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'safely_uninstall' ) == 'no' ) ? ' checked' : ''; ?> />
|
165 |
Â
<label for="safely_uninstall-no" class="switch-label switch-label-on">
|
166 |
-
<?php
|
167 |
Â
</label>
|
168 |
Â
<span class="switch-selection"></span>
|
169 |
Â
</div>
|
170 |
Â
<div class="helpDescription subsOptDescriptions"
|
171 |
-
data-content="<?php
|
172 |
Â
data-placement="right"
|
173 |
-
aria-label="<?php
|
174 |
Â
<i class="fas fa-question-circle"></i>
|
175 |
Â
</div>
|
176 |
Â
</div>
|
@@ -178,16 +176,16 @@ wp_print_scripts( 'quicktags' );
|
|
178 |
Â
|
179 |
Â
<div class="form-group row">
|
180 |
Â
<label for="purge_days" class="col-sm-3 col-form-label text-right">
|
181 |
-
<?php
|
182 |
Â
<div class="col-sm-7">
|
183 |
Â
<input type="number" name="options[purge_days]" id="purge_days"
|
184 |
Â
class="form-control form-control-input-3"
|
185 |
Â
value="<?php echo esc_attr( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'purge_days' ) ); ?>" size="20">
|
186 |
Â
|
187 |
Â
<div class="helpDescription subsOptDescriptions"
|
188 |
-
data-content="<?php
|
189 |
Â
data-placement="right"
|
190 |
-
aria-label="<?php
|
191 |
Â
<i class="fas fa-question-circle"></i>
|
192 |
Â
</div>
|
193 |
Â
</div>
|
@@ -195,41 +193,41 @@ wp_print_scripts( 'quicktags' );
|
|
195 |
Â
|
196 |
Â
<div class="form-group row">
|
197 |
Â
<label for="date_format" class="col-sm-3 col-form-label text-right">
|
198 |
-
<?php
|
199 |
Â
<div class="col-sm-7">
|
200 |
Â
<input type="text" name="options[date_format]" id="date_format"
|
201 |
Â
class="form-control form-control-input-3"
|
202 |
Â
value="<?php echo esc_attr( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'date_format' ) ); ?>" size="20">
|
203 |
Â
|
204 |
Â
<div class="helpDescription subsOptDescriptions"
|
205 |
-
data-content="<?php
|
206 |
Â
data-placement="right"
|
207 |
-
aria-label="<?php
|
208 |
Â
<i class="fas fa-question-circle"></i>
|
209 |
Â
</div>
|
210 |
Â
</div>
|
211 |
Â
</div>
|
212 |
Â
|
213 |
Â
<div class="form-group row">
|
214 |
-
<label for="stcr_position" class="col-sm-3 col-form-label text-right"><?php
|
215 |
Â
<div class="col-sm-7">
|
216 |
Â
<div class="switch">
|
217 |
Â
<input type="radio" class="switch-input" name="options[stcr_position]"
|
218 |
Â
value="yes" id="stcr_position-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'stcr_position' ) == 'yes' ) ? ' checked' : ''; ?> />
|
219 |
Â
<label for="stcr_position-yes" class="switch-label switch-label-off">
|
220 |
-
<?php
|
221 |
Â
</label>
|
222 |
Â
<input type="radio" class="switch-input" name="options[stcr_position]" value="no" id="stcr_position-no"
|
223 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'stcr_position' ) == 'no' ) ? ' checked' : ''; ?> />
|
224 |
Â
<label for="stcr_position-no" class="switch-label switch-label-on">
|
225 |
-
<?php
|
226 |
Â
</label>
|
227 |
Â
<span class="switch-selection"></span>
|
228 |
Â
</div>
|
229 |
Â
<div class="helpDescription subsOptDescriptions"
|
230 |
-
data-content="<?php
|
231 |
Â
data-placement="right"
|
232 |
-
aria-label="<?php
|
233 |
Â
<i class="fas fa-question-circle"></i>
|
234 |
Â
</div>
|
235 |
Â
</div>
|
@@ -237,26 +235,26 @@ wp_print_scripts( 'quicktags' );
|
|
237 |
Â
|
238 |
Â
<div class="form-group row">
|
239 |
Â
<label for="enable_double_check" class="col-sm-3 col-form-label text-right">
|
240 |
-
<?php
|
241 |
Â
</label>
|
242 |
Â
<div class="col-sm-7">
|
243 |
Â
<div class="switch">
|
244 |
Â
<input type="radio" class="switch-input" name="options[enable_double_check]"
|
245 |
Â
value="yes" id="enable_double_check-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'enable_double_check' ) == 'yes' ) ? ' checked' : ''; ?> />
|
246 |
Â
<label for="enable_double_check-yes" class="switch-label switch-label-off">
|
247 |
-
<?php
|
248 |
Â
</label>
|
249 |
Â
<input type="radio" class="switch-input" name="options[enable_double_check]" value="no" id="enable_double_check-no"
|
250 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'enable_double_check' ) == 'no' ) ? ' checked' : ''; ?> />
|
251 |
Â
<label for="enable_double_check-no" class="switch-label switch-label-on">
|
252 |
-
<?php
|
253 |
Â
</label>
|
254 |
Â
<span class="switch-selection"></span>
|
255 |
Â
</div>
|
256 |
Â
<div class="helpDescription subsOptDescriptions"
|
257 |
-
data-content="<?php
|
258 |
Â
data-placement="right"
|
259 |
-
aria-label="<?php
|
260 |
Â
<i class="fas fa-question-circle"></i>
|
261 |
Â
</div>
|
262 |
Â
</div>
|
@@ -264,26 +262,26 @@ wp_print_scripts( 'quicktags' );
|
|
264 |
Â
|
265 |
Â
<div class="form-group row">
|
266 |
Â
<label for="notify_authors" class="col-sm-3 col-form-label text-right">
|
267 |
-
<?php
|
268 |
Â
</label>
|
269 |
Â
<div class="col-sm-7">
|
270 |
Â
<div class="switch">
|
271 |
Â
<input type="radio" class="switch-input" name="options[notify_authors]"
|
272 |
Â
value="yes" id="notify_authors-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'notify_authors' ) == 'yes' ) ? ' checked' : ''; ?> />
|
273 |
Â
<label for="notify_authors-yes" class="switch-label switch-label-off">
|
274 |
-
<?php
|
275 |
Â
</label>
|
276 |
Â
<input type="radio" class="switch-input" name="options[notify_authors]" value="no" id="notify_authors-no"
|
277 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'notify_authors' ) == 'no' ) ? ' checked' : ''; ?> />
|
278 |
Â
<label for="notify_authors-no" class="switch-label switch-label-on">
|
279 |
-
<?php
|
280 |
Â
</label>
|
281 |
Â
<span class="switch-selection"></span>
|
282 |
Â
</div>
|
283 |
Â
<div class="helpDescription subsOptDescriptions"
|
284 |
-
data-content="<?php
|
285 |
Â
data-placement="right"
|
286 |
-
aria-label="<?php
|
287 |
Â
<i class="fas fa-question-circle"></i>
|
288 |
Â
</div>
|
289 |
Â
</div>
|
@@ -291,26 +289,26 @@ wp_print_scripts( 'quicktags' );
|
|
291 |
Â
|
292 |
Â
<div class="form-group row">
|
293 |
Â
<label for="enable_html_emails" class="col-sm-3 col-form-label text-right">
|
294 |
-
<?php
|
295 |
Â
</label>
|
296 |
Â
<div class="col-sm-7">
|
297 |
Â
<div class="switch">
|
298 |
Â
<input type="radio" class="switch-input" name="options[enable_html_emails]"
|
299 |
Â
value="yes" id="enable_html_emails-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'enable_html_emails' ) == 'yes' ) ? ' checked' : ''; ?> />
|
300 |
Â
<label for="enable_html_emails-yes" class="switch-label switch-label-off">
|
301 |
-
<?php
|
302 |
Â
</label>
|
303 |
Â
<input type="radio" class="switch-input" name="options[enable_html_emails]" value="no" id="enable_html_emails-no"
|
304 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'enable_html_emails' ) == 'no' ) ? ' checked' : ''; ?> />
|
305 |
Â
<label for="enable_html_emails-no" class="switch-label switch-label-on">
|
306 |
-
<?php
|
307 |
Â
</label>
|
308 |
Â
<span class="switch-selection"></span>
|
309 |
Â
</div>
|
310 |
Â
<div class="helpDescription subsOptDescriptions"
|
311 |
-
data-content="<?php
|
312 |
Â
data-placement="right"
|
313 |
-
aria-label="<?php
|
314 |
Â
<i class="fas fa-question-circle"></i>
|
315 |
Â
</div>
|
316 |
Â
</div>
|
@@ -318,26 +316,26 @@ wp_print_scripts( 'quicktags' );
|
|
318 |
Â
|
319 |
Â
<div class="form-group row">
|
320 |
Â
<label for="process_trackbacks" class="col-sm-3 col-form-label text-right">
|
321 |
-
<?php
|
322 |
Â
</label>
|
323 |
Â
<div class="col-sm-7">
|
324 |
Â
<div class="switch">
|
325 |
Â
<input type="radio" class="switch-input" name="options[process_trackbacks]"
|
326 |
Â
value="yes" id="process_trackbacks-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'process_trackbacks' ) == 'yes' ) ? ' checked' : ''; ?> />
|
327 |
Â
<label for="process_trackbacks-yes" class="switch-label switch-label-off">
|
328 |
-
<?php
|
329 |
Â
</label>
|
330 |
Â
<input type="radio" class="switch-input" name="options[process_trackbacks]" value="no" id="process_trackbacks-no"
|
331 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'process_trackbacks' ) == 'no' ) ? ' checked' : ''; ?> />
|
332 |
Â
<label for="process_trackbacks-no" class="switch-label switch-label-on">
|
333 |
-
<?php
|
334 |
Â
</label>
|
335 |
Â
<span class="switch-selection"></span>
|
336 |
Â
</div>
|
337 |
Â
<div class="helpDescription subsOptDescriptions"
|
338 |
-
data-content="<?php
|
339 |
Â
data-placement="right"
|
340 |
-
aria-label="<?php
|
341 |
Â
<i class="fas fa-question-circle"></i>
|
342 |
Â
</div>
|
343 |
Â
</div>
|
@@ -345,26 +343,26 @@ wp_print_scripts( 'quicktags' );
|
|
345 |
Â
|
346 |
Â
<div class="form-group row">
|
347 |
Â
<label for="enable_admin_messages" class="col-sm-3 col-form-label text-right">
|
348 |
-
<?php
|
349 |
Â
</label>
|
350 |
Â
<div class="col-sm-7">
|
351 |
Â
<div class="switch">
|
352 |
Â
<input type="radio" class="switch-input" name="options[enable_admin_messages]"
|
353 |
Â
value="yes" id="enable_admin_messages-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'enable_admin_messages' ) == 'yes' ) ? ' checked' : ''; ?> />
|
354 |
Â
<label for="enable_admin_messages-yes" class="switch-label switch-label-off">
|
355 |
-
<?php
|
356 |
Â
</label>
|
357 |
Â
<input type="radio" class="switch-input" name="options[enable_admin_messages]" value="no" id="enable_admin_messages-no"
|
358 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'enable_admin_messages' ) == 'no' ) ? ' checked' : ''; ?> />
|
359 |
Â
<label for="enable_admin_messages-no" class="switch-label switch-label-on">
|
360 |
-
<?php
|
361 |
Â
</label>
|
362 |
Â
<span class="switch-selection"></span>
|
363 |
Â
</div>
|
364 |
Â
<div class="helpDescription subsOptDescriptions"
|
365 |
-
data-content="<?php
|
366 |
Â
data-placement="right"
|
367 |
-
aria-label="<?php
|
368 |
Â
<i class="fas fa-question-circle"></i>
|
369 |
Â
</div>
|
370 |
Â
</div>
|
@@ -372,26 +370,26 @@ wp_print_scripts( 'quicktags' );
|
|
372 |
Â
|
373 |
Â
<div class="form-group row">
|
374 |
Â
<label for="admin_subscribe" class="col-sm-3 col-form-label text-right">
|
375 |
-
<?php
|
376 |
Â
</label>
|
377 |
Â
<div class="col-sm-7">
|
378 |
Â
<div class="switch">
|
379 |
Â
<input type="radio" class="switch-input" name="options[admin_subscribe]"
|
380 |
Â
value="yes" id="admin_subscribe-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'admin_subscribe' ) == 'yes' ) ? ' checked' : ''; ?> />
|
381 |
Â
<label for="admin_subscribe-yes" class="switch-label switch-label-off">
|
382 |
-
<?php
|
383 |
Â
</label>
|
384 |
Â
<input type="radio" class="switch-input" name="options[admin_subscribe]" value="no" id="admin_subscribe-no"
|
385 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'admin_subscribe' ) == 'no' ) ? ' checked' : ''; ?> />
|
386 |
Â
<label for="admin_subscribe-no" class="switch-label switch-label-on">
|
387 |
-
<?php
|
388 |
Â
</label>
|
389 |
Â
<span class="switch-selection"></span>
|
390 |
Â
</div>
|
391 |
Â
<div class="helpDescription subsOptDescriptions"
|
392 |
-
data-content="<?php
|
393 |
Â
data-placement="right"
|
394 |
-
aria-label="<?php
|
395 |
Â
<i class="fas fa-question-circle"></i>
|
396 |
Â
</div>
|
397 |
Â
</div>
|
@@ -399,26 +397,26 @@ wp_print_scripts( 'quicktags' );
|
|
399 |
Â
|
400 |
Â
<div class="form-group row" style="margin-bottom: 0;">
|
401 |
Â
<label for="admin_bcc" class="col-sm-3 col-form-label text-right">
|
402 |
-
<?php
|
403 |
Â
</label>
|
404 |
Â
<div class="col-sm-7">
|
405 |
Â
<div class="switch">
|
406 |
Â
<input type="radio" class="switch-input" name="options[admin_bcc]"
|
407 |
Â
value="yes" id="admin_bcc-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'admin_bcc' ) == 'yes' ) ? ' checked' : ''; ?> />
|
408 |
Â
<label for="admin_bcc-yes" class="switch-label switch-label-off">
|
409 |
-
<?php
|
410 |
Â
</label>
|
411 |
Â
<input type="radio" class="switch-input" name="options[admin_bcc]" value="no" id="admin_bcc-no"
|
412 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'admin_bcc' ) == 'no' ) ? ' checked' : ''; ?> />
|
413 |
Â
<label for="admin_bcc-no" class="switch-label switch-label-on">
|
414 |
-
<?php
|
415 |
Â
</label>
|
416 |
Â
<span class="switch-selection"></span>
|
417 |
Â
</div>
|
418 |
Â
<div class="helpDescription subsOptDescriptions"
|
419 |
-
data-content="<?php
|
420 |
Â
data-placement="right"
|
421 |
-
aria-label="<?php
|
422 |
Â
<i class="fas fa-question-circle"></i>
|
423 |
Â
</div>
|
424 |
Â
</div>
|
@@ -426,26 +424,26 @@ wp_print_scripts( 'quicktags' );
|
|
426 |
Â
|
427 |
Â
<div class="form-group row">
|
428 |
Â
<label for="enable_font_awesome" class="col-sm-3 col-form-label text-right">
|
429 |
-
<?php
|
430 |
Â
</label>
|
431 |
Â
<div class="col-sm-7">
|
432 |
Â
<div class="switch">
|
433 |
Â
<input type="radio" class="switch-input" name="options[enable_font_awesome]"
|
434 |
Â
value="yes" id="enable_font_awesome-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'enable_font_awesome' ) == 'yes' ) ? ' checked' : ''; ?> />
|
435 |
Â
<label for="enable_font_awesome-yes" class="switch-label switch-label-off">
|
436 |
-
<?php
|
437 |
Â
</label>
|
438 |
Â
<input type="radio" class="switch-input" name="options[enable_font_awesome]" value="no" id="enable_font_awesome-no"
|
439 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'enable_font_awesome' ) == 'no' ) ? ' checked' : ''; ?> />
|
440 |
Â
<label for="enable_font_awesome-no" class="switch-label switch-label-on">
|
441 |
-
<?php
|
442 |
Â
</label>
|
443 |
Â
<span class="switch-selection"></span>
|
444 |
Â
</div>
|
445 |
Â
<div class="helpDescription subsOptDescriptions"
|
446 |
-
data-content="<?php
|
447 |
Â
data-placement="right"
|
448 |
-
aria-label="<?php
|
449 |
Â
<i class="fas fa-question-circle"></i>
|
450 |
Â
</div>
|
451 |
Â
</div>
|
@@ -479,7 +477,7 @@ wp_print_scripts( 'quicktags' );
|
|
479 |
Â
}
|
480 |
Â
?>
|
481 |
Â
<div class="form-check pl-0">
|
482 |
-
<input type="checkbox" id="<?php echo esc_attr( $post_type ); ?>" name="options[post_type_supports][]" value="<?php echo esc_attr( $post_type ) ?>" <?php echo $checked; ?> />
|
483 |
Â
|
484 |
Â
<label for="<?php echo esc_attr( $post_type ); ?>">
|
485 |
Â
<?php echo esc_html( get_post_type_object( $post_type )->label ); ?>
|
@@ -491,9 +489,9 @@ wp_print_scripts( 'quicktags' );
|
|
491 |
Â
</div>
|
492 |
Â
|
493 |
Â
<div class="helpDescription subsOptDescriptions ml-0"
|
494 |
-
data-content="<?php
|
495 |
Â
data-placement="right"
|
496 |
-
aria-label="<?php
|
497 |
Â
<i class="fas fa-question-circle"></i>
|
498 |
Â
</div>
|
499 |
Â
</div>
|
@@ -501,26 +499,26 @@ wp_print_scripts( 'quicktags' );
|
|
501 |
Â
|
502 |
Â
<div class="form-group row">
|
503 |
Â
<label for="only_for_logged_in" class="col-sm-3 col-form-label text-right">
|
504 |
-
<?php
|
505 |
Â
</label>
|
506 |
Â
<div class="col-sm-7">
|
507 |
Â
<div class="switch">
|
508 |
Â
<input type="radio" class="switch-input" name="options[only_for_logged_in]"
|
509 |
Â
value="yes" id="only_for_logged_in-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'only_for_logged_in', 'no' ) == 'yes' ) ? ' checked' : ''; ?> />
|
510 |
Â
<label for="only_for_logged_in-yes" class="switch-label switch-label-off">
|
511 |
-
<?php
|
512 |
Â
</label>
|
513 |
Â
<input type="radio" class="switch-input" name="options[only_for_logged_in]" value="no" id="only_for_logged_in-no"
|
514 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'only_for_logged_in', 'no' ) == 'no' ) ? ' checked' : ''; ?> />
|
515 |
Â
<label for="only_for_logged_in-no" class="switch-label switch-label-on">
|
516 |
-
<?php
|
517 |
Â
</label>
|
518 |
Â
<span class="switch-selection"></span>
|
519 |
Â
</div>
|
520 |
Â
<div class="helpDescription subsOptDescriptions"
|
521 |
-
data-content="<?php
|
522 |
Â
data-placement="right"
|
523 |
-
aria-label="<?php
|
524 |
Â
<i class="fas fa-question-circle"></i>
|
525 |
Â
</div>
|
526 |
Â
</div>
|
@@ -528,26 +526,26 @@ wp_print_scripts( 'quicktags' );
|
|
528 |
Â
|
529 |
Â
<div class="form-group row">
|
530 |
Â
<label for="use_cookies" class="col-sm-3 col-form-label text-right">
|
531 |
-
<?php
|
532 |
Â
</label>
|
533 |
Â
<div class="col-sm-7">
|
534 |
Â
<div class="switch">
|
535 |
Â
<input type="radio" class="switch-input" name="options[use_cookies]"
|
536 |
Â
value="yes" id="use_cookies-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'use_cookies', 'yes' ) == 'yes' ) ? ' checked' : ''; ?> />
|
537 |
Â
<label for="use_cookies-yes" class="switch-label switch-label-off">
|
538 |
-
<?php
|
539 |
Â
</label>
|
540 |
Â
<input type="radio" class="switch-input" name="options[use_cookies]" value="no" id="use_cookies-no"
|
541 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'use_cookies', 'no' ) == 'no' ) ? ' checked' : ''; ?> />
|
542 |
Â
<label for="use_cookies-no" class="switch-label switch-label-on">
|
543 |
-
<?php
|
544 |
Â
</label>
|
545 |
Â
<span class="switch-selection"></span>
|
546 |
Â
</div>
|
547 |
Â
<div class="helpDescription subsOptDescriptions"
|
548 |
-
data-content="<?php
|
549 |
Â
data-placement="right"
|
550 |
-
aria-label="<?php
|
551 |
Â
<i class="fas fa-question-circle"></i>
|
552 |
Â
</div>
|
553 |
Â
</div>
|
@@ -555,26 +553,26 @@ wp_print_scripts( 'quicktags' );
|
|
555 |
Â
|
556 |
Â
<div class="form-group row">
|
557 |
Â
<label for="use_challenge_question" class="col-sm-3 col-form-label text-right">
|
558 |
-
<?php
|
559 |
Â
</label>
|
560 |
Â
<div class="col-sm-7">
|
561 |
Â
<div class="switch">
|
562 |
Â
<input type="radio" class="switch-input" name="options[use_challenge_question]"
|
563 |
Â
value="yes" id="use_challenge_question-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'use_challenge_question', 'no' ) == 'yes' ) ? ' checked' : ''; ?> />
|
564 |
Â
<label for="use_challenge_question-yes" class="switch-label switch-label-off">
|
565 |
-
<?php
|
566 |
Â
</label>
|
567 |
Â
<input type="radio" class="switch-input" name="options[use_challenge_question]" value="no" id="use_challenge_question-no"
|
568 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'use_challenge_question', 'no' ) == 'no' ) ? ' checked' : ''; ?> />
|
569 |
Â
<label for="use_challenge_question-no" class="switch-label switch-label-on">
|
570 |
-
<?php
|
571 |
Â
</label>
|
572 |
Â
<span class="switch-selection"></span>
|
573 |
Â
</div>
|
574 |
Â
<div class="helpDescription subsOptDescriptions"
|
575 |
-
data-content="<?php
|
576 |
Â
data-placement="right"
|
577 |
-
aria-label="<?php
|
578 |
Â
<i class="fas fa-question-circle"></i>
|
579 |
Â
</div>
|
580 |
Â
</div>
|
@@ -582,16 +580,16 @@ wp_print_scripts( 'quicktags' );
|
|
582 |
Â
|
583 |
Â
<div class="form-group row">
|
584 |
Â
<label for="challenge_question" class="col-sm-3 col-form-label text-right">
|
585 |
-
<?php
|
586 |
Â
<div class="col-sm-7">
|
587 |
Â
<input type="text" name="options[challenge_question]" id="challenge_question"
|
588 |
Â
class="form-control form-control-input-3"
|
589 |
Â
value="<?php echo esc_attr( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'challenge_question', 'What is 1 + 2?' ) ); ?>">
|
590 |
Â
|
591 |
Â
<div class="helpDescription subsOptDescriptions"
|
592 |
-
data-content="<?php
|
593 |
Â
data-placement="right"
|
594 |
-
aria-label="<?php
|
595 |
Â
<i class="fas fa-question-circle"></i>
|
596 |
Â
</div>
|
597 |
Â
</div>
|
@@ -599,16 +597,16 @@ wp_print_scripts( 'quicktags' );
|
|
599 |
Â
|
600 |
Â
<div class="form-group row">
|
601 |
Â
<label for="challenge_answer" class="col-sm-3 col-form-label text-right">
|
602 |
-
<?php
|
603 |
Â
<div class="col-sm-7">
|
604 |
Â
<input type="text" name="options[challenge_answer]" id="challenge_answer"
|
605 |
Â
class="form-control form-control-input-3"
|
606 |
Â
value="<?php echo esc_attr( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'challenge_answer', 3 ) ); ?>">
|
607 |
Â
|
608 |
Â
<div class="helpDescription subsOptDescriptions"
|
609 |
-
data-content="<?php
|
610 |
Â
data-placement="right"
|
611 |
-
aria-label="<?php
|
612 |
Â
<i class="fas fa-question-circle"></i>
|
613 |
Â
</div>
|
614 |
Â
</div>
|
@@ -618,26 +616,26 @@ wp_print_scripts( 'quicktags' );
|
|
618 |
Â
|
619 |
Â
<div class="form-group row">
|
620 |
Â
<label for="use_captcha" class="col-sm-3 col-form-label text-right">
|
621 |
-
<?php
|
622 |
Â
</label>
|
623 |
Â
<div class="col-sm-7">
|
624 |
Â
<div class="switch">
|
625 |
Â
<input type="radio" class="switch-input" name="options[use_captcha]"
|
626 |
Â
value="yes" id="use_captcha-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'use_captcha', 'no' ) == 'yes' ) ? ' checked' : ''; ?> />
|
627 |
Â
<label for="use_captcha-yes" class="switch-label switch-label-off">
|
628 |
-
<?php
|
629 |
Â
</label>
|
630 |
Â
<input type="radio" class="switch-input" name="options[use_captcha]" value="no" id="use_captcha-no"
|
631 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'use_captcha', 'no' ) == 'no' ) ? ' checked' : ''; ?> />
|
632 |
Â
<label for="use_captcha-no" class="switch-label switch-label-on">
|
633 |
-
<?php
|
634 |
Â
</label>
|
635 |
Â
<span class="switch-selection"></span>
|
636 |
Â
</div>
|
637 |
Â
<div class="helpDescription subsOptDescriptions"
|
638 |
-
data-content="<?php
|
639 |
Â
data-placement="right"
|
640 |
-
aria-label="<?php
|
641 |
Â
<i class="fas fa-question-circle"></i>
|
642 |
Â
</div>
|
643 |
Â
</div>
|
@@ -654,9 +652,9 @@ wp_print_scripts( 'quicktags' );
|
|
654 |
Â
</select>
|
655 |
Â
|
656 |
Â
<div class="helpDescription subsOptDescriptions"
|
657 |
-
data-content="<?php
|
658 |
Â
data-placement="right"
|
659 |
-
aria-label="<?php
|
660 |
Â
<i class="fas fa-question-circle"></i>
|
661 |
Â
</div>
|
662 |
Â
</div>
|
@@ -664,16 +662,16 @@ wp_print_scripts( 'quicktags' );
|
|
664 |
Â
|
665 |
Â
<div class="form-group row">
|
666 |
Â
<label for="captcha_site_key" class="col-sm-3 col-form-label text-right">
|
667 |
-
<?php
|
668 |
Â
<div class="col-sm-7">
|
669 |
Â
<input type="text" name="options[captcha_site_key]" id="captcha_site_key"
|
670 |
Â
class="form-control form-control-input-3"
|
671 |
Â
value="<?php echo esc_attr( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'captcha_site_key', '' ) ); ?>">
|
672 |
Â
|
673 |
Â
<div class="helpDescription subsOptDescriptions"
|
674 |
-
data-content="<?php
|
675 |
Â
data-placement="right"
|
676 |
-
aria-label="<?php
|
677 |
Â
<i class="fas fa-question-circle"></i>
|
678 |
Â
</div>
|
679 |
Â
</div>
|
@@ -681,16 +679,16 @@ wp_print_scripts( 'quicktags' );
|
|
681 |
Â
|
682 |
Â
<div class="form-group row">
|
683 |
Â
<label for="captcha_secret_key" class="col-sm-3 col-form-label text-right">
|
684 |
-
<?php
|
685 |
Â
<div class="col-sm-7">
|
686 |
Â
<input type="text" name="options[captcha_secret_key]" id="captcha_secret_key"
|
687 |
Â
class="form-control form-control-input-3"
|
688 |
Â
value="<?php echo esc_attr( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'captcha_secret_key', '' ) ); ?>">
|
689 |
Â
|
690 |
Â
<div class="helpDescription subsOptDescriptions"
|
691 |
-
data-content="<?php
|
692 |
Â
data-placement="right"
|
693 |
-
aria-label="<?php
|
694 |
Â
<i class="fas fa-question-circle"></i>
|
695 |
Â
</div>
|
696 |
Â
</div>
|
@@ -698,16 +696,16 @@ wp_print_scripts( 'quicktags' );
|
|
698 |
Â
|
699 |
Â
<div class="form-group row">
|
700 |
Â
<label for="blacklisted_emails" class="col-sm-3 col-form-label text-right">
|
701 |
-
<?php
|
702 |
Â
<div class="col-sm-7">
|
703 |
Â
<textarea name="options[blacklisted_emails]" id="blacklisted_emails"
|
704 |
Â
class="form-control form-control-input-9" cols="10" rows="6"
|
705 |
Â
><?php echo esc_textarea( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'blacklisted_emails', '' ) ); ?></textarea>
|
706 |
Â
|
707 |
Â
<div class="helpDescription subsOptDescriptions"
|
708 |
-
data-content="<?php
|
709 |
Â
data-placement="right"
|
710 |
-
aria-label="<?php
|
711 |
Â
<i class="fas fa-question-circle"></i>
|
712 |
Â
</div>
|
713 |
Â
</div>
|
@@ -717,15 +715,15 @@ wp_print_scripts( 'quicktags' );
|
|
717 |
Â
|
718 |
Â
<div class="form-group row">
|
719 |
Â
<label for="unique_key" class="col-sm-3 col-form-label text-right">
|
720 |
-
<?php
|
721 |
Â
<div class="col-sm-7">
|
722 |
Â
|
723 |
Â
<?php
|
724 |
Â
if ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'unique_key' ) == "" ) {
|
725 |
Â
|
726 |
Â
echo "<div class=\"alert alert-danger\" role=\"alert\" style='font-size: 0.85rem;'>";
|
727 |
-
echo '<strong>' .
|
728 |
-
echo "<input type='submit' value='" .
|
729 |
Â
echo "</div>";
|
730 |
Â
}
|
731 |
Â
else {
|
@@ -739,9 +737,9 @@ wp_print_scripts( 'quicktags' );
|
|
739 |
Â
|
740 |
Â
|
741 |
Â
<div class="helpDescription subsOptDescriptions"
|
742 |
-
data-content="<?php
|
743 |
Â
data-placement="right"
|
744 |
-
aria-label="<?php
|
745 |
Â
<i class="fas fa-question-circle"></i>
|
746 |
Â
</div>
|
747 |
Â
</div>
|
@@ -749,19 +747,19 @@ wp_print_scripts( 'quicktags' );
|
|
749 |
Â
|
750 |
Â
<div class="form-group row">
|
751 |
Â
<label for="" class="col-sm-3 col-form-label text-right">
|
752 |
-
<?php
|
753 |
Â
</label>
|
754 |
Â
<div class="col-sm-7">
|
755 |
Â
|
756 |
Â
<div class="alert alert-danger" role="alert">
|
757 |
Â
<strong>Danger!</strong>
|
758 |
Â
<p>
|
759 |
-
<?php
|
760 |
Â
</p>
|
761 |
Â
|
762 |
Â
<p>
|
763 |
-
<?php
|
764 |
-
<?php
|
765 |
Â
</p>
|
766 |
Â
|
767 |
Â
|
@@ -769,12 +767,12 @@ wp_print_scripts( 'quicktags' );
|
|
769 |
Â
<input type="radio" class="switch-input" name="options[delete_options_subscriptions]"
|
770 |
Â
value="yes" id="delete_options_subscriptions-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'delete_options_subscriptions' ) == 'yes' ) ? ' checked' : ''; ?> />
|
771 |
Â
<label for="delete_options_subscriptions-yes" class="switch-label switch-label-off">
|
772 |
-
<?php
|
773 |
Â
</label>
|
774 |
Â
<input type="radio" class="switch-input" name="options[delete_options_subscriptions]" value="no" id="delete_options_subscriptions-no"
|
775 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'delete_options_subscriptions' ) == 'no' ) ? ' checked' : ''; ?> />
|
776 |
Â
<label for="delete_options_subscriptions-no" class="switch-label switch-label-on">
|
777 |
-
<?php
|
778 |
Â
</label>
|
779 |
Â
<span class="switch-selection"></span>
|
780 |
Â
</div>
|
@@ -788,7 +786,7 @@ wp_print_scripts( 'quicktags' );
|
|
788 |
Â
<div class="form-group row">
|
789 |
Â
<div class="col-sm-9 offset-sm-1">
|
790 |
Â
<button type="submit" class="btn btn-primary subscribe-form-button" name="Submit">
|
791 |
-
<?php
|
792 |
Â
</button>
|
793 |
Â
</div>
|
794 |
Â
</div>
|
41 |
Â
if ( empty( $_POST['stcr_save_options_nonce'] ) ) {
|
42 |
Â
return;
|
43 |
Â
}
|
44 |
+
|
45 |
Â
if ( ! wp_verify_nonce( $_POST['stcr_save_options_nonce'], 'stcr_save_options_nonce' ) ) {
|
46 |
Â
return;
|
47 |
Â
}
|
48 |
+
|
49 |
Â
if ( ! current_user_can( 'manage_options' ) ) {
|
50 |
Â
return;
|
51 |
Â
}
|
54 |
Â
$wp_subscribe_reloaded->stcr->utils->stcr_update_menu_options( 'unique_key', $unique_key, 'text' );
|
55 |
Â
|
56 |
Â
echo '<div class="updated"><p>';
|
57 |
+
esc_html_e( 'Your settings have been successfully updated.', 'subscribe-to-comments-reloaded' );
|
58 |
+
echo '</p></div>';
|
59 |
Â
|
60 |
Â
} elseif ( array_key_exists( "reset_all_options", $_POST ) ) {
|
61 |
Â
|
62 |
Â
if ( empty( $_POST['stcr_save_options_nonce'] ) ) {
|
63 |
Â
return;
|
64 |
Â
}
|
65 |
+
|
66 |
Â
if ( ! wp_verify_nonce( $_POST['stcr_save_options_nonce'], 'stcr_save_options_nonce' ) ) {
|
67 |
Â
return;
|
68 |
Â
}
|
69 |
+
|
70 |
Â
if ( ! current_user_can( 'manage_options' ) ) {
|
71 |
Â
return;
|
72 |
Â
}
|
73 |
Â
|
74 |
+
$delete_subscriptions_selection = isset( $_POST['options']['delete_options_subscriptions'] ) ? sanitize_text_field( wp_unslash( $_POST['options']['delete_options_subscriptions'] ) ) : '';
|
75 |
Â
$deletion_result = $wp_subscribe_reloaded->stcr->utils->delete_all_settings( $delete_subscriptions_selection );
|
76 |
Â
|
77 |
Â
if( $deletion_result )
|
84 |
Â
if ( empty( $_POST['stcr_save_options_nonce'] ) ) {
|
85 |
Â
return;
|
86 |
Â
}
|
87 |
+
|
88 |
Â
if ( ! wp_verify_nonce( $_POST['stcr_save_options_nonce'], 'stcr_save_options_nonce' ) ) {
|
89 |
Â
return;
|
90 |
Â
}
|
91 |
+
|
92 |
Â
if ( ! current_user_can( 'manage_options' ) ) {
|
93 |
Â
return;
|
94 |
Â
}
|
95 |
Â
|
96 |
+
$faulty_fields = array();
|
97 |
+
$subscribe_options = wp_unslash( $_POST['options'] ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput
|
98 |
+
foreach ( $subscribe_options as $option => $value )
|
99 |
Â
{
|
Â
|
|
Â
|
|
100 |
Â
if ( ! $wp_subscribe_reloaded->stcr->utils->stcr_update_menu_options( $option, $value, $options[$option] ) )
|
101 |
Â
{
|
102 |
Â
array_push( $faulty_fields, $option );
|
106 |
Â
// Display an alert in the admin interface if something went wrong
|
107 |
Â
echo '<div class="updated"><p>';
|
108 |
Â
if ( sizeof( $faulty_fields ) == 0 ) {
|
109 |
+
esc_html_e( 'Your settings have been successfully updated.', 'subscribe-to-comments-reloaded' );
|
110 |
Â
} else {
|
111 |
+
esc_html_e( 'There was an error updating the options.', 'subscribe-to-comments-reloaded' );
|
112 |
Â
// echo ' <strong>' . substr( $faulty_fields, 0, - 2 ) . '</strong>';
|
113 |
Â
}
|
114 |
+
echo '</p></div>';
|
115 |
Â
}
|
116 |
Â
wp_print_scripts( 'quicktags' );
|
117 |
Â
|
125 |
Â
<form action="" method="post">
|
126 |
Â
|
127 |
Â
<div class="form-group row" style="margin-bottom: 0;">
|
128 |
+
<label for="show_subscription_box" class="col-sm-3 col-form-label text-right"><?php esc_html_e( 'Show StCR checkbox / dropdown', 'subscribe-to-comments-reloaded' ) ?></label>
|
129 |
Â
<div class="col-sm-7">
|
130 |
Â
<div class="switch">
|
131 |
Â
<input type="radio" class="switch-input" name="options[show_subscription_box]"
|
132 |
Â
value="yes" id="show_subscription_box-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'show_subscription_box' ) == 'yes' ) ? ' checked' : ''; ?> />
|
133 |
Â
<label for="show_subscription_box-yes" class="switch-label switch-label-off">
|
134 |
+
<?php esc_html_e( 'Yes', 'subscribe-to-comments-reloaded' ) ?>
|
135 |
Â
</label>
|
136 |
Â
<input type="radio" class="switch-input" name="options[show_subscription_box]" value="no" id="show_subscription_box-no"
|
137 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'show_subscription_box' ) == 'no' ) ? ' checked' : ''; ?> />
|
138 |
Â
<label for="show_subscription_box-no" class="switch-label switch-label-on">
|
139 |
+
<?php esc_html_e( 'No', 'subscribe-to-comments-reloaded' ) ?>
|
140 |
Â
</label>
|
141 |
Â
<span class="switch-selection"></span>
|
142 |
Â
</div>
|
143 |
Â
<div class="helpDescription subsOptDescriptions"
|
144 |
+
data-content="<?php esc_attr_e( "This option will disable the StCR checkbox or dropdown in your comment form. You should leave it to Yes always.", 'subscribe-to-comments-reloaded' ); ?>"
|
145 |
Â
data-placement="right"
|
146 |
+
aria-label="<?php esc_attr_e( "This option will disable the StCR checkbox or dropdown in your comment form. You should leave it to Yes always.", 'subscribe-to-comments-reloaded' ); ?>">
|
147 |
Â
<i class="fas fa-question-circle"></i>
|
148 |
Â
</div>
|
149 |
Â
</div>
|
150 |
Â
</div>
|
151 |
Â
|
152 |
Â
<div class="form-group row">
|
153 |
+
<label for="safely_uninstall" class="col-sm-3 col-form-label text-right"><?php esc_html_e( 'Safely Uninstall', 'subscribe-to-comments-reloaded' ) ?></label>
|
154 |
Â
<div class="col-sm-7">
|
155 |
Â
<div class="switch">
|
156 |
Â
<input type="radio" class="switch-input" name="options[safely_uninstall]"
|
157 |
Â
value="yes" id="safely_uninstall-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'safely_uninstall' ) == 'yes' ) ? ' checked' : ''; ?> />
|
158 |
Â
<label for="safely_uninstall-yes" class="switch-label switch-label-off">
|
159 |
+
<?php esc_html_e( 'Yes', 'subscribe-to-comments-reloaded' ) ?>
|
160 |
Â
</label>
|
161 |
Â
<input type="radio" class="switch-input" name="options[safely_uninstall]" value="no" id="safely_uninstall-no"
|
162 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'safely_uninstall' ) == 'no' ) ? ' checked' : ''; ?> />
|
163 |
Â
<label for="safely_uninstall-no" class="switch-label switch-label-on">
|
164 |
+
<?php esc_html_e( 'No', 'subscribe-to-comments-reloaded' ) ?>
|
165 |
Â
</label>
|
166 |
Â
<span class="switch-selection"></span>
|
167 |
Â
</div>
|
168 |
Â
<div class="helpDescription subsOptDescriptions"
|
169 |
+
data-content="<?php esc_attr_e( "This option will allow you to delete the plugin with WordPress without loosing your subscribers. Any database table and plugin options are wipeout.", 'subscribe-to-comments-reloaded' ); ?>"
|
170 |
Â
data-placement="right"
|
171 |
+
aria-label="<?php esc_attr_e( "This option will allow you to delete the plugin with WordPress without loosing your subscribers. Any database table and plugin options are wipeout.", 'subscribe-to-comments-reloaded' ); ?>">
|
172 |
Â
<i class="fas fa-question-circle"></i>
|
173 |
Â
</div>
|
174 |
Â
</div>
|
176 |
Â
|
177 |
Â
<div class="form-group row">
|
178 |
Â
<label for="purge_days" class="col-sm-3 col-form-label text-right">
|
179 |
+
<?php esc_html_e( 'Autopurge requests', 'subscribe-to-comments-reloaded' ) ?></label>
|
180 |
Â
<div class="col-sm-7">
|
181 |
Â
<input type="number" name="options[purge_days]" id="purge_days"
|
182 |
Â
class="form-control form-control-input-3"
|
183 |
Â
value="<?php echo esc_attr( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'purge_days' ) ); ?>" size="20">
|
184 |
Â
|
185 |
Â
<div class="helpDescription subsOptDescriptions"
|
186 |
+
data-content="<?php esc_attr_e( "Delete pending subscriptions (not confirmed) after X days. Zero disables this feature.", 'subscribe-to-comments-reloaded' ); ?>"
|
187 |
Â
data-placement="right"
|
188 |
+
aria-label="<?php esc_attr_e( "Delete pending subscriptions (not confirmed) after X days. Zero disables this feature.", 'subscribe-to-comments-reloaded' ); ?>">
|
189 |
Â
<i class="fas fa-question-circle"></i>
|
190 |
Â
</div>
|
191 |
Â
</div>
|
193 |
Â
|
194 |
Â
<div class="form-group row">
|
195 |
Â
<label for="date_format" class="col-sm-3 col-form-label text-right">
|
196 |
+
<?php esc_html_e( 'Date Format', 'subscribe-to-comments-reloaded' ) ?></label>
|
197 |
Â
<div class="col-sm-7">
|
198 |
Â
<input type="text" name="options[date_format]" id="date_format"
|
199 |
Â
class="form-control form-control-input-3"
|
200 |
Â
value="<?php echo esc_attr( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'date_format' ) ); ?>" size="20">
|
201 |
Â
|
202 |
Â
<div class="helpDescription subsOptDescriptions"
|
203 |
+
data-content="<?php echo wp_kses( __( "Date format that will be display on the management page. Use <a href='https://secure.php.net/manual/en/function.date.php#refsect1-function.date-parameters' target='_blank'>PHP Date Format</a>", 'subscribe-to-comments-reloaded' ), wp_kses_allowed_html( 'post' ) ); ?>"
|
204 |
Â
data-placement="right"
|
205 |
+
aria-label="<?php echo wp_kses( __( "Date format that will be display on the management page. Use <a href='https://secure.php.net/manual/en/function.date.php#refsect1-function.date-parameters' target='_blank'>PHP Date Format</a>", 'subscribe-to-comments-reloaded' ), wp_kses_allowed_html( 'post' ) ); ?>">
|
206 |
Â
<i class="fas fa-question-circle"></i>
|
207 |
Â
</div>
|
208 |
Â
</div>
|
209 |
Â
</div>
|
210 |
Â
|
211 |
Â
<div class="form-group row">
|
212 |
+
<label for="stcr_position" class="col-sm-3 col-form-label text-right"><?php esc_html_e( 'StCR Position', 'subscribe-to-comments-reloaded' ) ?></label>
|
213 |
Â
<div class="col-sm-7">
|
214 |
Â
<div class="switch">
|
215 |
Â
<input type="radio" class="switch-input" name="options[stcr_position]"
|
216 |
Â
value="yes" id="stcr_position-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'stcr_position' ) == 'yes' ) ? ' checked' : ''; ?> />
|
217 |
Â
<label for="stcr_position-yes" class="switch-label switch-label-off">
|
218 |
+
<?php esc_html_e( 'Yes', 'subscribe-to-comments-reloaded' ) ?>
|
219 |
Â
</label>
|
220 |
Â
<input type="radio" class="switch-input" name="options[stcr_position]" value="no" id="stcr_position-no"
|
221 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'stcr_position' ) == 'no' ) ? ' checked' : ''; ?> />
|
222 |
Â
<label for="stcr_position-no" class="switch-label switch-label-on">
|
223 |
+
<?php esc_html_e( 'No', 'subscribe-to-comments-reloaded' ) ?>
|
224 |
Â
</label>
|
225 |
Â
<span class="switch-selection"></span>
|
226 |
Â
</div>
|
227 |
Â
<div class="helpDescription subsOptDescriptions"
|
228 |
+
data-content="<?php esc_attr_e( "If this option is enable the subscription box will be above the submit button in your comment form. Use this when your theme is outdated and using the incorrect WordPress Hooks and the checkbox is not displayed.", 'subscribe-to-comments-reloaded' ); ?>"
|
229 |
Â
data-placement="right"
|
230 |
+
aria-label="<?php esc_attr_e( "If this option is enable the subscription box will be above the submit button in your comment form. Use this when your theme is outdated and using the incorrect WordPress Hooks and the checkbox is not displayed.", 'subscribe-to-comments-reloaded' ); ?>">
|
231 |
Â
<i class="fas fa-question-circle"></i>
|
232 |
Â
</div>
|
233 |
Â
</div>
|
235 |
Â
|
236 |
Â
<div class="form-group row">
|
237 |
Â
<label for="enable_double_check" class="col-sm-3 col-form-label text-right">
|
238 |
+
<?php esc_html_e( 'Enable double check', 'subscribe-to-comments-reloaded' ) ?>
|
239 |
Â
</label>
|
240 |
Â
<div class="col-sm-7">
|
241 |
Â
<div class="switch">
|
242 |
Â
<input type="radio" class="switch-input" name="options[enable_double_check]"
|
243 |
Â
value="yes" id="enable_double_check-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'enable_double_check' ) == 'yes' ) ? ' checked' : ''; ?> />
|
244 |
Â
<label for="enable_double_check-yes" class="switch-label switch-label-off">
|
245 |
+
<?php esc_html_e( 'Yes', 'subscribe-to-comments-reloaded' ) ?>
|
246 |
Â
</label>
|
247 |
Â
<input type="radio" class="switch-input" name="options[enable_double_check]" value="no" id="enable_double_check-no"
|
248 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'enable_double_check' ) == 'no' ) ? ' checked' : ''; ?> />
|
249 |
Â
<label for="enable_double_check-no" class="switch-label switch-label-on">
|
250 |
+
<?php esc_html_e( 'No', 'subscribe-to-comments-reloaded' ) ?>
|
251 |
Â
</label>
|
252 |
Â
<span class="switch-selection"></span>
|
253 |
Â
</div>
|
254 |
Â
<div class="helpDescription subsOptDescriptions"
|
255 |
+
data-content="<?php esc_attr_e( "Send a notification email to confirm the subscription (to avoid addresses misuse).", 'subscribe-to-comments-reloaded' ); ?>"
|
256 |
Â
data-placement="right"
|
257 |
+
aria-label="<?php esc_attr_e( "Send a notification email to confirm the subscription (to avoid addresses misuse).", 'subscribe-to-comments-reloaded' ); ?>">
|
258 |
Â
<i class="fas fa-question-circle"></i>
|
259 |
Â
</div>
|
260 |
Â
</div>
|
262 |
Â
|
263 |
Â
<div class="form-group row">
|
264 |
Â
<label for="notify_authors" class="col-sm-3 col-form-label text-right">
|
265 |
+
<?php esc_html_e( 'Subscribe authors', 'subscribe-to-comments-reloaded' ) ?>
|
266 |
Â
</label>
|
267 |
Â
<div class="col-sm-7">
|
268 |
Â
<div class="switch">
|
269 |
Â
<input type="radio" class="switch-input" name="options[notify_authors]"
|
270 |
Â
value="yes" id="notify_authors-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'notify_authors' ) == 'yes' ) ? ' checked' : ''; ?> />
|
271 |
Â
<label for="notify_authors-yes" class="switch-label switch-label-off">
|
272 |
+
<?php esc_html_e( 'Yes', 'subscribe-to-comments-reloaded' ) ?>
|
273 |
Â
</label>
|
274 |
Â
<input type="radio" class="switch-input" name="options[notify_authors]" value="no" id="notify_authors-no"
|
275 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'notify_authors' ) == 'no' ) ? ' checked' : ''; ?> />
|
276 |
Â
<label for="notify_authors-no" class="switch-label switch-label-on">
|
277 |
+
<?php esc_html_e( 'No', 'subscribe-to-comments-reloaded' ) ?>
|
278 |
Â
</label>
|
279 |
Â
<span class="switch-selection"></span>
|
280 |
Â
</div>
|
281 |
Â
<div class="helpDescription subsOptDescriptions"
|
282 |
+
data-content="<?php esc_attr_e( "Automatically subscribe authors to their own articles (not retroactive).", 'subscribe-to-comments-reloaded' ); ?>"
|
283 |
Â
data-placement="right"
|
284 |
+
aria-label="<?php esc_attr_e( "Automatically subscribe authors to their own articles (not retroactive).", 'subscribe-to-comments-reloaded' ); ?>">
|
285 |
Â
<i class="fas fa-question-circle"></i>
|
286 |
Â
</div>
|
287 |
Â
</div>
|
289 |
Â
|
290 |
Â
<div class="form-group row">
|
291 |
Â
<label for="enable_html_emails" class="col-sm-3 col-form-label text-right">
|
292 |
+
<?php esc_html_e( 'Enable HTML emails', 'subscribe-to-comments-reloaded' ) ?>
|
293 |
Â
</label>
|
294 |
Â
<div class="col-sm-7">
|
295 |
Â
<div class="switch">
|
296 |
Â
<input type="radio" class="switch-input" name="options[enable_html_emails]"
|
297 |
Â
value="yes" id="enable_html_emails-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'enable_html_emails' ) == 'yes' ) ? ' checked' : ''; ?> />
|
298 |
Â
<label for="enable_html_emails-yes" class="switch-label switch-label-off">
|
299 |
+
<?php esc_html_e( 'Yes', 'subscribe-to-comments-reloaded' ) ?>
|
300 |
Â
</label>
|
301 |
Â
<input type="radio" class="switch-input" name="options[enable_html_emails]" value="no" id="enable_html_emails-no"
|
302 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'enable_html_emails' ) == 'no' ) ? ' checked' : ''; ?> />
|
303 |
Â
<label for="enable_html_emails-no" class="switch-label switch-label-on">
|
304 |
+
<?php esc_html_e( 'No', 'subscribe-to-comments-reloaded' ) ?>
|
305 |
Â
</label>
|
306 |
Â
<span class="switch-selection"></span>
|
307 |
Â
</div>
|
308 |
Â
<div class="helpDescription subsOptDescriptions"
|
309 |
+
data-content="<?php esc_attr_e( "If enabled, will send email messages with content-type = text/html instead of text/plain", 'subscribe-to-comments-reloaded' ); ?>"
|
310 |
Â
data-placement="right"
|
311 |
+
aria-label="<?php esc_attr_e( "If enabled, will send email messages with content-type = text/html instead of text/plain", 'subscribe-to-comments-reloaded' ); ?>">
|
312 |
Â
<i class="fas fa-question-circle"></i>
|
313 |
Â
</div>
|
314 |
Â
</div>
|
316 |
Â
|
317 |
Â
<div class="form-group row">
|
318 |
Â
<label for="process_trackbacks" class="col-sm-3 col-form-label text-right">
|
319 |
+
<?php esc_html_e( 'Process trackbacks', 'subscribe-to-comments-reloaded' ) ?>
|
320 |
Â
</label>
|
321 |
Â
<div class="col-sm-7">
|
322 |
Â
<div class="switch">
|
323 |
Â
<input type="radio" class="switch-input" name="options[process_trackbacks]"
|
324 |
Â
value="yes" id="process_trackbacks-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'process_trackbacks' ) == 'yes' ) ? ' checked' : ''; ?> />
|
325 |
Â
<label for="process_trackbacks-yes" class="switch-label switch-label-off">
|
326 |
+
<?php esc_html_e( 'Yes', 'subscribe-to-comments-reloaded' ) ?>
|
327 |
Â
</label>
|
328 |
Â
<input type="radio" class="switch-input" name="options[process_trackbacks]" value="no" id="process_trackbacks-no"
|
329 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'process_trackbacks' ) == 'no' ) ? ' checked' : ''; ?> />
|
330 |
Â
<label for="process_trackbacks-no" class="switch-label switch-label-on">
|
331 |
+
<?php esc_html_e( 'No', 'subscribe-to-comments-reloaded' ) ?>
|
332 |
Â
</label>
|
333 |
Â
<span class="switch-selection"></span>
|
334 |
Â
</div>
|
335 |
Â
<div class="helpDescription subsOptDescriptions"
|
336 |
+
data-content="<?php esc_attr_e( "Notify users when a new trackback or pingback is added to the discussion.", 'subscribe-to-comments-reloaded' ); ?>"
|
337 |
Â
data-placement="right"
|
338 |
+
aria-label="<?php esc_attr_e( "Notify users when a new trackback or pingback is added to the discussion.", 'subscribe-to-comments-reloaded' ); ?>">
|
339 |
Â
<i class="fas fa-question-circle"></i>
|
340 |
Â
</div>
|
341 |
Â
</div>
|
343 |
Â
|
344 |
Â
<div class="form-group row">
|
345 |
Â
<label for="enable_admin_messages" class="col-sm-3 col-form-label text-right">
|
346 |
+
<?php esc_html_e( 'Track all subscriptions', 'subscribe-to-comments-reloaded' ) ?>
|
347 |
Â
</label>
|
348 |
Â
<div class="col-sm-7">
|
349 |
Â
<div class="switch">
|
350 |
Â
<input type="radio" class="switch-input" name="options[enable_admin_messages]"
|
351 |
Â
value="yes" id="enable_admin_messages-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'enable_admin_messages' ) == 'yes' ) ? ' checked' : ''; ?> />
|
352 |
Â
<label for="enable_admin_messages-yes" class="switch-label switch-label-off">
|
353 |
+
<?php esc_html_e( 'Yes', 'subscribe-to-comments-reloaded' ) ?>
|
354 |
Â
</label>
|
355 |
Â
<input type="radio" class="switch-input" name="options[enable_admin_messages]" value="no" id="enable_admin_messages-no"
|
356 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'enable_admin_messages' ) == 'no' ) ? ' checked' : ''; ?> />
|
357 |
Â
<label for="enable_admin_messages-no" class="switch-label switch-label-on">
|
358 |
+
<?php esc_html_e( 'No', 'subscribe-to-comments-reloaded' ) ?>
|
359 |
Â
</label>
|
360 |
Â
<span class="switch-selection"></span>
|
361 |
Â
</div>
|
362 |
Â
<div class="helpDescription subsOptDescriptions"
|
363 |
+
data-content="<?php esc_attr_e( "Notify the administrator when users subscribe without commenting.", 'subscribe-to-comments-reloaded' ); ?>"
|
364 |
Â
data-placement="right"
|
365 |
+
aria-label="<?php esc_attr_e( "Notify the administrator when users subscribe without commenting.", 'subscribe-to-comments-reloaded' ); ?>">
|
366 |
Â
<i class="fas fa-question-circle"></i>
|
367 |
Â
</div>
|
368 |
Â
</div>
|
370 |
Â
|
371 |
Â
<div class="form-group row">
|
372 |
Â
<label for="admin_subscribe" class="col-sm-3 col-form-label text-right">
|
373 |
+
<?php esc_html_e( 'Let Admin Subscribe', 'subscribe-to-comments-reloaded' ) ?>
|
374 |
Â
</label>
|
375 |
Â
<div class="col-sm-7">
|
376 |
Â
<div class="switch">
|
377 |
Â
<input type="radio" class="switch-input" name="options[admin_subscribe]"
|
378 |
Â
value="yes" id="admin_subscribe-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'admin_subscribe' ) == 'yes' ) ? ' checked' : ''; ?> />
|
379 |
Â
<label for="admin_subscribe-yes" class="switch-label switch-label-off">
|
380 |
+
<?php esc_html_e( 'Yes', 'subscribe-to-comments-reloaded' ) ?>
|
381 |
Â
</label>
|
382 |
Â
<input type="radio" class="switch-input" name="options[admin_subscribe]" value="no" id="admin_subscribe-no"
|
383 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'admin_subscribe' ) == 'no' ) ? ' checked' : ''; ?> />
|
384 |
Â
<label for="admin_subscribe-no" class="switch-label switch-label-on">
|
385 |
+
<?php esc_html_e( 'No', 'subscribe-to-comments-reloaded' ) ?>
|
386 |
Â
</label>
|
387 |
Â
<span class="switch-selection"></span>
|
388 |
Â
</div>
|
389 |
Â
<div class="helpDescription subsOptDescriptions"
|
390 |
+
data-content="<?php esc_attr_e( "Let the administrator subscribe to comments when logged in.", 'subscribe-to-comments-reloaded' ); ?>"
|
391 |
Â
data-placement="right"
|
392 |
+
aria-label="<?php esc_attr_e( "Let the administrator subscribe to comments when logged in.", 'subscribe-to-comments-reloaded' ); ?>">
|
393 |
Â
<i class="fas fa-question-circle"></i>
|
394 |
Â
</div>
|
395 |
Â
</div>
|
397 |
Â
|
398 |
Â
<div class="form-group row" style="margin-bottom: 0;">
|
399 |
Â
<label for="admin_bcc" class="col-sm-3 col-form-label text-right">
|
400 |
+
<?php esc_html_e( 'BCC admin on Notifications', 'subscribe-to-comments-reloaded' ) ?>
|
401 |
Â
</label>
|
402 |
Â
<div class="col-sm-7">
|
403 |
Â
<div class="switch">
|
404 |
Â
<input type="radio" class="switch-input" name="options[admin_bcc]"
|
405 |
Â
value="yes" id="admin_bcc-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'admin_bcc' ) == 'yes' ) ? ' checked' : ''; ?> />
|
406 |
Â
<label for="admin_bcc-yes" class="switch-label switch-label-off">
|
407 |
+
<?php esc_html_e( 'Yes', 'subscribe-to-comments-reloaded' ) ?>
|
408 |
Â
</label>
|
409 |
Â
<input type="radio" class="switch-input" name="options[admin_bcc]" value="no" id="admin_bcc-no"
|
410 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'admin_bcc' ) == 'no' ) ? ' checked' : ''; ?> />
|
411 |
Â
<label for="admin_bcc-no" class="switch-label switch-label-on">
|
412 |
+
<?php esc_html_e( 'No', 'subscribe-to-comments-reloaded' ) ?>
|
413 |
Â
</label>
|
414 |
Â
<span class="switch-selection"></span>
|
415 |
Â
</div>
|
416 |
Â
<div class="helpDescription subsOptDescriptions"
|
417 |
+
data-content="<?php esc_attr_e( "Send a copy of all Notifications to the administrator.", 'subscribe-to-comments-reloaded' ); ?>"
|
418 |
Â
data-placement="right"
|
419 |
+
aria-label="<?php esc_attr_e( "Send a copy of all Notifications to the administrator.", 'subscribe-to-comments-reloaded' ); ?>">
|
420 |
Â
<i class="fas fa-question-circle"></i>
|
421 |
Â
</div>
|
422 |
Â
</div>
|
424 |
Â
|
425 |
Â
<div class="form-group row">
|
426 |
Â
<label for="enable_font_awesome" class="col-sm-3 col-form-label text-right">
|
427 |
+
<?php esc_html_e( 'Enable Font Awesome', 'subscribe-to-comments-reloaded' ) ?>
|
428 |
Â
</label>
|
429 |
Â
<div class="col-sm-7">
|
430 |
Â
<div class="switch">
|
431 |
Â
<input type="radio" class="switch-input" name="options[enable_font_awesome]"
|
432 |
Â
value="yes" id="enable_font_awesome-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'enable_font_awesome' ) == 'yes' ) ? ' checked' : ''; ?> />
|
433 |
Â
<label for="enable_font_awesome-yes" class="switch-label switch-label-off">
|
434 |
+
<?php esc_html_e( 'Yes', 'subscribe-to-comments-reloaded' ) ?>
|
435 |
Â
</label>
|
436 |
Â
<input type="radio" class="switch-input" name="options[enable_font_awesome]" value="no" id="enable_font_awesome-no"
|
437 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'enable_font_awesome' ) == 'no' ) ? ' checked' : ''; ?> />
|
438 |
Â
<label for="enable_font_awesome-no" class="switch-label switch-label-on">
|
439 |
+
<?php esc_html_e( 'No', 'subscribe-to-comments-reloaded' ) ?>
|
440 |
Â
</label>
|
441 |
Â
<span class="switch-selection"></span>
|
442 |
Â
</div>
|
443 |
Â
<div class="helpDescription subsOptDescriptions"
|
444 |
+
data-content="<?php esc_attr_e( "Let you control the inclusion of the Font Awesome into your site. Disable if your theme already add this into your site.", 'subscribe-to-comments-reloaded' ); ?>"
|
445 |
Â
data-placement="right"
|
446 |
+
aria-label="<?php esc_attr_e( "Let you control the inclusion of the Font Awesome into your site. Disable if your theme already add this into your site.", 'subscribe-to-comments-reloaded' ); ?>">
|
447 |
Â
<i class="fas fa-question-circle"></i>
|
448 |
Â
</div>
|
449 |
Â
</div>
|
477 |
Â
}
|
478 |
Â
?>
|
479 |
Â
<div class="form-check pl-0">
|
480 |
+
<input type="checkbox" id="<?php echo esc_attr( $post_type ); ?>" name="options[post_type_supports][]" value="<?php echo esc_attr( $post_type ) ?>" <?php echo $checked; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?> />
|
481 |
Â
|
482 |
Â
<label for="<?php echo esc_attr( $post_type ); ?>">
|
483 |
Â
<?php echo esc_html( get_post_type_object( $post_type )->label ); ?>
|
489 |
Â
</div>
|
490 |
Â
|
491 |
Â
<div class="helpDescription subsOptDescriptions ml-0"
|
492 |
+
data-content="<?php esc_attr_e( "Enable for these specific post types only.", 'subscribe-to-comments-reloaded' ); ?>"
|
493 |
Â
data-placement="right"
|
494 |
+
aria-label="<?php esc_attr_e( "Enable for these specific post types only.", 'subscribe-to-comments-reloaded' ); ?>">
|
495 |
Â
<i class="fas fa-question-circle"></i>
|
496 |
Â
</div>
|
497 |
Â
</div>
|
499 |
Â
|
500 |
Â
<div class="form-group row">
|
501 |
Â
<label for="only_for_logged_in" class="col-sm-3 col-form-label text-right">
|
502 |
+
<?php esc_html_e( 'Enable only for logged in users', 'subscribe-to-comments-reloaded' ) ?>
|
503 |
Â
</label>
|
504 |
Â
<div class="col-sm-7">
|
505 |
Â
<div class="switch">
|
506 |
Â
<input type="radio" class="switch-input" name="options[only_for_logged_in]"
|
507 |
Â
value="yes" id="only_for_logged_in-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'only_for_logged_in', 'no' ) == 'yes' ) ? ' checked' : ''; ?> />
|
508 |
Â
<label for="only_for_logged_in-yes" class="switch-label switch-label-off">
|
509 |
+
<?php esc_html_e( 'Yes', 'subscribe-to-comments-reloaded' ) ?>
|
510 |
Â
</label>
|
511 |
Â
<input type="radio" class="switch-input" name="options[only_for_logged_in]" value="no" id="only_for_logged_in-no"
|
512 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'only_for_logged_in', 'no' ) == 'no' ) ? ' checked' : ''; ?> />
|
513 |
Â
<label for="only_for_logged_in-no" class="switch-label switch-label-on">
|
514 |
+
<?php esc_html_e( 'No', 'subscribe-to-comments-reloaded' ) ?>
|
515 |
Â
</label>
|
516 |
Â
<span class="switch-selection"></span>
|
517 |
Â
</div>
|
518 |
Â
<div class="helpDescription subsOptDescriptions"
|
519 |
+
data-content="<?php esc_attr_e( "Enable subscription only for logged in users.", 'subscribe-to-comments-reloaded' ); ?>"
|
520 |
Â
data-placement="right"
|
521 |
+
aria-label="<?php esc_attr_e( "Enable subscription only for logged in users.", 'subscribe-to-comments-reloaded' ); ?>">
|
522 |
Â
<i class="fas fa-question-circle"></i>
|
523 |
Â
</div>
|
524 |
Â
</div>
|
526 |
Â
|
527 |
Â
<div class="form-group row">
|
528 |
Â
<label for="use_cookies" class="col-sm-3 col-form-label text-right">
|
529 |
+
<?php esc_html_e( 'Enable cookies', 'subscribe-to-comments-reloaded' ) ?>
|
530 |
Â
</label>
|
531 |
Â
<div class="col-sm-7">
|
532 |
Â
<div class="switch">
|
533 |
Â
<input type="radio" class="switch-input" name="options[use_cookies]"
|
534 |
Â
value="yes" id="use_cookies-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'use_cookies', 'yes' ) == 'yes' ) ? ' checked' : ''; ?> />
|
535 |
Â
<label for="use_cookies-yes" class="switch-label switch-label-off">
|
536 |
+
<?php esc_html_e( 'Yes', 'subscribe-to-comments-reloaded' ) ?>
|
537 |
Â
</label>
|
538 |
Â
<input type="radio" class="switch-input" name="options[use_cookies]" value="no" id="use_cookies-no"
|
539 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'use_cookies', 'no' ) == 'no' ) ? ' checked' : ''; ?> />
|
540 |
Â
<label for="use_cookies-no" class="switch-label switch-label-on">
|
541 |
+
<?php esc_html_e( 'No', 'subscribe-to-comments-reloaded' ) ?>
|
542 |
Â
</label>
|
543 |
Â
<span class="switch-selection"></span>
|
544 |
Â
</div>
|
545 |
Â
<div class="helpDescription subsOptDescriptions"
|
546 |
+
data-content="<?php esc_attr_e( "Remembers the email address to prepopulate StCR forms.", 'subscribe-to-comments-reloaded' ); ?>"
|
547 |
Â
data-placement="right"
|
548 |
+
aria-label="<?php esc_attr_e( "Remembers the email address to prepopulate StCR forms.", 'subscribe-to-comments-reloaded' ); ?>">
|
549 |
Â
<i class="fas fa-question-circle"></i>
|
550 |
Â
</div>
|
551 |
Â
</div>
|
553 |
Â
|
554 |
Â
<div class="form-group row">
|
555 |
Â
<label for="use_challenge_question" class="col-sm-3 col-form-label text-right">
|
556 |
+
<?php esc_html_e( 'Enable challenge question', 'subscribe-to-comments-reloaded' ) ?>
|
557 |
Â
</label>
|
558 |
Â
<div class="col-sm-7">
|
559 |
Â
<div class="switch">
|
560 |
Â
<input type="radio" class="switch-input" name="options[use_challenge_question]"
|
561 |
Â
value="yes" id="use_challenge_question-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'use_challenge_question', 'no' ) == 'yes' ) ? ' checked' : ''; ?> />
|
562 |
Â
<label for="use_challenge_question-yes" class="switch-label switch-label-off">
|
563 |
+
<?php esc_html_e( 'Yes', 'subscribe-to-comments-reloaded' ) ?>
|
564 |
Â
</label>
|
565 |
Â
<input type="radio" class="switch-input" name="options[use_challenge_question]" value="no" id="use_challenge_question-no"
|
566 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'use_challenge_question', 'no' ) == 'no' ) ? ' checked' : ''; ?> />
|
567 |
Â
<label for="use_challenge_question-no" class="switch-label switch-label-on">
|
568 |
+
<?php esc_html_e( 'No', 'subscribe-to-comments-reloaded' ) ?>
|
569 |
Â
</label>
|
570 |
Â
<span class="switch-selection"></span>
|
571 |
Â
</div>
|
572 |
Â
<div class="helpDescription subsOptDescriptions"
|
573 |
+
data-content="<?php esc_attr_e( "Enables input for challenge question/answer on the subscription form.", 'subscribe-to-comments-reloaded' ); ?>"
|
574 |
Â
data-placement="right"
|
575 |
+
aria-label="<?php esc_attr_e( "Enables input for challenge question/answer on the subscription form.", 'subscribe-to-comments-reloaded' ); ?>">
|
576 |
Â
<i class="fas fa-question-circle"></i>
|
577 |
Â
</div>
|
578 |
Â
</div>
|
580 |
Â
|
581 |
Â
<div class="form-group row">
|
582 |
Â
<label for="challenge_question" class="col-sm-3 col-form-label text-right">
|
583 |
+
<?php esc_html_e( 'Challenge question', 'subscribe-to-comments-reloaded' ) ?></label>
|
584 |
Â
<div class="col-sm-7">
|
585 |
Â
<input type="text" name="options[challenge_question]" id="challenge_question"
|
586 |
Â
class="form-control form-control-input-3"
|
587 |
Â
value="<?php echo esc_attr( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'challenge_question', 'What is 1 + 2?' ) ); ?>">
|
588 |
Â
|
589 |
Â
<div class="helpDescription subsOptDescriptions"
|
590 |
+
data-content="<?php esc_attr_e( "The question shown to visitor when subscribing without commenting or when requesting a subscription management link.", 'subscribe-to-comments-reloaded' ); ?>"
|
591 |
Â
data-placement="right"
|
592 |
+
aria-label="<?php esc_attr_e( "The question shown to visitor when subscribing without commenting or when requesting a subscription management link", 'subscribe-to-comments-reloaded' ); ?>">
|
593 |
Â
<i class="fas fa-question-circle"></i>
|
594 |
Â
</div>
|
595 |
Â
</div>
|
597 |
Â
|
598 |
Â
<div class="form-group row">
|
599 |
Â
<label for="challenge_answer" class="col-sm-3 col-form-label text-right">
|
600 |
+
<?php esc_html_e( 'Challenge answer', 'subscribe-to-comments-reloaded' ) ?></label>
|
601 |
Â
<div class="col-sm-7">
|
602 |
Â
<input type="text" name="options[challenge_answer]" id="challenge_answer"
|
603 |
Â
class="form-control form-control-input-3"
|
604 |
Â
value="<?php echo esc_attr( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'challenge_answer', 3 ) ); ?>">
|
605 |
Â
|
606 |
Â
<div class="helpDescription subsOptDescriptions"
|
607 |
+
data-content="<?php esc_attr_e( "The visitor needs to provide this answer to proceed with subscription.", 'subscribe-to-comments-reloaded' ); ?>"
|
608 |
Â
data-placement="right"
|
609 |
+
aria-label="<?php esc_attr_e( "The visitor needs to provide this answer to proceed with subscription.", 'subscribe-to-comments-reloaded' ); ?>">
|
610 |
Â
<i class="fas fa-question-circle"></i>
|
611 |
Â
</div>
|
612 |
Â
</div>
|
616 |
Â
|
617 |
Â
<div class="form-group row">
|
618 |
Â
<label for="use_captcha" class="col-sm-3 col-form-label text-right">
|
619 |
+
<?php esc_html_e( 'Enable Google reCAPTCHA', 'subscribe-to-comments-reloaded' ) ?>
|
620 |
Â
</label>
|
621 |
Â
<div class="col-sm-7">
|
622 |
Â
<div class="switch">
|
623 |
Â
<input type="radio" class="switch-input" name="options[use_captcha]"
|
624 |
Â
value="yes" id="use_captcha-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'use_captcha', 'no' ) == 'yes' ) ? ' checked' : ''; ?> />
|
625 |
Â
<label for="use_captcha-yes" class="switch-label switch-label-off">
|
626 |
+
<?php esc_html_e( 'Yes', 'subscribe-to-comments-reloaded' ) ?>
|
627 |
Â
</label>
|
628 |
Â
<input type="radio" class="switch-input" name="options[use_captcha]" value="no" id="use_captcha-no"
|
629 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'use_captcha', 'no' ) == 'no' ) ? ' checked' : ''; ?> />
|
630 |
Â
<label for="use_captcha-no" class="switch-label switch-label-on">
|
631 |
+
<?php esc_html_e( 'No', 'subscribe-to-comments-reloaded' ) ?>
|
632 |
Â
</label>
|
633 |
Â
<span class="switch-selection"></span>
|
634 |
Â
</div>
|
635 |
Â
<div class="helpDescription subsOptDescriptions"
|
636 |
+
data-content="<?php esc_attr_e( "Shown to visitor when subscribing without commenting or when requesting a subscription management link.", 'subscribe-to-comments-reloaded' ); ?>"
|
637 |
Â
data-placement="right"
|
638 |
+
aria-label="<?php esc_attr_e( "Shown to visitor when subscribing without commenting or when requesting a subscription management link.", 'subscribe-to-comments-reloaded' ); ?>">
|
639 |
Â
<i class="fas fa-question-circle"></i>
|
640 |
Â
</div>
|
641 |
Â
</div>
|
652 |
Â
</select>
|
653 |
Â
|
654 |
Â
<div class="helpDescription subsOptDescriptions"
|
655 |
+
data-content="<?php esc_attr_e( "reCAPTCHA version to be used.", 'subscribe-to-comments-reloaded' ); ?>"
|
656 |
Â
data-placement="right"
|
657 |
+
aria-label="<?php esc_attr_e( "reCAPTCHA version to be used.", 'subscribe-to-comments-reloaded' ); ?>">
|
658 |
Â
<i class="fas fa-question-circle"></i>
|
659 |
Â
</div>
|
660 |
Â
</div>
|
662 |
Â
|
663 |
Â
<div class="form-group row">
|
664 |
Â
<label for="captcha_site_key" class="col-sm-3 col-form-label text-right">
|
665 |
+
<?php esc_html_e( 'reCAPTCHA site key', 'subscribe-to-comments-reloaded' ) ?></label>
|
666 |
Â
<div class="col-sm-7">
|
667 |
Â
<input type="text" name="options[captcha_site_key]" id="captcha_site_key"
|
668 |
Â
class="form-control form-control-input-3"
|
669 |
Â
value="<?php echo esc_attr( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'captcha_site_key', '' ) ); ?>">
|
670 |
Â
|
671 |
Â
<div class="helpDescription subsOptDescriptions"
|
672 |
+
data-content="<?php esc_attr_e( "The site key for Google reCAPTCHA.", 'subscribe-to-comments-reloaded' ); ?>"
|
673 |
Â
data-placement="right"
|
674 |
+
aria-label="<?php esc_attr_e( "The site key for Google reCAPTCHA.", 'subscribe-to-comments-reloaded' ); ?>">
|
675 |
Â
<i class="fas fa-question-circle"></i>
|
676 |
Â
</div>
|
677 |
Â
</div>
|
679 |
Â
|
680 |
Â
<div class="form-group row">
|
681 |
Â
<label for="captcha_secret_key" class="col-sm-3 col-form-label text-right">
|
682 |
+
<?php esc_html_e( 'reCAPTCHA secret key', 'subscribe-to-comments-reloaded' ) ?></label>
|
683 |
Â
<div class="col-sm-7">
|
684 |
Â
<input type="text" name="options[captcha_secret_key]" id="captcha_secret_key"
|
685 |
Â
class="form-control form-control-input-3"
|
686 |
Â
value="<?php echo esc_attr( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'captcha_secret_key', '' ) ); ?>">
|
687 |
Â
|
688 |
Â
<div class="helpDescription subsOptDescriptions"
|
689 |
+
data-content="<?php esc_attr_e( "The secret key for Google reCAPTCHA.", 'subscribe-to-comments-reloaded' ); ?>"
|
690 |
Â
data-placement="right"
|
691 |
+
aria-label="<?php esc_attr_e( "The secret key for Google reCAPTCHA.", 'subscribe-to-comments-reloaded' ); ?>">
|
692 |
Â
<i class="fas fa-question-circle"></i>
|
693 |
Â
</div>
|
694 |
Â
</div>
|
696 |
Â
|
697 |
Â
<div class="form-group row">
|
698 |
Â
<label for="blacklisted_emails" class="col-sm-3 col-form-label text-right">
|
699 |
+
<?php esc_html_e( 'Blacklisted Emails', 'subscribe-to-comments-reloaded' ) ?></label>
|
700 |
Â
<div class="col-sm-7">
|
701 |
Â
<textarea name="options[blacklisted_emails]" id="blacklisted_emails"
|
702 |
Â
class="form-control form-control-input-9" cols="10" rows="6"
|
703 |
Â
><?php echo esc_textarea( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'blacklisted_emails', '' ) ); ?></textarea>
|
704 |
Â
|
705 |
Â
<div class="helpDescription subsOptDescriptions"
|
706 |
+
data-content="<?php esc_attr_e( "Add a comma separated list of emails to blacklist them from subscribing to comments. Example: example@example.com, mail@mail.com", 'subscribe-to-comments-reloaded' ); ?>"
|
707 |
Â
data-placement="right"
|
708 |
+
aria-label="<?php esc_attr_e( "Add a comma separated list of emails to blacklist them from subscribing to comments. Example: example@example.com, mail@mail.com", 'subscribe-to-comments-reloaded' ); ?>">
|
709 |
Â
<i class="fas fa-question-circle"></i>
|
710 |
Â
</div>
|
711 |
Â
</div>
|
715 |
Â
|
716 |
Â
<div class="form-group row">
|
717 |
Â
<label for="unique_key" class="col-sm-3 col-form-label text-right">
|
718 |
+
<?php esc_html_e( 'StCR Unique Key', 'subscribe-to-comments-reloaded' ) ?></label>
|
719 |
Â
<div class="col-sm-7">
|
720 |
Â
|
721 |
Â
<?php
|
722 |
Â
if ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'unique_key' ) == "" ) {
|
723 |
Â
|
724 |
Â
echo "<div class=\"alert alert-danger\" role=\"alert\" style='font-size: 0.85rem;'>";
|
725 |
+
echo '<strong>' . esc_html__( "This Unique Key is not set, please click the following button to ", 'subscribe-to-comments-reloaded' ) . '</strong>';
|
726 |
+
echo "<input type='submit' value='" . esc_attr__( 'Generate', 'subscribe-to-comments-reloaded' ) ."' class='btn btn-secondary subscribe-form-button' name='generate_key' >";
|
727 |
Â
echo "</div>";
|
728 |
Â
}
|
729 |
Â
else {
|
737 |
Â
|
738 |
Â
|
739 |
Â
<div class="helpDescription subsOptDescriptions"
|
740 |
+
data-content="<?php esc_attr_e( "This Unique Key will be use to send the notification to your subscribers with more security.", 'subscribe-to-comments-reloaded' ); ?>"
|
741 |
Â
data-placement="right"
|
742 |
+
aria-label="<?php esc_attr_e( "This Unique Key will be use to send the notification to your subscribers with more security.", 'subscribe-to-comments-reloaded' ); ?>">
|
743 |
Â
<i class="fas fa-question-circle"></i>
|
744 |
Â
</div>
|
745 |
Â
</div>
|
747 |
Â
|
748 |
Â
<div class="form-group row">
|
749 |
Â
<label for="" class="col-sm-3 col-form-label text-right">
|
750 |
+
<?php esc_html_e( 'Reset All Options', 'subscribe-to-comments-reloaded' ) ?>
|
751 |
Â
</label>
|
752 |
Â
<div class="col-sm-7">
|
753 |
Â
|
754 |
Â
<div class="alert alert-danger" role="alert">
|
755 |
Â
<strong>Danger!</strong>
|
756 |
Â
<p>
|
757 |
+
<?php esc_html_e( 'This will reset all the options and messages of the plugin. Please proceed with caution.', 'subscribe-to-comments-reloaded' ); ?>
|
758 |
Â
</p>
|
759 |
Â
|
760 |
Â
<p>
|
761 |
+
<?php echo wp_kses( __( '<strong>Yes</strong> = Delete Options including subscriptions.', 'subscribe-to-comments-reloaded' ), wp_kses_allowed_html( 'post' ) ); ?><br/>
|
762 |
+
<?php echo wp_kses( __( '<strong>No</strong> = Only delete the StCR Options.', 'subscribe-to-comments-reloaded' ), wp_kses_allowed_html( 'post' ) ); ?>
|
763 |
Â
</p>
|
764 |
Â
|
765 |
Â
|
767 |
Â
<input type="radio" class="switch-input" name="options[delete_options_subscriptions]"
|
768 |
Â
value="yes" id="delete_options_subscriptions-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'delete_options_subscriptions' ) == 'yes' ) ? ' checked' : ''; ?> />
|
769 |
Â
<label for="delete_options_subscriptions-yes" class="switch-label switch-label-off">
|
770 |
+
<?php esc_html_e( 'Yes', 'subscribe-to-comments-reloaded' ) ?>
|
771 |
Â
</label>
|
772 |
Â
<input type="radio" class="switch-input" name="options[delete_options_subscriptions]" value="no" id="delete_options_subscriptions-no"
|
773 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'delete_options_subscriptions' ) == 'no' ) ? ' checked' : ''; ?> />
|
774 |
Â
<label for="delete_options_subscriptions-no" class="switch-label switch-label-on">
|
775 |
+
<?php esc_html_e( 'No', 'subscribe-to-comments-reloaded' ) ?>
|
776 |
Â
</label>
|
777 |
Â
<span class="switch-selection"></span>
|
778 |
Â
</div>
|
786 |
Â
<div class="form-group row">
|
787 |
Â
<div class="col-sm-9 offset-sm-1">
|
788 |
Â
<button type="submit" class="btn btn-primary subscribe-form-button" name="Submit">
|
789 |
+
<?php esc_html_e( 'Save Changes', 'subscribe-to-comments-reloaded' ) ?>
|
790 |
Â
</button>
|
791 |
Â
</div>
|
792 |
Â
</div>
|
options/stcr_support.php
CHANGED
@@ -17,21 +17,21 @@ if ( ! function_exists( 'is_admin' ) || ! is_admin() ) {
|
|
17 |
Â
<div class="card-body">
|
18 |
Â
<div class="card-text">
|
19 |
Â
|
20 |
-
<h5><?php
|
21 |
-
<p><?php
|
22 |
Â
|
23 |
-
<h5><?php
|
24 |
-
<p><?php
|
25 |
Â
|
26 |
-
<h5><?php
|
27 |
-
<p><?php
|
28 |
Â
|
29 |
-
<h5><?php
|
30 |
-
<p><?php
|
31 |
Â
</p>
|
32 |
Â
<div class="alert alert-info" role="alert">
|
33 |
Â
<strong>Heads up!</strong>
|
34 |
-
<p><?php printf( __( 'The options on the WordPress forum at very limited to share media information, so I urge you to use GitHub to report any issue, you will get a better and faster experience than in WordPress. And you can use <a href="%s" target="_blank" >Markdown syntax</a>.', 'subscribe-to-comments-reloaded' ), "https://guides.github.com/features/mastering-markdown/" ); ?></p>
|
35 |
Â
</div>
|
36 |
Â
</div>
|
37 |
Â
</div>
|
17 |
Â
<div class="card-body">
|
18 |
Â
<div class="card-text">
|
19 |
Â
|
20 |
+
<h5><?php esc_html_e( "You can help", 'subscribe-to-comments-reloaded' ) ?></h5>
|
21 |
+
<p><?php echo wp_kses( __( "Please consider blogging about my plugin with a link to the plugin's page. Please let your readers know what makes your blog better. You can also contribute donating your time: do not hesitate to send me bug reports, your localization files, ideas on how to improve <strong>Subscribe to Comments Reloaded</strong> and so on. Whatever you do, thanks for using my plugin!", 'subscribe-to-comments-reloaded' ), wp_kses_allowed_html( 'post' ) ); ?></p>
|
22 |
Â
|
23 |
+
<h5><?php esc_html_e( "Subscribe to the Beta testers", 'subscribe-to-comments-reloaded' ) ?></h5>
|
24 |
+
<p><?php echo wp_kses( __( "Before a new Update we release a Beta version so that our current users can give us feedback if they find a bug, If you want to join the tester list you can add your email <a href='http://eepurl.com/biCk1b' target='_blank'>here</a>", 'subscribe-to-comments-reloaded' ), wp_kses_allowed_html( 'post' ) ); ?></h5></p>
|
25 |
Â
|
26 |
+
<h5><?php esc_html_e( "Vote and show your appreciation", 'subscribe-to-comments-reloaded' ) ?></h5>
|
27 |
+
<p><?php echo wp_kses( __( 'Tell other people if <strong>Subscribe to Comments Reloaded</strong> works for you and how good it is. <a href="http://wordpress.org/extend/plugins/subscribe-to-comments-reloaded/">Rate it</a> on its Plugin Directory page.', 'subscribe-to-comments-reloaded' ), wp_kses_allowed_html( 'post' ) ); ?></p>
|
28 |
Â
|
29 |
+
<h5><?php esc_html_e( "Did you find a Bug on the plugin?", 'subscribe-to-comments-reloaded' ) ?></h5>
|
30 |
+
<p><?php echo wp_kses( __( 'Please report any bug on the <a href="https://github.com/stcr/subscribe-to-comments-reloaded/issues/new?title=Bug%20Report:%20%3Cshort%20description%3E&labels=bug" target="_blank">GitHub</a> Page rather than on the WordPress Support page.', 'subscribe-to-comments-reloaded' ), wp_kses_allowed_html( 'post' ) ); ?>
|
31 |
Â
</p>
|
32 |
Â
<div class="alert alert-info" role="alert">
|
33 |
Â
<strong>Heads up!</strong>
|
34 |
+
<p><?php printf( wp_kses( __( 'The options on the WordPress forum at very limited to share media information, so I urge you to use GitHub to report any issue, you will get a better and faster experience than in WordPress. And you can use <a href="%s" target="_blank" >Markdown syntax</a>.', 'subscribe-to-comments-reloaded' ), wp_kses_allowed_html( 'post' ) ), "https://guides.github.com/features/mastering-markdown/" ); ?></p>
|
35 |
Â
</div>
|
36 |
Â
</div>
|
37 |
Â
</div>
|
options/stcr_system.php
CHANGED
@@ -45,7 +45,7 @@ if ( array_key_exists( "purge_log", $_POST ) ) {
|
|
45 |
Â
if ( empty( $_POST['stcr_purge_log_nonce'] ) ) {
|
46 |
Â
return;
|
47 |
Â
}
|
48 |
-
|
49 |
Â
if ( ! wp_verify_nonce( $_POST['stcr_purge_log_nonce'], 'stcr_purge_log_nonce' ) ) {
|
50 |
Â
return;
|
51 |
Â
}
|
@@ -67,47 +67,44 @@ if ( array_key_exists( "purge_log", $_POST ) ) {
|
|
67 |
Â
if( unlink($file_path) )
|
68 |
Â
{
|
69 |
Â
// show success message.
|
70 |
-
$message =
|
71 |
Â
$message_type = "notice-success";
|
72 |
Â
}
|
73 |
Â
else
|
74 |
Â
{
|
75 |
-
$message =
|
76 |
Â
$message_type = "notice-warning";
|
77 |
Â
}
|
78 |
Â
}
|
79 |
Â
else
|
80 |
Â
{
|
81 |
-
$message =
|
82 |
Â
$message_type = "notice-warning";
|
83 |
Â
}
|
84 |
-
echo "<div class='notice $message_type'><p>";
|
85 |
-
echo
|
86 |
-
// echo "<br><pre>$file_path$file_name</pre>";
|
87 |
Â
echo "</p></div>\n";
|
88 |
Â
}
|
89 |
Â
else {
|
90 |
-
|
91 |
Â
if( isset( $_POST['options'] ) ) { // Update options
|
92 |
Â
|
93 |
Â
if ( empty( $_POST['stcr_save_system_nonce'] ) ) {
|
94 |
Â
return;
|
95 |
Â
}
|
96 |
-
|
97 |
Â
if ( ! wp_verify_nonce( $_POST['stcr_save_system_nonce'], 'stcr_save_system_nonce' ) ) {
|
98 |
Â
return;
|
99 |
Â
}
|
100 |
-
|
101 |
Â
if ( ! current_user_can( 'manage_options' ) ) {
|
102 |
Â
return;
|
103 |
Â
}
|
104 |
Â
|
105 |
-
$faulty_fields
|
106 |
-
|
107 |
-
foreach ( $
|
108 |
Â
{
|
109 |
-
// echo $option . '<br>';
|
110 |
-
|
111 |
Â
if ( ! $wp_subscribe_reloaded->stcr->utils->stcr_update_menu_options( $option, $value, $options[$option] ) )
|
112 |
Â
{
|
113 |
Â
array_push( $faulty_fields, $option );
|
@@ -133,12 +130,12 @@ else {
|
|
133 |
Â
// Display an alert in the admin interface if something went wrong
|
134 |
Â
echo '<div class="updated"><p>';
|
135 |
Â
if ( sizeof( $faulty_fields ) == 0 ) {
|
136 |
-
|
137 |
Â
} else {
|
138 |
-
|
139 |
Â
// echo ' <strong>' . substr( $faulty_fields, 0, - 2 ) . '</strong>';
|
140 |
Â
}
|
141 |
-
echo
|
142 |
Â
}
|
143 |
Â
}
|
144 |
Â
?>
|
@@ -161,58 +158,58 @@ else {
|
|
161 |
Â
<form action="" method="post">
|
162 |
Â
|
163 |
Â
<div class="form-group row" style="margin-bottom: 0;">
|
164 |
-
<label for="enable_log_data" class="col-sm-3 col-form-label text-right"><?php
|
165 |
Â
<div class="col-sm-7">
|
166 |
Â
<div class="switch">
|
167 |
Â
<input type="radio" class="switch-input" name="options[enable_log_data]"
|
168 |
Â
value="yes" id="enable_log_data-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'enable_log_data' ) == 'yes' ) ? ' checked' : ''; ?> />
|
169 |
Â
<label for="enable_log_data-yes" class="switch-label switch-label-off">
|
170 |
-
<?php
|
171 |
Â
</label>
|
172 |
Â
<input type="radio" class="switch-input" name="options[enable_log_data]" value="no" id="enable_log_data-no"
|
173 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'enable_log_data' ) == 'no' ) ? ' checked' : ''; ?> />
|
174 |
Â
<label for="enable_log_data-no" class="switch-label switch-label-on">
|
175 |
-
<?php
|
176 |
Â
</label>
|
177 |
Â
<span class="switch-selection"></span>
|
178 |
Â
</div>
|
179 |
Â
|
180 |
Â
<div class="helpDescription subsOptDescriptions"
|
181 |
-
data-content="<?php
|
182 |
Â
data-placement="right"
|
183 |
-
aria-label="<?php
|
184 |
Â
<i class="fas fa-question-circle"></i>
|
185 |
Â
</div>
|
186 |
Â
</div>
|
187 |
Â
</div>
|
188 |
Â
|
189 |
Â
<div class="form-group row" style="margin-bottom: 0;">
|
190 |
-
<label for="auto_clean_log_data" class="col-sm-3 col-form-label text-right"><?php
|
191 |
Â
<div class="col-sm-7">
|
192 |
Â
<div class="switch">
|
193 |
Â
<input type="radio" class="switch-input" name="options[auto_clean_log_data]"
|
194 |
Â
value="yes" id="auto_clean_log_data-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'auto_clean_log_data' ) == 'yes' ) ? ' checked' : ''; ?> />
|
195 |
Â
<label for="auto_clean_log_data-yes" class="switch-label switch-label-off">
|
196 |
-
<?php
|
197 |
Â
</label>
|
198 |
Â
<input type="radio" class="switch-input" name="options[auto_clean_log_data]" value="no" id="auto_clean_log_data-no"
|
199 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'auto_clean_log_data' ) == 'no' ) ? ' checked' : ''; ?> />
|
200 |
Â
<label for="auto_clean_log_data-no" class="switch-label switch-label-on">
|
201 |
-
<?php
|
202 |
Â
</label>
|
203 |
Â
<span class="switch-selection"></span>
|
204 |
Â
</div>
|
205 |
Â
|
206 |
Â
<select class="auto_clean_log_frecuency form-control form-control-select" name="options[auto_clean_log_frecuency]">
|
207 |
-
<option value="hourly" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'auto_clean_log_frecuency' ) === 'hourly' ) ? "selected='selected'" : ''; ?>><?php
|
208 |
-
<option value="twicedaily" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'auto_clean_log_frecuency' ) === 'twicedaily' ) ? "selected='selected'" : ''; ?>><?php
|
209 |
-
<option value="daily" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'auto_clean_log_frecuency' ) === 'daily' ) ? "selected='selected'" : ''; ?>><?php
|
210 |
Â
</select>
|
211 |
Â
|
212 |
Â
<div class="helpDescription subsOptDescriptions"
|
213 |
-
data-content="<?php
|
214 |
Â
data-placement="right"
|
215 |
-
aria-label="<?php
|
216 |
Â
<i class="fas fa-question-circle"></i>
|
217 |
Â
</div>
|
218 |
Â
</div>
|
@@ -220,10 +217,10 @@ else {
|
|
220 |
Â
|
221 |
Â
<div class="form-group row">
|
222 |
Â
<label for="purge_log" class="col-sm-3 col-form-label text-right">
|
223 |
-
<?php
|
224 |
Â
<div class="col-sm-7">
|
225 |
Â
|
226 |
-
<span style="font-size: 0.9rem;"><?php
|
227 |
Â
"If you want to clean up the log archive please click the following button",
|
228 |
Â
'subscribe-to-comments-reloaded'
|
229 |
Â
); ?>
|
@@ -236,10 +233,10 @@ else {
|
|
236 |
Â
|
237 |
Â
<div class="form-group row">
|
238 |
Â
<label for="generate_system_info" class="col-sm-3 col-form-label text-right">
|
239 |
-
<?php
|
240 |
Â
<div class="col-sm-7">
|
241 |
Â
<a class="download_report btn btn-download subscribe-form-button" href="#">
|
242 |
-
<?php
|
243 |
Â
</a>
|
244 |
Â
</div>
|
245 |
Â
</div>
|
@@ -247,12 +244,12 @@ else {
|
|
247 |
Â
<div class="form-group row">
|
248 |
Â
<div class="col-sm-9 offset-sm-3">
|
249 |
Â
<button type="submit" class="btn btn-primary subscribe-form-button" name="Submit">
|
250 |
-
<?php
|
251 |
Â
</button>
|
252 |
Â
</div>
|
253 |
Â
</div>
|
254 |
Â
|
255 |
-
<h4><?php
|
256 |
Â
|
257 |
Â
<!-- Plugin Info -->
|
258 |
Â
<?php
|
@@ -262,23 +259,23 @@ else {
|
|
262 |
Â
?>
|
263 |
Â
<table class="table table-sm table-hover table-striped system-info-table" style="font-size: 0.8em">
|
264 |
Â
<thead style="background-color: #4688d2; color: #ffffff;">
|
265 |
-
<th style="textalilfe" class="text-left" colspan="2"><?php
|
266 |
Â
</thead>
|
267 |
Â
<tbody>
|
268 |
Â
<tr>
|
269 |
-
<td class="text-left"><?php
|
270 |
-
<td class="text-left"><?php echo $total_subscribers; ?></td>
|
271 |
Â
</tr>
|
272 |
Â
<tr>
|
273 |
-
<td class="text-left"><?php
|
274 |
-
<td class="text-left"><?php echo $total_subscriptions; ?></td>
|
275 |
Â
</tr>
|
276 |
Â
</tbody>
|
277 |
Â
</table>
|
278 |
Â
|
279 |
Â
<table class="table table-sm table-hover table-striped system-info-table" style="font-size: 0.8em">
|
280 |
Â
<thead style="background-color: #4688d2; color: #ffffff;">
|
281 |
-
<th style="textalilfe" class="text-left" colspan="2"><?php
|
282 |
Â
</thead>
|
283 |
Â
<?php
|
284 |
Â
|
@@ -316,7 +313,7 @@ else {
|
|
316 |
Â
}
|
317 |
Â
|
318 |
Â
if ( $memory < 67108864 ) {
|
319 |
-
$memoryValue = '<div class="system-error"><span class="dashicons dashicons-warning"></span> ' . sprintf(
|
320 |
Â
$stcr_system_information['Wordpress Environment']["Memory Limit"] = "Memory under 64MB";
|
321 |
Â
}
|
322 |
Â
else {
|
@@ -348,15 +345,15 @@ else {
|
|
348 |
Â
|
349 |
Â
$wordpressEnvironment = array(
|
350 |
Â
1 => array(
|
351 |
-
|
352 |
Â
$wpHome
|
353 |
Â
),
|
354 |
Â
2 => array(
|
355 |
-
|
356 |
Â
$wpsiteurl
|
357 |
Â
),
|
358 |
Â
3 => array(
|
359 |
-
|
360 |
Â
$wpVersion
|
361 |
Â
),
|
362 |
Â
4 => array(
|
@@ -364,39 +361,39 @@ else {
|
|
364 |
Â
$wpMultisite ? '<span class="dashicons dashicons-yes"></span>' : 'No'
|
365 |
Â
),
|
366 |
Â
5 => array(
|
367 |
-
|
368 |
Â
$memoryValue
|
369 |
Â
),
|
370 |
Â
6 => array(
|
371 |
-
|
372 |
Â
$wpDebug
|
373 |
Â
),
|
374 |
Â
7 => array(
|
375 |
-
|
376 |
Â
$wpCron
|
377 |
Â
),
|
378 |
Â
8 => array(
|
379 |
-
|
380 |
Â
$wpLanguage
|
381 |
Â
),
|
382 |
Â
9 => array(
|
383 |
-
|
384 |
Â
$wpPermalink
|
385 |
Â
),
|
386 |
Â
10 => array(
|
387 |
-
|
388 |
Â
$wpTablePrefix
|
389 |
Â
),
|
390 |
Â
11 => array(
|
391 |
-
|
392 |
Â
$wpTablePrefixLength
|
393 |
Â
),
|
394 |
Â
12 => array(
|
395 |
-
|
396 |
Â
$wpTablePrefixStatus
|
397 |
Â
),
|
398 |
Â
13 => array(
|
399 |
-
|
400 |
Â
$wpRegisteredPostStatuses
|
401 |
Â
)
|
402 |
Â
);
|
@@ -406,8 +403,8 @@ else {
|
|
406 |
Â
foreach ( $wordpressEnvironment as $key => $opt )
|
407 |
Â
{
|
408 |
Â
echo "<tr>";
|
409 |
-
echo "<td class='text-left' style='min-width: 50px;'>
|
410 |
-
echo "<td class='text-left'>
|
411 |
Â
echo "</tr>";
|
412 |
Â
}
|
413 |
Â
?>
|
@@ -417,18 +414,18 @@ else {
|
|
417 |
Â
<!-- Server Environment -->
|
418 |
Â
<table class="table table-sm table-hover table-striped system-info-table" style="font-size: 0.8em">
|
419 |
Â
<thead style="background-color: #4688d2; color: #ffffff;">
|
420 |
-
<th style="textalilfe" class="text-left" colspan="2"><?php
|
421 |
Â
</thead>
|
422 |
Â
<?php
|
423 |
Â
|
424 |
Â
$tlsCheck = false;
|
425 |
-
$tlsCheckValue =
|
426 |
-
$tlsRating =
|
427 |
-
$phpVersion =
|
428 |
-
$cURLVersion =
|
429 |
-
$MySQLSVersion =
|
430 |
-
$defaultTimezone =
|
431 |
-
$serverInfo =
|
432 |
Â
$maxPostSize = size_format( $wp_subscribe_reloaded->stcr->utils->to_num_ini_notation( ini_get( 'post_max_size' ) ) );
|
433 |
Â
|
434 |
Â
// Get the SSL status.
|
@@ -440,7 +437,7 @@ else {
|
|
440 |
Â
{
|
441 |
Â
$tlsCheck = json_decode( $tlsCheck );
|
442 |
Â
/* translators: %s: SSL connection response */
|
443 |
-
$tlsCheckValue = sprintf(
|
444 |
Â
}
|
445 |
Â
$stcr_system_information['Server Environment']["TLS Connection"] = $tlsCheckValue;
|
446 |
Â
// Check TSL Rating
|
@@ -457,7 +454,7 @@ else {
|
|
457 |
Â
|
458 |
Â
if ( version_compare( $phpVersion, '5.6', '<' ) )
|
459 |
Â
{
|
460 |
-
$phpVersion = '<div class="system-error"><span class="dashicons dashicons-warning"></span> ' . sprintf(
|
461 |
Â
$stcr_system_information['Server Environment']["PHP Version"] = sprintf( '%s - We recommend a minimum PHP version of 5.6. See: %s', esc_html( $phpVersion ), '<a href="http://subscribe-reloaded.com/about/" target="_blank">PHP Requirements in StCR</a>' );
|
462 |
Â
}
|
463 |
Â
else
|
@@ -468,7 +465,7 @@ else {
|
|
468 |
Â
}
|
469 |
Â
else
|
470 |
Â
{
|
471 |
-
$phpVersion =
|
472 |
Â
$stcr_system_information['Server Environment']["PHP Version"] = "Couldn't determine PHP version because the function phpversion() doesn't exist.";
|
473 |
Â
}
|
474 |
Â
|
@@ -486,7 +483,7 @@ else {
|
|
486 |
Â
|
487 |
Â
if ( version_compare( $cURLVersionNumber, '7.40', '<' ) )
|
488 |
Â
{
|
489 |
-
$cURLVersion = '<div class="system-error"><span class="dashicons dashicons-warning"></span> ' . sprintf(
|
490 |
Â
$stcr_system_information['Server Environment']["cURL Version"] = sprintf('%s - We recommend a minimum cURL version of 7.40.', esc_html( $cURLVersionNumber . ', ' . $cURLSSLVersion ) );
|
491 |
Â
}
|
492 |
Â
else
|
@@ -504,7 +501,7 @@ else {
|
|
504 |
Â
// check MySQL version
|
505 |
Â
global $wp_version, $required_mysql_version;
|
506 |
Â
if ( version_compare( $wpdb->db_version(), $required_mysql_version, '<' ) ) {
|
507 |
-
$MySQLSVersion = '<div class="system-error"><span class="dashicons dashicons-warning"></span> ' . sprintf( __( '<strong>ERROR</strong>: WordPress %1$s requires MySQL %2$s or higher' ), $wp_version, $required_mysql_version ) . '</div>';
|
508 |
Â
$stcr_system_information['Server Environment']["MySQL Version"] = $wpdb->db_version();
|
509 |
Â
} else {
|
510 |
Â
$MySQLSVersion = '<div class="system-success">' . $wpdb->db_version() . '</div>';
|
@@ -516,7 +513,7 @@ else {
|
|
516 |
Â
|
517 |
Â
if ( 'UTC' !== $defaultTimezone )
|
518 |
Â
{
|
519 |
-
$defaultTimezone = '<div class="system-error"><span class="dashicons dashicons-warning"></span> ' . sprintf(
|
520 |
Â
$stcr_system_information['Server Environment']["Default Timezone is UTC"] = sprintf('Default timezone is %s - it should be UTC', $defaultTimezone );
|
521 |
Â
}
|
522 |
Â
else
|
@@ -525,28 +522,28 @@ else {
|
|
525 |
Â
$stcr_system_information['Server Environment']["Default Timezone is UTC"] = "Yes";
|
526 |
Â
}
|
527 |
Â
// DOMDocument
|
528 |
-
$DOMDocument =
|
529 |
Â
if ( class_exists( 'DOMDocument' ) )
|
530 |
Â
{
|
531 |
Â
$DOMDocument = '<div class="system-success"><span class="dashicons dashicons-yes"></span></div>';
|
532 |
Â
$stcr_system_information['Server Environment']["DOMDocument"] = "Yes";
|
533 |
Â
}
|
534 |
Â
else {
|
535 |
-
$DOMDocument = sprintf( __( 'Your server does not have the %s class enabled - HTML/Multipart emails, and also some extensions, will not work without DOMDocument.', 'subscribe-to-comments-reloaded' ), '<a href="https://php.net/manual/en/class.domdocument.php">DOMDocument</a>' );
|
536 |
Â
$stcr_system_information['Server Environment']["DOMDocument"] = sprintf( 'Your server does not have the %s class enabled - HTML/Multipart emails, and also some extensions, will not work without DOMDocument.', '<a href="https://php.net/manual/en/class.domdocument.php">DOMDocument</a>' );
|
537 |
Â
}
|
538 |
Â
// Check gzip
|
539 |
-
$gzip =
|
540 |
Â
if ( is_callable( 'gzopen' ) )
|
541 |
Â
{
|
542 |
Â
$gzip = '<div class="system-success"><span class="dashicons dashicons-yes"></span></div>';
|
543 |
Â
$stcr_system_information['Server Environment']["gzip"] = "Yes";
|
544 |
Â
}
|
545 |
Â
else {
|
546 |
-
$gzip = sprintf( __( 'Your server does not support the %s function - this is used for file compression and decompression.', 'subscribe-to-comments-reloaded' ), '<a href="https://php.net/manual/en/zlib.installation.php">gzopen</a>' );
|
547 |
Â
$stcr_system_information['Server Environment']["gzip"] = sprintf( 'Your server does not support the %s function - this is used for file compression and decompression.', '<a href="https://php.net/manual/en/zlib.installation.php">gzopen</a>' );
|
548 |
Â
}// Check GD
|
549 |
-
$gd =
|
550 |
Â
if ( extension_loaded( 'gd' ) && function_exists( 'gd_info' ) )
|
551 |
Â
{
|
552 |
Â
$gd = '<div class="system-success"><span class="dashicons dashicons-yes"></span></div>';
|
@@ -560,59 +557,59 @@ else {
|
|
560 |
Â
// Define array of values
|
561 |
Â
$serverEnvironment = array(
|
562 |
Â
1 => array(
|
563 |
-
|
564 |
Â
$tlsCheckValue
|
565 |
Â
),
|
566 |
Â
2 => array(
|
567 |
-
|
568 |
Â
$tlsRating
|
569 |
Â
),
|
570 |
Â
3 => array(
|
571 |
-
|
572 |
Â
$serverInfo
|
573 |
Â
),
|
574 |
Â
4 => array(
|
575 |
-
|
576 |
Â
$phpVersion
|
577 |
Â
),
|
578 |
Â
5 => array(
|
579 |
-
|
580 |
Â
$maxPostSize
|
581 |
Â
),
|
582 |
Â
6 => array(
|
583 |
-
|
584 |
Â
ini_get( 'max_execution_time' )
|
585 |
Â
),
|
586 |
Â
7 => array(
|
587 |
-
|
588 |
Â
ini_get( 'max_input_vars' )
|
589 |
Â
),
|
590 |
Â
8 => array(
|
591 |
-
|
592 |
Â
size_format( wp_max_upload_size() )
|
593 |
Â
),
|
594 |
Â
9 => array(
|
595 |
-
|
596 |
Â
$cURLVersion
|
597 |
Â
),
|
598 |
Â
10 => array(
|
599 |
-
|
600 |
Â
$MySQLSVersion
|
601 |
Â
),
|
602 |
Â
11 => array(
|
603 |
-
|
604 |
Â
$defaultTimezone
|
605 |
Â
),
|
606 |
Â
12 => array(
|
607 |
-
|
608 |
Â
$DOMDocument
|
609 |
Â
),
|
610 |
Â
13 => array(
|
611 |
-
|
612 |
Â
$gzip
|
613 |
Â
),
|
614 |
Â
14 => array(
|
615 |
-
|
616 |
Â
$gd
|
617 |
Â
)
|
618 |
Â
);
|
@@ -622,8 +619,8 @@ else {
|
|
622 |
Â
foreach ( $serverEnvironment as $key => $opt )
|
623 |
Â
{
|
624 |
Â
echo "<tr>";
|
625 |
-
echo "<td class='text-left' style='min-width: 50px;'>
|
626 |
-
echo "<td class='text-left'>
|
627 |
Â
echo "</tr>";
|
628 |
Â
}
|
629 |
Â
?>
|
@@ -636,7 +633,7 @@ else {
|
|
636 |
Â
<!-- Active Plugins -->
|
637 |
Â
<table class="table table-sm table-hover table-striped system-info-table" style="font-size: 0.8em">
|
638 |
Â
<thead style="background-color: #4688d2; color: #ffffff;">
|
639 |
-
<th style="textalilfe" class="text-left" colspan="2"><?php
|
640 |
Â
</thead>
|
641 |
Â
|
642 |
Â
<tbody>
|
@@ -681,8 +678,8 @@ else {
|
|
681 |
Â
. esc_html( $plugin_data['Version'] );
|
682 |
Â
}
|
683 |
Â
echo "<tr>";
|
684 |
-
echo "<td class='text-left' style='min-width: 50px;'>
|
685 |
-
echo "<td class='text-left'>
|
686 |
Â
echo "</tr>";
|
687 |
Â
$stcr_system_information['WordPress Active Plugins'][$plugin_data['Name']] = $plugin_data;
|
688 |
Â
}
|
@@ -693,7 +690,7 @@ else {
|
|
693 |
Â
<!-- Inactive Plugins -->
|
694 |
Â
<table class="table table-sm table-hover table-striped system-info-table" style="font-size: 0.8em">
|
695 |
Â
<thead style="background-color: #4688d2; color: #ffffff;">
|
696 |
-
<th style="textalilfe" class="text-left" colspan="2"><?php
|
697 |
Â
</thead>
|
698 |
Â
|
699 |
Â
<tbody>
|
@@ -738,8 +735,8 @@ else {
|
|
738 |
Â
. esc_html( $plugin_data['Version'] );
|
739 |
Â
}
|
740 |
Â
echo "<tr>";
|
741 |
-
echo "<td class='text-left' style='min-width: 50px;'>
|
742 |
-
echo "<td class='text-left'>
|
743 |
Â
echo "</tr>";
|
744 |
Â
$stcr_system_information['WordPress Inactive Plugins'][$plugin_data['Name']] = $plugin_data;
|
745 |
Â
}
|
45 |
Â
if ( empty( $_POST['stcr_purge_log_nonce'] ) ) {
|
46 |
Â
return;
|
47 |
Â
}
|
48 |
+
|
49 |
Â
if ( ! wp_verify_nonce( $_POST['stcr_purge_log_nonce'], 'stcr_purge_log_nonce' ) ) {
|
50 |
Â
return;
|
51 |
Â
}
|
67 |
Â
if( unlink($file_path) )
|
68 |
Â
{
|
69 |
Â
// show success message.
|
70 |
+
$message = esc_html__( 'The log file has been successfully deleted.', 'subscribe-to-comments-reloaded' );
|
71 |
Â
$message_type = "notice-success";
|
72 |
Â
}
|
73 |
Â
else
|
74 |
Â
{
|
75 |
+
$message = esc_html__( 'Can\'t delete the log file, check the file permissions.', 'subscribe-to-comments-reloaded' );
|
76 |
Â
$message_type = "notice-warning";
|
77 |
Â
}
|
78 |
Â
}
|
79 |
Â
else
|
80 |
Â
{
|
81 |
+
$message = esc_html__( 'The log file does not exists.', 'subscribe-to-comments-reloaded' );
|
82 |
Â
$message_type = "notice-warning";
|
83 |
Â
}
|
84 |
+
echo "<div class='notice " . esc_attr( $message_type ) . "'><p>";
|
85 |
+
echo esc_html( $message );
|
Â
|
|
86 |
Â
echo "</p></div>\n";
|
87 |
Â
}
|
88 |
Â
else {
|
89 |
+
|
90 |
Â
if( isset( $_POST['options'] ) ) { // Update options
|
91 |
Â
|
92 |
Â
if ( empty( $_POST['stcr_save_system_nonce'] ) ) {
|
93 |
Â
return;
|
94 |
Â
}
|
95 |
+
|
96 |
Â
if ( ! wp_verify_nonce( $_POST['stcr_save_system_nonce'], 'stcr_save_system_nonce' ) ) {
|
97 |
Â
return;
|
98 |
Â
}
|
99 |
+
|
100 |
Â
if ( ! current_user_can( 'manage_options' ) ) {
|
101 |
Â
return;
|
102 |
Â
}
|
103 |
Â
|
104 |
+
$faulty_fields = array();
|
105 |
+
$subscribe_options = wp_unslash( $_POST['options'] ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput
|
106 |
+
foreach ( $subscribe_options as $option => $value )
|
107 |
Â
{
|
Â
|
|
Â
|
|
108 |
Â
if ( ! $wp_subscribe_reloaded->stcr->utils->stcr_update_menu_options( $option, $value, $options[$option] ) )
|
109 |
Â
{
|
110 |
Â
array_push( $faulty_fields, $option );
|
130 |
Â
// Display an alert in the admin interface if something went wrong
|
131 |
Â
echo '<div class="updated"><p>';
|
132 |
Â
if ( sizeof( $faulty_fields ) == 0 ) {
|
133 |
+
esc_html_e( 'Your settings have been successfully updated.', 'subscribe-to-comments-reloaded' );
|
134 |
Â
} else {
|
135 |
+
esc_html_e( 'There was an error updating the options.', 'subscribe-to-comments-reloaded' );
|
136 |
Â
// echo ' <strong>' . substr( $faulty_fields, 0, - 2 ) . '</strong>';
|
137 |
Â
}
|
138 |
+
echo '</p></div>';
|
139 |
Â
}
|
140 |
Â
}
|
141 |
Â
?>
|
158 |
Â
<form action="" method="post">
|
159 |
Â
|
160 |
Â
<div class="form-group row" style="margin-bottom: 0;">
|
161 |
+
<label for="enable_log_data" class="col-sm-3 col-form-label text-right"><?php esc_html_e( 'Enable Log Information', 'subscribe-to-comments-reloaded' ) ?></label>
|
162 |
Â
<div class="col-sm-7">
|
163 |
Â
<div class="switch">
|
164 |
Â
<input type="radio" class="switch-input" name="options[enable_log_data]"
|
165 |
Â
value="yes" id="enable_log_data-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'enable_log_data' ) == 'yes' ) ? ' checked' : ''; ?> />
|
166 |
Â
<label for="enable_log_data-yes" class="switch-label switch-label-off">
|
167 |
+
<?php esc_html_e( 'Yes', 'subscribe-to-comments-reloaded' ) ?>
|
168 |
Â
</label>
|
169 |
Â
<input type="radio" class="switch-input" name="options[enable_log_data]" value="no" id="enable_log_data-no"
|
170 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'enable_log_data' ) == 'no' ) ? ' checked' : ''; ?> />
|
171 |
Â
<label for="enable_log_data-no" class="switch-label switch-label-on">
|
172 |
+
<?php esc_html_e( 'No', 'subscribe-to-comments-reloaded' ) ?>
|
173 |
Â
</label>
|
174 |
Â
<span class="switch-selection"></span>
|
175 |
Â
</div>
|
176 |
Â
|
177 |
Â
<div class="helpDescription subsOptDescriptions"
|
178 |
+
data-content="<?php esc_attr_e( "If enabled, will log information of the plugin. Helpful for debugging purposes.<p>The file is stored under the path <code>Plugins Dir>subscribe-to-comments-reloaded>utils>log.txt</code></code></p>", 'subscribe-to-comments-reloaded' ); ?>"
|
179 |
Â
data-placement="right"
|
180 |
+
aria-label="<?php esc_attr_e( "If enabled, will log information of the plugin. Helpful for debugging purposes.", 'subscribe-to-comments-reloaded' ); ?>">
|
181 |
Â
<i class="fas fa-question-circle"></i>
|
182 |
Â
</div>
|
183 |
Â
</div>
|
184 |
Â
</div>
|
185 |
Â
|
186 |
Â
<div class="form-group row" style="margin-bottom: 0;">
|
187 |
+
<label for="auto_clean_log_data" class="col-sm-3 col-form-label text-right"><?php esc_html_e( 'Enable Auto clean log data', 'subscribe-to-comments-reloaded' ) ?></label>
|
188 |
Â
<div class="col-sm-7">
|
189 |
Â
<div class="switch">
|
190 |
Â
<input type="radio" class="switch-input" name="options[auto_clean_log_data]"
|
191 |
Â
value="yes" id="auto_clean_log_data-yes" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'auto_clean_log_data' ) == 'yes' ) ? ' checked' : ''; ?> />
|
192 |
Â
<label for="auto_clean_log_data-yes" class="switch-label switch-label-off">
|
193 |
+
<?php esc_html_e( 'Yes', 'subscribe-to-comments-reloaded' ) ?>
|
194 |
Â
</label>
|
195 |
Â
<input type="radio" class="switch-input" name="options[auto_clean_log_data]" value="no" id="auto_clean_log_data-no"
|
196 |
Â
<?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'auto_clean_log_data' ) == 'no' ) ? ' checked' : ''; ?> />
|
197 |
Â
<label for="auto_clean_log_data-no" class="switch-label switch-label-on">
|
198 |
+
<?php esc_html_e( 'No', 'subscribe-to-comments-reloaded' ) ?>
|
199 |
Â
</label>
|
200 |
Â
<span class="switch-selection"></span>
|
201 |
Â
</div>
|
202 |
Â
|
203 |
Â
<select class="auto_clean_log_frecuency form-control form-control-select" name="options[auto_clean_log_frecuency]">
|
204 |
+
<option value="hourly" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'auto_clean_log_frecuency' ) === 'hourly' ) ? "selected='selected'" : ''; ?>><?php esc_html_e( 'Hourly', 'subscribe-to-comments-reloaded' ); ?></option>
|
205 |
+
<option value="twicedaily" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'auto_clean_log_frecuency' ) === 'twicedaily' ) ? "selected='selected'" : ''; ?>><?php esc_html_e( 'Twice Daily', 'subscribe-to-comments-reloaded' ); ?></option>
|
206 |
+
<option value="daily" <?php echo ( $wp_subscribe_reloaded->stcr->utils->stcr_get_menu_options( 'auto_clean_log_frecuency' ) === 'daily' ) ? "selected='selected'" : ''; ?>><?php esc_html_e( 'Daily', 'subscribe-to-comments-reloaded' ); ?></option>
|
207 |
Â
</select>
|
208 |
Â
|
209 |
Â
<div class="helpDescription subsOptDescriptions"
|
210 |
+
data-content="<?php esc_attr_e( "If enabled, StCR will auto clean your information according to the frequency that you defined on the dropdown.", 'subscribe-to-comments-reloaded' ); ?>"
|
211 |
Â
data-placement="right"
|
212 |
+
aria-label="<?php esc_attr_e( "If enabled, StCR will auto clean your information according to the frequency that you defined on the dropdown.", 'subscribe-to-comments-reloaded' ); ?>">
|
213 |
Â
<i class="fas fa-question-circle"></i>
|
214 |
Â
</div>
|
215 |
Â
</div>
|
217 |
Â
|
218 |
Â
<div class="form-group row">
|
219 |
Â
<label for="purge_log" class="col-sm-3 col-form-label text-right">
|
220 |
+
<?php esc_html_e( 'Clean Up Log Archive', 'subscribe-to-comments-reloaded' ) ?></label>
|
221 |
Â
<div class="col-sm-7">
|
222 |
Â
|
223 |
+
<span style="font-size: 0.9rem;"><?php esc_html_e(
|
224 |
Â
"If you want to clean up the log archive please click the following button",
|
225 |
Â
'subscribe-to-comments-reloaded'
|
226 |
Â
); ?>
|
233 |
Â
|
234 |
Â
<div class="form-group row">
|
235 |
Â
<label for="generate_system_info" class="col-sm-3 col-form-label text-right">
|
236 |
+
<?php esc_html_e( 'Download System Info File', 'subscribe-to-comments-reloaded' ) ?></label>
|
237 |
Â
<div class="col-sm-7">
|
238 |
Â
<a class="download_report btn btn-download subscribe-form-button" href="#">
|
239 |
+
<?php esc_html_e( 'Download', 'subscribe-to-comments-reloaded' ); ?>
|
240 |
Â
</a>
|
241 |
Â
</div>
|
242 |
Â
</div>
|
244 |
Â
<div class="form-group row">
|
245 |
Â
<div class="col-sm-9 offset-sm-3">
|
246 |
Â
<button type="submit" class="btn btn-primary subscribe-form-button" name="Submit">
|
247 |
+
<?php esc_html_e( 'Save Changes', 'subscribe-to-comments-reloaded' ) ?>
|
248 |
Â
</button>
|
249 |
Â
</div>
|
250 |
Â
</div>
|
251 |
Â
|
252 |
+
<h4><?php esc_html_e( 'System Information', 'subscribe-to-comments-reloaded' ) ?></h4><br>
|
253 |
Â
|
254 |
Â
<!-- Plugin Info -->
|
255 |
Â
<?php
|
259 |
Â
?>
|
260 |
Â
<table class="table table-sm table-hover table-striped system-info-table" style="font-size: 0.8em">
|
261 |
Â
<thead style="background-color: #4688d2; color: #ffffff;">
|
262 |
+
<th style="textalilfe" class="text-left" colspan="2"><?php esc_html_e( 'Plugin Info', 'subscribe-to-comments-reloaded' ) ?></th>
|
263 |
Â
</thead>
|
264 |
Â
<tbody>
|
265 |
Â
<tr>
|
266 |
+
<td class="text-left"><?php esc_html_e( 'Subscribers', 'subscribe-toc-omments-reloaded' ); ?></td>
|
267 |
+
<td class="text-left"><?php echo esc_html( $total_subscribers ); ?></td>
|
268 |
Â
</tr>
|
269 |
Â
<tr>
|
270 |
+
<td class="text-left"><?php esc_html_e( 'Subscriptions', 'subscribe-toc-omments-reloaded' ); ?></td>
|
271 |
+
<td class="text-left"><?php echo esc_html( $total_subscriptions ); ?></td>
|
272 |
Â
</tr>
|
273 |
Â
</tbody>
|
274 |
Â
</table>
|
275 |
Â
|
276 |
Â
<table class="table table-sm table-hover table-striped system-info-table" style="font-size: 0.8em">
|
277 |
Â
<thead style="background-color: #4688d2; color: #ffffff;">
|
278 |
+
<th style="textalilfe" class="text-left" colspan="2"><?php esc_html_e( 'WordPress Environment', 'subscribe-to-comments-reloaded' ) ?></th>
|
279 |
Â
</thead>
|
280 |
Â
<?php
|
281 |
Â
|
313 |
Â
}
|
314 |
Â
|
315 |
Â
if ( $memory < 67108864 ) {
|
316 |
+
$memoryValue = '<div class="system-error"><span class="dashicons dashicons-warning"></span> ' . sprintf( esc_html__( '%s - We recommend setting memory to at least 64 MB. See: %s', 'subscribe-to-comments-reloaded' ), size_format( $memory ), '<a href="https://codex.wordpress.org/Editing_wp-config.php#Increasing_memory_allocated_to_PHP" target="_blank">' . esc_html__( 'Increasing memory allocated to PHP', 'subscribe-to-comments-reloaded' ) . '</a>' ) . '</div>';
|
317 |
Â
$stcr_system_information['Wordpress Environment']["Memory Limit"] = "Memory under 64MB";
|
318 |
Â
}
|
319 |
Â
else {
|
345 |
Â
|
346 |
Â
$wordpressEnvironment = array(
|
347 |
Â
1 => array(
|
348 |
+
esc_html__( "Home URL", 'subscribe-to-comments-reloaded' ),
|
349 |
Â
$wpHome
|
350 |
Â
),
|
351 |
Â
2 => array(
|
352 |
+
esc_html__( "Site URL", 'subscribe-to-comments-reloaded' ),
|
353 |
Â
$wpsiteurl
|
354 |
Â
),
|
355 |
Â
3 => array(
|
356 |
+
esc_html__( "WordPress Version", 'subscribe-to-comments-reloaded' ),
|
357 |
Â
$wpVersion
|
358 |
Â
),
|
359 |
Â
4 => array(
|
361 |
Â
$wpMultisite ? '<span class="dashicons dashicons-yes"></span>' : 'No'
|
362 |
Â
),
|
363 |
Â
5 => array(
|
364 |
+
esc_html__( "Memory Limit", 'subscribe-to-comments-reloaded' ),
|
365 |
Â
$memoryValue
|
366 |
Â
),
|
367 |
Â
6 => array(
|
368 |
+
esc_html__( "WP Debug Mode", 'subscribe-to-comments-reloaded' ),
|
369 |
Â
$wpDebug
|
370 |
Â
),
|
371 |
Â
7 => array(
|
372 |
+
esc_html__( "WP Cron", 'subscribe-to-comments-reloaded' ),
|
373 |
Â
$wpCron
|
374 |
Â
),
|
375 |
Â
8 => array(
|
376 |
+
esc_html__( "Language", 'subscribe-to-comments-reloaded' ),
|
377 |
Â
$wpLanguage
|
378 |
Â
),
|
379 |
Â
9 => array(
|
380 |
+
esc_html__( "Permalink Structure", 'subscribe-to-comments-reloaded' ),
|
381 |
Â
$wpPermalink
|
382 |
Â
),
|
383 |
Â
10 => array(
|
384 |
+
esc_html__( "Table Prefix", 'subscribe-to-comments-reloaded' ),
|
385 |
Â
$wpTablePrefix
|
386 |
Â
),
|
387 |
Â
11 => array(
|
388 |
+
esc_html__( "Table Prefix Length", 'subscribe-to-comments-reloaded' ),
|
389 |
Â
$wpTablePrefixLength
|
390 |
Â
),
|
391 |
Â
12 => array(
|
392 |
+
esc_html__( "Table Prefix Status", 'subscribe-to-comments-reloaded' ),
|
393 |
Â
$wpTablePrefixStatus
|
394 |
Â
),
|
395 |
Â
13 => array(
|
396 |
+
esc_html__( "Registered Post Statuses", 'subscribe-to-comments-reloaded' ),
|
397 |
Â
$wpRegisteredPostStatuses
|
398 |
Â
)
|
399 |
Â
);
|
403 |
Â
foreach ( $wordpressEnvironment as $key => $opt )
|
404 |
Â
{
|
405 |
Â
echo "<tr>";
|
406 |
+
echo "<td class='text-left' style='min-width: 50px;'>" . esc_html( $opt[0] ) . "</td>";
|
407 |
+
echo "<td class='text-left'>" . wp_kses( $opt[1], wp_kses_allowed_html( 'post' ) ) . "</td>";
|
408 |
Â
echo "</tr>";
|
409 |
Â
}
|
410 |
Â
?>
|
414 |
Â
<!-- Server Environment -->
|
415 |
Â
<table class="table table-sm table-hover table-striped system-info-table" style="font-size: 0.8em">
|
416 |
Â
<thead style="background-color: #4688d2; color: #ffffff;">
|
417 |
+
<th style="textalilfe" class="text-left" colspan="2"><?php esc_html_e( 'Server Environment', 'subscribe-to-comments-reloaded' ) ?></th>
|
418 |
Â
</thead>
|
419 |
Â
<?php
|
420 |
Â
|
421 |
Â
$tlsCheck = false;
|
422 |
+
$tlsCheckValue = esc_html__( 'Cannot Evaluate', 'subscribe-to-comments-reloaded' );
|
423 |
+
$tlsRating = esc_html__( 'Not Available', 'subscribe-to-comments-reloaded' );
|
424 |
+
$phpVersion = esc_html__( 'Not Available', 'subscribe-to-comments-reloaded' );
|
425 |
+
$cURLVersion = esc_html__( 'Not Available', 'subscribe-to-comments-reloaded' );
|
426 |
+
$MySQLSVersion = esc_html__( 'Not Available', 'subscribe-to-comments-reloaded' );
|
427 |
+
$defaultTimezone = esc_html__( 'Not Available', 'subscribe-to-comments-reloaded' );
|
428 |
+
$serverInfo = isset( $_SERVER['SERVER_SOFTWARE'] ) ? sanitize_text_field( wp_unslash( $_SERVER['SERVER_SOFTWARE'] ) ) : '';
|
429 |
Â
$maxPostSize = size_format( $wp_subscribe_reloaded->stcr->utils->to_num_ini_notation( ini_get( 'post_max_size' ) ) );
|
430 |
Â
|
431 |
Â
// Get the SSL status.
|
437 |
Â
{
|
438 |
Â
$tlsCheck = json_decode( $tlsCheck );
|
439 |
Â
/* translators: %s: SSL connection response */
|
440 |
+
$tlsCheckValue = sprintf( esc_html__( 'Connection uses %s', 'subscribe-to-comments-reloaded' ), esc_html( $tlsCheck->tls_version ) );
|
441 |
Â
}
|
442 |
Â
$stcr_system_information['Server Environment']["TLS Connection"] = $tlsCheckValue;
|
443 |
Â
// Check TSL Rating
|
454 |
Â
|
455 |
Â
if ( version_compare( $phpVersion, '5.6', '<' ) )
|
456 |
Â
{
|
457 |
+
$phpVersion = '<div class="system-error"><span class="dashicons dashicons-warning"></span> ' . sprintf( esc_html__( '%s - We recommend a minimum PHP version of 5.6. See: %s', 'subscribe-to-comments-reloaded' ), esc_html( $phpVersion ), '<a href="http://subscribe-reloaded.com/about/" target="_blank">' . esc_html__( 'PHP Requirements in StCR', 'subscribe-to-comments-reloaded' ) . '</a>' ) . '</div>';
|
458 |
Â
$stcr_system_information['Server Environment']["PHP Version"] = sprintf( '%s - We recommend a minimum PHP version of 5.6. See: %s', esc_html( $phpVersion ), '<a href="http://subscribe-reloaded.com/about/" target="_blank">PHP Requirements in StCR</a>' );
|
459 |
Â
}
|
460 |
Â
else
|
465 |
Â
}
|
466 |
Â
else
|
467 |
Â
{
|
468 |
+
$phpVersion = esc_html__( "Couldn't determine PHP version because the function phpversion() doesn't exist.", 'subscribe-to-comments-reloaded' );
|
469 |
Â
$stcr_system_information['Server Environment']["PHP Version"] = "Couldn't determine PHP version because the function phpversion() doesn't exist.";
|
470 |
Â
}
|
471 |
Â
|
483 |
Â
|
484 |
Â
if ( version_compare( $cURLVersionNumber, '7.40', '<' ) )
|
485 |
Â
{
|
486 |
+
$cURLVersion = '<div class="system-error"><span class="dashicons dashicons-warning"></span> ' . sprintf( esc_html__( '%s - We recommend a minimum cURL version of 7.40.', 'subscribe-to-comments-reloaded' ), esc_html( $cURLVersionNumber . ', ' . $cURLSSLVersion ) ) . '</div>';
|
487 |
Â
$stcr_system_information['Server Environment']["cURL Version"] = sprintf('%s - We recommend a minimum cURL version of 7.40.', esc_html( $cURLVersionNumber . ', ' . $cURLSSLVersion ) );
|
488 |
Â
}
|
489 |
Â
else
|
501 |
Â
// check MySQL version
|
502 |
Â
global $wp_version, $required_mysql_version;
|
503 |
Â
if ( version_compare( $wpdb->db_version(), $required_mysql_version, '<' ) ) {
|
504 |
+
$MySQLSVersion = '<div class="system-error"><span class="dashicons dashicons-warning"></span> ' . sprintf( wp_kses( __( '<strong>ERROR</strong>: WordPress %1$s requires MySQL %2$s or higher' ), wp_kses_allowed_html( 'post' ) ), $wp_version, $required_mysql_version ) . '</div>';
|
505 |
Â
$stcr_system_information['Server Environment']["MySQL Version"] = $wpdb->db_version();
|
506 |
Â
} else {
|
507 |
Â
$MySQLSVersion = '<div class="system-success">' . $wpdb->db_version() . '</div>';
|
513 |
Â
|
514 |
Â
if ( 'UTC' !== $defaultTimezone )
|
515 |
Â
{
|
516 |
+
$defaultTimezone = '<div class="system-error"><span class="dashicons dashicons-warning"></span> ' . sprintf( esc_html__( 'Default timezone is %s - it should be UTC', 'subscribe-to-comments-reloaded' ), $defaultTimezone ) . '</div>';
|
517 |
Â
$stcr_system_information['Server Environment']["Default Timezone is UTC"] = sprintf('Default timezone is %s - it should be UTC', $defaultTimezone );
|
518 |
Â
}
|
519 |
Â
else
|
522 |
Â
$stcr_system_information['Server Environment']["Default Timezone is UTC"] = "Yes";
|
523 |
Â
}
|
524 |
Â
// DOMDocument
|
525 |
+
$DOMDocument = esc_html__( 'Not Available', 'subscribe-to-comments-reloaded' );
|
526 |
Â
if ( class_exists( 'DOMDocument' ) )
|
527 |
Â
{
|
528 |
Â
$DOMDocument = '<div class="system-success"><span class="dashicons dashicons-yes"></span></div>';
|
529 |
Â
$stcr_system_information['Server Environment']["DOMDocument"] = "Yes";
|
530 |
Â
}
|
531 |
Â
else {
|
532 |
+
$DOMDocument = sprintf( wp_kses( __( 'Your server does not have the %s class enabled - HTML/Multipart emails, and also some extensions, will not work without DOMDocument.', 'subscribe-to-comments-reloaded' ), wp_kses_allowed_html( 'post' ) ), '<a href="https://php.net/manual/en/class.domdocument.php">DOMDocument</a>' );
|
533 |
Â
$stcr_system_information['Server Environment']["DOMDocument"] = sprintf( 'Your server does not have the %s class enabled - HTML/Multipart emails, and also some extensions, will not work without DOMDocument.', '<a href="https://php.net/manual/en/class.domdocument.php">DOMDocument</a>' );
|
534 |
Â
}
|
535 |
Â
// Check gzip
|
536 |
+
$gzip = esc_html__( 'Not Available', 'subscribe-to-comments-reloaded' );
|
537 |
Â
if ( is_callable( 'gzopen' ) )
|
538 |
Â
{
|
539 |
Â
$gzip = '<div class="system-success"><span class="dashicons dashicons-yes"></span></div>';
|
540 |
Â
$stcr_system_information['Server Environment']["gzip"] = "Yes";
|
541 |
Â
}
|
542 |
Â
else {
|
543 |
+
$gzip = sprintf( wp_kses( __( 'Your server does not support the %s function - this is used for file compression and decompression.', 'subscribe-to-comments-reloaded' ), wp_kses_allowed_html( 'post' ) ), '<a href="https://php.net/manual/en/zlib.installation.php">gzopen</a>' );
|
544 |
Â
$stcr_system_information['Server Environment']["gzip"] = sprintf( 'Your server does not support the %s function - this is used for file compression and decompression.', '<a href="https://php.net/manual/en/zlib.installation.php">gzopen</a>' );
|
545 |
Â
}// Check GD
|
546 |
+
$gd = esc_html__( 'Not Available', 'subscribe-to-comments-reloaded' );
|
547 |
Â
if ( extension_loaded( 'gd' ) && function_exists( 'gd_info' ) )
|
548 |
Â
{
|
549 |
Â
$gd = '<div class="system-success"><span class="dashicons dashicons-yes"></span></div>';
|
557 |
Â
// Define array of values
|
558 |
Â
$serverEnvironment = array(
|
559 |
Â
1 => array(
|
560 |
+
esc_html__( "TLS Connection", 'subscribe-to-comments-reloaded' ),
|
561 |
Â
$tlsCheckValue
|
562 |
Â
),
|
563 |
Â
2 => array(
|
564 |
+
esc_html__( "TLS Rating", 'subscribe-to-comments-reloaded' ),
|
565 |
Â
$tlsRating
|
566 |
Â
),
|
567 |
Â
3 => array(
|
568 |
+
esc_html__( "Server Info", 'subscribe-to-comments-reloaded' ),
|
569 |
Â
$serverInfo
|
570 |
Â
),
|
571 |
Â
4 => array(
|
572 |
+
esc_html__( "PHP Version", 'subscribe-to-comments-reloaded' ),
|
573 |
Â
$phpVersion
|
574 |
Â
),
|
575 |
Â
5 => array(
|
576 |
+
esc_html__( "PHP Post Max Size", 'subscribe-to-comments-reloaded' ),
|
577 |
Â
$maxPostSize
|
578 |
Â
),
|
579 |
Â
6 => array(
|
580 |
+
esc_html__( "PHP Max Execution Time", 'subscribe-to-comments-reloaded' ),
|
581 |
Â
ini_get( 'max_execution_time' )
|
582 |
Â
),
|
583 |
Â
7 => array(
|
584 |
+
esc_html__( "PHP Max Input Vars", 'subscribe-to-comments-reloaded' ),
|
585 |
Â
ini_get( 'max_input_vars' )
|
586 |
Â
),
|
587 |
Â
8 => array(
|
588 |
+
esc_html__( "PHP Max Upload Size", 'subscribe-to-comments-reloaded' ),
|
589 |
Â
size_format( wp_max_upload_size() )
|
590 |
Â
),
|
591 |
Â
9 => array(
|
592 |
+
esc_html__( "cURL Version", 'subscribe-to-comments-reloaded' ),
|
593 |
Â
$cURLVersion
|
594 |
Â
),
|
595 |
Â
10 => array(
|
596 |
+
esc_html__( "MySQL Version", 'subscribe-to-comments-reloaded' ),
|
597 |
Â
$MySQLSVersion
|
598 |
Â
),
|
599 |
Â
11 => array(
|
600 |
+
esc_html__( "Default Timezone is UTC", 'subscribe-to-comments-reloaded' ),
|
601 |
Â
$defaultTimezone
|
602 |
Â
),
|
603 |
Â
12 => array(
|
604 |
+
esc_html__( "DOMDocument", 'subscribe-to-comments-reloaded' ),
|
605 |
Â
$DOMDocument
|
606 |
Â
),
|
607 |
Â
13 => array(
|
608 |
+
esc_html__( "gzip", 'subscribe-to-comments-reloaded' ),
|
609 |
Â
$gzip
|
610 |
Â
),
|
611 |
Â
14 => array(
|
612 |
+
esc_html__( "GD Graphics Library", 'subscribe-to-comments-reloaded' ),
|
613 |
Â
$gd
|
614 |
Â
)
|
615 |
Â
);
|
619 |
Â
foreach ( $serverEnvironment as $key => $opt )
|
620 |
Â
{
|
621 |
Â
echo "<tr>";
|
622 |
+
echo "<td class='text-left' style='min-width: 50px;'>" . esc_html( $opt[0] ) . "</td>";
|
623 |
+
echo "<td class='text-left'>" . wp_kses( $opt[1], wp_kses_allowed_html( 'post' ) ) . "</td>";
|
624 |
Â
echo "</tr>";
|
625 |
Â
}
|
626 |
Â
?>
|
633 |
Â
<!-- Active Plugins -->
|
634 |
Â
<table class="table table-sm table-hover table-striped system-info-table" style="font-size: 0.8em">
|
635 |
Â
<thead style="background-color: #4688d2; color: #ffffff;">
|
636 |
+
<th style="textalilfe" class="text-left" colspan="2"><?php esc_html_e( 'Active Plugins', 'subscribe-to-comments-reloaded' ) ?></th>
|
637 |
Â
</thead>
|
638 |
Â
|
639 |
Â
<tbody>
|
678 |
Â
. esc_html( $plugin_data['Version'] );
|
679 |
Â
}
|
680 |
Â
echo "<tr>";
|
681 |
+
echo "<td class='text-left' style='min-width: 50px;'>" . wp_kses( $plugin_name, wp_kses_allowed_html( 'post' ) ) . "</td>";
|
682 |
+
echo "<td class='text-left'>" . wp_kses( $author_name, wp_kses_allowed_html( 'post' ) ) . "</td>";
|
683 |
Â
echo "</tr>";
|
684 |
Â
$stcr_system_information['WordPress Active Plugins'][$plugin_data['Name']] = $plugin_data;
|
685 |
Â
}
|
690 |
Â
<!-- Inactive Plugins -->
|
691 |
Â
<table class="table table-sm table-hover table-striped system-info-table" style="font-size: 0.8em">
|
692 |
Â
<thead style="background-color: #4688d2; color: #ffffff;">
|
693 |
+
<th style="textalilfe" class="text-left" colspan="2"><?php esc_html_e( 'Inactive Plugins', 'subscribe-to-comments-reloaded' ) ?></th>
|
694 |
Â
</thead>
|
695 |
Â
|
696 |
Â
<tbody>
|
735 |
Â
. esc_html( $plugin_data['Version'] );
|
736 |
Â
}
|
737 |
Â
echo "<tr>";
|
738 |
+
echo "<td class='text-left' style='min-width: 50px;'>" . wp_kses( $plugin_name, wp_kses_allowed_html( 'post' ) ) . "</td>";
|
739 |
+
echo "<td class='text-left'>" . wp_kses( $author_name, wp_kses_allowed_html( 'post' ) ) . "</td>";
|
740 |
Â
echo "</tr>";
|
741 |
Â
$stcr_system_information['WordPress Inactive Plugins'][$plugin_data['Name']] = $plugin_data;
|
742 |
Â
}
|
readme.txt
CHANGED
@@ -1,296 +1,299 @@
|
|
1 |
-
=== Subscribe To Comments Reloaded ===
|
2 |
-
Author: WPKube
|
3 |
-
Contributors: WPKube
|
4 |
-
Tags: comments, subscribe, subscribe to comments, subscribe to comments reloaded, email, email notification, subscriptions, commenting, reply, reply to comments, post notification, comment notification, automatic comment notification, email signup
|
5 |
-
Plugin URI: http://subscribe-reloaded.com/
|
6 |
-
Requires at least: 4.0
|
7 |
-
Requires PHP: 5.6
|
8 |
-
Requires MySQL: 5.6
|
9 |
-
Tested up to: 5.9
|
10 |
-
Stable tag:
|
11 |
-
License: GPLv2 or later
|
12 |
-
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
13 |
-
|
14 |
-
Subscribe to Comments Reloaded allows commenters to sign up for e-mail notifications of subsequent replies. Don't miss any comment.
|
15 |
-
|
16 |
-
== Description ==
|
17 |
-
Subscribe to Comments Reloaded is a robust plugin that enables commenters to sign up for e-mail notification of subsequent entries. The plugin includes a full-featured subscription manager that your commenters can use to unsubscribe to certain posts or suspend all notifications. It solves most of the issues that affect Mark Jaquith's version, using the latest Wordpress features and functionality. Plus, allows administrators to enable a double opt-in mechanism, requiring users to confirm their subscription clicking on a link they will receive via email or even One Click Unsubscribe.
|
18 |
-
|
19 |
-
## Requirements
|
20 |
-
* Wordpress 4.0 or higher
|
21 |
-
* PHP 5.6 or higher
|
22 |
-
* MySQL 5.x or higher
|
23 |
-
|
24 |
-
## Main Features
|
25 |
-
* Easily manage and search among your subscriptions
|
26 |
-
* Imports Mark Jaquith's Subscribe To Comments (and its clones) data
|
27 |
-
* Messages are fully customizable, no poEdit required (and you can use HTML!) with a Rich Text Editor - WYSIWYG
|
28 |
-
* Disable subscriptions for specific posts
|
29 |
-
* One Click Unsubscribe
|
30 |
-
* Get and Download your System information for better support.
|
31 |
-
|
32 |
-
== Installation ==
|
33 |
-
|
34 |
-
|
35 |
-
1. If you are using Subscribe To Comments by Mark Jaquith, disable it (no need to uninstall it, though)
|
36 |
-
2. Upload the entire folder and all the subfolders to your Wordpress plugins' folder. You can also use the downloaded ZIP file to upload it.
|
37 |
-
3. Activate it
|
38 |
-
5. Customize the Permalink value under Settings > Subscribe to Comments > Management Page > Management URL. It **must** reflect your permalinks' structure
|
39 |
-
5. If you don't see the checkbox to subscribe, you will have to manually edit your template, and add `<?php global $wp_subscribe_reloaded; if (isset($wp_subscribe_reloaded)){ echo $wp_subscribe_reloaded->stcr->subscribe_reloaded_show(); } ?>` somewhere in your `comments.php`
|
40 |
-
6. If you're upgrading from a previous version, please **make sure to deactivate/activate** StCR.
|
41 |
-
7. You can always install the latest development version by taking a look at this [Video](https://youtu.be/uQwkBciyFGY)
|
42 |
-
|
43 |
-
== Frequently Asked Questions ==
|
44 |
-
|
45 |
-
= Are there any video tutorials? =
|
46 |
-
Yeah, I have uploaded a few videos for the following topics:
|
47 |
-
|
48 |
-
1. Issues [Updating StCR via WordPress Update](https://youtu.be/Lb6cVx2bBU8)
|
49 |
-
2. Issues with StCR links see [StCR Clickable Links](https://youtu.be/eFW-2NIRzBA)
|
50 |
-
3. Issues with empty emails or management messages? see [StCR Management Message](https://youtu.be/yRxOY8yq_cc)
|
51 |
-
4. Upgrading from the latest development version see [Upgrading](https://youtu.be/uQwkBciyFGY)
|
52 |
-
|
53 |
-
= Why my notifications are not in HTML format? =
|
54 |
-
Don't worry, just go to the Options tab an set to Yes the **Enable HTML emails** option.
|
55 |
-
|
56 |
-
= How can I reset all the plugin options? =
|
57 |
-
There is a new feature called **Safely Uninstall** that allow you to delete the plugin using the WordPress plugin interface. If you have the option set to **Yes** everything but the subscriptions created by the plugin will be wipeout. So after you made sure that you have this option to **Yes** you can deactivate the plugin and the delete it. Now you have to install the plugin via WordPress or Upload the plugin `zip` file and activate it, after this step all your settings will be as default and your subscriptions will remain.
|
58 |
-
There is a new feature added on the Options tab where you can reset all the settings by using only one click. You can either wipe out all the subscriptions or keep them.
|
59 |
-
|
60 |
-
= What can I do if the **Safely Uninstall** does not have any value? =
|
61 |
-
Just deactivate and activate the plugin and you are all set. The default value will be **Yes**.
|
62 |
-
|
63 |
-
= Aaargh! Were did all my subscriptions go? =
|
64 |
-
No panic. If you upgraded from 1.6 or earlier to 2.0+, you need to deactivate/activate StCR, in order to update the DB structure. After the version 180212 a fix was applied so that you can see all the subscriptions.
|
65 |
-
|
66 |
-
= Can I customize the layout of the management page? =
|
67 |
-
Yes, each HTML tag has a CSS class or ID that you can use to change its position or look-and-feel.
|
68 |
-
|
69 |
-
= How do I disable subscriptions for a given post? =
|
70 |
-
Add a custom field called `stcr_disable_subscriptions` to it, with value 'yes'
|
71 |
-
|
72 |
-
= How do I add the management page URL to my posts? =
|
73 |
-
Use the shortcode `[subscribe-url]`, or use the following code in your theme:
|
74 |
-
`global $wp_subscribe_reloaded; if (isset($wp_subscribe_reloaded)){ echo '<a href="'.do_shortcode('[subscribe-url]').'">Subscribe</a>";`
|
75 |
-
|
76 |
-
= Can I move the subscription checkbox to another position? =
|
77 |
-
Yes! Just disable the corresponding option under Settings > Comment Form and then add the following code where you want to display the checkbox:
|
78 |
-
`<?php global $wp_subscribe_reloaded; if (isset($wp_subscribe_reloaded)){ echo $wp_subscribe_reloaded->stcr->subscribe_reloaded_show(); } ?>`
|
79 |
-
|
80 |
-
= What if after update to the version 141024 I still see plain HTML messages? =
|
81 |
-
The information of your configuration needs to be updated. Go to the Subscribe to Comments Reloaded settings and click the `Save Changes` button on the tab
|
82 |
-
where you have you messages with HTML.
|
83 |
-
|
84 |
-
= How to generate a new Key for my Site? =
|
85 |
-
Just go to the Options Panel and click the generate button. By generating a new key you prevent the spam bots to steal your links.
|
86 |
-
|
87 |
-
== Screenshots ==
|
88 |
-
|
89 |
-
1. Manage your subscriptions
|
90 |
-
2. Use your own messages to interact with your users
|
91 |
-
3. Configure the Virtual Management page
|
92 |
-
4. Customize the notification messages with a the wonderful WordPress Rich Text Editor - WYSIWYG
|
93 |
-
5. Customize the plugin's behavior
|
94 |
-
6. Check the number of subscribers in your posts.
|
95 |
-
7. Manage the subscriptions on the Frontend Side.
|
96 |
-
|
97 |
-
== Changelog ==
|
98 |
-
=
|
99 |
-
* **Important** Security fixes
|
100 |
-
|
101 |
-
|
102 |
-
* **
|
103 |
-
* **
|
104 |
-
* **
|
105 |
-
|
106 |
-
|
107 |
-
* **Fix**
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
* **Fix**
|
112 |
-
|
113 |
-
=
|
114 |
-
* **Fix**
|
115 |
-
|
116 |
-
|
117 |
-
* **
|
118 |
-
|
119 |
-
|
120 |
-
* **
|
121 |
-
|
122 |
-
=
|
123 |
-
* **
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
* **
|
128 |
-
|
129 |
-
|
130 |
-
* **
|
131 |
-
* **
|
132 |
-
* **
|
133 |
-
* **
|
134 |
-
|
135 |
-
|
136 |
-
* **
|
137 |
-
|
138 |
-
=
|
139 |
-
* **
|
140 |
-
|
141 |
-
|
142 |
-
* **
|
143 |
-
* **
|
144 |
-
* **
|
145 |
-
* **
|
146 |
-
* **
|
147 |
-
* **
|
148 |
-
|
149 |
-
|
150 |
-
* **
|
151 |
-
|
152 |
-
|
153 |
-
* **
|
154 |
-
* **Fix**
|
155 |
-
* **Fix**
|
156 |
-
* **
|
157 |
-
|
158 |
-
|
159 |
-
* **
|
160 |
-
|
161 |
-
|
162 |
-
* **
|
163 |
-
* **
|
164 |
-
|
165 |
-
|
166 |
-
* **
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
* **Improvement**
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
* **
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
* **
|
180 |
-
|
181 |
-
=
|
182 |
-
* **Fix**
|
183 |
-
|
184 |
-
|
185 |
-
* **Fix**
|
186 |
-
* **Fix**
|
187 |
-
* **
|
188 |
-
* **
|
189 |
-
|
190 |
-
|
191 |
-
* **
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
* **Fix**
|
196 |
-
|
197 |
-
=
|
198 |
-
* **
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
* **
|
204 |
-
|
205 |
-
|
206 |
-
* **
|
207 |
-
* **Fix**
|
208 |
-
* **Fix**
|
209 |
-
* **Fix**
|
210 |
-
* **Fix**
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
* **Fix**
|
222 |
-
* **
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
* **
|
230 |
-
* **
|
231 |
-
* **Fix**
|
232 |
-
* **
|
233 |
-
* **
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
* **Fix**
|
245 |
-
* **Fix**
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
* **Fix**
|
253 |
-
* **Fix**
|
254 |
-
* **Fix**
|
255 |
-
* **
|
256 |
-
* **
|
257 |
-
* **
|
258 |
-
* **Add**
|
259 |
-
* **Add**
|
260 |
-
* **Add**
|
261 |
-
* **Add**
|
262 |
-
* **Add**
|
263 |
-
* **
|
264 |
-
* **
|
265 |
-
* **
|
266 |
-
* **Upgrade** the **
|
267 |
-
* **Upgrade** the **
|
268 |
-
* **
|
269 |
-
* **
|
270 |
-
* **
|
271 |
-
* **
|
272 |
-
* **
|
273 |
-
* **
|
274 |
-
* **
|
275 |
-
* **
|
276 |
-
* **
|
277 |
-
* **
|
278 |
-
* **
|
279 |
-
* **
|
280 |
-
* **
|
281 |
-
* **
|
282 |
-
* **
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
* **
|
290 |
-
* **Add**
|
291 |
-
* **Add**
|
292 |
-
* **
|
293 |
-
|
294 |
-
|
295 |
-
|
Â
|
|
Â
|
|
Â
|
|
296 |
Â
If you would like to help out translating the plugin to your language you can do so through the [official WordPress plugin translation system](https://translate.wordpress.org/projects/wp-plugins/subscribe-to-comments-reloaded/)
|
1 |
+
=== Subscribe To Comments Reloaded ===
|
2 |
+
Author: WPKube
|
3 |
+
Contributors: WPKube
|
4 |
+
Tags: comments, subscribe, subscribe to comments, subscribe to comments reloaded, email, email notification, subscriptions, commenting, reply, reply to comments, post notification, comment notification, automatic comment notification, email signup
|
5 |
+
Plugin URI: http://subscribe-reloaded.com/
|
6 |
+
Requires at least: 4.0
|
7 |
+
Requires PHP: 5.6
|
8 |
+
Requires MySQL: 5.6
|
9 |
+
Tested up to: 5.9
|
10 |
+
Stable tag: 220512
|
11 |
+
License: GPLv2 or later
|
12 |
+
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
13 |
+
|
14 |
+
Subscribe to Comments Reloaded allows commenters to sign up for e-mail notifications of subsequent replies. Don't miss any comment.
|
15 |
+
|
16 |
+
== Description ==
|
17 |
+
Subscribe to Comments Reloaded is a robust plugin that enables commenters to sign up for e-mail notification of subsequent entries. The plugin includes a full-featured subscription manager that your commenters can use to unsubscribe to certain posts or suspend all notifications. It solves most of the issues that affect Mark Jaquith's version, using the latest Wordpress features and functionality. Plus, allows administrators to enable a double opt-in mechanism, requiring users to confirm their subscription clicking on a link they will receive via email or even One Click Unsubscribe.
|
18 |
+
|
19 |
+
## Requirements
|
20 |
+
* Wordpress 4.0 or higher
|
21 |
+
* PHP 5.6 or higher
|
22 |
+
* MySQL 5.x or higher
|
23 |
+
|
24 |
+
## Main Features
|
25 |
+
* Easily manage and search among your subscriptions
|
26 |
+
* Imports Mark Jaquith's Subscribe To Comments (and its clones) data
|
27 |
+
* Messages are fully customizable, no poEdit required (and you can use HTML!) with a Rich Text Editor - WYSIWYG
|
28 |
+
* Disable subscriptions for specific posts
|
29 |
+
* One Click Unsubscribe
|
30 |
+
* Get and Download your System information for better support.
|
31 |
+
|
32 |
+
== Installation ==
|
33 |
+
|
34 |
+
|
35 |
+
1. If you are using Subscribe To Comments by Mark Jaquith, disable it (no need to uninstall it, though)
|
36 |
+
2. Upload the entire folder and all the subfolders to your Wordpress plugins' folder. You can also use the downloaded ZIP file to upload it.
|
37 |
+
3. Activate it
|
38 |
+
5. Customize the Permalink value under Settings > Subscribe to Comments > Management Page > Management URL. It **must** reflect your permalinks' structure
|
39 |
+
5. If you don't see the checkbox to subscribe, you will have to manually edit your template, and add `<?php global $wp_subscribe_reloaded; if (isset($wp_subscribe_reloaded)){ echo $wp_subscribe_reloaded->stcr->subscribe_reloaded_show(); } ?>` somewhere in your `comments.php`
|
40 |
+
6. If you're upgrading from a previous version, please **make sure to deactivate/activate** StCR.
|
41 |
+
7. You can always install the latest development version by taking a look at this [Video](https://youtu.be/uQwkBciyFGY)
|
42 |
+
|
43 |
+
== Frequently Asked Questions ==
|
44 |
+
|
45 |
+
= Are there any video tutorials? =
|
46 |
+
Yeah, I have uploaded a few videos for the following topics:
|
47 |
+
|
48 |
+
1. Issues [Updating StCR via WordPress Update](https://youtu.be/Lb6cVx2bBU8)
|
49 |
+
2. Issues with StCR links see [StCR Clickable Links](https://youtu.be/eFW-2NIRzBA)
|
50 |
+
3. Issues with empty emails or management messages? see [StCR Management Message](https://youtu.be/yRxOY8yq_cc)
|
51 |
+
4. Upgrading from the latest development version see [Upgrading](https://youtu.be/uQwkBciyFGY)
|
52 |
+
|
53 |
+
= Why my notifications are not in HTML format? =
|
54 |
+
Don't worry, just go to the Options tab an set to Yes the **Enable HTML emails** option.
|
55 |
+
|
56 |
+
= How can I reset all the plugin options? =
|
57 |
+
There is a new feature called **Safely Uninstall** that allow you to delete the plugin using the WordPress plugin interface. If you have the option set to **Yes** everything but the subscriptions created by the plugin will be wipeout. So after you made sure that you have this option to **Yes** you can deactivate the plugin and the delete it. Now you have to install the plugin via WordPress or Upload the plugin `zip` file and activate it, after this step all your settings will be as default and your subscriptions will remain.
|
58 |
+
There is a new feature added on the Options tab where you can reset all the settings by using only one click. You can either wipe out all the subscriptions or keep them.
|
59 |
+
|
60 |
+
= What can I do if the **Safely Uninstall** does not have any value? =
|
61 |
+
Just deactivate and activate the plugin and you are all set. The default value will be **Yes**.
|
62 |
+
|
63 |
+
= Aaargh! Were did all my subscriptions go? =
|
64 |
+
No panic. If you upgraded from 1.6 or earlier to 2.0+, you need to deactivate/activate StCR, in order to update the DB structure. After the version 180212 a fix was applied so that you can see all the subscriptions.
|
65 |
+
|
66 |
+
= Can I customize the layout of the management page? =
|
67 |
+
Yes, each HTML tag has a CSS class or ID that you can use to change its position or look-and-feel.
|
68 |
+
|
69 |
+
= How do I disable subscriptions for a given post? =
|
70 |
+
Add a custom field called `stcr_disable_subscriptions` to it, with value 'yes'
|
71 |
+
|
72 |
+
= How do I add the management page URL to my posts? =
|
73 |
+
Use the shortcode `[subscribe-url]`, or use the following code in your theme:
|
74 |
+
`global $wp_subscribe_reloaded; if (isset($wp_subscribe_reloaded)){ echo '<a href="'.do_shortcode('[subscribe-url]').'">Subscribe</a>";`
|
75 |
+
|
76 |
+
= Can I move the subscription checkbox to another position? =
|
77 |
+
Yes! Just disable the corresponding option under Settings > Comment Form and then add the following code where you want to display the checkbox:
|
78 |
+
`<?php global $wp_subscribe_reloaded; if (isset($wp_subscribe_reloaded)){ echo $wp_subscribe_reloaded->stcr->subscribe_reloaded_show(); } ?>`
|
79 |
+
|
80 |
+
= What if after update to the version 141024 I still see plain HTML messages? =
|
81 |
+
The information of your configuration needs to be updated. Go to the Subscribe to Comments Reloaded settings and click the `Save Changes` button on the tab
|
82 |
+
where you have you messages with HTML.
|
83 |
+
|
84 |
+
= How to generate a new Key for my Site? =
|
85 |
+
Just go to the Options Panel and click the generate button. By generating a new key you prevent the spam bots to steal your links.
|
86 |
+
|
87 |
+
== Screenshots ==
|
88 |
+
|
89 |
+
1. Manage your subscriptions
|
90 |
+
2. Use your own messages to interact with your users
|
91 |
+
3. Configure the Virtual Management page
|
92 |
+
4. Customize the notification messages with a the wonderful WordPress Rich Text Editor - WYSIWYG
|
93 |
+
5. Customize the plugin's behavior
|
94 |
+
6. Check the number of subscribers in your posts.
|
95 |
+
7. Manage the subscriptions on the Frontend Side.
|
96 |
+
|
97 |
+
== Changelog ==
|
98 |
+
= v220512 =
|
99 |
+
* **Important** Security fixes
|
100 |
+
|
101 |
+
= v220502 =
|
102 |
+
* **Important** Security fixes
|
103 |
+
* **New** Option to set for which post types the subscription will be available
|
104 |
+
* **New** Option to define blacklisted emails (that won't be allowed to subscribe). Option located in WP Admin > StCR > Options.
|
105 |
+
* **Improvement** reCaptcha v3 now available
|
106 |
+
* **Fix** General code improvements
|
107 |
+
* **Fix** Issue with "comment-subscriptions" page showing a 404 error
|
108 |
+
|
109 |
+
= v211130 =
|
110 |
+
* **Fix** Removed custom error handler (thanks to JakeQZ for bringing the issue to our attention)
|
111 |
+
* **Fix** Processing form submission in subscribe.php is now stopped in case "subscribe without commenting" is enabled
|
112 |
+
|
113 |
+
= v211019 =
|
114 |
+
* **Fix** Issue with STCR output on non-virtual management page
|
115 |
+
|
116 |
+
= v210315 =
|
117 |
+
* **Fix** Removed the "need help" added via "contextual_help" (deprecated)
|
118 |
+
* **Fix** PHP 8 deprecated notice
|
119 |
+
* **Fix** Fix issue with missing submit button when using "stcr_disable_subscription" custom field
|
120 |
+
* **Tweak** Bump up WP "tested up to" version to 5.7
|
121 |
+
|
122 |
+
= v210126 =
|
123 |
+
* **New** Option to disable the "subscribe without commenting" and "request management link" pages. ( WP Admin > StCR > Management Page )
|
124 |
+
|
125 |
+
= v210110 =
|
126 |
+
* **Fix** Limit subscription types on the management page when only a specific subscription is allowed
|
127 |
+
* **Fix** JS error on front-end
|
128 |
+
|
129 |
+
= v210104 =
|
130 |
+
* **New** Google reCAPTCHA now available for the "subscribe without commenting" and "request management subscription" form (WP admin > StCR > Options)
|
131 |
+
* **Improvement** When using the checkbox (not the select box from advanced subscription) you can now select the subscription type (all or replies) (WP admin > StCR > Comment Form)
|
132 |
+
* **Improvement** [comment_author] can now be used in the Notification subject (WP admin > StCR > Notifications)
|
133 |
+
* **Improvement** Replaced final instances of jQuery code to be raw JavaScript (not rely on jQuery)
|
134 |
+
* **Fix** The form to "request management link" will now check if that email is a subscriber before sending a link
|
135 |
+
* **Fix** Issue with broken option tooltips on Notifications settings page
|
136 |
+
* **Tweak** Removed HTML comments around the plugin's output on the frontend
|
137 |
+
|
138 |
+
= v200813 =
|
139 |
+
* **Fix** Error when permanently deleting a post/page/... (related to WP 5.5 change in the "delete_post" hook coming with a 2nd parameter)
|
140 |
+
|
141 |
+
= v200629 =
|
142 |
+
* **New** Option to show the subscription checkbox/select only for logged in users (option called "Enable only for logged in users" and located in WP admin > StCR > Options)
|
143 |
+
* **New** Added [comment_date] and [comment_time] shortcodes which can be used in the "notification message".
|
144 |
+
* **Improvement** Challenge question/answer now shows on "request management link" page as well
|
145 |
+
* **Improvement** Replaced multiple instances of jQuery code to be raw JavaScript (not rely on jQuery)
|
146 |
+
* **Tweak** Added label for the checkbox in "Screen Options"
|
147 |
+
* **Tweak** Email input value fallback to "email" removed
|
148 |
+
* **Fix** Subscriptions will no longer duplicate when post is copied/duplicated with the "Duplicate Post" plugin
|
149 |
+
* **Fix** Fixed issue with PHP notice when $comment object does not have comment_approved set
|
150 |
+
* **Fix** The jQuery code that handles moving the position of the checkbox is now added later on in the code to avoid issue when jQuery gets loaded in the footer
|
151 |
+
|
152 |
+
= v200422 =
|
153 |
+
* **New** Arabic translation, thanks to [Yaser Maadan](https://github.com/stcr/subscribe-to-comments-reloaded/issues/571)
|
154 |
+
* **Fix** WP_PLUGIN_URL replaced by plugins_url()
|
155 |
+
* **Fix** Issue with "generate new key" button for "StCR Unique Key" not working (WP Admin > StCR > Options)
|
156 |
+
* **Fix** Issue with ordering by date in the subscription management table (WP Admin > StCR > Manage subscriptions)
|
157 |
+
* **Fix** Issue with management page ( /comment-subscriptions/ ) being shown for child pages as well ( /comment-subscriptions/something-else/ )
|
158 |
+
* **Fix** Corrections in Hungarian translation
|
159 |
+
* **Tweak** Some other minor tweaks
|
160 |
+
|
161 |
+
= v200205 =
|
162 |
+
* **New** Function for developers to add subscribers. [Check the guide](https://subscribe-reloaded.com/function-to-add-subscribers-manually/)
|
163 |
+
* **New** Option to set a challenge (question + answer) for the "subscribe without commenting" form to prevent automatic bot submissions
|
164 |
+
* **Fix** It is now possible to send out plain text emails instead of HTML emails. [Check the guide](https://subscribe-reloaded.com/send-plain-text-emails-instead-of-html-emails/)
|
165 |
+
* **Fix** It is now possible for visitors to subscribe to comments when the comments are only open for logged in users and the visitor is not logged in
|
166 |
+
* **Fix** Corrections in German translation
|
167 |
+
|
168 |
+
= v191217 =
|
169 |
+
* **Improvement** Option to enable/disable the plugin from setting cookies (email address after subscription)
|
170 |
+
* **Improvement** German translation improvements (thanks to Greendroid)
|
171 |
+
|
172 |
+
= v191209 =
|
173 |
+
* **Improvement** Logged in users no longer need to submit the "email" form on a subscription page in order to access their subscriptions
|
174 |
+
* **Improvement** Ability to filter/search the subscriptions table ( WP admin > StCR > Manage Subscriptions ) when there are more than 1000 subscriptions
|
175 |
+
|
176 |
+
= v191028 =
|
177 |
+
* **Fix** Issue with "Default Checkbox Value" not being saved
|
178 |
+
* **Fix** Issue with /comment-subscriptions taking to 404 ( when it does not end with / )
|
179 |
+
* **Tweak** Error notification when [manager_link] used in "Management Page message".
|
180 |
+
|
181 |
+
= v191011 =
|
182 |
+
* **Fix** Revert changes to error logging due to PHP errors/warnings
|
183 |
+
|
184 |
+
= v191009 =
|
185 |
+
* **Fix** Issue with post slug being displayed instead of the post title on unsubscribe
|
186 |
+
* **Fix** HTML validation error in subscribe template
|
187 |
+
* **Fix** Fix German translation "Nicht abonnieren"
|
188 |
+
* **Fix** Fix import data from Subscribe Reloaded by Mark Jaquith
|
189 |
+
* **Fix** Issue with using double quotes in options
|
190 |
+
* **Tweak** Show a message to the comment author to check his email to confirm subscription
|
191 |
+
* **Tweak** Performance improvement for error logging
|
192 |
+
|
193 |
+
= v190529 =
|
194 |
+
* **Fix** Issue with being unable to dismiss admin notices shown by StCR
|
195 |
+
* **Fix** Virtual management page was still being shown even when disabled
|
196 |
+
|
197 |
+
= v190523 =
|
198 |
+
* **Fix** Remove the old system information functionality
|
199 |
+
|
200 |
+
= v190510 =
|
201 |
+
* **New** Option to only enable the functionality for blog posts ( option named "Enable only for blog posts" located in WP admin > StCR > StCR Options)
|
202 |
+
* **Tweak** Info on subscriber and subscriptions amount moved into separate table
|
203 |
+
* **Fix** Text domain
|
204 |
+
|
205 |
+
= v190426 =
|
206 |
+
* **New** Info on the amount of subscribers and subscriptions added in WP admin > StCR > StCR System
|
207 |
+
* **Fix** Text domain (for translations) has been changed to the correct domain (from subscribe-reloaded to subscribe-to-comments-reloaded)
|
208 |
+
* **Fix** Issue with undefined is_rtl function
|
209 |
+
* **Fix** Missing blank space between sentences (below comment form when subscribed)
|
210 |
+
* **Fix** Undefined variable notices for $order_status and $order_dt
|
211 |
+
* **Fix** Temporarily hidden an unused option in StCR > Management Page to avoid confusion.
|
212 |
+
* **Fix** Removed localization for non textual strings
|
213 |
+
* **Fix** Fixed incorrectly localized textual strings
|
214 |
+
|
215 |
+
= v190412 =
|
216 |
+
|
217 |
+
* **Fix** Issue with JavaScript code that is supposed to show the form when "StCR Position" is enabled
|
218 |
+
|
219 |
+
= v190409 =
|
220 |
+
|
221 |
+
* **Fix** Post author was notified of new comments even if they are awaiting approval, no need for this since WordPress itself sends out an email in that case
|
222 |
+
* **Fix** Post author was notified twice ( if he was subscribed and "subscribe authors" was enabled )
|
223 |
+
* **Fix** Issue with "StCR Position" option ( for older/outdated themes ) not working properly
|
224 |
+
* **Fix** Issue with wrong translation in German
|
225 |
+
* **Tweak** The "Action" select box labels on "Manage Subscriptions" page tweaked to be more descriptive
|
226 |
+
|
227 |
+
= v190325 =
|
228 |
+
|
229 |
+
* **New** Shortcode for manage page content (to be used on non-virtual management page). The shortcode is [stcr_management_page]
|
230 |
+
* **Rewrite** New method for downloading system information file
|
231 |
+
* **Fix** The admin panel CSS and JavaScript files now load only on StCR pages
|
232 |
+
* **Fix** Tooltips not showing up on System options page
|
233 |
+
* **Fix** Conflict with MailChimp for WP plugin (comment filter received echo instead of return which caused the issue)
|
234 |
+
* **Fix** Issue with select/deselect all on management page
|
235 |
+
* **Tweak** The MySQL requirements info on the system page now uses WordPress requirements
|
236 |
+
* **Tweak** The post author will no longer be notified of his/her own comments
|
237 |
+
|
238 |
+
= v190305 =
|
239 |
+
|
240 |
+
* **Fix** Issue with "Subscribe authors" functionality sending the emails to administrator instead of the post author
|
241 |
+
|
242 |
+
= v190214 =
|
243 |
+
|
244 |
+
* **Fix** String error calling the Curl Array.
|
245 |
+
* **Fix** wrong array definition that was breaking the site in some newer PHP versions.
|
246 |
+
* **Fix** error by calling `$wp_locale` that was not needed.
|
247 |
+
* **Fix** wrong label on option issue #467.
|
248 |
+
* **Fix** typo en help description issue #468.
|
249 |
+
|
250 |
+
= v190117 =
|
251 |
+
|
252 |
+
* **Fix** missing checkbox when the option **StCR Position** was set to **Yes**.
|
253 |
+
* **Fix** styles on admin notices.
|
254 |
+
* **Fix** filenames to match the correct menu name.
|
255 |
+
* **Fix** [# issue#431](https://github.com/stcr/subscribe-to-comments-reloaded/issues/431) and [issue#444](https://github.com/stcr/subscribe-to-comments-reloaded/issues/444).
|
256 |
+
* **Fix** warning message that was notifying the server when the Management URL was empty. Now the field must have a value. Props @breezynetworks on [WordPress Forum](https://wordpress.org/support/topic/php-warning-strpos-empty-needle/)
|
257 |
+
* **Fix** value of management page to get it on the event insteadof page load.
|
258 |
+
* **Add** translation for Subs Table, Add PHP error logger.
|
259 |
+
* **Add** Plugin information on Cards.
|
260 |
+
* **Add** the Phing build script to automate the deployment and testings.
|
261 |
+
* **Add** WebUI Popover library to display the help messages in a clear way.
|
262 |
+
* **Add** dropdown menu on the options tab to include the System menu.
|
263 |
+
* **Add** option to download the system report.
|
264 |
+
* **Add** functionality to create the system report via Ajax.
|
265 |
+
* **Add** cron to clean house the system report file.
|
266 |
+
* **Upgrade** the **Comment Form** Panel 2 options.
|
267 |
+
* **Upgrade** the **Management Page** panel.
|
268 |
+
* **Upgrade** the **Options** Panel.
|
269 |
+
* **Upgrade** the **Support** Panel.
|
270 |
+
* **Upgrade** the **StCR System** Menu.
|
271 |
+
* **Update** font awesome refrences.
|
272 |
+
* **Update** Admin Menus with Bootstrap.
|
273 |
+
* **Implement** Pagination using plugins and fix responsive layout of management page.
|
274 |
+
* **Implement** SASS for the CSS files.
|
275 |
+
* **Implement** a cache array for the menu options.
|
276 |
+
* **Remove** unecessary components from Composer.
|
277 |
+
* **Remove** double inclusion of Font Awesome.
|
278 |
+
* **Modify** Bower, Gulp and Phing files to implement WebUI Popover.
|
279 |
+
* **Refactor** the options saving process.
|
280 |
+
* **Refactor** code to move the functional saving options to the Utils Class.
|
281 |
+
* **Set** the Double Verification option to yes.
|
282 |
+
* **Create** array of options for improve support.
|
283 |
+
* **Sanitize** input and out of data preventing XSS. Code modification and suggestion by @jnorell.
|
284 |
+
* **Re Word** option to avoid missleading to new users. Props @padraigobeirn.
|
285 |
+
* **Move** the plugin core files to the folder **src** in order to implement `npm` and `bower` task managers.
|
286 |
+
|
287 |
+
= v180225 =
|
288 |
+
|
289 |
+
* **Fix** error when a user subscribe to a new post and the double opt-in was enable, preventing the double opt-in not sending the email message. [Issue#350](https://github.com/stcr/subscribe-to-comments-reloaded/issues/350).
|
290 |
+
* **Add** email and post id validation on the StCR backened.
|
291 |
+
* **Add** email, search and post id validation on the frontend.
|
292 |
+
* **Add** backened validation for input data (email) on the subscribe and request management pages.
|
293 |
+
* **Add** debug messages to improve support.
|
294 |
+
* **Add** feature to change the date format output on the management page for both the User page and Author. See [issue#345](https://github.com/stcr/subscribe-to-comments-reloaded/issues/345).
|
295 |
+
* **Remove** the inclusion of the plugin scripts with WP enqueue. This will load only the needed script on specific pages. Will remove request to the server to get scripts.
|
296 |
+
|
297 |
+
== Language Localization ==
|
298 |
+
|
299 |
Â
If you would like to help out translating the plugin to your language you can do so through the [official WordPress plugin translation system](https://translate.wordpress.org/projects/wp-plugins/subscribe-to-comments-reloaded/)
|
subscribe-to-comments-reloaded.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
Â
/**
|
3 |
Â
* Plugin Name: Subscribe to Comments Reloaded
|
4 |
Â
* Description: Subscribe to Comments Reloaded is a robust plugin that enables commenters to sign up for e-mail notifications. It includes a full-featured subscription manager that your commenters can use to unsubscribe to certain posts or suspend all notifications.
|
5 |
-
* Version:
|
6 |
Â
* Author: WPKube
|
7 |
Â
* Author URI: http://wpkube.com/
|
8 |
Â
* License: GPL-2.0+
|
2 |
Â
/**
|
3 |
Â
* Plugin Name: Subscribe to Comments Reloaded
|
4 |
Â
* Description: Subscribe to Comments Reloaded is a robust plugin that enables commenters to sign up for e-mail notifications. It includes a full-featured subscription manager that your commenters can use to unsubscribe to certain posts or suspend all notifications.
|
5 |
+
* Version: 220512
|
6 |
Â
* Author: WPKube
|
7 |
Â
* Author URI: http://wpkube.com/
|
8 |
Â
* License: GPL-2.0+
|
templates/author.php
CHANGED
@@ -1,149 +1,150 @@
|
|
1 |
-
<?php
|
2 |
-
// Avoid direct access to this piece of code
|
3 |
-
if ( ! function_exists( 'add_action' ) ) {
|
4 |
-
header( 'Location: /' );
|
5 |
-
exit;
|
6 |
-
}
|
7 |
-
|
8 |
-
global $wp_subscribe_reloaded;
|
9 |
-
|
10 |
-
ob_start();
|
11 |
-
|
12 |
-
if ( ! empty( $_POST['email_list'] ) ) {
|
13 |
-
$email_list = array();
|
14 |
-
foreach ( $_POST['email_list'] as $a_email ) {
|
15 |
-
if ( ! in_array( $a_email, $email_list ) ) {
|
16 |
-
$email_list[] = urldecode( $a_email );
|
17 |
-
}
|
18 |
-
}
|
19 |
-
|
20 |
-
$action = ! empty( $_POST['sra'] ) ? $_POST['sra'] : ( ! empty( $_GET['sra'] ) ? $_GET['sra'] : '' );
|
21 |
-
$action = sanitize_text_field( $action );
|
22 |
-
switch ( $action ) {
|
23 |
-
case 'delete':
|
24 |
-
$rows_affected = $wp_subscribe_reloaded->stcr->delete_subscriptions( $post_ID, $email_list );
|
25 |
-
echo '<p class="updated">' .
|
26 |
-
break;
|
27 |
-
case 'suspend':
|
28 |
-
$rows_affected = $wp_subscribe_reloaded->stcr->update_subscription_status( $post_ID, $email_list, 'C' );
|
29 |
-
echo '<p class="updated">' .
|
30 |
-
break;
|
31 |
-
case 'activate':
|
32 |
-
$rows_affected = $wp_subscribe_reloaded->stcr->update_subscription_status( $post_ID, $email_list, '-C' );
|
33 |
-
echo '<p class="updated">' .
|
34 |
-
break;
|
35 |
-
case 'force_y':
|
36 |
-
$rows_affected = $wp_subscribe_reloaded->stcr->update_subscription_status( $post_ID, $email_list, 'Y' );
|
37 |
-
echo '<p class="updated">' .
|
38 |
-
break;
|
39 |
-
case 'force_r':
|
40 |
-
$rows_affected = $wp_subscribe_reloaded->stcr->update_subscription_status( $post_ID, $email_list, 'R' );
|
41 |
-
echo '<p class="updated">' .
|
42 |
-
break;
|
43 |
-
default:
|
44 |
-
break;
|
45 |
-
}
|
46 |
-
}
|
47 |
-
$message = html_entity_decode( stripslashes( get_option( 'subscribe_reloaded_author_text' ) ), ENT_QUOTES, 'UTF-8' );
|
48 |
-
if ( function_exists( 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage' ) ) {
|
49 |
-
$message = qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage( $message );
|
50 |
-
}
|
51 |
-
echo "<p
|
52 |
-
?>
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
'
|
62 |
-
'
|
63 |
-
'
|
64 |
-
'
|
65 |
-
'
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
<th style='width:
|
73 |
-
<th style='width:
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
$
|
80 |
-
$
|
81 |
-
$
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
echo "<td
|
86 |
-
echo "<td
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
echo '
|
94 |
-
echo '
|
95 |
-
echo '
|
96 |
-
|
97 |
-
echo '<option value="
|
98 |
-
echo '<option value="
|
99 |
-
echo '<option value="
|
100 |
-
echo '<option value="
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
Â
|
1 |
+
<?php
|
2 |
+
// Avoid direct access to this piece of code
|
3 |
+
if ( ! function_exists( 'add_action' ) ) {
|
4 |
+
header( 'Location: /' );
|
5 |
+
exit;
|
6 |
+
}
|
7 |
+
|
8 |
+
global $wp_subscribe_reloaded;
|
9 |
+
|
10 |
+
ob_start();
|
11 |
+
|
12 |
+
if ( ! empty( $_POST['email_list'] ) ) {
|
13 |
+
$email_list = array();
|
14 |
+
foreach ( $_POST['email_list'] as $a_email ) {
|
15 |
+
if ( ! in_array( $a_email, $email_list ) ) {
|
16 |
+
$email_list[] = urldecode( $a_email );
|
17 |
+
}
|
18 |
+
}
|
19 |
+
|
20 |
+
$action = ! empty( $_POST['sra'] ) ? sanitize_text_field( wp_unslash( $_POST['sra'] ) ) : ( ! empty( $_GET['sra'] ) ? sanitize_text_field( wp_unslash( $_GET['sra'] ) ) : '' );
|
21 |
+
$action = sanitize_text_field( $action );
|
22 |
+
switch ( $action ) {
|
23 |
+
case 'delete':
|
24 |
+
$rows_affected = $wp_subscribe_reloaded->stcr->delete_subscriptions( $post_ID, $email_list );
|
25 |
+
echo '<p class="updated">' . esc_html__( 'Subscriptions deleted:', 'subscribe-to-comments-reloaded' ) . esc_html( $rows_affected ) . '</p>';
|
26 |
+
break;
|
27 |
+
case 'suspend':
|
28 |
+
$rows_affected = $wp_subscribe_reloaded->stcr->update_subscription_status( $post_ID, $email_list, 'C' );
|
29 |
+
echo '<p class="updated">' . esc_html__( 'Subscriptions suspended:', 'subscribe-to-comments-reloaded' ) . esc_html( $rows_affected ) . '</p>';
|
30 |
+
break;
|
31 |
+
case 'activate':
|
32 |
+
$rows_affected = $wp_subscribe_reloaded->stcr->update_subscription_status( $post_ID, $email_list, '-C' );
|
33 |
+
echo '<p class="updated">' . esc_html__( 'Subscriptions activated:', 'subscribe-to-comments-reloaded' ) . esc_html( $rows_affected ) . '</p>';
|
34 |
+
break;
|
35 |
+
case 'force_y':
|
36 |
+
$rows_affected = $wp_subscribe_reloaded->stcr->update_subscription_status( $post_ID, $email_list, 'Y' );
|
37 |
+
echo '<p class="updated">' . esc_html__( 'Subscriptions updated:', 'subscribe-to-comments-reloaded' ) . esc_html( $rows_affected ) . '</p>';
|
38 |
+
break;
|
39 |
+
case 'force_r':
|
40 |
+
$rows_affected = $wp_subscribe_reloaded->stcr->update_subscription_status( $post_ID, $email_list, 'R' );
|
41 |
+
echo '<p class="updated">' . esc_html__( 'Subscriptions updated:', 'subscribe-to-comments-reloaded' ) . esc_html( $rows_affected ) . '</p>';
|
42 |
+
break;
|
43 |
+
default:
|
44 |
+
break;
|
45 |
+
}
|
46 |
+
}
|
47 |
+
$message = html_entity_decode( stripslashes( get_option( 'subscribe_reloaded_author_text' ) ), ENT_QUOTES, 'UTF-8' );
|
48 |
+
if ( function_exists( 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage' ) ) {
|
49 |
+
$message = qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage( $message );
|
50 |
+
}
|
51 |
+
echo "<p>" . wp_kses( $message, wp_kses_allowed_html( 'post' ) ) . "</p>";
|
52 |
+
?>
|
53 |
+
|
54 |
+
<?php $server_request_uri = isset( $_SERVER['REQUEST_URI'] ) ? sanitize_text_field( wp_unslash( $_SERVER['REQUEST_URI'] ) ) : ''; ?>
|
55 |
+
<form action="<?php echo esc_url( $server_request_uri ); ?>" method="post" id="email_list_form" name="email_list_form" onsubmit="if(this.sra[0].checked) return confirm('<?php esc_attr_e( 'Please remember: this operation cannot be undone. Are you sure you want to proceed?', 'subscribe-to-comments-reloaded' ); ?>')">
|
56 |
+
<fieldset style="border:0">
|
57 |
+
<?php
|
58 |
+
$subscriptions = $wp_subscribe_reloaded->stcr->get_subscriptions( 'post_id', 'equals', $post_ID, 'dt', 'ASC' );
|
59 |
+
// Let us translate those status
|
60 |
+
$legend_translate = array(
|
61 |
+
'R' => esc_html__( 'Replies', 'subscribe-to-comments-reloaded'),
|
62 |
+
'RC' => esc_html__( 'Replies Unconfirmed', 'subscribe-to-comments-reloaded'),
|
63 |
+
'Y' => esc_html__( "All Comments", 'subscribe-to-comments-reloaded'),
|
64 |
+
'YC' => esc_html__( "Unconfirmed", 'subscribe-to-comments-reloaded'),
|
65 |
+
'C' => esc_html__( "Inactive", 'subscribe-to-comments-reloaded'),
|
66 |
+
'-C' => esc_html__( "Active", 'subscribe-to-comments-reloaded')
|
67 |
+
);
|
68 |
+
if ( is_array( $subscriptions ) && ! empty( $subscriptions ) ) {
|
69 |
+
echo '<h1 id="subscribe-reloaded-title-p">' . esc_html__( 'Title', 'subscribe-to-comments-reloaded' ) . ': <strong>' . esc_html( $target_post->post_title ) . '</strong></h1>'; // $target_post comes from wp_subscribe_reloaded\subscribe_reloaded_manage
|
70 |
+
|
71 |
+
echo "<table class='stcr-subscription-list'><thead><tr>
|
72 |
+
<th style='width:30%; text-align: center;'><i class=\"fa fa-calendar\" aria-hidden=\"true\"></i> ". esc_html__('Subscription Date','subscribe-to-comments-reloaded')."</th>
|
73 |
+
<th style='width:35%;'><i class=\"fa fa-envelope\" aria-hidden=\"true\"></i> ". esc_html__('Subscription Email','subscribe-to-comments-reloaded')."</th>
|
74 |
+
<th style='width:20%; text-align: center;'><i class=\"fa fa-info\" aria-hidden=\"true\"></i> ". esc_html__('Subscription Status','subscribe-to-comments-reloaded')."</th>
|
75 |
+
</tr></thead>";
|
76 |
+
echo "<tbody>";
|
77 |
+
|
78 |
+
foreach ( $subscriptions as $i => $a_subscription ) {
|
79 |
+
$t_status = $a_subscription->status;
|
80 |
+
$date = strtotime( $a_subscription->dt );
|
81 |
+
$formatted_date = date( get_option( "subscribe_reloaded_date_format" ), $date );
|
82 |
+
$date_translated = $wp_subscribe_reloaded->stcr->utils->stcr_translate_month( $formatted_date );
|
83 |
+
|
84 |
+
echo "<tr>";
|
85 |
+
echo "<td style='text-align: center;'><input type='checkbox' name='email_list[]' value='" . esc_html( $a_subscription->email ) . "' id='e_" . esc_attr( $i ) . "'/><label for='e_" . esc_attr( $i ) . "'>" . esc_html( $date_translated ) . "</label></td>";
|
86 |
+
echo "<td>". esc_html( $a_subscription->email ) . "</td>";
|
87 |
+
echo "<td style='text-align: center;'>" . esc_html( $legend_translate[ $t_status ] ) . "</td>";
|
88 |
+
echo "</tr>";
|
89 |
+
}
|
90 |
+
echo "</tbody>";
|
91 |
+
echo "</table>";
|
92 |
+
|
93 |
+
echo '<p id="subscribe-reloaded-select-all-p"><i class="fa fa-expand" aria-hidden="true"></i> <a class="subscribe-reloaded-small-button stcr-subs-select-all" href="#" onclick="stcrCheckAll(event)">' . esc_html__( 'Select all', 'subscribe-to-comments-reloaded' ) . '</a> ';
|
94 |
+
echo ' <i class="fa fa-compress" aria-hidden="true"></i> <a class="subscribe-reloaded-small-button stcr-subs-select-none" href="#" onclick="stcrUncheckAll(event)">' . esc_html__( 'Invert selection', 'subscribe-to-comments-reloaded' ) . '</a></p>';
|
95 |
+
echo '<p id="subscribe-reloaded-action-p">' . esc_html__( 'Action:', 'subscribe-to-comments-reloaded' );
|
96 |
+
echo ' <select name="sra">';
|
97 |
+
echo '<option value="">'. esc_html__( 'Choose your action', 'subscribe-to-comments-reloaded' ) .'</option>';
|
98 |
+
echo '<option value="delete">'. esc_html__( 'Unsubscribe', 'subscribe-to-comments-reloaded' ) .'</option>';
|
99 |
+
echo '<option value="suspend">'. esc_html__( 'Suspend', 'subscribe-to-comments-reloaded' ) .'</option>';
|
100 |
+
echo '<option value="force_y">'. esc_html__( 'All comments', 'subscribe-to-comments-reloaded' ) .'</option>';
|
101 |
+
echo '<option value="force_r">'. esc_html__( 'Replies to my comments', 'subscribe-to-comments-reloaded' ) .'</option>';
|
102 |
+
// echo '<option value="activate">'. esc_html__( 'Activate', 'subscribe-to-comments-reloaded' ) .'</option>';
|
103 |
+
echo '<select>';
|
104 |
+
echo ' <input type="submit" class="subscribe-form-button" value="' . esc_html__( 'Update subscriptions', 'subscribe-to-comments-reloaded' ) . '" />
|
105 |
+
<input type="hidden" name="srp" value="' . intval( $post_ID ) . '"/></p>';
|
106 |
+
echo '<p id="subscribe-reloaded-update-p">
|
107 |
+
<a style="margin-right: 10px; text-decoration: none; box-shadow: unset;" href="'. esc_url( get_permalink( $post_ID ) ) .'"><i class="fa fa-arrow-circle-left fa-2x" aria-hidden="true" style="vertical-align: middle;"></i> '. esc_html__('Return to Post','subscribe-to-comments-reloaded').'</a>
|
108 |
+
</p>';
|
109 |
+
|
110 |
+
|
111 |
+
} else {
|
112 |
+
echo '<p>' . esc_html__( 'No subscriptions match your search criteria.', 'subscribe-to-comments-reloaded' ) . '</p>';
|
113 |
+
}
|
114 |
+
?>
|
115 |
+
</fieldset>
|
116 |
+
</form>
|
117 |
+
<script type="text/javascript">
|
118 |
+
|
119 |
+
function stcrCheckAll(e) {
|
120 |
+
|
121 |
+
var items = document.getElementsByName('email_list[]');
|
122 |
+
for ( var i=0; i<items.length; i++ ) {
|
123 |
+
if ( items[i].type == 'checkbox' ) {
|
124 |
+
items[i].checked = true;
|
125 |
+
}
|
126 |
+
}
|
127 |
+
|
128 |
+
e.preventDefault();
|
129 |
+
|
130 |
+
}
|
131 |
+
|
132 |
+
function stcrUncheckAll(e) {
|
133 |
+
|
134 |
+
var items = document.getElementsByName('email_list[]');
|
135 |
+
for ( var i=0; i<items.length; i++ ) {
|
136 |
+
if ( items[i].type == 'checkbox' ) {
|
137 |
+
items[i].checked = false;
|
138 |
+
}
|
139 |
+
}
|
140 |
+
|
141 |
+
e.preventDefault();
|
142 |
+
|
143 |
+
}
|
144 |
+
|
145 |
+
</script>
|
146 |
+
<?php
|
147 |
+
$output = ob_get_contents();
|
148 |
+
ob_end_clean();
|
149 |
+
return $output;
|
150 |
+
?>
|
templates/confirm.php
CHANGED
@@ -1,39 +1,39 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
// avoid direct access to this piece of code
|
4 |
-
if ( ! function_exists( 'add_action' ) ) {
|
5 |
-
header( 'Location: /' );
|
6 |
-
exit;
|
7 |
-
}
|
8 |
-
|
9 |
-
// get the instance of stcr_subscribe_reloaded class
|
10 |
-
global $wp_subscribe_reloaded;
|
11 |
-
|
12 |
-
// get post permalink
|
13 |
-
$post_permalink = null;
|
14 |
-
if (array_key_exists('post_permalink', $_GET)) {
|
15 |
-
if ( ! empty( $_GET['post_permalink'] ) ) {
|
16 |
-
$post_permalink = $_GET['post_permalink'];
|
17 |
-
}
|
18 |
-
}
|
19 |
-
|
20 |
-
// update status of subscription to confirmed
|
21 |
-
$wp_subscribe_reloaded->stcr->update_subscription_status( $post_ID, $email, '-C' );
|
22 |
-
|
23 |
-
// get confirmed message
|
24 |
-
$message = html_entity_decode( stripslashes( get_option( 'subscribe_reloaded_subscription_confirmed' ) ), ENT_COMPAT, 'UTF-8' );
|
25 |
-
|
26 |
-
// qTranslate compatibility
|
27 |
-
if ( function_exists( 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage' ) ) {
|
28 |
-
$message = qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage( $message );
|
29 |
-
}
|
30 |
-
|
31 |
-
// append post link to message
|
32 |
-
if ( isset( $post_permalink ) ) {
|
33 |
-
$message .= '<p id="subscribe-reloaded-update-p">
|
34 |
-
<a style="margin-right: 10px; text-decoration: none; box-shadow: unset;" href="'. esc_url( $post_permalink ) .'"><i class="fa fa-arrow-circle-left fa-2x" aria-hidden="true" style="vertical-align: middle;"></i> '.
|
35 |
-
</p>';
|
36 |
-
}
|
37 |
-
|
38 |
-
// pass it back
|
39 |
-
return '<div>' . $message . '</div>';
|
1 |
+
<?php
|
2 |
+
|
3 |
+
// avoid direct access to this piece of code
|
4 |
+
if ( ! function_exists( 'add_action' ) ) {
|
5 |
+
header( 'Location: /' );
|
6 |
+
exit;
|
7 |
+
}
|
8 |
+
|
9 |
+
// get the instance of stcr_subscribe_reloaded class
|
10 |
+
global $wp_subscribe_reloaded;
|
11 |
+
|
12 |
+
// get post permalink
|
13 |
+
$post_permalink = null;
|
14 |
+
if (array_key_exists('post_permalink', $_GET)) {
|
15 |
+
if ( ! empty( $_GET['post_permalink'] ) ) {
|
16 |
+
$post_permalink = sanitize_text_field( wp_unslash( $_GET['post_permalink'] ) );
|
17 |
+
}
|
18 |
+
}
|
19 |
+
|
20 |
+
// update status of subscription to confirmed
|
21 |
+
$wp_subscribe_reloaded->stcr->update_subscription_status( $post_ID, $email, '-C' );
|
22 |
+
|
23 |
+
// get confirmed message
|
24 |
+
$message = html_entity_decode( stripslashes( get_option( 'subscribe_reloaded_subscription_confirmed' ) ), ENT_COMPAT, 'UTF-8' );
|
25 |
+
|
26 |
+
// qTranslate compatibility
|
27 |
+
if ( function_exists( 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage' ) ) {
|
28 |
+
$message = qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage( $message );
|
29 |
+
}
|
30 |
+
|
31 |
+
// append post link to message
|
32 |
+
if ( isset( $post_permalink ) ) {
|
33 |
+
$message .= '<p id="subscribe-reloaded-update-p">
|
34 |
+
<a style="margin-right: 10px; text-decoration: none; box-shadow: unset;" href="'. esc_url( $post_permalink ) .'"><i class="fa fa-arrow-circle-left fa-2x" aria-hidden="true" style="vertical-align: middle;"></i> '. esc_html__('Return to Post','subscribe-to-comments-reloaded').'</a>
|
35 |
+
</p>';
|
36 |
+
}
|
37 |
+
|
38 |
+
// pass it back
|
39 |
+
return '<div>' . $message . '</div>';
|
templates/key_expired.php
CHANGED
@@ -5,13 +5,13 @@ if ( ! function_exists( 'add_action' ) ) {
|
|
5 |
Â
exit;
|
6 |
Â
}
|
7 |
Â
|
8 |
-
$error_message =
|
9 |
Â
|
10 |
Â
global $wp_subscribe_reloaded;
|
11 |
Â
ob_start();
|
12 |
Â
|
13 |
Â
if ( isset( $_POST[ 'sre' ] ) && trim( $_POST[ 'sre' ] ) !== "" ) {
|
14 |
-
$email =
|
15 |
Â
$subject = html_entity_decode( stripslashes( get_option( 'subscribe_reloaded_management_subject', 'Manage your subscriptions on [blog_name]' ) ), ENT_QUOTES, 'UTF-8' );
|
16 |
Â
$page_message = html_entity_decode( stripslashes( get_option( 'subscribe_reloaded_management_content', '' ) ), ENT_QUOTES, 'UTF-8' );
|
17 |
Â
$email_message = html_entity_decode( stripslashes( get_option( 'subscribe_reloaded_management_email_content', '' ) ), ENT_QUOTES, 'UTF-8' );
|
@@ -62,7 +62,7 @@ if ( isset( $_POST[ 'sre' ] ) && trim( $_POST[ 'sre' ] ) !== "" ) {
|
|
62 |
Â
$wp_subscribe_reloaded->stcr->utils->send_email( $email_settings );
|
63 |
Â
}
|
64 |
Â
|
65 |
-
echo wpautop( $page_message );
|
66 |
Â
}
|
67 |
Â
else
|
68 |
Â
{
|
@@ -71,15 +71,18 @@ else
|
|
71 |
Â
$message = qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage( $message );
|
72 |
Â
}
|
73 |
Â
?>
|
74 |
-
|
75 |
Â
<form action="<?php
|
76 |
-
$url = $_SERVER[ 'REQUEST_URI'
|
77 |
Â
$url = preg_replace('/sre=\w+&|&key\_expired=\d+/', '', $url );
|
78 |
Â
echo esc_url( $url . "&key_expired=1" );
|
79 |
Â
?>" name="sub-form" method="post">
|
80 |
Â
<fieldset style="border:0">
|
81 |
-
<p><label for="subscribe_reloaded_email"><?php
|
82 |
-
|
Â
|
|
Â
|
|
Â
|
|
83 |
Â
<input name="submit" type="submit" class="subscribe-form-button" value="<?php esc_attr_e( 'Send', 'subscribe-to-comments-reloaded' ) ?>" />
|
84 |
Â
</p>
|
85 |
Â
</fieldset>
|
5 |
Â
exit;
|
6 |
Â
}
|
7 |
Â
|
8 |
+
$error_message = esc_html__( "Woohaa the link to manage your subscriptions has expired, don't worry, just enter your email below and a new link will be send.", 'subscribe-to-comments-reloaded');
|
9 |
Â
|
10 |
Â
global $wp_subscribe_reloaded;
|
11 |
Â
ob_start();
|
12 |
Â
|
13 |
Â
if ( isset( $_POST[ 'sre' ] ) && trim( $_POST[ 'sre' ] ) !== "" ) {
|
14 |
+
$email = sanitize_text_field( wp_unslash( $_POST['sre'] ) );
|
15 |
Â
$subject = html_entity_decode( stripslashes( get_option( 'subscribe_reloaded_management_subject', 'Manage your subscriptions on [blog_name]' ) ), ENT_QUOTES, 'UTF-8' );
|
16 |
Â
$page_message = html_entity_decode( stripslashes( get_option( 'subscribe_reloaded_management_content', '' ) ), ENT_QUOTES, 'UTF-8' );
|
17 |
Â
$email_message = html_entity_decode( stripslashes( get_option( 'subscribe_reloaded_management_email_content', '' ) ), ENT_QUOTES, 'UTF-8' );
|
62 |
Â
$wp_subscribe_reloaded->stcr->utils->send_email( $email_settings );
|
63 |
Â
}
|
64 |
Â
|
65 |
+
echo wpautop( wp_kses( $page_message, wp_kses_allowed_html( 'post' ) ) );
|
66 |
Â
}
|
67 |
Â
else
|
68 |
Â
{
|
71 |
Â
$message = qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage( $message );
|
72 |
Â
}
|
73 |
Â
?>
|
74 |
+
<?php echo wpautop( esc_html( $error_message ) ); ?>
|
75 |
Â
<form action="<?php
|
76 |
+
$url = isset( $_SERVER['REQUEST_URI'] ) ? sanitize_text_field( wp_unslash( $_SERVER['REQUEST_URI'] ) ) : '';
|
77 |
Â
$url = preg_replace('/sre=\w+&|&key\_expired=\d+/', '', $url );
|
78 |
Â
echo esc_url( $url . "&key_expired=1" );
|
79 |
Â
?>" name="sub-form" method="post">
|
80 |
Â
<fieldset style="border:0">
|
81 |
+
<p><label for="subscribe_reloaded_email"><?php esc_html_e( 'Email', 'subscribe-to-comments-reloaded' ) ?></label>
|
82 |
+
<?php
|
83 |
+
$comment_author_email = isset( $_COOKIE[ 'comment_author_email_' . COOKIEHASH ] ) ? sanitize_text_field( wp_unslash( $_COOKIE[ 'comment_author_email_' . COOKIEHASH ] ) ) : '';
|
84 |
+
?>
|
85 |
+
<input id='subscribe_reloaded_email' type="text" class="subscribe-form-field" name="sre" value="<?php echo esc_attr( $comment_author_email ); ?>" size="22" onfocus="if(this.value==this.defaultValue)this.value=''" onblur="if(this.value=='')this.value=this.defaultValue" />
|
86 |
Â
<input name="submit" type="submit" class="subscribe-form-button" value="<?php esc_attr_e( 'Send', 'subscribe-to-comments-reloaded' ) ?>" />
|
87 |
Â
</p>
|
88 |
Â
</fieldset>
|
templates/not-allowed.php
CHANGED
@@ -5,16 +5,16 @@ if ( ! function_exists( 'add_action' ) ) {
|
|
5 |
Â
exit;
|
6 |
Â
}
|
7 |
Â
|
8 |
-
$error_message =
|
9 |
Â
|
10 |
Â
global $wp_subscribe_reloaded;
|
11 |
Â
|
12 |
Â
ob_start();
|
13 |
Â
|
14 |
-
|
15 |
Â
|
16 |
Â
$output = ob_get_contents();
|
17 |
Â
ob_end_clean();
|
18 |
Â
return $output;
|
19 |
Â
|
20 |
-
?>
|
5 |
Â
exit;
|
6 |
Â
}
|
7 |
Â
|
8 |
+
$error_message = esc_html__( 'You are not allowed to access this page.', 'subscribe-to-comments-reloaded' );
|
9 |
Â
|
10 |
Â
global $wp_subscribe_reloaded;
|
11 |
Â
|
12 |
Â
ob_start();
|
13 |
Â
|
14 |
+
?><?php echo wp_kses( wpautop( $error_message ), wp_kses_allowed_html( 'post' ) ); ?><?php
|
15 |
Â
|
16 |
Â
$output = ob_get_contents();
|
17 |
Â
ob_end_clean();
|
18 |
Â
return $output;
|
19 |
Â
|
20 |
+
?>
|
templates/one-click-unsubscribe.php
CHANGED
@@ -1,36 +1,36 @@
|
|
1 |
-
<?php
|
2 |
-
// Avoid direct access to this piece of code
|
3 |
-
if ( ! function_exists( 'add_action' ) ) {
|
4 |
-
header( 'Location: /' );
|
5 |
-
exit;
|
6 |
-
}
|
7 |
-
|
8 |
-
global $wp_subscribe_reloaded;
|
9 |
-
$post = get_post( $post_ID );
|
10 |
-
$manager_link = get_bloginfo( 'url' ) . get_option( 'subscribe_reloaded_manager_page', '/comment-subscriptions/' );
|
11 |
-
$manager_link .= ( strpos( $manager_link, '?' ) !== false ) ? '&' : '?';
|
12 |
-
$srk = ! empty( $_POST['srek'] ) ? $_POST['srek'] : ( ! empty( $_GET['srek'] ) ? $_GET['srek'] : '' );
|
13 |
-
$manager_link .= "srek=" . $srk . "&srk=" . $_GET['srk']."&srsrc=e";
|
14 |
-
ob_start();
|
15 |
-
|
16 |
-
if ( is_object( $post ) ) {
|
17 |
-
|
18 |
-
$message = html_entity_decode( stripslashes( get_option( 'subscribe_reloaded_oneclick_text' ) ), ENT_QUOTES, 'UTF-8' );
|
19 |
-
$message = str_replace( '[post_title]', get_the_title($post), $message );
|
20 |
-
$message = str_replace( '[blog_name]' , get_bloginfo('name'), $message );
|
21 |
-
|
22 |
-
$rows_affected = $wp_subscribe_reloaded->stcr->delete_subscriptions( $post_ID, $email );
|
23 |
-
|
24 |
-
if ( function_exists( 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage' ) ) {
|
25 |
-
$message = qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage( $message );
|
26 |
-
}
|
27 |
-
$message = wpautop( $message ); // Let us add the <p> tag if need it.
|
28 |
-
echo
|
29 |
-
} else {
|
30 |
-
echo '<p>' .
|
31 |
-
}
|
32 |
-
$output = ob_get_contents();
|
33 |
-
ob_end_clean();
|
34 |
-
|
35 |
-
return $output;
|
36 |
-
?>
|
1 |
+
<?php
|
2 |
+
// Avoid direct access to this piece of code
|
3 |
+
if ( ! function_exists( 'add_action' ) ) {
|
4 |
+
header( 'Location: /' );
|
5 |
+
exit;
|
6 |
+
}
|
7 |
+
|
8 |
+
global $wp_subscribe_reloaded;
|
9 |
+
$post = get_post( $post_ID );
|
10 |
+
$manager_link = get_bloginfo( 'url' ) . get_option( 'subscribe_reloaded_manager_page', '/comment-subscriptions/' );
|
11 |
+
$manager_link .= ( strpos( $manager_link, '?' ) !== false ) ? '&' : '?';
|
12 |
+
$srk = ! empty( $_POST['srek'] ) ? sanitize_text_field( wp_unslash( $_POST['srek'] ) ) : ( ! empty( $_GET['srek'] ) ? sanitize_text_field( wp_unslash( $_GET['srek'] ) ) : '' );
|
13 |
+
$manager_link .= "srek=" . $srk . "&srk=" . sanitize_text_field( wp_unslash( $_GET['srk'] ) )."&srsrc=e";
|
14 |
+
ob_start();
|
15 |
+
|
16 |
+
if ( is_object( $post ) ) {
|
17 |
+
|
18 |
+
$message = html_entity_decode( stripslashes( get_option( 'subscribe_reloaded_oneclick_text' ) ), ENT_QUOTES, 'UTF-8' );
|
19 |
+
$message = str_replace( '[post_title]', get_the_title($post), $message );
|
20 |
+
$message = str_replace( '[blog_name]' , get_bloginfo('name'), $message );
|
21 |
+
|
22 |
+
$rows_affected = $wp_subscribe_reloaded->stcr->delete_subscriptions( $post_ID, $email );
|
23 |
+
|
24 |
+
if ( function_exists( 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage' ) ) {
|
25 |
+
$message = qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage( $message );
|
26 |
+
}
|
27 |
+
$message = wpautop( $message ); // Let us add the <p> tag if need it.
|
28 |
+
echo wp_kses( $message, wp_kses_allowed_html( 'post' ) ); // TODO: Add management link with number of subscriptions.
|
29 |
+
} else {
|
30 |
+
echo '<p>' . esc_html__( 'No subscriptions match your search criteria.', 'subscribe-to-comments-reloaded' ) . '</p>';
|
31 |
+
}
|
32 |
+
$output = ob_get_contents();
|
33 |
+
ob_end_clean();
|
34 |
+
|
35 |
+
return $output;
|
36 |
+
?>
|
templates/request-management-link.php
CHANGED
@@ -29,7 +29,7 @@ if ( $use_captcha == 'yes' ) {
|
|
29 |
Â
$captcha_output .= '<div class="g-recaptcha" data-sitekey="' . $captcha_site_key . '"></div>';
|
30 |
Â
if ( 'v2' == $recaptcha_version ) {
|
31 |
Â
if ( isset( $_POST['g-recaptcha-response'] ) ) {
|
32 |
-
$captcha = $_POST['g-recaptcha-response'];
|
33 |
Â
$captcha_result = wp_remote_post( 'https://www.google.com/recaptcha/api/siteverify', array(
|
34 |
Â
'method' => 'POST',
|
35 |
Â
'body' => array(
|
@@ -48,8 +48,8 @@ if ( $use_captcha == 'yes' ) {
|
|
48 |
Â
}
|
49 |
Â
} elseif ( 'v3' == $recaptcha_version ) {
|
50 |
Â
if ( isset( $_POST['token'] ) ) {
|
51 |
-
$captcha = $_POST['token'];
|
52 |
-
$action = $_POST['action'];
|
53 |
Â
|
54 |
Â
$captcha_result = wp_remote_post( 'https://www.google.com/recaptcha/api/siteverify', array(
|
55 |
Â
'method' => 'POST',
|
@@ -80,7 +80,7 @@ if ( isset( $current_user ) && $current_user->ID > 0 ) {
|
|
80 |
Â
// post permalink supplied with $_GET
|
81 |
Â
if ( array_key_exists('post_permalink', $_GET ) ) {
|
82 |
Â
if ( ! empty( $_GET['post_permalink'] ) ) {
|
83 |
-
$post_permalink = $_GET['post_permalink'];
|
84 |
Â
}
|
85 |
Â
}
|
86 |
Â
|
@@ -178,7 +178,7 @@ if ( ! empty( $email ) ) {
|
|
178 |
Â
$wp_subscribe_reloaded->stcr->utils->send_email( $email_settings );
|
179 |
Â
}
|
180 |
Â
|
181 |
-
echo wpautop( $page_message );
|
182 |
Â
|
183 |
Â
}
|
184 |
Â
|
@@ -192,7 +192,7 @@ if ( ! empty( $email ) ) {
|
|
192 |
Â
if ( isset($current_user_email) ) {
|
193 |
Â
$email = $current_user_email;
|
194 |
Â
} else if ( isset( $_COOKIE['comment_author_email_' . COOKIEHASH] )) {
|
195 |
-
$email = sanitize_email( $_COOKIE['comment_author_email_' . COOKIEHASH] );
|
196 |
Â
} else {
|
197 |
Â
$email = '';
|
198 |
Â
}
|
@@ -203,30 +203,31 @@ if ( ! empty( $email ) ) {
|
|
203 |
Â
}
|
204 |
Â
|
205 |
Â
?>
|
206 |
-
|
207 |
-
|
Â
|
|
208 |
Â
<fieldset style="border:0">
|
209 |
Â
<?php if ( $challenge_question_state == 'yes' ) : ?>
|
210 |
Â
<p>
|
211 |
-
<label for="subscribe_reloaded_email"><?php
|
212 |
Â
<input id='subscribe_reloaded_email' type="email" class="subscribe-form-field" name="sre" value="<?php echo esc_attr( $email ); ?>" size="22" required />
|
213 |
Â
</p>
|
214 |
Â
<p>
|
215 |
-
<label for="subscribe-reloaded-challenge"><?php echo $challenge_question; ?></label>
|
216 |
Â
<input id="subscribe-reloaded-challenge" type="text" class="subscribe-form-field" name="subscribe_reloaded_challenge" />
|
217 |
Â
</p>
|
218 |
Â
<p>
|
219 |
-
<input name="submit" type="submit" class="subscribe-form-button" value="<?php
|
220 |
Â
</p>
|
221 |
-
<?php echo $captcha_output; ?>
|
222 |
Â
<p class="notice-email-error" style='color: #f55252;font-weight:bold; display: none;'></p>
|
223 |
Â
<?php else : ?>
|
224 |
Â
<p>
|
225 |
-
<label for="subscribe_reloaded_email"><?php
|
226 |
Â
<input id='subscribe_reloaded_email' type="email" class="subscribe-form-field" name="sre" value="<?php echo esc_attr( $email ); ?>" size="22" required />
|
227 |
-
<input name="submit" type="submit" class="subscribe-form-button" value="<?php
|
228 |
Â
</p>
|
229 |
-
<?php echo $captcha_output; ?>
|
230 |
Â
<p class="notice-email-error" style='color: #f55252;font-weight:bold; display: none;'></p>
|
231 |
Â
<?php endif; ?>
|
232 |
Â
|
@@ -236,7 +237,7 @@ if ( ! empty( $email ) ) {
|
|
236 |
Â
|
237 |
Â
if ( isset( $post_permalink ) ) {
|
238 |
Â
echo '<p id="subscribe-reloaded-update-p">
|
239 |
-
<a style="margin-right: 10px; text-decoration: none; box-shadow: unset;" href="'. esc_url( $post_permalink ) .'"><i class="fa fa-arrow-circle-left fa-2x" aria-hidden="true" style="vertical-align: middle;"></i> '.
|
240 |
Â
</p>';
|
241 |
Â
}
|
242 |
Â
|
@@ -279,44 +280,45 @@ if( ! $valid_all ) {
|
|
279 |
Â
}
|
280 |
Â
|
281 |
Â
?>
|
282 |
-
|
283 |
-
|
Â
|
|
284 |
Â
<fieldset style="border:0">
|
285 |
Â
|
286 |
Â
<?php if ( $challenge_question_state == 'yes' ) : ?>
|
287 |
Â
<p>
|
288 |
-
<label for="subscribe_reloaded_email"><?php
|
289 |
Â
<input id='subscribe_reloaded_email' type="email" class="subscribe-form-field" name="sre" value="<?php echo esc_attr( $email ); ?>" size="22" required />
|
290 |
Â
</p>
|
291 |
Â
<p>
|
292 |
-
<label for="subscribe-reloaded-challenge"><?php echo $challenge_question; ?></label>
|
293 |
Â
<input id="subscribe-reloaded-challenge" type="text" class="subscribe-form-field" name="subscribe_reloaded_challenge" />
|
294 |
Â
</p>
|
295 |
Â
<p>
|
296 |
-
<input name="submit" type="submit" class="subscribe-form-button" value="<?php
|
297 |
Â
</p>
|
298 |
-
<?php echo $captcha_output; ?>
|
299 |
Â
<p class="notice-email-error" style='color: #f55252;font-weight:bold;'></p>
|
300 |
Â
<?php else : ?>
|
301 |
Â
<p>
|
302 |
-
<label for="subscribe_reloaded_email"><?php
|
303 |
Â
<input id='subscribe_reloaded_email' type="email" class="subscribe-form-field" name="sre" value="<?php echo esc_attr( $email ); ?>" size="22" required />
|
304 |
-
<input name="submit" type="submit" class="subscribe-form-button" value="<?php
|
305 |
Â
</p>
|
306 |
-
<?php echo $captcha_output; ?>
|
307 |
Â
<p class="notice-email-error" style='color: #f55252;font-weight:bold;'></p>
|
308 |
Â
<?php endif; ?>
|
309 |
Â
|
310 |
Â
<?php if ( ! $valid_email ) : ?>
|
311 |
-
<p style='color: #f55252;font-weight:bold;'><i class="fa fa-exclamation-triangle"></i> <?php
|
312 |
Â
<?php endif; ?>
|
313 |
Â
|
314 |
Â
<?php if ( ! $valid_challenge ) : ?>
|
315 |
-
<p style='color: #f55252;font-weight:bold;'><i class="fa fa-exclamation-triangle"></i> <?php
|
316 |
Â
<?php endif; ?>
|
317 |
Â
|
318 |
Â
<?php if ( ! $valid_captcha ) : ?>
|
319 |
-
<p style='color: #f55252;font-weight:bold;'><i class="fa fa-exclamation-triangle"></i> <?php
|
320 |
Â
<?php endif; ?>
|
321 |
Â
|
322 |
Â
</fieldset>
|
29 |
Â
$captcha_output .= '<div class="g-recaptcha" data-sitekey="' . $captcha_site_key . '"></div>';
|
30 |
Â
if ( 'v2' == $recaptcha_version ) {
|
31 |
Â
if ( isset( $_POST['g-recaptcha-response'] ) ) {
|
32 |
+
$captcha = sanitize_text_field( wp_unslash( $_POST['g-recaptcha-response'] ) );
|
33 |
Â
$captcha_result = wp_remote_post( 'https://www.google.com/recaptcha/api/siteverify', array(
|
34 |
Â
'method' => 'POST',
|
35 |
Â
'body' => array(
|
48 |
Â
}
|
49 |
Â
} elseif ( 'v3' == $recaptcha_version ) {
|
50 |
Â
if ( isset( $_POST['token'] ) ) {
|
51 |
+
$captcha = sanitize_text_field( wp_unslash( $_POST['token'] ) );
|
52 |
+
$action = sanitize_text_field( wp_unslash( $_POST['action'] ) );
|
53 |
Â
|
54 |
Â
$captcha_result = wp_remote_post( 'https://www.google.com/recaptcha/api/siteverify', array(
|
55 |
Â
'method' => 'POST',
|
80 |
Â
// post permalink supplied with $_GET
|
81 |
Â
if ( array_key_exists('post_permalink', $_GET ) ) {
|
82 |
Â
if ( ! empty( $_GET['post_permalink'] ) ) {
|
83 |
+
$post_permalink = sanitize_text_field( wp_unslash( $_GET['post_permalink'] ) );
|
84 |
Â
}
|
85 |
Â
}
|
86 |
Â
|
178 |
Â
$wp_subscribe_reloaded->stcr->utils->send_email( $email_settings );
|
179 |
Â
}
|
180 |
Â
|
181 |
+
echo wp_kses( wpautop( $page_message ), wp_kses_allowed_html( 'post' ) );
|
182 |
Â
|
183 |
Â
}
|
184 |
Â
|
192 |
Â
if ( isset($current_user_email) ) {
|
193 |
Â
$email = $current_user_email;
|
194 |
Â
} else if ( isset( $_COOKIE['comment_author_email_' . COOKIEHASH] )) {
|
195 |
+
$email = sanitize_email( wp_unslash( $_COOKIE[ 'comment_author_email_' . COOKIEHASH ] ) );
|
196 |
Â
} else {
|
197 |
Â
$email = '';
|
198 |
Â
}
|
203 |
Â
}
|
204 |
Â
|
205 |
Â
?>
|
206 |
+
<?php echo wp_kses( wpautop( $message ), wp_kses_allowed_html( 'post' ) ); ?>
|
207 |
+
<?php $server_request_uri = isset( $_SERVER['REQUEST_URI'] ) ? sanitize_text_field( wp_unslash( $_SERVER['REQUEST_URI'] ) ) : ''; ?>
|
208 |
+
<form action="<?php echo esc_url( $server_request_uri ); ?>" method="post" name="sub-form">
|
209 |
Â
<fieldset style="border:0">
|
210 |
Â
<?php if ( $challenge_question_state == 'yes' ) : ?>
|
211 |
Â
<p>
|
212 |
+
<label for="subscribe_reloaded_email"><?php esc_html_e( 'Email', 'subscribe-to-comments-reloaded' ) ?></label>
|
213 |
Â
<input id='subscribe_reloaded_email' type="email" class="subscribe-form-field" name="sre" value="<?php echo esc_attr( $email ); ?>" size="22" required />
|
214 |
Â
</p>
|
215 |
Â
<p>
|
216 |
+
<label for="subscribe-reloaded-challenge"><?php echo esc_html( $challenge_question ); ?></label>
|
217 |
Â
<input id="subscribe-reloaded-challenge" type="text" class="subscribe-form-field" name="subscribe_reloaded_challenge" />
|
218 |
Â
</p>
|
219 |
Â
<p>
|
220 |
+
<input name="submit" type="submit" class="subscribe-form-button" value="<?php esc_attr_e( 'Send', 'subscribe-to-comments-reloaded' ) ?>" />
|
221 |
Â
</p>
|
222 |
+
<?php echo wp_kses( $captcha_output, wp_kses_allowed_html( 'post' ) ); ?>
|
223 |
Â
<p class="notice-email-error" style='color: #f55252;font-weight:bold; display: none;'></p>
|
224 |
Â
<?php else : ?>
|
225 |
Â
<p>
|
226 |
+
<label for="subscribe_reloaded_email"><?php esc_html_e( 'Email', 'subscribe-to-comments-reloaded' ) ?></label>
|
227 |
Â
<input id='subscribe_reloaded_email' type="email" class="subscribe-form-field" name="sre" value="<?php echo esc_attr( $email ); ?>" size="22" required />
|
228 |
+
<input name="submit" type="submit" class="subscribe-form-button" value="<?php esc_attr_e( 'Send', 'subscribe-to-comments-reloaded' ) ?>" />
|
229 |
Â
</p>
|
230 |
+
<?php echo wp_kses( $captcha_output, wp_kses_allowed_html( 'post' ) ); ?>
|
231 |
Â
<p class="notice-email-error" style='color: #f55252;font-weight:bold; display: none;'></p>
|
232 |
Â
<?php endif; ?>
|
233 |
Â
|
237 |
Â
|
238 |
Â
if ( isset( $post_permalink ) ) {
|
239 |
Â
echo '<p id="subscribe-reloaded-update-p">
|
240 |
+
<a style="margin-right: 10px; text-decoration: none; box-shadow: unset;" href="'. esc_url( $post_permalink ) .'"><i class="fa fa-arrow-circle-left fa-2x" aria-hidden="true" style="vertical-align: middle;"></i> '. esc_html__('Return to Post','subscribe-to-comments-reloaded').'</a>
|
241 |
Â
</p>';
|
242 |
Â
}
|
243 |
Â
|
280 |
Â
}
|
281 |
Â
|
282 |
Â
?>
|
283 |
+
<?php echo wp_kses( wpautop( $message ), wp_kses_allowed_html( 'post' ) ); ?>
|
284 |
+
<?php $server_request_uri = isset( $_SERVER['REQUEST_URI'] ) ? sanitize_text_field( wp_unslash( $_SERVER['REQUEST_URI'] ) ) : ''; ?>
|
285 |
+
<form action="<?php echo esc_url( $server_request_uri ); ?>" method="post" name="sub-form">
|
286 |
Â
<fieldset style="border:0">
|
287 |
Â
|
288 |
Â
<?php if ( $challenge_question_state == 'yes' ) : ?>
|
289 |
Â
<p>
|
290 |
+
<label for="subscribe_reloaded_email"><?php esc_html_e( 'Email', 'subscribe-to-comments-reloaded' ) ?></label>
|
291 |
Â
<input id='subscribe_reloaded_email' type="email" class="subscribe-form-field" name="sre" value="<?php echo esc_attr( $email ); ?>" size="22" required />
|
292 |
Â
</p>
|
293 |
Â
<p>
|
294 |
+
<label for="subscribe-reloaded-challenge"><?php echo esc_html( $challenge_question ); ?></label>
|
295 |
Â
<input id="subscribe-reloaded-challenge" type="text" class="subscribe-form-field" name="subscribe_reloaded_challenge" />
|
296 |
Â
</p>
|
297 |
Â
<p>
|
298 |
+
<input name="submit" type="submit" class="subscribe-form-button" value="<?php esc_attr_e( 'Send', 'subscribe-to-comments-reloaded' ) ?>" />
|
299 |
Â
</p>
|
300 |
+
<?php echo wp_kses( $captcha_output, wp_kses_allowed_html( 'post' ) ); ?>
|
301 |
Â
<p class="notice-email-error" style='color: #f55252;font-weight:bold;'></p>
|
302 |
Â
<?php else : ?>
|
303 |
Â
<p>
|
304 |
+
<label for="subscribe_reloaded_email"><?php esc_html_e( 'Email', 'subscribe-to-comments-reloaded' ) ?></label>
|
305 |
Â
<input id='subscribe_reloaded_email' type="email" class="subscribe-form-field" name="sre" value="<?php echo esc_attr( $email ); ?>" size="22" required />
|
306 |
+
<input name="submit" type="submit" class="subscribe-form-button" value="<?php esc_attr_e( 'Send', 'subscribe-to-comments-reloaded' ) ?>" />
|
307 |
Â
</p>
|
308 |
+
<?php echo wp_kses( $captcha_output, wp_kses_allowed_html( 'post' ) ); ?>
|
309 |
Â
<p class="notice-email-error" style='color: #f55252;font-weight:bold;'></p>
|
310 |
Â
<?php endif; ?>
|
311 |
Â
|
312 |
Â
<?php if ( ! $valid_email ) : ?>
|
313 |
+
<p style='color: #f55252;font-weight:bold;'><i class="fa fa-exclamation-triangle"></i> <?php esc_html_e("Email address is not valid", 'subscribe-to-comments-reloaded') ?></p>
|
314 |
Â
<?php endif; ?>
|
315 |
Â
|
316 |
Â
<?php if ( ! $valid_challenge ) : ?>
|
317 |
+
<p style='color: #f55252;font-weight:bold;'><i class="fa fa-exclamation-triangle"></i> <?php esc_html_e("Challenge answer is not correct", 'subscribe-to-comments-reloaded') ?></p>
|
318 |
Â
<?php endif; ?>
|
319 |
Â
|
320 |
Â
<?php if ( ! $valid_captcha ) : ?>
|
321 |
+
<p style='color: #f55252;font-weight:bold;'><i class="fa fa-exclamation-triangle"></i> <?php esc_html_e("Challenge answer is not correct", 'subscribe-to-comments-reloaded') ?></p>
|
322 |
Â
<?php endif; ?>
|
323 |
Â
|
324 |
Â
</fieldset>
|
templates/subscribe.php
CHANGED
@@ -30,7 +30,7 @@ if ( $use_captcha == 'yes' ) {
|
|
30 |
Â
$captcha_output .= '<div class="g-recaptcha" data-sitekey="' . $captcha_site_key . '"></div>';
|
31 |
Â
if ( 'v2' == $recaptcha_version ) {
|
32 |
Â
if ( isset( $_POST['g-recaptcha-response'] ) ) {
|
33 |
-
$captcha = $_POST['g-recaptcha-response'];
|
34 |
Â
$captcha_result = wp_remote_post( 'https://www.google.com/recaptcha/api/siteverify', array(
|
35 |
Â
'method' => 'POST',
|
36 |
Â
'body' => array(
|
@@ -49,8 +49,8 @@ if ( $use_captcha == 'yes' ) {
|
|
49 |
Â
}
|
50 |
Â
} elseif ( 'v3' == $recaptcha_version ) {
|
51 |
Â
if ( isset( $_POST['token'] ) ) {
|
52 |
-
$captcha = $_POST['token'];
|
53 |
-
$action = $_POST['action'];
|
54 |
Â
|
55 |
Â
$captcha_result = wp_remote_post( 'https://www.google.com/recaptcha/api/siteverify', array(
|
56 |
Â
'method' => 'POST',
|
@@ -123,8 +123,9 @@ if ( ! empty( $email ) ) {
|
|
123 |
Â
|
124 |
Â
global $akismet_api_host, $akismet_api_port;
|
125 |
Â
|
Â
|
|
126 |
Â
$akismet_query_string = "user_ip={$_SERVER['REMOTE_ADDR']}";
|
127 |
-
$akismet_query_string .= "&user_agent=" . esc_url( stripslashes( $
|
128 |
Â
$akismet_query_string .= "&blog=" . esc_url( get_option( 'home' ) );
|
129 |
Â
$akismet_query_string .= "&blog_lang=" . get_locale();
|
130 |
Â
$akismet_query_string .= "&blog_charset=" . get_option( 'blog_charset' );
|
@@ -150,8 +151,8 @@ if ( ! empty( $email ) ) {
|
|
150 |
Â
$from_name = stripslashes( get_option( 'subscribe_reloaded_from_name', 'admin' ) );
|
151 |
Â
$from_email = get_option( 'subscribe_reloaded_from_email', get_bloginfo( 'admin_email' ) );
|
152 |
Â
|
153 |
-
$subject =
|
154 |
-
$message =
|
155 |
Â
|
156 |
Â
$email_settings = array(
|
157 |
Â
'subject' => $subject,
|
@@ -189,7 +190,7 @@ if ( ! empty( $email ) ) {
|
|
189 |
Â
$message = str_replace( '[post_title]', $target_post->post_title, $message );
|
190 |
Â
}
|
191 |
Â
|
192 |
-
echo wpautop( $message );
|
193 |
Â
|
194 |
Â
}
|
195 |
Â
|
@@ -200,7 +201,7 @@ if ( ! empty( $email ) ) {
|
|
200 |
Â
if ( isset( $current_user_email ) ) {
|
201 |
Â
$email = $current_user_email;
|
202 |
Â
} else if ( isset( $_COOKIE['comment_author_email_' . COOKIEHASH] )) {
|
203 |
-
$email = sanitize_email( $_COOKIE['comment_author_email_' . COOKIEHASH] );
|
204 |
Â
} else {
|
205 |
Â
$email = '';
|
206 |
Â
}
|
@@ -213,36 +214,37 @@ if ( ! empty( $email ) ) {
|
|
213 |
Â
} else {
|
214 |
Â
$message = str_replace( '[post_title]', $target_post->post_title, $message );
|
215 |
Â
}
|
216 |
-
echo '<p>' . $message . '</p>';
|
217 |
Â
|
218 |
Â
// output the form
|
219 |
Â
|
220 |
Â
|
221 |
Â
?>
|
222 |
-
|
Â
|
|
223 |
Â
<fieldset style="border:0">
|
224 |
Â
<div>
|
225 |
Â
<?php if ( $challenge_question_state == 'yes' ) : ?>
|
226 |
Â
<p>
|
227 |
-
<label for="sre"><?php
|
228 |
Â
<input id='sre' type="text" class="subscribe-form-field" name="sre" value="<?php echo esc_attr( $email ); ?>" size="22" required />
|
229 |
Â
</p>
|
230 |
Â
<p>
|
231 |
-
<label for="subscribe-reloaded-challenge"><?php echo $challenge_question; ?></label>
|
232 |
Â
<input id="subscribe-reloaded-challenge" type="text" class="subscribe-form-field" name="subscribe_reloaded_challenge" />
|
233 |
Â
</p>
|
234 |
Â
<p>
|
235 |
Â
<input name="submit" type="submit" class="subscribe-form-button" value="<?php esc_attr_e( 'Send', 'subscribe-to-comments-reloaded' ) ?>" />
|
236 |
Â
</p>
|
237 |
-
<?php echo $captcha_output; ?>
|
238 |
Â
<p class="notice-email-error" style='color: #f55252;font-weight:bold; display: none;'></p>
|
239 |
Â
<?php else : ?>
|
240 |
Â
<p>
|
241 |
-
<label for="sre"><?php
|
242 |
Â
<input id='sre' type="text" class="subscribe-form-field" name="sre" value="<?php echo esc_attr( $email ); ?>" size="22" required />
|
243 |
Â
<input name="submit" type="submit" class="subscribe-form-button" value="<?php esc_attr_e( 'Send', 'subscribe-to-comments-reloaded' ) ?>" />
|
244 |
Â
</p>
|
245 |
-
<?php echo $captcha_output; ?>
|
246 |
Â
<p class="notice-email-error" style='color: #f55252;font-weight:bold; display: none;'></p>
|
247 |
Â
<?php endif; ?>
|
248 |
Â
</div>
|
@@ -290,44 +292,45 @@ if ( ! $valid_all ) {
|
|
290 |
Â
} else {
|
291 |
Â
$message = str_replace( '[post_title]', esc_html( $target_post->post_title ), $message );
|
292 |
Â
}
|
293 |
-
echo '<p>' . $message . '</p>';
|
294 |
Â
|
295 |
Â
?>
|
296 |
-
|
Â
|
|
297 |
Â
<fieldset style="border:0">
|
298 |
Â
|
299 |
Â
<?php if ( $challenge_question_state == 'yes' ) : ?>
|
300 |
Â
<p>
|
301 |
-
<label for="sre"><?php
|
302 |
Â
<input id='sre' type="text" class="subscribe-form-field" name="sre" value="<?php echo esc_attr( $email ); ?>" size="22" required />
|
303 |
Â
</p>
|
304 |
Â
<p>
|
305 |
-
<label for="subscribe-reloaded-challenge"><?php echo $challenge_question; ?></label>
|
306 |
Â
<input id="subscribe-reloaded-challenge" type="text" class="subscribe-form-field" name="subscribe_reloaded_challenge" />
|
307 |
Â
</p>
|
308 |
Â
<p>
|
309 |
Â
<input name="submit" type="submit" class="subscribe-form-button" value="<?php esc_attr_e( 'Send', 'subscribe-to-comments-reloaded' ) ?>" />
|
310 |
Â
</p>
|
311 |
-
<?php echo $captcha_output; ?>
|
312 |
Â
<p class="notice-email-error" style='color: #f55252;font-weight:bold; display: none;'></p>
|
313 |
Â
<?php else : ?>
|
314 |
-
<label for="sre"><?php
|
315 |
Â
<input id='sre' type="text" class="subscribe-form-field" name="sre" value="<?php echo esc_attr( $email ); ?>" size="22" required />
|
316 |
Â
<input name="submit" type="submit" class="subscribe-form-button" value="<?php esc_attr_e( 'Send', 'subscribe-to-comments-reloaded' ) ?>" />
|
317 |
-
<?php echo $captcha_output; ?>
|
318 |
Â
<p class="notice-email-error" style='color: #f55252;font-weight:bold; display: none;'></p>
|
319 |
Â
<?php endif; ?>
|
320 |
Â
|
321 |
Â
<?php if ( ! $valid_email ) : ?>
|
322 |
-
<p style='color: #f55252;font-weight:bold;'><i class="fa fa-exclamation-triangle"></i> <?php
|
323 |
Â
<?php endif; ?>
|
324 |
Â
|
325 |
Â
<?php if ( ! $valid_challenge ) : ?>
|
326 |
-
<p style='color: #f55252;font-weight:bold;'><i class="fa fa-exclamation-triangle"></i> <?php
|
327 |
Â
<?php endif; ?>
|
328 |
Â
|
329 |
Â
<?php if ( ! $valid_captcha ) : ?>
|
330 |
-
<p style='color: #f55252;font-weight:bold;'><i class="fa fa-exclamation-triangle"></i> <?php
|
331 |
Â
<?php endif; ?>
|
332 |
Â
|
333 |
Â
</fieldset>
|
30 |
Â
$captcha_output .= '<div class="g-recaptcha" data-sitekey="' . $captcha_site_key . '"></div>';
|
31 |
Â
if ( 'v2' == $recaptcha_version ) {
|
32 |
Â
if ( isset( $_POST['g-recaptcha-response'] ) ) {
|
33 |
+
$captcha = sanitize_text_field( wp_unslash( $_POST['g-recaptcha-response'] ) );
|
34 |
Â
$captcha_result = wp_remote_post( 'https://www.google.com/recaptcha/api/siteverify', array(
|
35 |
Â
'method' => 'POST',
|
36 |
Â
'body' => array(
|
49 |
Â
}
|
50 |
Â
} elseif ( 'v3' == $recaptcha_version ) {
|
51 |
Â
if ( isset( $_POST['token'] ) ) {
|
52 |
+
$captcha = sanitize_text_field( wp_unslash( $_POST['token'] ) );
|
53 |
+
$action = sanitize_text_field( wp_unslash( $_POST['action'] ) );
|
54 |
Â
|
55 |
Â
$captcha_result = wp_remote_post( 'https://www.google.com/recaptcha/api/siteverify', array(
|
56 |
Â
'method' => 'POST',
|
123 |
Â
|
124 |
Â
global $akismet_api_host, $akismet_api_port;
|
125 |
Â
|
126 |
+
$user_agent = isset( $_SERVER['HTTP_USER_AGENT'] ) ? sanitize_text_field( wp_unslash( $_SERVER['HTTP_USER_AGENT'] ) ) : '';
|
127 |
Â
$akismet_query_string = "user_ip={$_SERVER['REMOTE_ADDR']}";
|
128 |
+
$akismet_query_string .= "&user_agent=" . esc_url( stripslashes( $user_agent ) );
|
129 |
Â
$akismet_query_string .= "&blog=" . esc_url( get_option( 'home' ) );
|
130 |
Â
$akismet_query_string .= "&blog_lang=" . get_locale();
|
131 |
Â
$akismet_query_string .= "&blog_charset=" . get_option( 'blog_charset' );
|
151 |
Â
$from_name = stripslashes( get_option( 'subscribe_reloaded_from_name', 'admin' ) );
|
152 |
Â
$from_email = get_option( 'subscribe_reloaded_from_email', get_bloginfo( 'admin_email' ) );
|
153 |
Â
|
154 |
+
$subject = esc_html__( 'New subscription to', 'subscribe-to-comments-reloaded' ) . " $target_post->post_title";
|
155 |
+
$message = esc_html__( 'New subscription to', 'subscribe-to-comments-reloaded' ) . " $target_post->post_title\n" . esc_html__( 'User:', 'subscribe-to-comments-reloaded' ) . " $clean_email";
|
156 |
Â
|
157 |
Â
$email_settings = array(
|
158 |
Â
'subject' => $subject,
|
190 |
Â
$message = str_replace( '[post_title]', $target_post->post_title, $message );
|
191 |
Â
}
|
192 |
Â
|
193 |
+
echo wp_kses( wpautop( $message ), wp_kses_allowed_html( 'post' ) );
|
194 |
Â
|
195 |
Â
}
|
196 |
Â
|
201 |
Â
if ( isset( $current_user_email ) ) {
|
202 |
Â
$email = $current_user_email;
|
203 |
Â
} else if ( isset( $_COOKIE['comment_author_email_' . COOKIEHASH] )) {
|
204 |
+
$email = sanitize_email( wp_unslash( $_COOKIE[ 'comment_author_email_' . COOKIEHASH ] ) );
|
205 |
Â
} else {
|
206 |
Â
$email = '';
|
207 |
Â
}
|
214 |
Â
} else {
|
215 |
Â
$message = str_replace( '[post_title]', $target_post->post_title, $message );
|
216 |
Â
}
|
217 |
+
echo '<p>' . wp_kses( $message, wp_kses_allowed_html( 'post' ) ) . '</p>';
|
218 |
Â
|
219 |
Â
// output the form
|
220 |
Â
|
221 |
Â
|
222 |
Â
?>
|
223 |
+
<?php $server_request_uri = isset( $_SERVER['REQUEST_URI'] ) ? sanitize_text_field( wp_unslash( $_SERVER['REQUEST_URI'] ) ) : ''; ?>
|
224 |
+
<form action="<?php echo esc_url( $server_request_uri ); ?>" method="post" name="sub-form">
|
225 |
Â
<fieldset style="border:0">
|
226 |
Â
<div>
|
227 |
Â
<?php if ( $challenge_question_state == 'yes' ) : ?>
|
228 |
Â
<p>
|
229 |
+
<label for="sre"><?php esc_html_e( 'Email', 'subscribe-to-comments-reloaded' ) ?></label>
|
230 |
Â
<input id='sre' type="text" class="subscribe-form-field" name="sre" value="<?php echo esc_attr( $email ); ?>" size="22" required />
|
231 |
Â
</p>
|
232 |
Â
<p>
|
233 |
+
<label for="subscribe-reloaded-challenge"><?php echo esc_html( $challenge_question ); ?></label>
|
234 |
Â
<input id="subscribe-reloaded-challenge" type="text" class="subscribe-form-field" name="subscribe_reloaded_challenge" />
|
235 |
Â
</p>
|
236 |
Â
<p>
|
237 |
Â
<input name="submit" type="submit" class="subscribe-form-button" value="<?php esc_attr_e( 'Send', 'subscribe-to-comments-reloaded' ) ?>" />
|
238 |
Â
</p>
|
239 |
+
<?php echo wp_kses( $captcha_output, wp_kses_allowed_html( 'post' ) ); ?>
|
240 |
Â
<p class="notice-email-error" style='color: #f55252;font-weight:bold; display: none;'></p>
|
241 |
Â
<?php else : ?>
|
242 |
Â
<p>
|
243 |
+
<label for="sre"><?php esc_html_e( 'Email', 'subscribe-to-comments-reloaded' ) ?></label>
|
244 |
Â
<input id='sre' type="text" class="subscribe-form-field" name="sre" value="<?php echo esc_attr( $email ); ?>" size="22" required />
|
245 |
Â
<input name="submit" type="submit" class="subscribe-form-button" value="<?php esc_attr_e( 'Send', 'subscribe-to-comments-reloaded' ) ?>" />
|
246 |
Â
</p>
|
247 |
+
<?php echo wp_kses( $captcha_output, wp_kses_allowed_html( 'post' ) ); ?>
|
248 |
Â
<p class="notice-email-error" style='color: #f55252;font-weight:bold; display: none;'></p>
|
249 |
Â
<?php endif; ?>
|
250 |
Â
</div>
|
292 |
Â
} else {
|
293 |
Â
$message = str_replace( '[post_title]', esc_html( $target_post->post_title ), $message );
|
294 |
Â
}
|
295 |
+
echo '<p>' . wp_kses( $message, wp_kses_allowed_html( 'post' ) ) . '</p>';
|
296 |
Â
|
297 |
Â
?>
|
298 |
+
<?php $server_request_uri = isset( $_SERVER['REQUEST_URI'] ) ? sanitize_text_field( wp_unslash( $_SERVER['REQUEST_URI'] ) ) : ''; ?>
|
299 |
+
<form action="<?php echo esc_url( $server_request_uri ); ?>" method="post" name="sub-form">
|
300 |
Â
<fieldset style="border:0">
|
301 |
Â
|
302 |
Â
<?php if ( $challenge_question_state == 'yes' ) : ?>
|
303 |
Â
<p>
|
304 |
+
<label for="sre"><?php esc_html_e( 'Email', 'subscribe-to-comments-reloaded' ) ?></label>
|
305 |
Â
<input id='sre' type="text" class="subscribe-form-field" name="sre" value="<?php echo esc_attr( $email ); ?>" size="22" required />
|
306 |
Â
</p>
|
307 |
Â
<p>
|
308 |
+
<label for="subscribe-reloaded-challenge"><?php echo esc_html( $challenge_question ); ?></label>
|
309 |
Â
<input id="subscribe-reloaded-challenge" type="text" class="subscribe-form-field" name="subscribe_reloaded_challenge" />
|
310 |
Â
</p>
|
311 |
Â
<p>
|
312 |
Â
<input name="submit" type="submit" class="subscribe-form-button" value="<?php esc_attr_e( 'Send', 'subscribe-to-comments-reloaded' ) ?>" />
|
313 |
Â
</p>
|
314 |
+
<?php echo wp_kses( $captcha_output, wp_kses_allowed_html( 'post' ) ); ?>
|
315 |
Â
<p class="notice-email-error" style='color: #f55252;font-weight:bold; display: none;'></p>
|
316 |
Â
<?php else : ?>
|
317 |
+
<label for="sre"><?php esc_html_e( 'Email', 'subscribe-to-comments-reloaded' ) ?></label>
|
318 |
Â
<input id='sre' type="text" class="subscribe-form-field" name="sre" value="<?php echo esc_attr( $email ); ?>" size="22" required />
|
319 |
Â
<input name="submit" type="submit" class="subscribe-form-button" value="<?php esc_attr_e( 'Send', 'subscribe-to-comments-reloaded' ) ?>" />
|
320 |
+
<?php echo wp_kses( $captcha_output, wp_kses_allowed_html( 'post' ) ); ?>
|
321 |
Â
<p class="notice-email-error" style='color: #f55252;font-weight:bold; display: none;'></p>
|
322 |
Â
<?php endif; ?>
|
323 |
Â
|
324 |
Â
<?php if ( ! $valid_email ) : ?>
|
325 |
+
<p style='color: #f55252;font-weight:bold;'><i class="fa fa-exclamation-triangle"></i> <?php esc_html_e("Email address is not valid", 'subscribe-to-comments-reloaded') ?></p>
|
326 |
Â
<?php endif; ?>
|
327 |
Â
|
328 |
Â
<?php if ( ! $valid_challenge ) : ?>
|
329 |
+
<p style='color: #f55252;font-weight:bold;'><i class="fa fa-exclamation-triangle"></i> <?php esc_html_e("Challenge answer is not correct", 'subscribe-to-comments-reloaded') ?></p>
|
330 |
Â
<?php endif; ?>
|
331 |
Â
|
332 |
Â
<?php if ( ! $valid_captcha ) : ?>
|
333 |
+
<p style='color: #f55252;font-weight:bold;'><i class="fa fa-exclamation-triangle"></i> <?php esc_html_e("Challenge answer is not correct", 'subscribe-to-comments-reloaded') ?></p>
|
334 |
Â
<?php endif; ?>
|
335 |
Â
|
336 |
Â
</fieldset>
|
templates/user.php
CHANGED
@@ -1,184 +1,185 @@
|
|
1 |
-
<?php
|
2 |
-
// Avoid direct access to this piece of code
|
3 |
-
if ( ! function_exists( 'add_action' ) ) {
|
4 |
-
header( 'Location: /' );
|
5 |
-
exit;
|
6 |
-
}
|
7 |
-
|
8 |
-
global $wp_subscribe_reloaded;
|
9 |
-
$post_permalink = null;
|
10 |
-
|
11 |
-
if (array_key_exists('post_permalink', $_GET))
|
12 |
-
{
|
13 |
-
if ( ! empty( $_GET['post_permalink'] ) )
|
14 |
-
{
|
15 |
-
$post_permalink = $_GET['post_permalink'];
|
16 |
-
}
|
17 |
-
}
|
18 |
-
|
19 |
-
ob_start();
|
20 |
-
|
21 |
-
if ( ! empty( $_POST['post_list'] ) ) {
|
22 |
-
$post_list = array();
|
23 |
-
foreach ( $_POST['post_list'] as $a_post_id ) {
|
24 |
-
if ( ! in_array( $a_post_id, $post_list ) ) {
|
25 |
-
$post_list[] = intval( $a_post_id );
|
26 |
-
}
|
27 |
-
}
|
28 |
-
|
29 |
-
$action = ! empty( $_POST['sra'] ) ? $_POST['sra'] : ( ! empty( $_GET['sra'] ) ? $_GET['sra'] : '' );
|
30 |
-
$action = sanitize_text_field( $action );
|
31 |
-
switch ( $action ) {
|
32 |
-
case 'delete':
|
33 |
-
$rows_affected = $wp_subscribe_reloaded->stcr->delete_subscriptions( $post_list, $email );
|
34 |
-
echo '<p class="updated">' .
|
35 |
-
break;
|
36 |
-
case 'suspend':
|
37 |
-
$rows_affected = $wp_subscribe_reloaded->stcr->update_subscription_status( $post_list, $email, 'C' );
|
38 |
-
echo '<p class="updated">' .
|
39 |
-
break;
|
40 |
-
case 'activate':
|
41 |
-
$rows_affected = $wp_subscribe_reloaded->stcr->update_subscription_status( $post_list, $email, '-C' );
|
42 |
-
echo '<p class="updated">' .
|
43 |
-
break;
|
44 |
-
case 'force_y':
|
45 |
-
$rows_affected = $wp_subscribe_reloaded->stcr->update_subscription_status( $post_list, $email, 'Y' );
|
46 |
-
echo '<p class="updated">' .
|
47 |
-
break;
|
48 |
-
case 'force_r':
|
49 |
-
$rows_affected = $wp_subscribe_reloaded->stcr->update_subscription_status( $post_list, $email, 'R' );
|
50 |
-
echo '<p class="updated">' .
|
51 |
-
break;
|
52 |
-
default:
|
53 |
-
break;
|
54 |
-
}
|
55 |
-
}
|
56 |
-
$message = html_entity_decode( stripslashes( get_option( 'subscribe_reloaded_user_text' ) ), ENT_QUOTES, 'UTF-8' );
|
57 |
-
|
58 |
-
if ( function_exists( 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage' ) ) {
|
59 |
-
$message = qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage( $message );
|
60 |
-
}
|
61 |
-
|
62 |
-
echo "<p
|
63 |
-
|
64 |
-
?>
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
'
|
74 |
-
'
|
75 |
-
'
|
76 |
-
'
|
77 |
-
'
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
<th style='width:
|
85 |
-
<th style='width:
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
$
|
92 |
-
$
|
93 |
-
$
|
94 |
-
$
|
95 |
-
$
|
96 |
-
|
97 |
-
|
98 |
-
echo "<
|
99 |
-
echo "<td><
|
100 |
-
echo "<td
|
101 |
-
echo "</
|
102 |
-
|
103 |
-
|
104 |
-
echo "</
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
<
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
$
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
echo '<option value="
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
}
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
Â
|
1 |
+
<?php
|
2 |
+
// Avoid direct access to this piece of code
|
3 |
+
if ( ! function_exists( 'add_action' ) ) {
|
4 |
+
header( 'Location: /' );
|
5 |
+
exit;
|
6 |
+
}
|
7 |
+
|
8 |
+
global $wp_subscribe_reloaded;
|
9 |
+
$post_permalink = null;
|
10 |
+
|
11 |
+
if (array_key_exists('post_permalink', $_GET))
|
12 |
+
{
|
13 |
+
if ( ! empty( $_GET['post_permalink'] ) )
|
14 |
+
{
|
15 |
+
$post_permalink = sanitize_text_field( wp_unslash( $_GET['post_permalink'] ) );
|
16 |
+
}
|
17 |
+
}
|
18 |
+
|
19 |
+
ob_start();
|
20 |
+
|
21 |
+
if ( ! empty( $_POST['post_list'] ) ) {
|
22 |
+
$post_list = array();
|
23 |
+
foreach ( $_POST['post_list'] as $a_post_id ) {
|
24 |
+
if ( ! in_array( $a_post_id, $post_list ) ) {
|
25 |
+
$post_list[] = intval( $a_post_id );
|
26 |
+
}
|
27 |
+
}
|
28 |
+
|
29 |
+
$action = ! empty( $_POST['sra'] ) ? sanitize_text_field( wp_unslash( $_POST['sra'] ) ) : ( ! empty( $_GET['sra'] ) ? sanitize_text_field( wp_unslash( $_GET['sra'] ) ) : '' );
|
30 |
+
$action = sanitize_text_field( $action );
|
31 |
+
switch ( $action ) {
|
32 |
+
case 'delete':
|
33 |
+
$rows_affected = $wp_subscribe_reloaded->stcr->delete_subscriptions( $post_list, $email );
|
34 |
+
echo '<p class="updated">' . esc_html__( 'Subscriptions deleted:', 'subscribe-to-comments-reloaded' ) . esc_html( $rows_affected ) . '</p>';
|
35 |
+
break;
|
36 |
+
case 'suspend':
|
37 |
+
$rows_affected = $wp_subscribe_reloaded->stcr->update_subscription_status( $post_list, $email, 'C' );
|
38 |
+
echo '<p class="updated">' . esc_html__( 'Subscriptions suspended:', 'subscribe-to-comments-reloaded' ) . esc_html( $rows_affected ) . '</p>';
|
39 |
+
break;
|
40 |
+
case 'activate':
|
41 |
+
$rows_affected = $wp_subscribe_reloaded->stcr->update_subscription_status( $post_list, $email, '-C' );
|
42 |
+
echo '<p class="updated">' . esc_html__( 'Subscriptions activated:', 'subscribe-to-comments-reloaded' ) . esc_html( $rows_affected ) . '</p>';
|
43 |
+
break;
|
44 |
+
case 'force_y':
|
45 |
+
$rows_affected = $wp_subscribe_reloaded->stcr->update_subscription_status( $post_list, $email, 'Y' );
|
46 |
+
echo '<p class="updated">' . esc_html__( 'Subscriptions updated:', 'subscribe-to-comments-reloaded' ) . esc_html( $rows_affected ) . '</p>';
|
47 |
+
break;
|
48 |
+
case 'force_r':
|
49 |
+
$rows_affected = $wp_subscribe_reloaded->stcr->update_subscription_status( $post_list, $email, 'R' );
|
50 |
+
echo '<p class="updated">' . esc_html__( 'Subscriptions updated:', 'subscribe-to-comments-reloaded' ) . esc_html( $rows_affected ) . '</p>';
|
51 |
+
break;
|
52 |
+
default:
|
53 |
+
break;
|
54 |
+
}
|
55 |
+
}
|
56 |
+
$message = html_entity_decode( stripslashes( get_option( 'subscribe_reloaded_user_text' ) ), ENT_QUOTES, 'UTF-8' );
|
57 |
+
|
58 |
+
if ( function_exists( 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage' ) ) {
|
59 |
+
$message = qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage( $message );
|
60 |
+
}
|
61 |
+
|
62 |
+
echo "<p>" . wp_kses( $message, wp_kses_allowed_html( 'post' ) ) . "</p>";
|
63 |
+
|
64 |
+
?>
|
65 |
+
|
66 |
+
<?php $server_request_uri = isset( $_SERVER['REQUEST_URI'] ) ? sanitize_text_field( wp_unslash( $_SERVER['REQUEST_URI'] ) ) : ''; ?>
|
67 |
+
<form action="<?php echo esc_url( $server_request_uri ); ?>" method="post" id="post_list_form" name="post_list_form" onsubmit="if(this.sra[0].checked) return confirm('<?php esc_attr_e( 'Please remember: this operation cannot be undone. Are you sure you want to proceed?', 'subscribe-to-comments-reloaded' ); ?>')">
|
68 |
+
<fieldset style="border:0">
|
69 |
+
<?php
|
70 |
+
$subscriptions = $wp_subscribe_reloaded->stcr->get_subscriptions( 'email', 'equals', $email, 'dt', 'DESC' );
|
71 |
+
// Let us translate those status
|
72 |
+
$legend_translate = array(
|
73 |
+
'R' => esc_html__( 'Replies', 'subscribe-to-comments-reloaded'),
|
74 |
+
'RC' => esc_html__( 'Replies Unconfirmed', 'subscribe-to-comments-reloaded'),
|
75 |
+
'Y' => esc_html__( "All Comments", 'subscribe-to-comments-reloaded'),
|
76 |
+
'YC' => esc_html__( "Unconfirmed", 'subscribe-to-comments-reloaded'),
|
77 |
+
'C' => esc_html__( "Inactive", 'subscribe-to-comments-reloaded'),
|
78 |
+
'-C' => esc_html__( "Active", 'subscribe-to-comments-reloaded')
|
79 |
+
);
|
80 |
+
if ( is_array( $subscriptions ) && ! empty( $subscriptions ) ) {
|
81 |
+
echo '<p id="subscribe-reloaded-email-p">' . esc_html__( 'Email to manage', 'subscribe-to-comments-reloaded' ) . ': <strong>' . esc_html( $email ) . '</strong></p>';
|
82 |
+
|
83 |
+
echo "<table class='stcr-subscription-list'><thead><tr>
|
84 |
+
<th style='width:24%; text-align: center;'><i class=\"fa fa-calendar\" aria-hidden=\"true\"></i> ". esc_html__('Subscription Date','subscribe-to-comments-reloaded')."</th>
|
85 |
+
<th style='width:40%;'><i class=\"fa fa-pencil-square-o\" aria-hidden=\"true\"></i> ". esc_html__('Title','subscribe-to-comments-reloaded')."</th>
|
86 |
+
<th style='width:20%; text-align: center;'><i class=\"fa fa-info\" aria-hidden=\"true\"></i> ". esc_html__('Subscription Status','subscribe-to-comments-reloaded')."</th>
|
87 |
+
</tr></thead>";
|
88 |
+
echo "<tbody>";
|
89 |
+
|
90 |
+
foreach ( $subscriptions as $i => $a_subscription ) {
|
91 |
+
$t_status = $a_subscription->status;
|
92 |
+
$permalink = esc_url( get_permalink( $a_subscription->post_id ) );
|
93 |
+
$title = get_the_title( $a_subscription->post_id );
|
94 |
+
$date = strtotime( $a_subscription->dt );
|
95 |
+
$formatted_date = date( get_option( "subscribe_reloaded_date_format" ), $date );
|
96 |
+
$date_translated = $wp_subscribe_reloaded->stcr->utils->stcr_translate_month( $formatted_date );
|
97 |
+
|
98 |
+
echo "<tr>";
|
99 |
+
echo "<td style='text-align: center;'><input type='checkbox' name='post_list[]' value='" . esc_attr( $a_subscription->post_id ) . "' id='e_" . esc_attr( $i ) . "'/><label for='e_" . esc_attr( $i ) . "'> " . esc_html( $date_translated ) . "</td>";
|
100 |
+
echo "<td><a href='" . esc_url( $permalink ) . "' target='_blank'>" . esc_html( $title ) . "</a> </td>";
|
101 |
+
echo "<td style='text-align: center;'>" . esc_html( $legend_translate[ $t_status ] ) . "</td>";
|
102 |
+
echo "</tr>";
|
103 |
+
}
|
104 |
+
echo "</tbody>";
|
105 |
+
echo "</table>";
|
106 |
+
|
107 |
+
echo '<p id="subscribe-reloaded-select-all-p">
|
108 |
+
<i class="fa fa-expand" aria-hidden="true"></i>
|
109 |
+
<a class="subscribe-reloaded-small-button stcr-subs-select-all" href="#" onclick="stcrCheckAll(event)">' . esc_html__( 'Select all', 'subscribe-to-comments-reloaded' ) . '</a> ';
|
110 |
+
echo ' <i class="fa fa-compress" aria-hidden="true"></i>
|
111 |
+
<a class="subscribe-reloaded-small-button stcr-subs-select-none" href="#" onclick="stcrUncheckAll(event)">' . esc_html__( 'Invert selection', 'subscribe-to-comments-reloaded' ) . '</a></p>';
|
112 |
+
echo '<p id="subscribe-reloaded-action-p">' . esc_html__( 'Action:', 'subscribe-to-comments-reloaded' );
|
113 |
+
|
114 |
+
$show_option_all = true;
|
115 |
+
$show_option_replies = true;
|
116 |
+
|
117 |
+
if ( get_option( 'subscribe_reloaded_enable_advanced_subscriptions', 'no' ) == 'no' ) {
|
118 |
+
if ( get_option( 'subscribe_reloaded_checked_by_default_value', '0' ) == '0' ) {
|
119 |
+
$show_option_replies = false;
|
120 |
+
} else {
|
121 |
+
$show_option_all = false;
|
122 |
+
}
|
123 |
+
}
|
124 |
+
|
125 |
+
echo '<select name="sra">';
|
126 |
+
echo '<option value="">'. esc_html__( 'Choose your action', 'subscribe-to-comments-reloaded' ) .'</option>';
|
127 |
+
echo '<option value="delete">'. esc_html__( 'Unsubscribe', 'subscribe-to-comments-reloaded' ) .'</option>';
|
128 |
+
echo '<option value="suspend">'. esc_html__( 'Suspend', 'subscribe-to-comments-reloaded' ) .'</option>';
|
129 |
+
if ( $show_option_all ) {
|
130 |
+
echo '<option value="force_y">'. esc_html__( 'All comments', 'subscribe-to-comments-reloaded' ) .'</option>';
|
131 |
+
}
|
132 |
+
if ( $show_option_replies ) {
|
133 |
+
echo '<option value="force_r">'. esc_html__( 'Replies to my comments', 'subscribe-to-comments-reloaded' ) .'</option>';
|
134 |
+
}
|
135 |
+
echo '<select>';
|
136 |
+
|
137 |
+
echo ' <input type="submit" class="subscribe-form-button" value="' . esc_html__( 'Update subscriptions', 'subscribe-to-comments-reloaded' ) . '" />
|
138 |
+
<input type="hidden" name="srek" value="' . $wp_subscribe_reloaded->stcr->utils->get_subscriber_key( $email ) . '"></p>';
|
139 |
+
|
140 |
+
if ( isset( $post_permalink ) )
|
141 |
+
{
|
142 |
+
echo '<p id="subscribe-reloaded-update-p">
|
143 |
+
<a style="margin-right: 10px; text-decoration: none; box-shadow: unset;" href="'. esc_url( $post_permalink ) .'"><i class="fa fa-arrow-circle-left fa-2x" aria-hidden="true" style="vertical-align: middle;"></i> '. esc_html__('Return to Post','subscribe-to-comments-reloaded').'</a>
|
144 |
+
</p>';
|
145 |
+
}
|
146 |
+
} else {
|
147 |
+
echo '<p>' . esc_html__( 'No subscriptions match your search criteria.', 'subscribe-to-comments-reloaded' ) . '</p>';
|
148 |
+
}
|
149 |
+
?>
|
150 |
+
</fieldset>
|
151 |
+
</form>
|
152 |
+
<script type="text/javascript">
|
153 |
+
|
154 |
+
function stcrCheckAll(e) {
|
155 |
+
|
156 |
+
var items = document.getElementsByName('post_list[]');
|
157 |
+
for ( var i=0; i<items.length; i++ ) {
|
158 |
+
if ( items[i].type == 'checkbox' ) {
|
159 |
+
items[i].checked = true;
|
160 |
+
}
|
161 |
+
}
|
162 |
+
|
163 |
+
e.preventDefault();
|
164 |
+
|
165 |
+
}
|
166 |
+
|
167 |
+
function stcrUncheckAll(e) {
|
168 |
+
|
169 |
+
var items = document.getElementsByName('post_list[]');
|
170 |
+
for ( var i=0; i<items.length; i++ ) {
|
171 |
+
if ( items[i].type == 'checkbox' ) {
|
172 |
+
items[i].checked = false;
|
173 |
+
}
|
174 |
+
}
|
175 |
+
|
176 |
+
e.preventDefault();
|
177 |
+
|
178 |
+
}
|
179 |
+
|
180 |
+
</script>
|
181 |
+
<?php
|
182 |
+
$output = ob_get_contents();
|
183 |
+
ob_end_clean();
|
184 |
+
return $output;
|
185 |
+
?>
|
templates/wrong-request.php
CHANGED
@@ -1,14 +1,14 @@
|
|
1 |
-
<?php
|
2 |
-
// Avoid direct access to this piece of code
|
3 |
-
if ( ! function_exists( 'add_action' ) ) {
|
4 |
-
header( 'Location: /' );
|
5 |
-
exit;
|
6 |
-
}
|
7 |
-
|
8 |
-
ob_start();
|
9 |
-
echo '<p>' .
|
10 |
-
$output = ob_get_contents();
|
11 |
-
ob_end_clean();
|
12 |
-
|
13 |
-
return $output;
|
14 |
-
?>
|
1 |
+
<?php
|
2 |
+
// Avoid direct access to this piece of code
|
3 |
+
if ( ! function_exists( 'add_action' ) ) {
|
4 |
+
header( 'Location: /' );
|
5 |
+
exit;
|
6 |
+
}
|
7 |
+
|
8 |
+
ob_start();
|
9 |
+
echo '<p>' . esc_html__( 'You have request to manage another email address and this is forbidden.', 'subscribe-to-comments-reloaded' ) . '</p>';
|
10 |
+
$output = ob_get_contents();
|
11 |
+
ob_end_clean();
|
12 |
+
|
13 |
+
return $output;
|
14 |
+
?>
|
utils/functions.php
CHANGED
@@ -3,7 +3,7 @@ if ( ! function_exists( 'stcr_add_subscriber' ) ) {
|
|
3 |
Â
|
4 |
Â
/**
|
5 |
Â
* Add subscriber
|
6 |
-
*
|
7 |
Â
* @since 200205
|
8 |
Â
*/
|
9 |
Â
function stcr_add_subscription( $data ) {
|
@@ -22,27 +22,27 @@ if ( ! function_exists( 'stcr_add_subscriber' ) ) {
|
|
22 |
Â
|
23 |
Â
// get status code
|
24 |
Â
switch ( $data['type'] ) {
|
25 |
-
|
26 |
Â
case 'all':
|
27 |
Â
$status = 'Y';
|
28 |
Â
break;
|
29 |
-
|
30 |
Â
case 'all_unconfirmed':
|
31 |
Â
$status = 'YC';
|
32 |
Â
break;
|
33 |
-
|
34 |
Â
case 'replies':
|
35 |
Â
$status = 'R';
|
36 |
Â
break;
|
37 |
-
|
38 |
Â
case 'replies_unconfirmed':
|
39 |
Â
$status = 'RC';
|
40 |
Â
break;
|
41 |
-
|
42 |
Â
case 'inactive':
|
43 |
Â
$status = 'C';
|
44 |
Â
break;
|
45 |
-
|
46 |
Â
case 'active':
|
47 |
Â
$status = '-C';
|
48 |
Â
break;
|
@@ -74,29 +74,29 @@ if ( ! function_exists( 'stcr_add_subscriber' ) ) {
|
|
74 |
Â
|
75 |
Â
// notify the administrator about the new subscription
|
76 |
Â
if ( $notify_admin ) {
|
77 |
-
|
78 |
Â
$from_name = stripslashes( get_option( 'subscribe_reloaded_from_name', 'admin' ) );
|
79 |
Â
$from_email = get_option( 'subscribe_reloaded_from_email', get_bloginfo( 'admin_email' ) );
|
80 |
Â
|
81 |
-
$subject =
|
82 |
-
$message =
|
83 |
-
|
84 |
Â
$email_settings = array(
|
85 |
Â
'subject' => $subject,
|
86 |
Â
'message' => $message,
|
87 |
Â
'toEmail' => get_bloginfo( 'admin_email' )
|
88 |
Â
);
|
89 |
-
|
90 |
Â
$wp_subscribe_reloaded->stcr->utils->send_email( $email_settings );
|
91 |
Â
|
92 |
Â
}
|
93 |
Â
|
94 |
Â
// double check, send confirmation email
|
95 |
Â
if ( $notify_subscriber && ! $wp_subscribe_reloaded->stcr->is_user_subscribed( $data['post_id'], $clean_email, 'C' ) ) {
|
96 |
-
|
97 |
Â
$wp_subscribe_reloaded->stcr->add_subscription( $data['post_id'], $clean_email, $status );
|
98 |
Â
$wp_subscribe_reloaded->stcr->confirmation_email( $data['post_id'], $clean_email );
|
99 |
-
|
100 |
Â
// not double check, add subscription
|
101 |
Â
} else {
|
102 |
Â
$wp_subscribe_reloaded->stcr->add_subscription( $data['post_id'], $clean_email, $status );
|
@@ -104,4 +104,4 @@ if ( ! function_exists( 'stcr_add_subscriber' ) ) {
|
|
104 |
Â
|
105 |
Â
}
|
106 |
Â
|
107 |
-
}
|
3 |
Â
|
4 |
Â
/**
|
5 |
Â
* Add subscriber
|
6 |
+
*
|
7 |
Â
* @since 200205
|
8 |
Â
*/
|
9 |
Â
function stcr_add_subscription( $data ) {
|
22 |
Â
|
23 |
Â
// get status code
|
24 |
Â
switch ( $data['type'] ) {
|
25 |
+
|
26 |
Â
case 'all':
|
27 |
Â
$status = 'Y';
|
28 |
Â
break;
|
29 |
+
|
30 |
Â
case 'all_unconfirmed':
|
31 |
Â
$status = 'YC';
|
32 |
Â
break;
|
33 |
+
|
34 |
Â
case 'replies':
|
35 |
Â
$status = 'R';
|
36 |
Â
break;
|
37 |
+
|
38 |
Â
case 'replies_unconfirmed':
|
39 |
Â
$status = 'RC';
|
40 |
Â
break;
|
41 |
+
|
42 |
Â
case 'inactive':
|
43 |
Â
$status = 'C';
|
44 |
Â
break;
|
45 |
+
|
46 |
Â
case 'active':
|
47 |
Â
$status = '-C';
|
48 |
Â
break;
|
74 |
Â
|
75 |
Â
// notify the administrator about the new subscription
|
76 |
Â
if ( $notify_admin ) {
|
77 |
+
|
78 |
Â
$from_name = stripslashes( get_option( 'subscribe_reloaded_from_name', 'admin' ) );
|
79 |
Â
$from_email = get_option( 'subscribe_reloaded_from_email', get_bloginfo( 'admin_email' ) );
|
80 |
Â
|
81 |
+
$subject = esc_html__( 'New subscription to', 'subscribe-to-comments-reloaded' ) . ' ' . get_the_title( $data['post_id'] );
|
82 |
+
$message = esc_html__( 'New subscription to', 'subscribe-to-comments-reloaded' ) . ' ' . get_the_title( $data['post_id'] ) . PHP_EOL . esc_html__( 'User:', 'subscribe-to-comments-reloaded' ) . " $clean_email";
|
83 |
+
|
84 |
Â
$email_settings = array(
|
85 |
Â
'subject' => $subject,
|
86 |
Â
'message' => $message,
|
87 |
Â
'toEmail' => get_bloginfo( 'admin_email' )
|
88 |
Â
);
|
89 |
+
|
90 |
Â
$wp_subscribe_reloaded->stcr->utils->send_email( $email_settings );
|
91 |
Â
|
92 |
Â
}
|
93 |
Â
|
94 |
Â
// double check, send confirmation email
|
95 |
Â
if ( $notify_subscriber && ! $wp_subscribe_reloaded->stcr->is_user_subscribed( $data['post_id'], $clean_email, 'C' ) ) {
|
96 |
+
|
97 |
Â
$wp_subscribe_reloaded->stcr->add_subscription( $data['post_id'], $clean_email, $status );
|
98 |
Â
$wp_subscribe_reloaded->stcr->confirmation_email( $data['post_id'], $clean_email );
|
99 |
+
|
100 |
Â
// not double check, add subscription
|
101 |
Â
} else {
|
102 |
Â
$wp_subscribe_reloaded->stcr->add_subscription( $data['post_id'], $clean_email, $status );
|
104 |
Â
|
105 |
Â
}
|
106 |
Â
|
107 |
+
}
|
utils/stcr_manage.php
CHANGED
@@ -79,8 +79,8 @@ if( ! class_exists('\\'.__NAMESPACE__.'\\stcr_manage') )
|
|
79 |
Â
$nonce = wp_create_nonce( $name );
|
80 |
Â
// Set the a fresh nonce
|
81 |
Â
$this->utils->stcr_update_admin_notice_status( $name, 'unread', $nonce );
|
82 |
-
echo "<div class='notice is-dismissible stcr-dismiss-notice
|
83 |
-
echo $noticeData['message'];
|
84 |
Â
echo "</div>";
|
85 |
Â
}
|
86 |
Â
}
|
@@ -366,32 +366,32 @@ if( ! class_exists('\\'.__NAMESPACE__.'\\stcr_manage') )
|
|
366 |
Â
add_menu_page( $page_title, $menu_title, $moderate_capability, $parent_slug, $function, $icon_url, $position );
|
367 |
Â
|
368 |
Â
add_submenu_page( $parent_slug ,
|
369 |
-
|
370 |
-
|
371 |
Â
$moderate_capability,
|
372 |
Â
"stcr_manage_subscriptions",
|
373 |
Â
array( $this, "stcr_option_manage_subscriptions") );
|
374 |
Â
add_submenu_page( $parent_slug ,
|
375 |
-
|
376 |
-
|
377 |
Â
$capability,
|
378 |
Â
"stcr_comment_form",
|
379 |
Â
array( $this, "stcr_option_comment_form" ) );
|
380 |
Â
add_submenu_page( $parent_slug ,
|
381 |
-
|
382 |
-
|
383 |
Â
$capability,
|
384 |
Â
"stcr_management_page",
|
385 |
Â
array( $this, "stcr_option_management_page" ) );
|
386 |
Â
add_submenu_page( $parent_slug ,
|
387 |
-
|
388 |
-
|
389 |
Â
$capability,
|
390 |
Â
"stcr_notifications",
|
391 |
Â
array( $this, "stcr_option_notifications" ) );
|
392 |
Â
add_submenu_page( $parent_slug ,
|
393 |
-
|
394 |
-
|
395 |
Â
$capability,
|
396 |
Â
"stcr_options",
|
397 |
Â
array( $this, "stcr_option_options" ) );
|
@@ -400,27 +400,27 @@ if( ! class_exists('\\'.__NAMESPACE__.'\\stcr_manage') )
|
|
400 |
Â
// since this requires much effort this is pointe to go to the pro version. NO ETA avaiable.
|
401 |
Â
//
|
402 |
Â
// add_submenu_page( $parent_slug ,
|
403 |
-
//
|
404 |
-
//
|
405 |
Â
// $capability,
|
406 |
Â
// "stcr_subscribers_emails",
|
407 |
Â
// array( $this, "stcr_option_subscribers_emails" ) );
|
408 |
Â
|
409 |
Â
add_submenu_page( $parent_slug ,
|
410 |
-
|
411 |
-
|
412 |
Â
$capability,
|
413 |
Â
"stcr_support",
|
414 |
Â
array( $this, "stcr_option_support" ) );
|
415 |
Â
// add_submenu_page( $parent_slug ,
|
416 |
-
//
|
417 |
-
//
|
418 |
Â
// $capability,
|
419 |
Â
// "stcr_donate",
|
420 |
Â
// array( $this, "stcr_option_donate" ) );
|
421 |
Â
add_submenu_page( $parent_slug ,
|
422 |
-
|
423 |
-
|
424 |
Â
$capability,
|
425 |
Â
"stcr_system",
|
426 |
Â
array( $this, "stcr_option_system" ) );
|
@@ -440,13 +440,12 @@ if( ! class_exists('\\'.__NAMESPACE__.'\\stcr_manage') )
|
|
440 |
Â
//must check that the user has the required capability
|
441 |
Â
if (!current_user_can('manage_options'))
|
442 |
Â
{
|
443 |
-
wp_die(
|
444 |
Â
}
|
445 |
Â
|
446 |
Â
$this->add_options_stylesheet();
|
447 |
Â
global $wp_subscribe_reloaded;
|
448 |
Â
|
449 |
-
// echo 'New Page Settings';
|
450 |
Â
if ( is_readable( trailingslashit( dirname( STCR_PLUGIN_FILE ) ) . 'options/index.php' ) )
|
451 |
Â
{
|
452 |
Â
// What panel to display
|
@@ -468,12 +467,11 @@ if( ! class_exists('\\'.__NAMESPACE__.'\\stcr_manage') )
|
|
468 |
Â
//must check that the user has the required capability
|
469 |
Â
if (!current_user_can('manage_options'))
|
470 |
Â
{
|
471 |
-
wp_die(
|
472 |
Â
}
|
473 |
Â
|
474 |
Â
$this->add_options_stylesheet();
|
475 |
Â
|
476 |
-
// echo 'New Page Settings';
|
477 |
Â
if ( is_readable( trailingslashit( dirname( STCR_PLUGIN_FILE ) ) . 'options/index.php' ) )
|
478 |
Â
{
|
479 |
Â
// What panel to display
|
@@ -495,12 +493,11 @@ if( ! class_exists('\\'.__NAMESPACE__.'\\stcr_manage') )
|
|
495 |
Â
//must check that the user has the required capability
|
496 |
Â
if (!current_user_can('manage_options'))
|
497 |
Â
{
|
498 |
-
wp_die(
|
499 |
Â
}
|
500 |
Â
|
501 |
Â
$this->add_options_stylesheet();
|
502 |
Â
|
503 |
-
// echo 'New Page Settings';
|
504 |
Â
if ( is_readable( trailingslashit( dirname( STCR_PLUGIN_FILE ) ) . 'options/index.php' ) )
|
505 |
Â
{
|
506 |
Â
// What panel to display
|
@@ -522,12 +519,11 @@ if( ! class_exists('\\'.__NAMESPACE__.'\\stcr_manage') )
|
|
522 |
Â
//must check that the user has the required capability
|
523 |
Â
if (!current_user_can('manage_options'))
|
524 |
Â
{
|
525 |
-
wp_die(
|
526 |
Â
}
|
527 |
Â
|
528 |
Â
$this->add_options_stylesheet();
|
529 |
Â
|
530 |
-
// echo 'New Page Settings';
|
531 |
Â
if ( is_readable( trailingslashit( dirname( STCR_PLUGIN_FILE ) ) . 'options/index.php' ) )
|
532 |
Â
{
|
533 |
Â
// What panel to display
|
@@ -549,12 +545,11 @@ if( ! class_exists('\\'.__NAMESPACE__.'\\stcr_manage') )
|
|
549 |
Â
//must check that the user has the required capability
|
550 |
Â
if (!current_user_can('manage_options'))
|
551 |
Â
{
|
552 |
-
wp_die(
|
553 |
Â
}
|
554 |
Â
|
555 |
Â
$this->add_options_stylesheet();
|
556 |
Â
|
557 |
-
// echo 'New Page Settings';
|
558 |
Â
if ( is_readable( trailingslashit( dirname( STCR_PLUGIN_FILE ) ) . 'options/index.php' ) )
|
559 |
Â
{
|
560 |
Â
// What panel to display
|
@@ -576,12 +571,11 @@ if( ! class_exists('\\'.__NAMESPACE__.'\\stcr_manage') )
|
|
576 |
Â
//must check that the user has the required capability
|
577 |
Â
if (!current_user_can('manage_options'))
|
578 |
Â
{
|
579 |
-
wp_die(
|
580 |
Â
}
|
581 |
Â
|
582 |
Â
$this->add_options_stylesheet();
|
583 |
Â
|
584 |
-
// echo 'New Page Settings';
|
585 |
Â
if ( is_readable( trailingslashit( dirname( STCR_PLUGIN_FILE ) ) . 'options/index.php' ) )
|
586 |
Â
{
|
587 |
Â
// What panel to display
|
@@ -605,12 +599,11 @@ if( ! class_exists('\\'.__NAMESPACE__.'\\stcr_manage') )
|
|
605 |
Â
//must check that the user has the required capability
|
606 |
Â
if (!current_user_can('manage_options'))
|
607 |
Â
{
|
608 |
-
wp_die(
|
609 |
Â
}
|
610 |
Â
|
611 |
Â
$this->add_options_stylesheet();
|
612 |
Â
|
613 |
-
// echo 'New Page Settings';
|
614 |
Â
if ( is_readable( trailingslashit( dirname( STCR_PLUGIN_FILE ) ) . 'options/index.php' ) )
|
615 |
Â
{
|
616 |
Â
// What panel to display
|
@@ -642,7 +635,7 @@ if( ! class_exists('\\'.__NAMESPACE__.'\\stcr_manage') )
|
|
642 |
Â
if ( empty( $_POST['stcr_download_sysinfo_nonce'] ) ) {
|
643 |
Â
return;
|
644 |
Â
}
|
645 |
-
|
646 |
Â
if ( ! wp_verify_nonce( $_POST['stcr_download_sysinfo_nonce'], 'stcr_download_sysinfo_nonce' ) ) {
|
647 |
Â
return;
|
648 |
Â
}
|
@@ -683,7 +676,7 @@ if( ! class_exists('\\'.__NAMESPACE__.'\\stcr_manage') )
|
|
683 |
Â
*/
|
684 |
Â
public function add_custom_header_meta() {
|
685 |
Â
$a = html_entity_decode( stripslashes( get_option( 'subscribe_reloaded_custom_header_meta', '' ) ), ENT_QUOTES, 'UTF-8' );
|
686 |
-
echo $a;
|
687 |
Â
}
|
688 |
Â
// end add_custom_header_meta
|
689 |
Â
|
@@ -692,7 +685,7 @@ if( ! class_exists('\\'.__NAMESPACE__.'\\stcr_manage') )
|
|
692 |
Â
*/
|
693 |
Â
public function add_column_header( $_columns ) {
|
694 |
Â
$image_url = plugins_url( '/images', STCR_PLUGIN_FILE );
|
695 |
-
$image_tooltip =
|
696 |
Â
$_columns['subscribe-reloaded'] = "<span class='hidden'>" . $image_tooltip . "</span><img src='$image_url/subscribe-to-comments-small.png' width='17' height='12' alt='" . $image_tooltip . "' title='" . $image_tooltip . "' />";
|
697 |
Â
|
698 |
Â
return $_columns;
|
@@ -721,9 +714,9 @@ if( ! class_exists('\\'.__NAMESPACE__.'\\stcr_manage') )
|
|
721 |
Â
), 'dt', 'DESC', 0, 1
|
722 |
Â
);
|
723 |
Â
if ( count( $subscription ) == 0 ) {
|
724 |
-
echo '<a href="admin.php?page=stcr_manage_subscriptions&subscribepanel=1&sra=add-subscription&srp=' . $comment->comment_post_ID . '&sre=' . urlencode( $comment->comment_author_email ) . '">' .
|
725 |
Â
} else {
|
726 |
-
echo '<a href="admin.php?page=stcr_manage_subscriptions&subscribepanel=1&srf=email&srt=equals&srv=' . urlencode( $comment->comment_author_email ) . '">' . $subscription[0]->status . '</a>';
|
727 |
Â
}
|
728 |
Â
}
|
729 |
Â
// end add_column
|
@@ -737,7 +730,7 @@ if( ! class_exists('\\'.__NAMESPACE__.'\\stcr_manage') )
|
|
737 |
Â
}
|
738 |
Â
|
739 |
Â
global $post;
|
740 |
-
echo '<a href="admin.php?page=stcr_manage_subscriptions&subscribepanel=1&srf=post_id&srt=equals&srv=' . $post->ID . '">' . count( $this->get_subscriptions( 'post_id', 'equals', $post->ID ) ) . '</a>';
|
741 |
Â
}
|
742 |
Â
// end add_column
|
743 |
Â
|
79 |
Â
$nonce = wp_create_nonce( $name );
|
80 |
Â
// Set the a fresh nonce
|
81 |
Â
$this->utils->stcr_update_admin_notice_status( $name, 'unread', $nonce );
|
82 |
+
echo "<div class='notice is-dismissible stcr-dismiss-notice " . esc_attr( $noticeData['type'] ) . "' data-nonce='" . esc_attr( $nonce ) . "|" . esc_attr( $name ) . "'>";
|
83 |
+
echo wp_kses( $noticeData['message'], wp_kses_allowed_html( 'post' ) );
|
84 |
Â
echo "</div>";
|
85 |
Â
}
|
86 |
Â
}
|
366 |
Â
add_menu_page( $page_title, $menu_title, $moderate_capability, $parent_slug, $function, $icon_url, $position );
|
367 |
Â
|
368 |
Â
add_submenu_page( $parent_slug ,
|
369 |
+
esc_html__( 'Manage subscriptions', 'subscribe-to-comments-reloaded' ),
|
370 |
+
esc_html__( 'Manage subscriptions', 'subscribe-to-comments-reloaded' ),
|
371 |
Â
$moderate_capability,
|
372 |
Â
"stcr_manage_subscriptions",
|
373 |
Â
array( $this, "stcr_option_manage_subscriptions") );
|
374 |
Â
add_submenu_page( $parent_slug ,
|
375 |
+
esc_html__( 'Comment Form', 'subscribe-to-comments-reloaded' ),
|
376 |
+
esc_html__( 'Comment Form', 'subscribe-to-comments-reloaded' ),
|
377 |
Â
$capability,
|
378 |
Â
"stcr_comment_form",
|
379 |
Â
array( $this, "stcr_option_comment_form" ) );
|
380 |
Â
add_submenu_page( $parent_slug ,
|
381 |
+
esc_html__( 'Management Page', 'subscribe-to-comments-reloaded' ),
|
382 |
+
esc_html__( 'Management Page', 'subscribe-to-comments-reloaded' ),
|
383 |
Â
$capability,
|
384 |
Â
"stcr_management_page",
|
385 |
Â
array( $this, "stcr_option_management_page" ) );
|
386 |
Â
add_submenu_page( $parent_slug ,
|
387 |
+
esc_html__( 'Notifications', 'subscribe-to-comments-reloaded' ),
|
388 |
+
esc_html__( 'Notifications', 'subscribe-to-comments-reloaded' ),
|
389 |
Â
$capability,
|
390 |
Â
"stcr_notifications",
|
391 |
Â
array( $this, "stcr_option_notifications" ) );
|
392 |
Â
add_submenu_page( $parent_slug ,
|
393 |
+
esc_html__( 'Options', 'subscribe-to-comments-reloaded' ),
|
394 |
+
esc_html__( 'Options', 'subscribe-to-comments-reloaded' ),
|
395 |
Â
$capability,
|
396 |
Â
"stcr_options",
|
397 |
Â
array( $this, "stcr_option_options" ) );
|
400 |
Â
// since this requires much effort this is pointe to go to the pro version. NO ETA avaiable.
|
401 |
Â
//
|
402 |
Â
// add_submenu_page( $parent_slug ,
|
403 |
+
// esc_html__( 'Subscribers Emails', 'subscribe-to-comments-reloaded' ),
|
404 |
+
// esc_html__( 'Subscribers Emails', 'subscribe-to-comments-reloaded' ),
|
405 |
Â
// $capability,
|
406 |
Â
// "stcr_subscribers_emails",
|
407 |
Â
// array( $this, "stcr_option_subscribers_emails" ) );
|
408 |
Â
|
409 |
Â
add_submenu_page( $parent_slug ,
|
410 |
+
esc_html__( 'Support', 'subscribe-to-comments-reloaded' ),
|
411 |
+
esc_html__( 'Support', 'subscribe-to-comments-reloaded' ),
|
412 |
Â
$capability,
|
413 |
Â
"stcr_support",
|
414 |
Â
array( $this, "stcr_option_support" ) );
|
415 |
Â
// add_submenu_page( $parent_slug ,
|
416 |
+
// esc_html__( 'Donate', 'subscribe-to-comments-reloaded' ),
|
417 |
+
// esc_html__( 'Donate', 'subscribe-to-comments-reloaded' ),
|
418 |
Â
// $capability,
|
419 |
Â
// "stcr_donate",
|
420 |
Â
// array( $this, "stcr_option_donate" ) );
|
421 |
Â
add_submenu_page( $parent_slug ,
|
422 |
+
esc_html__( 'StCR System', 'subscribe-to-comments-reloaded' ),
|
423 |
+
esc_html__( 'StCR System', 'subscribe-to-comments-reloaded' ),
|
424 |
Â
$capability,
|
425 |
Â
"stcr_system",
|
426 |
Â
array( $this, "stcr_option_system" ) );
|
440 |
Â
//must check that the user has the required capability
|
441 |
Â
if (!current_user_can('manage_options'))
|
442 |
Â
{
|
443 |
+
wp_die( esc_html__('You do not have sufficient permissions to access this page.', 'subscribe-to-comments-reloaded') );
|
444 |
Â
}
|
445 |
Â
|
446 |
Â
$this->add_options_stylesheet();
|
447 |
Â
global $wp_subscribe_reloaded;
|
448 |
Â
|
Â
|
|
449 |
Â
if ( is_readable( trailingslashit( dirname( STCR_PLUGIN_FILE ) ) . 'options/index.php' ) )
|
450 |
Â
{
|
451 |
Â
// What panel to display
|
467 |
Â
//must check that the user has the required capability
|
468 |
Â
if (!current_user_can('manage_options'))
|
469 |
Â
{
|
470 |
+
wp_die( esc_html__('You do not have sufficient permissions to access this page.', 'subscribe-to-comments-reloaded') );
|
471 |
Â
}
|
472 |
Â
|
473 |
Â
$this->add_options_stylesheet();
|
474 |
Â
|
Â
|
|
475 |
Â
if ( is_readable( trailingslashit( dirname( STCR_PLUGIN_FILE ) ) . 'options/index.php' ) )
|
476 |
Â
{
|
477 |
Â
// What panel to display
|
493 |
Â
//must check that the user has the required capability
|
494 |
Â
if (!current_user_can('manage_options'))
|
495 |
Â
{
|
496 |
+
wp_die( esc_html__('You do not have sufficient permissions to access this page.', 'subscribe-to-comments-reloaded') );
|
497 |
Â
}
|
498 |
Â
|
499 |
Â
$this->add_options_stylesheet();
|
500 |
Â
|
Â
|
|
501 |
Â
if ( is_readable( trailingslashit( dirname( STCR_PLUGIN_FILE ) ) . 'options/index.php' ) )
|
502 |
Â
{
|
503 |
Â
// What panel to display
|
519 |
Â
//must check that the user has the required capability
|
520 |
Â
if (!current_user_can('manage_options'))
|
521 |
Â
{
|
522 |
+
wp_die( esc_html__('You do not have sufficient permissions to access this page.', 'subscribe-to-comments-reloaded') );
|
523 |
Â
}
|
524 |
Â
|
525 |
Â
$this->add_options_stylesheet();
|
526 |
Â
|
Â
|
|
527 |
Â
if ( is_readable( trailingslashit( dirname( STCR_PLUGIN_FILE ) ) . 'options/index.php' ) )
|
528 |
Â
{
|
529 |
Â
// What panel to display
|
545 |
Â
//must check that the user has the required capability
|
546 |
Â
if (!current_user_can('manage_options'))
|
547 |
Â
{
|
548 |
+
wp_die( esc_html__('You do not have sufficient permissions to access this page.', 'subscribe-to-comments-reloaded') );
|
549 |
Â
}
|
550 |
Â
|
551 |
Â
$this->add_options_stylesheet();
|
552 |
Â
|
Â
|
|
553 |
Â
if ( is_readable( trailingslashit( dirname( STCR_PLUGIN_FILE ) ) . 'options/index.php' ) )
|
554 |
Â
{
|
555 |
Â
// What panel to display
|
571 |
Â
//must check that the user has the required capability
|
572 |
Â
if (!current_user_can('manage_options'))
|
573 |
Â
{
|
574 |
+
wp_die( esc_html__('You do not have sufficient permissions to access this page.', 'subscribe-to-comments-reloaded') );
|
575 |
Â
}
|
576 |
Â
|
577 |
Â
$this->add_options_stylesheet();
|
578 |
Â
|
Â
|
|
579 |
Â
if ( is_readable( trailingslashit( dirname( STCR_PLUGIN_FILE ) ) . 'options/index.php' ) )
|
580 |
Â
{
|
581 |
Â
// What panel to display
|
599 |
Â
//must check that the user has the required capability
|
600 |
Â
if (!current_user_can('manage_options'))
|
601 |
Â
{
|
602 |
+
wp_die( esc_html__('You do not have sufficient permissions to access this page.', 'subscribe-to-comments-reloaded') );
|
603 |
Â
}
|
604 |
Â
|
605 |
Â
$this->add_options_stylesheet();
|
606 |
Â
|
Â
|
|
607 |
Â
if ( is_readable( trailingslashit( dirname( STCR_PLUGIN_FILE ) ) . 'options/index.php' ) )
|
608 |
Â
{
|
609 |
Â
// What panel to display
|
635 |
Â
if ( empty( $_POST['stcr_download_sysinfo_nonce'] ) ) {
|
636 |
Â
return;
|
637 |
Â
}
|
638 |
+
|
639 |
Â
if ( ! wp_verify_nonce( $_POST['stcr_download_sysinfo_nonce'], 'stcr_download_sysinfo_nonce' ) ) {
|
640 |
Â
return;
|
641 |
Â
}
|
676 |
Â
*/
|
677 |
Â
public function add_custom_header_meta() {
|
678 |
Â
$a = html_entity_decode( stripslashes( get_option( 'subscribe_reloaded_custom_header_meta', '' ) ), ENT_QUOTES, 'UTF-8' );
|
679 |
+
echo wp_kses( $a, wp_kses_allowed_html( 'post' ) );
|
680 |
Â
}
|
681 |
Â
// end add_custom_header_meta
|
682 |
Â
|
685 |
Â
*/
|
686 |
Â
public function add_column_header( $_columns ) {
|
687 |
Â
$image_url = plugins_url( '/images', STCR_PLUGIN_FILE );
|
688 |
+
$image_tooltip = esc_html__( 'Subscriptions', 'subscribe-to-comments-reloaded' );
|
689 |
Â
$_columns['subscribe-reloaded'] = "<span class='hidden'>" . $image_tooltip . "</span><img src='$image_url/subscribe-to-comments-small.png' width='17' height='12' alt='" . $image_tooltip . "' title='" . $image_tooltip . "' />";
|
690 |
Â
|
691 |
Â
return $_columns;
|
714 |
Â
), 'dt', 'DESC', 0, 1
|
715 |
Â
);
|
716 |
Â
if ( count( $subscription ) == 0 ) {
|
717 |
+
echo '<a href="admin.php?page=stcr_manage_subscriptions&subscribepanel=1&sra=add-subscription&srp=' . esc_attr( $comment->comment_post_ID ) . '&sre=' . urlencode( $comment->comment_author_email ) . '">' . esc_html__( 'No', 'subscribe-to-comments-reloaded' ) . '</a>';
|
718 |
Â
} else {
|
719 |
+
echo '<a href="admin.php?page=stcr_manage_subscriptions&subscribepanel=1&srf=email&srt=equals&srv=' . urlencode( $comment->comment_author_email ) . '">' . esc_html( $subscription[0]->status ) . '</a>';
|
720 |
Â
}
|
721 |
Â
}
|
722 |
Â
// end add_column
|
730 |
Â
}
|
731 |
Â
|
732 |
Â
global $post;
|
733 |
+
echo '<a href="admin.php?page=stcr_manage_subscriptions&subscribepanel=1&srf=post_id&srt=equals&srv=' . esc_attr( $post->ID ) . '">' . count( $this->get_subscriptions( 'post_id', 'equals', $post->ID ) ) . '</a>';
|
734 |
Â
}
|
735 |
Â
// end add_column
|
736 |
Â
|
utils/stcr_upgrade.php
CHANGED
@@ -69,7 +69,7 @@ if( ! class_exists('\\'.__NAMESPACE__.'\\stcr_upgrade') ) {
|
|
69 |
Â
$OK = $this->add_user_subscriber_table( $email->email );
|
70 |
Â
if ( ! $OK) {
|
71 |
Â
$notices = get_option( 'subscribe_reloaded_deferred_admin_notices', array() );
|
72 |
-
$notices[] = '<div class="error"><h3>' .
|
73 |
Â
'<p>The creation of of the table <strong>' . $wpdb->prefix . 'subscribe_reloaded_subscribers</strong> failed</p></div>';
|
74 |
Â
update_option( 'subscribe_reloaded_deferred_admin_notices', $notices );
|
75 |
Â
break 1;
|
@@ -117,8 +117,8 @@ if( ! class_exists('\\'.__NAMESPACE__.'\\stcr_upgrade') ) {
|
|
117 |
Â
$this->stcr_create_admin_notice(
|
118 |
Â
'notify_update_sanitize_db_options',
|
119 |
Â
'unread',
|
120 |
-
'<p>' . __( '<strong>Subscribe to Comments Reloaded:</strong> The information in your database has been sanitized to prevent the raw html messages. <a class="dismiss" href="#">Dismiss. </a>'
|
121 |
-
. '<img class="stcr-loading-animation" src="'. esc_url( admin_url() . '/images/loading.gif'). '" alt="Working...">' , 'subscribe-to-comments-reloaded' )
|
122 |
Â
. '</p>',
|
123 |
Â
'updated'
|
124 |
Â
);
|
@@ -172,11 +172,11 @@ if( ! class_exists('\\'.__NAMESPACE__.'\\stcr_upgrade') ) {
|
|
172 |
Â
$this->stcr_create_admin_notice(
|
173 |
Â
'notify_import_stc_data',
|
174 |
Â
'unread',
|
175 |
-
'<p>' . __( '<strong>Subscribe to Comments Reloaded:</strong> Comment subscription data from the <strong>Subscribe to Comments</strong> plugin was detected and automatically imported into <strong>Subscribe to Comments Reloaded</strong>.', 'subscribe-to-comments-reloaded' ) . ( is_plugin_active( 'subscribe-to-comments/subscribe-to-comments.php' ) ? __( ' It is recommended that you now <strong>deactivate</strong> Subscribe to Comments to prevent confusion between the two plugins.', 'subscribe-to-comments-reloaded' ) : '' ) . '</p>' .
|
176 |
-
'<p>' .
|
177 |
-
'<p>' . __( 'Please visit <a href="options-general.php?page=subscribe-to-comments-reloaded/options/index.php">Settings -> Subscribe to Comments</a> to review your configuration.'
|
178 |
Â
. '<a class="dismiss" href="#">Dismiss. </a>'
|
179 |
-
. '<img class="stcr-loading-animation" src="'. esc_url( admin_url() . '/images/loading.gif'). '" alt="Working...">', 'subscribe-to-comments-reloaded' ) . '</p>',
|
180 |
Â
'updated'
|
181 |
Â
);
|
182 |
Â
}
|
@@ -238,11 +238,11 @@ if( ! class_exists('\\'.__NAMESPACE__.'\\stcr_upgrade') ) {
|
|
238 |
Â
$this->stcr_create_admin_notice(
|
239 |
Â
'notify_import_stc_mj_data',
|
240 |
Â
'unread',
|
241 |
-
'<p>' . __( '<strong>Subscribe to Comments Reloaded:</strong> Comment subscription data from the <strong>Subscribe to Comments</strong> plugin by Mark Jaquith was detected and automatically imported into <strong>Subscribe to Comments Reloaded</strong>.', 'subscribe-to-comments-reloaded' ) . ( is_plugin_active( 'subscribe-to-comments/subscribe-to-comments.php' ) ? __( ' It is recommended that you now <strong>deactivate</strong> Subscribe to Comments to prevent confusion between the two plugins.', 'subscribe-to-comments-reloaded' ) : '' ) . '</p>' .
|
242 |
-
'<p>' .
|
243 |
-
'<p>' . __( 'Please visit <a href="options-general.php?page=subscribe-to-comments-reloaded/options/index.php">Settings -> Subscribe to Comments</a> to review your configuration.'
|
244 |
Â
. '<a class="dismiss" href="#">Dismiss. </a>'
|
245 |
-
. '<img class="stcr-loading-animation" src="'. esc_url( admin_url() . '/images/loading.gif'). '" alt="Working...">', 'subscribe-to-comments-reloaded' ) . '</p>',
|
246 |
Â
'updated'
|
247 |
Â
);
|
248 |
Â
|
@@ -313,10 +313,10 @@ if( ! class_exists('\\'.__NAMESPACE__.'\\stcr_upgrade') ) {
|
|
313 |
Â
$this->stcr_create_admin_notice(
|
314 |
Â
'notify_import_comment_reply',
|
315 |
Â
'unread',
|
316 |
-
'<p>' . __( '<strong>Subscribe to Comments Reloaded:</strong> Comment subscription data from the <strong>Comment Reply Notification</strong> plugin was detected and automatically imported into <strong>Subscribe to Comments Reloaded</strong>.', 'subscribe-to-comments-reloaded' ) . ( is_plugin_active( 'comment-reply-notification/comment-reply-notification.php' ) ? __( ' It is recommended that you now <strong>deactivate</strong> Comment Reply Notification to prevent confusion between the two plugins.', 'subscribe-to-comments-reloaded' ) : '' ) . '</p>' .
|
317 |
-
'<p>' . __( 'Please visit <a href="options-general.php?page=subscribe-to-comments-reloaded/options/index.php">Settings -> Subscribe to Comments</a> to review your configuration.'
|
318 |
Â
. '<a class="dismiss" href="#">Dismiss. </a>'
|
319 |
-
. '<img class="stcr-loading-animation" src="'. esc_url( admin_url() . '/images/loading.gif'). '" alt="Working...">', 'subscribe-to-comments-reloaded' ) . '</p>',
|
320 |
Â
'updated'
|
321 |
Â
);
|
322 |
Â
}
|
@@ -463,12 +463,12 @@ if( ! class_exists('\\'.__NAMESPACE__.'\\stcr_upgrade') ) {
|
|
463 |
Â
$this->stcr_create_admin_notice(
|
464 |
Â
'notify_import_wpcs_data',
|
465 |
Â
'unread',
|
466 |
-
'<p>' . __( '<strong>Subscribe to Comments Reloaded:</strong> Plugin options and comment subscription data from the <strong>WP Comment Subscriptions</strong> plugin were detected and automatically imported into <strong>Subscribe to Comments Reloaded</strong>.', 'subscribe-to-comments-reloaded' ) . ( is_plugin_active( 'wp-comment-subscriptions/wp-comment-subscriptions.php' ) ? __( ' It is recommended that you now <strong>deactivate</strong> WP Comment Subscriptions to prevent confusion between the two plugins.', 'subscribe-to-comments-reloaded' ) : '' ) . '</p>' .
|
467 |
-
'<p>' .
|
468 |
-
'<p>' . __( '<strong>Note:</strong> If you were previously using the <code>wp_comment_subscriptions_show()</code> function or the <code>[wpcs-subscribe-url]</code> shortcode, you\'ll need to replace those with <code>subscribe_reloaded_show()</code> and <code>[subscribe-url]</code> respectively.', 'subscribe-to-comments-reloaded' ) . '</p>' .
|
469 |
-
'<p>' . __( 'Please visit <a href="options-general.php?page=subscribe-to-comments-reloaded/options/index.php">Settings -> Subscribe to Comments</a> to review your configuration.'
|
470 |
Â
. '<a class="dismiss" href="#">Dismiss. </a>'
|
471 |
-
. '<img class="stcr-loading-animation" src="'. esc_url( admin_url() . '/images/loading.gif'). '" alt="Working...">', 'subscribe-to-comments-reloaded' ) . '</p>',
|
472 |
Â
'updated'
|
473 |
Â
);
|
474 |
Â
}
|
@@ -476,8 +476,8 @@ if( ! class_exists('\\'.__NAMESPACE__.'\\stcr_upgrade') ) {
|
|
476 |
Â
// end _import_wpcs_data
|
477 |
Â
public function upgrade_notification( $_version, $_db_version, $_fresh_install ) {
|
478 |
Â
|
479 |
-
$options_link = sprintf( '<a href="%s"> %s </a>', admin_url( 'admin.php?page=stcr_options' ),
|
480 |
-
$system_link = sprintf( '<a href="%s"> %s </a>', admin_url( 'admin.php?page=stcr_system' ),
|
481 |
Â
|
482 |
Â
if( ! $_fresh_install ) {
|
483 |
Â
|
@@ -486,11 +486,11 @@ if( ! class_exists('\\'.__NAMESPACE__.'\\stcr_upgrade') ) {
|
|
486 |
Â
$this->stcr_create_admin_notice(
|
487 |
Â
'notify_update_' . $_version,
|
488 |
Â
'unread',
|
489 |
-
'<p>' . __('<strong>Subscribe to Comments Reloaded</strong> has been updated to version 160106.', 'subscribe-to-comments-reloaded') . '</p>' .
|
490 |
-
'<p>' .
|
491 |
-
'<p>' . __('Please visit the <a href="https://wordpress.org/plugins/subscribe-to-comments-reloaded/changelog/" target="_blank">Changelog</a> for a complete list of changes.'
|
492 |
Â
. '<a class="dismiss" href="#">Dismiss. </a>'
|
493 |
-
. '<img class="stcr-loading-animation" src="' . esc_url(admin_url() . '/images/loading.gif') . '" alt="Working...">', 'subscribe-to-comments-reloaded') . '</p>',
|
494 |
Â
'updated'
|
495 |
Â
);
|
496 |
Â
// Update the HTML emails option
|
@@ -501,11 +501,11 @@ if( ! class_exists('\\'.__NAMESPACE__.'\\stcr_upgrade') ) {
|
|
501 |
Â
$this->stcr_create_admin_notice(
|
502 |
Â
'notify_update_' . $_version,
|
503 |
Â
'unread',
|
504 |
-
'<p>' . __('<strong>Subscribe to Comments Reloaded</strong> has been updated to version 160115.', 'subscribe-to-comments-reloaded') . '</p>' .
|
505 |
-
'<p>' .
|
506 |
-
'<p>' . __('Please visit the <a href="https://wordpress.org/plugins/subscribe-to-comments-reloaded/changelog/" target="_blank">Changelog</a> for a complete list of changes.'
|
507 |
Â
. '<a class="dismiss" href="#">Dismiss. </a>'
|
508 |
-
. '<img class="stcr-loading-animation" src="' . esc_url(admin_url() . '/images/loading.gif') . '" alt="Working...">', 'subscribe-to-comments-reloaded') . '</p>',
|
509 |
Â
'updated'
|
510 |
Â
);
|
511 |
Â
// Update the HTML emails option
|
@@ -516,18 +516,18 @@ if( ! class_exists('\\'.__NAMESPACE__.'\\stcr_upgrade') ) {
|
|
516 |
Â
$this->stcr_create_admin_notice(
|
517 |
Â
'notify_update_' . $_version,
|
518 |
Â
'unread',
|
519 |
-
'<p>' . __('<strong>Subscribe to Comments Reloaded</strong> has been updated to version 160831', 'subscribe-to-comments-reloaded') . '</p>' .
|
520 |
-
'<p>' .
|
521 |
Â
'<ul>' .
|
522 |
-
'<li>' . __("<strong>New Feature</strong> Add new option to set the Reply To email address. This will help the subscribers to use the Reply option in their email agents.", 'subscribe-to-comments-reloaded') . '</li>'.
|
523 |
-
'<li>' . __("<strong>New Feature</strong> Improve the Admin Menu for StCR. Replace the StCR menu on the Settings Menu for a new Menu with sub menus for the pages.", 'subscribe-to-comments-reloaded') . '</li>'.
|
524 |
-
'<li>' . __("<strong>New Feature</strong> Safely Uninstall option to Delete the plugin without loosing your subscriptions. You can use this option also for reset all the settings, see the FAQ.", 'subscribe-to-comments-reloaded') . '</li>'.
|
525 |
-
'<li>' . __("<strong>New Feature</strong> Now the WordPress Authors can use the <strong>Subscribe authors</strong> option to autor subscribe to a Custom Post Type.", 'subscribe-to-comments-reloaded') . '</li>'.
|
526 |
-
'<li>' . __("<strong>New Feature</strong> A new field was added under the notification options to and the management link only by email and not to display it on the request link page.", 'subscribe-to-comments-reloaded') . '</li>'.
|
527 |
Â
'</ul>' .
|
528 |
-
'<p>' . __('Please visit the <a href="https://wordpress.org/plugins/subscribe-to-comments-reloaded/changelog/" target="_blank">Changelog</a> for a complete list of changes.'
|
529 |
Â
. '<a class="dismiss" href="#">Dismiss. </a>'
|
530 |
-
. '<img class="stcr-loading-animation" src="' . esc_url(admin_url() . '/images/loading.gif') . '" alt="Working...">', 'subscribe-to-comments-reloaded') . '</p>',
|
531 |
Â
'updated'
|
532 |
Â
);
|
533 |
Â
// Update the HTML emails option
|
@@ -538,19 +538,19 @@ if( ! class_exists('\\'.__NAMESPACE__.'\\stcr_upgrade') ) {
|
|
538 |
Â
$this->stcr_create_admin_notice(
|
539 |
Â
'notify_update_' . $_version,
|
540 |
Â
'unread',
|
541 |
-
'<p>' . __('<strong>Subscribe to Comments Reloaded</strong> has been updated to version 160902', 'subscribe-to-comments-reloaded') . '</p>' .
|
542 |
-
'<p>' .
|
543 |
Â
'<ul>' .
|
544 |
-
'<li>' . __("<strong>Fix update</strong> this version Fixes some issue trigger by the previous 160831 version.", 'subscribe-to-comments-reloaded') . '</li>'.
|
545 |
-
'<li>' . __("<strong>New Feature</strong> Add new option to set the Reply To email address. This will help the subscribers to use the Reply option in their email agents.", 'subscribe-to-comments-reloaded') . '</li>'.
|
546 |
-
'<li>' . __("<strong>New Feature</strong> Improve the Admin Menu for StCR. Replace the StCR menu on the Settings Menu for a new Menu with sub menus for the pages.", 'subscribe-to-comments-reloaded') . '</li>'.
|
547 |
-
'<li>' . __("<strong>New Feature</strong> Safely Uninstall option to Delete the plugin without loosing your subscriptions. You can use this option also for reset all the settings, see the FAQ.", 'subscribe-to-comments-reloaded') . '</li>'.
|
548 |
-
'<li>' . __("<strong>New Feature</strong> Now the WordPress Authors can use the <strong>Subscribe authors</strong> option to autor subscribe to a Custom Post Type.", 'subscribe-to-comments-reloaded') . '</li>'.
|
549 |
-
'<li>' . __("<strong>New Feature</strong> A new field was added under the notification options to and the management link only by email and not to display it on the request link page.", 'subscribe-to-comments-reloaded') . '</li>'.
|
550 |
Â
'</ul>' .
|
551 |
-
'<p>' . __('Please visit the <a href="https://wordpress.org/plugins/subscribe-to-comments-reloaded/changelog/" target="_blank">Changelog</a> for a complete list of changes.'
|
552 |
Â
. '<a class="dismiss" href="#">Dismiss. </a>'
|
553 |
-
. '<img class="stcr-loading-animation" src="' . esc_url(admin_url() . '/images/loading.gif') . '" alt="Working...">', 'subscribe-to-comments-reloaded') . '</p>',
|
554 |
Â
'updated'
|
555 |
Â
);
|
556 |
Â
// Update the HTML emails option
|
@@ -558,20 +558,20 @@ if( ! class_exists('\\'.__NAMESPACE__.'\\stcr_upgrade') ) {
|
|
558 |
Â
update_option( 'subscribe_reloaded_enable_html_emails', 'yes' );
|
559 |
Â
break;
|
560 |
Â
case '160915':
|
561 |
-
$options_link = sprintf( '<a href="%s"> %s </a>', admin_url( 'admin.php?page=stcr_options' ),
|
562 |
Â
$this->stcr_create_admin_notice(
|
563 |
Â
'notify_update_' . $_version,
|
564 |
Â
'unread',
|
565 |
-
'<p>' . __('<strong>Subscribe to Comments Reloaded</strong> has been updated to version 160915', 'subscribe-to-comments-reloaded') . '</p>' .
|
566 |
-
'<p>' .
|
567 |
Â
'<ul>' .
|
568 |
-
'<li>' . __("<strong>Fix</strong> StCR checkbox position issues with some WordPress themes, Go to the {$options_link} to activate it.", 'subscribe-to-comments-reloaded') . '</li>'.
|
569 |
-
'<li>' . __("<strong>Change</strong> the radio buttons in the management page for a dropdown.", 'subscribe-to-comments-reloaded') . '</li>'.
|
570 |
-
'<li>' . __("<strong>Improve</strong> Email validation for empty values and using a regex.", 'subscribe-to-comments-reloaded') . '</li>'.
|
571 |
Â
'</ul>' .
|
572 |
-
'<p>' . __('Please visit the <a href="https://wordpress.org/plugins/subscribe-to-comments-reloaded/changelog/" target="_blank">Changelog</a> for a complete list of changes.'
|
573 |
Â
. '<a class="dismiss" href="#">Dismiss. </a>'
|
574 |
-
. '<img class="stcr-loading-animation" src="' . esc_url(admin_url() . '/images/loading.gif') . '" alt="Working...">', 'subscribe-to-comments-reloaded') . '</p>',
|
575 |
Â
'updated'
|
576 |
Â
);
|
577 |
Â
// Update the HTML emails option
|
@@ -582,19 +582,19 @@ if( ! class_exists('\\'.__NAMESPACE__.'\\stcr_upgrade') ) {
|
|
582 |
Â
$this->stcr_create_admin_notice(
|
583 |
Â
'notify_update_' . $_version,
|
584 |
Â
'unread',
|
585 |
-
'<p>' . __('<strong>Subscribe to Comments Reloaded</strong> has been updated to version ' . $_version, 'subscribe-to-comments-reloaded') . '</p>' .
|
586 |
-
'<p>' .
|
587 |
Â
|
588 |
Â
'<ul>' .
|
589 |
-
'<li>' . __("<strong>Fix</strong> Wrong confirmation link when the double check option is enable.", 'subscribe-to-comments-reloaded') . '</li>'.
|
590 |
-
'<li>' . __("<strong>Improve</strong> Manage subscription page. Take a look ;).", 'subscribe-to-comments-reloaded') . '</li>'.
|
591 |
-
'<li>' . __("<strong>Improve</strong> Log file manipulation. Now you can control how the log behaves, take a look at the {$system_link}.", 'subscribe-to-comments-reloaded') . '</li>'.
|
592 |
Â
'</ul>' .
|
593 |
Â
|
594 |
-
'<p>' . __('If you find a bug or an issue you can report it <a href="https://github.com/stcr/subscribe-to-comments-reloaded/issues" target="_blank">here</a>.', 'subscribe-to-comments-reloaded') . '</p>' .
|
595 |
-
'<p>' . __('Please visit the <a href="https://wordpress.org/plugins/subscribe-to-comments-reloaded/changelog/" target="_blank">Changelog</a> for a complete list of changes.'
|
596 |
Â
. '<a class="dismiss" href="#">Dismiss. </a>'
|
597 |
-
. '<img class="stcr-loading-animation" src="' . esc_url(admin_url() . '/images/loading.gif') . '" alt="Dismissing Message">', 'subscribe-to-comments-reloaded') . '</p>',
|
598 |
Â
'updated'
|
599 |
Â
);
|
600 |
Â
// Update the HTML emails option
|
@@ -605,18 +605,18 @@ if( ! class_exists('\\'.__NAMESPACE__.'\\stcr_upgrade') ) {
|
|
605 |
Â
$this->stcr_create_admin_notice(
|
606 |
Â
'notify_update_' . $_version,
|
607 |
Â
'unread',
|
608 |
-
'<p>' . __('<strong>Subscribe to Comments Reloaded</strong> has been updated to version ' . $_version, 'subscribe-to-comments-reloaded') . '</p>' .
|
609 |
-
'<p>' .
|
610 |
Â
|
611 |
Â
'<ul>' .
|
612 |
-
'<li>' . __("<strong>Fix Critical Bug</strong> This version fix a critical bug on fresh installation regarding a database table creation.", 'subscribe-to-comments-reloaded') . '</li>'.
|
613 |
-
'<li>' . __("<strong>Add</strong> Option to control the inclusion of the style Font Awesome.", 'subscribe-to-comments-reloaded') . '</li>'.
|
614 |
Â
'</ul>' .
|
615 |
Â
|
616 |
-
'<p>' . __('If you find a bug or an issue you can report it <a href="https://github.com/stcr/subscribe-to-comments-reloaded/issues" target="_blank">here</a>.', 'subscribe-to-comments-reloaded') . '</p>' .
|
617 |
-
'<p>' . __('Please visit the <a href="https://wordpress.org/plugins/subscribe-to-comments-reloaded/changelog/" target="_blank">Changelog</a> for a complete list of changes.'
|
618 |
Â
. '<a class="dismiss" href="#">Dismiss. </a>'
|
619 |
-
. '<img class="stcr-loading-animation" src="' . esc_url(admin_url() . '/images/loading.gif') . '" alt="Dismissing Message">', 'subscribe-to-comments-reloaded') . '</p>',
|
620 |
Â
'updated'
|
621 |
Â
);
|
622 |
Â
// Update the HTML emails option
|
@@ -627,19 +627,19 @@ if( ! class_exists('\\'.__NAMESPACE__.'\\stcr_upgrade') ) {
|
|
627 |
Â
$this->stcr_create_admin_notice(
|
628 |
Â
'notify_update_' . $_version,
|
629 |
Â
'unread',
|
630 |
-
'<p>' . __('<strong>Subscribe to Comments Reloaded</strong> has been updated to version ' . $_version, 'subscribe-to-comments-reloaded') . '</p>' .
|
631 |
-
'<p>' .
|
632 |
Â
|
633 |
Â
'<ul>' .
|
634 |
-
'<li>' . __("<strong>Security Patch</strong> This version add a patch for some security issues.", 'subscribe-to-comments-reloaded') . '</li>'.
|
635 |
-
'<li>' . __("<strong>Add</strong> Option to reset all the plugin options", 'subscribe-to-comments-reloaded') . '</li>'.
|
636 |
-
'<li>' . __("<strong>Fix</strong> issue regarding database collations", 'subscribe-to-comments-reloaded') . '</li>'.
|
637 |
Â
'</ul>' .
|
638 |
Â
|
639 |
-
'<p>' . __('If you find a bug or an issue you can report it <a href="https://github.com/stcr/subscribe-to-comments-reloaded/issues" target="_blank">here</a>.', 'subscribe-to-comments-reloaded') . '</p>' .
|
640 |
-
'<p>' . __('Please visit the <a href="https://wordpress.org/plugins/subscribe-to-comments-reloaded/changelog/" target="_blank">Changelog</a> for a complete list of changes.'
|
641 |
Â
. '<a class="dismiss" href="#">Dismiss. </a>'
|
642 |
-
. '<img class="stcr-loading-animation" src="' . esc_url(admin_url() . '/images/loading.gif') . '" alt="Dismissing Message">', 'subscribe-to-comments-reloaded') . '</p>',
|
643 |
Â
'updated'
|
644 |
Â
);
|
645 |
Â
// Update the HTML emails option
|
@@ -650,12 +650,12 @@ if( ! class_exists('\\'.__NAMESPACE__.'\\stcr_upgrade') ) {
|
|
650 |
Â
$this->stcr_create_admin_notice(
|
651 |
Â
'notify_update_' . $_version,
|
652 |
Â
'unread',
|
653 |
-
'<p>' . __('<strong>Subscribe to Comments Reloaded</strong> has been updated to version ' . $_version, 'subscribe-to-comments-reloaded') . '</p>' .
|
654 |
-
'<p>' .
|
655 |
-
'<p>' . __('If you find a bug or an issue you can report it <a href="https://github.com/stcr/subscribe-to-comments-reloaded/issues" target="_blank">here</a>.', 'subscribe-to-comments-reloaded') . '</p>' .
|
656 |
-
'<p>' . __('Please visit the <a href="https://wordpress.org/plugins/subscribe-to-comments-reloaded/changelog/" target="_blank">Changelog</a> for a complete list of changes.'
|
657 |
Â
. '<a class="dismiss" href="#">Dismiss. </a>'
|
658 |
-
. '<img class="stcr-loading-animation" src="' . esc_url(admin_url() . '/images/loading.gif') . '" alt="Dismissing Message">', 'subscribe-to-comments-reloaded') . '</p>',
|
659 |
Â
'updated'
|
660 |
Â
);
|
661 |
Â
// Update the HTML emails option
|
@@ -666,13 +666,13 @@ if( ! class_exists('\\'.__NAMESPACE__.'\\stcr_upgrade') ) {
|
|
666 |
Â
$this->stcr_create_admin_notice(
|
667 |
Â
'notify_update_' . $_version,
|
668 |
Â
'unread',
|
669 |
-
'<p>' . __('<strong>Subscribe to Comments Reloaded</strong> has been updated to version ' . $_version, 'subscribe-to-comments-reloaded') . '</p>' .
|
670 |
-
'<p>' .
|
671 |
-
'<p>' . __('If you find a bug or an issue you can report it <a href="https://github.com/stcr/subscribe-to-comments-reloaded/issues" target="_blank">here</a>.', 'subscribe-to-comments-reloaded') . '</p>' .
|
672 |
-
'<p>' .
|
673 |
-
'<p>' . __('Please visit the <a href="http://subscribe-reloaded.com/update/stcr-release-version-'.$_version.'/" target="_blank">Release Post</a> for a complete list of changes and guide about the new version.'
|
674 |
Â
. '<a class="dismiss" href="#">Dismiss. </a>'
|
675 |
-
. '<img class="stcr-loading-animation" src="' . esc_url(admin_url() . '/images/loading.gif') . '" alt="Dismissing Message">', 'subscribe-to-comments-reloaded') . '</p>',
|
676 |
Â
'updated'
|
677 |
Â
);
|
678 |
Â
break;
|
@@ -680,13 +680,13 @@ if( ! class_exists('\\'.__NAMESPACE__.'\\stcr_upgrade') ) {
|
|
680 |
Â
$this->stcr_create_admin_notice(
|
681 |
Â
'notify_update_' . $_version,
|
682 |
Â
'unread',
|
683 |
-
'<p>' . __('<strong>Subscribe to Comments Reloaded</strong> has been updated to version ' . $_version, 'subscribe-to-comments-reloaded') . '</p>' .
|
684 |
-
'<p>' .
|
685 |
-
'<p>' . __('If you find a bug or an issue you can report it <a href="https://github.com/stcr/subscribe-to-comments-reloaded/issues" target="_blank">here</a>.', 'subscribe-to-comments-reloaded') . '</p>' .
|
686 |
-
'<p>' .
|
687 |
-
'<p>' . __('Please visit the <a href="http://subscribe-reloaded.com/update/stcr-release-version-'.$_version.'/" target="_blank">Release Post</a> for a complete list of changes and guide about the new version.'
|
688 |
Â
. '<a class="dismiss" href="#">Dismiss. </a>'
|
689 |
-
. '<img class="stcr-loading-animation" src="' . esc_url(admin_url() . '/images/loading.gif') . '" alt="Dismissing Message">', 'subscribe-to-comments-reloaded') . '</p>',
|
690 |
Â
'updated'
|
691 |
Â
);
|
692 |
Â
break;
|
69 |
Â
$OK = $this->add_user_subscriber_table( $email->email );
|
70 |
Â
if ( ! $OK) {
|
71 |
Â
$notices = get_option( 'subscribe_reloaded_deferred_admin_notices', array() );
|
72 |
+
$notices[] = '<div class="error"><h3>' . esc_html__( 'Important Notice', 'subscribe-to-comments-reloaded' ) . '</h3>' .
|
73 |
Â
'<p>The creation of of the table <strong>' . $wpdb->prefix . 'subscribe_reloaded_subscribers</strong> failed</p></div>';
|
74 |
Â
update_option( 'subscribe_reloaded_deferred_admin_notices', $notices );
|
75 |
Â
break 1;
|
117 |
Â
$this->stcr_create_admin_notice(
|
118 |
Â
'notify_update_sanitize_db_options',
|
119 |
Â
'unread',
|
120 |
+
'<p>' . wp_kses( __( '<strong>Subscribe to Comments Reloaded:</strong> The information in your database has been sanitized to prevent the raw html messages. <a class="dismiss" href="#">Dismiss. </a>'
|
121 |
+
. '<img class="stcr-loading-animation" src="'. esc_url( admin_url() . '/images/loading.gif'). '" alt="Working...">' , 'subscribe-to-comments-reloaded' ), wp_kses_allowed_html( 'post' ) )
|
122 |
Â
. '</p>',
|
123 |
Â
'updated'
|
124 |
Â
);
|
172 |
Â
$this->stcr_create_admin_notice(
|
173 |
Â
'notify_import_stc_data',
|
174 |
Â
'unread',
|
175 |
+
'<p>' . wp_kses( __( '<strong>Subscribe to Comments Reloaded:</strong> Comment subscription data from the <strong>Subscribe to Comments</strong> plugin was detected and automatically imported into <strong>Subscribe to Comments Reloaded</strong>.', 'subscribe-to-comments-reloaded' ), wp_kses_allowed_html( 'post' ) ) . ( is_plugin_active( 'subscribe-to-comments/subscribe-to-comments.php' ) ? wp_kses( __( ' It is recommended that you now <strong>deactivate</strong> Subscribe to Comments to prevent confusion between the two plugins.', 'subscribe-to-comments-reloaded' ), wp_kses_allowed_html( 'post' ) ) : '' ) . '</p>' .
|
176 |
+
'<p>' . esc_html__( 'If you have subscription data from Subscribe to Comments Reloaded < v2.0 that you want to import, you\'ll need to import that data manually, as only one import routine will ever run to prevent data loss.', 'subscribe-to-comments-reloaded' ) . '</p>' .
|
177 |
+
'<p>' . wp_kses( __( 'Please visit <a href="options-general.php?page=subscribe-to-comments-reloaded/options/index.php">Settings -> Subscribe to Comments</a> to review your configuration.'
|
178 |
Â
. '<a class="dismiss" href="#">Dismiss. </a>'
|
179 |
+
. '<img class="stcr-loading-animation" src="'. esc_url( admin_url() . '/images/loading.gif'). '" alt="Working...">', 'subscribe-to-comments-reloaded' ), wp_kses_allowed_html( 'post' ) ) . '</p>',
|
180 |
Â
'updated'
|
181 |
Â
);
|
182 |
Â
}
|
238 |
Â
$this->stcr_create_admin_notice(
|
239 |
Â
'notify_import_stc_mj_data',
|
240 |
Â
'unread',
|
241 |
+
'<p>' . wp_kses( __( '<strong>Subscribe to Comments Reloaded:</strong> Comment subscription data from the <strong>Subscribe to Comments</strong> plugin by Mark Jaquith was detected and automatically imported into <strong>Subscribe to Comments Reloaded</strong>.', 'subscribe-to-comments-reloaded' ), wp_kses_allowed_html( 'post' ) ) . ( is_plugin_active( 'subscribe-to-comments/subscribe-to-comments.php' ) ? wp_kses( __( ' It is recommended that you now <strong>deactivate</strong> Subscribe to Comments to prevent confusion between the two plugins.', 'subscribe-to-comments-reloaded' ), wp_kses_allowed_html( 'post' ) ) : '' ) . '</p>' .
|
242 |
+
'<p>' . esc_html__( 'If you have subscription data from Subscribe to Comments Reloaded < v2.0 that you want to import, you\'ll need to import that data manually, as only one import routine will ever run to prevent data loss.', 'subscribe-to-comments-reloaded' ) . '</p>' .
|
243 |
+
'<p>' . wp_kses( __( 'Please visit <a href="options-general.php?page=subscribe-to-comments-reloaded/options/index.php">Settings -> Subscribe to Comments</a> to review your configuration.'
|
244 |
Â
. '<a class="dismiss" href="#">Dismiss. </a>'
|
245 |
+
. '<img class="stcr-loading-animation" src="'. esc_url( admin_url() . '/images/loading.gif'). '" alt="Working...">', 'subscribe-to-comments-reloaded' ), wp_kses_allowed_html( 'post' ) ) . '</p>',
|
246 |
Â
'updated'
|
247 |
Â
);
|
248 |
Â
|
313 |
Â
$this->stcr_create_admin_notice(
|
314 |
Â
'notify_import_comment_reply',
|
315 |
Â
'unread',
|
316 |
+
'<p>' . wp_kses( __( '<strong>Subscribe to Comments Reloaded:</strong> Comment subscription data from the <strong>Comment Reply Notification</strong> plugin was detected and automatically imported into <strong>Subscribe to Comments Reloaded</strong>.', 'subscribe-to-comments-reloaded' ), wp_kses_allowed_html( 'post' ) ) . ( is_plugin_active( 'comment-reply-notification/comment-reply-notification.php' ) ? wp_kses( __( ' It is recommended that you now <strong>deactivate</strong> Comment Reply Notification to prevent confusion between the two plugins.', 'subscribe-to-comments-reloaded' ), wp_kses_allowed_html( 'post' ) ) : '' ) . '</p>' .
|
317 |
+
'<p>' . wp_kses( __( 'Please visit <a href="options-general.php?page=subscribe-to-comments-reloaded/options/index.php">Settings -> Subscribe to Comments</a> to review your configuration.'
|
318 |
Â
. '<a class="dismiss" href="#">Dismiss. </a>'
|
319 |
+
. '<img class="stcr-loading-animation" src="'. esc_url( admin_url() . '/images/loading.gif'). '" alt="Working...">', 'subscribe-to-comments-reloaded' ), wp_kses_allowed_html( 'post' ) ) . '</p>',
|
320 |
Â
'updated'
|
321 |
Â
);
|
322 |
Â
}
|
463 |
Â
$this->stcr_create_admin_notice(
|
464 |
Â
'notify_import_wpcs_data',
|
465 |
Â
'unread',
|
466 |
+
'<p>' . wp_kses( __( '<strong>Subscribe to Comments Reloaded:</strong> Plugin options and comment subscription data from the <strong>WP Comment Subscriptions</strong> plugin were detected and automatically imported into <strong>Subscribe to Comments Reloaded</strong>.', 'subscribe-to-comments-reloaded' ), wp_kses_allowed_html( 'post' ) ) . ( is_plugin_active( 'wp-comment-subscriptions/wp-comment-subscriptions.php' ) ? wp_kses( __( ' It is recommended that you now <strong>deactivate</strong> WP Comment Subscriptions to prevent confusion between the two plugins.', 'subscribe-to-comments-reloaded' ), wp_kses_allowed_html( 'post' ) ) : '' ) . '</p>' .
|
467 |
+
'<p>' . esc_html__( 'If you have subscription data from another plugin (such as Subscribe to Comments or Subscribe to Comments Reloaded < v2.0) that you want to import, you\'ll need to import that data manually, as only one import routine will ever run to prevent data loss.', 'subscribe-to-comments-reloaded' ) . '</p>' .
|
468 |
+
'<p>' . wp_kses( __( '<strong>Note:</strong> If you were previously using the <code>wp_comment_subscriptions_show()</code> function or the <code>[wpcs-subscribe-url]</code> shortcode, you\'ll need to replace those with <code>subscribe_reloaded_show()</code> and <code>[subscribe-url]</code> respectively.', 'subscribe-to-comments-reloaded' ), wp_kses_allowed_html( 'post' ) ) . '</p>' .
|
469 |
+
'<p>' . wp_kses( __( 'Please visit <a href="options-general.php?page=subscribe-to-comments-reloaded/options/index.php">Settings -> Subscribe to Comments</a> to review your configuration.'
|
470 |
Â
. '<a class="dismiss" href="#">Dismiss. </a>'
|
471 |
+
. '<img class="stcr-loading-animation" src="'. esc_url( admin_url() . '/images/loading.gif'). '" alt="Working...">', 'subscribe-to-comments-reloaded' ), wp_kses_allowed_html( 'post' ) ) . '</p>',
|
472 |
Â
'updated'
|
473 |
Â
);
|
474 |
Â
}
|
476 |
Â
// end _import_wpcs_data
|
477 |
Â
public function upgrade_notification( $_version, $_db_version, $_fresh_install ) {
|
478 |
Â
|
479 |
+
$options_link = sprintf( '<a href="%s"> %s </a>', admin_url( 'admin.php?page=stcr_options' ), esc_html__( 'Settings', 'subscribe-to-comments-reloaded' ) );
|
480 |
+
$system_link = sprintf( '<a href="%s"> %s </a>', admin_url( 'admin.php?page=stcr_system' ), esc_html__( 'Log Settings', 'subscribe-to-comments-reloaded' ) );
|
481 |
Â
|
482 |
Â
if( ! $_fresh_install ) {
|
483 |
Â
|
486 |
Â
$this->stcr_create_admin_notice(
|
487 |
Â
'notify_update_' . $_version,
|
488 |
Â
'unread',
|
489 |
+
'<p>' . wp_kses( __('<strong>Subscribe to Comments Reloaded</strong> has been updated to version 160106.', 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</p>' .
|
490 |
+
'<p>' . esc_html__('This version includes many changes and fixes to improve your experience with the plugin, including One Click Unsubscribe, Rich Text Editor to create HTML email templates, Subscription Checkbox position, and more!', 'subscribe-to-comments-reloaded') . '</p>' .
|
491 |
+
'<p>' . wp_kses( __('Please visit the <a href="https://wordpress.org/plugins/subscribe-to-comments-reloaded/changelog/" target="_blank">Changelog</a> for a complete list of changes.'
|
492 |
Â
. '<a class="dismiss" href="#">Dismiss. </a>'
|
493 |
+
. '<img class="stcr-loading-animation" src="' . esc_url(admin_url() . '/images/loading.gif') . '" alt="Working...">', 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</p>',
|
494 |
Â
'updated'
|
495 |
Â
);
|
496 |
Â
// Update the HTML emails option
|
501 |
Â
$this->stcr_create_admin_notice(
|
502 |
Â
'notify_update_' . $_version,
|
503 |
Â
'unread',
|
504 |
+
'<p>' . wp_kses( __('<strong>Subscribe to Comments Reloaded</strong> has been updated to version 160115.', 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</p>' .
|
505 |
+
'<p>' . esc_html__('This version includes fixes to broken links while managing your subscriptions', 'subscribe-to-comments-reloaded') . '</p>' .
|
506 |
+
'<p>' . wp_kses( __('Please visit the <a href="https://wordpress.org/plugins/subscribe-to-comments-reloaded/changelog/" target="_blank">Changelog</a> for a complete list of changes.'
|
507 |
Â
. '<a class="dismiss" href="#">Dismiss. </a>'
|
508 |
+
. '<img class="stcr-loading-animation" src="' . esc_url(admin_url() . '/images/loading.gif') . '" alt="Working...">', 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</p>',
|
509 |
Â
'updated'
|
510 |
Â
);
|
511 |
Â
// Update the HTML emails option
|
516 |
Â
$this->stcr_create_admin_notice(
|
517 |
Â
'notify_update_' . $_version,
|
518 |
Â
'unread',
|
519 |
+
'<p>' . wp_kses( __('<strong>Subscribe to Comments Reloaded</strong> has been updated to version 160831', 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</p>' .
|
520 |
+
'<p>' . esc_html__('This version includes fixes to many bugs and also new features, ', 'subscribe-to-comments-reloaded') . '</p>' .
|
521 |
Â
'<ul>' .
|
522 |
+
'<li>' . wp_kses( __("<strong>New Feature</strong> Add new option to set the Reply To email address. This will help the subscribers to use the Reply option in their email agents.", 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</li>'.
|
523 |
+
'<li>' . wp_kses( __("<strong>New Feature</strong> Improve the Admin Menu for StCR. Replace the StCR menu on the Settings Menu for a new Menu with sub menus for the pages.", 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</li>'.
|
524 |
+
'<li>' . wp_kses( __("<strong>New Feature</strong> Safely Uninstall option to Delete the plugin without loosing your subscriptions. You can use this option also for reset all the settings, see the FAQ.", 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</li>'.
|
525 |
+
'<li>' . wp_kses( __("<strong>New Feature</strong> Now the WordPress Authors can use the <strong>Subscribe authors</strong> option to autor subscribe to a Custom Post Type.", 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</li>'.
|
526 |
+
'<li>' . wp_kses( __("<strong>New Feature</strong> A new field was added under the notification options to and the management link only by email and not to display it on the request link page.", 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</li>'.
|
527 |
Â
'</ul>' .
|
528 |
+
'<p>' . wp_kses( __('Please visit the <a href="https://wordpress.org/plugins/subscribe-to-comments-reloaded/changelog/" target="_blank">Changelog</a> for a complete list of changes.'
|
529 |
Â
. '<a class="dismiss" href="#">Dismiss. </a>'
|
530 |
+
. '<img class="stcr-loading-animation" src="' . esc_url(admin_url() . '/images/loading.gif') . '" alt="Working...">', 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</p>',
|
531 |
Â
'updated'
|
532 |
Â
);
|
533 |
Â
// Update the HTML emails option
|
538 |
Â
$this->stcr_create_admin_notice(
|
539 |
Â
'notify_update_' . $_version,
|
540 |
Â
'unread',
|
541 |
+
'<p>' . wp_kses( __('<strong>Subscribe to Comments Reloaded</strong> has been updated to version 160902', 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</p>' .
|
542 |
+
'<p>' . esc_html__('This version includes fixes to many bugs and also new features, ', 'subscribe-to-comments-reloaded') . '</p>' .
|
543 |
Â
'<ul>' .
|
544 |
+
'<li>' . wp_kses( __("<strong>Fix update</strong> this version Fixes some issue trigger by the previous 160831 version.", 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</li>'.
|
545 |
+
'<li>' . wp_kses( __("<strong>New Feature</strong> Add new option to set the Reply To email address. This will help the subscribers to use the Reply option in their email agents.", 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</li>'.
|
546 |
+
'<li>' . wp_kses( __("<strong>New Feature</strong> Improve the Admin Menu for StCR. Replace the StCR menu on the Settings Menu for a new Menu with sub menus for the pages.", 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</li>'.
|
547 |
+
'<li>' . wp_kses( __("<strong>New Feature</strong> Safely Uninstall option to Delete the plugin without loosing your subscriptions. You can use this option also for reset all the settings, see the FAQ.", 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</li>'.
|
548 |
+
'<li>' . wp_kses( __("<strong>New Feature</strong> Now the WordPress Authors can use the <strong>Subscribe authors</strong> option to autor subscribe to a Custom Post Type.", 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</li>'.
|
549 |
+
'<li>' . wp_kses( __("<strong>New Feature</strong> A new field was added under the notification options to and the management link only by email and not to display it on the request link page.", 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</li>'.
|
550 |
Â
'</ul>' .
|
551 |
+
'<p>' . wp_kses( __('Please visit the <a href="https://wordpress.org/plugins/subscribe-to-comments-reloaded/changelog/" target="_blank">Changelog</a> for a complete list of changes.'
|
552 |
Â
. '<a class="dismiss" href="#">Dismiss. </a>'
|
553 |
+
. '<img class="stcr-loading-animation" src="' . esc_url(admin_url() . '/images/loading.gif') . '" alt="Working...">', 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</p>',
|
554 |
Â
'updated'
|
555 |
Â
);
|
556 |
Â
// Update the HTML emails option
|
558 |
Â
update_option( 'subscribe_reloaded_enable_html_emails', 'yes' );
|
559 |
Â
break;
|
560 |
Â
case '160915':
|
561 |
+
$options_link = sprintf( '<a href="%s"> %s </a>', admin_url( 'admin.php?page=stcr_options' ), esc_html__( 'Settings', 'subscribe-to-comments-reloaded' ) );
|
562 |
Â
$this->stcr_create_admin_notice(
|
563 |
Â
'notify_update_' . $_version,
|
564 |
Â
'unread',
|
565 |
+
'<p>' . wp_kses( __('<strong>Subscribe to Comments Reloaded</strong> has been updated to version 160915', 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</p>' .
|
566 |
+
'<p>' . esc_html__('This version includes fixes and improvements, ', 'subscribe-to-comments-reloaded') . '</p>' .
|
567 |
Â
'<ul>' .
|
568 |
+
'<li>' . wp_kses( __("<strong>Fix</strong> StCR checkbox position issues with some WordPress themes, Go to the {$options_link} to activate it.", 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</li>'.
|
569 |
+
'<li>' . wp_kses( __("<strong>Change</strong> the radio buttons in the management page for a dropdown.", 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</li>'.
|
570 |
+
'<li>' . wp_kses( __("<strong>Improve</strong> Email validation for empty values and using a regex.", 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</li>'.
|
571 |
Â
'</ul>' .
|
572 |
+
'<p>' . wp_kses( __('Please visit the <a href="https://wordpress.org/plugins/subscribe-to-comments-reloaded/changelog/" target="_blank">Changelog</a> for a complete list of changes.'
|
573 |
Â
. '<a class="dismiss" href="#">Dismiss. </a>'
|
574 |
+
. '<img class="stcr-loading-animation" src="' . esc_url(admin_url() . '/images/loading.gif') . '" alt="Working...">', 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</p>',
|
575 |
Â
'updated'
|
576 |
Â
);
|
577 |
Â
// Update the HTML emails option
|
582 |
Â
$this->stcr_create_admin_notice(
|
583 |
Â
'notify_update_' . $_version,
|
584 |
Â
'unread',
|
585 |
+
'<p>' . wp_kses( __('<strong>Subscribe to Comments Reloaded</strong> has been updated to version ' . $_version, 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</p>' .
|
586 |
+
'<p>' . esc_html__('This version includes fixes and improvements, ', 'subscribe-to-comments-reloaded') . '</p>' .
|
587 |
Â
|
588 |
Â
'<ul>' .
|
589 |
+
'<li>' . wp_kses( __("<strong>Fix</strong> Wrong confirmation link when the double check option is enable.", 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</li>'.
|
590 |
+
'<li>' . wp_kses( __("<strong>Improve</strong> Manage subscription page. Take a look ;).", 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</li>'.
|
591 |
+
'<li>' . wp_kses( __("<strong>Improve</strong> Log file manipulation. Now you can control how the log behaves, take a look at the {$system_link}.", 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</li>'.
|
592 |
Â
'</ul>' .
|
593 |
Â
|
594 |
+
'<p>' . wp_kses( __('If you find a bug or an issue you can report it <a href="https://github.com/stcr/subscribe-to-comments-reloaded/issues" target="_blank">here</a>.', 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</p>' .
|
595 |
+
'<p>' . wp_kses( __('Please visit the <a href="https://wordpress.org/plugins/subscribe-to-comments-reloaded/changelog/" target="_blank">Changelog</a> for a complete list of changes.'
|
596 |
Â
. '<a class="dismiss" href="#">Dismiss. </a>'
|
597 |
+
. '<img class="stcr-loading-animation" src="' . esc_url(admin_url() . '/images/loading.gif') . '" alt="Dismissing Message">', 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</p>',
|
598 |
Â
'updated'
|
599 |
Â
);
|
600 |
Â
// Update the HTML emails option
|
605 |
Â
$this->stcr_create_admin_notice(
|
606 |
Â
'notify_update_' . $_version,
|
607 |
Â
'unread',
|
608 |
+
'<p>' . wp_kses( __('<strong>Subscribe to Comments Reloaded</strong> has been updated to version ' . $_version, 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</p>' .
|
609 |
+
'<p>' . esc_html__('This version includes fixes and improvements, ', 'subscribe-to-comments-reloaded') . '</p>' .
|
610 |
Â
|
611 |
Â
'<ul>' .
|
612 |
+
'<li>' . wp_kses( __("<strong>Fix Critical Bug</strong> This version fix a critical bug on fresh installation regarding a database table creation.", 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</li>'.
|
613 |
+
'<li>' . wp_kses( __("<strong>Add</strong> Option to control the inclusion of the style Font Awesome.", 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</li>'.
|
614 |
Â
'</ul>' .
|
615 |
Â
|
616 |
+
'<p>' . wp_kses( __('If you find a bug or an issue you can report it <a href="https://github.com/stcr/subscribe-to-comments-reloaded/issues" target="_blank">here</a>.', 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</p>' .
|
617 |
+
'<p>' . wp_kses( __('Please visit the <a href="https://wordpress.org/plugins/subscribe-to-comments-reloaded/changelog/" target="_blank">Changelog</a> for a complete list of changes.'
|
618 |
Â
. '<a class="dismiss" href="#">Dismiss. </a>'
|
619 |
+
. '<img class="stcr-loading-animation" src="' . esc_url(admin_url() . '/images/loading.gif') . '" alt="Dismissing Message">', 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</p>',
|
620 |
Â
'updated'
|
621 |
Â
);
|
622 |
Â
// Update the HTML emails option
|
627 |
Â
$this->stcr_create_admin_notice(
|
628 |
Â
'notify_update_' . $_version,
|
629 |
Â
'unread',
|
630 |
+
'<p>' . wp_kses( __('<strong>Subscribe to Comments Reloaded</strong> has been updated to version ' . $_version, 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</p>' .
|
631 |
+
'<p>' . esc_html__('This version includes fixes and improvements, ', 'subscribe-to-comments-reloaded') . '</p>' .
|
632 |
Â
|
633 |
Â
'<ul>' .
|
634 |
+
'<li>' . wp_kses( __("<strong>Security Patch</strong> This version add a patch for some security issues.", 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</li>'.
|
635 |
+
'<li>' . wp_kses( __("<strong>Add</strong> Option to reset all the plugin options", 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</li>'.
|
636 |
+
'<li>' . wp_kses( __("<strong>Fix</strong> issue regarding database collations", 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</li>'.
|
637 |
Â
'</ul>' .
|
638 |
Â
|
639 |
+
'<p>' . wp_kses( __('If you find a bug or an issue you can report it <a href="https://github.com/stcr/subscribe-to-comments-reloaded/issues" target="_blank">here</a>.', 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</p>' .
|
640 |
+
'<p>' . wp_kses( __('Please visit the <a href="https://wordpress.org/plugins/subscribe-to-comments-reloaded/changelog/" target="_blank">Changelog</a> for a complete list of changes.'
|
641 |
Â
. '<a class="dismiss" href="#">Dismiss. </a>'
|
642 |
+
. '<img class="stcr-loading-animation" src="' . esc_url(admin_url() . '/images/loading.gif') . '" alt="Dismissing Message">', 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</p>',
|
643 |
Â
'updated'
|
644 |
Â
);
|
645 |
Â
// Update the HTML emails option
|
650 |
Â
$this->stcr_create_admin_notice(
|
651 |
Â
'notify_update_' . $_version,
|
652 |
Â
'unread',
|
653 |
+
'<p>' . wp_kses( __('<strong>Subscribe to Comments Reloaded</strong> has been updated to version ' . $_version, 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</p>' .
|
654 |
+
'<p>' . esc_html__('This version includes fixes and improvements, ', 'subscribe-to-comments-reloaded') . '</p>' .
|
655 |
+
'<p>' . wp_kses( __('If you find a bug or an issue you can report it <a href="https://github.com/stcr/subscribe-to-comments-reloaded/issues" target="_blank">here</a>.', 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</p>' .
|
656 |
+
'<p>' . wp_kses( __('Please visit the <a href="https://wordpress.org/plugins/subscribe-to-comments-reloaded/changelog/" target="_blank">Changelog</a> for a complete list of changes.'
|
657 |
Â
. '<a class="dismiss" href="#">Dismiss. </a>'
|
658 |
+
. '<img class="stcr-loading-animation" src="' . esc_url(admin_url() . '/images/loading.gif') . '" alt="Dismissing Message">', 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</p>',
|
659 |
Â
'updated'
|
660 |
Â
);
|
661 |
Â
// Update the HTML emails option
|
666 |
Â
$this->stcr_create_admin_notice(
|
667 |
Â
'notify_update_' . $_version,
|
668 |
Â
'unread',
|
669 |
+
'<p>' . wp_kses( __('<strong>Subscribe to Comments Reloaded</strong> has been updated to version ' . $_version, 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</p>' .
|
670 |
+
'<p>' . esc_html__('This version includes fixes and improvements, ', 'subscribe-to-comments-reloaded') . '</p>' .
|
671 |
+
'<p>' . wp_kses( __('If you find a bug or an issue you can report it <a href="https://github.com/stcr/subscribe-to-comments-reloaded/issues" target="_blank">here</a>.', 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</p>' .
|
672 |
+
'<p>' . esc_html__('You might need to clear you cache !!', 'subscribe-to-comments-reloaded') . '</p>' .
|
673 |
+
'<p>' . wp_kses( __('Please visit the <a href="http://subscribe-reloaded.com/update/stcr-release-version-'.$_version.'/" target="_blank">Release Post</a> for a complete list of changes and guide about the new version.'
|
674 |
Â
. '<a class="dismiss" href="#">Dismiss. </a>'
|
675 |
+
. '<img class="stcr-loading-animation" src="' . esc_url(admin_url() . '/images/loading.gif') . '" alt="Dismissing Message">', 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</p>',
|
676 |
Â
'updated'
|
677 |
Â
);
|
678 |
Â
break;
|
680 |
Â
$this->stcr_create_admin_notice(
|
681 |
Â
'notify_update_' . $_version,
|
682 |
Â
'unread',
|
683 |
+
'<p>' . wp_kses( __('<strong>Subscribe to Comments Reloaded</strong> has been updated to version ' . $_version, 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</p>' .
|
684 |
+
'<p>' . esc_html__('This version includes fixes., ', 'subscribe-to-comments-reloaded') . '</p>' .
|
685 |
+
'<p>' . wp_kses( __('If you find a bug or an issue you can report it <a href="https://github.com/stcr/subscribe-to-comments-reloaded/issues" target="_blank">here</a>.', 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</p>' .
|
686 |
+
'<p>' . esc_html__('You might need to clear you cache !!', 'subscribe-to-comments-reloaded') . '</p>' .
|
687 |
+
'<p>' . wp_kses( __('Please visit the <a href="http://subscribe-reloaded.com/update/stcr-release-version-'.$_version.'/" target="_blank">Release Post</a> for a complete list of changes and guide about the new version.'
|
688 |
Â
. '<a class="dismiss" href="#">Dismiss. </a>'
|
689 |
+
. '<img class="stcr-loading-animation" src="' . esc_url(admin_url() . '/images/loading.gif') . '" alt="Dismissing Message">', 'subscribe-to-comments-reloaded'), wp_kses_allowed_html( 'post' ) ) . '</p>',
|
690 |
Â
'updated'
|
691 |
Â
);
|
692 |
Â
break;
|
utils/stcr_utils.php
CHANGED
@@ -89,7 +89,7 @@ if( ! class_exists('\\'.__NAMESPACE__.'\\stcr_utils') )
|
|
89 |
Â
public function remove_user_subscriber_table($_email) {
|
90 |
Â
global $wpdb;
|
91 |
Â
|
92 |
-
$OK = $wpdb->query( $wpdb->prepare(
|
93 |
Â
"DELETE FROM " . $wpdb->prefix . "subscribe_reloaded_subscribers WHERE subscriber_email = %s",
|
94 |
Â
$_email
|
95 |
Â
));
|
@@ -170,33 +170,33 @@ if( ! class_exists('\\'.__NAMESPACE__.'\\stcr_utils') )
|
|
170 |
Â
public function stcr_translate_month( $date_str )
|
171 |
Â
{
|
172 |
Â
$months_long = array (
|
173 |
-
"January" =>
|
174 |
-
"February" =>
|
175 |
-
"March" =>
|
176 |
-
"April" =>
|
177 |
-
"May" =>
|
178 |
-
"June" =>
|
179 |
-
"July" =>
|
180 |
-
"August" =>
|
181 |
-
"September" =>
|
182 |
-
"October" =>
|
183 |
-
"November" =>
|
184 |
-
"December" =>
|
185 |
Â
);
|
186 |
Â
|
187 |
Â
$months_short = array (
|
188 |
-
"Jan" =>
|
189 |
-
"Feb" =>
|
190 |
-
"Mar" =>
|
191 |
-
"Apr" =>
|
192 |
-
"May" =>
|
193 |
-
"Jun" =>
|
194 |
-
"Jul" =>
|
195 |
-
"Aug" =>
|
196 |
-
"Sep" =>
|
197 |
-
"Oct" =>
|
198 |
-
"Nov" =>
|
199 |
-
"Dec" =>
|
200 |
Â
);
|
201 |
Â
|
202 |
Â
// Replace String
|
@@ -350,32 +350,32 @@ if( ! class_exists('\\'.__NAMESPACE__.'\\stcr_utils') )
|
|
350 |
Â
add_option( 'subscribe_reloaded_checked_by_default_value', '0', '', 'yes' );
|
351 |
Â
add_option( 'subscribe_reloaded_checkbox_inline_style', 'width:30px', '', 'yes' );
|
352 |
Â
add_option( 'subscribe_reloaded_checkbox_html', "<p class='comment-form-subscriptions'><label for='subscribe-reloaded'>[checkbox_field] [checkbox_label]</label></p>", '', 'yes' );
|
353 |
-
add_option( 'subscribe_reloaded_checkbox_label', __( "Notify me of followup comments via e-mail. You can also <a href='[subscribe_link]'>subscribe</a> without commenting.", 'subscribe-to-comments-reloaded' ), '', 'yes' );
|
354 |
-
add_option( 'subscribe_reloaded_subscribed_label', __( "You are subscribed to this post. <a href='[manager_link]'>Manage</a> your subscriptions.", 'subscribe-to-comments-reloaded' ), '', 'yes' );
|
355 |
-
add_option( 'subscribe_reloaded_subscribed_waiting_label', __( "Your subscription to this post needs to be confirmed. <a href='[manager_link]'>Manage your subscriptions</a>.", 'subscribe-to-comments-reloaded' ), '', 'yes' );
|
356 |
-
add_option( 'subscribe_reloaded_author_label', __( "You can <a href='[manager_link]'>manage the subscriptions</a> of this post.", 'subscribe-to-comments-reloaded' ), '', 'yes' );
|
357 |
Â
|
358 |
Â
add_option( 'subscribe_reloaded_manager_page_enabled', 'yes', '', 'yes' );
|
359 |
Â
add_option( 'subscribe_reloaded_virtual_manager_page_enabled', 'yes', '', 'yes' );
|
360 |
-
add_option( 'subscribe_reloaded_manager_page_title',
|
361 |
Â
add_option( 'subscribe_reloaded_custom_header_meta', "<meta name='robots' content='noindex,nofollow'>", '', 'yes' );
|
362 |
-
add_option( 'subscribe_reloaded_request_mgmt_link',
|
363 |
-
add_option( 'subscribe_reloaded_request_mgmt_link_thankyou',
|
364 |
-
add_option( 'subscribe_reloaded_subscribe_without_commenting', __( "You can follow the discussion on <strong>[post_title]</strong> without having to leave a comment. Cool, huh? Just enter your email address in the form here below and you're all set.", 'subscribe-to-comments-reloaded' ), '', 'yes' );
|
365 |
-
add_option( 'subscribe_reloaded_subscription_confirmed',
|
366 |
-
add_option( 'subscribe_reloaded_subscription_confirmed_dci',
|
367 |
-
add_option( 'subscribe_reloaded_author_text',
|
368 |
-
add_option( 'subscribe_reloaded_user_text',
|
369 |
Â
|
370 |
Â
add_option( 'subscribe_reloaded_from_name', get_bloginfo( 'name' ), '', 'yes' );
|
371 |
Â
add_option( 'subscribe_reloaded_from_email', get_bloginfo( 'admin_email' ), '', 'yes' );
|
372 |
-
add_option( 'subscribe_reloaded_notification_subject',
|
373 |
-
add_option( 'subscribe_reloaded_notification_content', __( "<h1>There is a new comment on [post_title].</h1>\n\n<hr />\n<strong>Comment link:</strong>Â <a href=\"[comment_permalink]\">[comment_permalink]</a>\n<strong>Author:</strong>Â [comment_author]\n\n<strong>Comment:</strong>\n[comment_content]\n<div style=\"font-size: 0.8em;\"><strong>Permalink:</strong>Â <a href=\"[post_permalink]\">[post_permalink]</a>\n<a href=\"[manager_link]\">Manage your subscriptions</a>Â |Â <a href=\"[oneclick_link]\">One click unsubscribe</a></div>", 'subscribe-to-comments-reloaded' ), '', 'yes' );
|
374 |
-
add_option( 'subscribe_reloaded_double_check_subject',
|
375 |
-
add_option( 'subscribe_reloaded_double_check_content', __( "You have requested to be notified every time a new comment is added to:\n<a href='[post_permalink]'>[post_permalink]</a>\n\nPlease confirm your request by clicking on this link:\n<a href='[confirm_link]'>[confirm_link]</a>", 'subscribe-to-comments-reloaded' ), '', 'yes' );
|
376 |
-
add_option( 'subscribe_reloaded_management_subject',
|
377 |
-
add_option( 'subscribe_reloaded_management_content',
|
378 |
-
add_option( 'subscribe_reloaded_management_email_content', __( "You have requested to manage your subscriptions to the articles on [blog_name]. Follow this link to access your personal page:\n<a href='[manager_link]'>[manager_link]</a>", 'subscribe-to-comments-reloaded' ) );
|
379 |
Â
|
380 |
Â
add_option( 'subscribe_reloaded_purge_days', '30', '', 'yes' );
|
381 |
Â
add_option( 'subscribe_reloaded_enable_double_check', 'yes', '', 'yes' );
|
@@ -490,7 +490,7 @@ if( ! class_exists('\\'.__NAMESPACE__.'\\stcr_utils') )
|
|
490 |
Â
'fromEmail' => $from_email,
|
491 |
Â
'fromName' => $from_name,
|
492 |
Â
'toEmail' => '',
|
493 |
-
'subject' =>
|
494 |
Â
'message' => '',
|
495 |
Â
'bcc' => '',
|
496 |
Â
'reply_to' => $reply_to,
|
@@ -892,7 +892,7 @@ if( ! class_exists('\\'.__NAMESPACE__.'\\stcr_utils') )
|
|
892 |
Â
* @param string $_notification The notification Name of the notice to be deleted.
|
893 |
Â
*/
|
894 |
Â
public function stcr_ajax_update_notification () {
|
895 |
-
$_notification = $_POST['action'];
|
896 |
Â
// Check Nonce
|
897 |
Â
check_ajax_referer( $_notification, 'security' );
|
898 |
Â
// Update status
|
89 |
Â
public function remove_user_subscriber_table($_email) {
|
90 |
Â
global $wpdb;
|
91 |
Â
|
92 |
+
$OK = $wpdb->query( $wpdb->prepare(
|
93 |
Â
"DELETE FROM " . $wpdb->prefix . "subscribe_reloaded_subscribers WHERE subscriber_email = %s",
|
94 |
Â
$_email
|
95 |
Â
));
|
170 |
Â
public function stcr_translate_month( $date_str )
|
171 |
Â
{
|
172 |
Â
$months_long = array (
|
173 |
+
"January" => esc_html__("January",'subscribe-to-comments-reloaded'),
|
174 |
+
"February" => esc_html__("February",'subscribe-to-comments-reloaded'),
|
175 |
+
"March" => esc_html__("March",'subscribe-to-comments-reloaded'),
|
176 |
+
"April" => esc_html__("April",'subscribe-to-comments-reloaded'),
|
177 |
+
"May" => esc_html__("May",'subscribe-to-comments-reloaded'),
|
178 |
+
"June" => esc_html__("June",'subscribe-to-comments-reloaded'),
|
179 |
+
"July" => esc_html__("July",'subscribe-to-comments-reloaded'),
|
180 |
+
"August" => esc_html__("August",'subscribe-to-comments-reloaded'),
|
181 |
+
"September" => esc_html__("September",'subscribe-to-comments-reloaded'),
|
182 |
+
"October" => esc_html__("October",'subscribe-to-comments-reloaded'),
|
183 |
+
"November" => esc_html__("November",'subscribe-to-comments-reloaded'),
|
184 |
+
"December" => esc_html__("December",'subscribe-to-comments-reloaded')
|
185 |
Â
);
|
186 |
Â
|
187 |
Â
$months_short = array (
|
188 |
+
"Jan" => esc_html__("Jan",'subscribe-to-comments-reloaded'),
|
189 |
+
"Feb" => esc_html__("Feb",'subscribe-to-comments-reloaded'),
|
190 |
+
"Mar" => esc_html__("Mar",'subscribe-to-comments-reloaded'),
|
191 |
+
"Apr" => esc_html__("Apr",'subscribe-to-comments-reloaded'),
|
192 |
+
"May" => esc_html__("May",'subscribe-to-comments-reloaded'),
|
193 |
+
"Jun" => esc_html__("Jun",'subscribe-to-comments-reloaded'),
|
194 |
+
"Jul" => esc_html__("Jul",'subscribe-to-comments-reloaded'),
|
195 |
+
"Aug" => esc_html__("Aug",'subscribe-to-comments-reloaded'),
|
196 |
+
"Sep" => esc_html__("Sep",'subscribe-to-comments-reloaded'),
|
197 |
+
"Oct" => esc_html__("Oct",'subscribe-to-comments-reloaded'),
|
198 |
+
"Nov" => esc_html__("Nov",'subscribe-to-comments-reloaded'),
|
199 |
+
"Dec" => esc_html__("Dec",'subscribe-to-comments-reloaded')
|
200 |
Â
);
|
201 |
Â
|
202 |
Â
// Replace String
|
350 |
Â
add_option( 'subscribe_reloaded_checked_by_default_value', '0', '', 'yes' );
|
351 |
Â
add_option( 'subscribe_reloaded_checkbox_inline_style', 'width:30px', '', 'yes' );
|
352 |
Â
add_option( 'subscribe_reloaded_checkbox_html', "<p class='comment-form-subscriptions'><label for='subscribe-reloaded'>[checkbox_field] [checkbox_label]</label></p>", '', 'yes' );
|
353 |
+
add_option( 'subscribe_reloaded_checkbox_label', wp_kses( __( "Notify me of followup comments via e-mail. You can also <a href='[subscribe_link]'>subscribe</a> without commenting.", 'subscribe-to-comments-reloaded' ), wp_kses_allowed_html( 'post' ) ), '', 'yes' );
|
354 |
+
add_option( 'subscribe_reloaded_subscribed_label', wp_kses( __( "You are subscribed to this post. <a href='[manager_link]'>Manage</a> your subscriptions.", 'subscribe-to-comments-reloaded' ), wp_kses_allowed_html( 'post' ) ), '', 'yes' );
|
355 |
+
add_option( 'subscribe_reloaded_subscribed_waiting_label', wp_kses( __( "Your subscription to this post needs to be confirmed. <a href='[manager_link]'>Manage your subscriptions</a>.", 'subscribe-to-comments-reloaded' ), wp_kses_allowed_html( 'post' ) ), '', 'yes' );
|
356 |
+
add_option( 'subscribe_reloaded_author_label', wp_kses( __( "You can <a href='[manager_link]'>manage the subscriptions</a> of this post.", 'subscribe-to-comments-reloaded' ), wp_kses_allowed_html( 'post' ) ), '', 'yes' );
|
357 |
Â
|
358 |
Â
add_option( 'subscribe_reloaded_manager_page_enabled', 'yes', '', 'yes' );
|
359 |
Â
add_option( 'subscribe_reloaded_virtual_manager_page_enabled', 'yes', '', 'yes' );
|
360 |
+
add_option( 'subscribe_reloaded_manager_page_title', esc_html__( 'Manage subscriptions', 'subscribe-to-comments-reloaded' ), '', 'yes' );
|
361 |
Â
add_option( 'subscribe_reloaded_custom_header_meta', "<meta name='robots' content='noindex,nofollow'>", '', 'yes' );
|
362 |
+
add_option( 'subscribe_reloaded_request_mgmt_link', esc_html__( 'To manage your subscriptions, please enter your email address here below. We will send you a message containing the link to access your personal management page.', 'subscribe-to-comments-reloaded' ), '', 'yes' );
|
363 |
+
add_option( 'subscribe_reloaded_request_mgmt_link_thankyou', esc_html__( 'Thank you for using our subscription service. Your request has been completed, and you should receive an email with the management link in a few minutes.', 'subscribe-to-comments-reloaded' ), '', 'yes' );
|
364 |
+
add_option( 'subscribe_reloaded_subscribe_without_commenting', wp_kses( __( "You can follow the discussion on <strong>[post_title]</strong> without having to leave a comment. Cool, huh? Just enter your email address in the form here below and you're all set.", 'subscribe-to-comments-reloaded' ), wp_kses_allowed_html( 'post' ) ), '', 'yes' );
|
365 |
+
add_option( 'subscribe_reloaded_subscription_confirmed', esc_html__( "Thank you for using our subscription service. Your request has been completed. You will receive a notification email every time a new comment to this article is approved and posted by the administrator.", 'subscribe-to-comments-reloaded' ), '', 'yes' );
|
366 |
+
add_option( 'subscribe_reloaded_subscription_confirmed_dci', esc_html__( "Thank you for using our subscription service. In order to confirm your request, please check your email for the verification message and follow the instructions.", 'subscribe-to-comments-reloaded' ), '', 'yes' );
|
367 |
+
add_option( 'subscribe_reloaded_author_text', esc_html__( "In order to cancel or suspend one or more notifications, select the corresponding checkbox(es) and click on the button at the end of the list.", 'subscribe-to-comments-reloaded' ), '', 'yes' );
|
368 |
+
add_option( 'subscribe_reloaded_user_text', esc_html__( "In order to cancel or suspend one or more notifications, select the corresponding checkbox(es) and click on the button at the end of the list. You are currently subscribed to:", 'subscribe-to-comments-reloaded' ), '', 'yes' );
|
369 |
Â
|
370 |
Â
add_option( 'subscribe_reloaded_from_name', get_bloginfo( 'name' ), '', 'yes' );
|
371 |
Â
add_option( 'subscribe_reloaded_from_email', get_bloginfo( 'admin_email' ), '', 'yes' );
|
372 |
+
add_option( 'subscribe_reloaded_notification_subject', esc_html__( 'There is a new comment to [post_title]', 'subscribe-to-comments-reloaded' ), '', 'yes' );
|
373 |
+
add_option( 'subscribe_reloaded_notification_content', wp_kses( __( "<h1>There is a new comment on [post_title].</h1>\n\n<hr />\n<strong>Comment link:</strong>Â <a href=\"[comment_permalink]\">[comment_permalink]</a>\n<strong>Author:</strong>Â [comment_author]\n\n<strong>Comment:</strong>\n[comment_content]\n<div style=\"font-size: 0.8em;\"><strong>Permalink:</strong>Â <a href=\"[post_permalink]\">[post_permalink]</a>\n<a href=\"[manager_link]\">Manage your subscriptions</a>Â |Â <a href=\"[oneclick_link]\">One click unsubscribe</a></div>", 'subscribe-to-comments-reloaded' ), wp_kses_allowed_html( 'post' ) ), '', 'yes' );
|
374 |
+
add_option( 'subscribe_reloaded_double_check_subject', esc_html__( 'Please confirm your subscription to [post_title]', 'subscribe-to-comments-reloaded' ), '', 'yes' );
|
375 |
+
add_option( 'subscribe_reloaded_double_check_content', wp_kses( __( "You have requested to be notified every time a new comment is added to:\n<a href='[post_permalink]'>[post_permalink]</a>\n\nPlease confirm your request by clicking on this link:\n<a href='[confirm_link]'>[confirm_link]</a>", 'subscribe-to-comments-reloaded' ), wp_kses_allowed_html( 'post' ) ), '', 'yes' );
|
376 |
+
add_option( 'subscribe_reloaded_management_subject', esc_html__( 'Manage your subscriptions on [blog_name]', 'subscribe-to-comments-reloaded' ) );
|
377 |
+
add_option( 'subscribe_reloaded_management_content', esc_html__( "You have requested to manage your subscriptions to the articles on [blog_name]. Please check the Subscriptions management link in your email", 'subscribe-to-comments-reloaded' ) );
|
378 |
+
add_option( 'subscribe_reloaded_management_email_content', wp_kses( __( "You have requested to manage your subscriptions to the articles on [blog_name]. Follow this link to access your personal page:\n<a href='[manager_link]'>[manager_link]</a>", 'subscribe-to-comments-reloaded' ), wp_kses_allowed_html( 'post' ) ) );
|
379 |
Â
|
380 |
Â
add_option( 'subscribe_reloaded_purge_days', '30', '', 'yes' );
|
381 |
Â
add_option( 'subscribe_reloaded_enable_double_check', 'yes', '', 'yes' );
|
490 |
Â
'fromEmail' => $from_email,
|
491 |
Â
'fromName' => $from_name,
|
492 |
Â
'toEmail' => '',
|
493 |
+
'subject' => esc_html__('StCR Notification' ,'subscribe-to-comments-reloaded'),
|
494 |
Â
'message' => '',
|
495 |
Â
'bcc' => '',
|
496 |
Â
'reply_to' => $reply_to,
|
892 |
Â
* @param string $_notification The notification Name of the notice to be deleted.
|
893 |
Â
*/
|
894 |
Â
public function stcr_ajax_update_notification () {
|
895 |
+
$_notification = isset( $_POST['action'] ) ? sanitize_text_field( wp_unslash( $_POST['action'] ) ) : '';
|
896 |
Â
// Check Nonce
|
897 |
Â
check_ajax_referer( $_notification, 'security' );
|
898 |
Â
// Update status
|
vendor/bootstrap/dist/css/bootstrap-grid.css
CHANGED
@@ -1,13 +1,9 @@
|
|
1 |
Â
/*!
|
2 |
-
* Bootstrap Grid v4.
|
3 |
-
* Copyright 2011-
|
4 |
-
* Copyright 2011-
|
5 |
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/
|
6 |
Â
*/
|
7 |
-
@-ms-viewport {
|
8 |
-
width: device-width;
|
9 |
-
}
|
10 |
-
|
11 |
Â
html {
|
12 |
Â
box-sizing: border-box;
|
13 |
Â
-ms-overflow-style: scrollbar;
|
@@ -19,7 +15,12 @@ html {
|
|
19 |
Â
box-sizing: inherit;
|
20 |
Â
}
|
21 |
Â
|
22 |
-
.container
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
23 |
Â
width: 100%;
|
24 |
Â
padding-right: 15px;
|
25 |
Â
padding-left: 15px;
|
@@ -28,39 +29,30 @@ html {
|
|
28 |
Â
}
|
29 |
Â
|
30 |
Â
@media (min-width: 576px) {
|
31 |
-
.container {
|
32 |
Â
max-width: 540px;
|
33 |
Â
}
|
34 |
Â
}
|
35 |
Â
|
36 |
Â
@media (min-width: 768px) {
|
37 |
-
.container {
|
38 |
Â
max-width: 720px;
|
39 |
Â
}
|
40 |
Â
}
|
41 |
Â
|
42 |
Â
@media (min-width: 992px) {
|
43 |
-
.container {
|
44 |
Â
max-width: 960px;
|
45 |
Â
}
|
46 |
Â
}
|
47 |
Â
|
48 |
Â
@media (min-width: 1200px) {
|
49 |
-
.container {
|
50 |
Â
max-width: 1140px;
|
51 |
Â
}
|
52 |
Â
}
|
53 |
Â
|
54 |
-
.container-fluid {
|
55 |
-
width: 100%;
|
56 |
-
padding-right: 15px;
|
57 |
-
padding-left: 15px;
|
58 |
-
margin-right: auto;
|
59 |
-
margin-left: auto;
|
60 |
-
}
|
61 |
-
|
62 |
Â
.row {
|
63 |
-
display: -webkit-box;
|
64 |
Â
display: -ms-flexbox;
|
65 |
Â
display: flex;
|
66 |
Â
-ms-flex-wrap: wrap;
|
@@ -88,7 +80,6 @@ html {
|
|
88 |
Â
.col-xl-auto {
|
89 |
Â
position: relative;
|
90 |
Â
width: 100%;
|
91 |
-
min-height: 1px;
|
92 |
Â
padding-right: 15px;
|
93 |
Â
padding-left: 15px;
|
94 |
Â
}
|
@@ -96,190 +87,197 @@ html {
|
|
96 |
Â
.col {
|
97 |
Â
-ms-flex-preferred-size: 0;
|
98 |
Â
flex-basis: 0;
|
99 |
-
-webkit-box-flex: 1;
|
100 |
Â
-ms-flex-positive: 1;
|
101 |
Â
flex-grow: 1;
|
102 |
Â
max-width: 100%;
|
103 |
Â
}
|
104 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
105 |
Â
.col-auto {
|
106 |
-
-webkit-box-flex: 0;
|
107 |
Â
-ms-flex: 0 0 auto;
|
108 |
Â
flex: 0 0 auto;
|
109 |
Â
width: auto;
|
110 |
-
max-width:
|
111 |
Â
}
|
112 |
Â
|
113 |
Â
.col-1 {
|
114 |
-
-webkit-box-flex: 0;
|
115 |
Â
-ms-flex: 0 0 8.333333%;
|
116 |
Â
flex: 0 0 8.333333%;
|
117 |
Â
max-width: 8.333333%;
|
118 |
Â
}
|
119 |
Â
|
120 |
Â
.col-2 {
|
121 |
-
-webkit-box-flex: 0;
|
122 |
Â
-ms-flex: 0 0 16.666667%;
|
123 |
Â
flex: 0 0 16.666667%;
|
124 |
Â
max-width: 16.666667%;
|
125 |
Â
}
|
126 |
Â
|
127 |
Â
.col-3 {
|
128 |
-
-webkit-box-flex: 0;
|
129 |
Â
-ms-flex: 0 0 25%;
|
130 |
Â
flex: 0 0 25%;
|
131 |
Â
max-width: 25%;
|
132 |
Â
}
|
133 |
Â
|
134 |
Â
.col-4 {
|
135 |
-
-webkit-box-flex: 0;
|
136 |
Â
-ms-flex: 0 0 33.333333%;
|
137 |
Â
flex: 0 0 33.333333%;
|
138 |
Â
max-width: 33.333333%;
|
139 |
Â
}
|
140 |
Â
|
141 |
Â
.col-5 {
|
142 |
-
-webkit-box-flex: 0;
|
143 |
Â
-ms-flex: 0 0 41.666667%;
|
144 |
Â
flex: 0 0 41.666667%;
|
145 |
Â
max-width: 41.666667%;
|
146 |
Â
}
|
147 |
Â
|
148 |
Â
.col-6 {
|
149 |
-
-webkit-box-flex: 0;
|
150 |
Â
-ms-flex: 0 0 50%;
|
151 |
Â
flex: 0 0 50%;
|
152 |
Â
max-width: 50%;
|
153 |
Â
}
|
154 |
Â
|
155 |
Â
.col-7 {
|
156 |
-
-webkit-box-flex: 0;
|
157 |
Â
-ms-flex: 0 0 58.333333%;
|
158 |
Â
flex: 0 0 58.333333%;
|
159 |
Â
max-width: 58.333333%;
|
160 |
Â
}
|
161 |
Â
|
162 |
Â
.col-8 {
|
163 |
-
-webkit-box-flex: 0;
|
164 |
Â
-ms-flex: 0 0 66.666667%;
|
165 |
Â
flex: 0 0 66.666667%;
|
166 |
Â
max-width: 66.666667%;
|
167 |
Â
}
|
168 |
Â
|
169 |
Â
.col-9 {
|
170 |
-
-webkit-box-flex: 0;
|
171 |
Â
-ms-flex: 0 0 75%;
|
172 |
Â
flex: 0 0 75%;
|
173 |
Â
max-width: 75%;
|
174 |
Â
}
|
175 |
Â
|
176 |
Â
.col-10 {
|
177 |
-
-webkit-box-flex: 0;
|
178 |
Â
-ms-flex: 0 0 83.333333%;
|
179 |
Â
flex: 0 0 83.333333%;
|
180 |
Â
max-width: 83.333333%;
|
181 |
Â
}
|
182 |
Â
|
183 |
Â
.col-11 {
|
184 |
-
-webkit-box-flex: 0;
|
185 |
Â
-ms-flex: 0 0 91.666667%;
|
186 |
Â
flex: 0 0 91.666667%;
|
187 |
Â
max-width: 91.666667%;
|
188 |
Â
}
|
189 |
Â
|
190 |
Â
.col-12 {
|
191 |
-
-webkit-box-flex: 0;
|
192 |
Â
-ms-flex: 0 0 100%;
|
193 |
Â
flex: 0 0 100%;
|
194 |
Â
max-width: 100%;
|
195 |
Â
}
|
196 |
Â
|
197 |
Â
.order-first {
|
198 |
-
-webkit-box-ordinal-group: 0;
|
199 |
Â
-ms-flex-order: -1;
|
200 |
Â
order: -1;
|
201 |
Â
}
|
202 |
Â
|
203 |
Â
.order-last {
|
204 |
-
-webkit-box-ordinal-group: 14;
|
205 |
Â
-ms-flex-order: 13;
|
206 |
Â
order: 13;
|
207 |
Â
}
|
208 |
Â
|
209 |
Â
.order-0 {
|
210 |
-
-webkit-box-ordinal-group: 1;
|
211 |
Â
-ms-flex-order: 0;
|
212 |
Â
order: 0;
|
213 |
Â
}
|
214 |
Â
|
215 |
Â
.order-1 {
|
216 |
-
-webkit-box-ordinal-group: 2;
|
217 |
Â
-ms-flex-order: 1;
|
218 |
Â
order: 1;
|
219 |
Â
}
|
220 |
Â
|
221 |
Â
.order-2 {
|
222 |
-
-webkit-box-ordinal-group: 3;
|
223 |
Â
-ms-flex-order: 2;
|
224 |
Â
order: 2;
|
225 |
Â
}
|
226 |
Â
|
227 |
Â
.order-3 {
|
228 |
-
-webkit-box-ordinal-group: 4;
|
229 |
Â
-ms-flex-order: 3;
|
230 |
Â
order: 3;
|
231 |
Â
}
|
232 |
Â
|
233 |
Â
.order-4 {
|
234 |
-
-webkit-box-ordinal-group: 5;
|
235 |
Â
-ms-flex-order: 4;
|
236 |
Â
order: 4;
|
237 |
Â
}
|
238 |
Â
|
239 |
Â
.order-5 {
|
240 |
-
-webkit-box-ordinal-group: 6;
|
241 |
Â
-ms-flex-order: 5;
|
242 |
Â
order: 5;
|
243 |
Â
}
|
244 |
Â
|
245 |
Â
.order-6 {
|
246 |
-
-webkit-box-ordinal-group: 7;
|
247 |
Â
-ms-flex-order: 6;
|
248 |
Â
order: 6;
|
249 |
Â
}
|
250 |
Â
|
251 |
Â
.order-7 {
|
252 |
-
-webkit-box-ordinal-group: 8;
|
253 |
Â
-ms-flex-order: 7;
|
254 |
Â
order: 7;
|
255 |
Â
}
|
256 |
Â
|
257 |
Â
.order-8 {
|
258 |
-
-webkit-box-ordinal-group: 9;
|
259 |
Â
-ms-flex-order: 8;
|
260 |
Â
order: 8;
|
261 |
Â
}
|
262 |
Â
|
263 |
Â
.order-9 {
|
264 |
-
-webkit-box-ordinal-group: 10;
|
265 |
Â
-ms-flex-order: 9;
|
266 |
Â
order: 9;
|
267 |
Â
}
|
268 |
Â
|
269 |
Â
.order-10 {
|
270 |
-
-webkit-box-ordinal-group: 11;
|
271 |
Â
-ms-flex-order: 10;
|
272 |
Â
order: 10;
|
273 |
Â
}
|
274 |
Â
|
275 |
Â
.order-11 {
|
276 |
-
-webkit-box-ordinal-group: 12;
|
277 |
Â
-ms-flex-order: 11;
|
278 |
Â
order: 11;
|
279 |
Â
}
|
280 |
Â
|
281 |
Â
.order-12 {
|
282 |
-
-webkit-box-ordinal-group: 13;
|
283 |
Â
-ms-flex-order: 12;
|
284 |
Â
order: 12;
|
285 |
Â
}
|
@@ -332,162 +330,163 @@ html {
|
|
332 |
Â
.col-sm {
|
333 |
Â
-ms-flex-preferred-size: 0;
|
334 |
Â
flex-basis: 0;
|
335 |
-
-webkit-box-flex: 1;
|
336 |
Â
-ms-flex-positive: 1;
|
337 |
Â
flex-grow: 1;
|
338 |
Â
max-width: 100%;
|
339 |
Â
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
340 |
Â
.col-sm-auto {
|
341 |
-
-webkit-box-flex: 0;
|
342 |
Â
-ms-flex: 0 0 auto;
|
343 |
Â
flex: 0 0 auto;
|
344 |
Â
width: auto;
|
345 |
-
max-width:
|
346 |
Â
}
|
347 |
Â
.col-sm-1 {
|
348 |
-
-webkit-box-flex: 0;
|
349 |
Â
-ms-flex: 0 0 8.333333%;
|
350 |
Â
flex: 0 0 8.333333%;
|
351 |
Â
max-width: 8.333333%;
|
352 |
Â
}
|
353 |
Â
.col-sm-2 {
|
354 |
-
-webkit-box-flex: 0;
|
355 |
Â
-ms-flex: 0 0 16.666667%;
|
356 |
Â
flex: 0 0 16.666667%;
|
357 |
Â
max-width: 16.666667%;
|
358 |
Â
}
|
359 |
Â
.col-sm-3 {
|
360 |
-
-webkit-box-flex: 0;
|
361 |
Â
-ms-flex: 0 0 25%;
|
362 |
Â
flex: 0 0 25%;
|
363 |
Â
max-width: 25%;
|
364 |
Â
}
|
365 |
Â
.col-sm-4 {
|
366 |
-
-webkit-box-flex: 0;
|
367 |
Â
-ms-flex: 0 0 33.333333%;
|
368 |
Â
flex: 0 0 33.333333%;
|
369 |
Â
max-width: 33.333333%;
|
370 |
Â
}
|
371 |
Â
.col-sm-5 {
|
372 |
-
-webkit-box-flex: 0;
|
373 |
Â
-ms-flex: 0 0 41.666667%;
|
374 |
Â
flex: 0 0 41.666667%;
|
375 |
Â
max-width: 41.666667%;
|
376 |
Â
}
|
377 |
Â
.col-sm-6 {
|
378 |
-
-webkit-box-flex: 0;
|
379 |
Â
-ms-flex: 0 0 50%;
|
380 |
Â
flex: 0 0 50%;
|
381 |
Â
max-width: 50%;
|
382 |
Â
}
|
383 |
Â
.col-sm-7 {
|
384 |
-
-webkit-box-flex: 0;
|
385 |
Â
-ms-flex: 0 0 58.333333%;
|
386 |
Â
flex: 0 0 58.333333%;
|
387 |
Â
max-width: 58.333333%;
|
388 |
Â
}
|
389 |
Â
.col-sm-8 {
|
390 |
-
-webkit-box-flex: 0;
|
391 |
Â
-ms-flex: 0 0 66.666667%;
|
392 |
Â
flex: 0 0 66.666667%;
|
393 |
Â
max-width: 66.666667%;
|
394 |
Â
}
|
395 |
Â
.col-sm-9 {
|
396 |
-
-webkit-box-flex: 0;
|
397 |
Â
-ms-flex: 0 0 75%;
|
398 |
Â
flex: 0 0 75%;
|
399 |
Â
max-width: 75%;
|
400 |
Â
}
|
401 |
Â
.col-sm-10 {
|
402 |
-
-webkit-box-flex: 0;
|
403 |
Â
-ms-flex: 0 0 83.333333%;
|
404 |
Â
flex: 0 0 83.333333%;
|
405 |
Â
max-width: 83.333333%;
|
406 |
Â
}
|
407 |
Â
.col-sm-11 {
|
408 |
-
-webkit-box-flex: 0;
|
409 |
Â
-ms-flex: 0 0 91.666667%;
|
410 |
Â
flex: 0 0 91.666667%;
|
411 |
Â
max-width: 91.666667%;
|
412 |
Â
}
|
413 |
Â
.col-sm-12 {
|
414 |
-
-webkit-box-flex: 0;
|
415 |
Â
-ms-flex: 0 0 100%;
|
416 |
Â
flex: 0 0 100%;
|
417 |
Â
max-width: 100%;
|
418 |
Â
}
|
419 |
Â
.order-sm-first {
|
420 |
-
-webkit-box-ordinal-group: 0;
|
421 |
Â
-ms-flex-order: -1;
|
422 |
Â
order: -1;
|
423 |
Â
}
|
424 |
Â
.order-sm-last {
|
425 |
-
-webkit-box-ordinal-group: 14;
|
426 |
Â
-ms-flex-order: 13;
|
427 |
Â
order: 13;
|
428 |
Â
}
|
429 |
Â
.order-sm-0 {
|
430 |
-
-webkit-box-ordinal-group: 1;
|
431 |
Â
-ms-flex-order: 0;
|
432 |
Â
order: 0;
|
433 |
Â
}
|
434 |
Â
.order-sm-1 {
|
435 |
-
-webkit-box-ordinal-group: 2;
|
436 |
Â
-ms-flex-order: 1;
|
437 |
Â
order: 1;
|
438 |
Â
}
|
439 |
Â
.order-sm-2 {
|
440 |
-
-webkit-box-ordinal-group: 3;
|
441 |
Â
-ms-flex-order: 2;
|
442 |
Â
order: 2;
|
443 |
Â
}
|
444 |
Â
.order-sm-3 {
|
445 |
-
-webkit-box-ordinal-group: 4;
|
446 |
Â
-ms-flex-order: 3;
|
447 |
Â
order: 3;
|
448 |
Â
}
|
449 |
Â
.order-sm-4 {
|
450 |
-
-webkit-box-ordinal-group: 5;
|
451 |
Â
-ms-flex-order: 4;
|
452 |
Â
order: 4;
|
453 |
Â
}
|
454 |
Â
.order-sm-5 {
|
455 |
-
-webkit-box-ordinal-group: 6;
|
456 |
Â
-ms-flex-order: 5;
|
457 |
Â
order: 5;
|
458 |
Â
}
|
459 |
Â
.order-sm-6 {
|
460 |
-
-webkit-box-ordinal-group: 7;
|
461 |
Â
-ms-flex-order: 6;
|
462 |
Â
order: 6;
|
463 |
Â
}
|
464 |
Â
.order-sm-7 {
|
465 |
-
-webkit-box-ordinal-group: 8;
|
466 |
Â
-ms-flex-order: 7;
|
467 |
Â
order: 7;
|
468 |
Â
}
|
469 |
Â
.order-sm-8 {
|
470 |
-
-webkit-box-ordinal-group: 9;
|
471 |
Â
-ms-flex-order: 8;
|
472 |
Â
order: 8;
|
473 |
Â
}
|
474 |
Â
.order-sm-9 {
|
475 |
-
-webkit-box-ordinal-group: 10;
|
476 |
Â
-ms-flex-order: 9;
|
477 |
Â
order: 9;
|
478 |
Â
}
|
479 |
Â
.order-sm-10 {
|
480 |
-
-webkit-box-ordinal-group: 11;
|
481 |
Â
-ms-flex-order: 10;
|
482 |
Â
order: 10;
|
483 |
Â
}
|
484 |
Â
.order-sm-11 {
|
485 |
-
-webkit-box-ordinal-group: 12;
|
486 |
Â
-ms-flex-order: 11;
|
487 |
Â
order: 11;
|
488 |
Â
}
|
489 |
Â
.order-sm-12 {
|
490 |
-
-webkit-box-ordinal-group: 13;
|
491 |
Â
-ms-flex-order: 12;
|
492 |
Â
order: 12;
|
493 |
Â
}
|
@@ -533,162 +532,163 @@ html {
|
|
533 |
Â
.col-md {
|
534 |
Â
-ms-flex-preferred-size: 0;
|
535 |
Â
flex-basis: 0;
|
536 |
-
-webkit-box-flex: 1;
|
537 |
Â
-ms-flex-positive: 1;
|
538 |
Â
flex-grow: 1;
|
539 |
Â
max-width: 100%;
|
540 |
Â
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
541 |
Â
.col-md-auto {
|
542 |
-
-webkit-box-flex: 0;
|
543 |
Â
-ms-flex: 0 0 auto;
|
544 |
Â
flex: 0 0 auto;
|
545 |
Â
width: auto;
|
546 |
-
max-width:
|
547 |
Â
}
|
548 |
Â
.col-md-1 {
|
549 |
-
-webkit-box-flex: 0;
|
550 |
Â
-ms-flex: 0 0 8.333333%;
|
551 |
Â
flex: 0 0 8.333333%;
|
552 |
Â
max-width: 8.333333%;
|
553 |
Â
}
|
554 |
Â
.col-md-2 {
|
555 |
-
-webkit-box-flex: 0;
|
556 |
Â
-ms-flex: 0 0 16.666667%;
|
557 |
Â
flex: 0 0 16.666667%;
|
558 |
Â
max-width: 16.666667%;
|
559 |
Â
}
|
560 |
Â
.col-md-3 {
|
561 |
-
-webkit-box-flex: 0;
|
562 |
Â
-ms-flex: 0 0 25%;
|
563 |
Â
flex: 0 0 25%;
|
564 |
Â
max-width: 25%;
|
565 |
Â
}
|
566 |
Â
.col-md-4 {
|
567 |
-
-webkit-box-flex: 0;
|
568 |
Â
-ms-flex: 0 0 33.333333%;
|
569 |
Â
flex: 0 0 33.333333%;
|
570 |
Â
max-width: 33.333333%;
|
571 |
Â
}
|
572 |
Â
.col-md-5 {
|
573 |
-
-webkit-box-flex: 0;
|
574 |
Â
-ms-flex: 0 0 41.666667%;
|
575 |
Â
flex: 0 0 41.666667%;
|
576 |
Â
max-width: 41.666667%;
|
577 |
Â
}
|
578 |
Â
.col-md-6 {
|
579 |
-
-webkit-box-flex: 0;
|
580 |
Â
-ms-flex: 0 0 50%;
|
581 |
Â
flex: 0 0 50%;
|
582 |
Â
max-width: 50%;
|
583 |
Â
}
|
584 |
Â
.col-md-7 {
|
585 |
-
-webkit-box-flex: 0;
|
586 |
Â
-ms-flex: 0 0 58.333333%;
|
587 |
Â
flex: 0 0 58.333333%;
|
588 |
Â
max-width: 58.333333%;
|
589 |
Â
}
|
590 |
Â
.col-md-8 {
|
591 |
-
-webkit-box-flex: 0;
|
592 |
Â
-ms-flex: 0 0 66.666667%;
|
593 |
Â
flex: 0 0 66.666667%;
|
594 |
Â
max-width: 66.666667%;
|
595 |
Â
}
|
596 |
Â
.col-md-9 {
|
597 |
-
-webkit-box-flex: 0;
|
598 |
Â
-ms-flex: 0 0 75%;
|
599 |
Â
flex: 0 0 75%;
|
600 |
Â
max-width: 75%;
|
601 |
Â
}
|
602 |
Â
.col-md-10 {
|
603 |
-
-webkit-box-flex: 0;
|
604 |
Â
-ms-flex: 0 0 83.333333%;
|
605 |
Â
flex: 0 0 83.333333%;
|
606 |
Â
max-width: 83.333333%;
|
607 |
Â
}
|
608 |
Â
.col-md-11 {
|
609 |
-
-webkit-box-flex: 0;
|
610 |
Â
-ms-flex: 0 0 91.666667%;
|
611 |
Â
flex: 0 0 91.666667%;
|
612 |
Â
max-width: 91.666667%;
|
613 |
Â
}
|
614 |
Â
.col-md-12 {
|
615 |
-
-webkit-box-flex: 0;
|
616 |
Â
-ms-flex: 0 0 100%;
|
617 |
Â
flex: 0 0 100%;
|
618 |
Â
max-width: 100%;
|
619 |
Â
}
|
620 |
Â
.order-md-first {
|
621 |
-
-webkit-box-ordinal-group: 0;
|
622 |
Â
-ms-flex-order: -1;
|
623 |
Â
order: -1;
|
624 |
Â
}
|
625 |
Â
.order-md-last {
|
626 |
-
-webkit-box-ordinal-group: 14;
|
627 |
Â
-ms-flex-order: 13;
|
628 |
Â
order: 13;
|
629 |
Â
}
|
630 |
Â
.order-md-0 {
|
631 |
-
-webkit-box-ordinal-group: 1;
|
632 |
Â
-ms-flex-order: 0;
|
633 |
Â
order: 0;
|
634 |
Â
}
|
635 |
Â
.order-md-1 {
|
636 |
-
-webkit-box-ordinal-group: 2;
|
637 |
Â
-ms-flex-order: 1;
|
638 |
Â
order: 1;
|
639 |
Â
}
|
640 |
Â
.order-md-2 {
|
641 |
-
-webkit-box-ordinal-group: 3;
|
642 |
Â
-ms-flex-order: 2;
|
643 |
Â
order: 2;
|
644 |
Â
}
|
645 |
Â
.order-md-3 {
|
646 |
-
-webkit-box-ordinal-group: 4;
|
647 |
Â
-ms-flex-order: 3;
|
648 |
Â
order: 3;
|
649 |
Â
}
|
650 |
Â
.order-md-4 {
|
651 |
-
-webkit-box-ordinal-group: 5;
|
652 |
Â
-ms-flex-order: 4;
|
653 |
Â
order: 4;
|
654 |
Â
}
|
655 |
Â
.order-md-5 {
|
656 |
-
-webkit-box-ordinal-group: 6;
|
657 |
Â
-ms-flex-order: 5;
|
658 |
Â
order: 5;
|
659 |
Â
}
|
660 |
Â
.order-md-6 {
|
661 |
-
-webkit-box-ordinal-group: 7;
|
662 |
Â
-ms-flex-order: 6;
|
663 |
Â
order: 6;
|
664 |
Â
}
|
665 |
Â
.order-md-7 {
|
666 |
-
-webkit-box-ordinal-group: 8;
|
667 |
Â
-ms-flex-order: 7;
|
668 |
Â
order: 7;
|
669 |
Â
}
|
670 |
Â
.order-md-8 {
|
671 |
-
-webkit-box-ordinal-group: 9;
|
672 |
Â
-ms-flex-order: 8;
|
673 |
Â
order: 8;
|
674 |
Â
}
|
675 |
Â
.order-md-9 {
|
676 |
-
-webkit-box-ordinal-group: 10;
|
677 |
Â
-ms-flex-order: 9;
|
678 |
Â
order: 9;
|
679 |
Â
}
|
680 |
Â
.order-md-10 {
|
681 |
-
-webkit-box-ordinal-group: 11;
|
682 |
Â
-ms-flex-order: 10;
|
683 |
Â
order: 10;
|
684 |
Â
}
|
685 |
Â
.order-md-11 {
|
686 |
-
-webkit-box-ordinal-group: 12;
|
687 |
Â
-ms-flex-order: 11;
|
688 |
Â
order: 11;
|
689 |
Â
}
|
690 |
Â
.order-md-12 {
|
691 |
-
-webkit-box-ordinal-group: 13;
|
692 |
Â
-ms-flex-order: 12;
|
693 |
Â
order: 12;
|
694 |
Â
}
|
@@ -734,162 +734,163 @@ html {
|
|
734 |
Â
.col-lg {
|
735 |
Â
-ms-flex-preferred-size: 0;
|
736 |
Â
flex-basis: 0;
|
737 |
-
-webkit-box-flex: 1;
|
738 |
Â
-ms-flex-positive: 1;
|
739 |
Â
flex-grow: 1;
|
740 |
Â
max-width: 100%;
|
741 |
Â
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
742 |
Â
.col-lg-auto {
|
743 |
-
-webkit-box-flex: 0;
|
744 |
Â
-ms-flex: 0 0 auto;
|
745 |
Â
flex: 0 0 auto;
|
746 |
Â
width: auto;
|
747 |
-
max-width:
|
748 |
Â
}
|
749 |
Â
.col-lg-1 {
|
750 |
-
-webkit-box-flex: 0;
|
751 |
Â
-ms-flex: 0 0 8.333333%;
|
752 |
Â
flex: 0 0 8.333333%;
|
753 |
Â
max-width: 8.333333%;
|
754 |
Â
}
|
755 |
Â
.col-lg-2 {
|
756 |
-
-webkit-box-flex: 0;
|
757 |
Â
-ms-flex: 0 0 16.666667%;
|
758 |
Â
flex: 0 0 16.666667%;
|
759 |
Â
max-width: 16.666667%;
|
760 |
Â
}
|
761 |
Â
.col-lg-3 {
|
762 |
-
-webkit-box-flex: 0;
|
763 |
Â
-ms-flex: 0 0 25%;
|
764 |
Â
flex: 0 0 25%;
|
765 |
Â
max-width: 25%;
|
766 |
Â
}
|
767 |
Â
.col-lg-4 {
|
768 |
-
-webkit-box-flex: 0;
|
769 |
Â
-ms-flex: 0 0 33.333333%;
|
770 |
Â
flex: 0 0 33.333333%;
|
771 |
Â
max-width: 33.333333%;
|
772 |
Â
}
|
773 |
Â
.col-lg-5 {
|
774 |
-
-webkit-box-flex: 0;
|
775 |
Â
-ms-flex: 0 0 41.666667%;
|
776 |
Â
flex: 0 0 41.666667%;
|
777 |
Â
max-width: 41.666667%;
|
778 |
Â
}
|
779 |
Â
.col-lg-6 {
|
780 |
-
-webkit-box-flex: 0;
|
781 |
Â
-ms-flex: 0 0 50%;
|
782 |
Â
flex: 0 0 50%;
|
783 |
Â
max-width: 50%;
|
784 |
Â
}
|
785 |
Â
.col-lg-7 {
|
786 |
-
-webkit-box-flex: 0;
|
787 |
Â
-ms-flex: 0 0 58.333333%;
|
788 |
Â
flex: 0 0 58.333333%;
|
789 |
Â
max-width: 58.333333%;
|
790 |
Â
}
|
791 |
Â
.col-lg-8 {
|
792 |
-
-webkit-box-flex: 0;
|
793 |
Â
-ms-flex: 0 0 66.666667%;
|
794 |
Â
flex: 0 0 66.666667%;
|
795 |
Â
max-width: 66.666667%;
|
796 |
Â
}
|
797 |
Â
.col-lg-9 {
|
798 |
-
-webkit-box-flex: 0;
|
799 |
Â
-ms-flex: 0 0 75%;
|
800 |
Â
flex: 0 0 75%;
|
801 |
Â
max-width: 75%;
|
802 |
Â
}
|
803 |
Â
.col-lg-10 {
|
804 |
-
-webkit-box-flex: 0;
|
805 |
Â
-ms-flex: 0 0 83.333333%;
|
806 |
Â
flex: 0 0 83.333333%;
|
807 |
Â
max-width: 83.333333%;
|
808 |
Â
}
|
809 |
Â
.col-lg-11 {
|
810 |
-
-webkit-box-flex: 0;
|
811 |
Â
-ms-flex: 0 0 91.666667%;
|
812 |
Â
flex: 0 0 91.666667%;
|
813 |
Â
max-width: 91.666667%;
|
814 |
Â
}
|
815 |
Â
.col-lg-12 {
|
816 |
-
-webkit-box-flex: 0;
|
817 |
Â
-ms-flex: 0 0 100%;
|
818 |
Â
flex: 0 0 100%;
|
819 |
Â
max-width: 100%;
|
820 |
Â
}
|
821 |
Â
.order-lg-first {
|
822 |
-
-webkit-box-ordinal-group: 0;
|
823 |
Â
-ms-flex-order: -1;
|
824 |
Â
order: -1;
|
825 |
Â
}
|
826 |
Â
.order-lg-last {
|
827 |
-
-webkit-box-ordinal-group: 14;
|
828 |
Â
-ms-flex-order: 13;
|
829 |
Â
order: 13;
|
830 |
Â
}
|
831 |
Â
.order-lg-0 {
|
832 |
-
-webkit-box-ordinal-group: 1;
|
833 |
Â
-ms-flex-order: 0;
|
834 |
Â
order: 0;
|
835 |
Â
}
|
836 |
Â
.order-lg-1 {
|
837 |
-
-webkit-box-ordinal-group: 2;
|
838 |
Â
-ms-flex-order: 1;
|
839 |
Â
order: 1;
|
840 |
Â
}
|
841 |
Â
.order-lg-2 {
|
842 |
-
-webkit-box-ordinal-group: 3;
|
843 |
Â
-ms-flex-order: 2;
|
844 |
Â
order: 2;
|
845 |
Â
}
|
846 |
Â
.order-lg-3 {
|
847 |
-
-webkit-box-ordinal-group: 4;
|
848 |
Â
-ms-flex-order: 3;
|
849 |
Â
order: 3;
|
850 |
Â
}
|
851 |
Â
.order-lg-4 {
|
852 |
-
-webkit-box-ordinal-group: 5;
|
853 |
Â
-ms-flex-order: 4;
|
854 |
Â
order: 4;
|
855 |
Â
}
|
856 |
Â
.order-lg-5 {
|
857 |
-
-webkit-box-ordinal-group: 6;
|
858 |
Â
-ms-flex-order: 5;
|
859 |
Â
order: 5;
|
860 |
Â
}
|
861 |
Â
.order-lg-6 {
|
862 |
-
-webkit-box-ordinal-group: 7;
|
863 |
Â
-ms-flex-order: 6;
|
864 |
Â
order: 6;
|
865 |
Â
}
|
866 |
Â
.order-lg-7 {
|
867 |
-
-webkit-box-ordinal-group: 8;
|
868 |
Â
-ms-flex-order: 7;
|
869 |
Â
order: 7;
|
870 |
Â
}
|
871 |
Â
.order-lg-8 {
|
872 |
-
-webkit-box-ordinal-group: 9;
|
873 |
Â
-ms-flex-order: 8;
|
874 |
Â
order: 8;
|
875 |
Â
}
|
876 |
Â
.order-lg-9 {
|
877 |
-
-webkit-box-ordinal-group: 10;
|
878 |
Â
-ms-flex-order: 9;
|
879 |
Â
order: 9;
|
880 |
Â
}
|
881 |
Â
.order-lg-10 {
|
882 |
-
-webkit-box-ordinal-group: 11;
|
883 |
Â
-ms-flex-order: 10;
|
884 |
Â
order: 10;
|
885 |
Â
}
|
886 |
Â
.order-lg-11 {
|
887 |
-
-webkit-box-ordinal-group: 12;
|
888 |
Â
-ms-flex-order: 11;
|
889 |
Â
order: 11;
|
890 |
Â
}
|
891 |
Â
.order-lg-12 {
|
892 |
-
-webkit-box-ordinal-group: 13;
|
893 |
Â
-ms-flex-order: 12;
|
894 |
Â
order: 12;
|
895 |
Â
}
|
@@ -935,162 +936,163 @@ html {
|
|
935 |
Â
.col-xl {
|
936 |
Â
-ms-flex-preferred-size: 0;
|
937 |
Â
flex-basis: 0;
|
938 |
-
-webkit-box-flex: 1;
|
939 |
Â
-ms-flex-positive: 1;
|
940 |
Â
flex-grow: 1;
|
941 |
Â
max-width: 100%;
|
942 |
Â
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
943 |
Â
.col-xl-auto {
|
944 |
-
-webkit-box-flex: 0;
|
945 |
Â
-ms-flex: 0 0 auto;
|
946 |
Â
flex: 0 0 auto;
|
947 |
Â
width: auto;
|
948 |
-
max-width:
|
949 |
Â
}
|
950 |
Â
.col-xl-1 {
|
951 |
-
-webkit-box-flex: 0;
|
952 |
Â
-ms-flex: 0 0 8.333333%;
|
953 |
Â
flex: 0 0 8.333333%;
|
954 |
Â
max-width: 8.333333%;
|
955 |
Â
}
|
956 |
Â
.col-xl-2 {
|
957 |
-
-webkit-box-flex: 0;
|
958 |
Â
-ms-flex: 0 0 16.666667%;
|
959 |
Â
flex: 0 0 16.666667%;
|
960 |
Â
max-width: 16.666667%;
|
961 |
Â
}
|
962 |
Â
.col-xl-3 {
|
963 |
-
-webkit-box-flex: 0;
|
964 |
Â
-ms-flex: 0 0 25%;
|
965 |
Â
flex: 0 0 25%;
|
966 |
Â
max-width: 25%;
|
967 |
Â
}
|
968 |
Â
.col-xl-4 {
|
969 |
-
-webkit-box-flex: 0;
|
970 |
Â
-ms-flex: 0 0 33.333333%;
|
971 |
Â
flex: 0 0 33.333333%;
|
972 |
Â
max-width: 33.333333%;
|
973 |
Â
}
|
974 |
Â
.col-xl-5 {
|
975 |
-
-webkit-box-flex: 0;
|
976 |
Â
-ms-flex: 0 0 41.666667%;
|
977 |
Â
flex: 0 0 41.666667%;
|
978 |
Â
max-width: 41.666667%;
|
979 |
Â
}
|
980 |
Â
.col-xl-6 {
|
981 |
-
-webkit-box-flex: 0;
|
982 |
Â
-ms-flex: 0 0 50%;
|
983 |
Â
flex: 0 0 50%;
|
984 |
Â
max-width: 50%;
|
985 |
Â
}
|
986 |
Â
.col-xl-7 {
|
987 |
-
-webkit-box-flex: 0;
|
988 |
Â
-ms-flex: 0 0 58.333333%;
|
989 |
Â
flex: 0 0 58.333333%;
|
990 |
Â
max-width: 58.333333%;
|
991 |
Â
}
|
992 |
Â
.col-xl-8 {
|
993 |
-
-webkit-box-flex: 0;
|
994 |
Â
-ms-flex: 0 0 66.666667%;
|
995 |
Â
flex: 0 0 66.666667%;
|
996 |
Â
max-width: 66.666667%;
|
997 |
Â
}
|
998 |
Â
.col-xl-9 {
|
999 |
-
-webkit-box-flex: 0;
|
1000 |
Â
-ms-flex: 0 0 75%;
|
1001 |
Â
flex: 0 0 75%;
|
1002 |
Â
max-width: 75%;
|
1003 |
Â
}
|
1004 |
Â
.col-xl-10 {
|
1005 |
-
-webkit-box-flex: 0;
|
1006 |
Â
-ms-flex: 0 0 83.333333%;
|
1007 |
Â
flex: 0 0 83.333333%;
|
1008 |
Â
max-width: 83.333333%;
|
1009 |
Â
}
|
1010 |
Â
.col-xl-11 {
|
1011 |
-
-webkit-box-flex: 0;
|
1012 |
Â
-ms-flex: 0 0 91.666667%;
|
1013 |
Â
flex: 0 0 91.666667%;
|
1014 |
Â
max-width: 91.666667%;
|
1015 |
Â
}
|
1016 |
Â
.col-xl-12 {
|
1017 |
-
-webkit-box-flex: 0;
|
1018 |
Â
-ms-flex: 0 0 100%;
|
1019 |
Â
flex: 0 0 100%;
|
1020 |
Â
max-width: 100%;
|
1021 |
Â
}
|
1022 |
Â
.order-xl-first {
|
1023 |
-
-webkit-box-ordinal-group: 0;
|
1024 |
Â
-ms-flex-order: -1;
|
1025 |
Â
order: -1;
|
1026 |
Â
}
|
1027 |
Â
.order-xl-last {
|
1028 |
-
-webkit-box-ordinal-group: 14;
|
1029 |
Â
-ms-flex-order: 13;
|
1030 |
Â
order: 13;
|
1031 |
Â
}
|
1032 |
Â
.order-xl-0 {
|
1033 |
-
-webkit-box-ordinal-group: 1;
|
1034 |
Â
-ms-flex-order: 0;
|
1035 |
Â
order: 0;
|
1036 |
Â
}
|
1037 |
Â
.order-xl-1 {
|
1038 |
-
-webkit-box-ordinal-group: 2;
|
1039 |
Â
-ms-flex-order: 1;
|
1040 |
Â
order: 1;
|
1041 |
Â
}
|
1042 |
Â
.order-xl-2 {
|
1043 |
-
-webkit-box-ordinal-group: 3;
|
1044 |
Â
-ms-flex-order: 2;
|
1045 |
Â
order: 2;
|
1046 |
Â
}
|
1047 |
Â
.order-xl-3 {
|
1048 |
-
-webkit-box-ordinal-group: 4;
|
1049 |
Â
-ms-flex-order: 3;
|
1050 |
Â
order: 3;
|
1051 |
Â
}
|
1052 |
Â
.order-xl-4 {
|
1053 |
-
-webkit-box-ordinal-group: 5;
|
1054 |
Â
-ms-flex-order: 4;
|
1055 |
Â
order: 4;
|
1056 |
Â
}
|
1057 |
Â
.order-xl-5 {
|
1058 |
-
-webkit-box-ordinal-group: 6;
|
1059 |
Â
-ms-flex-order: 5;
|
1060 |
Â
order: 5;
|
1061 |
Â
}
|
1062 |
Â
.order-xl-6 {
|
1063 |
-
-webkit-box-ordinal-group: 7;
|
1064 |
Â
-ms-flex-order: 6;
|
1065 |
Â
order: 6;
|
1066 |
Â
}
|
1067 |
Â
.order-xl-7 {
|
1068 |
-
-webkit-box-ordinal-group: 8;
|
1069 |
Â
-ms-flex-order: 7;
|
1070 |
Â
order: 7;
|
1071 |
Â
}
|
1072 |
Â
.order-xl-8 {
|
1073 |
-
-webkit-box-ordinal-group: 9;
|
1074 |
Â
-ms-flex-order: 8;
|
1075 |
Â
order: 8;
|
1076 |
Â
}
|
1077 |
Â
.order-xl-9 {
|
1078 |
-
-webkit-box-ordinal-group: 10;
|
1079 |
Â
-ms-flex-order: 9;
|
1080 |
Â
order: 9;
|
1081 |
Â
}
|
1082 |
Â
.order-xl-10 {
|
1083 |
-
-webkit-box-ordinal-group: 11;
|
1084 |
Â
-ms-flex-order: 10;
|
1085 |
Â
order: 10;
|
1086 |
Â
}
|
1087 |
Â
.order-xl-11 {
|
1088 |
-
-webkit-box-ordinal-group: 12;
|
1089 |
Â
-ms-flex-order: 11;
|
1090 |
Â
order: 11;
|
1091 |
Â
}
|
1092 |
Â
.order-xl-12 {
|
1093 |
-
-webkit-box-ordinal-group: 13;
|
1094 |
Â
-ms-flex-order: 12;
|
1095 |
Â
order: 12;
|
1096 |
Â
}
|
@@ -1161,13 +1163,11 @@ html {
|
|
1161 |
Â
}
|
1162 |
Â
|
1163 |
Â
.d-flex {
|
1164 |
-
display: -webkit-box !important;
|
1165 |
Â
display: -ms-flexbox !important;
|
1166 |
Â
display: flex !important;
|
1167 |
Â
}
|
1168 |
Â
|
1169 |
Â
.d-inline-flex {
|
1170 |
-
display: -webkit-inline-box !important;
|
1171 |
Â
display: -ms-inline-flexbox !important;
|
1172 |
Â
display: inline-flex !important;
|
1173 |
Â
}
|
@@ -1195,12 +1195,10 @@ html {
|
|
1195 |
Â
display: table-cell !important;
|
1196 |
Â
}
|
1197 |
Â
.d-sm-flex {
|
1198 |
-
display: -webkit-box !important;
|
1199 |
Â
display: -ms-flexbox !important;
|
1200 |
Â
display: flex !important;
|
1201 |
Â
}
|
1202 |
Â
.d-sm-inline-flex {
|
1203 |
-
display: -webkit-inline-box !important;
|
1204 |
Â
display: -ms-inline-flexbox !important;
|
1205 |
Â
display: inline-flex !important;
|
1206 |
Â
}
|
@@ -1229,12 +1227,10 @@ html {
|
|
1229 |
Â
display: table-cell !important;
|
1230 |
Â
}
|
1231 |
Â
.d-md-flex {
|
1232 |
-
display: -webkit-box !important;
|
1233 |
Â
display: -ms-flexbox !important;
|
1234 |
Â
display: flex !important;
|
1235 |
Â
}
|
1236 |
Â
.d-md-inline-flex {
|
1237 |
-
display: -webkit-inline-box !important;
|
1238 |
Â
display: -ms-inline-flexbox !important;
|
1239 |
Â
display: inline-flex !important;
|
1240 |
Â
}
|
@@ -1263,12 +1259,10 @@ html {
|
|
1263 |
Â
display: table-cell !important;
|
1264 |
Â
}
|
1265 |
Â
.d-lg-flex {
|
1266 |
-
display: -webkit-box !important;
|
1267 |
Â
display: -ms-flexbox !important;
|
1268 |
Â
display: flex !important;
|
1269 |
Â
}
|
1270 |
Â
.d-lg-inline-flex {
|
1271 |
-
display: -webkit-inline-box !important;
|
1272 |
Â
display: -ms-inline-flexbox !important;
|
1273 |
Â
display: inline-flex !important;
|
1274 |
Â
}
|
@@ -1297,12 +1291,10 @@ html {
|
|
1297 |
Â
display: table-cell !important;
|
1298 |
Â
}
|
1299 |
Â
.d-xl-flex {
|
1300 |
-
display: -webkit-box !important;
|
1301 |
Â
display: -ms-flexbox !important;
|
1302 |
Â
display: flex !important;
|
1303 |
Â
}
|
1304 |
Â
.d-xl-inline-flex {
|
1305 |
-
display: -webkit-inline-box !important;
|
1306 |
Â
display: -ms-inline-flexbox !important;
|
1307 |
Â
display: inline-flex !important;
|
1308 |
Â
}
|
@@ -1331,41 +1323,31 @@ html {
|
|
1331 |
Â
display: table-cell !important;
|
1332 |
Â
}
|
1333 |
Â
.d-print-flex {
|
1334 |
-
display: -webkit-box !important;
|
1335 |
Â
display: -ms-flexbox !important;
|
1336 |
Â
display: flex !important;
|
1337 |
Â
}
|
1338 |
Â
.d-print-inline-flex {
|
1339 |
-
display: -webkit-inline-box !important;
|
1340 |
Â
display: -ms-inline-flexbox !important;
|
1341 |
Â
display: inline-flex !important;
|
1342 |
Â
}
|
1343 |
Â
}
|
1344 |
Â
|
1345 |
Â
.flex-row {
|
1346 |
-
-webkit-box-orient: horizontal !important;
|
1347 |
-
-webkit-box-direction: normal !important;
|
1348 |
Â
-ms-flex-direction: row !important;
|
1349 |
Â
flex-direction: row !important;
|
1350 |
Â
}
|
1351 |
Â
|
1352 |
Â
.flex-column {
|
1353 |
-
-webkit-box-orient: vertical !important;
|
1354 |
-
-webkit-box-direction: normal !important;
|
1355 |
Â
-ms-flex-direction: column !important;
|
1356 |
Â
flex-direction: column !important;
|
1357 |
Â
}
|
1358 |
Â
|
1359 |
Â
.flex-row-reverse {
|
1360 |
-
-webkit-box-orient: horizontal !important;
|
1361 |
-
-webkit-box-direction: reverse !important;
|
1362 |
Â
-ms-flex-direction: row-reverse !important;
|
1363 |
Â
flex-direction: row-reverse !important;
|
1364 |
Â
}
|
1365 |
Â
|
1366 |
Â
.flex-column-reverse {
|
1367 |
-
-webkit-box-orient: vertical !important;
|
1368 |
-
-webkit-box-direction: reverse !important;
|
1369 |
Â
-ms-flex-direction: column-reverse !important;
|
1370 |
Â
flex-direction: column-reverse !important;
|
1371 |
Â
}
|
@@ -1385,26 +1367,47 @@ html {
|
|
1385 |
Â
flex-wrap: wrap-reverse !important;
|
1386 |
Â
}
|
1387 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
1388 |
Â
.justify-content-start {
|
1389 |
-
-webkit-box-pack: start !important;
|
1390 |
Â
-ms-flex-pack: start !important;
|
1391 |
Â
justify-content: flex-start !important;
|
1392 |
Â
}
|
1393 |
Â
|
1394 |
Â
.justify-content-end {
|
1395 |
-
-webkit-box-pack: end !important;
|
1396 |
Â
-ms-flex-pack: end !important;
|
1397 |
Â
justify-content: flex-end !important;
|
1398 |
Â
}
|
1399 |
Â
|
1400 |
Â
.justify-content-center {
|
1401 |
-
-webkit-box-pack: center !important;
|
1402 |
Â
-ms-flex-pack: center !important;
|
1403 |
Â
justify-content: center !important;
|
1404 |
Â
}
|
1405 |
Â
|
1406 |
Â
.justify-content-between {
|
1407 |
-
-webkit-box-pack: justify !important;
|
1408 |
Â
-ms-flex-pack: justify !important;
|
1409 |
Â
justify-content: space-between !important;
|
1410 |
Â
}
|
@@ -1415,31 +1418,26 @@ html {
|
|
1415 |
Â
}
|
1416 |
Â
|
1417 |
Â
.align-items-start {
|
1418 |
-
-webkit-box-align: start !important;
|
1419 |
Â
-ms-flex-align: start !important;
|
1420 |
Â
align-items: flex-start !important;
|
1421 |
Â
}
|
1422 |
Â
|
1423 |
Â
.align-items-end {
|
1424 |
-
-webkit-box-align: end !important;
|
1425 |
Â
-ms-flex-align: end !important;
|
1426 |
Â
align-items: flex-end !important;
|
1427 |
Â
}
|
1428 |
Â
|
1429 |
Â
.align-items-center {
|
1430 |
-
-webkit-box-align: center !important;
|
1431 |
Â
-ms-flex-align: center !important;
|
1432 |
Â
align-items: center !important;
|
1433 |
Â
}
|
1434 |
Â
|
1435 |
Â
.align-items-baseline {
|
1436 |
-
-webkit-box-align: baseline !important;
|
1437 |
Â
-ms-flex-align: baseline !important;
|
1438 |
Â
align-items: baseline !important;
|
1439 |
Â
}
|
1440 |
Â
|
1441 |
Â
.align-items-stretch {
|
1442 |
-
-webkit-box-align: stretch !important;
|
1443 |
Â
-ms-flex-align: stretch !important;
|
1444 |
Â
align-items: stretch !important;
|
1445 |
Â
}
|
@@ -1506,26 +1504,18 @@ html {
|
|
1506 |
Â
|
1507 |
Â
@media (min-width: 576px) {
|
1508 |
Â
.flex-sm-row {
|
1509 |
-
-webkit-box-orient: horizontal !important;
|
1510 |
-
-webkit-box-direction: normal !important;
|
1511 |
Â
-ms-flex-direction: row !important;
|
1512 |
Â
flex-direction: row !important;
|
1513 |
Â
}
|
1514 |
Â
.flex-sm-column {
|
1515 |
-
-webkit-box-orient: vertical !important;
|
1516 |
-
-webkit-box-direction: normal !important;
|
1517 |
Â
-ms-flex-direction: column !important;
|
1518 |
Â
flex-direction: column !important;
|
1519 |
Â
}
|
1520 |
Â
.flex-sm-row-reverse {
|
1521 |
-
-webkit-box-orient: horizontal !important;
|
1522 |
-
-webkit-box-direction: reverse !important;
|
1523 |
Â
-ms-flex-direction: row-reverse !important;
|
1524 |
Â
flex-direction: row-reverse !important;
|
1525 |
Â
}
|
1526 |
Â
.flex-sm-column-reverse {
|
1527 |
-
-webkit-box-orient: vertical !important;
|
1528 |
-
-webkit-box-direction: reverse !important;
|
1529 |
Â
-ms-flex-direction: column-reverse !important;
|
1530 |
Â
flex-direction: column-reverse !important;
|
1531 |
Â
}
|
@@ -1541,23 +1531,39 @@ html {
|
|
1541 |
Â
-ms-flex-wrap: wrap-reverse !important;
|
1542 |
Â
flex-wrap: wrap-reverse !important;
|
1543 |
Â
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
1544 |
Â
.justify-content-sm-start {
|
1545 |
-
-webkit-box-pack: start !important;
|
1546 |
Â
-ms-flex-pack: start !important;
|
1547 |
Â
justify-content: flex-start !important;
|
1548 |
Â
}
|
1549 |
Â
.justify-content-sm-end {
|
1550 |
-
-webkit-box-pack: end !important;
|
1551 |
Â
-ms-flex-pack: end !important;
|
1552 |
Â
justify-content: flex-end !important;
|
1553 |
Â
}
|
1554 |
Â
.justify-content-sm-center {
|
1555 |
-
-webkit-box-pack: center !important;
|
1556 |
Â
-ms-flex-pack: center !important;
|
1557 |
Â
justify-content: center !important;
|
1558 |
Â
}
|
1559 |
Â
.justify-content-sm-between {
|
1560 |
-
-webkit-box-pack: justify !important;
|
1561 |
Â
-ms-flex-pack: justify !important;
|
1562 |
Â
justify-content: space-between !important;
|
1563 |
Â
}
|
@@ -1566,27 +1572,22 @@ html {
|
|
1566 |
Â
justify-content: space-around !important;
|
1567 |
Â
}
|
1568 |
Â
.align-items-sm-start {
|
1569 |
-
-webkit-box-align: start !important;
|
1570 |
Â
-ms-flex-align: start !important;
|
1571 |
Â
align-items: flex-start !important;
|
1572 |
Â
}
|
1573 |
Â
.align-items-sm-end {
|
1574 |
-
-webkit-box-align: end !important;
|
1575 |
Â
-ms-flex-align: end !important;
|
1576 |
Â
align-items: flex-end !important;
|
1577 |
Â
}
|
1578 |
Â
.align-items-sm-center {
|
1579 |
-
-webkit-box-align: center !important;
|
1580 |
Â
-ms-flex-align: center !important;
|
1581 |
Â
align-items: center !important;
|
1582 |
Â
}
|
1583 |
Â
.align-items-sm-baseline {
|
1584 |
-
-webkit-box-align: baseline !important;
|
1585 |
Â
-ms-flex-align: baseline !important;
|
1586 |
Â
align-items: baseline !important;
|
1587 |
Â
}
|
1588 |
Â
.align-items-sm-stretch {
|
1589 |
-
-webkit-box-align: stretch !important;
|
1590 |
Â
-ms-flex-align: stretch !important;
|
1591 |
Â
align-items: stretch !important;
|
1592 |
Â
}
|
@@ -1642,26 +1643,18 @@ html {
|
|
1642 |
Â
|
1643 |
Â
@media (min-width: 768px) {
|
1644 |
Â
.flex-md-row {
|
1645 |
-
-webkit-box-orient: horizontal !important;
|
1646 |
-
-webkit-box-direction: normal !important;
|
1647 |
Â
-ms-flex-direction: row !important;
|
1648 |
Â
flex-direction: row !important;
|
1649 |
Â
}
|
1650 |
Â
.flex-md-column {
|
1651 |
-
-webkit-box-orient: vertical !important;
|
1652 |
-
-webkit-box-direction: normal !important;
|
1653 |
Â
-ms-flex-direction: column !important;
|
1654 |
Â
flex-direction: column !important;
|
1655 |
Â
}
|
1656 |
Â
.flex-md-row-reverse {
|
1657 |
-
-webkit-box-orient: horizontal !important;
|
1658 |
-
-webkit-box-direction: reverse !important;
|
1659 |
Â
-ms-flex-direction: row-reverse !important;
|
1660 |
Â
flex-direction: row-reverse !important;
|
1661 |
Â
}
|
1662 |
Â
.flex-md-column-reverse {
|
1663 |
-
-webkit-box-orient: vertical !important;
|
1664 |
-
-webkit-box-direction: reverse !important;
|
1665 |
Â
-ms-flex-direction: column-reverse !important;
|
1666 |
Â
flex-direction: column-reverse !important;
|
1667 |
Â
}
|
@@ -1677,23 +1670,39 @@ html {
|
|
1677 |
Â
-ms-flex-wrap: wrap-reverse !important;
|
1678 |
Â
flex-wrap: wrap-reverse !important;
|
1679 |
Â
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
1680 |
Â
.justify-content-md-start {
|
1681 |
-
-webkit-box-pack: start !important;
|
1682 |
Â
-ms-flex-pack: start !important;
|
1683 |
Â
justify-content: flex-start !important;
|
1684 |
Â
}
|
1685 |
Â
.justify-content-md-end {
|
1686 |
-
-webkit-box-pack: end !important;
|
1687 |
Â
-ms-flex-pack: end !important;
|
1688 |
Â
justify-content: flex-end !important;
|
1689 |
Â
}
|
1690 |
Â
.justify-content-md-center {
|
1691 |
-
-webkit-box-pack: center !important;
|
1692 |
Â
-ms-flex-pack: center !important;
|
1693 |
Â
justify-content: center !important;
|
1694 |
Â
}
|
1695 |
Â
.justify-content-md-between {
|
1696 |
-
-webkit-box-pack: justify !important;
|
1697 |
Â
-ms-flex-pack: justify !important;
|
1698 |
Â
justify-content: space-between !important;
|
1699 |
Â
}
|
@@ -1702,27 +1711,22 @@ html {
|
|
1702 |
Â
justify-content: space-around !important;
|
1703 |
Â
}
|
1704 |
Â
.align-items-md-start {
|
1705 |
-
-webkit-box-align: start !important;
|
1706 |
Â
-ms-flex-align: start !important;
|
1707 |
Â
align-items: flex-start !important;
|
1708 |
Â
}
|
1709 |
Â
.align-items-md-end {
|
1710 |
-
-webkit-box-align: end !important;
|
1711 |
Â
-ms-flex-align: end !important;
|
1712 |
Â
align-items: flex-end !important;
|
1713 |
Â
}
|
1714 |
Â
.align-items-md-center {
|
1715 |
-
-webkit-box-align: center !important;
|
1716 |
Â
-ms-flex-align: center !important;
|
1717 |
Â
align-items: center !important;
|
1718 |
Â
}
|
1719 |
Â
.align-items-md-baseline {
|
1720 |
-
-webkit-box-align: baseline !important;
|
1721 |
Â
-ms-flex-align: baseline !important;
|
1722 |
Â
align-items: baseline !important;
|
1723 |
Â
}
|
1724 |
Â
.align-items-md-stretch {
|
1725 |
-
-webkit-box-align: stretch !important;
|
1726 |
Â
-ms-flex-align: stretch !important;
|
1727 |
Â
align-items: stretch !important;
|
1728 |
Â
}
|
@@ -1778,26 +1782,18 @@ html {
|
|
1778 |
Â
|
1779 |
Â
@media (min-width: 992px) {
|
1780 |
Â
.flex-lg-row {
|
1781 |
-
-webkit-box-orient: horizontal !important;
|
1782 |
-
-webkit-box-direction: normal !important;
|
1783 |
Â
-ms-flex-direction: row !important;
|
1784 |
Â
flex-direction: row !important;
|
1785 |
Â
}
|
1786 |
Â
.flex-lg-column {
|
1787 |
-
-webkit-box-orient: vertical !important;
|
1788 |
-
-webkit-box-direction: normal !important;
|
1789 |
Â
-ms-flex-direction: column !important;
|
1790 |
Â
flex-direction: column !important;
|
1791 |
Â
}
|
1792 |
Â
.flex-lg-row-reverse {
|
1793 |
-
-webkit-box-orient: horizontal !important;
|
1794 |
-
-webkit-box-direction: reverse !important;
|
1795 |
Â
-ms-flex-direction: row-reverse !important;
|
1796 |
Â
flex-direction: row-reverse !important;
|
1797 |
Â
}
|
1798 |
Â
.flex-lg-column-reverse {
|
1799 |
-
-webkit-box-orient: vertical !important;
|
1800 |
-
-webkit-box-direction: reverse !important;
|
1801 |
Â
-ms-flex-direction: column-reverse !important;
|
1802 |
Â
flex-direction: column-reverse !important;
|
1803 |
Â
}
|
@@ -1813,23 +1809,39 @@ html {
|
|
1813 |
Â
-ms-flex-wrap: wrap-reverse !important;
|
1814 |
Â
flex-wrap: wrap-reverse !important;
|
1815 |
Â
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
1816 |
Â
.justify-content-lg-start {
|
1817 |
-
-webkit-box-pack: start !important;
|
1818 |
Â
-ms-flex-pack: start !important;
|
1819 |
Â
justify-content: flex-start !important;
|
1820 |
Â
}
|
1821 |
Â
.justify-content-lg-end {
|
1822 |
-
-webkit-box-pack: end !important;
|
1823 |
Â
-ms-flex-pack: end !important;
|
1824 |
Â
justify-content: flex-end !important;
|
1825 |
Â
}
|
1826 |
Â
.justify-content-lg-center {
|
1827 |
-
-webkit-box-pack: center !important;
|
1828 |
Â
-ms-flex-pack: center !important;
|
1829 |
Â
justify-content: center !important;
|
1830 |
Â
}
|
1831 |
Â
.justify-content-lg-between {
|
1832 |
-
-webkit-box-pack: justify !important;
|
1833 |
Â
-ms-flex-pack: justify !important;
|
1834 |
Â
justify-content: space-between !important;
|
1835 |
Â
}
|
@@ -1838,27 +1850,22 @@ html {
|
|
1838 |
Â
justify-content: space-around !important;
|
1839 |
Â
}
|
1840 |
Â
.align-items-lg-start {
|
1841 |
-
-webkit-box-align: start !important;
|
1842 |
Â
-ms-flex-align: start !important;
|
1843 |
Â
align-items: flex-start !important;
|
1844 |
Â
}
|
1845 |
Â
.align-items-lg-end {
|
1846 |
-
-webkit-box-align: end !important;
|
1847 |
Â
-ms-flex-align: end !important;
|
1848 |
Â
align-items: flex-end !important;
|
1849 |
Â
}
|
1850 |
Â
.align-items-lg-center {
|
1851 |
-
-webkit-box-align: center !important;
|
1852 |
Â
-ms-flex-align: center !important;
|
1853 |
Â
align-items: center !important;
|
1854 |
Â
}
|
1855 |
Â
.align-items-lg-baseline {
|
1856 |
-
-webkit-box-align: baseline !important;
|
1857 |
Â
-ms-flex-align: baseline !important;
|
1858 |
Â
align-items: baseline !important;
|
1859 |
Â
}
|
1860 |
Â
.align-items-lg-stretch {
|
1861 |
-
-webkit-box-align: stretch !important;
|
1862 |
Â
-ms-flex-align: stretch !important;
|
1863 |
Â
align-items: stretch !important;
|
1864 |
Â
}
|
@@ -1914,26 +1921,18 @@ html {
|
|
1914 |
Â
|
1915 |
Â
@media (min-width: 1200px) {
|
1916 |
Â
.flex-xl-row {
|
1917 |
-
-webkit-box-orient: horizontal !important;
|
1918 |
-
-webkit-box-direction: normal !important;
|
1919 |
Â
-ms-flex-direction: row !important;
|
1920 |
Â
flex-direction: row !important;
|
1921 |
Â
}
|
1922 |
Â
.flex-xl-column {
|
1923 |
-
-webkit-box-orient: vertical !important;
|
1924 |
-
-webkit-box-direction: normal !important;
|
1925 |
Â
-ms-flex-direction: column !important;
|
1926 |
Â
flex-direction: column !important;
|
1927 |
Â
}
|
1928 |
Â
.flex-xl-row-reverse {
|
1929 |
-
-webkit-box-orient: horizontal !important;
|
1930 |
-
-webkit-box-direction: reverse !important;
|
1931 |
Â
-ms-flex-direction: row-reverse !important;
|
1932 |
Â
flex-direction: row-reverse !important;
|
1933 |
Â
}
|
1934 |
Â
.flex-xl-column-reverse {
|
1935 |
-
-webkit-box-orient: vertical !important;
|
1936 |
-
-webkit-box-direction: reverse !important;
|
1937 |
Â
-ms-flex-direction: column-reverse !important;
|
1938 |
Â
flex-direction: column-reverse !important;
|
1939 |
Â
}
|
@@ -1949,23 +1948,39 @@ html {
|
|
1949 |
Â
-ms-flex-wrap: wrap-reverse !important;
|
1950 |
Â
flex-wrap: wrap-reverse !important;
|
1951 |
Â
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
1952 |
Â
.justify-content-xl-start {
|
1953 |
-
-webkit-box-pack: start !important;
|
1954 |
Â
-ms-flex-pack: start !important;
|
1955 |
Â
justify-content: flex-start !important;
|
1956 |
Â
}
|
1957 |
Â
.justify-content-xl-end {
|
1958 |
-
-webkit-box-pack: end !important;
|
1959 |
Â
-ms-flex-pack: end !important;
|
1960 |
Â
justify-content: flex-end !important;
|
1961 |
Â
}
|
1962 |
Â
.justify-content-xl-center {
|
1963 |
-
-webkit-box-pack: center !important;
|
1964 |
Â
-ms-flex-pack: center !important;
|
1965 |
Â
justify-content: center !important;
|
1966 |
Â
}
|
1967 |
Â
.justify-content-xl-between {
|
1968 |
-
-webkit-box-pack: justify !important;
|
1969 |
Â
-ms-flex-pack: justify !important;
|
1970 |
Â
justify-content: space-between !important;
|
1971 |
Â
}
|
@@ -1974,27 +1989,22 @@ html {
|
|
1974 |
Â
justify-content: space-around !important;
|
1975 |
Â
}
|
1976 |
Â
.align-items-xl-start {
|
1977 |
-
-webkit-box-align: start !important;
|
1978 |
Â
-ms-flex-align: start !important;
|
1979 |
Â
align-items: flex-start !important;
|
1980 |
Â
}
|
1981 |
Â
.align-items-xl-end {
|
1982 |
-
-webkit-box-align: end !important;
|
1983 |
Â
-ms-flex-align: end !important;
|
1984 |
Â
align-items: flex-end !important;
|
1985 |
Â
}
|
1986 |
Â
.align-items-xl-center {
|
1987 |
-
-webkit-box-align: center !important;
|
1988 |
Â
-ms-flex-align: center !important;
|
1989 |
Â
align-items: center !important;
|
1990 |
Â
}
|
1991 |
Â
.align-items-xl-baseline {
|
1992 |
-
-webkit-box-align: baseline !important;
|
1993 |
Â
-ms-flex-align: baseline !important;
|
1994 |
Â
align-items: baseline !important;
|
1995 |
Â
}
|
1996 |
Â
.align-items-xl-stretch {
|
1997 |
-
-webkit-box-align: stretch !important;
|
1998 |
Â
-ms-flex-align: stretch !important;
|
1999 |
Â
align-items: stretch !important;
|
2000 |
Â
}
|
@@ -2047,4 +2057,1816 @@ html {
|
|
2047 |
Â
align-self: stretch !important;
|
2048 |
Â
}
|
2049 |
Â
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
2050 |
Â
/*# sourceMappingURL=bootstrap-grid.css.map */
|
1 |
Â
/*!
|
2 |
+
* Bootstrap Grid v4.6.1 (https://getbootstrap.com/)
|
3 |
+
* Copyright 2011-2021 The Bootstrap Authors
|
4 |
+
* Copyright 2011-2021 Twitter, Inc.
|
5 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
6 |
Â
*/
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
7 |
Â
html {
|
8 |
Â
box-sizing: border-box;
|
9 |
Â
-ms-overflow-style: scrollbar;
|
15 |
Â
box-sizing: inherit;
|
16 |
Â
}
|
17 |
Â
|
18 |
+
.container,
|
19 |
+
.container-fluid,
|
20 |
+
.container-sm,
|
21 |
+
.container-md,
|
22 |
+
.container-lg,
|
23 |
+
.container-xl {
|
24 |
Â
width: 100%;
|
25 |
Â
padding-right: 15px;
|
26 |
Â
padding-left: 15px;
|
29 |
Â
}
|
30 |
Â
|
31 |
Â
@media (min-width: 576px) {
|
32 |
+
.container, .container-sm {
|
33 |
Â
max-width: 540px;
|
34 |
Â
}
|
35 |
Â
}
|
36 |
Â
|
37 |
Â
@media (min-width: 768px) {
|
38 |
+
.container, .container-sm, .container-md {
|
39 |
Â
max-width: 720px;
|
40 |
Â
}
|
41 |
Â
}
|
42 |
Â
|
43 |
Â
@media (min-width: 992px) {
|
44 |
+
.container, .container-sm, .container-md, .container-lg {
|
45 |
Â
max-width: 960px;
|
46 |
Â
}
|
47 |
Â
}
|
48 |
Â
|
49 |
Â
@media (min-width: 1200px) {
|
50 |
+
.container, .container-sm, .container-md, .container-lg, .container-xl {
|
51 |
Â
max-width: 1140px;
|
52 |
Â
}
|
53 |
Â
}
|
54 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
55 |
Â
.row {
|
Â
|
|
56 |
Â
display: -ms-flexbox;
|
57 |
Â
display: flex;
|
58 |
Â
-ms-flex-wrap: wrap;
|
80 |
Â
.col-xl-auto {
|
81 |
Â
position: relative;
|
82 |
Â
width: 100%;
|
Â
|
|
83 |
Â
padding-right: 15px;
|
84 |
Â
padding-left: 15px;
|
85 |
Â
}
|
87 |
Â
.col {
|
88 |
Â
-ms-flex-preferred-size: 0;
|
89 |
Â
flex-basis: 0;
|
Â
|
|
90 |
Â
-ms-flex-positive: 1;
|
91 |
Â
flex-grow: 1;
|
92 |
Â
max-width: 100%;
|
93 |
Â
}
|
94 |
Â
|
95 |
+
.row-cols-1 > * {
|
96 |
+
-ms-flex: 0 0 100%;
|
97 |
+
flex: 0 0 100%;
|
98 |
+
max-width: 100%;
|
99 |
+
}
|
100 |
+
|
101 |
+
.row-cols-2 > * {
|
102 |
+
-ms-flex: 0 0 50%;
|
103 |
+
flex: 0 0 50%;
|
104 |
+
max-width: 50%;
|
105 |
+
}
|
106 |
+
|
107 |
+
.row-cols-3 > * {
|
108 |
+
-ms-flex: 0 0 33.333333%;
|
109 |
+
flex: 0 0 33.333333%;
|
110 |
+
max-width: 33.333333%;
|
111 |
+
}
|
112 |
+
|
113 |
+
.row-cols-4 > * {
|
114 |
+
-ms-flex: 0 0 25%;
|
115 |
+
flex: 0 0 25%;
|
116 |
+
max-width: 25%;
|
117 |
+
}
|
118 |
+
|
119 |
+
.row-cols-5 > * {
|
120 |
+
-ms-flex: 0 0 20%;
|
121 |
+
flex: 0 0 20%;
|
122 |
+
max-width: 20%;
|
123 |
+
}
|
124 |
+
|
125 |
+
.row-cols-6 > * {
|
126 |
+
-ms-flex: 0 0 16.666667%;
|
127 |
+
flex: 0 0 16.666667%;
|
128 |
+
max-width: 16.666667%;
|
129 |
+
}
|
130 |
+
|
131 |
Â
.col-auto {
|
Â
|
|
132 |
Â
-ms-flex: 0 0 auto;
|
133 |
Â
flex: 0 0 auto;
|
134 |
Â
width: auto;
|
135 |
+
max-width: 100%;
|
136 |
Â
}
|
137 |
Â
|
138 |
Â
.col-1 {
|
Â
|
|
139 |
Â
-ms-flex: 0 0 8.333333%;
|
140 |
Â
flex: 0 0 8.333333%;
|
141 |
Â
max-width: 8.333333%;
|
142 |
Â
}
|
143 |
Â
|
144 |
Â
.col-2 {
|
Â
|
|
145 |
Â
-ms-flex: 0 0 16.666667%;
|
146 |
Â
flex: 0 0 16.666667%;
|
147 |
Â
max-width: 16.666667%;
|
148 |
Â
}
|
149 |
Â
|
150 |
Â
.col-3 {
|
Â
|
|
151 |
Â
-ms-flex: 0 0 25%;
|
152 |
Â
flex: 0 0 25%;
|
153 |
Â
max-width: 25%;
|
154 |
Â
}
|
155 |
Â
|
156 |
Â
.col-4 {
|
Â
|
|
157 |
Â
-ms-flex: 0 0 33.333333%;
|
158 |
Â
flex: 0 0 33.333333%;
|
159 |
Â
max-width: 33.333333%;
|
160 |
Â
}
|
161 |
Â
|
162 |
Â
.col-5 {
|
Â
|
|
163 |
Â
-ms-flex: 0 0 41.666667%;
|
164 |
Â
flex: 0 0 41.666667%;
|
165 |
Â
max-width: 41.666667%;
|
166 |
Â
}
|
167 |
Â
|
168 |
Â
.col-6 {
|
Â
|
|
169 |
Â
-ms-flex: 0 0 50%;
|
170 |
Â
flex: 0 0 50%;
|
171 |
Â
max-width: 50%;
|
172 |
Â
}
|
173 |
Â
|
174 |
Â
.col-7 {
|
Â
|
|
175 |
Â
-ms-flex: 0 0 58.333333%;
|
176 |
Â
flex: 0 0 58.333333%;
|
177 |
Â
max-width: 58.333333%;
|
178 |
Â
}
|
179 |
Â
|
180 |
Â
.col-8 {
|
Â
|
|
181 |
Â
-ms-flex: 0 0 66.666667%;
|
182 |
Â
flex: 0 0 66.666667%;
|
183 |
Â
max-width: 66.666667%;
|
184 |
Â
}
|
185 |
Â
|
186 |
Â
.col-9 {
|
Â
|
|
187 |
Â
-ms-flex: 0 0 75%;
|
188 |
Â
flex: 0 0 75%;
|
189 |
Â
max-width: 75%;
|
190 |
Â
}
|
191 |
Â
|
192 |
Â
.col-10 {
|
Â
|
|
193 |
Â
-ms-flex: 0 0 83.333333%;
|
194 |
Â
flex: 0 0 83.333333%;
|
195 |
Â
max-width: 83.333333%;
|
196 |
Â
}
|
197 |
Â
|
198 |
Â
.col-11 {
|
Â
|
|
199 |
Â
-ms-flex: 0 0 91.666667%;
|
200 |
Â
flex: 0 0 91.666667%;
|
201 |
Â
max-width: 91.666667%;
|
202 |
Â
}
|
203 |
Â
|
204 |
Â
.col-12 {
|
Â
|
|
205 |
Â
-ms-flex: 0 0 100%;
|
206 |
Â
flex: 0 0 100%;
|
207 |
Â
max-width: 100%;
|
208 |
Â
}
|
209 |
Â
|
210 |
Â
.order-first {
|
Â
|
|
211 |
Â
-ms-flex-order: -1;
|
212 |
Â
order: -1;
|
213 |
Â
}
|
214 |
Â
|
215 |
Â
.order-last {
|
Â
|
|
216 |
Â
-ms-flex-order: 13;
|
217 |
Â
order: 13;
|
218 |
Â
}
|
219 |
Â
|
220 |
Â
.order-0 {
|
Â
|
|
221 |
Â
-ms-flex-order: 0;
|
222 |
Â
order: 0;
|
223 |
Â
}
|
224 |
Â
|
225 |
Â
.order-1 {
|
Â
|
|
226 |
Â
-ms-flex-order: 1;
|
227 |
Â
order: 1;
|
228 |
Â
}
|
229 |
Â
|
230 |
Â
.order-2 {
|
Â
|
|
231 |
Â
-ms-flex-order: 2;
|
232 |
Â
order: 2;
|
233 |
Â
}
|
234 |
Â
|
235 |
Â
.order-3 {
|
Â
|
|
236 |
Â
-ms-flex-order: 3;
|
237 |
Â
order: 3;
|
238 |
Â
}
|
239 |
Â
|
240 |
Â
.order-4 {
|
Â
|
|
241 |
Â
-ms-flex-order: 4;
|
242 |
Â
order: 4;
|
243 |
Â
}
|
244 |
Â
|
245 |
Â
.order-5 {
|
Â
|
|
246 |
Â
-ms-flex-order: 5;
|
247 |
Â
order: 5;
|
248 |
Â
}
|
249 |
Â
|
250 |
Â
.order-6 {
|
Â
|
|
251 |
Â
-ms-flex-order: 6;
|
252 |
Â
order: 6;
|
253 |
Â
}
|
254 |
Â
|
255 |
Â
.order-7 {
|
Â
|
|
256 |
Â
-ms-flex-order: 7;
|
257 |
Â
order: 7;
|
258 |
Â
}
|
259 |
Â
|
260 |
Â
.order-8 {
|
Â
|
|
261 |
Â
-ms-flex-order: 8;
|
262 |
Â
order: 8;
|
263 |
Â
}
|
264 |
Â
|
265 |
Â
.order-9 {
|
Â
|
|
266 |
Â
-ms-flex-order: 9;
|
267 |
Â
order: 9;
|
268 |
Â
}
|
269 |
Â
|
270 |
Â
.order-10 {
|
Â
|
|
271 |
Â
-ms-flex-order: 10;
|
272 |
Â
order: 10;
|
273 |
Â
}
|
274 |
Â
|
275 |
Â
.order-11 {
|
Â
|
|
276 |
Â
-ms-flex-order: 11;
|
277 |
Â
order: 11;
|
278 |
Â
}
|
279 |
Â
|
280 |
Â
.order-12 {
|
Â
|
|
281 |
Â
-ms-flex-order: 12;
|
282 |
Â
order: 12;
|
283 |
Â
}
|
330 |
Â
.col-sm {
|
331 |
Â
-ms-flex-preferred-size: 0;
|
332 |
Â
flex-basis: 0;
|
Â
|
|
333 |
Â
-ms-flex-positive: 1;
|
334 |
Â
flex-grow: 1;
|
335 |
Â
max-width: 100%;
|
336 |
Â
}
|
337 |
+
.row-cols-sm-1 > * {
|
338 |
+
-ms-flex: 0 0 100%;
|
339 |
+
flex: 0 0 100%;
|
340 |
+
max-width: 100%;
|
341 |
+
}
|
342 |
+
.row-cols-sm-2 > * {
|
343 |
+
-ms-flex: 0 0 50%;
|
344 |
+
flex: 0 0 50%;
|
345 |
+
max-width: 50%;
|
346 |
+
}
|
347 |
+
.row-cols-sm-3 > * {
|
348 |
+
-ms-flex: 0 0 33.333333%;
|
349 |
+
flex: 0 0 33.333333%;
|
350 |
+
max-width: 33.333333%;
|
351 |
+
}
|
352 |
+
.row-cols-sm-4 > * {
|
353 |
+
-ms-flex: 0 0 25%;
|
354 |
+
flex: 0 0 25%;
|
355 |
+
max-width: 25%;
|
356 |
+
}
|
357 |
+
.row-cols-sm-5 > * {
|
358 |
+
-ms-flex: 0 0 20%;
|
359 |
+
flex: 0 0 20%;
|
360 |
+
max-width: 20%;
|
361 |
+
}
|
362 |
+
.row-cols-sm-6 > * {
|
363 |
+
-ms-flex: 0 0 16.666667%;
|
364 |
+
flex: 0 0 16.666667%;
|
365 |
+
max-width: 16.666667%;
|
366 |
+
}
|
367 |
Â
.col-sm-auto {
|
Â
|
|
368 |
Â
-ms-flex: 0 0 auto;
|
369 |
Â
flex: 0 0 auto;
|
370 |
Â
width: auto;
|
371 |
+
max-width: 100%;
|
372 |
Â
}
|
373 |
Â
.col-sm-1 {
|
Â
|
|
374 |
Â
-ms-flex: 0 0 8.333333%;
|
375 |
Â
flex: 0 0 8.333333%;
|
376 |
Â
max-width: 8.333333%;
|
377 |
Â
}
|
378 |
Â
.col-sm-2 {
|
Â
|
|
379 |
Â
-ms-flex: 0 0 16.666667%;
|
380 |
Â
flex: 0 0 16.666667%;
|
381 |
Â
max-width: 16.666667%;
|
382 |
Â
}
|
383 |
Â
.col-sm-3 {
|
Â
|
|
384 |
Â
-ms-flex: 0 0 25%;
|
385 |
Â
flex: 0 0 25%;
|
386 |
Â
max-width: 25%;
|
387 |
Â
}
|
388 |
Â
.col-sm-4 {
|
Â
|
|
389 |
Â
-ms-flex: 0 0 33.333333%;
|
390 |
Â
flex: 0 0 33.333333%;
|
391 |
Â
max-width: 33.333333%;
|
392 |
Â
}
|
393 |
Â
.col-sm-5 {
|
Â
|
|
394 |
Â
-ms-flex: 0 0 41.666667%;
|
395 |
Â
flex: 0 0 41.666667%;
|
396 |
Â
max-width: 41.666667%;
|
397 |
Â
}
|
398 |
Â
.col-sm-6 {
|
Â
|
|
399 |
Â
-ms-flex: 0 0 50%;
|
400 |
Â
flex: 0 0 50%;
|
401 |
Â
max-width: 50%;
|
402 |
Â
}
|
403 |
Â
.col-sm-7 {
|
Â
|
|
404 |
Â
-ms-flex: 0 0 58.333333%;
|
405 |
Â
flex: 0 0 58.333333%;
|
406 |
Â
max-width: 58.333333%;
|
407 |
Â
}
|
408 |
Â
.col-sm-8 {
|
Â
|
|
409 |
Â
-ms-flex: 0 0 66.666667%;
|
410 |
Â
flex: 0 0 66.666667%;
|
411 |
Â
max-width: 66.666667%;
|
412 |
Â
}
|
413 |
Â
.col-sm-9 {
|
Â
|
|
414 |
Â
-ms-flex: 0 0 75%;
|
415 |
Â
flex: 0 0 75%;
|
416 |
Â
max-width: 75%;
|
417 |
Â
}
|
418 |
Â
.col-sm-10 {
|
Â
|
|
419 |
Â
-ms-flex: 0 0 83.333333%;
|
420 |
Â
flex: 0 0 83.333333%;
|
421 |
Â
max-width: 83.333333%;
|
422 |
Â
}
|
423 |
Â
.col-sm-11 {
|
Â
|
|
424 |
Â
-ms-flex: 0 0 91.666667%;
|
425 |
Â
flex: 0 0 91.666667%;
|
426 |
Â
max-width: 91.666667%;
|
427 |
Â
}
|
428 |
Â
.col-sm-12 {
|
Â
|
|
429 |
Â
-ms-flex: 0 0 100%;
|
430 |
Â
flex: 0 0 100%;
|
431 |
Â
max-width: 100%;
|
432 |
Â
}
|
433 |
Â
.order-sm-first {
|
Â
|
|
434 |
Â
-ms-flex-order: -1;
|
435 |
Â
order: -1;
|
436 |
Â
}
|
437 |
Â
.order-sm-last {
|
Â
|
|
438 |
Â
-ms-flex-order: 13;
|
439 |
Â
order: 13;
|
440 |
Â
}
|
441 |
Â
.order-sm-0 {
|
Â
|
|
442 |
Â
-ms-flex-order: 0;
|
443 |
Â
order: 0;
|
444 |
Â
}
|
445 |
Â
.order-sm-1 {
|
Â
|
|
446 |
Â
-ms-flex-order: 1;
|
447 |
Â
order: 1;
|
448 |
Â
}
|
449 |
Â
.order-sm-2 {
|
Â
|
|
450 |
Â
-ms-flex-order: 2;
|
451 |
Â
order: 2;
|
452 |
Â
}
|
453 |
Â
.order-sm-3 {
|
Â
|
|
454 |
Â
-ms-flex-order: 3;
|
455 |
Â
order: 3;
|
456 |
Â
}
|
457 |
Â
.order-sm-4 {
|
Â
|
|
458 |
Â
-ms-flex-order: 4;
|
459 |
Â
order: 4;
|
460 |
Â
}
|
461 |
Â
.order-sm-5 {
|
Â
|
|
462 |
Â
-ms-flex-order: 5;
|
463 |
Â
order: 5;
|
464 |
Â
}
|
465 |
Â
.order-sm-6 {
|
Â
|
|
466 |
Â
-ms-flex-order: 6;
|
467 |
Â
order: 6;
|
468 |
Â
}
|
469 |
Â
.order-sm-7 {
|
Â
|
|
470 |
Â
-ms-flex-order: 7;
|
471 |
Â
order: 7;
|
472 |
Â
}
|
473 |
Â
.order-sm-8 {
|
Â
|
|
474 |
Â
-ms-flex-order: 8;
|
475 |
Â
order: 8;
|
476 |
Â
}
|
477 |
Â
.order-sm-9 {
|
Â
|
|
478 |
Â
-ms-flex-order: 9;
|
479 |
Â
order: 9;
|
480 |
Â
}
|
481 |
Â
.order-sm-10 {
|
Â
|
|
482 |
Â
-ms-flex-order: 10;
|
483 |
Â
order: 10;
|
484 |
Â
}
|
485 |
Â
.order-sm-11 {
|
Â
|
|
486 |
Â
-ms-flex-order: 11;
|
487 |
Â
order: 11;
|
488 |
Â
}
|
489 |
Â
.order-sm-12 {
|
Â
|
|
490 |
Â
-ms-flex-order: 12;
|
491 |
Â
order: 12;
|
492 |
Â
}
|
532 |
Â
.col-md {
|
533 |
Â
-ms-flex-preferred-size: 0;
|
534 |
Â
flex-basis: 0;
|
Â
|
|
535 |
Â
-ms-flex-positive: 1;
|
536 |
Â
flex-grow: 1;
|
537 |
Â
max-width: 100%;
|
538 |
Â
}
|
539 |
+
.row-cols-md-1 > * {
|
540 |
+
-ms-flex: 0 0 100%;
|
541 |
+
flex: 0 0 100%;
|
542 |
+
max-width: 100%;
|
543 |
+
}
|
544 |
+
.row-cols-md-2 > * {
|
545 |
+
-ms-flex: 0 0 50%;
|
546 |
+
flex: 0 0 50%;
|
547 |
+
max-width: 50%;
|
548 |
+
}
|
549 |
+
.row-cols-md-3 > * {
|
550 |
+
-ms-flex: 0 0 33.333333%;
|
551 |
+
flex: 0 0 33.333333%;
|
552 |
+
max-width: 33.333333%;
|
553 |
+
}
|
554 |
+
.row-cols-md-4 > * {
|
555 |
+
-ms-flex: 0 0 25%;
|
556 |
+
flex: 0 0 25%;
|
557 |
+
max-width: 25%;
|
558 |
+
}
|
559 |
+
.row-cols-md-5 > * {
|
560 |
+
-ms-flex: 0 0 20%;
|
561 |
+
flex: 0 0 20%;
|
562 |
+
max-width: 20%;
|
563 |
+
}
|
564 |
+
.row-cols-md-6 > * {
|
565 |
+
-ms-flex: 0 0 16.666667%;
|
566 |
+
flex: 0 0 16.666667%;
|
567 |
+
max-width: 16.666667%;
|
568 |
+
}
|
569 |
Â
.col-md-auto {
|
Â
|
|
570 |
Â
-ms-flex: 0 0 auto;
|
571 |
Â
flex: 0 0 auto;
|
572 |
Â
width: auto;
|
573 |
+
max-width: 100%;
|
574 |
Â
}
|
575 |
Â
.col-md-1 {
|
Â
|
|
576 |
Â
-ms-flex: 0 0 8.333333%;
|
577 |
Â
flex: 0 0 8.333333%;
|
578 |
Â
max-width: 8.333333%;
|
579 |
Â
}
|
580 |
Â
.col-md-2 {
|
Â
|
|
581 |
Â
-ms-flex: 0 0 16.666667%;
|
582 |
Â
flex: 0 0 16.666667%;
|
583 |
Â
max-width: 16.666667%;
|
584 |
Â
}
|
585 |
Â
.col-md-3 {
|
Â
|
|
586 |
Â
-ms-flex: 0 0 25%;
|
587 |
Â
flex: 0 0 25%;
|
588 |
Â
max-width: 25%;
|
589 |
Â
}
|
590 |
Â
.col-md-4 {
|
Â
|
|
591 |
Â
-ms-flex: 0 0 33.333333%;
|
592 |
Â
flex: 0 0 33.333333%;
|
593 |
Â
max-width: 33.333333%;
|
594 |
Â
}
|
595 |
Â
.col-md-5 {
|
Â
|
|
596 |
Â
-ms-flex: 0 0 41.666667%;
|
597 |
Â
flex: 0 0 41.666667%;
|
598 |
Â
max-width: 41.666667%;
|
599 |
Â
}
|
600 |
Â
.col-md-6 {
|
Â
|
|
601 |
Â
-ms-flex: 0 0 50%;
|
602 |
Â
flex: 0 0 50%;
|
603 |
Â
max-width: 50%;
|
604 |
Â
}
|
605 |
Â
.col-md-7 {
|
Â
|
|
606 |
Â
-ms-flex: 0 0 58.333333%;
|
607 |
Â
flex: 0 0 58.333333%;
|
608 |
Â
max-width: 58.333333%;
|
609 |
Â
}
|
610 |
Â
.col-md-8 {
|
Â
|
|
611 |
Â
-ms-flex: 0 0 66.666667%;
|
612 |
Â
flex: 0 0 66.666667%;
|
613 |
Â
max-width: 66.666667%;
|
614 |
Â
}
|
615 |
Â
.col-md-9 {
|
Â
|
|
616 |
Â
-ms-flex: 0 0 75%;
|
617 |
Â
flex: 0 0 75%;
|
618 |
Â
max-width: 75%;
|
619 |
Â
}
|
620 |
Â
.col-md-10 {
|
Â
|
|
621 |
Â
-ms-flex: 0 0 83.333333%;
|
622 |
Â
flex: 0 0 83.333333%;
|
623 |
Â
max-width: 83.333333%;
|
624 |
Â
}
|
625 |
Â
.col-md-11 {
|
Â
|
|
626 |
Â
-ms-flex: 0 0 91.666667%;
|
627 |
Â
flex: 0 0 91.666667%;
|
628 |
Â
max-width: 91.666667%;
|
629 |
Â
}
|
630 |
Â
.col-md-12 {
|
Â
|
|
631 |
Â
-ms-flex: 0 0 100%;
|
632 |
Â
flex: 0 0 100%;
|
633 |
Â
max-width: 100%;
|
634 |
Â
}
|
635 |
Â
.order-md-first {
|
Â
|
|
636 |
Â
-ms-flex-order: -1;
|
637 |
Â
order: -1;
|
638 |
Â
}
|
639 |
Â
.order-md-last {
|
Â
|
|
640 |
Â
-ms-flex-order: 13;
|
641 |
Â
order: 13;
|
642 |
Â
}
|
643 |
Â
.order-md-0 {
|
Â
|
|
644 |
Â
-ms-flex-order: 0;
|
645 |
Â
order: 0;
|
646 |
Â
}
|
647 |
Â
.order-md-1 {
|
Â
|
|
648 |
Â
-ms-flex-order: 1;
|
649 |
Â
order: 1;
|
650 |
Â
}
|
651 |
Â
.order-md-2 {
|
Â
|
|
652 |
Â
-ms-flex-order: 2;
|
653 |
Â
order: 2;
|
654 |
Â
}
|
655 |
Â
.order-md-3 {
|
Â
|
|
656 |
Â
-ms-flex-order: 3;
|
657 |
Â
order: 3;
|
658 |
Â
}
|
659 |
Â
.order-md-4 {
|
Â
|
|
660 |
Â
-ms-flex-order: 4;
|
661 |
Â
order: 4;
|
662 |
Â
}
|
663 |
Â
.order-md-5 {
|
Â
|
|
664 |
Â
-ms-flex-order: 5;
|
665 |
Â
order: 5;
|
666 |
Â
}
|
667 |
Â
.order-md-6 {
|
Â
|
|
668 |
Â
-ms-flex-order: 6;
|
669 |
Â
order: 6;
|
670 |
Â
}
|
671 |
Â
.order-md-7 {
|
Â
|
|
672 |
Â
-ms-flex-order: 7;
|
673 |
Â
order: 7;
|
674 |
Â
}
|
675 |
Â
.order-md-8 {
|
Â
|
|
676 |
Â
-ms-flex-order: 8;
|
677 |
Â
order: 8;
|
678 |
Â
}
|
679 |
Â
.order-md-9 {
|
Â
|
|
680 |
Â
-ms-flex-order: 9;
|
681 |
Â
order: 9;
|
682 |
Â
}
|
683 |
Â
.order-md-10 {
|
Â
|
|
684 |
Â
-ms-flex-order: 10;
|
685 |
Â
order: 10;
|
686 |
Â
}
|
687 |
Â
.order-md-11 {
|
Â
|
|
688 |
Â
-ms-flex-order: 11;
|
689 |
Â
order: 11;
|
690 |
Â
}
|
691 |
Â
.order-md-12 {
|
Â
|
|
692 |
Â
-ms-flex-order: 12;
|
693 |
Â
order: 12;
|
694 |
Â
}
|
734 |
Â
.col-lg {
|
735 |
Â
-ms-flex-preferred-size: 0;
|
736 |
Â
flex-basis: 0;
|
Â
|
|
737 |
Â
-ms-flex-positive: 1;
|
738 |
Â
flex-grow: 1;
|
739 |
Â
max-width: 100%;
|
740 |
Â
}
|
741 |
+
.row-cols-lg-1 > * {
|
742 |
+
-ms-flex: 0 0 100%;
|
743 |
+
flex: 0 0 100%;
|
744 |
+
max-width: 100%;
|
745 |
+
}
|
746 |
+
.row-cols-lg-2 > * {
|
747 |
+
-ms-flex: 0 0 50%;
|
748 |
+
flex: 0 0 50%;
|
749 |
+
max-width: 50%;
|
750 |
+
}
|
751 |
+
.row-cols-lg-3 > * {
|
752 |
+
-ms-flex: 0 0 33.333333%;
|
753 |
+
flex: 0 0 33.333333%;
|
754 |
+
max-width: 33.333333%;
|
755 |
+
}
|
756 |
+
.row-cols-lg-4 > * {
|
757 |
+
-ms-flex: 0 0 25%;
|
758 |
+
flex: 0 0 25%;
|
759 |
+
max-width: 25%;
|
760 |
+
}
|
761 |
+
.row-cols-lg-5 > * {
|
762 |
+
-ms-flex: 0 0 20%;
|
763 |
+
flex: 0 0 20%;
|
764 |
+
max-width: 20%;
|
765 |
+
}
|
766 |
+
.row-cols-lg-6 > * {
|
767 |
+
-ms-flex: 0 0 16.666667%;
|
768 |
+
flex: 0 0 16.666667%;
|
769 |
+
max-width: 16.666667%;
|
770 |
+
}
|
771 |
Â
.col-lg-auto {
|
Â
|
|
772 |
Â
-ms-flex: 0 0 auto;
|
773 |
Â
flex: 0 0 auto;
|
774 |
Â
width: auto;
|
775 |
+
max-width: 100%;
|
776 |
Â
}
|
777 |
Â
.col-lg-1 {
|
Â
|
|
778 |
Â
-ms-flex: 0 0 8.333333%;
|
779 |
Â
flex: 0 0 8.333333%;
|
780 |
Â
max-width: 8.333333%;
|
781 |
Â
}
|
782 |
Â
.col-lg-2 {
|
Â
|
|
783 |
Â
-ms-flex: 0 0 16.666667%;
|
784 |
Â
flex: 0 0 16.666667%;
|
785 |
Â
max-width: 16.666667%;
|
786 |
Â
}
|
787 |
Â
.col-lg-3 {
|
Â
|
|
788 |
Â
-ms-flex: 0 0 25%;
|
789 |
Â
flex: 0 0 25%;
|
790 |
Â
max-width: 25%;
|
791 |
Â
}
|
792 |
Â
.col-lg-4 {
|
Â
|
|
793 |
Â
-ms-flex: 0 0 33.333333%;
|
794 |
Â
flex: 0 0 33.333333%;
|
795 |
Â
max-width: 33.333333%;
|
796 |
Â
}
|
797 |
Â
.col-lg-5 {
|
Â
|
|
798 |
Â
-ms-flex: 0 0 41.666667%;
|
799 |
Â
flex: 0 0 41.666667%;
|
800 |
Â
max-width: 41.666667%;
|
801 |
Â
}
|
802 |
Â
.col-lg-6 {
|
Â
|
|
803 |
Â
-ms-flex: 0 0 50%;
|
804 |
Â
flex: 0 0 50%;
|
805 |
Â
max-width: 50%;
|
806 |
Â
}
|
807 |
Â
.col-lg-7 {
|
Â
|
|
808 |
Â
-ms-flex: 0 0 58.333333%;
|
809 |
Â
flex: 0 0 58.333333%;
|
810 |
Â
max-width: 58.333333%;
|
811 |
Â
}
|
812 |
Â
.col-lg-8 {
|
Â
|
|
813 |
Â
-ms-flex: 0 0 66.666667%;
|
814 |
Â
flex: 0 0 66.666667%;
|
815 |
Â
max-width: 66.666667%;
|
816 |
Â
}
|
817 |
Â
.col-lg-9 {
|
Â
|
|
818 |
Â
-ms-flex: 0 0 75%;
|
819 |
Â
flex: 0 0 75%;
|
820 |
Â
max-width: 75%;
|
821 |
Â
}
|
822 |
Â
.col-lg-10 {
|
Â
|
|
823 |
Â
-ms-flex: 0 0 83.333333%;
|
824 |
Â
flex: 0 0 83.333333%;
|
825 |
Â
max-width: 83.333333%;
|
826 |
Â
}
|
827 |
Â
.col-lg-11 {
|
Â
|
|
828 |
Â
-ms-flex: 0 0 91.666667%;
|
829 |
Â
flex: 0 0 91.666667%;
|
830 |
Â
max-width: 91.666667%;
|
831 |
Â
}
|
832 |
Â
.col-lg-12 {
|
Â
|
|
833 |
Â
-ms-flex: 0 0 100%;
|
834 |
Â
flex: 0 0 100%;
|
835 |
Â
max-width: 100%;
|
836 |
Â
}
|
837 |
Â
.order-lg-first {
|
Â
|
|
838 |
Â
-ms-flex-order: -1;
|
839 |
Â
order: -1;
|
840 |
Â
}
|
841 |
Â
.order-lg-last {
|
Â
|
|
842 |
Â
-ms-flex-order: 13;
|
843 |
Â
order: 13;
|
844 |
Â
}
|
845 |
Â
.order-lg-0 {
|
Â
|
|
846 |
Â
-ms-flex-order: 0;
|
847 |
Â
order: 0;
|
848 |
Â
}
|
849 |
Â
.order-lg-1 {
|
Â
|
|
850 |
Â
-ms-flex-order: 1;
|
851 |
Â
order: 1;
|
852 |
Â
}
|
853 |
Â
.order-lg-2 {
|
Â
|
|
854 |
Â
-ms-flex-order: 2;
|
855 |
Â
order: 2;
|
856 |
Â
}
|
857 |
Â
.order-lg-3 {
|
Â
|
|
858 |
Â
-ms-flex-order: 3;
|
859 |
Â
order: 3;
|
860 |
Â
}
|
861 |
Â
.order-lg-4 {
|
Â
|
|
862 |
Â
-ms-flex-order: 4;
|
863 |
Â
order: 4;
|
864 |
Â
}
|
865 |
Â
.order-lg-5 {
|
Â
|
|
866 |
Â
-ms-flex-order: 5;
|
867 |
Â
order: 5;
|
868 |
Â
}
|
869 |
Â
.order-lg-6 {
|
Â
|
|
870 |
Â
-ms-flex-order: 6;
|
871 |
Â
order: 6;
|
872 |
Â
}
|
873 |
Â
.order-lg-7 {
|
Â
|
|
874 |
Â
-ms-flex-order: 7;
|
875 |
Â
order: 7;
|
876 |
Â
}
|
877 |
Â
.order-lg-8 {
|
Â
|
|
878 |
Â
-ms-flex-order: 8;
|
879 |
Â
order: 8;
|
880 |
Â
}
|
881 |
Â
.order-lg-9 {
|
Â
|
|
882 |
Â
-ms-flex-order: 9;
|
883 |
Â
order: 9;
|
884 |
Â
}
|
885 |
Â
.order-lg-10 {
|
Â
|
|
886 |
Â
-ms-flex-order: 10;
|
887 |
Â
order: 10;
|
888 |
Â
}
|
889 |
Â
.order-lg-11 {
|
Â
|
|
890 |
Â
-ms-flex-order: 11;
|
891 |
Â
order: 11;
|
892 |
Â
}
|
893 |
Â
.order-lg-12 {
|
Â
|
|
894 |
Â
-ms-flex-order: 12;
|
895 |
Â
order: 12;
|
896 |
Â
}
|
936 |
Â
.col-xl {
|
937 |
Â
-ms-flex-preferred-size: 0;
|
938 |
Â
flex-basis: 0;
|
Â
|
|
939 |
Â
-ms-flex-positive: 1;
|
940 |
Â
flex-grow: 1;
|
941 |
Â
max-width: 100%;
|
942 |
Â
}
|
943 |
+
.row-cols-xl-1 > * {
|
944 |
+
-ms-flex: 0 0 100%;
|
945 |
+
flex: 0 0 100%;
|
946 |
+
max-width: 100%;
|
947 |
+
}
|
948 |
+
.row-cols-xl-2 > * {
|
949 |
+
-ms-flex: 0 0 50%;
|
950 |
+
flex: 0 0 50%;
|
951 |
+
max-width: 50%;
|
952 |
+
}
|
953 |
+
.row-cols-xl-3 > * {
|
954 |
+
-ms-flex: 0 0 33.333333%;
|
955 |
+
flex: 0 0 33.333333%;
|
956 |
+
max-width: 33.333333%;
|
957 |
+
}
|
958 |
+
.row-cols-xl-4 > * {
|
959 |
+
-ms-flex: 0 0 25%;
|
960 |
+
flex: 0 0 25%;
|
961 |
+
max-width: 25%;
|
962 |
+
}
|
963 |
+
.row-cols-xl-5 > * {
|
964 |
+
-ms-flex: 0 0 20%;
|
965 |
+
flex: 0 0 20%;
|
966 |
+
max-width: 20%;
|
967 |
+
}
|
968 |
+
.row-cols-xl-6 > * {
|
969 |
+
-ms-flex: 0 0 16.666667%;
|
970 |
+
flex: 0 0 16.666667%;
|
971 |
+
max-width: 16.666667%;
|
972 |
+
}
|
973 |
Â
.col-xl-auto {
|
Â
|
|
974 |
Â
-ms-flex: 0 0 auto;
|
975 |
Â
flex: 0 0 auto;
|
976 |
Â
width: auto;
|
977 |
+
max-width: 100%;
|
978 |
Â
}
|
979 |
Â
.col-xl-1 {
|
Â
|
|
980 |
Â
-ms-flex: 0 0 8.333333%;
|
981 |
Â
flex: 0 0 8.333333%;
|
982 |
Â
max-width: 8.333333%;
|
983 |
Â
}
|
984 |
Â
.col-xl-2 {
|
Â
|
|
985 |
Â
-ms-flex: 0 0 16.666667%;
|
986 |
Â
flex: 0 0 16.666667%;
|
987 |
Â
max-width: 16.666667%;
|
988 |
Â
}
|
989 |
Â
.col-xl-3 {
|
Â
|
|
990 |
Â
-ms-flex: 0 0 25%;
|
991 |
Â
flex: 0 0 25%;
|
992 |
Â
max-width: 25%;
|
993 |
Â
}
|
994 |
Â
.col-xl-4 {
|
Â
|
|
995 |
Â
-ms-flex: 0 0 33.333333%;
|
996 |
Â
flex: 0 0 33.333333%;
|
997 |
Â
max-width: 33.333333%;
|
998 |
Â
}
|
999 |
Â
.col-xl-5 {
|
Â
|
|
1000 |
Â
-ms-flex: 0 0 41.666667%;
|
1001 |
Â
flex: 0 0 41.666667%;
|
1002 |
Â
max-width: 41.666667%;
|
1003 |
Â
}
|
1004 |
Â
.col-xl-6 {
|
Â
|
|
1005 |
Â
-ms-flex: 0 0 50%;
|
1006 |
Â
flex: 0 0 50%;
|
1007 |
Â
max-width: 50%;
|
1008 |
Â
}
|
1009 |
Â
.col-xl-7 {
|
Â
|
|
1010 |
Â
-ms-flex: 0 0 58.333333%;
|
1011 |
Â
flex: 0 0 58.333333%;
|
1012 |
Â
max-width: 58.333333%;
|
1013 |
Â
}
|
1014 |
Â
.col-xl-8 {
|
Â
|
|
1015 |
Â
-ms-flex: 0 0 66.666667%;
|
1016 |
Â
flex: 0 0 66.666667%;
|
1017 |
Â
max-width: 66.666667%;
|
1018 |
Â
}
|
1019 |
Â
.col-xl-9 {
|
Â
|
|
1020 |
Â
-ms-flex: 0 0 75%;
|
1021 |
Â
flex: 0 0 75%;
|
1022 |
Â
max-width: 75%;
|
1023 |
Â
}
|
1024 |
Â
.col-xl-10 {
|
Â
|
|
1025 |
Â
-ms-flex: 0 0 83.333333%;
|
1026 |
Â
flex: 0 0 83.333333%;
|
1027 |
Â
max-width: 83.333333%;
|
1028 |
Â
}
|
1029 |
Â
.col-xl-11 {
|
Â
|
|
1030 |
Â
-ms-flex: 0 0 91.666667%;
|
1031 |
Â
flex: 0 0 91.666667%;
|
1032 |
Â
max-width: 91.666667%;
|
1033 |
Â
}
|
1034 |
Â
.col-xl-12 {
|
Â
|
|
1035 |
Â
-ms-flex: 0 0 100%;
|
1036 |
Â
flex: 0 0 100%;
|
1037 |
Â
max-width: 100%;
|
1038 |
Â
}
|
1039 |
Â
.order-xl-first {
|
Â
|
|
1040 |
Â
-ms-flex-order: -1;
|
1041 |
Â
order: -1;
|
1042 |
Â
}
|
1043 |
Â
.order-xl-last {
|
Â
|
|
1044 |
Â
-ms-flex-order: 13;
|
1045 |
Â
order: 13;
|
1046 |
Â
}
|
1047 |
Â
.order-xl-0 {
|
Â
|
|
1048 |
Â
-ms-flex-order: 0;
|
1049 |
Â
order: 0;
|
1050 |
Â
}
|
1051 |
Â
.order-xl-1 {
|
Â
|
|
1052 |
Â
-ms-flex-order: 1;
|
1053 |
Â
order: 1;
|
1054 |
Â
}
|
1055 |
Â
.order-xl-2 {
|
Â
|
|
1056 |
Â
-ms-flex-order: 2;
|
1057 |
Â
order: 2;
|
1058 |
Â
}
|
1059 |
Â
.order-xl-3 {
|
Â
|
|
1060 |
Â
-ms-flex-order: 3;
|
1061 |
Â
order: 3;
|
1062 |
Â
}
|
1063 |
Â
.order-xl-4 {
|
Â
|
|
1064 |
Â
-ms-flex-order: 4;
|
1065 |
Â
order: 4;
|
1066 |
Â
}
|
1067 |
Â
.order-xl-5 {
|
Â
|
|
1068 |
Â
-ms-flex-order: 5;
|
1069 |
Â
order: 5;
|
1070 |
Â
}
|
1071 |
Â
.order-xl-6 {
|
Â
|
|
1072 |
Â
-ms-flex-order: 6;
|
1073 |
Â
order: 6;
|
1074 |
Â
}
|
1075 |
Â
.order-xl-7 {
|
Â
|
|
1076 |
Â
-ms-flex-order: 7;
|
1077 |
Â
order: 7;
|
1078 |
Â
}
|
1079 |
Â
.order-xl-8 {
|
Â
|
|
1080 |
Â
-ms-flex-order: 8;
|
1081 |
Â
order: 8;
|
1082 |
Â
}
|
1083 |
Â
.order-xl-9 {
|
Â
|
|
1084 |
Â
-ms-flex-order: 9;
|
1085 |
Â
order: 9;
|
1086 |
Â
}
|
1087 |
Â
.order-xl-10 {
|
Â
|
|
1088 |
Â
-ms-flex-order: 10;
|
1089 |
Â
order: 10;
|
1090 |
Â
}
|
1091 |
Â
.order-xl-11 {
|
Â
|
|
1092 |
Â
-ms-flex-order: 11;
|
1093 |
Â
order: 11;
|
1094 |
Â
}
|
1095 |
Â
.order-xl-12 {
|
Â
|
|
1096 |
Â
-ms-flex-order: 12;
|
1097 |
Â
order: 12;
|
1098 |
Â
}
|
1163 |
Â
}
|
1164 |
Â
|
1165 |
Â
.d-flex {
|
Â
|
|
1166 |
Â
display: -ms-flexbox !important;
|
1167 |
Â
display: flex !important;
|
1168 |
Â
}
|
1169 |
Â
|
1170 |
Â
.d-inline-flex {
|
Â
|
|
1171 |
Â
display: -ms-inline-flexbox !important;
|
1172 |
Â
display: inline-flex !important;
|
1173 |
Â
}
|
1195 |
Â
display: table-cell !important;
|
1196 |
Â
}
|
1197 |
Â
.d-sm-flex {
|
Â
|
|
1198 |
Â
display: -ms-flexbox !important;
|
1199 |
Â
display: flex !important;
|
1200 |
Â
}
|
1201 |
Â
.d-sm-inline-flex {
|
Â
|
|
1202 |
Â
display: -ms-inline-flexbox !important;
|
1203 |
Â
display: inline-flex !important;
|
1204 |
Â
}
|
1227 |
Â
display: table-cell !important;
|
1228 |
Â
}
|
1229 |
Â
.d-md-flex {
|
Â
|
|
1230 |
Â
display: -ms-flexbox !important;
|
1231 |
Â
display: flex !important;
|
1232 |
Â
}
|
1233 |
Â
.d-md-inline-flex {
|
Â
|
|
1234 |
Â
display: -ms-inline-flexbox !important;
|
1235 |
Â
display: inline-flex !important;
|
1236 |
Â
}
|
1259 |
Â
display: table-cell !important;
|
1260 |
Â
}
|
1261 |
Â
.d-lg-flex {
|
Â
|
|
1262 |
Â
display: -ms-flexbox !important;
|
1263 |
Â
display: flex !important;
|
1264 |
Â
}
|
1265 |
Â
.d-lg-inline-flex {
|
Â
|
|
1266 |
Â
display: -ms-inline-flexbox !important;
|
1267 |
Â
display: inline-flex !important;
|
1268 |
Â
}
|
1291 |
Â
display: table-cell !important;
|
1292 |
Â
}
|
1293 |
Â
.d-xl-flex {
|
Â
|
|
1294 |
Â
display: -ms-flexbox !important;
|
1295 |
Â
display: flex !important;
|
1296 |
Â
}
|
1297 |
Â
.d-xl-inline-flex {
|
Â
|
|
1298 |
Â
display: -ms-inline-flexbox !important;
|
1299 |
Â
display: inline-flex !important;
|
1300 |
Â
}
|
1323 |
Â
display: table-cell !important;
|
1324 |
Â
}
|
1325 |
Â
.d-print-flex {
|
Â
|
|
1326 |
Â
display: -ms-flexbox !important;
|
1327 |
Â
display: flex !important;
|
1328 |
Â
}
|
1329 |
Â
.d-print-inline-flex {
|
Â
|
|
1330 |
Â
display: -ms-inline-flexbox !important;
|
1331 |
Â
display: inline-flex !important;
|
1332 |
Â
}
|
1333 |
Â
}
|
1334 |
Â
|
1335 |
Â
.flex-row {
|
Â
|
|
Â
|
|
1336 |
Â
-ms-flex-direction: row !important;
|
1337 |
Â
flex-direction: row !important;
|
1338 |
Â
}
|
1339 |
Â
|
1340 |
Â
.flex-column {
|
Â
|
|
Â
|
|
1341 |
Â
-ms-flex-direction: column !important;
|
1342 |
Â
flex-direction: column !important;
|
1343 |
Â
}
|
1344 |
Â
|
1345 |
Â
.flex-row-reverse {
|
Â
|
|
Â
|
|
1346 |
Â
-ms-flex-direction: row-reverse !important;
|
1347 |
Â
flex-direction: row-reverse !important;
|
1348 |
Â
}
|
1349 |
Â
|
1350 |
Â
.flex-column-reverse {
|
Â
|
|
Â
|
|
1351 |
Â
-ms-flex-direction: column-reverse !important;
|
1352 |
Â
flex-direction: column-reverse !important;
|
1353 |
Â
}
|
1367 |
Â
flex-wrap: wrap-reverse !important;
|
1368 |
Â
}
|
1369 |
Â
|
1370 |
+
.flex-fill {
|
1371 |
+
-ms-flex: 1 1 auto !important;
|
1372 |
+
flex: 1 1 auto !important;
|
1373 |
+
}
|
1374 |
+
|
1375 |
+
.flex-grow-0 {
|
1376 |
+
-ms-flex-positive: 0 !important;
|
1377 |
+
flex-grow: 0 !important;
|
1378 |
+
}
|
1379 |
+
|
1380 |
+
.flex-grow-1 {
|
1381 |
+
-ms-flex-positive: 1 !important;
|
1382 |
+
flex-grow: 1 !important;
|
1383 |
+
}
|
1384 |
+
|
1385 |
+
.flex-shrink-0 {
|
1386 |
+
-ms-flex-negative: 0 !important;
|
1387 |
+
flex-shrink: 0 !important;
|
1388 |
+
}
|
1389 |
+
|
1390 |
+
.flex-shrink-1 {
|
1391 |
+
-ms-flex-negative: 1 !important;
|
1392 |
+
flex-shrink: 1 !important;
|
1393 |
+
}
|
1394 |
+
|
1395 |
Â
.justify-content-start {
|
Â
|
|
1396 |
Â
-ms-flex-pack: start !important;
|
1397 |
Â
justify-content: flex-start !important;
|
1398 |
Â
}
|
1399 |
Â
|
1400 |
Â
.justify-content-end {
|
Â
|
|
1401 |
Â
-ms-flex-pack: end !important;
|
1402 |
Â
justify-content: flex-end !important;
|
1403 |
Â
}
|
1404 |
Â
|
1405 |
Â
.justify-content-center {
|
Â
|
|
1406 |
Â
-ms-flex-pack: center !important;
|
1407 |
Â
justify-content: center !important;
|
1408 |
Â
}
|
1409 |
Â
|
1410 |
Â
.justify-content-between {
|
Â
|
|
1411 |
Â
-ms-flex-pack: justify !important;
|
1412 |
Â
justify-content: space-between !important;
|
1413 |
Â
}
|
1418 |
Â
}
|
1419 |
Â
|
1420 |
Â
.align-items-start {
|
Â
|
|
1421 |
Â
-ms-flex-align: start !important;
|
1422 |
Â
align-items: flex-start !important;
|
1423 |
Â
}
|
1424 |
Â
|
1425 |
Â
.align-items-end {
|
Â
|
|
1426 |
Â
-ms-flex-align: end !important;
|
1427 |
Â
align-items: flex-end !important;
|
1428 |
Â
}
|
1429 |
Â
|
1430 |
Â
.align-items-center {
|
Â
|
|
1431 |
Â
-ms-flex-align: center !important;
|
1432 |
Â
align-items: center !important;
|
1433 |
Â
}
|
1434 |
Â
|
1435 |
Â
.align-items-baseline {
|
Â
|
|
1436 |
Â
-ms-flex-align: baseline !important;
|
1437 |
Â
align-items: baseline !important;
|
1438 |
Â
}
|
1439 |
Â
|
1440 |
Â
.align-items-stretch {
|
Â
|
|
1441 |
Â
-ms-flex-align: stretch !important;
|
1442 |
Â
align-items: stretch !important;
|
1443 |
Â
}
|
1504 |
Â
|
1505 |
Â
@media (min-width: 576px) {
|
1506 |
Â
.flex-sm-row {
|
Â
|
|
Â
|
|
1507 |
Â
-ms-flex-direction: row !important;
|
1508 |
Â
flex-direction: row !important;
|
1509 |
Â
}
|
1510 |
Â
.flex-sm-column {
|
Â
|
|
Â
|
|
1511 |
Â
-ms-flex-direction: column !important;
|
1512 |
Â
flex-direction: column !important;
|
1513 |
Â
}
|
1514 |
Â
.flex-sm-row-reverse {
|
Â
|
|
Â
|
|
1515 |
Â
-ms-flex-direction: row-reverse !important;
|
1516 |
Â
flex-direction: row-reverse !important;
|
1517 |
Â
}
|
1518 |
Â
.flex-sm-column-reverse {
|
Â
|
|
Â
|
|
1519 |
Â
-ms-flex-direction: column-reverse !important;
|
1520 |
Â
flex-direction: column-reverse !important;
|
1521 |
Â
}
|
1531 |
Â
-ms-flex-wrap: wrap-reverse !important;
|
1532 |
Â
flex-wrap: wrap-reverse !important;
|
1533 |
Â
}
|
1534 |
+
.flex-sm-fill {
|
1535 |
+
-ms-flex: 1 1 auto !important;
|
1536 |
+
flex: 1 1 auto !important;
|
1537 |
+
}
|
1538 |
+
.flex-sm-grow-0 {
|
1539 |
+
-ms-flex-positive: 0 !important;
|
1540 |
+
flex-grow: 0 !important;
|
1541 |
+
}
|
1542 |
+
.flex-sm-grow-1 {
|
1543 |
+
-ms-flex-positive: 1 !important;
|
1544 |
+
flex-grow: 1 !important;
|
1545 |
+
}
|
1546 |
+
.flex-sm-shrink-0 {
|
1547 |
+
-ms-flex-negative: 0 !important;
|
1548 |
+
flex-shrink: 0 !important;
|
1549 |
+
}
|
1550 |
+
.flex-sm-shrink-1 {
|
1551 |
+
-ms-flex-negative: 1 !important;
|
1552 |
+
flex-shrink: 1 !important;
|
1553 |
+
}
|
1554 |
Â
.justify-content-sm-start {
|
Â
|
|
1555 |
Â
-ms-flex-pack: start !important;
|
1556 |
Â
justify-content: flex-start !important;
|
1557 |
Â
}
|
1558 |
Â
.justify-content-sm-end {
|
Â
|
|
1559 |
Â
-ms-flex-pack: end !important;
|
1560 |
Â
justify-content: flex-end !important;
|
1561 |
Â
}
|
1562 |
Â
.justify-content-sm-center {
|
Â
|
|
1563 |
Â
-ms-flex-pack: center !important;
|
1564 |
Â
justify-content: center !important;
|
1565 |
Â
}
|
1566 |
Â
.justify-content-sm-between {
|
Â
|
|
1567 |
Â
-ms-flex-pack: justify !important;
|
1568 |
Â
justify-content: space-between !important;
|
1569 |
Â
}
|
1572 |
Â
justify-content: space-around !important;
|
1573 |
Â
}
|
1574 |
Â
.align-items-sm-start {
|
Â
|
|
1575 |
Â
-ms-flex-align: start !important;
|
1576 |
Â
align-items: flex-start !important;
|
1577 |
Â
}
|
1578 |
Â
.align-items-sm-end {
|
Â
|
|
1579 |
Â
-ms-flex-align: end !important;
|
1580 |
Â
align-items: flex-end !important;
|
1581 |
Â
}
|
1582 |
Â
.align-items-sm-center {
|
Â
|
|
1583 |
Â
-ms-flex-align: center !important;
|
1584 |
Â
align-items: center !important;
|
1585 |
Â
}
|
1586 |
Â
.align-items-sm-baseline {
|
Â
|
|
1587 |
Â
-ms-flex-align: baseline !important;
|
1588 |
Â
align-items: baseline !important;
|
1589 |
Â
}
|
1590 |
Â
.align-items-sm-stretch {
|
Â
|
|
1591 |
Â
-ms-flex-align: stretch !important;
|
1592 |
Â
align-items: stretch !important;
|
1593 |
Â
}
|
1643 |
Â
|
1644 |
Â
@media (min-width: 768px) {
|
1645 |
Â
.flex-md-row {
|
Â
|
|
Â
|
|
1646 |
Â
-ms-flex-direction: row !important;
|
1647 |
Â
flex-direction: row !important;
|
1648 |
Â
}
|
1649 |
Â
.flex-md-column {
|
Â
|
|
Â
|
|
1650 |
Â
-ms-flex-direction: column !important;
|
1651 |
Â
flex-direction: column !important;
|
1652 |
Â
}
|
1653 |
Â
.flex-md-row-reverse {
|
Â
|
|
Â
|
|
1654 |
Â
-ms-flex-direction: row-reverse !important;
|
1655 |
Â
flex-direction: row-reverse !important;
|
1656 |
Â
}
|
1657 |
Â
.flex-md-column-reverse {
|
Â
|
|
Â
|
|
1658 |
Â
-ms-flex-direction: column-reverse !important;
|
1659 |
Â
flex-direction: column-reverse !important;
|
1660 |
Â
}
|
1670 |
Â
-ms-flex-wrap: wrap-reverse !important;
|
1671 |
Â
flex-wrap: wrap-reverse !important;
|
1672 |
Â
}
|
1673 |
+
.flex-md-fill {
|
1674 |
+
-ms-flex: 1 1 auto !important;
|
1675 |
+
flex: 1 1 auto !important;
|
1676 |
+
}
|
1677 |
+
.flex-md-grow-0 {
|
1678 |
+
-ms-flex-positive: 0 !important;
|
1679 |
+
flex-grow: 0 !important;
|
1680 |
+
}
|
1681 |
+
.flex-md-grow-1 {
|
1682 |
+
-ms-flex-positive: 1 !important;
|
1683 |
+
flex-grow: 1 !important;
|
1684 |
+
}
|
1685 |
+
.flex-md-shrink-0 {
|
1686 |
+
-ms-flex-negative: 0 !important;
|
1687 |
+
flex-shrink: 0 !important;
|
1688 |
+
}
|
1689 |
+
.flex-md-shrink-1 {
|
1690 |
+
-ms-flex-negative: 1 !important;
|
1691 |
+
flex-shrink: 1 !important;
|
1692 |
+
}
|
1693 |
Â
.justify-content-md-start {
|
Â
|
|
1694 |
Â
-ms-flex-pack: start !important;
|
1695 |
Â
justify-content: flex-start !important;
|
1696 |
Â
}
|
1697 |
Â
.justify-content-md-end {
|
Â
|
|
1698 |
Â
-ms-flex-pack: end !important;
|
1699 |
Â
justify-content: flex-end !important;
|
1700 |
Â
}
|
1701 |
Â
.justify-content-md-center {
|
Â
|
|
1702 |
Â
-ms-flex-pack: center !important;
|
1703 |
Â
justify-content: center !important;
|
1704 |
Â
}
|
1705 |
Â
.justify-content-md-between {
|
Â
|
|
1706 |
Â
-ms-flex-pack: justify !important;
|
1707 |
Â
justify-content: space-between !important;
|
1708 |
Â
}
|
1711 |
Â
justify-content: space-around !important;
|
1712 |
Â
}
|
1713 |
Â
.align-items-md-start {
|
Â
|
|
1714 |
Â
-ms-flex-align: start !important;
|
1715 |
Â
align-items: flex-start !important;
|
1716 |
Â
}
|
1717 |
Â
.align-items-md-end {
|
Â
|
|
1718 |
Â
-ms-flex-align: end !important;
|
1719 |
Â
align-items: flex-end !important;
|
1720 |
Â
}
|
1721 |
Â
.align-items-md-center {
|
Â
|
|
1722 |
Â
-ms-flex-align: center !important;
|
1723 |
Â
align-items: center !important;
|
1724 |
Â
}
|
1725 |
Â
.align-items-md-baseline {
|
Â
|
|
1726 |
Â
-ms-flex-align: baseline !important;
|
1727 |
Â
align-items: baseline !important;
|
1728 |
Â
}
|
1729 |
Â
.align-items-md-stretch {
|
Â
|
|
1730 |
Â
-ms-flex-align: stretch !important;
|
1731 |
Â
align-items: stretch !important;
|
1732 |
Â
}
|
1782 |
Â
|
1783 |
Â
@media (min-width: 992px) {
|
1784 |
Â
.flex-lg-row {
|
Â
|
|
Â
|
|
1785 |
Â
-ms-flex-direction: row !important;
|
1786 |
Â
flex-direction: row !important;
|
1787 |
Â
}
|
1788 |
Â
.flex-lg-column {
|
Â
|
|
Â
|
|
1789 |
Â
-ms-flex-direction: column !important;
|
1790 |
Â
flex-direction: column !important;
|
1791 |
Â
}
|
1792 |
Â
.flex-lg-row-reverse {
|
Â
|
|
Â
|
|
1793 |
Â
-ms-flex-direction: row-reverse !important;
|
1794 |
Â
flex-direction: row-reverse !important;
|
1795 |
Â
}
|
1796 |
Â
.flex-lg-column-reverse {
|
Â
|
|
Â
|
|
1797 |
Â
-ms-flex-direction: column-reverse !important;
|
1798 |
Â
flex-direction: column-reverse !important;
|
1799 |
Â
}
|
1809 |
Â
-ms-flex-wrap: wrap-reverse !important;
|
1810 |
Â
flex-wrap: wrap-reverse !important;
|
1811 |
Â
}
|
1812 |
+
.flex-lg-fill {
|
1813 |
+
-ms-flex: 1 1 auto !important;
|
1814 |
+
flex: 1 1 auto !important;
|
1815 |
+
}
|
1816 |
+
.flex-lg-grow-0 {
|
1817 |
+
-ms-flex-positive: 0 !important;
|
1818 |
+
flex-grow: 0 !important;
|
1819 |
+
}
|
1820 |
+
.flex-lg-grow-1 {
|
1821 |
+
-ms-flex-positive: 1 !important;
|
1822 |
+
flex-grow: 1 !important;
|
1823 |
+
}
|
1824 |
+
.flex-lg-shrink-0 {
|
1825 |
+
-ms-flex-negative: 0 !important;
|
1826 |
+
flex-shrink: 0 !important;
|
1827 |
+
}
|
1828 |
+
.flex-lg-shrink-1 {
|
1829 |
+
-ms-flex-negative: 1 !important;
|
1830 |
+
flex-shrink: 1 !important;
|
1831 |
+
}
|
1832 |
Â
.justify-content-lg-start {
|
Â
|
|
1833 |
Â
-ms-flex-pack: start !important;
|
1834 |
Â
justify-content: flex-start !important;
|
1835 |
Â
}
|
1836 |
Â
.justify-content-lg-end {
|
Â
|
|
1837 |
Â
-ms-flex-pack: end !important;
|
1838 |
Â
justify-content: flex-end !important;
|
1839 |
Â
}
|
1840 |
Â
.justify-content-lg-center {
|
Â
|
|
1841 |
Â
-ms-flex-pack: center !important;
|
1842 |
Â
justify-content: center !important;
|
1843 |
Â
}
|
1844 |
Â
.justify-content-lg-between {
|
Â
|
|
1845 |
Â
-ms-flex-pack: justify !important;
|
1846 |
Â
justify-content: space-between !important;
|
1847 |
Â
}
|
1850 |
Â
justify-content: space-around !important;
|
1851 |
Â
}
|
1852 |
Â
.align-items-lg-start {
|
Â
|
|
1853 |
Â
-ms-flex-align: start !important;
|
1854 |
Â
align-items: flex-start !important;
|
1855 |
Â
}
|
1856 |
Â
.align-items-lg-end {
|
Â
|
|
1857 |
Â
-ms-flex-align: end !important;
|
1858 |
Â
align-items: flex-end !important;
|
1859 |
Â
}
|
1860 |
Â
.align-items-lg-center {
|
Â
|
|
1861 |
Â
-ms-flex-align: center !important;
|
1862 |
Â
align-items: center !important;
|
1863 |
Â
}
|
1864 |
Â
.align-items-lg-baseline {
|
Â
|
|
1865 |
Â
-ms-flex-align: baseline !important;
|
1866 |
Â
align-items: baseline !important;
|
1867 |
Â
}
|
1868 |
Â
.align-items-lg-stretch {
|
Â
|
|
1869 |
Â
-ms-flex-align: stretch !important;
|
1870 |
Â
align-items: stretch !important;
|
1871 |
Â
}
|
1921 |
Â
|
1922 |
Â
@media (min-width: 1200px) {
|
1923 |
Â
.flex-xl-row {
|
Â
|
|
Â
|
|
1924 |
Â
-ms-flex-direction: row !important;
|
1925 |
Â
flex-direction: row !important;
|
1926 |
Â
}
|
1927 |
Â
.flex-xl-column {
|
Â
|
|
Â
|
|
1928 |
Â
-ms-flex-direction: column !important;
|
1929 |
Â
flex-direction: column !important;
|
1930 |
Â
}
|
1931 |
Â
.flex-xl-row-reverse {
|
Â
|
|
Â
|
|
1932 |
Â
-ms-flex-direction: row-reverse !important;
|
1933 |
Â
flex-direction: row-reverse !important;
|
1934 |
Â
}
|
1935 |
Â
.flex-xl-column-reverse {
|
Â
|
|
Â
|
|
1936 |
Â
-ms-flex-direction: column-reverse !important;
|
1937 |
Â
flex-direction: column-reverse !important;
|
1938 |
Â
}
|
1948 |
Â
-ms-flex-wrap: wrap-reverse !important;
|
1949 |
Â
flex-wrap: wrap-reverse !important;
|
1950 |
Â
}
|
1951 |
+
.flex-xl-fill {
|
1952 |
+
-ms-flex: 1 1 auto !important;
|
1953 |
+
flex: 1 1 auto !important;
|
1954 |
+
}
|
1955 |
+
.flex-xl-grow-0 {
|
1956 |
+
-ms-flex-positive: 0 !important;
|
1957 |
+
flex-grow: 0 !important;
|
1958 |
+
}
|
1959 |
+
.flex-xl-grow-1 {
|
1960 |
+
-ms-flex-positive: 1 !important;
|
1961 |
+
flex-grow: 1 !important;
|
1962 |
+
}
|
1963 |
+
.flex-xl-shrink-0 {
|
1964 |
+
-ms-flex-negative: 0 !important;
|
1965 |
+
flex-shrink: 0 !important;
|
1966 |
+
}
|
1967 |
+
.flex-xl-shrink-1 {
|
1968 |
+
-ms-flex-negative: 1 !important;
|
1969 |
+
flex-shrink: 1 !important;
|
1970 |
+
}
|
1971 |
Â
.justify-content-xl-start {
|
Â
|
|
1972 |
Â
-ms-flex-pack: start !important;
|
1973 |
Â
justify-content: flex-start !important;
|
1974 |
Â
}
|
1975 |
Â
.justify-content-xl-end {
|
Â
|
|
1976 |
Â
-ms-flex-pack: end !important;
|
1977 |
Â
justify-content: flex-end !important;
|
1978 |
Â
}
|
1979 |
Â
.justify-content-xl-center {
|
Â
|
|
1980 |
Â
-ms-flex-pack: center !important;
|
1981 |
Â
justify-content: center !important;
|
1982 |
Â
}
|
1983 |
Â
.justify-content-xl-between {
|
Â
|
|
1984 |
Â
-ms-flex-pack: justify !important;
|
1985 |
Â
justify-content: space-between !important;
|
1986 |
Â
}
|
1989 |
Â
justify-content: space-around !important;
|
1990 |
Â
}
|
1991 |
Â
.align-items-xl-start {
|
Â
|
|
1992 |
Â
-ms-flex-align: start !important;
|
1993 |
Â
align-items: flex-start !important;
|
1994 |
Â
}
|
1995 |
Â
.align-items-xl-end {
|
Â
|
|
1996 |
Â
-ms-flex-align: end !important;
|
1997 |
Â
align-items: flex-end !important;
|
1998 |
Â
}
|
1999 |
Â
.align-items-xl-center {
|
Â
|
|
2000 |
Â
-ms-flex-align: center !important;
|
2001 |
Â
align-items: center !important;
|
2002 |
Â
}
|
2003 |
Â
.align-items-xl-baseline {
|
Â
|
|
2004 |
Â
-ms-flex-align: baseline !important;
|
2005 |
Â
align-items: baseline !important;
|
2006 |
Â
}
|
2007 |
Â
.align-items-xl-stretch {
|
Â
|
|
2008 |
Â
-ms-flex-align: stretch !important;
|
2009 |
Â
align-items: stretch !important;
|
2010 |
Â
}
|
2057 |
Â
align-self: stretch !important;
|
2058 |
Â
}
|
2059 |
Â
}
|
2060 |
+
|
2061 |
+
.m-0 {
|
2062 |
+
margin: 0 !important;
|
2063 |
+
}
|
2064 |
+
|
2065 |
+
.mt-0,
|
2066 |
+
.my-0 {
|
2067 |
+
margin-top: 0 !important;
|
2068 |
+
}
|
2069 |
+
|
2070 |
+
.mr-0,
|
2071 |
+
.mx-0 {
|
2072 |
+
margin-right: 0 !important;
|
2073 |
+
}
|
2074 |
+
|
2075 |
+
.mb-0,
|
2076 |
+
.my-0 {
|
2077 |
+
margin-bottom: 0 !important;
|
2078 |
+
}
|
2079 |
+
|
2080 |
+
.ml-0,
|
2081 |
+
.mx-0 {
|
2082 |
+
margin-left: 0 !important;
|
2083 |
+
}
|
2084 |
+
|
2085 |
+
.m-1 {
|
2086 |
+
margin: 0.25rem !important;
|
2087 |
+
}
|
2088 |
+
|
2089 |
+
.mt-1,
|
2090 |
+
.my-1 {
|
2091 |
+
margin-top: 0.25rem !important;
|
2092 |
+
}
|
2093 |
+
|
2094 |
+
.mr-1,
|
2095 |
+
.mx-1 {
|
2096 |
+
margin-right: 0.25rem !important;
|
2097 |
+
}
|
2098 |
+
|
2099 |
+
.mb-1,
|
2100 |
+
.my-1 {
|
2101 |
+
margin-bottom: 0.25rem !important;
|
2102 |
+
}
|
2103 |
+
|
2104 |
+
.ml-1,
|
2105 |
+
.mx-1 {
|
2106 |
+
margin-left: 0.25rem !important;
|
2107 |
+
}
|
2108 |
+
|
2109 |
+
.m-2 {
|
2110 |
+
margin: 0.5rem !important;
|
2111 |
+
}
|
2112 |
+
|
2113 |
+
.mt-2,
|
2114 |
+
.my-2 {
|
2115 |
+
margin-top: 0.5rem !important;
|
2116 |
+
}
|
2117 |
+
|
2118 |
+
.mr-2,
|
2119 |
+
.mx-2 {
|
2120 |
+
margin-right: 0.5rem !important;
|
2121 |
+
}
|
2122 |
+
|
2123 |
+
.mb-2,
|
2124 |
+
.my-2 {
|
2125 |
+
margin-bottom: 0.5rem !important;
|
2126 |
+
}
|
2127 |
+
|
2128 |
+
.ml-2,
|
2129 |
+
.mx-2 {
|
2130 |
+
margin-left: 0.5rem !important;
|
2131 |
+
}
|
2132 |
+
|
2133 |
+
.m-3 {
|
2134 |
+
margin: 1rem !important;
|
2135 |
+
}
|
2136 |
+
|
2137 |
+
.mt-3,
|
2138 |
+
.my-3 {
|
2139 |
+
margin-top: 1rem !important;
|
2140 |
+
}
|
2141 |
+
|
2142 |
+
.mr-3,
|
2143 |
+
.mx-3 {
|
2144 |
+
margin-right: 1rem !important;
|
2145 |
+
}
|
2146 |
+
|
2147 |
+
.mb-3,
|
2148 |
+
.my-3 {
|
2149 |
+
margin-bottom: 1rem !important;
|
2150 |
+
}
|
2151 |
+
|
2152 |
+
.ml-3,
|
2153 |
+
.mx-3 {
|
2154 |
+
margin-left: 1rem !important;
|
2155 |
+
}
|
2156 |
+
|
2157 |
+
.m-4 {
|
2158 |
+
margin: 1.5rem !important;
|
2159 |
+
}
|
2160 |
+
|
2161 |
+
.mt-4,
|
2162 |
+
.my-4 {
|
2163 |
+
margin-top: 1.5rem !important;
|
2164 |
+
}
|
2165 |
+
|
2166 |
+
.mr-4,
|
2167 |
+
.mx-4 {
|
2168 |
+
margin-right: 1.5rem !important;
|
2169 |
+
}
|
2170 |
+
|
2171 |
+
.mb-4,
|
2172 |
+
.my-4 {
|
2173 |
+
margin-bottom: 1.5rem !important;
|
2174 |
+
}
|
2175 |
+
|
2176 |
+
.ml-4,
|
2177 |
+
.mx-4 {
|
2178 |
+
margin-left: 1.5rem !important;
|
2179 |
+
}
|
2180 |
+
|
2181 |
+
.m-5 {
|
2182 |
+
margin: 3rem !important;
|
2183 |
+
}
|
2184 |
+
|
2185 |
+
.mt-5,
|
2186 |
+
.my-5 {
|
2187 |
+
margin-top: 3rem !important;
|
2188 |
+
}
|
2189 |
+
|
2190 |
+
.mr-5,
|
2191 |
+
.mx-5 {
|
2192 |
+
margin-right: 3rem !important;
|
2193 |
+
}
|
2194 |
+
|
2195 |
+
.mb-5,
|
2196 |
+
.my-5 {
|
2197 |
+
margin-bottom: 3rem !important;
|
2198 |
+
}
|
2199 |
+
|
2200 |
+
.ml-5,
|
2201 |
+
.mx-5 {
|
2202 |
+
margin-left: 3rem !important;
|
2203 |
+
}
|
2204 |
+
|
2205 |
+
.p-0 {
|
2206 |
+
padding: 0 !important;
|
2207 |
+
}
|
2208 |
+
|
2209 |
+
.pt-0,
|
2210 |
+
.py-0 {
|
2211 |
+
padding-top: 0 !important;
|
2212 |
+
}
|
2213 |
+
|
2214 |
+
.pr-0,
|
2215 |
+
.px-0 {
|
2216 |
+
padding-right: 0 !important;
|
2217 |
+
}
|
2218 |
+
|
2219 |
+
.pb-0,
|
2220 |
+
.py-0 {
|
2221 |
+
padding-bottom: 0 !important;
|
2222 |
+
}
|
2223 |
+
|
2224 |
+
.pl-0,
|
2225 |
+
.px-0 {
|
2226 |
+
padding-left: 0 !important;
|
2227 |
+
}
|
2228 |
+
|
2229 |
+
.p-1 {
|
2230 |
+
padding: 0.25rem !important;
|
2231 |
+
}
|
2232 |
+
|
2233 |
+
.pt-1,
|
2234 |
+
.py-1 {
|
2235 |
+
padding-top: 0.25rem !important;
|
2236 |
+
}
|
2237 |
+
|
2238 |
+
.pr-1,
|
2239 |
+
.px-1 {
|
2240 |
+
padding-right: 0.25rem !important;
|
2241 |
+
}
|
2242 |
+
|
2243 |
+
.pb-1,
|
2244 |
+
.py-1 {
|
2245 |
+
padding-bottom: 0.25rem !important;
|
2246 |
+
}
|
2247 |
+
|
2248 |
+
.pl-1,
|
2249 |
+
.px-1 {
|
2250 |
+
padding-left: 0.25rem !important;
|
2251 |
+
}
|
2252 |
+
|
2253 |
+
.p-2 {
|
2254 |
+
padding: 0.5rem !important;
|
2255 |
+
}
|
2256 |
+
|
2257 |
+
.pt-2,
|
2258 |
+
.py-2 {
|
2259 |
+
padding-top: 0.5rem !important;
|
2260 |
+
}
|
2261 |
+
|
2262 |
+
.pr-2,
|
2263 |
+
.px-2 {
|
2264 |
+
padding-right: 0.5rem !important;
|
2265 |
+
}
|
2266 |
+
|
2267 |
+
.pb-2,
|
2268 |
+
.py-2 {
|
2269 |
+
padding-bottom: 0.5rem !important;
|
2270 |
+
}
|
2271 |
+
|
2272 |
+
.pl-2,
|
2273 |
+
.px-2 {
|
2274 |
+
padding-left: 0.5rem !important;
|
2275 |
+
}
|
2276 |
+
|
2277 |
+
.p-3 {
|
2278 |
+
padding: 1rem !important;
|
2279 |
+
}
|
2280 |
+
|
2281 |
+
.pt-3,
|
2282 |
+
.py-3 {
|
2283 |
+
padding-top: 1rem !important;
|
2284 |
+
}
|
2285 |
+
|
2286 |
+
.pr-3,
|
2287 |
+
.px-3 {
|
2288 |
+
padding-right: 1rem !important;
|
2289 |
+
}
|
2290 |
+
|
2291 |
+
.pb-3,
|
2292 |
+
.py-3 {
|
2293 |
+
padding-bottom: 1rem !important;
|
2294 |
+
}
|
2295 |
+
|
2296 |
+
.pl-3,
|
2297 |
+
.px-3 {
|
2298 |
+
padding-left: 1rem !important;
|
2299 |
+
}
|
2300 |
+
|
2301 |
+
.p-4 {
|
2302 |
+
padding: 1.5rem !important;
|
2303 |
+
}
|
2304 |
+
|
2305 |
+
.pt-4,
|
2306 |
+
.py-4 {
|
2307 |
+
padding-top: 1.5rem !important;
|
2308 |
+
}
|
2309 |
+
|
2310 |
+
.pr-4,
|
2311 |
+
.px-4 {
|
2312 |
+
padding-right: 1.5rem !important;
|
2313 |
+
}
|
2314 |
+
|
2315 |
+
.pb-4,
|
2316 |
+
.py-4 {
|
2317 |
+
padding-bottom: 1.5rem !important;
|
2318 |
+
}
|
2319 |
+
|
2320 |
+
.pl-4,
|
2321 |
+
.px-4 {
|
2322 |
+
padding-left: 1.5rem !important;
|
2323 |
+
}
|
2324 |
+
|
2325 |
+
.p-5 {
|
2326 |
+
padding: 3rem !important;
|
2327 |
+
}
|
2328 |
+
|
2329 |
+
.pt-5,
|
2330 |
+
.py-5 {
|
2331 |
+
padding-top: 3rem !important;
|
2332 |
+
}
|
2333 |
+
|
2334 |
+
.pr-5,
|
2335 |
+
.px-5 {
|
2336 |
+
padding-right: 3rem !important;
|
2337 |
+
}
|
2338 |
+
|
2339 |
+
.pb-5,
|
2340 |
+
.py-5 {
|
2341 |
+
padding-bottom: 3rem !important;
|
2342 |
+
}
|
2343 |
+
|
2344 |
+
.pl-5,
|
2345 |
+
.px-5 {
|
2346 |
+
padding-left: 3rem !important;
|
2347 |
+
}
|
2348 |
+
|
2349 |
+
.m-n1 {
|
2350 |
+
margin: -0.25rem !important;
|
2351 |
+
}
|
2352 |
+
|
2353 |
+
.mt-n1,
|
2354 |
+
.my-n1 {
|
2355 |
+
margin-top: -0.25rem !important;
|
2356 |
+
}
|
2357 |
+
|
2358 |
+
.mr-n1,
|
2359 |
+
.mx-n1 {
|
2360 |
+
margin-right: -0.25rem !important;
|
2361 |
+
}
|
2362 |
+
|
2363 |
+
.mb-n1,
|
2364 |
+
.my-n1 {
|
2365 |
+
margin-bottom: -0.25rem !important;
|
2366 |
+
}
|
2367 |
+
|
2368 |
+
.ml-n1,
|
2369 |
+
.mx-n1 {
|
2370 |
+
margin-left: -0.25rem !important;
|
2371 |
+
}
|
2372 |
+
|
2373 |
+
.m-n2 {
|
2374 |
+
margin: -0.5rem !important;
|
2375 |
+
}
|
2376 |
+
|
2377 |
+
.mt-n2,
|
2378 |
+
.my-n2 {
|
2379 |
+
margin-top: -0.5rem !important;
|
2380 |
+
}
|
2381 |
+
|
2382 |
+
.mr-n2,
|
2383 |
+
.mx-n2 {
|
2384 |
+
margin-right: -0.5rem !important;
|
2385 |
+
}
|
2386 |
+
|
2387 |
+
.mb-n2,
|
2388 |
+
.my-n2 {
|
2389 |
+
margin-bottom: -0.5rem !important;
|
2390 |
+
}
|
2391 |
+
|
2392 |
+
.ml-n2,
|
2393 |
+
.mx-n2 {
|
2394 |
+
margin-left: -0.5rem !important;
|
2395 |
+
}
|
2396 |
+
|
2397 |
+
.m-n3 {
|
2398 |
+
margin: -1rem !important;
|
2399 |
+
}
|
2400 |
+
|
2401 |
+
.mt-n3,
|
2402 |
+
.my-n3 {
|
2403 |
+
margin-top: -1rem !important;
|
2404 |
+
}
|
2405 |
+
|
2406 |
+
.mr-n3,
|
2407 |
+
.mx-n3 {
|
2408 |
+
margin-right: -1rem !important;
|
2409 |
+
}
|
2410 |
+
|
2411 |
+
.mb-n3,
|
2412 |
+
.my-n3 {
|
2413 |
+
margin-bottom: -1rem !important;
|
2414 |
+
}
|
2415 |
+
|
2416 |
+
.ml-n3,
|
2417 |
+
.mx-n3 {
|
2418 |
+
margin-left: -1rem !important;
|
2419 |
+
}
|
2420 |
+
|
2421 |
+
.m-n4 {
|
2422 |
+
margin: -1.5rem !important;
|
2423 |
+
}
|
2424 |
+
|
2425 |
+
.mt-n4,
|
2426 |
+
.my-n4 {
|
2427 |
+
margin-top: -1.5rem !important;
|
2428 |
+
}
|
2429 |
+
|
2430 |
+
.mr-n4,
|
2431 |
+
.mx-n4 {
|
2432 |
+
margin-right: -1.5rem !important;
|
2433 |
+
}
|
2434 |
+
|
2435 |
+
.mb-n4,
|
2436 |
+
.my-n4 {
|
2437 |
+
margin-bottom: -1.5rem !important;
|
2438 |
+
}
|
2439 |
+
|
2440 |
+
.ml-n4,
|
2441 |
+
.mx-n4 {
|
2442 |
+
margin-left: -1.5rem !important;
|
2443 |
+
}
|
2444 |
+
|
2445 |
+
.m-n5 {
|
2446 |
+
margin: -3rem !important;
|
2447 |
+
}
|
2448 |
+
|
2449 |
+
.mt-n5,
|
2450 |
+
.my-n5 {
|
2451 |
+
margin-top: -3rem !important;
|
2452 |
+
}
|
2453 |
+
|
2454 |
+
.mr-n5,
|
2455 |
+
.mx-n5 {
|
2456 |
+
margin-right: -3rem !important;
|
2457 |
+
}
|
2458 |
+
|
2459 |
+
.mb-n5,
|
2460 |
+
.my-n5 {
|
2461 |
+
margin-bottom: -3rem !important;
|
2462 |
+
}
|
2463 |
+
|
2464 |
+
.ml-n5,
|
2465 |
+
.mx-n5 {
|
2466 |
+
margin-left: -3rem !important;
|
2467 |
+
}
|
2468 |
+
|
2469 |
+
.m-auto {
|
2470 |
+
margin: auto !important;
|
2471 |
+
}
|
2472 |
+
|
2473 |
+
.mt-auto,
|
2474 |
+
.my-auto {
|
2475 |
+
margin-top: auto !important;
|
2476 |
+
}
|
2477 |
+
|
2478 |
+
.mr-auto,
|
2479 |
+
.mx-auto {
|
2480 |
+
margin-right: auto !important;
|
2481 |
+
}
|
2482 |
+
|
2483 |
+
.mb-auto,
|
2484 |
+
.my-auto {
|
2485 |
+
margin-bottom: auto !important;
|
2486 |
+
}
|
2487 |
+
|
2488 |
+
.ml-auto,
|
2489 |
+
.mx-auto {
|
2490 |
+
margin-left: auto !important;
|
2491 |
+
}
|
2492 |
+
|
2493 |
+
@media (min-width: 576px) {
|
2494 |
+
.m-sm-0 {
|
2495 |
+
margin: 0 !important;
|
2496 |
+
}
|
2497 |
+
.mt-sm-0,
|
2498 |
+
.my-sm-0 {
|
2499 |
+
margin-top: 0 !important;
|
2500 |
+
}
|
2501 |
+
.mr-sm-0,
|
2502 |
+
.mx-sm-0 {
|
2503 |
+
margin-right: 0 !important;
|
2504 |
+
}
|
2505 |
+
.mb-sm-0,
|
2506 |
+
.my-sm-0 {
|
2507 |
+
margin-bottom: 0 !important;
|
2508 |
+
}
|
2509 |
+
.ml-sm-0,
|
2510 |
+
.mx-sm-0 {
|
2511 |
+
margin-left: 0 !important;
|
2512 |
+
}
|
2513 |
+
.m-sm-1 {
|
2514 |
+
margin: 0.25rem !important;
|
2515 |
+
}
|
2516 |
+
.mt-sm-1,
|
2517 |
+
.my-sm-1 {
|
2518 |
+
margin-top: 0.25rem !important;
|
2519 |
+
}
|
2520 |
+
.mr-sm-1,
|
2521 |
+
.mx-sm-1 {
|
2522 |
+
margin-right: 0.25rem !important;
|
2523 |
+
}
|
2524 |
+
.mb-sm-1,
|
2525 |
+
.my-sm-1 {
|
2526 |
+
margin-bottom: 0.25rem !important;
|
2527 |
+
}
|
2528 |
+
.ml-sm-1,
|
2529 |
+
.mx-sm-1 {
|
2530 |
+
margin-left: 0.25rem !important;
|
2531 |
+
}
|
2532 |
+
.m-sm-2 {
|
2533 |
+
margin: 0.5rem !important;
|
2534 |
+
}
|
2535 |
+
.mt-sm-2,
|
2536 |
+
.my-sm-2 {
|
2537 |
+
margin-top: 0.5rem !important;
|
2538 |
+
}
|
2539 |
+
.mr-sm-2,
|
2540 |
+
.mx-sm-2 {
|
2541 |
+
margin-right: 0.5rem !important;
|
2542 |
+
}
|
2543 |
+
.mb-sm-2,
|
2544 |
+
.my-sm-2 {
|
2545 |
+
margin-bottom: 0.5rem !important;
|
2546 |
+
}
|
2547 |
+
.ml-sm-2,
|
2548 |
+
.mx-sm-2 {
|
2549 |
+
margin-left: 0.5rem !important;
|
2550 |
+
}
|
2551 |
+
.m-sm-3 {
|
2552 |
+
margin: 1rem !important;
|
2553 |
+
}
|
2554 |
+
.mt-sm-3,
|
2555 |
+
.my-sm-3 {
|
2556 |
+
margin-top: 1rem !important;
|
2557 |
+
}
|
2558 |
+
.mr-sm-3,
|
2559 |
+
.mx-sm-3 {
|
2560 |
+
margin-right: 1rem !important;
|
2561 |
+
}
|
2562 |
+
.mb-sm-3,
|
2563 |
+
.my-sm-3 {
|
2564 |
+
margin-bottom: 1rem !important;
|
2565 |
+
}
|
2566 |
+
.ml-sm-3,
|
2567 |
+
.mx-sm-3 {
|
2568 |
+
margin-left: 1rem !important;
|
2569 |
+
}
|
2570 |
+
.m-sm-4 {
|
2571 |
+
margin: 1.5rem !important;
|
2572 |
+
}
|
2573 |
+
.mt-sm-4,
|
2574 |
+
.my-sm-4 {
|
2575 |
+
margin-top: 1.5rem !important;
|
2576 |
+
}
|
2577 |
+
.mr-sm-4,
|
2578 |
+
.mx-sm-4 {
|
2579 |
+
margin-right: 1.5rem !important;
|
2580 |
+
}
|
2581 |
+
.mb-sm-4,
|
2582 |
+
.my-sm-4 {
|
2583 |
+
margin-bottom: 1.5rem !important;
|
2584 |
+
}
|
2585 |
+
.ml-sm-4,
|
2586 |
+
.mx-sm-4 {
|
2587 |
+
margin-left: 1.5rem !important;
|
2588 |
+
}
|
2589 |
+
.m-sm-5 {
|
2590 |
+
margin: 3rem !important;
|
2591 |
+
}
|
2592 |
+
.mt-sm-5,
|
2593 |
+
.my-sm-5 {
|
2594 |
+
margin-top: 3rem !important;
|
2595 |
+
}
|
2596 |
+
.mr-sm-5,
|
2597 |
+
.mx-sm-5 {
|
2598 |
+
margin-right: 3rem !important;
|
2599 |
+
}
|
2600 |
+
.mb-sm-5,
|
2601 |
+
.my-sm-5 {
|
2602 |
+
margin-bottom: 3rem !important;
|
2603 |
+
}
|
2604 |
+
.ml-sm-5,
|
2605 |
+
.mx-sm-5 {
|
2606 |
+
margin-left: 3rem !important;
|
2607 |
+
}
|
2608 |
+
.p-sm-0 {
|
2609 |
+
padding: 0 !important;
|
2610 |
+
}
|
2611 |
+
.pt-sm-0,
|
2612 |
+
.py-sm-0 {
|
2613 |
+
padding-top: 0 !important;
|
2614 |
+
}
|
2615 |
+
.pr-sm-0,
|
2616 |
+
.px-sm-0 {
|
2617 |
+
padding-right: 0 !important;
|
2618 |
+
}
|
2619 |
+
.pb-sm-0,
|
2620 |
+
.py-sm-0 {
|
2621 |
+
padding-bottom: 0 !important;
|
2622 |
+
}
|
2623 |
+
.pl-sm-0,
|
2624 |
+
.px-sm-0 {
|
2625 |
+
padding-left: 0 !important;
|
2626 |
+
}
|
2627 |
+
.p-sm-1 {
|
2628 |
+
padding: 0.25rem !important;
|
2629 |
+
}
|
2630 |
+
.pt-sm-1,
|
2631 |
+
.py-sm-1 {
|
2632 |
+
padding-top: 0.25rem !important;
|
2633 |
+
}
|
2634 |
+
.pr-sm-1,
|
2635 |
+
.px-sm-1 {
|
2636 |
+
padding-right: 0.25rem !important;
|
2637 |
+
}
|
2638 |
+
.pb-sm-1,
|
2639 |
+
.py-sm-1 {
|
2640 |
+
padding-bottom: 0.25rem !important;
|
2641 |
+
}
|
2642 |
+
.pl-sm-1,
|
2643 |
+
.px-sm-1 {
|
2644 |
+
padding-left: 0.25rem !important;
|
2645 |
+
}
|
2646 |
+
.p-sm-2 {
|
2647 |
+
padding: 0.5rem !important;
|
2648 |
+
}
|
2649 |
+
.pt-sm-2,
|
2650 |
+
.py-sm-2 {
|
2651 |
+
padding-top: 0.5rem !important;
|
2652 |
+
}
|
2653 |
+
.pr-sm-2,
|
2654 |
+
.px-sm-2 {
|
2655 |
+
padding-right: 0.5rem !important;
|
2656 |
+
}
|
2657 |
+
.pb-sm-2,
|
2658 |
+
.py-sm-2 {
|
2659 |
+
padding-bottom: 0.5rem !important;
|
2660 |
+
}
|
2661 |
+
.pl-sm-2,
|
2662 |
+
.px-sm-2 {
|
2663 |
+
padding-left: 0.5rem !important;
|
2664 |
+
}
|
2665 |
+
.p-sm-3 {
|
2666 |
+
padding: 1rem !important;
|
2667 |
+
}
|
2668 |
+
.pt-sm-3,
|
2669 |
+
.py-sm-3 {
|
2670 |
+
padding-top: 1rem !important;
|
2671 |
+
}
|
2672 |
+
.pr-sm-3,
|
2673 |
+
.px-sm-3 {
|
2674 |
+
padding-right: 1rem !important;
|
2675 |
+
}
|
2676 |
+
.pb-sm-3,
|
2677 |
+
.py-sm-3 {
|
2678 |
+
padding-bottom: 1rem !important;
|
2679 |
+
}
|
2680 |
+
.pl-sm-3,
|
2681 |
+
.px-sm-3 {
|
2682 |
+
padding-left: 1rem !important;
|
2683 |
+
}
|
2684 |
+
.p-sm-4 {
|
2685 |
+
padding: 1.5rem !important;
|
2686 |
+
}
|
2687 |
+
.pt-sm-4,
|
2688 |
+
.py-sm-4 {
|
2689 |
+
padding-top: 1.5rem !important;
|
2690 |
+
}
|
2691 |
+
.pr-sm-4,
|
2692 |
+
.px-sm-4 {
|
2693 |
+
padding-right: 1.5rem !important;
|
2694 |
+
}
|
2695 |
+
.pb-sm-4,
|
2696 |
+
.py-sm-4 {
|
2697 |
+
padding-bottom: 1.5rem !important;
|
2698 |
+
}
|
2699 |
+
.pl-sm-4,
|
2700 |
+
.px-sm-4 {
|
2701 |
+
padding-left: 1.5rem !important;
|
2702 |
+
}
|
2703 |
+
.p-sm-5 {
|
2704 |
+
padding: 3rem !important;
|
2705 |
+
}
|
2706 |
+
.pt-sm-5,
|
2707 |
+
.py-sm-5 {
|
2708 |
+
padding-top: 3rem !important;
|
2709 |
+
}
|
2710 |
+
.pr-sm-5,
|
2711 |
+
.px-sm-5 {
|
2712 |
+
padding-right: 3rem !important;
|
2713 |
+
}
|
2714 |
+
.pb-sm-5,
|
2715 |
+
.py-sm-5 {
|
2716 |
+
padding-bottom: 3rem !important;
|
2717 |
+
}
|
2718 |
+
.pl-sm-5,
|
2719 |
+
.px-sm-5 {
|
2720 |
+
padding-left: 3rem !important;
|
2721 |
+
}
|
2722 |
+
.m-sm-n1 {
|
2723 |
+
margin: -0.25rem !important;
|
2724 |
+
}
|
2725 |
+
.mt-sm-n1,
|
2726 |
+
.my-sm-n1 {
|
2727 |
+
margin-top: -0.25rem !important;
|
2728 |
+
}
|
2729 |
+
.mr-sm-n1,
|
2730 |
+
.mx-sm-n1 {
|
2731 |
+
margin-right: -0.25rem !important;
|
2732 |
+
}
|
2733 |
+
.mb-sm-n1,
|
2734 |
+
.my-sm-n1 {
|
2735 |
+
margin-bottom: -0.25rem !important;
|
2736 |
+
}
|
2737 |
+
.ml-sm-n1,
|
2738 |
+
.mx-sm-n1 {
|
2739 |
+
margin-left: -0.25rem !important;
|
2740 |
+
}
|
2741 |
+
.m-sm-n2 {
|
2742 |
+
margin: -0.5rem !important;
|
2743 |
+
}
|
2744 |
+
.mt-sm-n2,
|
2745 |
+
.my-sm-n2 {
|
2746 |
+
margin-top: -0.5rem !important;
|
2747 |
+
}
|
2748 |
+
.mr-sm-n2,
|
2749 |
+
.mx-sm-n2 {
|
2750 |
+
margin-right: -0.5rem !important;
|
2751 |
+
}
|
2752 |
+
.mb-sm-n2,
|
2753 |
+
.my-sm-n2 {
|
2754 |
+
margin-bottom: -0.5rem !important;
|
2755 |
+
}
|
2756 |
+
.ml-sm-n2,
|
2757 |
+
.mx-sm-n2 {
|
2758 |
+
margin-left: -0.5rem !important;
|
2759 |
+
}
|
2760 |
+
.m-sm-n3 {
|
2761 |
+
margin: -1rem !important;
|
2762 |
+
}
|
2763 |
+
.mt-sm-n3,
|
2764 |
+
.my-sm-n3 {
|
2765 |
+
margin-top: -1rem !important;
|
2766 |
+
}
|
2767 |
+
.mr-sm-n3,
|
2768 |
+
.mx-sm-n3 {
|
2769 |
+
margin-right: -1rem !important;
|
2770 |
+
}
|
2771 |
+
.mb-sm-n3,
|
2772 |
+
.my-sm-n3 {
|
2773 |
+
margin-bottom: -1rem !important;
|
2774 |
+
}
|
2775 |
+
.ml-sm-n3,
|
2776 |
+
.mx-sm-n3 {
|
2777 |
+
margin-left: -1rem !important;
|
2778 |
+
}
|
2779 |
+
.m-sm-n4 {
|
2780 |
+
margin: -1.5rem !important;
|
2781 |
+
}
|
2782 |
+
.mt-sm-n4,
|
2783 |
+
.my-sm-n4 {
|
2784 |
+
margin-top: -1.5rem !important;
|
2785 |
+
}
|
2786 |
+
.mr-sm-n4,
|
2787 |
+
.mx-sm-n4 {
|
2788 |
+
margin-right: -1.5rem !important;
|
2789 |
+
}
|
2790 |
+
.mb-sm-n4,
|
2791 |
+
.my-sm-n4 {
|
2792 |
+
margin-bottom: -1.5rem !important;
|
2793 |
+
}
|
2794 |
+
.ml-sm-n4,
|
2795 |
+
.mx-sm-n4 {
|
2796 |
+
margin-left: -1.5rem !important;
|
2797 |
+
}
|
2798 |
+
.m-sm-n5 {
|
2799 |
+
margin: -3rem !important;
|
2800 |
+
}
|
2801 |
+
.mt-sm-n5,
|
2802 |
+
.my-sm-n5 {
|
2803 |
+
margin-top: -3rem !important;
|
2804 |
+
}
|
2805 |
+
.mr-sm-n5,
|
2806 |
+
.mx-sm-n5 {
|
2807 |
+
margin-right: -3rem !important;
|
2808 |
+
}
|
2809 |
+
.mb-sm-n5,
|
2810 |
+
.my-sm-n5 {
|
2811 |
+
margin-bottom: -3rem !important;
|
2812 |
+
}
|
2813 |
+
.ml-sm-n5,
|
2814 |
+
.mx-sm-n5 {
|
2815 |
+
margin-left: -3rem !important;
|
2816 |
+
}
|
2817 |
+
.m-sm-auto {
|
2818 |
+
margin: auto !important;
|
2819 |
+
}
|
2820 |
+
.mt-sm-auto,
|
2821 |
+
.my-sm-auto {
|
2822 |
+
margin-top: auto !important;
|
2823 |
+
}
|
2824 |
+
.mr-sm-auto,
|
2825 |
+
.mx-sm-auto {
|
2826 |
+
margin-right: auto !important;
|
2827 |
+
}
|
2828 |
+
.mb-sm-auto,
|
2829 |
+
.my-sm-auto {
|
2830 |
+
margin-bottom: auto !important;
|
2831 |
+
}
|
2832 |
+
.ml-sm-auto,
|
2833 |
+
.mx-sm-auto {
|
2834 |
+
margin-left: auto !important;
|
2835 |
+
}
|
2836 |
+
}
|
2837 |
+
|
2838 |
+
@media (min-width: 768px) {
|
2839 |
+
.m-md-0 {
|
2840 |
+
margin: 0 !important;
|
2841 |
+
}
|
2842 |
+
.mt-md-0,
|
2843 |
+
.my-md-0 {
|
2844 |
+
margin-top: 0 !important;
|
2845 |
+
}
|
2846 |
+
.mr-md-0,
|
2847 |
+
.mx-md-0 {
|
2848 |
+
margin-right: 0 !important;
|
2849 |
+
}
|
2850 |
+
.mb-md-0,
|
2851 |
+
.my-md-0 {
|
2852 |
+
margin-bottom: 0 !important;
|
2853 |
+
}
|
2854 |
+
.ml-md-0,
|
2855 |
+
.mx-md-0 {
|
2856 |
+
margin-left: 0 !important;
|
2857 |
+
}
|
2858 |
+
.m-md-1 {
|
2859 |
+
margin: 0.25rem !important;
|
2860 |
+
}
|
2861 |
+
.mt-md-1,
|
2862 |
+
.my-md-1 {
|
2863 |
+
margin-top: 0.25rem !important;
|
2864 |
+
}
|
2865 |
+
.mr-md-1,
|
2866 |
+
.mx-md-1 {
|
2867 |
+
margin-right: 0.25rem !important;
|
2868 |
+
}
|
2869 |
+
.mb-md-1,
|
2870 |
+
.my-md-1 {
|
2871 |
+
margin-bottom: 0.25rem !important;
|
2872 |
+
}
|
2873 |
+
.ml-md-1,
|
2874 |
+
.mx-md-1 {
|
2875 |
+
margin-left: 0.25rem !important;
|
2876 |
+
}
|
2877 |
+
.m-md-2 {
|
2878 |
+
margin: 0.5rem !important;
|
2879 |
+
}
|
2880 |
+
.mt-md-2,
|
2881 |
+
.my-md-2 {
|
2882 |
+
margin-top: 0.5rem !important;
|
2883 |
+
}
|
2884 |
+
.mr-md-2,
|
2885 |
+
.mx-md-2 {
|
2886 |
+
margin-right: 0.5rem !important;
|
2887 |
+
}
|
2888 |
+
.mb-md-2,
|
2889 |
+
.my-md-2 {
|
2890 |
+
margin-bottom: 0.5rem !important;
|
2891 |
+
}
|
2892 |
+
.ml-md-2,
|
2893 |
+
.mx-md-2 {
|
2894 |
+
margin-left: 0.5rem !important;
|
2895 |
+
}
|
2896 |
+
.m-md-3 {
|
2897 |
+
margin: 1rem !important;
|
2898 |
+
}
|
2899 |
+
.mt-md-3,
|
2900 |
+
.my-md-3 {
|
2901 |
+
margin-top: 1rem !important;
|
2902 |
+
}
|
2903 |
+
.mr-md-3,
|
2904 |
+
.mx-md-3 {
|
2905 |
+
margin-right: 1rem !important;
|
2906 |
+
}
|
2907 |
+
.mb-md-3,
|
2908 |
+
.my-md-3 {
|
2909 |
+
margin-bottom: 1rem !important;
|
2910 |
+
}
|
2911 |
+
.ml-md-3,
|
2912 |
+
.mx-md-3 {
|
2913 |
+
margin-left: 1rem !important;
|
2914 |
+
}
|
2915 |
+
.m-md-4 {
|
2916 |
+
margin: 1.5rem !important;
|
2917 |
+
}
|
2918 |
+
.mt-md-4,
|
2919 |
+
.my-md-4 {
|
2920 |
+
margin-top: 1.5rem !important;
|
2921 |
+
}
|
2922 |
+
.mr-md-4,
|
2923 |
+
.mx-md-4 {
|
2924 |
+
margin-right: 1.5rem !important;
|
2925 |
+
}
|
2926 |
+
.mb-md-4,
|
2927 |
+
.my-md-4 {
|
2928 |
+
margin-bottom: 1.5rem !important;
|
2929 |
+
}
|
2930 |
+
.ml-md-4,
|
2931 |
+
.mx-md-4 {
|
2932 |
+
margin-left: 1.5rem !important;
|
2933 |
+
}
|
2934 |
+
.m-md-5 {
|
2935 |
+
margin: 3rem !important;
|
2936 |
+
}
|
2937 |
+
.mt-md-5,
|
2938 |
+
.my-md-5 {
|
2939 |
+
margin-top: 3rem !important;
|
2940 |
+
}
|
2941 |
+
.mr-md-5,
|
2942 |
+
.mx-md-5 {
|
2943 |
+
margin-right: 3rem !important;
|
2944 |
+
}
|
2945 |
+
.mb-md-5,
|
2946 |
+
.my-md-5 {
|
2947 |
+
margin-bottom: 3rem !important;
|
2948 |
+
}
|
2949 |
+
.ml-md-5,
|
2950 |
+
.mx-md-5 {
|
2951 |
+
margin-left: 3rem !important;
|
2952 |
+
}
|
2953 |
+
.p-md-0 {
|
2954 |
+
padding: 0 !important;
|
2955 |
+
}
|
2956 |
+
.pt-md-0,
|
2957 |
+
.py-md-0 {
|
2958 |
+
padding-top: 0 !important;
|
2959 |
+
}
|
2960 |
+
.pr-md-0,
|
2961 |
+
.px-md-0 {
|
2962 |
+
padding-right: 0 !important;
|
2963 |
+
}
|
2964 |
+
.pb-md-0,
|
2965 |
+
.py-md-0 {
|
2966 |
+
padding-bottom: 0 !important;
|
2967 |
+
}
|
2968 |
+
.pl-md-0,
|
2969 |
+
.px-md-0 {
|
2970 |
+
padding-left: 0 !important;
|
2971 |
+
}
|
2972 |
+
.p-md-1 {
|
2973 |
+
padding: 0.25rem !important;
|
2974 |
+
}
|
2975 |
+
.pt-md-1,
|
2976 |
+
.py-md-1 {
|
2977 |
+
padding-top: 0.25rem !important;
|
2978 |
+
}
|
2979 |
+
.pr-md-1,
|
2980 |
+
.px-md-1 {
|
2981 |
+
padding-right: 0.25rem !important;
|
2982 |
+
}
|
2983 |
+
.pb-md-1,
|
2984 |
+
.py-md-1 {
|
2985 |
+
padding-bottom: 0.25rem !important;
|
2986 |
+
}
|
2987 |
+
.pl-md-1,
|
2988 |
+
.px-md-1 {
|
2989 |
+
padding-left: 0.25rem !important;
|
2990 |
+
}
|
2991 |
+
.p-md-2 {
|
2992 |
+
padding: 0.5rem !important;
|
2993 |
+
}
|
2994 |
+
.pt-md-2,
|
2995 |
+
.py-md-2 {
|
2996 |
+
padding-top: 0.5rem !important;
|
2997 |
+
}
|
2998 |
+
.pr-md-2,
|
2999 |
+
.px-md-2 {
|
3000 |
+
padding-right: 0.5rem !important;
|
3001 |
+
}
|
3002 |
+
.pb-md-2,
|
3003 |
+
.py-md-2 {
|
3004 |
+
padding-bottom: 0.5rem !important;
|
3005 |
+
}
|
3006 |
+
.pl-md-2,
|
3007 |
+
.px-md-2 {
|
3008 |
+
padding-left: 0.5rem !important;
|
3009 |
+
}
|
3010 |
+
.p-md-3 {
|
3011 |
+
padding: 1rem !important;
|
3012 |
+
}
|
3013 |
+
.pt-md-3,
|
3014 |
+
.py-md-3 {
|
3015 |
+
padding-top: 1rem !important;
|
3016 |
+
}
|
3017 |
+
.pr-md-3,
|
3018 |
+
.px-md-3 {
|
3019 |
+
padding-right: 1rem !important;
|
3020 |
+
}
|
3021 |
+
.pb-md-3,
|
3022 |
+
.py-md-3 {
|
3023 |
+
padding-bottom: 1rem !important;
|
3024 |
+
}
|
3025 |
+
.pl-md-3,
|
3026 |
+
.px-md-3 {
|
3027 |
+
padding-left: 1rem !important;
|
3028 |
+
}
|
3029 |
+
.p-md-4 {
|
3030 |
+
padding: 1.5rem !important;
|
3031 |
+
}
|
3032 |
+
.pt-md-4,
|
3033 |
+
.py-md-4 {
|
3034 |
+
padding-top: 1.5rem !important;
|
3035 |
+
}
|
3036 |
+
.pr-md-4,
|
3037 |
+
.px-md-4 {
|
3038 |
+
padding-right: 1.5rem !important;
|
3039 |
+
}
|
3040 |
+
.pb-md-4,
|
3041 |
+
.py-md-4 {
|
3042 |
+
padding-bottom: 1.5rem !important;
|
3043 |
+
}
|
3044 |
+
.pl-md-4,
|
3045 |
+
.px-md-4 {
|
3046 |
+
padding-left: 1.5rem !important;
|
3047 |
+
}
|
3048 |
+
.p-md-5 {
|
3049 |
+
padding: 3rem !important;
|
3050 |
+
}
|
3051 |
+
.pt-md-5,
|
3052 |
+
.py-md-5 {
|
3053 |
+
padding-top: 3rem !important;
|
3054 |
+
}
|
3055 |
+
.pr-md-5,
|
3056 |
+
.px-md-5 {
|
3057 |
+
padding-right: 3rem !important;
|
3058 |
+
}
|
3059 |
+
.pb-md-5,
|
3060 |
+
.py-md-5 {
|
3061 |
+
padding-bottom: 3rem !important;
|
3062 |
+
}
|
3063 |
+
.pl-md-5,
|
3064 |
+
.px-md-5 {
|
3065 |
+
padding-left: 3rem !important;
|
3066 |
+
}
|
3067 |
+
.m-md-n1 {
|
3068 |
+
margin: -0.25rem !important;
|
3069 |
+
}
|
3070 |
+
.mt-md-n1,
|
3071 |
+
.my-md-n1 {
|
3072 |
+
margin-top: -0.25rem !important;
|
3073 |
+
}
|
3074 |
+
.mr-md-n1,
|
3075 |
+
.mx-md-n1 {
|
3076 |
+
margin-right: -0.25rem !important;
|
3077 |
+
}
|
3078 |
+
.mb-md-n1,
|
3079 |
+
.my-md-n1 {
|
3080 |
+
margin-bottom: -0.25rem !important;
|
3081 |
+
}
|
3082 |
+
.ml-md-n1,
|
3083 |
+
.mx-md-n1 {
|
3084 |
+
margin-left: -0.25rem !important;
|
3085 |
+
}
|
3086 |
+
.m-md-n2 {
|
3087 |
+
margin: -0.5rem !important;
|
3088 |
+
}
|
3089 |
+
.mt-md-n2,
|
3090 |
+
.my-md-n2 {
|
3091 |
+
margin-top: -0.5rem !important;
|
3092 |
+
}
|
3093 |
+
.mr-md-n2,
|
3094 |
+
.mx-md-n2 {
|
3095 |
+
margin-right: -0.5rem !important;
|
3096 |
+
}
|
3097 |
+
.mb-md-n2,
|
3098 |
+
.my-md-n2 {
|
3099 |
+
margin-bottom: -0.5rem !important;
|
3100 |
+
}
|
3101 |
+
.ml-md-n2,
|
3102 |
+
.mx-md-n2 {
|
3103 |
+
margin-left: -0.5rem !important;
|
3104 |
+
}
|
3105 |
+
.m-md-n3 {
|
3106 |
+
margin: -1rem !important;
|
3107 |
+
}
|
3108 |
+
.mt-md-n3,
|
3109 |
+
.my-md-n3 {
|
3110 |
+
margin-top: -1rem !important;
|
3111 |
+
}
|
3112 |
+
.mr-md-n3,
|
3113 |
+
.mx-md-n3 {
|
3114 |
+
margin-right: -1rem !important;
|
3115 |
+
}
|
3116 |
+
.mb-md-n3,
|
3117 |
+
.my-md-n3 {
|
3118 |
+
margin-bottom: -1rem !important;
|
3119 |
+
}
|
3120 |
+
.ml-md-n3,
|
3121 |
+
.mx-md-n3 {
|
3122 |
+
margin-left: -1rem !important;
|
3123 |
+
}
|
3124 |
+
.m-md-n4 {
|
3125 |
+
margin: -1.5rem !important;
|
3126 |
+
}
|
3127 |
+
.mt-md-n4,
|
3128 |
+
.my-md-n4 {
|
3129 |
+
margin-top: -1.5rem !important;
|
3130 |
+
}
|
3131 |
+
.mr-md-n4,
|
3132 |
+
.mx-md-n4 {
|
3133 |
+
margin-right: -1.5rem !important;
|
3134 |
+
}
|
3135 |
+
.mb-md-n4,
|
3136 |
+
.my-md-n4 {
|
3137 |
+
margin-bottom: -1.5rem !important;
|
3138 |
+
}
|
3139 |
+
.ml-md-n4,
|
3140 |
+
.mx-md-n4 {
|
3141 |
+
margin-left: -1.5rem !important;
|
3142 |
+
}
|
3143 |
+
.m-md-n5 {
|
3144 |
+
margin: -3rem !important;
|
3145 |
+
}
|
3146 |
+
.mt-md-n5,
|
3147 |
+
.my-md-n5 {
|
3148 |
+
margin-top: -3rem !important;
|
3149 |
+
}
|
3150 |
+
.mr-md-n5,
|
3151 |
+
.mx-md-n5 {
|
3152 |
+
margin-right: -3rem !important;
|
3153 |
+
}
|
3154 |
+
.mb-md-n5,
|
3155 |
+
.my-md-n5 {
|
3156 |
+
margin-bottom: -3rem !important;
|
3157 |
+
}
|
3158 |
+
.ml-md-n5,
|
3159 |
+
.mx-md-n5 {
|
3160 |
+
margin-left: -3rem !important;
|
3161 |
+
}
|
3162 |
+
.m-md-auto {
|
3163 |
+
margin: auto !important;
|
3164 |
+
}
|
3165 |
+
.mt-md-auto,
|
3166 |
+
.my-md-auto {
|
3167 |
+
margin-top: auto !important;
|
3168 |
+
}
|
3169 |
+
.mr-md-auto,
|
3170 |
+
.mx-md-auto {
|
3171 |
+
margin-right: auto !important;
|
3172 |
+
}
|
3173 |
+
.mb-md-auto,
|
3174 |
+
.my-md-auto {
|
3175 |
+
margin-bottom: auto !important;
|
3176 |
+
}
|
3177 |
+
.ml-md-auto,
|
3178 |
+
.mx-md-auto {
|
3179 |
+
margin-left: auto !important;
|
3180 |
+
}
|
3181 |
+
}
|
3182 |
+
|
3183 |
+
@media (min-width: 992px) {
|
3184 |
+
.m-lg-0 {
|
3185 |
+
margin: 0 !important;
|
3186 |
+
}
|
3187 |
+
.mt-lg-0,
|
3188 |
+
.my-lg-0 {
|
3189 |
+
margin-top: 0 !important;
|
3190 |
+
}
|
3191 |
+
.mr-lg-0,
|
3192 |
+
.mx-lg-0 {
|
3193 |
+
margin-right: 0 !important;
|
3194 |
+
}
|
3195 |
+
.mb-lg-0,
|
3196 |
+
.my-lg-0 {
|
3197 |
+
margin-bottom: 0 !important;
|
3198 |
+
}
|
3199 |
+
.ml-lg-0,
|
3200 |
+
.mx-lg-0 {
|
3201 |
+
margin-left: 0 !important;
|
3202 |
+
}
|
3203 |
+
.m-lg-1 {
|
3204 |
+
margin: 0.25rem !important;
|
3205 |
+
}
|
3206 |
+
.mt-lg-1,
|
3207 |
+
.my-lg-1 {
|
3208 |
+
margin-top: 0.25rem !important;
|
3209 |
+
}
|
3210 |
+
.mr-lg-1,
|
3211 |
+
.mx-lg-1 {
|
3212 |
+
margin-right: 0.25rem !important;
|
3213 |
+
}
|
3214 |
+
.mb-lg-1,
|
3215 |
+
.my-lg-1 {
|
3216 |
+
margin-bottom: 0.25rem !important;
|
3217 |
+
}
|
3218 |
+
.ml-lg-1,
|
3219 |
+
.mx-lg-1 {
|
3220 |
+
margin-left: 0.25rem !important;
|
3221 |
+
}
|
3222 |
+
.m-lg-2 {
|
3223 |
+
margin: 0.5rem !important;
|
3224 |
+
}
|
3225 |
+
.mt-lg-2,
|
3226 |
+
.my-lg-2 {
|
3227 |
+
margin-top: 0.5rem !important;
|
3228 |
+
}
|
3229 |
+
.mr-lg-2,
|
3230 |
+
.mx-lg-2 {
|
3231 |
+
margin-right: 0.5rem !important;
|
3232 |
+
}
|
3233 |
+
.mb-lg-2,
|
3234 |
+
.my-lg-2 {
|
3235 |
+
margin-bottom: 0.5rem !important;
|
3236 |
+
}
|
3237 |
+
.ml-lg-2,
|
3238 |
+
.mx-lg-2 {
|
3239 |
+
margin-left: 0.5rem !important;
|
3240 |
+
}
|
3241 |
+
.m-lg-3 {
|
3242 |
+
margin: 1rem !important;
|
3243 |
+
}
|
3244 |
+
.mt-lg-3,
|
3245 |
+
.my-lg-3 {
|
3246 |
+
margin-top: 1rem !important;
|
3247 |
+
}
|
3248 |
+
.mr-lg-3,
|
3249 |
+
.mx-lg-3 {
|
3250 |
+
margin-right: 1rem !important;
|
3251 |
+
}
|
3252 |
+
.mb-lg-3,
|
3253 |
+
.my-lg-3 {
|
3254 |
+
margin-bottom: 1rem !important;
|
3255 |
+
}
|
3256 |
+
.ml-lg-3,
|
3257 |
+
.mx-lg-3 {
|
3258 |
+
margin-left: 1rem !important;
|
3259 |
+
}
|
3260 |
+
.m-lg-4 {
|
3261 |
+
margin: 1.5rem !important;
|
3262 |
+
}
|
3263 |
+
.mt-lg-4,
|
3264 |
+
.my-lg-4 {
|
3265 |
+
margin-top: 1.5rem !important;
|
3266 |
+
}
|
3267 |
+
.mr-lg-4,
|
3268 |
+
.mx-lg-4 {
|
3269 |
+
margin-right: 1.5rem !important;
|
3270 |
+
}
|
3271 |
+
.mb-lg-4,
|
3272 |
+
.my-lg-4 {
|
3273 |
+
margin-bottom: 1.5rem !important;
|
3274 |
+
}
|
3275 |
+
.ml-lg-4,
|
3276 |
+
.mx-lg-4 {
|
3277 |
+
margin-left: 1.5rem !important;
|
3278 |
+
}
|
3279 |
+
.m-lg-5 {
|
3280 |
+
margin: 3rem !important;
|
3281 |
+
}
|
3282 |
+
.mt-lg-5,
|
3283 |
+
.my-lg-5 {
|
3284 |
+
margin-top: 3rem !important;
|
3285 |
+
}
|
3286 |
+
.mr-lg-5,
|
3287 |
+
.mx-lg-5 {
|
3288 |
+
margin-right: 3rem !important;
|
3289 |
+
}
|
3290 |
+
.mb-lg-5,
|
3291 |
+
.my-lg-5 {
|
3292 |
+
margin-bottom: 3rem !important;
|
3293 |
+
}
|
3294 |
+
.ml-lg-5,
|
3295 |
+
.mx-lg-5 {
|
3296 |
+
margin-left: 3rem !important;
|
3297 |
+
}
|
3298 |
+
.p-lg-0 {
|
3299 |
+
padding: 0 !important;
|
3300 |
+
}
|
3301 |
+
.pt-lg-0,
|
3302 |
+
.py-lg-0 {
|
3303 |
+
padding-top: 0 !important;
|
3304 |
+
}
|
3305 |
+
.pr-lg-0,
|
3306 |
+
.px-lg-0 {
|
3307 |
+
padding-right: 0 !important;
|
3308 |
+
}
|
3309 |
+
.pb-lg-0,
|
3310 |
+
.py-lg-0 {
|
3311 |
+
padding-bottom: 0 !important;
|
3312 |
+
}
|
3313 |
+
.pl-lg-0,
|
3314 |
+
.px-lg-0 {
|
3315 |
+
padding-left: 0 !important;
|
3316 |
+
}
|
3317 |
+
.p-lg-1 {
|
3318 |
+
padding: 0.25rem !important;
|
3319 |
+
}
|
3320 |
+
.pt-lg-1,
|
3321 |
+
.py-lg-1 {
|
3322 |
+
padding-top: 0.25rem !important;
|
3323 |
+
}
|
3324 |
+
.pr-lg-1,
|
3325 |
+
.px-lg-1 {
|
3326 |
+
padding-right: 0.25rem !important;
|
3327 |
+
}
|
3328 |
+
.pb-lg-1,
|
3329 |
+
.py-lg-1 {
|
3330 |
+
padding-bottom: 0.25rem !important;
|
3331 |
+
}
|
3332 |
+
.pl-lg-1,
|
3333 |
+
.px-lg-1 {
|
3334 |
+
padding-left: 0.25rem !important;
|
3335 |
+
}
|
3336 |
+
.p-lg-2 {
|
3337 |
+
padding: 0.5rem !important;
|
3338 |
+
}
|
3339 |
+
.pt-lg-2,
|
3340 |
+
.py-lg-2 {
|
3341 |
+
padding-top: 0.5rem !important;
|
3342 |
+
}
|
3343 |
+
.pr-lg-2,
|
3344 |
+
.px-lg-2 {
|
3345 |
+
padding-right: 0.5rem !important;
|
3346 |
+
}
|
3347 |
+
.pb-lg-2,
|
3348 |
+
.py-lg-2 {
|
3349 |
+
padding-bottom: 0.5rem !important;
|
3350 |
+
}
|
3351 |
+
.pl-lg-2,
|
3352 |
+
.px-lg-2 {
|
3353 |
+
padding-left: 0.5rem !important;
|
3354 |
+
}
|
3355 |
+
.p-lg-3 {
|
3356 |
+
padding: 1rem !important;
|
3357 |
+
}
|
3358 |
+
.pt-lg-3,
|
3359 |
+
.py-lg-3 {
|
3360 |
+
padding-top: 1rem !important;
|
3361 |
+
}
|
3362 |
+
.pr-lg-3,
|
3363 |
+
.px-lg-3 {
|
3364 |
+
padding-right: 1rem !important;
|
3365 |
+
}
|
3366 |
+
.pb-lg-3,
|
3367 |
+
.py-lg-3 {
|
3368 |
+
padding-bottom: 1rem !important;
|
3369 |
+
}
|
3370 |
+
.pl-lg-3,
|
3371 |
+
.px-lg-3 {
|
3372 |
+
padding-left: 1rem !important;
|
3373 |
+
}
|
3374 |
+
.p-lg-4 {
|
3375 |
+
padding: 1.5rem !important;
|
3376 |
+
}
|
3377 |
+
.pt-lg-4,
|
3378 |
+
.py-lg-4 {
|
3379 |
+
padding-top: 1.5rem !important;
|
3380 |
+
}
|
3381 |
+
.pr-lg-4,
|
3382 |
+
.px-lg-4 {
|
3383 |
+
padding-right: 1.5rem !important;
|
3384 |
+
}
|
3385 |
+
.pb-lg-4,
|
3386 |
+
.py-lg-4 {
|
3387 |
+
padding-bottom: 1.5rem !important;
|
3388 |
+
}
|
3389 |
+
.pl-lg-4,
|
3390 |
+
.px-lg-4 {
|
3391 |
+
padding-left: 1.5rem !important;
|
3392 |
+
}
|
3393 |
+
.p-lg-5 {
|
3394 |
+
padding: 3rem !important;
|
3395 |
+
}
|
3396 |
+
.pt-lg-5,
|
3397 |
+
.py-lg-5 {
|
3398 |
+
padding-top: 3rem !important;
|
3399 |
+
}
|
3400 |
+
.pr-lg-5,
|
3401 |
+
.px-lg-5 {
|
3402 |
+
padding-right: 3rem !important;
|
3403 |
+
}
|
3404 |
+
.pb-lg-5,
|
3405 |
+
.py-lg-5 {
|
3406 |
+
padding-bottom: 3rem !important;
|
3407 |
+
}
|
3408 |
+
.pl-lg-5,
|
3409 |
+
.px-lg-5 {
|
3410 |
+
padding-left: 3rem !important;
|
3411 |
+
}
|
3412 |
+
.m-lg-n1 {
|
3413 |
+
margin: -0.25rem !important;
|
3414 |
+
}
|
3415 |
+
.mt-lg-n1,
|
3416 |
+
.my-lg-n1 {
|
3417 |
+
margin-top: -0.25rem !important;
|
3418 |
+
}
|
3419 |
+
.mr-lg-n1,
|
3420 |
+
.mx-lg-n1 {
|
3421 |
+
margin-right: -0.25rem !important;
|
3422 |
+
}
|
3423 |
+
.mb-lg-n1,
|
3424 |
+
.my-lg-n1 {
|
3425 |
+
margin-bottom: -0.25rem !important;
|
3426 |
+
}
|
3427 |
+
.ml-lg-n1,
|
3428 |
+
.mx-lg-n1 {
|
3429 |
+
margin-left: -0.25rem !important;
|
3430 |
+
}
|
3431 |
+
.m-lg-n2 {
|
3432 |
+
margin: -0.5rem !important;
|
3433 |
+
}
|
3434 |
+
.mt-lg-n2,
|
3435 |
+
.my-lg-n2 {
|
3436 |
+
margin-top: -0.5rem !important;
|
3437 |
+
}
|
3438 |
+
.mr-lg-n2,
|
3439 |
+
.mx-lg-n2 {
|
3440 |
+
margin-right: -0.5rem !important;
|
3441 |
+
}
|
3442 |
+
.mb-lg-n2,
|
3443 |
+
.my-lg-n2 {
|
3444 |
+
margin-bottom: -0.5rem !important;
|
3445 |
+
}
|
3446 |
+
.ml-lg-n2,
|
3447 |
+
.mx-lg-n2 {
|
3448 |
+
margin-left: -0.5rem !important;
|
3449 |
+
}
|
3450 |
+
.m-lg-n3 {
|
3451 |
+
margin: -1rem !important;
|
3452 |
+
}
|
3453 |
+
.mt-lg-n3,
|
3454 |
+
.my-lg-n3 {
|
3455 |
+
margin-top: -1rem !important;
|
3456 |
+
}
|
3457 |
+
.mr-lg-n3,
|
3458 |
+
.mx-lg-n3 {
|
3459 |
+
margin-right: -1rem !important;
|
3460 |
+
}
|
3461 |
+
.mb-lg-n3,
|
3462 |
+
.my-lg-n3 {
|
3463 |
+
margin-bottom: -1rem !important;
|
3464 |
+
}
|
3465 |
+
.ml-lg-n3,
|
3466 |
+
.mx-lg-n3 {
|
3467 |
+
margin-left: -1rem !important;
|
3468 |
+
}
|
3469 |
+
.m-lg-n4 {
|
3470 |
+
margin: -1.5rem !important;
|
3471 |
+
}
|
3472 |
+
.mt-lg-n4,
|
3473 |
+
.my-lg-n4 {
|
3474 |
+
margin-top: -1.5rem !important;
|
3475 |
+
}
|
3476 |
+
.mr-lg-n4,
|
3477 |
+
.mx-lg-n4 {
|
3478 |
+
margin-right: -1.5rem !important;
|
3479 |
+
}
|
3480 |
+
.mb-lg-n4,
|
3481 |
+
.my-lg-n4 {
|
3482 |
+
margin-bottom: -1.5rem !important;
|
3483 |
+
}
|
3484 |
+
.ml-lg-n4,
|
3485 |
+
.mx-lg-n4 {
|
3486 |
+
margin-left: -1.5rem !important;
|
3487 |
+
}
|
3488 |
+
.m-lg-n5 {
|
3489 |
+
margin: -3rem !important;
|
3490 |
+
}
|
3491 |
+
.mt-lg-n5,
|
3492 |
+
.my-lg-n5 {
|
3493 |
+
margin-top: -3rem !important;
|
3494 |
+
}
|
3495 |
+
.mr-lg-n5,
|
3496 |
+
.mx-lg-n5 {
|
3497 |
+
margin-right: -3rem !important;
|
3498 |
+
}
|
3499 |
+
.mb-lg-n5,
|
3500 |
+
.my-lg-n5 {
|
3501 |
+
margin-bottom: -3rem !important;
|
3502 |
+
}
|
3503 |
+
.ml-lg-n5,
|
3504 |
+
.mx-lg-n5 {
|
3505 |
+
margin-left: -3rem !important;
|
3506 |
+
}
|
3507 |
+
.m-lg-auto {
|
3508 |
+
margin: auto !important;
|
3509 |
+
}
|
3510 |
+
.mt-lg-auto,
|
3511 |
+
.my-lg-auto {
|
3512 |
+
margin-top: auto !important;
|
3513 |
+
}
|
3514 |
+
.mr-lg-auto,
|
3515 |
+
.mx-lg-auto {
|
3516 |
+
margin-right: auto !important;
|
3517 |
+
}
|
3518 |
+
.mb-lg-auto,
|
3519 |
+
.my-lg-auto {
|
3520 |
+
margin-bottom: auto !important;
|
3521 |
+
}
|
3522 |
+
.ml-lg-auto,
|
3523 |
+
.mx-lg-auto {
|
3524 |
+
margin-left: auto !important;
|
3525 |
+
}
|
3526 |
+
}
|
3527 |
+
|
3528 |
+
@media (min-width: 1200px) {
|
3529 |
+
.m-xl-0 {
|
3530 |
+
margin: 0 !important;
|
3531 |
+
}
|
3532 |
+
.mt-xl-0,
|
3533 |
+
.my-xl-0 {
|
3534 |
+
margin-top: 0 !important;
|
3535 |
+
}
|
3536 |
+
.mr-xl-0,
|
3537 |
+
.mx-xl-0 {
|
3538 |
+
margin-right: 0 !important;
|
3539 |
+
}
|
3540 |
+
.mb-xl-0,
|
3541 |
+
.my-xl-0 {
|
3542 |
+
margin-bottom: 0 !important;
|
3543 |
+
}
|
3544 |
+
.ml-xl-0,
|
3545 |
+
.mx-xl-0 {
|
3546 |
+
margin-left: 0 !important;
|
3547 |
+
}
|
3548 |
+
.m-xl-1 {
|
3549 |
+
margin: 0.25rem !important;
|
3550 |
+
}
|
3551 |
+
.mt-xl-1,
|
3552 |
+
.my-xl-1 {
|
3553 |
+
margin-top: 0.25rem !important;
|
3554 |
+
}
|
3555 |
+
.mr-xl-1,
|
3556 |
+
.mx-xl-1 {
|
3557 |
+
margin-right: 0.25rem !important;
|
3558 |
+
}
|
3559 |
+
.mb-xl-1,
|
3560 |
+
.my-xl-1 {
|
3561 |
+
margin-bottom: 0.25rem !important;
|
3562 |
+
}
|
3563 |
+
.ml-xl-1,
|
3564 |
+
.mx-xl-1 {
|
3565 |
+
margin-left: 0.25rem !important;
|
3566 |
+
}
|
3567 |
+
.m-xl-2 {
|
3568 |
+
margin: 0.5rem !important;
|
3569 |
+
}
|
3570 |
+
.mt-xl-2,
|
3571 |
+
.my-xl-2 {
|
3572 |
+
margin-top: 0.5rem !important;
|
3573 |
+
}
|
3574 |
+
.mr-xl-2,
|
3575 |
+
.mx-xl-2 {
|
3576 |
+
margin-right: 0.5rem !important;
|
3577 |
+
}
|
3578 |
+
.mb-xl-2,
|
3579 |
+
.my-xl-2 {
|
3580 |
+
margin-bottom: 0.5rem !important;
|
3581 |
+
}
|
3582 |
+
.ml-xl-2,
|
3583 |
+
.mx-xl-2 {
|
3584 |
+
margin-left: 0.5rem !important;
|
3585 |
+
}
|
3586 |
+
.m-xl-3 {
|
3587 |
+
margin: 1rem !important;
|
3588 |
+
}
|
3589 |
+
.mt-xl-3,
|
3590 |
+
.my-xl-3 {
|
3591 |
+
margin-top: 1rem !important;
|
3592 |
+
}
|
3593 |
+
.mr-xl-3,
|
3594 |
+
.mx-xl-3 {
|
3595 |
+
margin-right: 1rem !important;
|
3596 |
+
}
|
3597 |
+
.mb-xl-3,
|
3598 |
+
.my-xl-3 {
|
3599 |
+
margin-bottom: 1rem !important;
|
3600 |
+
}
|
3601 |
+
.ml-xl-3,
|
3602 |
+
.mx-xl-3 {
|
3603 |
+
margin-left: 1rem !important;
|
3604 |
+
}
|
3605 |
+
.m-xl-4 {
|
3606 |
+
margin: 1.5rem !important;
|
3607 |
+
}
|
3608 |
+
.mt-xl-4,
|
3609 |
+
.my-xl-4 {
|
3610 |
+
margin-top: 1.5rem !important;
|
3611 |
+
}
|
3612 |
+
.mr-xl-4,
|
3613 |
+
.mx-xl-4 {
|
3614 |
+
margin-right: 1.5rem !important;
|
3615 |
+
}
|
3616 |
+
.mb-xl-4,
|
3617 |
+
.my-xl-4 {
|
3618 |
+
margin-bottom: 1.5rem !important;
|
3619 |
+
}
|
3620 |
+
.ml-xl-4,
|
3621 |
+
.mx-xl-4 {
|
3622 |
+
margin-left: 1.5rem !important;
|
3623 |
+
}
|
3624 |
+
.m-xl-5 {
|
3625 |
+
margin: 3rem !important;
|
3626 |
+
}
|
3627 |
+
.mt-xl-5,
|
3628 |
+
.my-xl-5 {
|
3629 |
+
margin-top: 3rem !important;
|
3630 |
+
}
|
3631 |
+
.mr-xl-5,
|
3632 |
+
.mx-xl-5 {
|
3633 |
+
margin-right: 3rem !important;
|
3634 |
+
}
|
3635 |
+
.mb-xl-5,
|
3636 |
+
.my-xl-5 {
|
3637 |
+
margin-bottom: 3rem !important;
|
3638 |
+
}
|
3639 |
+
.ml-xl-5,
|
3640 |
+
.mx-xl-5 {
|
3641 |
+
margin-left: 3rem !important;
|
3642 |
+
}
|
3643 |
+
.p-xl-0 {
|
3644 |
+
padding: 0 !important;
|
3645 |
+
}
|
3646 |
+
.pt-xl-0,
|
3647 |
+
.py-xl-0 {
|
3648 |
+
padding-top: 0 !important;
|
3649 |
+
}
|
3650 |
+
.pr-xl-0,
|
3651 |
+
.px-xl-0 {
|
3652 |
+
padding-right: 0 !important;
|
3653 |
+
}
|
3654 |
+
.pb-xl-0,
|
3655 |
+
.py-xl-0 {
|
3656 |
+
padding-bottom: 0 !important;
|
3657 |
+
}
|
3658 |
+
.pl-xl-0,
|
3659 |
+
.px-xl-0 {
|
3660 |
+
padding-left: 0 !important;
|
3661 |
+
}
|
3662 |
+
.p-xl-1 {
|
3663 |
+
padding: 0.25rem !important;
|
3664 |
+
}
|
3665 |
+
.pt-xl-1,
|
3666 |
+
.py-xl-1 {
|
3667 |
+
padding-top: 0.25rem !important;
|
3668 |
+
}
|
3669 |
+
.pr-xl-1,
|
3670 |
+
.px-xl-1 {
|
3671 |
+
padding-right: 0.25rem !important;
|
3672 |
+
}
|
3673 |
+
.pb-xl-1,
|
3674 |
+
.py-xl-1 {
|
3675 |
+
padding-bottom: 0.25rem !important;
|
3676 |
+
}
|
3677 |
+
.pl-xl-1,
|
3678 |
+
.px-xl-1 {
|
3679 |
+
padding-left: 0.25rem !important;
|
3680 |
+
}
|
3681 |
+
.p-xl-2 {
|
3682 |
+
padding: 0.5rem !important;
|
3683 |
+
}
|
3684 |
+
.pt-xl-2,
|
3685 |
+
.py-xl-2 {
|
3686 |
+
padding-top: 0.5rem !important;
|
3687 |
+
}
|
3688 |
+
.pr-xl-2,
|
3689 |
+
.px-xl-2 {
|
3690 |
+
padding-right: 0.5rem !important;
|
3691 |
+
}
|
3692 |
+
.pb-xl-2,
|
3693 |
+
.py-xl-2 {
|
3694 |
+
padding-bottom: 0.5rem !important;
|
3695 |
+
}
|
3696 |
+
.pl-xl-2,
|
3697 |
+
.px-xl-2 {
|
3698 |
+
padding-left: 0.5rem !important;
|
3699 |
+
}
|
3700 |
+
.p-xl-3 {
|
3701 |
+
padding: 1rem !important;
|
3702 |
+
}
|
3703 |
+
.pt-xl-3,
|
3704 |
+
.py-xl-3 {
|
3705 |
+
padding-top: 1rem !important;
|
3706 |
+
}
|
3707 |
+
.pr-xl-3,
|
3708 |
+
.px-xl-3 {
|
3709 |
+
padding-right: 1rem !important;
|
3710 |
+
}
|
3711 |
+
.pb-xl-3,
|
3712 |
+
.py-xl-3 {
|
3713 |
+
padding-bottom: 1rem !important;
|
3714 |
+
}
|
3715 |
+
.pl-xl-3,
|
3716 |
+
.px-xl-3 {
|
3717 |
+
padding-left: 1rem !important;
|
3718 |
+
}
|
3719 |
+
.p-xl-4 {
|
3720 |
+
padding: 1.5rem !important;
|
3721 |
+
}
|
3722 |
+
.pt-xl-4,
|
3723 |
+
.py-xl-4 {
|
3724 |
+
padding-top: 1.5rem !important;
|
3725 |
+
}
|
3726 |
+
.pr-xl-4,
|
3727 |
+
.px-xl-4 {
|
3728 |
+
padding-right: 1.5rem !important;
|
3729 |
+
}
|
3730 |
+
.pb-xl-4,
|
3731 |
+
.py-xl-4 {
|
3732 |
+
padding-bottom: 1.5rem !important;
|
3733 |
+
}
|
3734 |
+
.pl-xl-4,
|
3735 |
+
.px-xl-4 {
|
3736 |
+
padding-left: 1.5rem !important;
|
3737 |
+
}
|
3738 |
+
.p-xl-5 {
|
3739 |
+
padding: 3rem !important;
|
3740 |
+
}
|
3741 |
+
.pt-xl-5,
|
3742 |
+
.py-xl-5 {
|
3743 |
+
padding-top: 3rem !important;
|
3744 |
+
}
|
3745 |
+
.pr-xl-5,
|
3746 |
+
.px-xl-5 {
|
3747 |
+
padding-right: 3rem !important;
|
3748 |
+
}
|
3749 |
+
.pb-xl-5,
|
3750 |
+
.py-xl-5 {
|
3751 |
+
padding-bottom: 3rem !important;
|
3752 |
+
}
|
3753 |
+
.pl-xl-5,
|
3754 |
+
.px-xl-5 {
|
3755 |
+
padding-left: 3rem !important;
|
3756 |
+
}
|
3757 |
+
.m-xl-n1 {
|
3758 |
+
margin: -0.25rem !important;
|
3759 |
+
}
|
3760 |
+
.mt-xl-n1,
|
3761 |
+
.my-xl-n1 {
|
3762 |
+
margin-top: -0.25rem !important;
|
3763 |
+
}
|
3764 |
+
.mr-xl-n1,
|
3765 |
+
.mx-xl-n1 {
|
3766 |
+
margin-right: -0.25rem !important;
|
3767 |
+
}
|
3768 |
+
.mb-xl-n1,
|
3769 |
+
.my-xl-n1 {
|
3770 |
+
margin-bottom: -0.25rem !important;
|
3771 |
+
}
|
3772 |
+
.ml-xl-n1,
|
3773 |
+
.mx-xl-n1 {
|
3774 |
+
margin-left: -0.25rem !important;
|
3775 |
+
}
|
3776 |
+
.m-xl-n2 {
|
3777 |
+
margin: -0.5rem !important;
|
3778 |
+
}
|
3779 |
+
.mt-xl-n2,
|
3780 |
+
.my-xl-n2 {
|
3781 |
+
margin-top: -0.5rem !important;
|
3782 |
+
}
|
3783 |
+
.mr-xl-n2,
|
3784 |
+
.mx-xl-n2 {
|
3785 |
+
margin-right: -0.5rem !important;
|
3786 |
+
}
|
3787 |
+
.mb-xl-n2,
|
3788 |
+
.my-xl-n2 {
|
3789 |
+
margin-bottom: -0.5rem !important;
|
3790 |
+
}
|
3791 |
+
.ml-xl-n2,
|
3792 |
+
.mx-xl-n2 {
|
3793 |
+
margin-left: -0.5rem !important;
|
3794 |
+
}
|
3795 |
+
.m-xl-n3 {
|
3796 |
+
margin: -1rem !important;
|
3797 |
+
}
|
3798 |
+
.mt-xl-n3,
|
3799 |
+
.my-xl-n3 {
|
3800 |
+
margin-top: -1rem !important;
|
3801 |
+
}
|
3802 |
+
.mr-xl-n3,
|
3803 |
+
.mx-xl-n3 {
|
3804 |
+
margin-right: -1rem !important;
|
3805 |
+
}
|
3806 |
+
.mb-xl-n3,
|
3807 |
+
.my-xl-n3 {
|
3808 |
+
margin-bottom: -1rem !important;
|
3809 |
+
}
|
3810 |
+
.ml-xl-n3,
|
3811 |
+
.mx-xl-n3 {
|
3812 |
+
margin-left: -1rem !important;
|
3813 |
+
}
|
3814 |
+
.m-xl-n4 {
|
3815 |
+
margin: -1.5rem !important;
|
3816 |
+
}
|
3817 |
+
.mt-xl-n4,
|
3818 |
+
.my-xl-n4 {
|
3819 |
+
margin-top: -1.5rem !important;
|
3820 |
+
}
|
3821 |
+
.mr-xl-n4,
|
3822 |
+
.mx-xl-n4 {
|
3823 |
+
margin-right: -1.5rem !important;
|
3824 |
+
}
|
3825 |
+
.mb-xl-n4,
|
3826 |
+
.my-xl-n4 {
|
3827 |
+
margin-bottom: -1.5rem !important;
|
3828 |
+
}
|
3829 |
+
.ml-xl-n4,
|
3830 |
+
.mx-xl-n4 {
|
3831 |
+
margin-left: -1.5rem !important;
|
3832 |
+
}
|
3833 |
+
.m-xl-n5 {
|
3834 |
+
margin: -3rem !important;
|
3835 |
+
}
|
3836 |
+
.mt-xl-n5,
|
3837 |
+
.my-xl-n5 {
|
3838 |
+
margin-top: -3rem !important;
|
3839 |
+
}
|
3840 |
+
.mr-xl-n5,
|
3841 |
+
.mx-xl-n5 {
|
3842 |
+
margin-right: -3rem !important;
|
3843 |
+
}
|
3844 |
+
.mb-xl-n5,
|
3845 |
+
.my-xl-n5 {
|
3846 |
+
margin-bottom: -3rem !important;
|
3847 |
+
}
|
3848 |
+
.ml-xl-n5,
|
3849 |
+
.mx-xl-n5 {
|
3850 |
+
margin-left: -3rem !important;
|
3851 |
+
}
|
3852 |
+
.m-xl-auto {
|
3853 |
+
margin: auto !important;
|
3854 |
+
}
|
3855 |
+
.mt-xl-auto,
|
3856 |
+
.my-xl-auto {
|
3857 |
+
margin-top: auto !important;
|
3858 |
+
}
|
3859 |
+
.mr-xl-auto,
|
3860 |
+
.mx-xl-auto {
|
3861 |
+
margin-right: auto !important;
|
3862 |
+
}
|
3863 |
+
.mb-xl-auto,
|
3864 |
+
.my-xl-auto {
|
3865 |
+
margin-bottom: auto !important;
|
3866 |
+
}
|
3867 |
+
.ml-xl-auto,
|
3868 |
+
.mx-xl-auto {
|
3869 |
+
margin-left: auto !important;
|
3870 |
+
}
|
3871 |
+
}
|
3872 |
Â
/*# sourceMappingURL=bootstrap-grid.css.map */
|
vendor/bootstrap/dist/css/bootstrap-grid.css.map
CHANGED
@@ -1 +1 @@
|
|
1 |
-
{"version":3,"sources":["../../scss/bootstrap-grid.scss","bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss"],"names":[],"mappings":"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","file":"bootstrap-grid.css","sourcesContent":["/*!\n * Bootstrap Grid v4.0.0 (https://getbootstrap.com)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n@at-root {\n @-ms-viewport { width: device-width; } // stylelint-disable-line at-rule-no-vendor-prefix\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n\n@import \"grid\";\n@import \"utilities/display\";\n@import \"utilities/flex\";\n","/*!\n * Bootstrap Grid v4.0.0 (https://getbootstrap.com)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n@-ms-viewport {\n width: device-width;\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 13;\n}\n\n.order-0 {\n order: 0;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 13;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 13;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 13;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 13;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n .container-fluid {\n @include make-container();\n }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container() {\n width: 100%;\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row() {\n display: flex;\n flex-wrap: wrap;\n margin-right: ($grid-gutter-width / -2);\n margin-left: ($grid-gutter-width / -2);\n}\n\n@mixin make-col-ready() {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n min-height: 1px; // Prevent collapsing\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02px, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n\n//\n// Color system\n//\n\n// stylelint-disable\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n$grays: map-merge((\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n), $grays);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n$colors: map-merge((\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n), $colors);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n$theme-colors: map-merge((\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n), $theme-colors);\n// stylelint-enable\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-print-styles: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n// stylelint-disable\n$spacer: 1rem !default;\n$spacers: () !default;\n$spacers: map-merge((\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n), $spacers);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n$sizes: map-merge((\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%\n), $sizes);\n// stylelint-enable\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints);\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n\n// Fonts\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: ($font-size-base * 1.25) !default;\n$font-size-sm: ($font-size-base * .875) !default;\n\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: ($spacer / 2) !default;\n$headings-font-family: inherit !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: inherit !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: ($font-size-base * 1.25) !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-font-size: ($font-size-base * 1.25) !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-bg: transparent !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $gray-300 !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-dark-bg: $gray-900 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($gray-900, 7.5%) !default;\n$table-dark-color: $body-bg !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-line-height: $input-btn-line-height !default;\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: ($font-size-base * $input-btn-line-height) + ($input-btn-padding-y * 2) !default;\n$input-height: calc(#{$input-height-inner} + #{$input-height-border}) !default;\n\n$input-height-inner-sm: ($font-size-sm * $input-btn-line-height-sm) + ($input-btn-padding-y-sm * 2) !default;\n$input-height-sm: calc(#{$input-height-inner-sm} + #{$input-height-border}) !default;\n\n$input-height-inner-lg: ($font-size-lg * $input-btn-line-height-lg) + ($input-btn-padding-y-lg * 2) !default;\n$input-height-lg: calc(#{$input-height-inner-lg} + #{$input-height-border}) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-control-gutter: 1.5rem !default;\n$custom-control-spacer-x: 1rem !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $gray-300 !default;\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-control-indicator-disabled-bg: $gray-200 !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n\n$custom-control-indicator-focus-box-shadow: 0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-select-padding-y: .375rem !default;\n$custom-select-padding-x: .75rem !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-line-height: $input-btn-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $white !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-select-border-width: $input-btn-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-box-shadow: inset 0 1px 2px rgba($black, .075), 0 0 5px rgba($custom-select-focus-border-color, .5) !default;\n\n$custom-select-font-size-sm: 75% !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-font-size-lg: 125% !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$custom-file-padding-y: $input-btn-padding-y !default;\n$custom-file-padding-x: $input-btn-padding-x !default;\n$custom-file-line-height: $input-btn-line-height !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-btn-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n// Navbar\n\n$navbar-padding-y: ($spacer / 2) !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: ($font-size-base * $line-height-base + $nav-link-padding-y * 2) !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: ($grid-gutter-width / 2) !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $gray-200 !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding: 1rem !default;\n\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-transition: transform .3s ease-out !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: ($font-size-base * .75) !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n// List group\n\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: \"/\" !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$carousel-control-next-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$carousel-transition: transform .6s ease !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Printing\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n min-height: 1px; // Prevent columns from collapsing when empty\n padding-right: ($gutter / 2);\n padding-left: ($gutter / 2);\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .d#{$infix}-none { display: none !important; }\n .d#{$infix}-inline { display: inline !important; }\n .d#{$infix}-inline-block { display: inline-block !important; }\n .d#{$infix}-block { display: block !important; }\n .d#{$infix}-table { display: table !important; }\n .d#{$infix}-table-row { display: table-row !important; }\n .d#{$infix}-table-cell { display: table-cell !important; }\n .d#{$infix}-flex { display: flex !important; }\n .d#{$infix}-inline-flex { display: inline-flex !important; }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n .d-print-none { display: none !important; }\n .d-print-inline { display: inline !important; }\n .d-print-inline-block { display: inline-block !important; }\n .d-print-block { display: block !important; }\n .d-print-table { display: table !important; }\n .d-print-table-row { display: table-row !important; }\n .d-print-table-cell { display: table-cell !important; }\n .d-print-flex { display: flex !important; }\n .d-print-inline-flex { display: inline-flex !important; }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n"]}
|
1 |
+
{"version":3,"sources":["../../scss/bootstrap-grid.scss","bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/mixins/_grid-framework.scss","../../scss/_functions.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_spacing.scss"],"names":[],"mappings":"AAAA;;;;;ECKE;ADEF;EACE,sBAAsB;EACtB,6BAA6B;ACA/B;;ADGA;;;EAGE,mBAAmB;ACArB;;ACTE;;;;;;ECDA,WAAW;EACX,mBAA2B;EAC3B,kBAA0B;EAC1B,kBAAkB;EAClB,iBAAiB;AFmBnB;;AGgCI;EFzCE;IACE,gBG+LG;EJlLT;AACF;;AG0BI;EFzCE;IACE,gBGgMG;EJ7KT;AACF;;AGoBI;EFzCE;IACE,gBGiMG;EJxKT;AACF;;AGcI;EFzCE;IACE,iBGkMI;EJnKV;AACF;;ACJE;ECnCA,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,mBAA2B;EAC3B,kBAA0B;AF2C5B;;ACLE;EACE,eAAe;EACf,cAAc;ADQlB;;ACVE;;EAMI,gBAAgB;EAChB,eAAe;ADSrB;;AK/DE;;;;;;EACE,kBAAkB;EAClB,WAAW;EACX,mBAA2B;EAC3B,kBAA0B;ALuE9B;;AKjDM;EACE,0BAAa;EAAb,aAAa;EACb,oBAAY;EAAZ,YAAY;EACZ,eAAe;ALoDvB;;AK/CU;EHwBN,kBIyHqD;EJzHrD,cIyHqD;EJxHrD,eIwHqD;AN7FzD;;AKpDU;EHwBN,iBIyHqD;EJzHrD,aIyHqD;EJxHrD,cIwHqD;ANxFzD;;AKzDU;EHwBN,wBIyHqD;EJzHrD,oBIyHqD;EJxHrD,qBIwHqD;ANnFzD;;AK9DU;EHwBN,iBIyHqD;EJzHrD,aIyHqD;EJxHrD,cIwHqD;AN9EzD;;AKnEU;EHwBN,iBIyHqD;EJzHrD,aIyHqD;EJxHrD,cIwHqD;ANzEzD;;AKxEU;EHwBN,wBIyHqD;EJzHrD,oBIyHqD;EJxHrD,qBIwHqD;ANpEzD;;AKvEM;EHCJ,kBAAc;EAAd,cAAc;EACd,WAAW;EACX,eAAe;AF0EjB;;AKvEU;EHbR,uBAA6C;EAA7C,mBAA6C;EAI7C,oBAA8C;AFqFhD;;AK5EU;EHbR,wBAA6C;EAA7C,oBAA6C;EAI7C,qBAA8C;AF0FhD;;AKjFU;EHbR,iBAA6C;EAA7C,aAA6C;EAI7C,cAA8C;AF+FhD;;AKtFU;EHbR,wBAA6C;EAA7C,oBAA6C;EAI7C,qBAA8C;AFoGhD;;AK3FU;EHbR,wBAA6C;EAA7C,oBAA6C;EAI7C,qBAA8C;AFyGhD;;AKhGU;EHbR,iBAA6C;EAA7C,aAA6C;EAI7C,cAA8C;AF8GhD;;AKrGU;EHbR,wBAA6C;EAA7C,oBAA6C;EAI7C,qBAA8C;AFmHhD;;AK1GU;EHbR,wBAA6C;EAA7C,oBAA6C;EAI7C,qBAA8C;AFwHhD;;AK/GU;EHbR,iBAA6C;EAA7C,aAA6C;EAI7C,cAA8C;AF6HhD;;AKpHU;EHbR,wBAA6C;EAA7C,oBAA6C;EAI7C,qBAA8C;AFkIhD;;AKzHU;EHbR,wBAA6C;EAA7C,oBAA6C;EAI7C,qBAA8C;AFuIhD;;AK9HU;EHbR,kBAA6C;EAA7C,cAA6C;EAI7C,eAA8C;AF4IhD;;AK7HM;EAAwB,kBAAS;EAAT,SAAS;ALiIvC;;AK/HM;EAAuB,kBDmKG;ECnKH,SDmKG;AJhChC;;AKhIQ;EAAwB,iBADZ;EACY,QADZ;ALqIpB;;AKpIQ;EAAwB,iBADZ;EACY,QADZ;ALyIpB;;AKxIQ;EAAwB,iBADZ;EACY,QADZ;AL6IpB;;AK5IQ;EAAwB,iBADZ;EACY,QADZ;ALiJpB;;AKhJQ;EAAwB,iBADZ;EACY,QADZ;ALqJpB;;AKpJQ;EAAwB,iBADZ;EACY,QADZ;ALyJpB;;AKxJQ;EAAwB,iBADZ;EACY,QADZ;AL6JpB;;AK5JQ;EAAwB,iBADZ;EACY,QADZ;ALiKpB;;AKhKQ;EAAwB,iBADZ;EACY,QADZ;ALqKpB;;AKpKQ;EAAwB,iBADZ;EACY,QADZ;ALyKpB;;AKxKQ;EAAwB,kBADZ;EACY,SADZ;AL6KpB;;AK5KQ;EAAwB,kBADZ;EACY,SADZ;ALiLpB;;AKhLQ;EAAwB,kBADZ;EACY,SADZ;ALqLpB;;AK7KY;EHhBV,sBAA8C;AFiMhD;;AKjLY;EHhBV,uBAA8C;AFqMhD;;AKrLY;EHhBV,gBAA8C;AFyMhD;;AKzLY;EHhBV,uBAA8C;AF6MhD;;AK7LY;EHhBV,uBAA8C;AFiNhD;;AKjMY;EHhBV,gBAA8C;AFqNhD;;AKrMY;EHhBV,uBAA8C;AFyNhD;;AKzMY;EHhBV,uBAA8C;AF6NhD;;AK7MY;EHhBV,gBAA8C;AFiOhD;;AKjNY;EHhBV,uBAA8C;AFqOhD;;AKrNY;EHhBV,uBAA8C;AFyOhD;;AGpOI;EE3BE;IACE,0BAAa;IAAb,aAAa;IACb,oBAAY;IAAZ,YAAY;IACZ,eAAe;ELmQrB;EK9PQ;IHwBN,kBIyHqD;IJzHrD,cIyHqD;IJxHrD,eIwHqD;ENiHvD;EKlQQ;IHwBN,iBIyHqD;IJzHrD,aIyHqD;IJxHrD,cIwHqD;ENqHvD;EKtQQ;IHwBN,wBIyHqD;IJzHrD,oBIyHqD;IJxHrD,qBIwHqD;ENyHvD;EK1QQ;IHwBN,iBIyHqD;IJzHrD,aIyHqD;IJxHrD,cIwHqD;EN6HvD;EK9QQ;IHwBN,iBIyHqD;IJzHrD,aIyHqD;IJxHrD,cIwHqD;ENiIvD;EKlRQ;IHwBN,wBIyHqD;IJzHrD,oBIyHqD;IJxHrD,qBIwHqD;ENqIvD;EKhRI;IHCJ,kBAAc;IAAd,cAAc;IACd,WAAW;IACX,eAAe;EFkRf;EK/QQ;IHbR,uBAA6C;IAA7C,mBAA6C;IAI7C,oBAA8C;EF4R9C;EKnRQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EFgS9C;EKvRQ;IHbR,iBAA6C;IAA7C,aAA6C;IAI7C,cAA8C;EFoS9C;EK3RQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EFwS9C;EK/RQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EF4S9C;EKnSQ;IHbR,iBAA6C;IAA7C,aAA6C;IAI7C,cAA8C;EFgT9C;EKvSQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EFoT9C;EK3SQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EFwT9C;EK/SQ;IHbR,iBAA6C;IAA7C,aAA6C;IAI7C,cAA8C;EF4T9C;EKnTQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EFgU9C;EKvTQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EFoU9C;EK3TQ;IHbR,kBAA6C;IAA7C,cAA6C;IAI7C,eAA8C;EFwU9C;EKzTI;IAAwB,kBAAS;IAAT,SAAS;EL4TrC;EK1TI;IAAuB,kBDmKG;ICnKH,SDmKG;EJ0J9B;EK1TM;IAAwB,iBADZ;IACY,QADZ;EL8TlB;EK7TM;IAAwB,iBADZ;IACY,QADZ;ELiUlB;EKhUM;IAAwB,iBADZ;IACY,QADZ;ELoUlB;EKnUM;IAAwB,iBADZ;IACY,QADZ;ELuUlB;EKtUM;IAAwB,iBADZ;IACY,QADZ;EL0UlB;EKzUM;IAAwB,iBADZ;IACY,QADZ;EL6UlB;EK5UM;IAAwB,iBADZ;IACY,QADZ;ELgVlB;EK/UM;IAAwB,iBADZ;IACY,QADZ;ELmVlB;EKlVM;IAAwB,iBADZ;IACY,QADZ;ELsVlB;EKrVM;IAAwB,iBADZ;IACY,QADZ;ELyVlB;EKxVM;IAAwB,kBADZ;IACY,SADZ;EL4VlB;EK3VM;IAAwB,kBADZ;IACY,SADZ;EL+VlB;EK9VM;IAAwB,kBADZ;IACY,SADZ;ELkWlB;EK1VU;IHhBV,cAA4B;EF6W5B;EK7VU;IHhBV,sBAA8C;EFgX9C;EKhWU;IHhBV,uBAA8C;EFmX9C;EKnWU;IHhBV,gBAA8C;EFsX9C;EKtWU;IHhBV,uBAA8C;EFyX9C;EKzWU;IHhBV,uBAA8C;EF4X9C;EK5WU;IHhBV,gBAA8C;EF+X9C;EK/WU;IHhBV,uBAA8C;EFkY9C;EKlXU;IHhBV,uBAA8C;EFqY9C;EKrXU;IHhBV,gBAA8C;EFwY9C;EKxXU;IHhBV,uBAA8C;EF2Y9C;EK3XU;IHhBV,uBAA8C;EF8Y9C;AACF;;AG1YI;EE3BE;IACE,0BAAa;IAAb,aAAa;IACb,oBAAY;IAAZ,YAAY;IACZ,eAAe;ELyarB;EKpaQ;IHwBN,kBIyHqD;IJzHrD,cIyHqD;IJxHrD,eIwHqD;ENuRvD;EKxaQ;IHwBN,iBIyHqD;IJzHrD,aIyHqD;IJxHrD,cIwHqD;EN2RvD;EK5aQ;IHwBN,wBIyHqD;IJzHrD,oBIyHqD;IJxHrD,qBIwHqD;EN+RvD;EKhbQ;IHwBN,iBIyHqD;IJzHrD,aIyHqD;IJxHrD,cIwHqD;ENmSvD;EKpbQ;IHwBN,iBIyHqD;IJzHrD,aIyHqD;IJxHrD,cIwHqD;ENuSvD;EKxbQ;IHwBN,wBIyHqD;IJzHrD,oBIyHqD;IJxHrD,qBIwHqD;EN2SvD;EKtbI;IHCJ,kBAAc;IAAd,cAAc;IACd,WAAW;IACX,eAAe;EFwbf;EKrbQ;IHbR,uBAA6C;IAA7C,mBAA6C;IAI7C,oBAA8C;EFkc9C;EKzbQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EFsc9C;EK7bQ;IHbR,iBAA6C;IAA7C,aAA6C;IAI7C,cAA8C;EF0c9C;EKjcQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EF8c9C;EKrcQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EFkd9C;EKzcQ;IHbR,iBAA6C;IAA7C,aAA6C;IAI7C,cAA8C;EFsd9C;EK7cQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EF0d9C;EKjdQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EF8d9C;EKrdQ;IHbR,iBAA6C;IAA7C,aAA6C;IAI7C,cAA8C;EFke9C;EKzdQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EFse9C;EK7dQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EF0e9C;EKjeQ;IHbR,kBAA6C;IAA7C,cAA6C;IAI7C,eAA8C;EF8e9C;EK/dI;IAAwB,kBAAS;IAAT,SAAS;ELkerC;EKheI;IAAuB,kBDmKG;ICnKH,SDmKG;EJgU9B;EKheM;IAAwB,iBADZ;IACY,QADZ;ELoelB;EKneM;IAAwB,iBADZ;IACY,QADZ;ELuelB;EKteM;IAAwB,iBADZ;IACY,QADZ;EL0elB;EKzeM;IAAwB,iBADZ;IACY,QADZ;EL6elB;EK5eM;IAAwB,iBADZ;IACY,QADZ;ELgflB;EK/eM;IAAwB,iBADZ;IACY,QADZ;ELmflB;EKlfM;IAAwB,iBADZ;IACY,QADZ;ELsflB;EKrfM;IAAwB,iBADZ;IACY,QADZ;ELyflB;EKxfM;IAAwB,iBADZ;IACY,QADZ;EL4flB;EK3fM;IAAwB,iBADZ;IACY,QADZ;EL+flB;EK9fM;IAAwB,kBADZ;IACY,SADZ;ELkgBlB;EKjgBM;IAAwB,kBADZ;IACY,SADZ;ELqgBlB;EKpgBM;IAAwB,kBADZ;IACY,SADZ;ELwgBlB;EKhgBU;IHhBV,cAA4B;EFmhB5B;EKngBU;IHhBV,sBAA8C;EFshB9C;EKtgBU;IHhBV,uBAA8C;EFyhB9C;EKzgBU;IHhBV,gBAA8C;EF4hB9C;EK5gBU;IHhBV,uBAA8C;EF+hB9C;EK/gBU;IHhBV,uBAA8C;EFkiB9C;EKlhBU;IHhBV,gBAA8C;EFqiB9C;EKrhBU;IHhBV,uBAA8C;EFwiB9C;EKxhBU;IHhBV,uBAA8C;EF2iB9C;EK3hBU;IHhBV,gBAA8C;EF8iB9C;EK9hBU;IHhBV,uBAA8C;EFijB9C;EKjiBU;IHhBV,uBAA8C;EFojB9C;AACF;;AGhjBI;EE3BE;IACE,0BAAa;IAAb,aAAa;IACb,oBAAY;IAAZ,YAAY;IACZ,eAAe;EL+kBrB;EK1kBQ;IHwBN,kBIyHqD;IJzHrD,cIyHqD;IJxHrD,eIwHqD;EN6bvD;EK9kBQ;IHwBN,iBIyHqD;IJzHrD,aIyHqD;IJxHrD,cIwHqD;ENicvD;EKllBQ;IHwBN,wBIyHqD;IJzHrD,oBIyHqD;IJxHrD,qBIwHqD;ENqcvD;EKtlBQ;IHwBN,iBIyHqD;IJzHrD,aIyHqD;IJxHrD,cIwHqD;ENycvD;EK1lBQ;IHwBN,iBIyHqD;IJzHrD,aIyHqD;IJxHrD,cIwHqD;EN6cvD;EK9lBQ;IHwBN,wBIyHqD;IJzHrD,oBIyHqD;IJxHrD,qBIwHqD;ENidvD;EK5lBI;IHCJ,kBAAc;IAAd,cAAc;IACd,WAAW;IACX,eAAe;EF8lBf;EK3lBQ;IHbR,uBAA6C;IAA7C,mBAA6C;IAI7C,oBAA8C;EFwmB9C;EK/lBQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EF4mB9C;EKnmBQ;IHbR,iBAA6C;IAA7C,aAA6C;IAI7C,cAA8C;EFgnB9C;EKvmBQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EFonB9C;EK3mBQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EFwnB9C;EK/mBQ;IHbR,iBAA6C;IAA7C,aAA6C;IAI7C,cAA8C;EF4nB9C;EKnnBQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EFgoB9C;EKvnBQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EFooB9C;EK3nBQ;IHbR,iBAA6C;IAA7C,aAA6C;IAI7C,cAA8C;EFwoB9C;EK/nBQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EF4oB9C;EKnoBQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EFgpB9C;EKvoBQ;IHbR,kBAA6C;IAA7C,cAA6C;IAI7C,eAA8C;EFopB9C;EKroBI;IAAwB,kBAAS;IAAT,SAAS;ELwoBrC;EKtoBI;IAAuB,kBDmKG;ICnKH,SDmKG;EJse9B;EKtoBM;IAAwB,iBADZ;IACY,QADZ;EL0oBlB;EKzoBM;IAAwB,iBADZ;IACY,QADZ;EL6oBlB;EK5oBM;IAAwB,iBADZ;IACY,QADZ;ELgpBlB;EK/oBM;IAAwB,iBADZ;IACY,QADZ;ELmpBlB;EKlpBM;IAAwB,iBADZ;IACY,QADZ;ELspBlB;EKrpBM;IAAwB,iBADZ;IACY,QADZ;ELypBlB;EKxpBM;IAAwB,iBADZ;IACY,QADZ;EL4pBlB;EK3pBM;IAAwB,iBADZ;IACY,QADZ;EL+pBlB;EK9pBM;IAAwB,iBADZ;IACY,QADZ;ELkqBlB;EKjqBM;IAAwB,iBADZ;IACY,QADZ;ELqqBlB;EKpqBM;IAAwB,kBADZ;IACY,SADZ;ELwqBlB;EKvqBM;IAAwB,kBADZ;IACY,SADZ;EL2qBlB;EK1qBM;IAAwB,kBADZ;IACY,SADZ;EL8qBlB;EKtqBU;IHhBV,cAA4B;EFyrB5B;EKzqBU;IHhBV,sBAA8C;EF4rB9C;EK5qBU;IHhBV,uBAA8C;EF+rB9C;EK/qBU;IHhBV,gBAA8C;EFksB9C;EKlrBU;IHhBV,uBAA8C;EFqsB9C;EKrrBU;IHhBV,uBAA8C;EFwsB9C;EKxrBU;IHhBV,gBAA8C;EF2sB9C;EK3rBU;IHhBV,uBAA8C;EF8sB9C;EK9rBU;IHhBV,uBAA8C;EFitB9C;EKjsBU;IHhBV,gBAA8C;EFotB9C;EKpsBU;IHhBV,uBAA8C;EFutB9C;EKvsBU;IHhBV,uBAA8C;EF0tB9C;AACF;;AGttBI;EE3BE;IACE,0BAAa;IAAb,aAAa;IACb,oBAAY;IAAZ,YAAY;IACZ,eAAe;ELqvBrB;EKhvBQ;IHwBN,kBIyHqD;IJzHrD,cIyHqD;IJxHrD,eIwHqD;ENmmBvD;EKpvBQ;IHwBN,iBIyHqD;IJzHrD,aIyHqD;IJxHrD,cIwHqD;ENumBvD;EKxvBQ;IHwBN,wBIyHqD;IJzHrD,oBIyHqD;IJxHrD,qBIwHqD;EN2mBvD;EK5vBQ;IHwBN,iBIyHqD;IJzHrD,aIyHqD;IJxHrD,cIwHqD;EN+mBvD;EKhwBQ;IHwBN,iBIyHqD;IJzHrD,aIyHqD;IJxHrD,cIwHqD;ENmnBvD;EKpwBQ;IHwBN,wBIyHqD;IJzHrD,oBIyHqD;IJxHrD,qBIwHqD;ENunBvD;EKlwBI;IHCJ,kBAAc;IAAd,cAAc;IACd,WAAW;IACX,eAAe;EFowBf;EKjwBQ;IHbR,uBAA6C;IAA7C,mBAA6C;IAI7C,oBAA8C;EF8wB9C;EKrwBQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EFkxB9C;EKzwBQ;IHbR,iBAA6C;IAA7C,aAA6C;IAI7C,cAA8C;EFsxB9C;EK7wBQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EF0xB9C;EKjxBQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EF8xB9C;EKrxBQ;IHbR,iBAA6C;IAA7C,aAA6C;IAI7C,cAA8C;EFkyB9C;EKzxBQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EFsyB9C;EK7xBQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EF0yB9C;EKjyBQ;IHbR,iBAA6C;IAA7C,aAA6C;IAI7C,cAA8C;EF8yB9C;EKryBQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EFkzB9C;EKzyBQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EFszB9C;EK7yBQ;IHbR,kBAA6C;IAA7C,cAA6C;IAI7C,eAA8C;EF0zB9C;EK3yBI;IAAwB,kBAAS;IAAT,SAAS;EL8yBrC;EK5yBI;IAAuB,kBDmKG;ICnKH,SDmKG;EJ4oB9B;EK5yBM;IAAwB,iBADZ;IACY,QADZ;ELgzBlB;EK/yBM;IAAwB,iBADZ;IACY,QADZ;ELmzBlB;EKlzBM;IAAwB,iBADZ;IACY,QADZ;ELszBlB;EKrzBM;IAAwB,iBADZ;IACY,QADZ;ELyzBlB;EKxzBM;IAAwB,iBADZ;IACY,QADZ;EL4zBlB;EK3zBM;IAAwB,iBADZ;IACY,QADZ;EL+zBlB;EK9zBM;IAAwB,iBADZ;IACY,QADZ;ELk0BlB;EKj0BM;IAAwB,iBADZ;IACY,QADZ;ELq0BlB;EKp0BM;IAAwB,iBADZ;IACY,QADZ;ELw0BlB;EKv0BM;IAAwB,iBADZ;IACY,QADZ;EL20BlB;EK10BM;IAAwB,kBADZ;IACY,SADZ;EL80BlB;EK70BM;IAAwB,kBADZ;IACY,SADZ;ELi1BlB;EKh1BM;IAAwB,kBADZ;IACY,SADZ;ELo1BlB;EK50BU;IHhBV,cAA4B;EF+1B5B;EK/0BU;IHhBV,sBAA8C;EFk2B9C;EKl1BU;IHhBV,uBAA8C;EFq2B9C;EKr1BU;IHhBV,gBAA8C;EFw2B9C;EKx1BU;IHhBV,uBAA8C;EF22B9C;EK31BU;IHhBV,uBAA8C;EF82B9C;EK91BU;IHhBV,gBAA8C;EFi3B9C;EKj2BU;IHhBV,uBAA8C;EFo3B9C;EKp2BU;IHhBV,uBAA8C;EFu3B9C;EKv2BU;IHhBV,gBAA8C;EF03B9C;EK12BU;IHhBV,uBAA8C;EF63B9C;EK72BU;IHhBV,uBAA8C;EFg4B9C;AACF;;AO76BM;EAAwB,wBAA0B;APi7BxD;;AOj7BM;EAAwB,0BAA0B;APq7BxD;;AOr7BM;EAAwB,gCAA0B;APy7BxD;;AOz7BM;EAAwB,yBAA0B;AP67BxD;;AO77BM;EAAwB,yBAA0B;APi8BxD;;AOj8BM;EAAwB,6BAA0B;APq8BxD;;AOr8BM;EAAwB,8BAA0B;APy8BxD;;AOz8BM;EAAwB,+BAA0B;EAA1B,wBAA0B;AP68BxD;;AO78BM;EAAwB,sCAA0B;EAA1B,+BAA0B;APi9BxD;;AGh6BI;EIjDE;IAAwB,wBAA0B;EPs9BtD;EOt9BI;IAAwB,0BAA0B;EPy9BtD;EOz9BI;IAAwB,gCAA0B;EP49BtD;EO59BI;IAAwB,yBAA0B;EP+9BtD;EO/9BI;IAAwB,yBAA0B;EPk+BtD;EOl+BI;IAAwB,6BAA0B;EPq+BtD;EOr+BI;IAAwB,8BAA0B;EPw+BtD;EOx+BI;IAAwB,+BAA0B;IAA1B,wBAA0B;EP2+BtD;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D;;AS5qDQ;EAAgC,0BAA4B;ATgrDpE;;AS/qDQ;;EAEE,8BAAoC;ATkrD9C;;AShrDQ;;EAEE,gCAAwC;ATmrDlD;;ASjrDQ;;EAEE,iCAA0C;ATorDpD;;ASlrDQ;;EAEE,+BAAsC;ATqrDhD;;ASpsDQ;EAAgC,yBAA4B;ATwsDpE;;ASvsDQ;;EAEE,6BAAoC;AT0sD9C;;ASxsDQ;;EAEE,+BAAwC;AT2sDlD;;ASzsDQ;;EAEE,gCAA0C;AT4sDpD;;AS1sDQ;;EAEE,8BAAsC;AT6sDhD;;AS5tDQ;EAAgC,uBAA4B;ATguDpE;;AS/tDQ;;EAEE,2BAAoC;ATkuD9C;;AShuDQ;;EAEE,6BAAwC;ATmuDlD;;ASjuDQ;;EAEE,8BAA0C;ATouDpD;;ASluDQ;;EAEE,4BAAsC;ATquDhD;;ASpvDQ;EAAgC,yBAA4B;ATwvDpE;;ASvvDQ;;EAEE,6BAAoC;AT0vD9C;;ASxvDQ;;EAEE,+BAAwC;AT2vDlD;;ASzvDQ;;EAEE,gCAA0C;AT4vDpD;;AS1vDQ;;EAEE,8BAAsC;AT6vDhD;;AS5wDQ;EAAgC,uBAA4B;ATgxDpE;;AS/wDQ;;EAEE,2BAAoC;ATkxD9C;;AShxDQ;;EAEE,6BAAwC;ATmxDlD;;ASjxDQ;;EAEE,8BAA0C;AToxDpD;;ASlxDQ;;EAEE,4BAAsC;ATqxDhD;;ASpyDQ;EAAgC,qBAA4B;ATwyDpE;;ASvyDQ;;EAEE,yBAAoC;AT0yD9C;;ASxyDQ;;EAEE,2BAAwC;AT2yDlD;;ASzyDQ;;EAEE,4BAA0C;AT4yDpD;;AS1yDQ;;EAEE,0BAAsC;AT6yDhD;;AS5zDQ;EAAgC,2BAA4B;ATg0DpE;;AS/zDQ;;EAEE,+BAAoC;ATk0D9C;;ASh0DQ;;EAEE,iCAAwC;ATm0DlD;;ASj0DQ;;EAEE,kCAA0C;ATo0DpD;;ASl0DQ;;EAEE,gCAAsC;ATq0DhD;;ASp1DQ;EAAgC,0BAA4B;ATw1DpE;;ASv1DQ;;EAEE,8BAAoC;AT01D9C;;ASx1DQ;;EAEE,gCAAwC;AT21DlD;;ASz1DQ;;EAEE,iCAA0C;AT41DpD;;AS11DQ;;EAEE,+BAAsC;AT61DhD;;AS52DQ;EAAgC,wBAA4B;ATg3DpE;;AS/2DQ;;EAEE,4BAAoC;ATk3D9C;;ASh3DQ;;EAEE,8BAAwC;ATm3DlD;;ASj3DQ;;EAEE,+BAA0C;ATo3DpD;;ASl3DQ;;EAEE,6BAAsC;ATq3DhD;;ASp4DQ;EAAgC,0BAA4B;ATw4DpE;;ASv4DQ;;EAEE,8BAAoC;AT04D9C;;ASx4DQ;;EAEE,gCAAwC;AT24DlD;;ASz4DQ;;EAEE,iCAA0C;AT44DpD;;AS14DQ;;EAEE,+BAAsC;AT64DhD;;AS55DQ;EAAgC,wBAA4B;ATg6DpE;;AS/5DQ;;EAEE,4BAAoC;ATk6D9C;;ASh6DQ;;EAEE,8BAAwC;ATm6DlD;;ASj6DQ;;EAEE,+BAA0C;ATo6DpD;;ASl6DQ;;EAEE,6BAAsC;ATq6DhD;;AS75DQ;EAAwB,2BAA2B;ATi6D3D;;ASh6DQ;;EAEE,+BAA+B;ATm6DzC;;ASj6DQ;;EAEE,iCAAiC;ATo6D3C;;ASl6DQ;;EAEE,kCAAkC;ATq6D5C;;ASn6DQ;;EAEE,gCAAgC;ATs6D1C;;ASr7DQ;EAAwB,0BAA2B;ATy7D3D;;ASx7DQ;;EAEE,8BAA+B;AT27DzC;;ASz7DQ;;EAEE,gCAAiC;AT47D3C;;AS17DQ;;EAEE,iCAAkC;AT67D5C;;AS37DQ;;EAEE,+BAAgC;AT87D1C;;AS78DQ;EAAwB,wBAA2B;ATi9D3D;;ASh9DQ;;EAEE,4BAA+B;ATm9DzC;;ASj9DQ;;EAEE,8BAAiC;ATo9D3C;;ASl9DQ;;EAEE,+BAAkC;ATq9D5C;;ASn9DQ;;EAEE,6BAAgC;ATs9D1C;;ASr+DQ;EAAwB,0BAA2B;ATy+D3D;;ASx+DQ;;EAEE,8BAA+B;AT2+DzC;;ASz+DQ;;EAEE,gCAAiC;AT4+D3C;;AS1+DQ;;EAEE,iCAAkC;AT6+D5C;;AS3+DQ;;EAEE,+BAAgC;AT8+D1C;;AS7/DQ;EAAwB,wBAA2B;ATigE3D;;AShgEQ;;EAEE,4BAA+B;ATmgEzC;;ASjgEQ;;EAEE,8BAAiC;ATogE3C;;ASlgEQ;;EAEE,+BAAkC;ATqgE5C;;ASngEQ;;EAEE,6BAAgC;ATsgE1C;;AShgEI;EAAmB,uBAAuB;ATogE9C;;ASngEI;;EAEE,2BAA2B;ATsgEjC;;ASpgEI;;EAEE,6BAA6B;ATugEnC;;ASrgEI;;EAEE,8BAA8B;ATwgEpC;;AStgEI;;EAEE,4BAA4B;ATygElC;;AGlhEI;EMlDI;IAAgC,oBAA4B;ETykElE;ESxkEM;;IAEE,wBAAoC;ET0kE5C;ESxkEM;;IAEE,0BAAwC;ET0kEhD;ESxkEM;;IAEE,2BAA0C;ET0kElD;ESxkEM;;IAEE,yBAAsC;ET0kE9C;ESzlEM;IAAgC,0BAA4B;ET4lElE;ES3lEM;;IAEE,8BAAoC;ET6lE5C;ES3lEM;;IAEE,gCAAwC;ET6lEhD;ES3lEM;;IAEE,iCAA0C;ET6lElD;ES3lEM;;IAEE,+BAAsC;ET6lE9C;ES5mEM;IAAgC,yBAA4B;ET+mElE;ES9mEM;;IAEE,6BAAoC;ETgnE5C;ES9mEM;;IAEE,+BAAwC;ETgnEhD;ES9mEM;;IAEE,gCAA0C;ETgnElD;ES9mEM;;IAEE,8BAAsC;ETgnE9C;ES/nEM;IAAgC,uBAA4B;ETkoElE;ESjoEM;;IAEE,2BAAoC;ETmoE5C;ESjoEM;;IAEE,6BAAwC;ETmoEhD;ESjoEM;;IAEE,8BAA0C;ETmoElD;ESjoEM;;IAEE,4BAAsC;ETmoE9C;ESlpEM;IAAgC,yBAA4B;ETqpElE;ESppEM;;IAEE,6BAAoC;ETspE5C;ESppEM;;IAEE,+BAAwC;ETspEhD;ESppEM;;IAEE,gCAA0C;ETspElD;ESppEM;;IAEE,8BAAsC;ETspE9C;ESrqEM;IAAgC,uBAA4B;ETwqElE;ESvqEM;;IAEE,2BAAoC;ETyqE5C;ESvqEM;;IAEE,6BAAwC;ETyqEhD;ESvqEM;;IAEE,8BAA0C;ETyqElD;ESvqEM;;IAEE,4BAAsC;ETyqE9C;ESxrEM;IAAgC,qBAA4B;ET2rElE;ES1rEM;;IAEE,yBAAoC;ET4rE5C;ES1rEM;;IAEE,2BAAwC;ET4rEhD;ES1rEM;;IAEE,4BAA0C;ET4rElD;ES1rEM;;IAEE,0BAAsC;ET4rE9C;ES3sEM;IAAgC,2BAA4B;ET8sElE;ES7sEM;;IAEE,+BAAoC;ET+sE5C;ES7sEM;;IAEE,iCAAwC;ET+sEhD;ES7sEM;;IAEE,kCAA0C;ET+sElD;ES7sEM;;IAEE,gCAAsC;ET+sE9C;ES9tEM;IAAgC,0BAA4B;ETiuElE;EShuEM;;IAEE,8BAAoC;ETkuE5C;EShuEM;;IAEE,gCAAwC;ETkuEhD;EShuEM;;IAEE,iCAA0C;ETkuElD;EShuEM;;IAEE,+BAAsC;ETkuE9C;ESjvEM;IAAgC,wBAA4B;ETovElE;ESnvEM;;IAEE,4BAAoC;ETqvE5C;ESnvEM;;IAEE,8BAAwC;ETqvEhD;ESnvEM;;IAEE,+BAA0C;ETqvElD;ESnvEM;;IAEE,6BAAsC;ETqvE9C;ESpwEM;IAAgC,0BAA4B;ETuwElE;EStwEM;;IAEE,8BAAoC;ETwwE5C;EStwEM;;IAEE,gCAAwC;ETwwEhD;EStwEM;;IAEE,iCAA0C;ETwwElD;EStwEM;;IAEE,+BAAsC;ETwwE9C;ESvxEM;IAAgC,wBAA4B;ET0xElE;ESzxEM;;IAEE,4BAAoC;ET2xE5C;ESzxEM;;IAEE,8BAAwC;ET2xEhD;ESzxEM;;IAEE,+BAA0C;ET2xElD;ESzxEM;;IAEE,6BAAsC;ET2xE9C;ESnxEM;IAAwB,2BAA2B;ETsxEzD;ESrxEM;;IAEE,+BAA+B;ETuxEvC;ESrxEM;;IAEE,iCAAiC;ETuxEzC;ESrxEM;;IAEE,kCAAkC;ETuxE1C;ESrxEM;;IAEE,gCAAgC;ETuxExC;EStyEM;IAAwB,0BAA2B;ETyyEzD;ESxyEM;;IAEE,8BAA+B;ET0yEvC;ESxyEM;;IAEE,gCAAiC;ET0yEzC;ESxyEM;;IAEE,iCAAkC;ET0yE1C;ESxyEM;;IAEE,+BAAgC;ET0yExC;ESzzEM;IAAwB,wBAA2B;ET4zEzD;ES3zEM;;IAEE,4BAA+B;ET6zEvC;ES3zEM;;IAEE,8BAAiC;ET6zEzC;ES3zEM;;IAEE,+BAAkC;ET6zE1C;ES3zEM;;IAEE,6BAAgC;ET6zExC;ES50EM;IAAwB,0BAA2B;ET+0EzD;ES90EM;;IAEE,8BAA+B;ETg1EvC;ES90EM;;IAEE,gCAAiC;ETg1EzC;ES90EM;;IAEE,iCAAkC;ETg1E1C;ES90EM;;IAEE,+BAAgC;ETg1ExC;ES/1EM;IAAwB,wBAA2B;ETk2EzD;ESj2EM;;IAEE,4BAA+B;ETm2EvC;ESj2EM;;IAEE,8BAAiC;ETm2EzC;ESj2EM;;IAEE,+BAAkC;ETm2E1C;ESj2EM;;IAEE,6BAAgC;ETm2ExC;ES71EE;IAAmB,uBAAuB;ETg2E5C;ES/1EE;;IAEE,2BAA2B;ETi2E/B;ES/1EE;;IAEE,6BAA6B;ETi2EjC;ES/1EE;;IAEE,8BAA8B;ETi2ElC;ES/1EE;;IAEE,4BAA4B;ETi2EhC;AACF;;AG32EI;EMlDI;IAAgC,oBAA4B;ETk6ElE;ESj6EM;;IAEE,wBAAoC;ETm6E5C;ESj6EM;;IAEE,0BAAwC;ETm6EhD;ESj6EM;;IAEE,2BAA0C;ETm6ElD;ESj6EM;;IAEE,yBAAsC;ETm6E9C;ESl7EM;IAAgC,0BAA4B;ETq7ElE;ESp7EM;;IAEE,8BAAoC;ETs7E5C;ESp7EM;;IAEE,gCAAwC;ETs7EhD;ESp7EM;;IAEE,iCAA0C;ETs7ElD;ESp7EM;;IAEE,+BAAsC;ETs7E9C;ESr8EM;IAAgC,yBAA4B;ETw8ElE;ESv8EM;;IAEE,6BAAoC;ETy8E5C;ESv8EM;;IAEE,+BAAwC;ETy8EhD;ESv8EM;;IAEE,gCAA0C;ETy8ElD;ESv8EM;;IAEE,8BAAsC;ETy8E9C;ESx9EM;IAAgC,uBAA4B;ET29ElE;ES19EM;;IAEE,2BAAoC;ET49E5C;ES19EM;;IAEE,6BAAwC;ET49EhD;ES19EM;;IAEE,8BAA0C;ET49ElD;ES19EM;;IAEE,4BAAsC;ET49E9C;ES3+EM;IAAgC,yBAA4B;ET8+ElE;ES7+EM;;IAEE,6BAAoC;ET++E5C;ES7+EM;;IAEE,+BAAwC;ET++EhD;ES7+EM;;IAEE,gCAA0C;ET++ElD;ES7+EM;;IAEE,8BAAsC;ET++E9C;ES9/EM;IAAgC,uBAA4B;ETigFlE;EShgFM;;IAEE,2BAAoC;ETkgF5C;EShgFM;;IAEE,6BAAwC;ETkgFhD;EShgFM;;IAEE,8BAA0C;ETkgFlD;EShgFM;;IAEE,4BAAsC;ETkgF9C;ESjhFM;IAAgC,qBAA4B;ETohFlE;ESnhFM;;IAEE,yBAAoC;ETqhF5C;ESnhFM;;IAEE,2BAAwC;ETqhFhD;ESnhFM;;IAEE,4BAA0C;ETqhFlD;ESnhFM;;IAEE,0BAAsC;ETqhF9C;ESpiFM;IAAgC,2BAA4B;ETuiFlE;EStiFM;;IAEE,+BAAoC;ETwiF5C;EStiFM;;IAEE,iCAAwC;ETwiFhD;EStiFM;;IAEE,kCAA0C;ETwiFlD;EStiFM;;IAEE,gCAAsC;ETwiF9C;ESvjFM;IAAgC,0BAA4B;ET0jFlE;ESzjFM;;IAEE,8BAAoC;ET2jF5C;ESzjFM;;IAEE,gCAAwC;ET2jFhD;ESzjFM;;IAEE,iCAA0C;ET2jFlD;ESzjFM;;IAEE,+BAAsC;ET2jF9C;ES1kFM;IAAgC,wBAA4B;ET6kFlE;ES5kFM;;IAEE,4BAAoC;ET8kF5C;ES5kFM;;IAEE,8BAAwC;ET8kFhD;ES5kFM;;IAEE,+BAA0C;ET8kFlD;ES5kFM;;IAEE,6BAAsC;ET8kF9C;ES7lFM;IAAgC,0BAA4B;ETgmFlE;ES/lFM;;IAEE,8BAAoC;ETimF5C;ES/lFM;;IAEE,gCAAwC;ETimFhD;ES/lFM;;IAEE,iCAA0C;ETimFlD;ES/lFM;;IAEE,+BAAsC;ETimF9C;EShnFM;IAAgC,wBAA4B;ETmnFlE;ESlnFM;;IAEE,4BAAoC;ETonF5C;ESlnFM;;IAEE,8BAAwC;ETonFhD;ESlnFM;;IAEE,+BAA0C;ETonFlD;ESlnFM;;IAEE,6BAAsC;ETonF9C;ES5mFM;IAAwB,2BAA2B;ET+mFzD;ES9mFM;;IAEE,+BAA+B;ETgnFvC;ES9mFM;;IAEE,iCAAiC;ETgnFzC;ES9mFM;;IAEE,kCAAkC;ETgnF1C;ES9mFM;;IAEE,gCAAgC;ETgnFxC;ES/nFM;IAAwB,0BAA2B;ETkoFzD;ESjoFM;;IAEE,8BAA+B;ETmoFvC;ESjoFM;;IAEE,gCAAiC;ETmoFzC;ESjoFM;;IAEE,iCAAkC;ETmoF1C;ESjoFM;;IAEE,+BAAgC;ETmoFxC;ESlpFM;IAAwB,wBAA2B;ETqpFzD;ESppFM;;IAEE,4BAA+B;ETspFvC;ESppFM;;IAEE,8BAAiC;ETspFzC;ESppFM;;IAEE,+BAAkC;ETspF1C;ESppFM;;IAEE,6BAAgC;ETspFxC;ESrqFM;IAAwB,0BAA2B;ETwqFzD;ESvqFM;;IAEE,8BAA+B;ETyqFvC;ESvqFM;;IAEE,gCAAiC;ETyqFzC;ESvqFM;;IAEE,iCAAkC;ETyqF1C;ESvqFM;;IAEE,+BAAgC;ETyqFxC;ESxrFM;IAAwB,wBAA2B;ET2rFzD;ES1rFM;;IAEE,4BAA+B;ET4rFvC;ES1rFM;;IAEE,8BAAiC;ET4rFzC;ES1rFM;;IAEE,+BAAkC;ET4rF1C;ES1rFM;;IAEE,6BAAgC;ET4rFxC;EStrFE;IAAmB,uBAAuB;ETyrF5C;ESxrFE;;IAEE,2BAA2B;ET0rF/B;ESxrFE;;IAEE,6BAA6B;ET0rFjC;ESxrFE;;IAEE,8BAA8B;ET0rFlC;ESxrFE;;IAEE,4BAA4B;ET0rFhC;AACF;;AGpsFI;EMlDI;IAAgC,oBAA4B;ET2vFlE;ES1vFM;;IAEE,wBAAoC;ET4vF5C;ES1vFM;;IAEE,0BAAwC;ET4vFhD;ES1vFM;;IAEE,2BAA0C;ET4vFlD;ES1vFM;;IAEE,yBAAsC;ET4vF9C;ES3wFM;IAAgC,0BAA4B;ET8wFlE;ES7wFM;;IAEE,8BAAoC;ET+wF5C;ES7wFM;;IAEE,gCAAwC;ET+wFhD;ES7wFM;;IAEE,iCAA0C;ET+wFlD;ES7wFM;;IAEE,+BAAsC;ET+wF9C;ES9xFM;IAAgC,yBAA4B;ETiyFlE;EShyFM;;IAEE,6BAAoC;ETkyF5C;EShyFM;;IAEE,+BAAwC;ETkyFhD;EShyFM;;IAEE,gCAA0C;ETkyFlD;EShyFM;;IAEE,8BAAsC;ETkyF9C;ESjzFM;IAAgC,uBAA4B;ETozFlE;ESnzFM;;IAEE,2BAAoC;ETqzF5C;ESnzFM;;IAEE,6BAAwC;ETqzFhD;ESnzFM;;IAEE,8BAA0C;ETqzFlD;ESnzFM;;IAEE,4BAAsC;ETqzF9C;ESp0FM;IAAgC,yBAA4B;ETu0FlE;ESt0FM;;IAEE,6BAAoC;ETw0F5C;ESt0FM;;IAEE,+BAAwC;ETw0FhD;ESt0FM;;IAEE,gCAA0C;ETw0FlD;ESt0FM;;IAEE,8BAAsC;ETw0F9C;ESv1FM;IAAgC,uBAA4B;ET01FlE;ESz1FM;;IAEE,2BAAoC;ET21F5C;ESz1FM;;IAEE,6BAAwC;ET21FhD;ESz1FM;;IAEE,8BAA0C;ET21FlD;ESz1FM;;IAEE,4BAAsC;ET21F9C;ES12FM;IAAgC,qBAA4B;ET62FlE;ES52FM;;IAEE,yBAAoC;ET82F5C;ES52FM;;IAEE,2BAAwC;ET82FhD;ES52FM;;IAEE,4BAA0C;ET82FlD;ES52FM;;IAEE,0BAAsC;ET82F9C;ES73FM;IAAgC,2BAA4B;ETg4FlE;ES/3FM;;IAEE,+BAAoC;ETi4F5C;ES/3FM;;IAEE,iCAAwC;ETi4FhD;ES/3FM;;IAEE,kCAA0C;ETi4FlD;ES/3FM;;IAEE,gCAAsC;ETi4F9C;ESh5FM;IAAgC,0BAA4B;ETm5FlE;ESl5FM;;IAEE,8BAAoC;ETo5F5C;ESl5FM;;IAEE,gCAAwC;ETo5FhD;ESl5FM;;IAEE,iCAA0C;ETo5FlD;ESl5FM;;IAEE,+BAAsC;ETo5F9C;ESn6FM;IAAgC,wBAA4B;ETs6FlE;ESr6FM;;IAEE,4BAAoC;ETu6F5C;ESr6FM;;IAEE,8BAAwC;ETu6FhD;ESr6FM;;IAEE,+BAA0C;ETu6FlD;ESr6FM;;IAEE,6BAAsC;ETu6F9C;ESt7FM;IAAgC,0BAA4B;ETy7FlE;ESx7FM;;IAEE,8BAAoC;ET07F5C;ESx7FM;;IAEE,gCAAwC;ET07FhD;ESx7FM;;IAEE,iCAA0C;ET07FlD;ESx7FM;;IAEE,+BAAsC;ET07F9C;ESz8FM;IAAgC,wBAA4B;ET48FlE;ES38FM;;IAEE,4BAAoC;ET68F5C;ES38FM;;IAEE,8BAAwC;ET68FhD;ES38FM;;IAEE,+BAA0C;ET68FlD;ES38FM;;IAEE,6BAAsC;ET68F9C;ESr8FM;IAAwB,2BAA2B;ETw8FzD;ESv8FM;;IAEE,+BAA+B;ETy8FvC;ESv8FM;;IAEE,iCAAiC;ETy8FzC;ESv8FM;;IAEE,kCAAkC;ETy8F1C;ESv8FM;;IAEE,gCAAgC;ETy8FxC;ESx9FM;IAAwB,0BAA2B;ET29FzD;ES19FM;;IAEE,8BAA+B;ET49FvC;ES19FM;;IAEE,gCAAiC;ET49FzC;ES19FM;;IAEE,iCAAkC;ET49F1C;ES19FM;;IAEE,+BAAgC;ET49FxC;ES3+FM;IAAwB,wBAA2B;ET8+FzD;ES7+FM;;IAEE,4BAA+B;ET++FvC;ES7+FM;;IAEE,8BAAiC;ET++FzC;ES7+FM;;IAEE,+BAAkC;ET++F1C;ES7+FM;;IAEE,6BAAgC;ET++FxC;ES9/FM;IAAwB,0BAA2B;ETigGzD;EShgGM;;IAEE,8BAA+B;ETkgGvC;EShgGM;;IAEE,gCAAiC;ETkgGzC;EShgGM;;IAEE,iCAAkC;ETkgG1C;EShgGM;;IAEE,+BAAgC;ETkgGxC;ESjhGM;IAAwB,wBAA2B;ETohGzD;ESnhGM;;IAEE,4BAA+B;ETqhGvC;ESnhGM;;IAEE,8BAAiC;ETqhGzC;ESnhGM;;IAEE,+BAAkC;ETqhG1C;ESnhGM;;IAEE,6BAAgC;ETqhGxC;ES/gGE;IAAmB,uBAAuB;ETkhG5C;ESjhGE;;IAEE,2BAA2B;ETmhG/B;ESjhGE;;IAEE,6BAA6B;ETmhGjC;ESjhGE;;IAEE,8BAA8B;ETmhGlC;ESjhGE;;IAEE,4BAA4B;ETmhGhC;AACF;;AG7hGI;EMlDI;IAAgC,oBAA4B;ETolGlE;ESnlGM;;IAEE,wBAAoC;ETqlG5C;ESnlGM;;IAEE,0BAAwC;ETqlGhD;ESnlGM;;IAEE,2BAA0C;ETqlGlD;ESnlGM;;IAEE,yBAAsC;ETqlG9C;ESpmGM;IAAgC,0BAA4B;ETumGlE;EStmGM;;IAEE,8BAAoC;ETwmG5C;EStmGM;;IAEE,gCAAwC;ETwmGhD;EStmGM;;IAEE,iCAA0C;ETwmGlD;EStmGM;;IAEE,+BAAsC;ETwmG9C;ESvnGM;IAAgC,yBAA4B;ET0nGlE;ESznGM;;IAEE,6BAAoC;ET2nG5C;ESznGM;;IAEE,+BAAwC;ET2nGhD;ESznGM;;IAEE,gCAA0C;ET2nGlD;ESznGM;;IAEE,8BAAsC;ET2nG9C;ES1oGM;IAAgC,uBAA4B;ET6oGlE;ES5oGM;;IAEE,2BAAoC;ET8oG5C;ES5oGM;;IAEE,6BAAwC;ET8oGhD;ES5oGM;;IAEE,8BAA0C;ET8oGlD;ES5oGM;;IAEE,4BAAsC;ET8oG9C;ES7pGM;IAAgC,yBAA4B;ETgqGlE;ES/pGM;;IAEE,6BAAoC;ETiqG5C;ES/pGM;;IAEE,+BAAwC;ETiqGhD;ES/pGM;;IAEE,gCAA0C;ETiqGlD;ES/pGM;;IAEE,8BAAsC;ETiqG9C;EShrGM;IAAgC,uBAA4B;ETmrGlE;ESlrGM;;IAEE,2BAAoC;ETorG5C;ESlrGM;;IAEE,6BAAwC;ETorGhD;ESlrGM;;IAEE,8BAA0C;ETorGlD;ESlrGM;;IAEE,4BAAsC;ETorG9C;ESnsGM;IAAgC,qBAA4B;ETssGlE;ESrsGM;;IAEE,yBAAoC;ETusG5C;ESrsGM;;IAEE,2BAAwC;ETusGhD;ESrsGM;;IAEE,4BAA0C;ETusGlD;ESrsGM;;IAEE,0BAAsC;ETusG9C;ESttGM;IAAgC,2BAA4B;ETytGlE;ESxtGM;;IAEE,+BAAoC;ET0tG5C;ESxtGM;;IAEE,iCAAwC;ET0tGhD;ESxtGM;;IAEE,kCAA0C;ET0tGlD;ESxtGM;;IAEE,gCAAsC;ET0tG9C;ESzuGM;IAAgC,0BAA4B;ET4uGlE;ES3uGM;;IAEE,8BAAoC;ET6uG5C;ES3uGM;;IAEE,gCAAwC;ET6uGhD;ES3uGM;;IAEE,iCAA0C;ET6uGlD;ES3uGM;;IAEE,+BAAsC;ET6uG9C;ES5vGM;IAAgC,wBAA4B;ET+vGlE;ES9vGM;;IAEE,4BAAoC;ETgwG5C;ES9vGM;;IAEE,8BAAwC;ETgwGhD;ES9vGM;;IAEE,+BAA0C;ETgwGlD;ES9vGM;;IAEE,6BAAsC;ETgwG9C;ES/wGM;IAAgC,0BAA4B;ETkxGlE;ESjxGM;;IAEE,8BAAoC;ETmxG5C;ESjxGM;;IAEE,gCAAwC;ETmxGhD;ESjxGM;;IAEE,iCAA0C;ETmxGlD;ESjxGM;;IAEE,+BAAsC;ETmxG9C;ESlyGM;IAAgC,wBAA4B;ETqyGlE;ESpyGM;;IAEE,4BAAoC;ETsyG5C;ESpyGM;;IAEE,8BAAwC;ETsyGhD;ESpyGM;;IAEE,+BAA0C;ETsyGlD;ESpyGM;;IAEE,6BAAsC;ETsyG9C;ES9xGM;IAAwB,2BAA2B;ETiyGzD;EShyGM;;IAEE,+BAA+B;ETkyGvC;EShyGM;;IAEE,iCAAiC;ETkyGzC;EShyGM;;IAEE,kCAAkC;ETkyG1C;EShyGM;;IAEE,gCAAgC;ETkyGxC;ESjzGM;IAAwB,0BAA2B;ETozGzD;ESnzGM;;IAEE,8BAA+B;ETqzGvC;ESnzGM;;IAEE,gCAAiC;ETqzGzC;ESnzGM;;IAEE,iCAAkC;ETqzG1C;ESnzGM;;IAEE,+BAAgC;ETqzGxC;ESp0GM;IAAwB,wBAA2B;ETu0GzD;ESt0GM;;IAEE,4BAA+B;ETw0GvC;ESt0GM;;IAEE,8BAAiC;ETw0GzC;ESt0GM;;IAEE,+BAAkC;ETw0G1C;ESt0GM;;IAEE,6BAAgC;ETw0GxC;ESv1GM;IAAwB,0BAA2B;ET01GzD;ESz1GM;;IAEE,8BAA+B;ET21GvC;ESz1GM;;IAEE,gCAAiC;ET21GzC;ESz1GM;;IAEE,iCAAkC;ET21G1C;ESz1GM;;IAEE,+BAAgC;ET21GxC;ES12GM;IAAwB,wBAA2B;ET62GzD;ES52GM;;IAEE,4BAA+B;ET82GvC;ES52GM;;IAEE,8BAAiC;ET82GzC;ES52GM;;IAEE,+BAAkC;ET82G1C;ES52GM;;IAEE,6BAAgC;ET82GxC;ESx2GE;IAAmB,uBAAuB;ET22G5C;ES12GE;;IAEE,2BAA2B;ET42G/B;ES12GE;;IAEE,6BAA6B;ET42GjC;ES12GE;;IAEE,8BAA8B;ET42GlC;ES12GE;;IAEE,4BAA4B;ET42GhC;AACF","file":"bootstrap-grid.css","sourcesContent":["/*!\n * Bootstrap Grid v4.6.1 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/deprecate\";\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n\n@import \"grid\";\n@import \"utilities/display\";\n@import \"utilities/flex\";\n@import \"utilities/spacing\";\n","/*!\n * Bootstrap Grid v4.6.1 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container,\n.container-fluid,\n.container-sm,\n.container-md,\n.container-lg,\n.container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.row-cols-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 13;\n}\n\n.order-0 {\n order: 0;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 13;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-md-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 13;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 13;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 13;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important;\n }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important;\n }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important;\n }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important;\n }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important;\n }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important;\n }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important;\n }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important;\n }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n\n\n// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($gutter: $grid-gutter-width) {\n width: 100%;\n padding-right: $gutter * .5;\n padding-left: $gutter * .5;\n margin-right: auto;\n margin-left: auto;\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter * .5;\n margin-left: -$gutter * .5;\n}\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n @include deprecate(\"The `make-container-max-widths` mixin\", \"v4.5.2\", \"v5\");\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter * .5;\n padding-left: $gutter * .5;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage(divide($size, $columns));\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage(divide($size, $columns));\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: divide($size, $columns);\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 divide(100%, $count);\n max-width: divide(100%, $count);\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n$grays: map-merge(\n (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n ),\n $grays\n);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n$colors: map-merge(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n$theme-colors: map-merge(\n (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\", \"%3c\"),\n (\">\", \"%3e\"),\n (\"#\", \"%23\"),\n (\"(\", \"%28\"),\n (\")\", \"%29\"),\n) !default;\n\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-prefers-reduced-motion-media-query: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-print-styles: true !default;\n$enable-responsive-font-sizes: false !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: () !default;\n$spacers: map-merge(\n (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n ),\n $spacers\n);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n$sizes: map-merge(\n (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%,\n auto: auto\n ),\n $sizes\n);\n\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n$grid-row-columns: 6 !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n$embed-responsive-aspect-ratios: () !default;\n$embed-responsive-aspect-ratios: join(\n (\n (21 9),\n (16 9),\n (4 3),\n (1 1),\n ),\n $embed-responsive-aspect-ratios\n);\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: $font-size-base * 1.25 !default;\n$font-size-sm: $font-size-base * .875 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: $spacer * .5 !default;\n$headings-font-family: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-small-font-size: $small-font-size !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-color: $body-color !default;\n$table-bg: null !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-color: $table-color !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n$table-th-font-weight: null !default;\n\n$table-dark-color: $white !default;\n$table-dark-bg: $gray-800 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-color: $table-dark-color !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n$table-border-level: -6 !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y * .5) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height-sm * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height-lg * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-grid-gutter-width: 10px !default;\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$custom-control-gutter: .5rem !default;\n$custom-control-spacer-x: 1rem !default;\n$custom-control-cursor: null !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $input-bg !default;\n\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: $input-box-shadow !default;\n$custom-control-indicator-border-color: $gray-500 !default;\n$custom-control-indicator-border-width: $input-border-width !default;\n\n$custom-control-label-color: null !default;\n\n$custom-control-indicator-disabled-bg: $input-disabled-bg !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: null !default;\n$custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default;\n\n$custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-control-indicator-focus-border-color: $input-focus-border-color !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: null !default;\n$custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/></svg>\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'><path stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/></svg>\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: null !default;\n$custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'><circle r='3' fill='#{$custom-control-indicator-checked-color}'/></svg>\") !default;\n\n$custom-switch-width: $custom-control-indicator-size * 1.75 !default;\n$custom-switch-indicator-border-radius: $custom-control-indicator-size * .5 !default;\n$custom-switch-indicator-size: subtract($custom-control-indicator-size, $custom-control-indicator-border-width * 4) !default;\n\n$custom-select-padding-y: $input-padding-y !default;\n$custom-select-padding-x: $input-padding-x !default;\n$custom-select-font-family: $input-font-family !default;\n$custom-select-font-size: $input-font-size !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-font-weight: $input-font-weight !default;\n$custom-select-line-height: $input-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $input-bg !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'><path fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/></svg>\") !default;\n$custom-select-background: escape-svg($custom-select-indicator) right $custom-select-padding-x center / $custom-select-bg-size no-repeat !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n\n$custom-select-feedback-icon-padding-right: add(1em * .75, (2 * $custom-select-padding-y * .75) + $custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$custom-select-border-width: $input-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n$custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-width: $input-focus-width !default;\n$custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width $input-btn-focus-color !default;\n\n$custom-select-padding-y-sm: $input-padding-y-sm !default;\n$custom-select-padding-x-sm: $input-padding-x-sm !default;\n$custom-select-font-size-sm: $input-font-size-sm !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-padding-y-lg: $input-padding-y-lg !default;\n$custom-select-padding-x-lg: $input-padding-x-lg !default;\n$custom-select-font-size-lg: $input-font-size-lg !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-range-track-width: 100% !default;\n$custom-range-track-height: .5rem !default;\n$custom-range-track-cursor: pointer !default;\n$custom-range-track-bg: $gray-300 !default;\n$custom-range-track-border-radius: 1rem !default;\n$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-range-thumb-width: 1rem !default;\n$custom-range-thumb-height: $custom-range-thumb-width !default;\n$custom-range-thumb-bg: $component-active-bg !default;\n$custom-range-thumb-border: 0 !default;\n$custom-range-thumb-border-radius: 1rem !default;\n$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$custom-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge\n$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-range-thumb-disabled-bg: $gray-500 !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-height-inner: $input-height-inner !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-file-disabled-bg: $input-disabled-bg !default;\n\n$custom-file-padding-y: $input-padding-y !default;\n$custom-file-padding-x: $input-padding-x !default;\n$custom-file-line-height: $input-line-height !default;\n$custom-file-font-family: $input-font-family !default;\n$custom-file-font-weight: $input-font-weight !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/></svg>\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n\n$form-validation-states: () !default;\n$form-validation-states: map-merge(\n (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n ),\n ),\n $form-validation-states\n);\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-divider-color: $gray-200 !default;\n$nav-divider-margin-y: $spacer * .5 !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer * .5 !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) * .5 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-nav-scroll-max-height: 75vh !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-x: 0 !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-divider-margin-y: $nav-divider-margin-y !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-200 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-500 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;\n\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n$pagination-border-radius-sm: $border-radius-sm !default;\n$pagination-border-radius-lg: $border-radius-lg !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-color: null !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: $grid-gutter-width * .5 !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: $line-height-base !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .25rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: .25rem !default;\n$toast-box-shadow: 0 .25rem .75rem rgba($black, .1) !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-transition: $btn-transition !default;\n$badge-focus-width: $input-btn-focus-width !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: 1rem !default;\n$modal-header-padding-x: 1rem !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-xl: 1140px !default;\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-font-size: null !default;\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' width='8' height='8' viewBox='0 0 8 8'><path d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/></svg>\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' width='8' height='8' viewBox='0 0 8 8'><path d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/></svg>\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-vertical-align: -.125em !default;\n$spinner-border-width: .25em !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Utilities\n\n$displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;\n$overflows: auto, hidden !default;\n$positions: static, relative, absolute, fixed, sticky !default;\n$user-selects: all, auto, none !default;\n\n\n// Printing\n\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter * .5;\n padding-left: $gutter * .5;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @if $columns > 0 {\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n }\n\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n @if $columns > 0 {\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n }\n}\n","// Bootstrap functions\n//\n// Utility mixins and functions for evaluating source code across our variables, maps, and mixins.\n\n// Ascending\n// Used to evaluate Sass maps like our grid breakpoints.\n@mixin _assert-ascending($map, $map-name) {\n $prev-key: null;\n $prev-num: null;\n @each $key, $num in $map {\n @if $prev-num == null or unit($num) == \"%\" or unit($prev-num) == \"%\" {\n // Do nothing\n } @else if not comparable($prev-num, $num) {\n @warn \"Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n } @else if $prev-num >= $num {\n @warn \"Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n }\n $prev-key: $key;\n $prev-num: $num;\n }\n}\n\n// Starts at zero\n// Used to ensure the min-width of the lowest breakpoint starts at 0.\n@mixin _assert-starts-at-zero($map, $map-name: \"$grid-breakpoints\") {\n @if length($map) > 0 {\n $values: map-values($map);\n $first-value: nth($values, 1);\n @if $first-value != 0 {\n @warn \"First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.\";\n }\n }\n}\n\n// Replace `$search` with `$replace` in `$string`\n// Used on our SVG icon backgrounds for custom forms.\n//\n// @author Hugo Giraudel\n// @param {String} $string - Initial string\n// @param {String} $search - Substring to replace\n// @param {String} $replace ('') - New value\n// @return {String} - Updated string\n@function str-replace($string, $search, $replace: \"\") {\n $index: str-index($string, $search);\n\n @if $index {\n @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);\n }\n\n @return $string;\n}\n\n// See https://codepen.io/kevinweber/pen/dXWoRw\n//\n// Requires the use of quotes around data URIs.\n\n@function escape-svg($string) {\n @if str-index($string, \"data:image/svg+xml\") {\n @each $char, $encoded in $escaped-characters {\n // Do not escape the url brackets\n @if str-index($string, \"url(\") == 1 {\n $string: url(\"#{str-replace(str-slice($string, 6, -3), $char, $encoded)}\");\n } @else {\n $string: str-replace($string, $char, $encoded);\n }\n }\n }\n\n @return $string;\n}\n\n// Color contrast\n@function color-yiq($color, $dark: $yiq-text-dark, $light: $yiq-text-light) {\n $r: red($color);\n $g: green($color);\n $b: blue($color);\n\n $yiq: (($r * 299) + ($g * 587) + ($b * 114)) * .001;\n\n @if ($yiq >= $yiq-contrasted-threshold) {\n @return $dark;\n } @else {\n @return $light;\n }\n}\n\n// Retrieve color Sass maps\n@function color($key: \"blue\") {\n @return map-get($colors, $key);\n}\n\n@function theme-color($key: \"primary\") {\n @return map-get($theme-colors, $key);\n}\n\n@function gray($key: \"100\") {\n @return map-get($grays, $key);\n}\n\n// Request a theme color level\n@function theme-color-level($color-name: \"primary\", $level: 0) {\n $color: theme-color($color-name);\n $color-base: if($level > 0, $black, $white);\n $level: abs($level);\n\n @return mix($color-base, $color, $level * $theme-color-interval);\n}\n\n// Return valid calc\n@function add($value1, $value2, $return-calc: true) {\n @if $value1 == null {\n @return $value2;\n }\n\n @if $value2 == null {\n @return $value1;\n }\n\n @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {\n @return $value1 + $value2;\n }\n\n @return if($return-calc == true, calc(#{$value1} + #{$value2}), $value1 + unquote(\" + \") + $value2);\n}\n\n@function subtract($value1, $value2, $return-calc: true) {\n @if $value1 == null and $value2 == null {\n @return null;\n }\n\n @if $value1 == null {\n @return -$value2;\n }\n\n @if $value2 == null {\n @return $value1;\n }\n\n @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {\n @return $value1 - $value2;\n }\n\n @if type-of($value2) != number {\n $value2: unquote(\"(\") + $value2 + unquote(\")\");\n }\n\n @return if($return-calc == true, calc(#{$value1} - #{$value2}), $value1 + unquote(\" - \") + $value2);\n}\n\n@function divide($dividend, $divisor, $precision: 10) {\n $sign: if($dividend > 0 and $divisor > 0 or $dividend < 0 and $divisor < 0, 1, -1);\n $dividend: abs($dividend);\n $divisor: abs($divisor);\n @if $dividend == 0 {\n @return 0;\n }\n @if $divisor == 0 {\n @error \"Cannot divide by 0\";\n }\n $remainder: $dividend;\n $result: 0;\n $factor: 10;\n @while ($remainder > 0 and $precision >= 0) {\n $quotient: 0;\n @while ($remainder >= $divisor) {\n $remainder: $remainder - $divisor;\n $quotient: $quotient + 1;\n }\n $result: $result * 10 + $quotient;\n $factor: $factor * .1;\n $remainder: $remainder * 10;\n $precision: $precision - 1;\n @if ($precision < 0 and $remainder >= $divisor * 5) {\n $result: $result + 1;\n }\n }\n $result: $result * $factor * $sign;\n $dividend-unit: unit($dividend);\n $divisor-unit: unit($divisor);\n $unit-map: (\n \"px\": 1px,\n \"rem\": 1rem,\n \"em\": 1em,\n \"%\": 1%\n );\n @if ($dividend-unit != $divisor-unit and map-has-key($unit-map, $dividend-unit)) {\n $result: $result * map-get($unit-map, $dividend-unit);\n }\n @return $result;\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $value in $displays {\n .d#{$infix}-#{$value} { display: $value !important; }\n }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n @each $value in $displays {\n .d-print-#{$value} { display: $value !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n .flex#{$infix}-fill { flex: 1 1 auto !important; }\n .flex#{$infix}-grow-0 { flex-grow: 0 !important; }\n .flex#{$infix}-grow-1 { flex-grow: 1 !important; }\n .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }\n .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Margin and Padding\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $prop, $abbrev in (margin: m, padding: p) {\n @each $size, $length in $spacers {\n .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\n .#{$abbrev}t#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-top: $length !important;\n }\n .#{$abbrev}r#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-right: $length !important;\n }\n .#{$abbrev}b#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-bottom: $length !important;\n }\n .#{$abbrev}l#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-left: $length !important;\n }\n }\n }\n\n // Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`)\n @each $size, $length in $spacers {\n @if \"#{$size}\" != \"0\" {\n .m#{$infix}-n#{$size} { margin: -$length !important; }\n .mt#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-top: -$length !important;\n }\n .mr#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-right: -$length !important;\n }\n .mb#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-bottom: -$length !important;\n }\n .ml#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-left: -$length !important;\n }\n }\n }\n\n // Some special margin utils\n .m#{$infix}-auto { margin: auto !important; }\n .mt#{$infix}-auto,\n .my#{$infix}-auto {\n margin-top: auto !important;\n }\n .mr#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-right: auto !important;\n }\n .mb#{$infix}-auto,\n .my#{$infix}-auto {\n margin-bottom: auto !important;\n }\n .ml#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-left: auto !important;\n }\n }\n}\n"]}
|
vendor/bootstrap/dist/css/bootstrap-grid.min.css
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
Â
/*!
|
2 |
-
* Bootstrap Grid v4.
|
3 |
-
* Copyright 2011-
|
4 |
-
* Copyright 2011-
|
5 |
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/
|
6 |
-
*/@-ms-viewport{width:device-width}html{box-sizing:border-box;-ms-overflow-style:scrollbar}*,::after,::before{box-sizing:inherit}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-1{-webkit-box-flex:0;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-webkit-box-flex:0;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-webkit-box-flex:0;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-webkit-box-flex:0;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-webkit-box-flex:0;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-webkit-box-flex:0;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-webkit-box-flex:0;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-webkit-box-flex:0;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-sm-1{-webkit-box-flex:0;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-webkit-box-flex:0;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-webkit-box-flex:0;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-webkit-box-flex:0;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-webkit-box-flex:0;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-webkit-box-flex:0;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-webkit-box-flex:0;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-webkit-box-flex:0;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-sm-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-sm-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-sm-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-sm-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-sm-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-sm-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-sm-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-sm-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-sm-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-sm-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-sm-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-sm-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-sm-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-sm-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-md-1{-webkit-box-flex:0;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-webkit-box-flex:0;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-webkit-box-flex:0;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-webkit-box-flex:0;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-webkit-box-flex:0;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-webkit-box-flex:0;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-webkit-box-flex:0;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-webkit-box-flex:0;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-md-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-md-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-md-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-md-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-md-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-md-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-md-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-md-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-md-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-md-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-md-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-md-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-md-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-md-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-lg-1{-webkit-box-flex:0;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-webkit-box-flex:0;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-webkit-box-flex:0;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-webkit-box-flex:0;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-webkit-box-flex:0;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-webkit-box-flex:0;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-webkit-box-flex:0;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-webkit-box-flex:0;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-lg-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-lg-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-lg-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-lg-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-lg-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-lg-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-lg-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-lg-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-lg-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-lg-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-lg-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-lg-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-lg-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-lg-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-xl-1{-webkit-box-flex:0;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-webkit-box-flex:0;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-webkit-box-flex:0;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-webkit-box-flex:0;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-webkit-box-flex:0;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-webkit-box-flex:0;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-webkit-box-flex:0;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-webkit-box-flex:0;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-xl-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-xl-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-xl-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-xl-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-xl-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-xl-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-xl-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-xl-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-xl-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-xl-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-xl-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-xl-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-xl-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-xl-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}.flex-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-sm-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-md-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-lg-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-xl-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}
|
7 |
Â
/*# sourceMappingURL=bootstrap-grid.min.css.map */
|
1 |
Â
/*!
|
2 |
+
* Bootstrap Grid v4.6.1 (https://getbootstrap.com/)
|
3 |
+
* Copyright 2011-2021 The Bootstrap Authors
|
4 |
+
* Copyright 2011-2021 Twitter, Inc.
|
5 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
6 |
+
*/html{box-sizing:border-box;-ms-overflow-style:scrollbar}*,::after,::before{box-sizing:inherit}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-sm-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-md-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-md-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-md-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-md-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-md-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-lg-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-xl-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}
|
7 |
Â
/*# sourceMappingURL=bootstrap-grid.min.css.map */
|
vendor/bootstrap/dist/css/bootstrap-grid.min.css.map
CHANGED
@@ -1 +1 @@
|
|
1 |
-
{"version":3,"sources":["../../scss/bootstrap-grid.scss","dist/css/bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Grid v4.0.0 (https://getbootstrap.com)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n@at-root {\n @-ms-viewport { width: device-width; } // stylelint-disable-line at-rule-no-vendor-prefix\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n\n@import \"grid\";\n@import \"utilities/display\";\n@import \"utilities/flex\";\n","/*!\n * Bootstrap Grid v4.0.0 (https://getbootstrap.com)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n@-ms-viewport {\n width: device-width;\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.row {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n}\n\n.col-1 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n -webkit-box-ordinal-group: 0;\n -ms-flex-order: -1;\n order: -1;\n}\n\n.order-last {\n -webkit-box-ordinal-group: 14;\n -ms-flex-order: 13;\n order: 13;\n}\n\n.order-0 {\n -webkit-box-ordinal-group: 1;\n -ms-flex-order: 0;\n order: 0;\n}\n\n.order-1 {\n -webkit-box-ordinal-group: 2;\n -ms-flex-order: 1;\n order: 1;\n}\n\n.order-2 {\n -webkit-box-ordinal-group: 3;\n -ms-flex-order: 2;\n order: 2;\n}\n\n.order-3 {\n -webkit-box-ordinal-group: 4;\n -ms-flex-order: 3;\n order: 3;\n}\n\n.order-4 {\n -webkit-box-ordinal-group: 5;\n -ms-flex-order: 4;\n order: 4;\n}\n\n.order-5 {\n -webkit-box-ordinal-group: 6;\n -ms-flex-order: 5;\n order: 5;\n}\n\n.order-6 {\n -webkit-box-ordinal-group: 7;\n -ms-flex-order: 6;\n order: 6;\n}\n\n.order-7 {\n -webkit-box-ordinal-group: 8;\n -ms-flex-order: 7;\n order: 7;\n}\n\n.order-8 {\n -webkit-box-ordinal-group: 9;\n -ms-flex-order: 8;\n order: 8;\n}\n\n.order-9 {\n -webkit-box-ordinal-group: 10;\n -ms-flex-order: 9;\n order: 9;\n}\n\n.order-10 {\n -webkit-box-ordinal-group: 11;\n -ms-flex-order: 10;\n order: 10;\n}\n\n.order-11 {\n -webkit-box-ordinal-group: 12;\n -ms-flex-order: 11;\n order: 11;\n}\n\n.order-12 {\n -webkit-box-ordinal-group: 13;\n -ms-flex-order: 12;\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-sm-1 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n -webkit-box-ordinal-group: 0;\n -ms-flex-order: -1;\n order: -1;\n }\n .order-sm-last {\n -webkit-box-ordinal-group: 14;\n -ms-flex-order: 13;\n order: 13;\n }\n .order-sm-0 {\n -webkit-box-ordinal-group: 1;\n -ms-flex-order: 0;\n order: 0;\n }\n .order-sm-1 {\n -webkit-box-ordinal-group: 2;\n -ms-flex-order: 1;\n order: 1;\n }\n .order-sm-2 {\n -webkit-box-ordinal-group: 3;\n -ms-flex-order: 2;\n order: 2;\n }\n .order-sm-3 {\n -webkit-box-ordinal-group: 4;\n -ms-flex-order: 3;\n order: 3;\n }\n .order-sm-4 {\n -webkit-box-ordinal-group: 5;\n -ms-flex-order: 4;\n order: 4;\n }\n .order-sm-5 {\n -webkit-box-ordinal-group: 6;\n -ms-flex-order: 5;\n order: 5;\n }\n .order-sm-6 {\n -webkit-box-ordinal-group: 7;\n -ms-flex-order: 6;\n order: 6;\n }\n .order-sm-7 {\n -webkit-box-ordinal-group: 8;\n -ms-flex-order: 7;\n order: 7;\n }\n .order-sm-8 {\n -webkit-box-ordinal-group: 9;\n -ms-flex-order: 8;\n order: 8;\n }\n .order-sm-9 {\n -webkit-box-ordinal-group: 10;\n -ms-flex-order: 9;\n order: 9;\n }\n .order-sm-10 {\n -webkit-box-ordinal-group: 11;\n -ms-flex-order: 10;\n order: 10;\n }\n .order-sm-11 {\n -webkit-box-ordinal-group: 12;\n -ms-flex-order: 11;\n order: 11;\n }\n .order-sm-12 {\n -webkit-box-ordinal-group: 13;\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-md-1 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n -webkit-box-ordinal-group: 0;\n -ms-flex-order: -1;\n order: -1;\n }\n .order-md-last {\n -webkit-box-ordinal-group: 14;\n -ms-flex-order: 13;\n order: 13;\n }\n .order-md-0 {\n -webkit-box-ordinal-group: 1;\n -ms-flex-order: 0;\n order: 0;\n }\n .order-md-1 {\n -webkit-box-ordinal-group: 2;\n -ms-flex-order: 1;\n order: 1;\n }\n .order-md-2 {\n -webkit-box-ordinal-group: 3;\n -ms-flex-order: 2;\n order: 2;\n }\n .order-md-3 {\n -webkit-box-ordinal-group: 4;\n -ms-flex-order: 3;\n order: 3;\n }\n .order-md-4 {\n -webkit-box-ordinal-group: 5;\n -ms-flex-order: 4;\n order: 4;\n }\n .order-md-5 {\n -webkit-box-ordinal-group: 6;\n -ms-flex-order: 5;\n order: 5;\n }\n .order-md-6 {\n -webkit-box-ordinal-group: 7;\n -ms-flex-order: 6;\n order: 6;\n }\n .order-md-7 {\n -webkit-box-ordinal-group: 8;\n -ms-flex-order: 7;\n order: 7;\n }\n .order-md-8 {\n -webkit-box-ordinal-group: 9;\n -ms-flex-order: 8;\n order: 8;\n }\n .order-md-9 {\n -webkit-box-ordinal-group: 10;\n -ms-flex-order: 9;\n order: 9;\n }\n .order-md-10 {\n -webkit-box-ordinal-group: 11;\n -ms-flex-order: 10;\n order: 10;\n }\n .order-md-11 {\n -webkit-box-ordinal-group: 12;\n -ms-flex-order: 11;\n order: 11;\n }\n .order-md-12 {\n -webkit-box-ordinal-group: 13;\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-lg-1 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n -webkit-box-ordinal-group: 0;\n -ms-flex-order: -1;\n order: -1;\n }\n .order-lg-last {\n -webkit-box-ordinal-group: 14;\n -ms-flex-order: 13;\n order: 13;\n }\n .order-lg-0 {\n -webkit-box-ordinal-group: 1;\n -ms-flex-order: 0;\n order: 0;\n }\n .order-lg-1 {\n -webkit-box-ordinal-group: 2;\n -ms-flex-order: 1;\n order: 1;\n }\n .order-lg-2 {\n -webkit-box-ordinal-group: 3;\n -ms-flex-order: 2;\n order: 2;\n }\n .order-lg-3 {\n -webkit-box-ordinal-group: 4;\n -ms-flex-order: 3;\n order: 3;\n }\n .order-lg-4 {\n -webkit-box-ordinal-group: 5;\n -ms-flex-order: 4;\n order: 4;\n }\n .order-lg-5 {\n -webkit-box-ordinal-group: 6;\n -ms-flex-order: 5;\n order: 5;\n }\n .order-lg-6 {\n -webkit-box-ordinal-group: 7;\n -ms-flex-order: 6;\n order: 6;\n }\n .order-lg-7 {\n -webkit-box-ordinal-group: 8;\n -ms-flex-order: 7;\n order: 7;\n }\n .order-lg-8 {\n -webkit-box-ordinal-group: 9;\n -ms-flex-order: 8;\n order: 8;\n }\n .order-lg-9 {\n -webkit-box-ordinal-group: 10;\n -ms-flex-order: 9;\n order: 9;\n }\n .order-lg-10 {\n -webkit-box-ordinal-group: 11;\n -ms-flex-order: 10;\n order: 10;\n }\n .order-lg-11 {\n -webkit-box-ordinal-group: 12;\n -ms-flex-order: 11;\n order: 11;\n }\n .order-lg-12 {\n -webkit-box-ordinal-group: 13;\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-xl-1 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n -webkit-box-ordinal-group: 0;\n -ms-flex-order: -1;\n order: -1;\n }\n .order-xl-last {\n -webkit-box-ordinal-group: 14;\n -ms-flex-order: 13;\n order: 13;\n }\n .order-xl-0 {\n -webkit-box-ordinal-group: 1;\n -ms-flex-order: 0;\n order: 0;\n }\n .order-xl-1 {\n -webkit-box-ordinal-group: 2;\n -ms-flex-order: 1;\n order: 1;\n }\n .order-xl-2 {\n -webkit-box-ordinal-group: 3;\n -ms-flex-order: 2;\n order: 2;\n }\n .order-xl-3 {\n -webkit-box-ordinal-group: 4;\n -ms-flex-order: 3;\n order: 3;\n }\n .order-xl-4 {\n -webkit-box-ordinal-group: 5;\n -ms-flex-order: 4;\n order: 4;\n }\n .order-xl-5 {\n -webkit-box-ordinal-group: 6;\n -ms-flex-order: 5;\n order: 5;\n }\n .order-xl-6 {\n -webkit-box-ordinal-group: 7;\n -ms-flex-order: 6;\n order: 6;\n }\n .order-xl-7 {\n -webkit-box-ordinal-group: 8;\n -ms-flex-order: 7;\n order: 7;\n }\n .order-xl-8 {\n -webkit-box-ordinal-group: 9;\n -ms-flex-order: 8;\n order: 8;\n }\n .order-xl-9 {\n -webkit-box-ordinal-group: 10;\n -ms-flex-order: 9;\n order: 9;\n }\n .order-xl-10 {\n -webkit-box-ordinal-group: 11;\n -ms-flex-order: 10;\n order: 10;\n }\n .order-xl-11 {\n -webkit-box-ordinal-group: 12;\n -ms-flex-order: 11;\n order: 11;\n }\n .order-xl-12 {\n -webkit-box-ordinal-group: 13;\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: -webkit-box !important;\n display: -ms-flexbox !important;\n display: flex !important;\n}\n\n.d-inline-flex {\n display: -webkit-inline-box !important;\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: -webkit-box !important;\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: -webkit-inline-box !important;\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: -webkit-box !important;\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-md-inline-flex {\n display: -webkit-inline-box !important;\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: -webkit-box !important;\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: -webkit-inline-box !important;\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: -webkit-box !important;\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: -webkit-inline-box !important;\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: -webkit-box !important;\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-print-inline-flex {\n display: -webkit-inline-box !important;\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n.flex-row {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: normal !important;\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n}\n\n.flex-column {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: normal !important;\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: reverse !important;\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: reverse !important;\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n -webkit-box-pack: start !important;\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n -webkit-box-pack: end !important;\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n -webkit-box-pack: center !important;\n -ms-flex-pack: center !important;\n justify-content: center !important;\n}\n\n.justify-content-between {\n -webkit-box-pack: justify !important;\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n}\n\n.align-items-start {\n -webkit-box-align: start !important;\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n}\n\n.align-items-end {\n -webkit-box-align: end !important;\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n}\n\n.align-items-center {\n -webkit-box-align: center !important;\n -ms-flex-align: center !important;\n align-items: center !important;\n}\n\n.align-items-baseline {\n -webkit-box-align: baseline !important;\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n -webkit-box-align: stretch !important;\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n}\n\n.align-content-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n}\n\n.align-content-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n}\n\n.align-content-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n}\n\n.align-content-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n}\n\n.align-content-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n}\n\n.align-self-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n}\n\n.align-self-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n}\n\n.align-self-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n}\n\n.align-self-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n}\n\n.align-self-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: normal !important;\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-sm-column {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: normal !important;\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: reverse !important;\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: reverse !important;\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n -webkit-box-pack: start !important;\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n -webkit-box-pack: end !important;\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n -webkit-box-pack: center !important;\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-sm-between {\n -webkit-box-pack: justify !important;\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n -webkit-box-align: start !important;\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n -webkit-box-align: end !important;\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n -webkit-box-align: center !important;\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-sm-baseline {\n -webkit-box-align: baseline !important;\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n -webkit-box-align: stretch !important;\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-sm-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-sm-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-sm-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-sm-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-sm-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: normal !important;\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-md-column {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: normal !important;\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: reverse !important;\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: reverse !important;\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n -webkit-box-pack: start !important;\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n -webkit-box-pack: end !important;\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n -webkit-box-pack: center !important;\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-md-between {\n -webkit-box-pack: justify !important;\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-md-start {\n -webkit-box-align: start !important;\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-md-end {\n -webkit-box-align: end !important;\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-md-center {\n -webkit-box-align: center !important;\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-md-baseline {\n -webkit-box-align: baseline !important;\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n -webkit-box-align: stretch !important;\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-md-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-md-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-md-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-md-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-md-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-md-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-md-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-md-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-md-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-md-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: normal !important;\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-lg-column {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: normal !important;\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: reverse !important;\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: reverse !important;\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n -webkit-box-pack: start !important;\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n -webkit-box-pack: end !important;\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n -webkit-box-pack: center !important;\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-lg-between {\n -webkit-box-pack: justify !important;\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n -webkit-box-align: start !important;\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n -webkit-box-align: end !important;\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n -webkit-box-align: center !important;\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-lg-baseline {\n -webkit-box-align: baseline !important;\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n -webkit-box-align: stretch !important;\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-lg-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-lg-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-lg-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-lg-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-lg-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: normal !important;\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-xl-column {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: normal !important;\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: reverse !important;\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: reverse !important;\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n -webkit-box-pack: start !important;\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n -webkit-box-pack: end !important;\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n -webkit-box-pack: center !important;\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-xl-between {\n -webkit-box-pack: justify !important;\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n -webkit-box-align: start !important;\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n -webkit-box-align: end !important;\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n -webkit-box-align: center !important;\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-xl-baseline {\n -webkit-box-align: baseline !important;\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n -webkit-box-align: stretch !important;\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-xl-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-xl-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-xl-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-xl-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-xl-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n .container-fluid {\n @include make-container();\n }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container() {\n width: 100%;\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row() {\n display: flex;\n flex-wrap: wrap;\n margin-right: ($grid-gutter-width / -2);\n margin-left: ($grid-gutter-width / -2);\n}\n\n@mixin make-col-ready() {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n min-height: 1px; // Prevent collapsing\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02px, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n min-height: 1px; // Prevent columns from collapsing when empty\n padding-right: ($gutter / 2);\n padding-left: ($gutter / 2);\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .d#{$infix}-none { display: none !important; }\n .d#{$infix}-inline { display: inline !important; }\n .d#{$infix}-inline-block { display: inline-block !important; }\n .d#{$infix}-block { display: block !important; }\n .d#{$infix}-table { display: table !important; }\n .d#{$infix}-table-row { display: table-row !important; }\n .d#{$infix}-table-cell { display: table-cell !important; }\n .d#{$infix}-flex { display: flex !important; }\n .d#{$infix}-inline-flex { display: inline-flex !important; }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n .d-print-none { display: none !important; }\n .d-print-inline { display: inline !important; }\n .d-print-inline-block { display: inline-block !important; }\n .d-print-block { display: block !important; }\n .d-print-table { display: table !important; }\n .d-print-table-row { display: table-row !important; }\n .d-print-table-cell { display: table-cell !important; }\n .d-print-flex { display: flex !important; }\n .d-print-inline-flex { display: inline-flex !important; }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n"]}
|
1 |
+
{"version":3,"sources":["../../scss/bootstrap-grid.scss","dist/css/bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_spacing.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Grid v4.6.1 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/deprecate\";\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n\n@import \"grid\";\n@import \"utilities/display\";\n@import \"utilities/flex\";\n@import \"utilities/spacing\";\n","/*!\n * Bootstrap Grid v4.6.1 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container,\n.container-fluid,\n.container-sm,\n.container-md,\n.container-lg,\n.container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.row-cols-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.row-cols-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.row-cols-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.row-cols-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.row-cols-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n}\n\n.row-cols-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n -ms-flex-order: -1;\n order: -1;\n}\n\n.order-last {\n -ms-flex-order: 13;\n order: 13;\n}\n\n.order-0 {\n -ms-flex-order: 0;\n order: 0;\n}\n\n.order-1 {\n -ms-flex-order: 1;\n order: 1;\n}\n\n.order-2 {\n -ms-flex-order: 2;\n order: 2;\n}\n\n.order-3 {\n -ms-flex-order: 3;\n order: 3;\n}\n\n.order-4 {\n -ms-flex-order: 4;\n order: 4;\n}\n\n.order-5 {\n -ms-flex-order: 5;\n order: 5;\n}\n\n.order-6 {\n -ms-flex-order: 6;\n order: 6;\n}\n\n.order-7 {\n -ms-flex-order: 7;\n order: 7;\n}\n\n.order-8 {\n -ms-flex-order: 8;\n order: 8;\n}\n\n.order-9 {\n -ms-flex-order: 9;\n order: 9;\n}\n\n.order-10 {\n -ms-flex-order: 10;\n order: 10;\n}\n\n.order-11 {\n -ms-flex-order: 11;\n order: 11;\n}\n\n.order-12 {\n -ms-flex-order: 12;\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-sm-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-sm-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-sm-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-sm-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-sm-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-sm-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-sm-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-sm-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-sm-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-sm-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-sm-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-sm-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-sm-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-sm-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-sm-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-sm-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-sm-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-sm-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-sm-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-md-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-md-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-md-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-md-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-md-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-md-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-md-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-md-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-md-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-md-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-md-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-md-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-md-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-md-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-md-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-md-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-md-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-md-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-md-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-md-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-lg-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-lg-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-lg-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-lg-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-lg-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-lg-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-lg-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-lg-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-lg-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-lg-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-lg-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-lg-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-lg-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-lg-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-lg-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-lg-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-lg-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-lg-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-lg-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-xl-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-xl-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-xl-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-xl-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-xl-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-xl-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-xl-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-xl-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-xl-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-xl-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-xl-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-xl-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-xl-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-xl-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-xl-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-xl-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-xl-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-xl-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-xl-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n}\n\n.d-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-md-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-print-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n.flex-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n}\n\n.flex-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n}\n\n.justify-content-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n}\n\n.align-items-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n}\n\n.align-items-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n}\n\n.align-items-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n}\n\n.align-items-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n}\n\n.align-content-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n}\n\n.align-content-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n}\n\n.align-content-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n}\n\n.align-content-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n}\n\n.align-content-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n}\n\n.align-self-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n}\n\n.align-self-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n}\n\n.align-self-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n}\n\n.align-self-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n}\n\n.align-self-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-sm-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-sm-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-sm-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-sm-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-sm-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-sm-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-sm-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-sm-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-md-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-md-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-md-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-md-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-md-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-md-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-md-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-md-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-md-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-md-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-md-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-md-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-md-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-md-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-md-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-md-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-lg-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-lg-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-lg-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-lg-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-lg-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-lg-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-lg-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-lg-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-xl-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-xl-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-xl-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-xl-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-xl-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-xl-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-xl-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-xl-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important;\n }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important;\n }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important;\n }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important;\n }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important;\n }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important;\n }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important;\n }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important;\n }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n\n\n// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($gutter: $grid-gutter-width) {\n width: 100%;\n padding-right: $gutter * .5;\n padding-left: $gutter * .5;\n margin-right: auto;\n margin-left: auto;\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter * .5;\n margin-left: -$gutter * .5;\n}\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n @include deprecate(\"The `make-container-max-widths` mixin\", \"v4.5.2\", \"v5\");\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter * .5;\n padding-left: $gutter * .5;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage(divide($size, $columns));\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage(divide($size, $columns));\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: divide($size, $columns);\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 divide(100%, $count);\n max-width: divide(100%, $count);\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter * .5;\n padding-left: $gutter * .5;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @if $columns > 0 {\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n }\n\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n @if $columns > 0 {\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $value in $displays {\n .d#{$infix}-#{$value} { display: $value !important; }\n }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n @each $value in $displays {\n .d-print-#{$value} { display: $value !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n .flex#{$infix}-fill { flex: 1 1 auto !important; }\n .flex#{$infix}-grow-0 { flex-grow: 0 !important; }\n .flex#{$infix}-grow-1 { flex-grow: 1 !important; }\n .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }\n .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important;
|