Version Description
- Add: Brand new quiz wizard UI/UX
- Add: Quiz integrations
- Improvement: Countries list updated
- Improvement: Do not process fields that hidden by conditional logic
- Improvement: Allow multiple correct answers on knowledge quiz
- Fix: Form First Name autofill doesn't work
- Fix: Issue with Single Choice as Required field
- Fix: Potential self XSS vulnerability
- Multiple minor enhancements/fixes
Download this release
Release Info
Developer | jdailey |
Plugin | Forminator Payment, Quiz and Contact Form Plugin |
Version | 1.6.2 |
Comparing to | |
See all releases |
Code changes from version 1.6.1 to 1.6.2
- addons/pro/googlesheet/forminator-addon-googlesheet-quiz-hooks.php +768 -0
- addons/pro/googlesheet/forminator-addon-googlesheet-quiz-settings-exception.php +81 -0
- addons/pro/googlesheet/forminator-addon-googlesheet-quiz-settings.php +405 -0
- addons/pro/googlesheet/forminator-addon-googlesheet.php +63 -0
- addons/pro/googlesheet/googlesheet.php +3 -0
- addons/pro/googlesheet/views/quiz-settings/pick-name.php +40 -0
- addons/pro/googlesheet/views/quiz-settings/setup-sheet.php +75 -0
- addons/pro/gutenberg/library/blocks/class-block-forms.php +1 -1
- addons/pro/gutenberg/library/blocks/class-block-polls.php +1 -1
- addons/pro/gutenberg/library/blocks/class-block-quizzes.php +1 -1
- addons/pro/slack/forminator-addon-slack-quiz-hooks.php +613 -0
- addons/pro/slack/forminator-addon-slack-quiz-settings-exception.php +68 -0
- addons/pro/slack/forminator-addon-slack-quiz-settings.php +637 -0
- addons/pro/slack/forminator-addon-slack.php +63 -0
- addons/pro/slack/slack.php +3 -0
- addons/pro/slack/views/quiz-settings/pick-name.php +34 -0
- addons/pro/slack/views/quiz-settings/select-target.php +40 -0
- addons/pro/slack/views/quiz-settings/select-type.php +39 -0
- addons/pro/slack/views/quiz-settings/setup-message.php +62 -0
- addons/pro/trello/forminator-addon-trello-poll-hooks.php +142 -0
- addons/pro/trello/forminator-addon-trello-poll-settings.php +1 -0
- addons/pro/trello/forminator-addon-trello-quiz-hooks.php +697 -0
- addons/pro/trello/forminator-addon-trello-quiz-settings-exception.php +68 -0
- addons/pro/trello/forminator-addon-trello-quiz-settings.php +783 -0
- addons/pro/trello/forminator-addon-trello.php +63 -0
- addons/pro/trello/trello.php +3 -0
- addons/pro/trello/views/quiz-settings/setup-board.php +38 -0
- addons/pro/trello/views/quiz-settings/setup-card.php +199 -0
- addons/pro/trello/views/quiz-settings/setup-list.php +46 -0
- addons/pro/trello/views/quiz-settings/setup-name.php +34 -0
- addons/pro/zapier/forminator-addon-zapier-quiz-hooks.php +558 -0
- addons/pro/zapier/forminator-addon-zapier-quiz-settings-exception.php +68 -0
- addons/pro/zapier/forminator-addon-zapier-quiz-settings.php +416 -0
- addons/pro/zapier/forminator-addon-zapier.php +63 -0
- addons/pro/zapier/views/quiz-settings/setup-webhook.php +67 -0
- addons/pro/zapier/zapier.php +3 -0
- admin/classes/class-admin-ajax.php +91 -27
- admin/classes/class-admin-data.php +35 -30
- admin/classes/class-admin-l10n.php +12 -1
- admin/locale.php +140 -26
- admin/views/custom-form/list/content.php +5 -5
- admin/views/custom-form/popup/export.php +1 -1
- admin/views/dashboard/widgets/widget-cform.php +17 -5
- admin/views/dashboard/widgets/widget-poll.php +17 -5
- admin/views/dashboard/widgets/widget-quiz.php +17 -2
- admin/views/integrations/quiz-addon.php +130 -0
- admin/views/integrations/quiz-content.php +57 -0
- admin/views/poll/list/content.php +4 -4
- admin/views/poll/popup/export.php +1 -1
- admin/views/quiz/entries/content.php +177 -114
- admin/views/quiz/knowledge/content.php +1 -1
- admin/views/quiz/knowledge/header.php +0 -9
- admin/views/quiz/list/content.php +69 -28
- admin/views/quiz/nowrong/content.php +1 -1
- admin/views/quiz/nowrong/header.php +0 -9
- admin/views/quiz/popup/export.php +1 -1
- admin/views/settings/data/quizzes-privacy.php +91 -0
- admin/views/settings/tab-data.php +2 -0
- assets/css/front.min.css.map +1 -1
addons/pro/googlesheet/forminator-addon-googlesheet-quiz-hooks.php
ADDED
@@ -0,0 +1,768 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Class Forminator_Addon_Googlesheet_Quiz_Hooks
|
5 |
+
*
|
6 |
+
* @since 1.6.2
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class Forminator_Addon_Googlesheet_Quiz_Hooks extends Forminator_Addon_Quiz_Hooks_Abstract {
|
10 |
+
|
11 |
+
/**
|
12 |
+
* Addon instance are auto available form abstract
|
13 |
+
* Its added here for development purpose,
|
14 |
+
* Auto-complete will resolve addon directly to `Googlesheet` instance instead of the abstract
|
15 |
+
* And its public properties can be exposed
|
16 |
+
*
|
17 |
+
* @since 1.6.2
|
18 |
+
* @var Forminator_Addon_Googlesheet
|
19 |
+
*/
|
20 |
+
protected $addon;
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Quiz Settings Instance
|
24 |
+
*
|
25 |
+
* @since 1.6.2
|
26 |
+
* @var Forminator_Addon_Googlesheet_Quiz_Settings | null
|
27 |
+
*/
|
28 |
+
protected $quiz_settings_instance;
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Google sheet column titles
|
32 |
+
*/
|
33 |
+
const GSHEET_DATE_COLUMN_NAME = 'Date';
|
34 |
+
const GSHEET_QUESTION_COLUMN_NAME = 'Question';
|
35 |
+
const GSHEET_ANSWER_COLUMN_NAME = 'Answer';
|
36 |
+
const GSHEET_RESULT_COLUMN_NAME = 'Result';
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Forminator_Addon_Googlesheet_Quiz_Hooks constructor.
|
40 |
+
*
|
41 |
+
* @since 1.6.2
|
42 |
+
*
|
43 |
+
* @param Forminator_Addon_Abstract $addon
|
44 |
+
* @param $quiz_id
|
45 |
+
*
|
46 |
+
* @throws Forminator_Addon_Exception
|
47 |
+
*/
|
48 |
+
public function __construct( Forminator_Addon_Abstract $addon, $quiz_id ) {
|
49 |
+
parent::__construct( $addon, $quiz_id );
|
50 |
+
$this->_submit_quiz_error_message = __( 'Googlesheet failed to process submitted data. Please check your quiz and try again', Forminator::DOMAIN );
|
51 |
+
}
|
52 |
+
|
53 |
+
/**
|
54 |
+
* Save status of request sent and received for each connected Googlesheet
|
55 |
+
*
|
56 |
+
* @since 1.6.2
|
57 |
+
*
|
58 |
+
* @param array $submitted_data
|
59 |
+
* @param array $current_entry_fields
|
60 |
+
*
|
61 |
+
* @return array
|
62 |
+
*/
|
63 |
+
public function add_entry_fields( $submitted_data, $current_entry_fields = array() ) {
|
64 |
+
$quiz_id = $this->quiz_id;
|
65 |
+
$quiz_settings_instance = $this->quiz_settings_instance;
|
66 |
+
|
67 |
+
/**
|
68 |
+
* Filter Googlesheet submitted quiz data to be processed
|
69 |
+
*
|
70 |
+
* @since 1.6.2
|
71 |
+
*
|
72 |
+
* @param array $submitted_data
|
73 |
+
* @param array $current_entry_fields
|
74 |
+
* @param int $quiz_id current quiz ID
|
75 |
+
* @param Forminator_Addon_Googlesheet_Quiz_Settings $quiz_settings_instance Googlesheet Addon quiz Settings instance
|
76 |
+
*/
|
77 |
+
$submitted_data = apply_filters(
|
78 |
+
'forminator_addon_googlesheet_quiz_submitted_data',
|
79 |
+
$submitted_data,
|
80 |
+
$current_entry_fields,
|
81 |
+
$quiz_id,
|
82 |
+
$quiz_settings_instance
|
83 |
+
);
|
84 |
+
|
85 |
+
/**
|
86 |
+
* Filter current quiz entry fields data to be processed by Googlesheet
|
87 |
+
*
|
88 |
+
* @since 1.6.2
|
89 |
+
*
|
90 |
+
* @param array $current_entry_fields
|
91 |
+
* @param array $submitted_data
|
92 |
+
* @param int $quiz_id current Quiz ID
|
93 |
+
* @param Forminator_Addon_Googlesheet_Quiz_Settings $quiz_settings_instance Googlesheet Addon Quiz Settings instance
|
94 |
+
*/
|
95 |
+
$current_entry_fields = apply_filters(
|
96 |
+
'forminator_addon_googlesheet_quiz_entry_fields',
|
97 |
+
$current_entry_fields,
|
98 |
+
$submitted_data,
|
99 |
+
$quiz_id,
|
100 |
+
$quiz_settings_instance
|
101 |
+
);
|
102 |
+
|
103 |
+
forminator_addon_maybe_log( __METHOD__, $submitted_data );
|
104 |
+
|
105 |
+
$addon_setting_values = $this->quiz_settings_instance->get_quiz_settings_values();
|
106 |
+
|
107 |
+
$data = array();
|
108 |
+
|
109 |
+
/**
|
110 |
+
* Fires before quiz create row on Googlesheet
|
111 |
+
*
|
112 |
+
* @since 1.6.2
|
113 |
+
*
|
114 |
+
* @param int $quiz_id current Quiz ID
|
115 |
+
* @param array $submitted_data
|
116 |
+
* @param Forminator_Addon_Googlesheet_Quiz_Settings $quiz_settings_instance Googlesheet Addon Quiz Settings instance
|
117 |
+
*/
|
118 |
+
do_action( 'forminator_addon_googlesheet_quiz_before_create_row', $quiz_id, $submitted_data, $quiz_settings_instance );
|
119 |
+
|
120 |
+
foreach ( $addon_setting_values as $key => $addon_setting_value ) {
|
121 |
+
// save it on entry field, with name `status-$MULTI_ID`, and value is the return result on sending data to Googlesheet
|
122 |
+
if ( $quiz_settings_instance->is_multi_quiz_settings_complete( $key ) ) {
|
123 |
+
// exec only on completed connection
|
124 |
+
$data[] = array(
|
125 |
+
'name' => 'status-' . $key,
|
126 |
+
'value' => $this->get_status_on_create_row( $key, $submitted_data, $addon_setting_value, $current_entry_fields ),
|
127 |
+
);
|
128 |
+
}
|
129 |
+
|
130 |
+
}
|
131 |
+
|
132 |
+
$entry_fields = $data;
|
133 |
+
/**
|
134 |
+
* Filter Googlesheet entry fields to be saved to entry model
|
135 |
+
*
|
136 |
+
* @since 1.6.2
|
137 |
+
*
|
138 |
+
* @param array $entry_fields
|
139 |
+
* @param int $quiz_id current Quiz ID
|
140 |
+
* @param array $submitted_data
|
141 |
+
* @param array $current_entry_fields
|
142 |
+
* @param Forminator_Addon_Googlesheet_Quiz_Settings $quiz_settings_instance Googlesheet Addon Quiz Settings instance
|
143 |
+
*/
|
144 |
+
$data = apply_filters(
|
145 |
+
'forminator_addon_quiz_googlesheet_entry_fields',
|
146 |
+
$entry_fields,
|
147 |
+
$quiz_id,
|
148 |
+
$submitted_data,
|
149 |
+
$current_entry_fields,
|
150 |
+
$quiz_settings_instance
|
151 |
+
);
|
152 |
+
|
153 |
+
return $data;
|
154 |
+
}
|
155 |
+
|
156 |
+
/**
|
157 |
+
* Get status on create Googlesheet row
|
158 |
+
*
|
159 |
+
* @since 1.6.2
|
160 |
+
*
|
161 |
+
* @param string $connection_id
|
162 |
+
* @param array $submitted_data
|
163 |
+
* @param array $connection_settings
|
164 |
+
* @param array $quiz_entry_fields
|
165 |
+
*
|
166 |
+
* @return array `is_sent` true means its success send data to Googlesheet, false otherwise
|
167 |
+
*/
|
168 |
+
public function get_status_on_create_row( $connection_id, $submitted_data, $connection_settings, $quiz_entry_fields ) {
|
169 |
+
// initialize as null
|
170 |
+
$api = null;
|
171 |
+
|
172 |
+
$quiz_id = $this->quiz_id;
|
173 |
+
$quiz_settings_instance = $this->quiz_settings_instance;
|
174 |
+
|
175 |
+
try {
|
176 |
+
|
177 |
+
/**
|
178 |
+
* Fires before checking and modifying headers row of googlesheet
|
179 |
+
*
|
180 |
+
* @since 1.6.2
|
181 |
+
*
|
182 |
+
* @param array $connection_settings
|
183 |
+
* @param int $quiz_id current Quiz ID
|
184 |
+
* @param array $submitted_data
|
185 |
+
* @param array $quiz_entry_fields
|
186 |
+
* @param Forminator_Addon_Googlesheet_Quiz_Settings $quiz_settings_instance Googlesheet Addon Quiz Settings instance
|
187 |
+
*/
|
188 |
+
do_action( 'forminator_addon_quiz_googlesheet_before_prepare_sheet_headers', $connection_settings, $quiz_id, $submitted_data, $quiz_entry_fields, $quiz_settings_instance );
|
189 |
+
|
190 |
+
// prepare headers
|
191 |
+
$header_fields = $this->get_sheet_headers( $connection_settings['file_id'] );
|
192 |
+
|
193 |
+
/**
|
194 |
+
* Filter Sheet headers fields that will be used to map the entry rows
|
195 |
+
*
|
196 |
+
* @since 1.6.2
|
197 |
+
*
|
198 |
+
* @param array $header_fields sheet headers
|
199 |
+
* @param array $connection_settings
|
200 |
+
* @param int $quiz_id current Quiz ID
|
201 |
+
* @param array $submitted_data
|
202 |
+
* @param array $quiz_entry_fields
|
203 |
+
* @param Forminator_Addon_Googlesheet_Quiz_Settings $quiz_settings_instance Googlesheet Addon Quiz Settings instance
|
204 |
+
*/
|
205 |
+
$header_fields = apply_filters(
|
206 |
+
'forminator_addon_quiz_googlesheet_sheet_headers',
|
207 |
+
$header_fields,
|
208 |
+
$connection_settings,
|
209 |
+
$quiz_id,
|
210 |
+
$submitted_data,
|
211 |
+
$quiz_entry_fields,
|
212 |
+
$quiz_settings_instance
|
213 |
+
);
|
214 |
+
|
215 |
+
/**
|
216 |
+
* Fires after headers row of googlesheet checked and modified
|
217 |
+
*
|
218 |
+
* @since 1.6.2
|
219 |
+
*
|
220 |
+
* @param array $header_fields sheet headers
|
221 |
+
* @param array $connection_settings
|
222 |
+
* @param int $quiz_id current Quiz ID
|
223 |
+
* @param array $submitted_data
|
224 |
+
* @param array $quiz_entry_fields
|
225 |
+
* @param Forminator_Addon_Googlesheet_Quiz_Settings $quiz_settings_instance Googlesheet Addon Quiz Settings instance
|
226 |
+
*/
|
227 |
+
do_action( 'forminator_addon_quiz_googlesheet_after_prepare_sheet_headers', $header_fields, $connection_settings, $quiz_id, $submitted_data, $quiz_entry_fields, $quiz_settings_instance );
|
228 |
+
|
229 |
+
$answers = array();
|
230 |
+
|
231 |
+
if ( is_array( $quiz_entry_fields ) && isset( $quiz_entry_fields[0] ) ) {
|
232 |
+
$quiz_entry = $quiz_entry_fields[0];
|
233 |
+
if ( isset( $quiz_entry['name'] ) && isset( $quiz_entry['value'] ) && 'entry' === $quiz_entry['name'] ) {
|
234 |
+
if ( is_array( $quiz_entry['value'] ) ) {
|
235 |
+
|
236 |
+
// KNOWLEDGE
|
237 |
+
if ( 'knowledge' === $this->quiz->quiz_type ) {
|
238 |
+
foreach ( $quiz_entry['value'] as $data ) {
|
239 |
+
$question = isset( $data['question'] ) ? $data['question'] : '';
|
240 |
+
$answer = isset( $data['answer'] ) ? $data['answer'] : '';
|
241 |
+
$is_correct = isset( $data['isCorrect'] ) ? $data['isCorrect'] : false;
|
242 |
+
|
243 |
+
$answers[] = array(
|
244 |
+
'question' => $question,
|
245 |
+
'answer' => $answer,
|
246 |
+
'result' => $is_correct ? __( 'Correct', Forminator::DOMAIN ) : __( 'Incorrect', Forminator::DOMAIN ),
|
247 |
+
);
|
248 |
+
}
|
249 |
+
} elseif ( 'nowrong' === $this->quiz->quiz_type ) {
|
250 |
+
if ( isset( $quiz_entry['value'][0] )
|
251 |
+
&& is_array( $quiz_entry['value'][0] )
|
252 |
+
&& isset( $quiz_entry['value'][0]['value'] )
|
253 |
+
&& is_array( $quiz_entry['value'][0]['value'] ) ) {
|
254 |
+
|
255 |
+
$quiz_entry = $quiz_entry['value'][0]['value'];
|
256 |
+
|
257 |
+
$result = ( isset( $quiz_entry['result'] ) && isset( $quiz_entry['result']['title'] ) ) ? $quiz_entry['result']['title'] : '';
|
258 |
+
|
259 |
+
$entry_questions = ( isset( $quiz_entry['answers'] ) && is_array( $quiz_entry['answers'] ) ) ? $quiz_entry['answers'] : array();
|
260 |
+
|
261 |
+
foreach ( $entry_questions as $entry_question ) {
|
262 |
+
$question = isset( $entry_question['question'] ) ? $entry_question['question'] : '';
|
263 |
+
$answer = isset( $entry_question['answer'] ) ? $entry_question['answer'] : '';
|
264 |
+
|
265 |
+
$answers[] = array(
|
266 |
+
'question' => $question,
|
267 |
+
'answer' => $answer,
|
268 |
+
'result' => $result,
|
269 |
+
);
|
270 |
+
}
|
271 |
+
}
|
272 |
+
}
|
273 |
+
|
274 |
+
}
|
275 |
+
}
|
276 |
+
}
|
277 |
+
|
278 |
+
|
279 |
+
$requests = array();
|
280 |
+
$date = date_i18n( 'Y-m-d H:i:s' );
|
281 |
+
foreach ( $answers as $i => $answer ) {
|
282 |
+
$values = array();
|
283 |
+
foreach ( $header_fields as $column_name => $header_field ) {
|
284 |
+
if ( self::GSHEET_DATE_COLUMN_NAME === $column_name ) {
|
285 |
+
$value = new Google_Service_Sheets_ExtendedValue();
|
286 |
+
$cell_data = new Google_Service_Sheets_CellData();
|
287 |
+
|
288 |
+
// only once
|
289 |
+
$date_value = 0 === $i ? $date : '';
|
290 |
+
$value->setStringValue( $date_value );
|
291 |
+
$cell_data->setUserEnteredValue( $value );
|
292 |
+
$values[] = $cell_data;
|
293 |
+
} elseif ( self::GSHEET_QUESTION_COLUMN_NAME === $column_name ) {
|
294 |
+
$value = new Google_Service_Sheets_ExtendedValue();
|
295 |
+
$cell_data = new Google_Service_Sheets_CellData();
|
296 |
+
$value->setStringValue( $answer['question'] );
|
297 |
+
$cell_data->setUserEnteredValue( $value );
|
298 |
+
$values[] = $cell_data;
|
299 |
+
} elseif ( self::GSHEET_ANSWER_COLUMN_NAME === $column_name ) {
|
300 |
+
$value = new Google_Service_Sheets_ExtendedValue();
|
301 |
+
$cell_data = new Google_Service_Sheets_CellData();
|
302 |
+
$value->setStringValue( $answer['answer'] );
|
303 |
+
$cell_data->setUserEnteredValue( $value );
|
304 |
+
$values[] = $cell_data;
|
305 |
+
} elseif ( self::GSHEET_RESULT_COLUMN_NAME === $column_name ) {
|
306 |
+
$value = new Google_Service_Sheets_ExtendedValue();
|
307 |
+
$cell_data = new Google_Service_Sheets_CellData();
|
308 |
+
|
309 |
+
// only once for nowrong
|
310 |
+
$result_value = $answer['result'];
|
311 |
+
if ( 'nowrong' === $this->quiz->quiz_type ) {
|
312 |
+
$result_value = 0 === $i ? $result_value : '';
|
313 |
+
}
|
314 |
+
|
315 |
+
$value->setStringValue( $result_value );
|
316 |
+
$cell_data->setUserEnteredValue( $value );
|
317 |
+
$values[] = $cell_data;
|
318 |
+
} else {
|
319 |
+
// unknown column, set empty
|
320 |
+
$value = new Google_Service_Sheets_ExtendedValue();
|
321 |
+
$cell_data = new Google_Service_Sheets_CellData();
|
322 |
+
$value->setStringValue( '' );
|
323 |
+
$cell_data->setUserEnteredValue( $value );
|
324 |
+
$values[] = $cell_data;
|
325 |
+
}
|
326 |
+
}
|
327 |
+
|
328 |
+
// Build the RowData
|
329 |
+
$row_data = new Google_Service_Sheets_RowData();
|
330 |
+
$row_data->setValues( $values );
|
331 |
+
|
332 |
+
// Prepare the request
|
333 |
+
$append_request = new Google_Service_Sheets_AppendCellsRequest();
|
334 |
+
$append_request->setSheetId( 0 );
|
335 |
+
$append_request->setRows( $row_data );
|
336 |
+
$append_request->setFields( 'userEnteredValue' );
|
337 |
+
|
338 |
+
// Set the request
|
339 |
+
$request = new Google_Service_Sheets_Request();
|
340 |
+
$request->setAppendCells( $append_request );
|
341 |
+
|
342 |
+
// Add the request to the requests array
|
343 |
+
$requests[] = $request;
|
344 |
+
}
|
345 |
+
|
346 |
+
if ( empty( $requests ) ) {
|
347 |
+
throw new Forminator_Addon_Googlesheet_Exception( __( 'No data to be send to GoogleSheet', Forminator::DOMAIN ) );
|
348 |
+
}
|
349 |
+
|
350 |
+
// Prepare the update
|
351 |
+
$batch_update_request = new Google_Service_Sheets_BatchUpdateSpreadsheetRequest(
|
352 |
+
array(
|
353 |
+
'requests' => $requests,
|
354 |
+
)
|
355 |
+
);
|
356 |
+
|
357 |
+
$google_client = $this->addon->get_google_client();
|
358 |
+
$google_client->setAccessToken( $this->addon->get_client_access_token() );
|
359 |
+
$spreadsheet_service = new Google_Service_Sheets( $google_client );
|
360 |
+
$spreadsheet_service->spreadsheets->batchUpdate( $connection_settings['file_id'], $batch_update_request );
|
361 |
+
|
362 |
+
|
363 |
+
if ( $google_client->getAccessToken() !== $this->addon->get_client_access_token() ) {
|
364 |
+
$this->addon->update_client_access_token( $google_client->getAccessToken() );
|
365 |
+
}
|
366 |
+
|
367 |
+
|
368 |
+
forminator_addon_maybe_log( __METHOD__, 'Success Send Data' );
|
369 |
+
|
370 |
+
return array(
|
371 |
+
'is_sent' => true,
|
372 |
+
'connection_name' => $connection_settings['name'],
|
373 |
+
'description' => __( 'Successfully send data to Googlesheet', Forminator::DOMAIN ),
|
374 |
+
);
|
375 |
+
|
376 |
+
} catch ( Google_Exception $e ) {
|
377 |
+
forminator_addon_maybe_log( __METHOD__, 'Failed to Send to Googlesheet' );
|
378 |
+
|
379 |
+
return array(
|
380 |
+
'is_sent' => false,
|
381 |
+
'description' => $e->getMessage(),
|
382 |
+
'connection_name' => $connection_settings['name'],
|
383 |
+
);
|
384 |
+
} catch ( Forminator_Addon_Googlesheet_Exception $e ) {
|
385 |
+
forminator_addon_maybe_log( __METHOD__, 'Failed to Send to Googlesheet' );
|
386 |
+
|
387 |
+
return array(
|
388 |
+
'is_sent' => false,
|
389 |
+
'description' => $e->getMessage(),
|
390 |
+
'connection_name' => $connection_settings['name'],
|
391 |
+
);
|
392 |
+
} catch ( Exception $e ) {
|
393 |
+
forminator_addon_maybe_log( __METHOD__, 'Failed to Send to Googlesheet' );
|
394 |
+
|
395 |
+
return array(
|
396 |
+
'is_sent' => false,
|
397 |
+
'description' => $e->getMessage(),
|
398 |
+
'connection_name' => $connection_settings['name'],
|
399 |
+
);
|
400 |
+
}
|
401 |
+
}
|
402 |
+
|
403 |
+
/**
|
404 |
+
* Prepare headers of spreadsheet
|
405 |
+
*
|
406 |
+
* @since 1.6.2
|
407 |
+
*
|
408 |
+
* @param $file_id
|
409 |
+
*
|
410 |
+
* @return array
|
411 |
+
* @throws Forminator_Addon_Googlesheet_Exception
|
412 |
+
* @throws Exception
|
413 |
+
*/
|
414 |
+
public function get_sheet_headers( $file_id ) {
|
415 |
+
|
416 |
+
$google_client = $this->addon->get_google_client();
|
417 |
+
$google_client->setAccessToken( $this->addon->get_client_access_token() );
|
418 |
+
|
419 |
+
$spreadsheet_service = new Google_Service_Sheets( $google_client );
|
420 |
+
$spreadsheet = $spreadsheet_service->spreadsheets->get( $file_id );
|
421 |
+
$sheets = $spreadsheet->getSheets();
|
422 |
+
|
423 |
+
if ( ! isset( $sheets[0] ) || ! isset( $sheets[0]->properties ) ) {
|
424 |
+
throw new Forminator_Addon_Googlesheet_Exception( __( 'No sheet found', Forminator::DOMAIN ) );
|
425 |
+
}
|
426 |
+
|
427 |
+
if ( ! isset( $sheets[0]->properties->title ) || empty( $sheets[0]->properties->title ) ) {
|
428 |
+
throw new Forminator_Addon_Googlesheet_Exception( __( 'Sheet title not found', Forminator::DOMAIN ) );
|
429 |
+
}
|
430 |
+
|
431 |
+
if ( ! isset( $sheets[0]->properties->gridProperties ) || ! isset( $sheets[0]->properties->gridProperties->columnCount ) ) {
|
432 |
+
throw new Forminator_Addon_Googlesheet_Exception( __( 'Failed to get column count of the sheet', Forminator::DOMAIN ) );
|
433 |
+
}
|
434 |
+
|
435 |
+
$sheet_title = $sheets[0]->properties->title;
|
436 |
+
$sheet_column_count = $sheets[0]->properties->gridProperties->columnCount;
|
437 |
+
|
438 |
+
$headers_range = $sheet_title . '!' . '1:1';
|
439 |
+
$header_rows = $spreadsheet_service->spreadsheets_values->get(
|
440 |
+
$spreadsheet->getSpreadsheetId(),
|
441 |
+
$headers_range
|
442 |
+
);
|
443 |
+
|
444 |
+
$values = $header_rows->getValues();
|
445 |
+
|
446 |
+
forminator_addon_maybe_log( __METHOD__, '$sheet_column_count', $sheet_column_count );
|
447 |
+
|
448 |
+
$header_fields = array();
|
449 |
+
|
450 |
+
$column_number = 1;
|
451 |
+
$columns_filled = 0;
|
452 |
+
if ( isset( $values[0] ) && is_array( $values[0] ) ) {
|
453 |
+
foreach ( $values[0] as $value ) {
|
454 |
+
$key_range = $sheet_title . '!' . Forminator_Addon_Googlesheet_Form_Hooks::column_number_to_letter( $column_number ) . '1';
|
455 |
+
$header_fields[ $value ] = array(
|
456 |
+
'range' => $key_range,
|
457 |
+
'value' => $value,
|
458 |
+
);
|
459 |
+
$column_number ++;
|
460 |
+
$columns_filled ++;
|
461 |
+
}
|
462 |
+
}
|
463 |
+
|
464 |
+
// dont use translation because it will be used as reference
|
465 |
+
$required_header_columns = array( self::GSHEET_DATE_COLUMN_NAME, self::GSHEET_QUESTION_COLUMN_NAME, self::GSHEET_ANSWER_COLUMN_NAME, self::GSHEET_RESULT_COLUMN_NAME );
|
466 |
+
|
467 |
+
$new_column_count = 0;
|
468 |
+
$update_bodies = array();
|
469 |
+
foreach ( $required_header_columns as $required_header_column ) {
|
470 |
+
$expected_header_value = $required_header_column;
|
471 |
+
if ( ! in_array( $required_header_column, array_keys( $header_fields ), true ) ) {
|
472 |
+
//add
|
473 |
+
$new_range = $sheet_title . '!' . Forminator_Addon_Googlesheet_Form_Hooks::column_number_to_letter( $column_number ) . '1';
|
474 |
+
|
475 |
+
// update headers map
|
476 |
+
$header_fields[ $required_header_column ] = array(
|
477 |
+
'range' => $new_range,
|
478 |
+
'value' => $expected_header_value,
|
479 |
+
);
|
480 |
+
|
481 |
+
// increment for next usage
|
482 |
+
$column_number ++;
|
483 |
+
$update_body = new Google_Service_Sheets_ValueRange();
|
484 |
+
$update_body->setRange( $new_range );
|
485 |
+
$update_body->setValues( array( array( $expected_header_value ) ) );
|
486 |
+
$update_bodies[] = $update_body;
|
487 |
+
$new_column_count ++;
|
488 |
+
} else {
|
489 |
+
$header_field = $header_fields[ $required_header_column ];
|
490 |
+
if ( $expected_header_value !== $header_field['value'] ) {
|
491 |
+
// update headers map
|
492 |
+
$header_fields[ $required_header_column ]['value'] = $expected_header_value;
|
493 |
+
|
494 |
+
// update sheet
|
495 |
+
$update_body = new Google_Service_Sheets_ValueRange();
|
496 |
+
$update_body->setRange( $header_field['range'] );
|
497 |
+
$update_body->setValues( array( array( $expected_header_value ) ) );
|
498 |
+
$update_bodies[] = $update_body;
|
499 |
+
}
|
500 |
+
}
|
501 |
+
}
|
502 |
+
|
503 |
+
//calc column to be added
|
504 |
+
$total_column_needed = $columns_filled + $new_column_count;
|
505 |
+
$new_column_needed = $total_column_needed - $sheet_column_count;
|
506 |
+
if ( $new_column_needed > 0 ) {
|
507 |
+
$dimension_range = new Google_Service_Sheets_DimensionRange();
|
508 |
+
$dimension_range->setSheetId( 0 );
|
509 |
+
$dimension_range->setDimension( 'COLUMNS' );
|
510 |
+
$dimension_range->setStartIndex( $sheet_column_count );
|
511 |
+
$dimension_range->setEndIndex( $total_column_needed );
|
512 |
+
|
513 |
+
$insert_dimension = new Google_Service_Sheets_InsertDimensionRequest();
|
514 |
+
$insert_dimension->setRange( $dimension_range );
|
515 |
+
$insert_dimension->setInheritFromBefore( true );
|
516 |
+
|
517 |
+
$request = new Google_Service_Sheets_Request();
|
518 |
+
$request->setInsertDimension( $insert_dimension );
|
519 |
+
|
520 |
+
$request_body = new Google_Service_Sheets_BatchUpdateSpreadsheetRequest();
|
521 |
+
$request_body->setRequests( array( $request ) );
|
522 |
+
|
523 |
+
$spreadsheet_service->spreadsheets->batchUpdate( $file_id, $request_body );
|
524 |
+
}
|
525 |
+
if ( ! empty( $update_bodies ) ) {
|
526 |
+
$request_body = new Google_Service_Sheets_BatchUpdateValuesRequest();
|
527 |
+
$request_body->setData( $update_bodies );
|
528 |
+
$request_body->setValueInputOption( 'RAW' );
|
529 |
+
$spreadsheet_service->spreadsheets_values->batchUpdate( $file_id, $request_body );
|
530 |
+
}
|
531 |
+
|
532 |
+
$grid_properties = new Google_Service_Sheets_GridProperties();
|
533 |
+
$grid_properties->setFrozenRowCount( 1 );
|
534 |
+
|
535 |
+
$sheet_properties = new Google_Service_Sheets_SheetProperties();
|
536 |
+
$sheet_properties->setSheetId( 0 );
|
537 |
+
$sheet_properties->setGridProperties( $grid_properties );
|
538 |
+
|
539 |
+
$update_properties = new Google_Service_Sheets_UpdateSheetPropertiesRequest();
|
540 |
+
$update_properties->setProperties( $sheet_properties );
|
541 |
+
$update_properties->setFields( 'gridProperties(frozenRowCount)' );
|
542 |
+
|
543 |
+
$request = new Google_Service_Sheets_Request();
|
544 |
+
$request->setUpdateSheetProperties( $update_properties );
|
545 |
+
|
546 |
+
$request_body = new Google_Service_Sheets_BatchUpdateSpreadsheetRequest();
|
547 |
+
$request_body->setRequests( array( $request ) );
|
548 |
+
|
549 |
+
$spreadsheet_service->spreadsheets->batchUpdate( $file_id, $request_body );
|
550 |
+
|
551 |
+
if ( $google_client->getAccessToken() !== $this->addon->get_client_access_token() ) {
|
552 |
+
$this->addon->update_client_access_token( $google_client->getAccessToken() );
|
553 |
+
}
|
554 |
+
|
555 |
+
return $header_fields;
|
556 |
+
|
557 |
+
}
|
558 |
+
|
559 |
+
/**
|
560 |
+
* Googlesheet will add a column on the title/header row
|
561 |
+
* its called `Googlesheet Info` which can be translated on forminator lang
|
562 |
+
*
|
563 |
+
* @since 1.6.2
|
564 |
+
* @return array
|
565 |
+
*/
|
566 |
+
public function on_export_render_title_row() {
|
567 |
+
|
568 |
+
$export_headers = array(
|
569 |
+
'info' => __( 'Google Sheets Info', Forminator::DOMAIN ),
|
570 |
+
);
|
571 |
+
|
572 |
+
$quiz_id = $this->quiz;
|
573 |
+
$quiz_settings_instance = $this->quiz_settings_instance;
|
574 |
+
|
575 |
+
/**
|
576 |
+
* Filter Googlesheet headers on export file
|
577 |
+
*
|
578 |
+
* @since 1.6.2
|
579 |
+
*
|
580 |
+
* @param array $export_headers headers to be displayed on export file
|
581 |
+
* @param int $quiz_id current Quiz ID
|
582 |
+
* @param Forminator_Addon_Googlesheet_Quiz_Settings $quiz_settings_instance Googlesheet Addon Quiz Settings instance
|
583 |
+
*/
|
584 |
+
$export_headers = apply_filters(
|
585 |
+
'forminator_addon_quiz_googlesheet_export_headers',
|
586 |
+
$export_headers,
|
587 |
+
$quiz_id,
|
588 |
+
$quiz_settings_instance
|
589 |
+
);
|
590 |
+
|
591 |
+
return $export_headers;
|
592 |
+
}
|
593 |
+
|
594 |
+
/**
|
595 |
+
* Googlesheet will add a column that give user information whether sending data to Googlesheet successfully or not
|
596 |
+
* It will only add one column even its multiple connection, every connection will be separated by comma
|
597 |
+
*
|
598 |
+
* @since 1.6.2
|
599 |
+
*
|
600 |
+
* @param Forminator_Form_Entry_Model $entry_model
|
601 |
+
* @param $addon_meta_data
|
602 |
+
*
|
603 |
+
* @return array
|
604 |
+
*/
|
605 |
+
public function on_export_render_entry( Forminator_Form_Entry_Model $entry_model, $addon_meta_data ) {
|
606 |
+
|
607 |
+
$quiz_id = $this->quiz_id;
|
608 |
+
$quiz_settings_instance = $this->quiz_settings_instance;
|
609 |
+
|
610 |
+
/**
|
611 |
+
*
|
612 |
+
* Filter Googlesheet metadata that previously saved on db to be processed
|
613 |
+
*
|
614 |
+
* @since 1.6.2
|
615 |
+
*
|
616 |
+
* @param array $addon_meta_data
|
617 |
+
* @param int $quiz_id current Quiz ID
|
618 |
+
* @param Forminator_Addon_Googlesheet_Quiz_Settings $quiz_settings_instance Googlesheet Addon Quiz Settings instance
|
619 |
+
*/
|
620 |
+
$addon_meta_data = apply_filters(
|
621 |
+
'forminator_addon_quiz_googlesheet_metadata',
|
622 |
+
$addon_meta_data,
|
623 |
+
$quiz_id,
|
624 |
+
$quiz_settings_instance
|
625 |
+
);
|
626 |
+
|
627 |
+
$export_columns = array(
|
628 |
+
'info' => $this->get_from_addon_meta_data( $addon_meta_data, 'description', '' ),
|
629 |
+
);
|
630 |
+
|
631 |
+
/**
|
632 |
+
* Filter Googlesheet columns to be displayed on export submissions
|
633 |
+
*
|
634 |
+
* @since 1.2
|
635 |
+
*
|
636 |
+
* @param array $export_columns column to be exported
|
637 |
+
* @param int $quiz_id current Quiz ID
|
638 |
+
* @param Forminator_Form_Entry_Model $entry_model Form Entry Model
|
639 |
+
* @param array $addon_meta_data meta data saved by addon on entry fields
|
640 |
+
* @param Forminator_Addon_Googlesheet_Quiz_Settings $quiz_settings_instance Googlesheet Addon Quiz Settings instance
|
641 |
+
*/
|
642 |
+
$export_columns = apply_filters(
|
643 |
+
'forminator_addon_quiz_googlesheet_export_columns',
|
644 |
+
$export_columns,
|
645 |
+
$quiz_id,
|
646 |
+
$entry_model,
|
647 |
+
$addon_meta_data,
|
648 |
+
$quiz_settings_instance
|
649 |
+
);
|
650 |
+
|
651 |
+
return $export_columns;
|
652 |
+
}
|
653 |
+
|
654 |
+
/**
|
655 |
+
* It wil add new row on entry table of submission page, with couple of sub-entries
|
656 |
+
* sub-entries included are defined in @see Forminator_Addon_Googlesheet_Quiz_Hooks::get_additional_entry_item()
|
657 |
+
*
|
658 |
+
* @since 1.6.2
|
659 |
+
*
|
660 |
+
* @param Forminator_Form_Entry_Model $entry_model
|
661 |
+
* @param $addon_meta_data
|
662 |
+
*
|
663 |
+
* @return array
|
664 |
+
*/
|
665 |
+
public function on_render_entry( Forminator_Form_Entry_Model $entry_model, $addon_meta_data ) {
|
666 |
+
|
667 |
+
$quiz_id = $this->quiz_id;
|
668 |
+
$quiz_settings_instance = $this->quiz_settings_instance;
|
669 |
+
|
670 |
+
/**
|
671 |
+
*
|
672 |
+
* Filter Googlesheet metadata that previously saved on db to be processed
|
673 |
+
*
|
674 |
+
* @since 1.6.2
|
675 |
+
*
|
676 |
+
* @param array $addon_meta_data
|
677 |
+
* @param int $quiz_id current Form ID
|
678 |
+
* @param Forminator_Addon_Googlesheet_Quiz_Settings $quiz_settings_instance Googlesheet Addon Form Settings instance
|
679 |
+
*/
|
680 |
+
$addon_meta_data = apply_filters(
|
681 |
+
'forminator_addon_quiz_googlesheet_metadata',
|
682 |
+
$addon_meta_data,
|
683 |
+
$quiz_id,
|
684 |
+
$quiz_settings_instance
|
685 |
+
);
|
686 |
+
|
687 |
+
|
688 |
+
$addon_meta_datas = $addon_meta_data;
|
689 |
+
if ( ! isset( $addon_meta_data[0] ) || ! is_array( $addon_meta_data[0] ) ) {
|
690 |
+
return array();
|
691 |
+
}
|
692 |
+
|
693 |
+
return $this->on_render_entry_multi_connection( $addon_meta_datas );
|
694 |
+
|
695 |
+
}
|
696 |
+
|
697 |
+
/**
|
698 |
+
* Loop through addon meta data on multiple Googlesheet setup(s)
|
699 |
+
*
|
700 |
+
* @since 1.6.2
|
701 |
+
*
|
702 |
+
* @param $addon_meta_datas
|
703 |
+
*
|
704 |
+
* @return array
|
705 |
+
*/
|
706 |
+
private function on_render_entry_multi_connection( $addon_meta_datas ) {
|
707 |
+
$additional_entry_item = array();
|
708 |
+
foreach ( $addon_meta_datas as $addon_meta_data ) {
|
709 |
+
$additional_entry_item[] = $this->get_additional_entry_item( $addon_meta_data );
|
710 |
+
}
|
711 |
+
|
712 |
+
return $additional_entry_item;
|
713 |
+
|
714 |
+
}
|
715 |
+
|
716 |
+
/**
|
717 |
+
* Format additional entry item as label and value arrays
|
718 |
+
*
|
719 |
+
* - Integration Name : its defined by user when they adding Googlesheet integration on their form
|
720 |
+
* - Sent To Googlesheet : will be Yes/No value, that indicates whether sending data to Googlesheet API was successful
|
721 |
+
* - Info : Text that are generated by addon when building and sending data to Googlesheet @see Forminator_Addon_Googlesheet_Quiz_Hooks::add_entry_fields()
|
722 |
+
*
|
723 |
+
* @param $addon_meta_data
|
724 |
+
*
|
725 |
+
* @since 1.6.2
|
726 |
+
* @return array
|
727 |
+
*/
|
728 |
+
private function get_additional_entry_item( $addon_meta_data ) {
|
729 |
+
|
730 |
+
if ( ! isset( $addon_meta_data['value'] ) || ! is_array( $addon_meta_data['value'] ) ) {
|
731 |
+
return array();
|
732 |
+
}
|
733 |
+
$status = $addon_meta_data['value'];
|
734 |
+
$additional_entry_item = array(
|
735 |
+
'label' => __( 'Google Sheets Integration', Forminator::DOMAIN ),
|
736 |
+
'value' => '',
|
737 |
+
);
|
738 |
+
|
739 |
+
|
740 |
+
$sub_entries = array();
|
741 |
+
if ( isset( $status['connection_name'] ) ) {
|
742 |
+
$sub_entries[] = array(
|
743 |
+
'label' => __( 'Integration Name', Forminator::DOMAIN ),
|
744 |
+
'value' => $status['connection_name'],
|
745 |
+
);
|
746 |
+
}
|
747 |
+
|
748 |
+
if ( isset( $status['is_sent'] ) ) {
|
749 |
+
$is_sent = true === $status['is_sent'] ? __( 'Yes', Forminator::DOMAIN ) : __( 'No', Forminator::DOMAIN );
|
750 |
+
$sub_entries[] = array(
|
751 |
+
'label' => __( 'Sent To Google Sheets', Forminator::DOMAIN ),
|
752 |
+
'value' => $is_sent,
|
753 |
+
);
|
754 |
+
}
|
755 |
+
|
756 |
+
if ( isset( $status['description'] ) ) {
|
757 |
+
$sub_entries[] = array(
|
758 |
+
'label' => __( 'Info', Forminator::DOMAIN ),
|
759 |
+
'value' => $status['description'],
|
760 |
+
);
|
761 |
+
}
|
762 |
+
|
763 |
+
$additional_entry_item['sub_entries'] = $sub_entries;
|
764 |
+
|
765 |
+
// return single array
|
766 |
+
return $additional_entry_item;
|
767 |
+
}
|
768 |
+
}
|
addons/pro/googlesheet/forminator-addon-googlesheet-quiz-settings-exception.php
ADDED
@@ -0,0 +1,81 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Class Forminator_Addon_Googlesheet_Quiz_Settings_Exception
|
5 |
+
* Wrapper of Quiz Settings Googlesheet Exception
|
6 |
+
*
|
7 |
+
* @since 1.6.2
|
8 |
+
*/
|
9 |
+
class Forminator_Addon_Googlesheet_Quiz_Settings_Exception extends Forminator_Addon_Googlesheet_Exception {
|
10 |
+
|
11 |
+
/**
|
12 |
+
* Holder of input exceptions
|
13 |
+
*
|
14 |
+
* @since 1.6.2
|
15 |
+
* @var array
|
16 |
+
*/
|
17 |
+
protected $input_exceptions = array();
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Forminator_Addon_Googlesheet_Quiz_Settings_Exception constructor.
|
21 |
+
*
|
22 |
+
* Useful if input_id is needed for later.
|
23 |
+
* If no input_id needed, use @see Forminator_Addon_Googlesheet_Exception
|
24 |
+
*
|
25 |
+
* @since 1.6.2
|
26 |
+
*
|
27 |
+
* @param string $message
|
28 |
+
* @param string $input_id
|
29 |
+
*/
|
30 |
+
public function __construct( $message = '', $input_id = '' ) {
|
31 |
+
parent::__construct( $message, 0 );
|
32 |
+
if ( ! empty( $input_id ) ) {
|
33 |
+
$this->add_input_exception( $message, $input_id );
|
34 |
+
}
|
35 |
+
}
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Set exception message for an input
|
39 |
+
*
|
40 |
+
* @since 1.6.2
|
41 |
+
*
|
42 |
+
* @param $message
|
43 |
+
* @param $input_id
|
44 |
+
*/
|
45 |
+
public function add_input_exception( $message, $input_id ) {
|
46 |
+
$this->input_exceptions[ $input_id ] = $message;
|
47 |
+
}
|
48 |
+
|
49 |
+
/**
|
50 |
+
* Get all input exceptions
|
51 |
+
*
|
52 |
+
* @since 1.6.2
|
53 |
+
* @return array
|
54 |
+
*/
|
55 |
+
public function get_input_exceptions() {
|
56 |
+
return $this->input_exceptions;
|
57 |
+
}
|
58 |
+
|
59 |
+
/**
|
60 |
+
* Check if there is input_exceptions_is_available
|
61 |
+
*
|
62 |
+
* @since 1.6.2
|
63 |
+
* @return bool
|
64 |
+
*/
|
65 |
+
public function input_exceptions_is_available() {
|
66 |
+
return count( $this->input_exceptions ) > 0;
|
67 |
+
}
|
68 |
+
|
69 |
+
/**
|
70 |
+
* Check if there is input_exception for $input_id
|
71 |
+
*
|
72 |
+
* @since 1.6.2
|
73 |
+
*
|
74 |
+
* @param $input_id
|
75 |
+
*
|
76 |
+
* @return bool
|
77 |
+
*/
|
78 |
+
public function input_exception_is_available( $input_id ) {
|
79 |
+
return isset( $this->input_exceptions[ $input_id ] );
|
80 |
+
}
|
81 |
+
}
|
addons/pro/googlesheet/forminator-addon-googlesheet-quiz-settings.php
ADDED
@@ -0,0 +1,405 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
require_once dirname( __FILE__ ) . '/forminator-addon-googlesheet-quiz-settings-exception.php';
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class Forminator_Addon_Googlesheet_Quiz_Settings
|
7 |
+
* Handle how quiz settings displayed and saved
|
8 |
+
*
|
9 |
+
* @since 1.6.2
|
10 |
+
*/
|
11 |
+
class Forminator_Addon_Googlesheet_Quiz_Settings extends Forminator_Addon_Quiz_Settings_Abstract {
|
12 |
+
|
13 |
+
/**
|
14 |
+
* @var Forminator_Addon_Googlesheet
|
15 |
+
* @since 1.0 Googlesheet Addon
|
16 |
+
*/
|
17 |
+
protected $addon;
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Forminator_Addon_Googlesheet_Form_Settings constructor.
|
21 |
+
*
|
22 |
+
* @since 1.6.2
|
23 |
+
*
|
24 |
+
* @param Forminator_Addon_Abstract $addon
|
25 |
+
* @param $quiz_id
|
26 |
+
*
|
27 |
+
* @throws Forminator_Addon_Exception
|
28 |
+
*/
|
29 |
+
public function __construct( Forminator_Addon_Abstract $addon, $quiz_id ) {
|
30 |
+
parent::__construct( $addon, $quiz_id );
|
31 |
+
|
32 |
+
$this->_update_quiz_settings_error_message = __(
|
33 |
+
'The update to your settings for this quiz failed, check the form input and try again.',
|
34 |
+
Forminator::DOMAIN
|
35 |
+
);
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Wizard configuration
|
40 |
+
*
|
41 |
+
* @since 1.6.2
|
42 |
+
* @return array
|
43 |
+
*/
|
44 |
+
public function quiz_settings_wizards() {
|
45 |
+
// numerical array steps
|
46 |
+
return array(
|
47 |
+
array(
|
48 |
+
'callback' => array( $this, 'pick_name' ),
|
49 |
+
'is_completed' => array( $this, 'pick_name_is_completed' ),
|
50 |
+
),
|
51 |
+
array(
|
52 |
+
'callback' => array( $this, 'setup_sheet' ),
|
53 |
+
'is_completed' => array( $this, 'setup_sheet_is_completed' ),
|
54 |
+
),
|
55 |
+
);
|
56 |
+
}
|
57 |
+
|
58 |
+
/**
|
59 |
+
* Setup Connection Name
|
60 |
+
*
|
61 |
+
* @since 1.6.2
|
62 |
+
*
|
63 |
+
* @param $submitted_data
|
64 |
+
*
|
65 |
+
* @return array
|
66 |
+
*/
|
67 |
+
public function pick_name( $submitted_data ) {
|
68 |
+
$template = forminator_addon_googlesheet_dir() . 'views/quiz-settings/pick-name.php';
|
69 |
+
|
70 |
+
$multi_id = $this->generate_multi_id();
|
71 |
+
if ( isset( $submitted_data['multi_id'] ) ) {
|
72 |
+
$multi_id = $submitted_data['multi_id'];
|
73 |
+
}
|
74 |
+
|
75 |
+
$template_params = array(
|
76 |
+
'name' => $this->get_multi_id_quiz_settings_value( $multi_id, 'name', '' ),
|
77 |
+
'file_id' => $this->get_multi_id_quiz_settings_value( $multi_id, 'file_id', '' ),
|
78 |
+
'name_error' => '',
|
79 |
+
'multi_id' => $multi_id,
|
80 |
+
);
|
81 |
+
|
82 |
+
unset( $submitted_data['multi_id'] );
|
83 |
+
|
84 |
+
$is_submit = ! empty( $submitted_data );
|
85 |
+
$has_errors = false;
|
86 |
+
if ( $is_submit ) {
|
87 |
+
$name = isset( $submitted_data['name'] ) ? $submitted_data['name'] : '';
|
88 |
+
$template_params['name'] = $name;
|
89 |
+
|
90 |
+
try {
|
91 |
+
if ( empty( $name ) ) {
|
92 |
+
throw new Forminator_Addon_Googlesheet_Exception( __( 'Please pick valid name' ) );
|
93 |
+
}
|
94 |
+
|
95 |
+
$time_added = $this->get_multi_id_quiz_settings_value( $multi_id, 'time_added', time() );
|
96 |
+
$this->save_multi_id_quiz_setting_values(
|
97 |
+
$multi_id,
|
98 |
+
array(
|
99 |
+
'name' => $name,
|
100 |
+
'time_added' => $time_added,
|
101 |
+
)
|
102 |
+
);
|
103 |
+
|
104 |
+
} catch ( Forminator_Addon_Googlesheet_Exception $e ) {
|
105 |
+
$template_params['name_error'] = $e->getMessage();
|
106 |
+
$has_errors = true;
|
107 |
+
}
|
108 |
+
}
|
109 |
+
|
110 |
+
$buttons = array();
|
111 |
+
if ( $this->pick_name_is_completed( array( 'multi_id' => $multi_id ) ) ) {
|
112 |
+
$buttons['disconnect']['markup'] = Forminator_Addon_Abstract::get_button_markup(
|
113 |
+
esc_html__( 'DISCONNECT', Forminator::DOMAIN ),
|
114 |
+
'sui-button-ghost sui-tooltip sui-tooltip-top-center forminator-addon-form-disconnect',
|
115 |
+
esc_html__( 'Disconnect this Google Sheets Integration from this Quiz.', Forminator::DOMAIN )
|
116 |
+
);
|
117 |
+
}
|
118 |
+
|
119 |
+
$buttons['next']['markup'] = '<div class="sui-actions-right">' .
|
120 |
+
Forminator_Addon_Abstract::get_button_markup( esc_html__( 'Next', Forminator::DOMAIN ), 'forminator-addon-next' ) .
|
121 |
+
'</div>';
|
122 |
+
|
123 |
+
return array(
|
124 |
+
'html' => Forminator_Addon_Abstract::get_template( $template, $template_params ),
|
125 |
+
'buttons' => $buttons,
|
126 |
+
'redirect' => false,
|
127 |
+
'has_errors' => $has_errors,
|
128 |
+
);
|
129 |
+
}
|
130 |
+
|
131 |
+
/**
|
132 |
+
* Setup sheet
|
133 |
+
*
|
134 |
+
* @since 1.6.2
|
135 |
+
*
|
136 |
+
* @param $submitted_data
|
137 |
+
*
|
138 |
+
* @return array
|
139 |
+
* @throws Exception
|
140 |
+
*/
|
141 |
+
public function setup_sheet( $submitted_data ) {
|
142 |
+
$template = forminator_addon_googlesheet_dir() . 'views/quiz-settings/setup-sheet.php';
|
143 |
+
|
144 |
+
if ( ! isset( $submitted_data['multi_id'] ) ) {
|
145 |
+
return $this->get_force_closed_wizard( __( 'Please pick valid connection', Forminator::DOMAIN ) );
|
146 |
+
}
|
147 |
+
|
148 |
+
$multi_id = $submitted_data['multi_id'];
|
149 |
+
unset( $submitted_data['multi_id'] );
|
150 |
+
|
151 |
+
$template_params = array(
|
152 |
+
'folder_id' => $this->get_multi_id_quiz_settings_value( $multi_id, 'folder_id', '' ),
|
153 |
+
'file_name' => $this->get_multi_id_quiz_settings_value( $multi_id, 'file_name', '' ),
|
154 |
+
'spreadsheet_id' => $this->get_multi_id_quiz_settings_value( $multi_id, 'spreadsheet_id', '' ),
|
155 |
+
'file_id' => $this->get_multi_id_quiz_settings_value( $multi_id, 'file_id', '' ),
|
156 |
+
'error_message' => '',
|
157 |
+
'multi_id' => $multi_id,
|
158 |
+
);
|
159 |
+
|
160 |
+
|
161 |
+
$is_submit = ! empty( $submitted_data );
|
162 |
+
$has_errors = false;
|
163 |
+
$notification = array();
|
164 |
+
$is_close = false;
|
165 |
+
|
166 |
+
if ( $is_submit ) {
|
167 |
+
$folder_id = isset( $submitted_data['folder_id'] ) ? $submitted_data['folder_id'] : '';
|
168 |
+
$template_params['folder_id'] = $folder_id;
|
169 |
+
$file_name = isset( $submitted_data['file_name'] ) ? $submitted_data['file_name'] : '';
|
170 |
+
$template_params['file_name'] = $file_name;
|
171 |
+
|
172 |
+
try {
|
173 |
+
$input_exceptions = new Forminator_Addon_Googlesheet_Quiz_Settings_Exception();
|
174 |
+
if ( empty( $file_name ) ) {
|
175 |
+
$input_exceptions->add_input_exception( __( 'Please put valid spread sheet name', Forminator::DOMAIN ), 'file_name_error' );
|
176 |
+
}
|
177 |
+
|
178 |
+
$google_client = $this->addon->get_google_client();
|
179 |
+
$google_client->setAccessToken( $this->addon->get_client_access_token() );
|
180 |
+
|
181 |
+
|
182 |
+
if ( ! empty( $folder_id ) ) {
|
183 |
+
$drive = new Google_Service_Drive( $google_client );
|
184 |
+
try {
|
185 |
+
$folder = $drive->files->get( $folder_id );
|
186 |
+
|
187 |
+
// its from API var
|
188 |
+
// phpcs:ignore WordPress.NamingConventions.ValidVariableName.NotSnakeCaseMemberVar
|
189 |
+
if ( Forminator_Addon_Googlesheet::MIME_TYPE_GOOGLE_DRIVE_FOLDER !== $folder->mimeType ) {
|
190 |
+
$input_exceptions->add_input_exception( __( 'This is not a folder, please use a valid Folder ID.', Forminator::DOMAIN ), 'folder_id_error' );
|
191 |
+
}
|
192 |
+
|
193 |
+
} catch ( Google_Exception $google_exception ) {
|
194 |
+
// catch 404
|
195 |
+
if ( false !== stripos( $google_exception->getMessage(), 'File not found' ) ) {
|
196 |
+
$input_exceptions->add_input_exception( __( 'Folder not found, please put Folder ID.', Forminator::DOMAIN ), 'folder_id_error' );
|
197 |
+
} else {
|
198 |
+
throw $google_exception;
|
199 |
+
}
|
200 |
+
}
|
201 |
+
}
|
202 |
+
|
203 |
+
if ( $input_exceptions->input_exceptions_is_available() ) {
|
204 |
+
throw $input_exceptions;
|
205 |
+
}
|
206 |
+
|
207 |
+
$file = new Google_Service_Drive_DriveFile();
|
208 |
+
$file->setMimeType( Forminator_Addon_Googlesheet::MIME_TYPE_GOOGLE_SPREADSHEET );
|
209 |
+
$file->setName( $file_name );
|
210 |
+
|
211 |
+
|
212 |
+
if ( ! empty( $folder_id ) ) {
|
213 |
+
$file->setParents( array( $folder_id ) );
|
214 |
+
}
|
215 |
+
|
216 |
+
$drive = new Google_Service_Drive( $google_client );
|
217 |
+
$new_sheet = $drive->files->create( $file );
|
218 |
+
|
219 |
+
$this->save_multi_id_quiz_setting_values(
|
220 |
+
$multi_id,
|
221 |
+
array(
|
222 |
+
'folder_id' => $folder_id,
|
223 |
+
'file_name' => $file_name,
|
224 |
+
'file_id' => $new_sheet->getId(),
|
225 |
+
)
|
226 |
+
);
|
227 |
+
|
228 |
+
$notification = array(
|
229 |
+
'type' => 'success',
|
230 |
+
'text' => '<strong>' . $this->addon->get_title() . '</strong> ' . __( 'Successfully created spreadsheet and connected to your quiz' ),
|
231 |
+
);
|
232 |
+
$is_close = true;
|
233 |
+
|
234 |
+
|
235 |
+
} catch ( Forminator_Addon_Googlesheet_Quiz_Settings_Exception $e ) {
|
236 |
+
$input_errors = $e->get_input_exceptions();
|
237 |
+
$template_params = array_merge( $template_params, $input_errors );
|
238 |
+
$has_errors = true;
|
239 |
+
} catch ( Forminator_Addon_Googlesheet_Exception $e ) {
|
240 |
+
$template_params['error_message'] = $e->getMessage();
|
241 |
+
$has_errors = true;
|
242 |
+
} catch ( Google_Exception $e ) {
|
243 |
+
$template_params['error_message'] = $e->getMessage();
|
244 |
+
$has_errors = true;
|
245 |
+
}
|
246 |
+
}
|
247 |
+
|
248 |
+
$buttons = array();
|
249 |
+
if ( $this->pick_name_is_completed( array( 'multi_id' => $multi_id ) ) ) {
|
250 |
+
$buttons['disconnect']['markup'] = Forminator_Addon_Abstract::get_button_markup(
|
251 |
+
esc_html__( 'DISCONNECT', Forminator::DOMAIN ),
|
252 |
+
'sui-button-ghost sui-tooltip sui-tooltip-top-center forminator-addon-form-disconnect',
|
253 |
+
esc_html__( 'Disconnect this Google Sheets Integration from this quiz.', Forminator::DOMAIN )
|
254 |
+
);
|
255 |
+
}
|
256 |
+
|
257 |
+
$buttons['next']['markup'] = '<div class="sui-actions-right">' .
|
258 |
+
Forminator_Addon_Abstract::get_button_markup( esc_html__( 'Create', Forminator::DOMAIN ), 'forminator-addon-next' ) .
|
259 |
+
'</div>';
|
260 |
+
|
261 |
+
return array(
|
262 |
+
'html' => Forminator_Addon_Abstract::get_template( $template, $template_params ),
|
263 |
+
'buttons' => $buttons,
|
264 |
+
'redirect' => false,
|
265 |
+
'has_errors' => $has_errors,
|
266 |
+
'has_back' => true,
|
267 |
+
'notification' => $notification,
|
268 |
+
'is_close' => $is_close,
|
269 |
+
'size' => 'normal',
|
270 |
+
);
|
271 |
+
}
|
272 |
+
|
273 |
+
/**
|
274 |
+
* Check if setup sheet completed
|
275 |
+
*
|
276 |
+
* @since 1.6.2
|
277 |
+
*
|
278 |
+
* @param $submitted_data
|
279 |
+
*
|
280 |
+
* @return bool
|
281 |
+
*/
|
282 |
+
public function setup_sheet_is_completed( $submitted_data ) {
|
283 |
+
$multi_id = '';
|
284 |
+
if ( isset( $submitted_data['multi_id'] ) ) {
|
285 |
+
$multi_id = $submitted_data['multi_id'];
|
286 |
+
}
|
287 |
+
|
288 |
+
if ( empty( $multi_id ) ) {
|
289 |
+
return false;
|
290 |
+
}
|
291 |
+
|
292 |
+
$file_name = $this->get_multi_id_quiz_settings_value( $multi_id, 'file_name', '' );
|
293 |
+
|
294 |
+
if ( empty( $file_name ) ) {
|
295 |
+
return false;
|
296 |
+
}
|
297 |
+
|
298 |
+
$file_id = $this->get_multi_id_quiz_settings_value( $multi_id, 'file_id', '' );
|
299 |
+
|
300 |
+
if ( empty( $file_id ) ) {
|
301 |
+
return false;
|
302 |
+
}
|
303 |
+
|
304 |
+
return true;
|
305 |
+
}
|
306 |
+
|
307 |
+
/**
|
308 |
+
* Check if pick name step completed
|
309 |
+
*
|
310 |
+
* @since 1.6.2
|
311 |
+
*
|
312 |
+
* @param $submitted_data
|
313 |
+
*
|
314 |
+
* @return bool
|
315 |
+
*/
|
316 |
+
public function pick_name_is_completed( $submitted_data ) {
|
317 |
+
$multi_id = '';
|
318 |
+
if ( isset( $submitted_data['multi_id'] ) ) {
|
319 |
+
$multi_id = $submitted_data['multi_id'];
|
320 |
+
}
|
321 |
+
|
322 |
+
if ( empty( $multi_id ) ) {
|
323 |
+
return false;
|
324 |
+
}
|
325 |
+
|
326 |
+
$name = $this->get_multi_id_quiz_settings_value( $multi_id, 'name', '' );
|
327 |
+
|
328 |
+
if ( empty( $name ) ) {
|
329 |
+
return false;
|
330 |
+
}
|
331 |
+
|
332 |
+
return true;
|
333 |
+
}
|
334 |
+
|
335 |
+
/**
|
336 |
+
* Generate multi id for multiple connection
|
337 |
+
*
|
338 |
+
* @since 1.6.2
|
339 |
+
* @return string
|
340 |
+
*/
|
341 |
+
public function generate_multi_id() {
|
342 |
+
return uniqid( 'googlesheet_', true );
|
343 |
+
}
|
344 |
+
|
345 |
+
|
346 |
+
/**
|
347 |
+
* Override how multi connection displayed
|
348 |
+
*
|
349 |
+
* @since 1.6.2
|
350 |
+
* @return array
|
351 |
+
*/
|
352 |
+
public function get_multi_ids() {
|
353 |
+
$multi_ids = array();
|
354 |
+
foreach ( $this->get_quiz_settings_values() as $key => $value ) {
|
355 |
+
$multi_ids[] = array(
|
356 |
+
'id' => $key,
|
357 |
+
// use name that was added by user on creating connection
|
358 |
+
'label' => isset( $value['name'] ) ? $value['name'] : $key,
|
359 |
+
);
|
360 |
+
}
|
361 |
+
|
362 |
+
return $multi_ids;
|
363 |
+
}
|
364 |
+
|
365 |
+
/**
|
366 |
+
* Disconnect a connection from current quiz
|
367 |
+
*
|
368 |
+
* @since 1.6.2
|
369 |
+
*
|
370 |
+
* @param array $submitted_data
|
371 |
+
*/
|
372 |
+
public function disconnect_quiz( $submitted_data ) {
|
373 |
+
// only execute if multi_id provided on submitted data
|
374 |
+
if ( isset( $submitted_data['multi_id'] ) && ! empty( $submitted_data['multi_id'] ) ) {
|
375 |
+
$addon_quiz_settings = $this->get_quiz_settings_values();
|
376 |
+
unset( $addon_quiz_settings[ $submitted_data['multi_id'] ] );
|
377 |
+
$this->save_quiz_settings_values( $addon_quiz_settings );
|
378 |
+
}
|
379 |
+
}
|
380 |
+
|
381 |
+
/**
|
382 |
+
* Check if multi_id quiz settings values completed
|
383 |
+
*
|
384 |
+
* Override when needed
|
385 |
+
*
|
386 |
+
* @since 1.6.2
|
387 |
+
*
|
388 |
+
* @param $multi_id
|
389 |
+
*
|
390 |
+
* @return bool
|
391 |
+
*/
|
392 |
+
public function is_multi_quiz_settings_complete( $multi_id ) {
|
393 |
+
$data = array( 'multi_id' => $multi_id );
|
394 |
+
|
395 |
+
if ( ! $this->pick_name_is_completed( $data ) ) {
|
396 |
+
return false;
|
397 |
+
}
|
398 |
+
|
399 |
+
if ( ! $this->setup_sheet_is_completed( $data ) ) {
|
400 |
+
return false;
|
401 |
+
}
|
402 |
+
|
403 |
+
return true;
|
404 |
+
}
|
405 |
+
}
|
addons/pro/googlesheet/forminator-addon-googlesheet.php
CHANGED
@@ -34,6 +34,9 @@ final class Forminator_Addon_Googlesheet extends Forminator_Addon_Abstract {
|
|
34 |
protected $_poll_settings = 'Forminator_Addon_Googlesheet_Poll_Settings';
|
35 |
protected $_poll_hooks = 'Forminator_Addon_Googlesheet_Poll_Hooks';
|
36 |
|
|
|
|
|
|
|
37 |
/**
|
38 |
* Forminator_Addon_Googlesheet constructor.
|
39 |
*
|
@@ -750,4 +753,64 @@ final class Forminator_Addon_Googlesheet extends Forminator_Addon_Abstract {
|
|
750 |
return true;
|
751 |
}
|
752 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
753 |
}
|
34 |
protected $_poll_settings = 'Forminator_Addon_Googlesheet_Poll_Settings';
|
35 |
protected $_poll_hooks = 'Forminator_Addon_Googlesheet_Poll_Hooks';
|
36 |
|
37 |
+
protected $_quiz_settings = 'Forminator_Addon_Googlesheet_Quiz_Settings';
|
38 |
+
protected $_quiz_hooks = 'Forminator_Addon_Googlesheet_Quiz_Hooks';
|
39 |
+
|
40 |
/**
|
41 |
* Forminator_Addon_Googlesheet constructor.
|
42 |
*
|
753 |
return true;
|
754 |
}
|
755 |
|
756 |
+
/**
|
757 |
+
* Flag for check if and addon connected to a quiz(quiz settings such as list id completed)
|
758 |
+
*
|
759 |
+
* Please apply necessary WordPress hook on the inheritance class
|
760 |
+
*
|
761 |
+
* @since 1.6.1
|
762 |
+
*
|
763 |
+
* @param $quiz_id
|
764 |
+
*
|
765 |
+
* @return boolean
|
766 |
+
*/
|
767 |
+
public function is_quiz_connected( $quiz_id ) {
|
768 |
+
try {
|
769 |
+
$quiz_settings_instance = null;
|
770 |
+
if ( ! $this->is_connected() ) {
|
771 |
+
throw new Forminator_Addon_Googlesheet_Exception( __( 'GoogleSheet is not connected', Forminator::DOMAIN ) );
|
772 |
+
}
|
773 |
+
|
774 |
+
$quiz_settings_instance = $this->get_addon_quiz_settings( $quiz_id );
|
775 |
+
if ( ! $quiz_settings_instance instanceof Forminator_Addon_Googlesheet_Quiz_Settings ) {
|
776 |
+
throw new Forminator_Addon_Googlesheet_Exception( __( 'Invalid Quiz Settings of GoogleSheet', Forminator::DOMAIN ) );
|
777 |
+
}
|
778 |
+
|
779 |
+
// Mark as active when there is at least one active connection
|
780 |
+
if ( false === $quiz_settings_instance->find_one_active_connection() ) {
|
781 |
+
throw new Forminator_Addon_Googlesheet_Exception( __( 'No active GoogleSheet connection found in this quiz', Forminator::DOMAIN ) );
|
782 |
+
}
|
783 |
+
|
784 |
+
$is_quiz_connected = true;
|
785 |
+
|
786 |
+
} catch ( Forminator_Addon_Googlesheet_Exception $e ) {
|
787 |
+
|
788 |
+
$is_quiz_connected = false;
|
789 |
+
}
|
790 |
+
|
791 |
+
/**
|
792 |
+
* Filter connected status GoogleSheet with the quiz
|
793 |
+
*
|
794 |
+
* @since 1.6.1
|
795 |
+
*
|
796 |
+
* @param bool $is_quiz_connected
|
797 |
+
* @param int $quiz_id Current Quiz ID
|
798 |
+
* @param Forminator_Addon_Googlesheet_Quiz_Settings|null $quiz_settings_instance Instance of quiz settings, or null when unavailable
|
799 |
+
*
|
800 |
+
*/
|
801 |
+
$is_quiz_connected = apply_filters( 'forminator_addon_googlesheet_is_quiz_connected', $is_quiz_connected, $quiz_id, $quiz_settings_instance );
|
802 |
+
|
803 |
+
return $is_quiz_connected;
|
804 |
+
}
|
805 |
+
|
806 |
+
/**
|
807 |
+
* Allow multiple connection on one quiz
|
808 |
+
*
|
809 |
+
* @since 1.6.1
|
810 |
+
* @return bool
|
811 |
+
*/
|
812 |
+
public function is_allow_multi_on_quiz() {
|
813 |
+
return true;
|
814 |
+
}
|
815 |
+
|
816 |
}
|
addons/pro/googlesheet/googlesheet.php
CHANGED
@@ -50,6 +50,9 @@ require_once dirname( __FILE__ ) . '/forminator-addon-googlesheet-form-hooks.php
|
|
50 |
require_once dirname( __FILE__ ) . '/forminator-addon-googlesheet-poll-settings.php';
|
51 |
require_once dirname( __FILE__ ) . '/forminator-addon-googlesheet-poll-hooks.php';
|
52 |
|
|
|
|
|
|
|
53 |
require_once dirname( __FILE__ ) . '/lib/class-wp-googlesheet-client-logger.php';
|
54 |
//Direct Load
|
55 |
Forminator_Addon_Loader::get_instance()->register( 'Forminator_Addon_Googlesheet' );
|
50 |
require_once dirname( __FILE__ ) . '/forminator-addon-googlesheet-poll-settings.php';
|
51 |
require_once dirname( __FILE__ ) . '/forminator-addon-googlesheet-poll-hooks.php';
|
52 |
|
53 |
+
require_once dirname( __FILE__ ) . '/forminator-addon-googlesheet-quiz-settings.php';
|
54 |
+
require_once dirname( __FILE__ ) . '/forminator-addon-googlesheet-quiz-hooks.php';
|
55 |
+
|
56 |
require_once dirname( __FILE__ ) . '/lib/class-wp-googlesheet-client-logger.php';
|
57 |
//Direct Load
|
58 |
Forminator_Addon_Loader::get_instance()->register( 'Forminator_Addon_Googlesheet' );
|
addons/pro/googlesheet/views/quiz-settings/pick-name.php
ADDED
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
// defaults
|
3 |
+
$vars = array(
|
4 |
+
'error_message' => '',
|
5 |
+
'name' => '',
|
6 |
+
'name_error' => '',
|
7 |
+
'multi_id' => '',
|
8 |
+
'file_id' => '',
|
9 |
+
);
|
10 |
+
/** @var array $template_vars */
|
11 |
+
foreach ( $template_vars as $key => $val ) {
|
12 |
+
$vars[ $key ] = $val;
|
13 |
+
}
|
14 |
+
|
15 |
+
?>
|
16 |
+
<div class="integration-header">
|
17 |
+
<h3 class="sui-box-title" id="dialogTitle2"><?php echo esc_html( __( 'Setup Name', Forminator::DOMAIN ) ); ?></h3>
|
18 |
+
<p><?php esc_html_e( 'Setup friendly name for this integration, so it will be easily identified by you.', Forminator::DOMAIN ); ?></p>
|
19 |
+
<?php if ( ! empty( $vars['file_id'] ) ) : ?>
|
20 |
+
<span class="sui-notice sui-notice-info"><p>
|
21 |
+
<?php esc_html_e( 'You can open your current spread sheet', Forminator::DOMAIN ); ?>
|
22 |
+
<a target="_blank" href="https://docs.google.com/spreadsheets/d/<?php echo esc_attr( $vars['file_id'] ); ?>"><?php esc_html_e( 'here', Forminator::DOMAIN ); ?></a>.</p></span>
|
23 |
+
<?php endif; ?>
|
24 |
+
<?php if ( ! empty( $vars['error_message'] ) ) : ?>
|
25 |
+
<span class="sui-notice sui-notice-error"><p><?php echo esc_html( $vars['error_message'] ); ?></p></span>
|
26 |
+
<?php endif; ?>
|
27 |
+
</div>
|
28 |
+
<form>
|
29 |
+
<div class="sui-form-field <?php echo esc_attr( ! empty( $vars['name_error'] ) ? 'sui-form-field-error' : '' ); ?>">
|
30 |
+
<label class="sui-label"><?php esc_html_e( 'Name', Forminator::DOMAIN ); ?></label>
|
31 |
+
<input
|
32 |
+
class="sui-form-control"
|
33 |
+
name="name" placeholder="<?php echo esc_attr( __( 'Friendly Name', Forminator::DOMAIN ) ); ?>"
|
34 |
+
value="<?php echo esc_attr( $vars['name'] ); ?>">
|
35 |
+
<?php if ( ! empty( $vars['name_error'] ) ) : ?>
|
36 |
+
<span class="sui-error-message"><?php echo esc_html( $vars['name_error'] ); ?></span>
|
37 |
+
<?php endif; ?>
|
38 |
+
</div>
|
39 |
+
<input type="hidden" name="multi_id" value="<?php echo esc_attr( $vars['multi_id'] ); ?>">
|
40 |
+
</form>
|
addons/pro/googlesheet/views/quiz-settings/setup-sheet.php
ADDED
@@ -0,0 +1,75 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
// Defaults
|
3 |
+
$vars = array(
|
4 |
+
'error_message' => '',
|
5 |
+
'folder_id' => '',
|
6 |
+
'folder_id_error' => '',
|
7 |
+
'file_name' => '',
|
8 |
+
'file_name_error' => '',
|
9 |
+
'file_id' => '',
|
10 |
+
);
|
11 |
+
|
12 |
+
/** @var array $template_vars */
|
13 |
+
foreach ( $template_vars as $key => $val ) {
|
14 |
+
$vars[ $key ] = $val;
|
15 |
+
} ?>
|
16 |
+
|
17 |
+
<div class="integration-header">
|
18 |
+
|
19 |
+
<h3 class="sui-box-title" id="dialogTitle2"><?php echo esc_html( __( 'Create Spread Sheet', Forminator::DOMAIN ) ); ?></h3>
|
20 |
+
<p><?php esc_html_e( 'Create Spreadsheet that will be used to send submissions.', Forminator::DOMAIN ); ?></p>
|
21 |
+
<?php if ( ! empty( $vars['file_id'] ) ) : ?>
|
22 |
+
<span class="sui-notice sui-notice-info"><p>
|
23 |
+
<?php esc_html_e( 'You can open your current spread sheet', Forminator::DOMAIN ); ?>
|
24 |
+
<a target="_blank" href="https://docs.google.com/spreadsheets/d/<?php echo esc_attr( $vars['file_id'] ); ?>"><?php esc_html_e( 'here', Forminator::DOMAIN ); ?></a>.</p></span>
|
25 |
+
<?php endif; ?>
|
26 |
+
<?php if ( ! empty( $vars['error_message'] ) ) : ?>
|
27 |
+
<span class="sui-notice sui-notice-error"><p><?php echo esc_html( $vars['error_message'] ); ?></p></span>
|
28 |
+
<?php endif; ?>
|
29 |
+
</div>
|
30 |
+
<form>
|
31 |
+
<div class="sui-form-field <?php echo esc_attr( ! empty( $vars['folder_id_error'] ) ? 'sui-form-field-error' : '' ); ?>">
|
32 |
+
<label class="sui-label"><?php esc_html_e( 'Drive Folder ID', Forminator::DOMAIN ); ?></label>
|
33 |
+
<input
|
34 |
+
class="sui-form-control"
|
35 |
+
name="folder_id" placeholder="<?php echo esc_attr( __( 'Folder ID', Forminator::DOMAIN ) ); ?>"
|
36 |
+
value="<?php echo esc_attr( $vars['folder_id'] ); ?>">
|
37 |
+
<?php if ( ! empty( $vars['folder_id_error'] ) ) : ?>
|
38 |
+
<span class="sui-error-message"><?php echo esc_html( $vars['folder_id_error'] ); ?></span>
|
39 |
+
<?php endif; ?>
|
40 |
+
<span class="sui-description">
|
41 |
+
<ol class="instructions" id="directory-instructions" style="display: block;">
|
42 |
+
<li>
|
43 |
+
<?php esc_html_e( 'It is optional, if Drive Folder ID omitted / empty, new spreadsheet will be created in your Google Drive home / root folder.', Forminator::DOMAIN ); ?>
|
44 |
+
</li>
|
45 |
+
<li>
|
46 |
+
<?php echo sprintf(
|
47 |
+
__( 'Go to your %1$s.', Forminator::DOMAIN ),
|
48 |
+
'<a href="https://drive.google.com/#my-drive" target="_blank">' . __( 'Drive account', Forminator::DOMAIN ) . '</a>'
|
49 |
+
); //wpcs: xss ok?>
|
50 |
+
<?php esc_html_e( 'Navigate to or create a new directory where you want to new spreadsheet created. Make sure you are viewing the destination directory.', Forminator::DOMAIN ); ?>
|
51 |
+
</li>
|
52 |
+
<li>
|
53 |
+
<?php echo sprintf(
|
54 |
+
__( 'The URL for the directory will be something similar to %1$s. The Directory ID would be the last part after %2$s, which is %3$s in this case.', Forminator::DOMAIN ),
|
55 |
+
'<em>https://drive.google.com/#folders/0B6GD66ctHXdCOWZKNDRIRGJJXS3</em>',
|
56 |
+
'<em>/#folders/</em>',
|
57 |
+
'<strong>0B6GD66ctHXdCOWZKNDRIRGJJXS3</strong>'
|
58 |
+
); //wpcs: xss ok?></li>
|
59 |
+
</ol>
|
60 |
+
</span>
|
61 |
+
</div>
|
62 |
+
|
63 |
+
<div class="sui-form-field <?php echo esc_attr( ! empty( $vars['file_name_error'] ) ? 'sui-form-field-error' : '' ); ?>">
|
64 |
+
<label class="sui-label"><?php esc_html_e( 'Spreadsheet File Name', Forminator::DOMAIN ); ?></label>
|
65 |
+
<input
|
66 |
+
class="sui-form-control"
|
67 |
+
name="file_name" placeholder="<?php echo esc_attr( __( 'File Name', Forminator::DOMAIN ) ); ?>"
|
68 |
+
value="<?php echo esc_attr( $vars['file_name'] ); ?>">
|
69 |
+
<?php if ( ! empty( $vars['file_name_error'] ) ) : ?>
|
70 |
+
<span class="sui-error-message"><?php echo esc_html( $vars['file_name_error'] ); ?></span>
|
71 |
+
<?php endif; ?>
|
72 |
+
</div>
|
73 |
+
|
74 |
+
<input type="hidden" name="multi_id" value="<?php echo esc_attr( $vars['multi_id'] ); ?>">
|
75 |
+
</form>
|
addons/pro/gutenberg/library/blocks/class-block-forms.php
CHANGED
@@ -148,7 +148,7 @@ class Forminator_GFBlock_Forms extends Forminator_GFBlock_Abstract {
|
|
148 |
* @return array
|
149 |
*/
|
150 |
public function get_forms() {
|
151 |
-
$forms = Forminator_API::get_forms( null, 1, 100 );
|
152 |
$form_list = array(
|
153 |
array(
|
154 |
'value' => '',
|
148 |
* @return array
|
149 |
*/
|
150 |
public function get_forms() {
|
151 |
+
$forms = Forminator_API::get_forms( null, 1, 100, Forminator_Custom_Form_Model::STATUS_PUBLISH );
|
152 |
$form_list = array(
|
153 |
array(
|
154 |
'value' => '',
|
addons/pro/gutenberg/library/blocks/class-block-polls.php
CHANGED
@@ -111,7 +111,7 @@ class Forminator_GFBlock_Polls extends Forminator_GFBlock_Abstract {
|
|
111 |
* @return array
|
112 |
*/
|
113 |
public function get_forms() {
|
114 |
-
$forms = Forminator_API::get_polls(null, 1, 100);
|
115 |
$form_list = array(
|
116 |
array(
|
117 |
'value' => '',
|
111 |
* @return array
|
112 |
*/
|
113 |
public function get_forms() {
|
114 |
+
$forms = Forminator_API::get_polls( null, 1, 100, Forminator_Custom_Form_Model::STATUS_PUBLISH );
|
115 |
$form_list = array(
|
116 |
array(
|
117 |
'value' => '',
|
addons/pro/gutenberg/library/blocks/class-block-quizzes.php
CHANGED
@@ -142,7 +142,7 @@ class Forminator_GFBlock_Quizzes extends Forminator_GFBlock_Abstract {
|
|
142 |
* @return array
|
143 |
*/
|
144 |
public function get_forms() {
|
145 |
-
$forms = Forminator_API::get_quizzes( null, 1, 100 );
|
146 |
|
147 |
$form_list = array(
|
148 |
array(
|
142 |
* @return array
|
143 |
*/
|
144 |
public function get_forms() {
|
145 |
+
$forms = Forminator_API::get_quizzes( null, 1, 100, Forminator_Custom_Form_Model::STATUS_PUBLISH );
|
146 |
|
147 |
$form_list = array(
|
148 |
array(
|
addons/pro/slack/forminator-addon-slack-quiz-hooks.php
ADDED
@@ -0,0 +1,613 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Class Forminator_Addon_Slack_Quiz_Hooks
|
5 |
+
*
|
6 |
+
* @since 1.6.2
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class Forminator_Addon_Slack_Quiz_Hooks extends Forminator_Addon_Quiz_Hooks_Abstract {
|
10 |
+
|
11 |
+
/**
|
12 |
+
* Addon instance are auto available form abstract
|
13 |
+
* Its added here for development purpose,
|
14 |
+
* Auto-complete will resolve addon directly to `Slack` instance instead of the abstract
|
15 |
+
* And its public properties can be exposed
|
16 |
+
*
|
17 |
+
* @since 1.6.2
|
18 |
+
* @var Forminator_Addon_Slack
|
19 |
+
*/
|
20 |
+
protected $addon;
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Quiz Settings Instance
|
24 |
+
*
|
25 |
+
* @since 1.6.2
|
26 |
+
* @var Forminator_Addon_Slack_Quiz_Settings | null
|
27 |
+
*/
|
28 |
+
protected $quiz_settings_instance;
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Save status of request sent and received for each connected Slack Connection
|
32 |
+
*
|
33 |
+
* @since 1.6.2
|
34 |
+
*
|
35 |
+
* @param array $submitted_data
|
36 |
+
* @param array $form_entry_fields
|
37 |
+
*
|
38 |
+
* @return array
|
39 |
+
*/
|
40 |
+
public function add_entry_fields( $submitted_data, $form_entry_fields = array() ) {
|
41 |
+
|
42 |
+
$quiz_id = $this->quiz_id;
|
43 |
+
$quiz_settings_instance = $this->quiz_settings_instance;
|
44 |
+
|
45 |
+
/**
|
46 |
+
* Filter Slack submitted quiz data to be processed
|
47 |
+
*
|
48 |
+
* @since 1.6.2
|
49 |
+
*
|
50 |
+
* @param array $submitted_data
|
51 |
+
* @param int $quiz_id current Quiz ID
|
52 |
+
* @param Forminator_Addon_Slack_Quiz_Settings $quiz_settings_instance Slack Addon Quiz Settings instance
|
53 |
+
*/
|
54 |
+
$submitted_data = apply_filters(
|
55 |
+
'forminator_addon_slack_quiz_submitted_data',
|
56 |
+
$submitted_data,
|
57 |
+
$quiz_id,
|
58 |
+
$quiz_settings_instance
|
59 |
+
);
|
60 |
+
|
61 |
+
$addon_setting_values = $this->quiz_settings_instance->get_quiz_settings_values();
|
62 |
+
|
63 |
+
$data = array();
|
64 |
+
|
65 |
+
/**
|
66 |
+
* Fires before send message to Slack
|
67 |
+
*
|
68 |
+
* @since 1.6.2
|
69 |
+
*
|
70 |
+
* @param int $quiz_id current Quiz ID
|
71 |
+
* @param array $submitted_data
|
72 |
+
* @param Forminator_Addon_Slack_Quiz_Settings $quiz_settings_instance Slack Addon Quiz Settings instance
|
73 |
+
*/
|
74 |
+
do_action( 'forminator_addon_slack_quiz_before_send_message', $quiz_id, $submitted_data, $quiz_settings_instance );
|
75 |
+
|
76 |
+
foreach ( $addon_setting_values as $key => $addon_setting_value ) {
|
77 |
+
// save it on entry field, with name `status-$MULTI_ID`, and value is the return result on sending data to slack
|
78 |
+
if ( $quiz_settings_instance->is_multi_quiz_settings_complete( $key ) ) {
|
79 |
+
// exec only on completed connection
|
80 |
+
$data[] = array(
|
81 |
+
'name' => 'status-' . $key,
|
82 |
+
'value' => $this->get_status_on_send_message( $key, $submitted_data, $addon_setting_value, $form_entry_fields ),
|
83 |
+
);
|
84 |
+
}
|
85 |
+
|
86 |
+
}
|
87 |
+
|
88 |
+
$entry_fields = $data;
|
89 |
+
/**
|
90 |
+
* Filter Slack entry fields to be saved to entry model
|
91 |
+
*
|
92 |
+
* @since 1.6.2
|
93 |
+
*
|
94 |
+
* @param array $entry_fields
|
95 |
+
* @param int $quiz_id current Quiz ID
|
96 |
+
* @param array $submitted_data
|
97 |
+
* @param Forminator_Addon_Slack_Quiz_Settings $quiz_settings_instance Slack Addon Quiz Settings instance
|
98 |
+
*/
|
99 |
+
$data = apply_filters(
|
100 |
+
'forminator_addon_slack_quiz_entry_fields',
|
101 |
+
$entry_fields,
|
102 |
+
$quiz_id,
|
103 |
+
$submitted_data,
|
104 |
+
$quiz_settings_instance
|
105 |
+
);
|
106 |
+
|
107 |
+
return $data;
|
108 |
+
|
109 |
+
}
|
110 |
+
|
111 |
+
/**
|
112 |
+
* Get status on send message to Slack
|
113 |
+
*
|
114 |
+
* @since 1.6.2
|
115 |
+
*
|
116 |
+
* @param $connection_id
|
117 |
+
* @param $submitted_data
|
118 |
+
* @param $connection_settings
|
119 |
+
* @param $quiz_entry_fields
|
120 |
+
*
|
121 |
+
* @return array `is_sent` true means its success send data to Slack, false otherwise
|
122 |
+
*/
|
123 |
+
private function get_status_on_send_message( $connection_id, $submitted_data, $connection_settings, $quiz_entry_fields ) {
|
124 |
+
// initialize as null
|
125 |
+
$api = null;
|
126 |
+
|
127 |
+
$quiz_id = $this->quiz_id;
|
128 |
+
$quiz_settings_instance = $this->quiz_settings_instance;
|
129 |
+
$quiz_settings = $this->quiz_settings_instance->get_quiz_settings();
|
130 |
+
|
131 |
+
//check required fields
|
132 |
+
try {
|
133 |
+
$api = $this->addon->get_api();
|
134 |
+
$args = array();
|
135 |
+
|
136 |
+
if ( ! isset( $connection_settings['target_id'] ) ) {
|
137 |
+
throw new Forminator_Addon_Slack_Exception( __( 'Target ID not properly setup.', Forminator::DOMAIN ) );
|
138 |
+
}
|
139 |
+
|
140 |
+
if ( ! isset( $connection_settings['message'] ) ) {
|
141 |
+
throw new Forminator_Addon_Slack_Exception( __( 'Message not properly setup.', Forminator::DOMAIN ) );
|
142 |
+
}
|
143 |
+
$text_message = $connection_settings['message'];
|
144 |
+
$text_message = forminator_replace_variables( $text_message );
|
145 |
+
|
146 |
+
// {quiz_name_replace}
|
147 |
+
$text_message = str_ireplace( '{quiz_name}', forminator_get_name_from_model( $this->quiz ), $text_message );
|
148 |
+
|
149 |
+
$attachments = $this->get_quiz_data_as_attachments( $submitted_data, $quiz_entry_fields );
|
150 |
+
|
151 |
+
/**
|
152 |
+
* Filter `attachments` to passed onto API
|
153 |
+
*
|
154 |
+
* @since 1.4
|
155 |
+
*
|
156 |
+
* @param string $card_name
|
157 |
+
* @param int $quiz_id Current Quiz id
|
158 |
+
* @param string $connection_id ID of current connection
|
159 |
+
* @param array $submitted_data
|
160 |
+
* @param array $connection_settings current connection setting, contains options of like `name`, `target_id` etc
|
161 |
+
* @param array $quiz_entry_fields default entry fields of form
|
162 |
+
* @param array $quiz_settings Displayed Quiz settings
|
163 |
+
* @param Forminator_Addon_Slack_Quiz_Settings $quiz_settings_instance Slack Addon Quiz Settings instance
|
164 |
+
*/
|
165 |
+
$attachments = apply_filters(
|
166 |
+
'forminator_addon_slack_quiz_message_attachments',
|
167 |
+
$attachments,
|
168 |
+
$quiz_id,
|
169 |
+
$connection_id,
|
170 |
+
$submitted_data,
|
171 |
+
$connection_settings,
|
172 |
+
$quiz_entry_fields,
|
173 |
+
$quiz_settings,
|
174 |
+
$quiz_settings_instance
|
175 |
+
);
|
176 |
+
|
177 |
+
if ( ! empty( $attachments ) ) {
|
178 |
+
$args['attachments'] = $attachments;
|
179 |
+
}
|
180 |
+
|
181 |
+
$args['mrkdwn'] = true;
|
182 |
+
/**
|
183 |
+
* Filter arguments to passed on to Send Message Slack API
|
184 |
+
*
|
185 |
+
* @since 1.3
|
186 |
+
*
|
187 |
+
* @param array $args
|
188 |
+
* @param int $quiz_id Current Quiz id
|
189 |
+
* @param string $connection_id ID of current connection
|
190 |
+
* @param array $submitted_data
|
191 |
+
* @param array $connection_settings current connection setting, contains options of like `name`, `target_id` etc
|
192 |
+
* @param array $quiz_entry_fields default entry fields of form
|
193 |
+
* @param array $quiz_settings Displayed Quiz settings
|
194 |
+
* @param Forminator_Addon_Slack_Quiz_Settings $quiz_settings_instance Slack Addon Quiz Settings instance
|
195 |
+
*/
|
196 |
+
$args = apply_filters(
|
197 |
+
'forminator_addon_slack_quiz_send_message_args',
|
198 |
+
$args,
|
199 |
+
$quiz_id,
|
200 |
+
$connection_id,
|
201 |
+
$submitted_data,
|
202 |
+
$connection_settings,
|
203 |
+
$quiz_entry_fields,
|
204 |
+
$quiz_settings,
|
205 |
+
$quiz_settings_instance
|
206 |
+
);
|
207 |
+
|
208 |
+
$post_message_request = $api->chat_post_message( $connection_settings['target_id'], $text_message, $args );
|
209 |
+
|
210 |
+
$ts = '';
|
211 |
+
if ( is_object( $post_message_request ) && isset( $post_message_request->ts ) ) {
|
212 |
+
$ts = (string) $post_message_request->ts;
|
213 |
+
}
|
214 |
+
|
215 |
+
return array(
|
216 |
+
'is_sent' => true,
|
217 |
+
'connection_name' => $connection_settings['name'],
|
218 |
+
'description' => __( 'Successfully send data to Slack', Forminator::DOMAIN ),
|
219 |
+
'data_sent' => $api->get_last_data_sent(),
|
220 |
+
'data_received' => $api->get_last_data_received(),
|
221 |
+
'url_request' => $api->get_last_url_request(),
|
222 |
+
'ts' => $ts, // for delete reference
|
223 |
+
'target_id' => $connection_settings['target_id'], // for delete reference
|
224 |
+
);
|
225 |
+
|
226 |
+
} catch ( Forminator_Addon_Slack_Exception $e ) {
|
227 |
+
$addon_entry_fields = array(
|
228 |
+
'is_sent' => false,
|
229 |
+
'description' => $e->getMessage(),
|
230 |
+
'connection_name' => $connection_settings['name'],
|
231 |
+
'data_sent' => ( ( $api instanceof Forminator_Addon_Slack_Wp_Api ) ? $api->get_last_data_sent() : array() ),
|
232 |
+
'data_received' => ( ( $api instanceof Forminator_Addon_Slack_Wp_Api ) ? $api->get_last_data_received() : array() ),
|
233 |
+
'url_request' => ( ( $api instanceof Forminator_Addon_Slack_Wp_Api ) ? $api->get_last_url_request() : '' ),
|
234 |
+
'ts' => '', // for delete reference,
|
235 |
+
'target_id' => '', // for delete reference,
|
236 |
+
);
|
237 |
+
|
238 |
+
return $addon_entry_fields;
|
239 |
+
}
|
240 |
+
}
|
241 |
+
|
242 |
+
/**
|
243 |
+
* Get Quiz Data as attachments
|
244 |
+
*
|
245 |
+
* @since 1.6.2
|
246 |
+
*
|
247 |
+
* @param $submitted_data
|
248 |
+
* @param $quiz_entry_fields
|
249 |
+
*
|
250 |
+
* @return array
|
251 |
+
*/
|
252 |
+
public function get_quiz_data_as_attachments( $submitted_data, $quiz_entry_fields ) {
|
253 |
+
$attachments = array();
|
254 |
+
|
255 |
+
|
256 |
+
/**
|
257 |
+
* Attachment 1
|
258 |
+
* Answers
|
259 |
+
* - Questions
|
260 |
+
* - Answer
|
261 |
+
*/
|
262 |
+
$answers = array();
|
263 |
+
$correct_answers = 0;
|
264 |
+
$total_answers = 0;
|
265 |
+
$nowrong_result = '';
|
266 |
+
if ( is_array( $quiz_entry_fields ) && isset( $quiz_entry_fields[0] ) ) {
|
267 |
+
$quiz_entry = $quiz_entry_fields[0];
|
268 |
+
if ( isset( $quiz_entry['name'] ) && isset( $quiz_entry['value'] ) && 'entry' === $quiz_entry['name'] ) {
|
269 |
+
if ( is_array( $quiz_entry['value'] ) ) {
|
270 |
+
|
271 |
+
// KNOWLEDGE
|
272 |
+
if ( 'knowledge' === $this->quiz->quiz_type ) {
|
273 |
+
foreach ( $quiz_entry['value'] as $data ) {
|
274 |
+
$question = isset( $data['question'] ) ? $data['question'] : '';
|
275 |
+
$answer = isset( $data['answer'] ) ? $data['answer'] : '';
|
276 |
+
$is_correct = isset( $data['isCorrect'] ) ? $data['isCorrect'] : false;
|
277 |
+
|
278 |
+
$answers[] = array(
|
279 |
+
'question' => $question,
|
280 |
+
'answer' => $answer,
|
281 |
+
'is_correct' => $is_correct,
|
282 |
+
'result' => $is_correct ? __( 'Correct', Forminator::DOMAIN ) : __( 'Incorrect', Forminator::DOMAIN ),
|
283 |
+
);
|
284 |
+
if ( $is_correct ) {
|
285 |
+
$correct_answers ++;
|
286 |
+
}
|
287 |
+
$total_answers ++;
|
288 |
+
}
|
289 |
+
} elseif ( 'nowrong' === $this->quiz->quiz_type ) {
|
290 |
+
if ( isset( $quiz_entry['value'][0] )
|
291 |
+
&& is_array( $quiz_entry['value'][0] )
|
292 |
+
&& isset( $quiz_entry['value'][0]['value'] )
|
293 |
+
&& is_array( $quiz_entry['value'][0]['value'] ) ) {
|
294 |
+
|
295 |
+
$quiz_entry = $quiz_entry['value'][0]['value'];
|
296 |
+
|
297 |
+
$nowrong_result = ( isset( $quiz_entry['result'] ) && isset( $quiz_entry['result']['title'] ) ) ? $quiz_entry['result']['title'] : '';
|
298 |
+
|
299 |
+
$entry_questions = ( isset( $quiz_entry['answers'] ) && is_array( $quiz_entry['answers'] ) ) ? $quiz_entry['answers'] : array();
|
300 |
+
|
301 |
+
foreach ( $entry_questions as $entry_question ) {
|
302 |
+
$question = isset( $entry_question['question'] ) ? $entry_question['question'] : '';
|
303 |
+
$answer = isset( $entry_question['answer'] ) ? $entry_question['answer'] : '';
|
304 |
+
|
305 |
+
$answers[] = array(
|
306 |
+
'question' => $question,
|
307 |
+
'answer' => $answer,
|
308 |
+
'result' => $nowrong_result,
|
309 |
+
'is_correct' => true,
|
310 |
+
);
|
311 |
+
}
|
312 |
+
}
|
313 |
+
}
|
314 |
+
|
315 |
+
}
|
316 |
+
}
|
317 |
+
}
|
318 |
+
|
319 |
+
foreach ( $answers as $answer ) {
|
320 |
+
$attachment = array(
|
321 |
+
'title' => $answer['question'],
|
322 |
+
);
|
323 |
+
if ( 'knowledge' === $this->quiz->quiz_type ) {
|
324 |
+
$attachment['color'] = $answer['is_correct'] ? 'good' : 'danger';
|
325 |
+
}
|
326 |
+
|
327 |
+
$attachment_field = array(
|
328 |
+
'title' => '',
|
329 |
+
'value' => $answer['answer'],
|
330 |
+
'short' => false,
|
331 |
+
);
|
332 |
+
$attachment['fields'] = array( $attachment_field );
|
333 |
+
|
334 |
+
$attachments[] = $attachment;
|
335 |
+
}
|
336 |
+
|
337 |
+
|
338 |
+
/**
|
339 |
+
* Attachment 2
|
340 |
+
* Result
|
341 |
+
*/
|
342 |
+
$attachment_fields = array();
|
343 |
+
|
344 |
+
if ( 'knowledge' === $this->quiz->quiz_type ) {
|
345 |
+
$attachment_fields[] = array(
|
346 |
+
'title' => __( 'Correct Answers', Forminator::DOMAIN ),
|
347 |
+
'value' => $correct_answers,
|
348 |
+
'short' => true,
|
349 |
+
);
|
350 |
+
$attachment_fields[] = array(
|
351 |
+
'title' => __( 'Total Answers', Forminator::DOMAIN ),
|
352 |
+
'value' => $total_answers,
|
353 |
+
'short' => true,
|
354 |
+
);
|
355 |
+
} elseif ( 'nowrong' === $this->quiz->quiz_type ) {
|
356 |
+
$attachment_fields[] = array(
|
357 |
+
'title' => $nowrong_result,
|
358 |
+
'value' => '',
|
359 |
+
'short' => false,
|
360 |
+
);
|
361 |
+
}
|
362 |
+
|
363 |
+
$attachments[] = array(
|
364 |
+
'title' => __( 'Quiz Result', Forminator::DOMAIN ),
|
365 |
+
'fields' => $attachment_fields,
|
366 |
+
'color' => 'warning',
|
367 |
+
);
|
368 |
+
|
369 |
+
|
370 |
+
return $attachments;
|
371 |
+
}
|
372 |
+
|
373 |
+
|
374 |
+
/**
|
375 |
+
* Slack will add a column on the title/header row
|
376 |
+
* its called `Slack Info` which can be translated on forminator lang
|
377 |
+
*
|
378 |
+
* @since 1.6.2
|
379 |
+
* @return array
|
380 |
+
*/
|
381 |
+
public function on_export_render_title_row() {
|
382 |
+
|
383 |
+
$export_headers = array(
|
384 |
+
'info' => __( 'Slack Info', Forminator::DOMAIN ),
|
385 |
+
);
|
386 |
+
|
387 |
+
$quiz_id = $this->quiz_id;
|
388 |
+
$quiz_settings_instance = $this->quiz_settings_instance;
|
389 |
+
|
390 |
+
/**
|
391 |
+
* Filter Slack headers on export file
|
392 |
+
*
|
393 |
+
* @since 1.6.2
|
394 |
+
*
|
395 |
+
* @param array $export_headers headers to be displayed on export file
|
396 |
+
* @param int $quiz_id current Quiz ID
|
397 |
+
* @param Forminator_Addon_Slack_Quiz_Settings $quiz_settings_instance Slack Addon Quiz Settings instance
|
398 |
+
*/
|
399 |
+
$export_headers = apply_filters(
|
400 |
+
'forminator_addon_slack_quiz_export_headers',
|
401 |
+
$export_headers,
|
402 |
+
$quiz_id,
|
403 |
+
$quiz_settings_instance
|
404 |
+
);
|
405 |
+
|
406 |
+
return $export_headers;
|
407 |
+
}
|
408 |
+
|
409 |
+
/**
|
410 |
+
* Slack will add a column that give user information whether sending data to Slack successfully or not
|
411 |
+
* It will only add one column even its multiple connection, every connection will be separated by comma
|
412 |
+
*
|
413 |
+
* @since 1.6.2
|
414 |
+
*
|
415 |
+
* @param Forminator_Form_Entry_Model $entry_model
|
416 |
+
* @param $addon_meta_data
|
417 |
+
*
|
418 |
+
* @return array
|
419 |
+
*/
|
420 |
+
public function on_export_render_entry( Forminator_Form_Entry_Model $entry_model, $addon_meta_data ) {
|
421 |
+
|
422 |
+
$quiz_id = $this->quiz_id;
|
423 |
+
$quiz_settings_instance = $this->quiz_settings_instance;
|
424 |
+
|
425 |
+
/**
|
426 |
+
*
|
427 |
+
* Filter Slack metadata that previously saved on db to be processed
|
428 |
+
*
|
429 |
+
* @since 1.6.2
|
430 |
+
*
|
431 |
+
* @param array $addon_meta_data
|
432 |
+
* @param int $quiz_id current Quiz ID
|
433 |
+
* @param Forminator_Addon_Slack_Quiz_Settings $quiz_settings_instance Slack Addon Quiz Settings instance
|
434 |
+
*/
|
435 |
+
$addon_meta_data = apply_filters(
|
436 |
+
'forminator_addon_slack_quiz_metadata',
|
437 |
+
$addon_meta_data,
|
438 |
+
$quiz_id,
|
439 |
+
$quiz_settings_instance
|
440 |
+
);
|
441 |
+
|
442 |
+
$export_columns = array(
|
443 |
+
'info' => $this->get_from_addon_meta_data( $addon_meta_data, 'description', '' ),
|
444 |
+
);
|
445 |
+
|
446 |
+
/**
|
447 |
+
* Filter Slack columns to be displayed on export submissions
|
448 |
+
*
|
449 |
+
* @since 1.6.2
|
450 |
+
*
|
451 |
+
* @param array $export_columns column to be exported
|
452 |
+
* @param int $quiz_id current Quiz ID
|
453 |
+
* @param Forminator_Form_Entry_Model $entry_model Form Entry Model
|
454 |
+
* @param array $addon_meta_data meta data saved by addon on entry fields
|
455 |
+
* @param Forminator_Addon_Slack_Quiz_Settings $quiz_settings_instance Slack Addon Quiz Settings instance
|
456 |
+
*/
|
457 |
+
$export_columns = apply_filters(
|
458 |
+
'forminator_addon_slack_quiz_export_columns',
|
459 |
+
$export_columns,
|
460 |
+
$quiz_id,
|
461 |
+
$entry_model,
|
462 |
+
$addon_meta_data,
|
463 |
+
$quiz_settings_instance
|
464 |
+
);
|
465 |
+
|
466 |
+
return $export_columns;
|
467 |
+
}
|
468 |
+
|
469 |
+
/**
|
470 |
+
* It wil add new row on entry table of submission page, with couple of subentries
|
471 |
+
* subentries included are defined in @see Forminator_Addon_Slack_Quiz_Hooks::get_additional_entry_item()
|
472 |
+
*
|
473 |
+
* @since 1.6.1
|
474 |
+
*
|
475 |
+
* @param Forminator_Form_Entry_Model $entry_model
|
476 |
+
* @param $addon_meta_data
|
477 |
+
*
|
478 |
+
* @return array
|
479 |
+
*/
|
480 |
+
public function on_render_entry( Forminator_Form_Entry_Model $entry_model, $addon_meta_data ) {
|
481 |
+
|
482 |
+
$quiz_id = $this->quiz_id;
|
483 |
+
$quiz_settings_instance = $this->quiz_settings_instance;
|
484 |
+
|
485 |
+
/**
|
486 |
+
*
|
487 |
+
* Filter Slack metadata that previously saved on db to be processed
|
488 |
+
*
|
489 |
+
* @since 1.6.2
|
490 |
+
*
|
491 |
+
* @param array $addon_meta_data
|
492 |
+
* @param int $quiz_id current Quiz ID
|
493 |
+
* @param Forminator_Addon_Slack_Quiz_Settings $quiz_settings_instance Slack Addon Quiz Settings instance
|
494 |
+
*/
|
495 |
+
$addon_meta_data = apply_filters(
|
496 |
+
'forminator_addon_quiz_slack_metadata',
|
497 |
+
$addon_meta_data,
|
498 |
+
$quiz_id,
|
499 |
+
$quiz_settings_instance
|
500 |
+
);
|
501 |
+
|
502 |
+
|
503 |
+
$addon_meta_datas = $addon_meta_data;
|
504 |
+
if ( ! isset( $addon_meta_data[0] ) || ! is_array( $addon_meta_data[0] ) ) {
|
505 |
+
return array();
|
506 |
+
}
|
507 |
+
|
508 |
+
return $this->on_render_entry_multi_connection( $addon_meta_datas );
|
509 |
+
|
510 |
+
}
|
511 |
+
|
512 |
+
/**
|
513 |
+
* Loop through addon meta data on multiple Slack setup(s)
|
514 |
+
*
|
515 |
+
* @since 1.6.1
|
516 |
+
*
|
517 |
+
* @param $addon_meta_datas
|
518 |
+
*
|
519 |
+
* @return array
|
520 |
+
*/
|
521 |
+
private function on_render_entry_multi_connection( $addon_meta_datas ) {
|
522 |
+
$additional_entry_item = array();
|
523 |
+
foreach ( $addon_meta_datas as $addon_meta_data ) {
|
524 |
+
$additional_entry_item[] = $this->get_additional_entry_item( $addon_meta_data );
|
525 |
+
}
|
526 |
+
|
527 |
+
return $additional_entry_item;
|
528 |
+
|
529 |
+
}
|
530 |
+
|
531 |
+
/**
|
532 |
+
* Format additional entry item as label and value arrays
|
533 |
+
*
|
534 |
+
* - Integration Name : its defined by user when they adding Slack integration on their quiz
|
535 |
+
* - Sent To Slack : will be Yes/No value, that indicates whether sending data to Slack API was successful
|
536 |
+
* - Info : Text that are generated by addon when building and sending data to Slack @see Forminator_Addon_Slack_Quiz_Hooks::add_entry_fields()
|
537 |
+
* - Below subentries will be added if full log enabled, @see Forminator_Addon_Slack::is_show_full_log() @see FORMINATOR_ADDON_SLACK_SHOW_FULL_LOG
|
538 |
+
* - API URL : URL that wes requested when sending data to Slack
|
539 |
+
* - Data sent to Slack : encoded body request that was sent
|
540 |
+
* - Data received from Slack : json encoded body response that was received
|
541 |
+
*
|
542 |
+
* @param $addon_meta_data
|
543 |
+
*
|
544 |
+
* @since 1.6.1
|
545 |
+
* @return array
|
546 |
+
*/
|
547 |
+
private function get_additional_entry_item( $addon_meta_data ) {
|
548 |
+
|
549 |
+
if ( ! isset( $addon_meta_data['value'] ) || ! is_array( $addon_meta_data['value'] ) ) {
|
550 |
+
return array();
|
551 |
+
}
|
552 |
+
$status = $addon_meta_data['value'];
|
553 |
+
$additional_entry_item = array(
|
554 |
+
'label' => __( 'Slack Integration', Forminator::DOMAIN ),
|
555 |
+
'value' => '',
|
556 |
+
);
|
557 |
+
|
558 |
+
|
559 |
+
$sub_entries = array();
|
560 |
+
if ( isset( $status['connection_name'] ) ) {
|
561 |
+
$sub_entries[] = array(
|
562 |
+
'label' => __( 'Integration Name', Forminator::DOMAIN ),
|
563 |
+
'value' => $status['connection_name'],
|
564 |
+
);
|
565 |
+
}
|
566 |
+
|
567 |
+
if ( isset( $status['is_sent'] ) ) {
|
568 |
+
$is_sent = true === $status['is_sent'] ? __( 'Yes', Forminator::DOMAIN ) : __( 'No', Forminator::DOMAIN );
|
569 |
+
$sub_entries[] = array(
|
570 |
+
'label' => __( 'Sent To Slack', Forminator::DOMAIN ),
|
571 |
+
'value' => $is_sent,
|
572 |
+
);
|
573 |
+
}
|
574 |
+
|
575 |
+
if ( isset( $status['description'] ) ) {
|
576 |
+
$sub_entries[] = array(
|
577 |
+
'label' => __( 'Info', Forminator::DOMAIN ),
|
578 |
+
'value' => $status['description'],
|
579 |
+
);
|
580 |
+
}
|
581 |
+
|
582 |
+
if ( Forminator_Addon_Slack::is_show_full_log() ) {
|
583 |
+
// too long to be added on entry data enable this with `define('FORMINATOR_ADDON_SLACK_SHOW_FULL_LOG', true)`
|
584 |
+
if ( isset( $status['url_request'] ) ) {
|
585 |
+
$sub_entries[] = array(
|
586 |
+
'label' => __( 'API URL', Forminator::DOMAIN ),
|
587 |
+
'value' => $status['url_request'],
|
588 |
+
);
|
589 |
+
}
|
590 |
+
|
591 |
+
if ( isset( $status['data_sent'] ) ) {
|
592 |
+
$sub_entries[] = array(
|
593 |
+
'label' => __( 'Data sent to Slack', Forminator::DOMAIN ),
|
594 |
+
'value' => '<pre class="sui-code-snippet">' . wp_json_encode( $status['data_sent'], JSON_PRETTY_PRINT ) . '</pre>',
|
595 |
+
);
|
596 |
+
}
|
597 |
+
|
598 |
+
if ( isset( $status['data_received'] ) ) {
|
599 |
+
$sub_entries[] = array(
|
600 |
+
'label' => __( 'Data received from Slack', Forminator::DOMAIN ),
|
601 |
+
'value' => '<pre class="sui-code-snippet">' . wp_json_encode( $status['data_received'], JSON_PRETTY_PRINT ) . '</pre>',
|
602 |
+
);
|
603 |
+
}
|
604 |
+
}
|
605 |
+
|
606 |
+
|
607 |
+
$additional_entry_item['sub_entries'] = $sub_entries;
|
608 |
+
|
609 |
+
// return single array
|
610 |
+
return $additional_entry_item;
|
611 |
+
}
|
612 |
+
|
613 |
+
}
|
addons/pro/slack/forminator-addon-slack-quiz-settings-exception.php
ADDED
@@ -0,0 +1,68 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Class Forminator_Addon_Slack_Quiz_Settings_Exception
|
5 |
+
* Wrapper of Quiz Settings Slack Exception
|
6 |
+
*
|
7 |
+
* @since 1.6.2
|
8 |
+
*/
|
9 |
+
class Forminator_Addon_Slack_Quiz_Settings_Exception extends Forminator_Addon_Slack_Exception {
|
10 |
+
|
11 |
+
/**
|
12 |
+
* Holder of input exceptions
|
13 |
+
*
|
14 |
+
* @since 1.6.2
|
15 |
+
* @var array
|
16 |
+
*/
|
17 |
+
protected $input_exceptions = array();
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Forminator_Addon_Slack_Quiz_Settings_Exception constructor.
|
21 |
+
*
|
22 |
+
* Useful if input_id is needed for later.
|
23 |
+
* If no input_id needed, use @see Forminator_Addon_Slack_Exception
|
24 |
+
*
|
25 |
+
* @since 1.6.2
|
26 |
+
*
|
27 |
+
* @param string $message
|
28 |
+
* @param string $input_id
|
29 |
+
*/
|
30 |
+
public function __construct( $message = '', $input_id = '' ) {
|
31 |
+
parent::__construct( $message, 0 );
|
32 |
+
if ( ! empty( $input_id ) ) {
|
33 |
+
$this->add_input_exception( $message, $input_id );
|
34 |
+
}
|
35 |
+
}
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Set exception message for an input
|
39 |
+
*
|
40 |
+
* @since 1.6.2
|
41 |
+
*
|
42 |
+
* @param $message
|
43 |
+
* @param $input_id
|
44 |
+
*/
|
45 |
+
public function add_input_exception( $message, $input_id ) {
|
46 |
+
$this->input_exceptions[ $input_id ] = $message;
|
47 |
+
}
|
48 |
+
|
49 |
+
/**
|
50 |
+
* Get all input exceptions
|
51 |
+
*
|
52 |
+
* @since 1.6.2
|
53 |
+
* @return array
|
54 |
+
*/
|
55 |
+
public function get_input_exceptions() {
|
56 |
+
return $this->input_exceptions;
|
57 |
+
}
|
58 |
+
|
59 |
+
/**
|
60 |
+
* Check if there is input_exceptions_is_available
|
61 |
+
*
|
62 |
+
* @since 1.6.2
|
63 |
+
* @return bool
|
64 |
+
*/
|
65 |
+
public function input_exceptions_is_available() {
|
66 |
+
return count( $this->input_exceptions ) > 0;
|
67 |
+
}
|
68 |
+
}
|
addons/pro/slack/forminator-addon-slack-quiz-settings.php
ADDED
@@ -0,0 +1,637 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
require_once dirname( __FILE__ ) . '/forminator-addon-slack-quiz-settings-exception.php';
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class Forminator_Addon_Slack_Quiz_Settings
|
7 |
+
* Handle how quiz settings displayed and saved
|
8 |
+
*
|
9 |
+
* @since 1.6.2
|
10 |
+
*/
|
11 |
+
class Forminator_Addon_Slack_Quiz_Settings extends Forminator_Addon_Quiz_Settings_Abstract {
|
12 |
+
|
13 |
+
/**
|
14 |
+
* @var Forminator_Addon_Slack
|
15 |
+
* @since 1.6.2
|
16 |
+
*/
|
17 |
+
protected $addon;
|
18 |
+
|
19 |
+
public $target_types = array();
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Forminator_Addon_Slack_Quiz_Settings constructor.
|
23 |
+
*
|
24 |
+
* @since 1.6.2
|
25 |
+
*
|
26 |
+
* @param Forminator_Addon_Abstract $addon
|
27 |
+
* @param $quiz_id
|
28 |
+
*
|
29 |
+
* @throws Forminator_Addon_Exception
|
30 |
+
*/
|
31 |
+
public function __construct( Forminator_Addon_Abstract $addon, $quiz_id ) {
|
32 |
+
parent::__construct( $addon, $quiz_id );
|
33 |
+
|
34 |
+
$this->_update_quiz_settings_error_message = __(
|
35 |
+
'The update to your settings for this quiz failed, check the form input and try again.',
|
36 |
+
Forminator::DOMAIN
|
37 |
+
);
|
38 |
+
|
39 |
+
$this->target_types = array(
|
40 |
+
Forminator_Addon_Slack::TARGET_TYPE_PUBLIC_CHANNEL => __( 'Public Channel', Forminator::DOMAIN ),
|
41 |
+
Forminator_Addon_Slack::TARGET_TYPE_PRIVATE_CHANNEL => __( 'Private Channel', Forminator::DOMAIN ),
|
42 |
+
Forminator_Addon_Slack::TARGET_TYPE_DIRECT_MESSAGE => __( 'Direct Message', Forminator::DOMAIN ),
|
43 |
+
);
|
44 |
+
}
|
45 |
+
|
46 |
+
/**
|
47 |
+
* Slack Quiz Settings wizard
|
48 |
+
*
|
49 |
+
* @since 1.6.2
|
50 |
+
* @return array
|
51 |
+
*/
|
52 |
+
public function quiz_settings_wizards() {
|
53 |
+
// numerical array steps
|
54 |
+
return array(
|
55 |
+
array(
|
56 |
+
'callback' => array( $this, 'pick_name' ),
|
57 |
+
'is_completed' => array( $this, 'pick_name_is_completed' ),
|
58 |
+
),
|
59 |
+
array(
|
60 |
+
'callback' => array( $this, 'select_type' ),
|
61 |
+
'is_completed' => array( $this, 'select_type_is_completed' ),
|
62 |
+
),
|
63 |
+
array(
|
64 |
+
'callback' => array( $this, 'select_target' ),
|
65 |
+
'is_completed' => array( $this, 'select_target_is_completed' ),
|
66 |
+
),
|
67 |
+
array(
|
68 |
+
'callback' => array( $this, 'setup_message' ),
|
69 |
+
'is_completed' => array( $this, 'setup_message_is_completed' ),
|
70 |
+
),
|
71 |
+
);
|
72 |
+
}
|
73 |
+
|
74 |
+
/**
|
75 |
+
* Setup Connection Name
|
76 |
+
*
|
77 |
+
* @since 1.6.2
|
78 |
+
*
|
79 |
+
* @param $submitted_data
|
80 |
+
*
|
81 |
+
* @return array
|
82 |
+
*/
|
83 |
+
public function pick_name( $submitted_data ) {
|
84 |
+
$template = forminator_addon_slack_dir() . 'views/quiz-settings/pick-name.php';
|
85 |
+
|
86 |
+
$multi_id = $this->generate_multi_id();
|
87 |
+
if ( isset( $submitted_data['multi_id'] ) ) {
|
88 |
+
$multi_id = $submitted_data['multi_id'];
|
89 |
+
}
|
90 |
+
|
91 |
+
$template_params = array(
|
92 |
+
'name' => $this->get_multi_id_quiz_settings_value( $multi_id, 'name', '' ),
|
93 |
+
'name_error' => '',
|
94 |
+
'multi_id' => $multi_id,
|
95 |
+
);
|
96 |
+
|
97 |
+
unset( $submitted_data['multi_id'] );
|
98 |
+
|
99 |
+
$is_submit = ! empty( $submitted_data );
|
100 |
+
$has_errors = false;
|
101 |
+
if ( $is_submit ) {
|
102 |
+
$name = isset( $submitted_data['name'] ) ? $submitted_data['name'] : '';
|
103 |
+
$template_params['name'] = $name;
|
104 |
+
|
105 |
+
try {
|
106 |
+
if ( empty( $name ) ) {
|
107 |
+
throw new Forminator_Addon_Slack_Exception( __( 'Please pick valid name' ) );
|
108 |
+
}
|
109 |
+
|
110 |
+
$time_added = $this->get_multi_id_quiz_settings_value( $multi_id, 'time_added', time() );
|
111 |
+
$this->save_multi_id_quiz_setting_values(
|
112 |
+
$multi_id,
|
113 |
+
array(
|
114 |
+
'name' => $name,
|
115 |
+
'time_added' => $time_added,
|
116 |
+
)
|
117 |
+
);
|
118 |
+
|
119 |
+
} catch ( Forminator_Addon_Slack_Exception $e ) {
|
120 |
+
$template_params['name_error'] = $e->getMessage();
|
121 |
+
$has_errors = true;
|
122 |
+
}
|
123 |
+
}
|
124 |
+
|
125 |
+
$buttons = array();
|
126 |
+
if ( $this->pick_name_is_completed( array( 'multi_id' => $multi_id ) ) ) {
|
127 |
+
$buttons['disconnect']['markup'] = Forminator_Addon_Abstract::get_button_markup(
|
128 |
+
esc_html__( 'DISCONNECT', Forminator::DOMAIN ),
|
129 |
+
'sui-button-ghost sui-tooltip sui-tooltip-top-center forminator-addon-form-disconnect',
|
130 |
+
esc_html__( 'Disconnect this Slack Integration from this Quiz.', Forminator::DOMAIN )
|
131 |
+
);
|
132 |
+
}
|
133 |
+
|
134 |
+
$buttons['next']['markup'] = '<div class="sui-actions-right">' .
|
135 |
+
Forminator_Addon_Abstract::get_button_markup( esc_html__( 'Next', Forminator::DOMAIN ), 'forminator-addon-next' ) .
|
136 |
+
'</div>';
|
137 |
+
|
138 |
+
return array(
|
139 |
+
'html' => Forminator_Addon_Abstract::get_template( $template, $template_params ),
|
140 |
+
'buttons' => $buttons,
|
141 |
+
'redirect' => false,
|
142 |
+
'has_errors' => $has_errors,
|
143 |
+
);
|
144 |
+
}
|
145 |
+
|
146 |
+
/**
|
147 |
+
* Check if pick name step completed
|
148 |
+
*
|
149 |
+
* @since 1.6.2
|
150 |
+
*
|
151 |
+
* @param $submitted_data
|
152 |
+
*
|
153 |
+
* @return bool
|
154 |
+
*/
|
155 |
+
public function pick_name_is_completed( $submitted_data ) {
|
156 |
+
$multi_id = '';
|
157 |
+
if ( isset( $submitted_data['multi_id'] ) ) {
|
158 |
+
$multi_id = $submitted_data['multi_id'];
|
159 |
+
}
|
160 |
+
|
161 |
+
if ( empty( $multi_id ) ) {
|
162 |
+
return false;
|
163 |
+
}
|
164 |
+
|
165 |
+
$name = $this->get_multi_id_quiz_settings_value( $multi_id, 'name', '' );
|
166 |
+
|
167 |
+
if ( empty( $name ) ) {
|
168 |
+
return false;
|
169 |
+
}
|
170 |
+
|
171 |
+
return true;
|
172 |
+
}
|
173 |
+
|
174 |
+
/**
|
175 |
+
* Select Message Type
|
176 |
+
*
|
177 |
+
* @since 1.6.2
|
178 |
+
*
|
179 |
+
* @param $submitted_data
|
180 |
+
*
|
181 |
+
* @return array
|
182 |
+
*/
|
183 |
+
public function select_type( $submitted_data ) {
|
184 |
+
$template = forminator_addon_slack_dir() . 'views/quiz-settings/select-type.php';
|
185 |
+
|
186 |
+
if ( ! isset( $submitted_data['multi_id'] ) ) {
|
187 |
+
return $this->get_force_closed_wizard( __( 'Please pick valid connection', Forminator::DOMAIN ) );
|
188 |
+
}
|
189 |
+
|
190 |
+
$multi_id = $submitted_data['multi_id'];
|
191 |
+
unset( $submitted_data['multi_id'] );
|
192 |
+
|
193 |
+
$template_params = array(
|
194 |
+
'type' => $this->get_multi_id_quiz_settings_value( $multi_id, 'type', '' ),
|
195 |
+
'type_error' => '',
|
196 |
+
'multi_id' => $multi_id,
|
197 |
+
'error_message' => '',
|
198 |
+
);
|
199 |
+
|
200 |
+
|
201 |
+
$is_submit = ! empty( $submitted_data );
|
202 |
+
$has_errors = false;
|
203 |
+
|
204 |
+
$types = $this->target_types;
|
205 |
+
$template_params['types'] = $types;
|
206 |
+
|
207 |
+
if ( $is_submit ) {
|
208 |
+
$type = isset( $submitted_data['type'] ) ? $submitted_data['type'] : '';
|
209 |
+
$template_params['type'] = $type;
|
210 |
+
|
211 |
+
try {
|
212 |
+
|
213 |
+
if ( empty( $type ) ) {
|
214 |
+
throw new Forminator_Addon_Slack_Exception( __( 'Please pick valid type' ) );
|
215 |
+
}
|
216 |
+
|
217 |
+
if ( ! in_array( $type, array_keys( $types ), true ) ) {
|
218 |
+
throw new Forminator_Addon_Slack_Exception( __( 'Please pick valid type' ) );
|
219 |
+
}
|
220 |
+
|
221 |
+
$this->save_multi_id_quiz_setting_values(
|
222 |
+
$multi_id,
|
223 |
+
array(
|
224 |
+
'type' => $type,
|
225 |
+
)
|
226 |
+
);
|
227 |
+
|
228 |
+
} catch ( Forminator_Addon_Slack_Exception $e ) {
|
229 |
+
$template_params['type_error'] = $e->getMessage();
|
230 |
+
$has_errors = true;
|
231 |
+
}
|
232 |
+
}
|
233 |
+
|
234 |
+
$buttons = array();
|
235 |
+
if ( $this->pick_name_is_completed( array( 'multi_id' => $multi_id ) ) ) {
|
236 |
+
$buttons['disconnect']['markup'] = Forminator_Addon_Abstract::get_button_markup(
|
237 |
+
esc_html__( 'DISCONNECT', Forminator::DOMAIN ),
|
238 |
+
'sui-button-ghost sui-tooltip sui-tooltip-top-center forminator-addon-form-disconnect',
|
239 |
+
esc_html__( 'Disconnect this Slack Integration from this Quiz.', Forminator::DOMAIN )
|
240 |
+
);
|
241 |
+
}
|
242 |
+
|
243 |
+
$buttons['next']['markup'] = '<div class="sui-actions-right">' .
|
244 |
+
Forminator_Addon_Abstract::get_button_markup( esc_html__( 'Next', Forminator::DOMAIN ), 'forminator-addon-next' ) .
|
245 |
+
'</div>';
|
246 |
+
|
247 |
+
return array(
|
248 |
+
'html' => Forminator_Addon_Abstract::get_template( $template, $template_params ),
|
249 |
+
'buttons' => $buttons,
|
250 |
+
'redirect' => false,
|
251 |
+
'has_errors' => $has_errors,
|
252 |
+
'has_back' => true,
|
253 |
+
);
|
254 |
+
}
|
255 |
+
|
256 |
+
/**
|
257 |
+
* Check if select type completed
|
258 |
+
*
|
259 |
+
* @since 1.6.2
|
260 |
+
*
|
261 |
+
* @param $submitted_data
|
262 |
+
*
|
263 |
+
* @return bool
|
264 |
+
*/
|
265 |
+
public function select_type_is_completed( $submitted_data ) {
|
266 |
+
$multi_id = '';
|
267 |
+
if ( isset( $submitted_data['multi_id'] ) ) {
|
268 |
+
$multi_id = $submitted_data['multi_id'];
|
269 |
+
}
|
270 |
+
|
271 |
+
if ( empty( $multi_id ) ) {
|
272 |
+
return false;
|
273 |
+
}
|
274 |
+
|
275 |
+
$type = $this->get_multi_id_quiz_settings_value( $multi_id, 'type', '' );
|
276 |
+
|
277 |
+
if ( empty( $type ) ) {
|
278 |
+
return false;
|
279 |
+
}
|
280 |
+
|
281 |
+
$types = $this->target_types;
|
282 |
+
if ( ! in_array( $type, array_keys( $types ), true ) ) {
|
283 |
+
return false;
|
284 |
+
}
|
285 |
+
|
286 |
+
return true;
|
287 |
+
}
|
288 |
+
|
289 |
+
/**
|
290 |
+
* Select Target
|
291 |
+
*
|
292 |
+
* @since 1.6.2
|
293 |
+
*
|
294 |
+
* @param $submitted_data
|
295 |
+
*
|
296 |
+
* @return array
|
297 |
+
*/
|
298 |
+
public function select_target( $submitted_data ) {
|
299 |
+
$template = forminator_addon_slack_dir() . 'views/quiz-settings/select-target.php';
|
300 |
+
if ( ! isset( $submitted_data['multi_id'] ) ) {
|
301 |
+
return $this->get_force_closed_wizard( __( 'Please pick valid connection', Forminator::DOMAIN ) );
|
302 |
+
}
|
303 |
+
|
304 |
+
$multi_id = $submitted_data['multi_id'];
|
305 |
+
unset( $submitted_data['multi_id'] );
|
306 |
+
|
307 |
+
$template_params = array(
|
308 |
+
'target_id' => $this->get_multi_id_quiz_settings_value( $multi_id, 'target_id', '' ),
|
309 |
+
'target_id_error' => '',
|
310 |
+
'multi_id' => $multi_id,
|
311 |
+
'error_message' => '',
|
312 |
+
'targets' => array(),
|
313 |
+
'help_message' => '',
|
314 |
+
);
|
315 |
+
|
316 |
+
|
317 |
+
$type = $this->get_multi_id_quiz_settings_value( $multi_id, 'type', '' );
|
318 |
+
switch ( $type ) {
|
319 |
+
case Forminator_Addon_Slack::TARGET_TYPE_PRIVATE_CHANNEL:
|
320 |
+
$func_get_targets = 'get_groups_list';
|
321 |
+
$key_to_walk = 'groups';
|
322 |
+
$template_params['help_message'] = __( 'Select which Slack private group / channel this feed will post a message to.', Forminator::DOMAIN );
|
323 |
+
break;
|
324 |
+
case Forminator_Addon_Slack::TARGET_TYPE_DIRECT_MESSAGE:
|
325 |
+
$func_get_targets = 'get_users_list';
|
326 |
+
$key_to_walk = 'members';
|
327 |
+
$template_params['help_message'] = __( 'Select which Slack user this feed will post a message to.', Forminator::DOMAIN );
|
328 |
+
break;
|
329 |
+
default:
|
330 |
+
$func_get_targets = 'get_channels_list';
|
331 |
+
$key_to_walk = 'channels';
|
332 |
+
$template_params['help_message'] = __( 'Select which Slack channel this feed will post a message to.', Forminator::DOMAIN );
|
333 |
+
break;
|
334 |
+
}
|
335 |
+
|
336 |
+
|
337 |
+
$is_submit = ! empty( $submitted_data );
|
338 |
+
$has_errors = false;
|
339 |
+
|
340 |
+
$targets = array();
|
341 |
+
|
342 |
+
try {
|
343 |
+
|
344 |
+
$api = $this->addon->get_api();
|
345 |
+
$targets_request = call_user_func( array( $api, $func_get_targets ) );
|
346 |
+
if ( ! is_object( $targets_request ) || ! isset( $targets_request->$key_to_walk ) || ! is_array( $targets_request->$key_to_walk ) || empty( $targets_request->$key_to_walk ) ) {
|
347 |
+
throw new Forminator_Addon_Slack_Exception( __( 'No target found on your selected target type.', Forminator::DOMAIN ) );
|
348 |
+
}
|
349 |
+
|
350 |
+
foreach ( $targets_request->$key_to_walk as $value ) {
|
351 |
+
$targets[ $value->id ] = $value->name;
|
352 |
+
}
|
353 |
+
|
354 |
+
$template_params['targets'] = $targets;
|
355 |
+
|
356 |
+
} catch ( Forminator_Addon_Slack_Exception $e ) {
|
357 |
+
$template_params['error_message'] = $e->getMessage();
|
358 |
+
$has_errors = true;
|
359 |
+
}
|
360 |
+
|
361 |
+
if ( $is_submit ) {
|
362 |
+
$target_id = isset( $submitted_data['target_id'] ) ? $submitted_data['target_id'] : '';
|
363 |
+
$template_params['target_id'] = $target_id;
|
364 |
+
|
365 |
+
try {
|
366 |
+
|
367 |
+
if ( empty( $target_id ) ) {
|
368 |
+
throw new Forminator_Addon_Slack_Exception( __( 'Please pick valid target' ) );
|
369 |
+
}
|
370 |
+
|
371 |
+
if ( ! in_array( $target_id, array_keys( $targets ), true ) ) {
|
372 |
+
throw new Forminator_Addon_Slack_Exception( __( 'Please pick valid target' ) );
|
373 |
+
}
|
374 |
+
|
375 |
+
$target_name = $targets[ $target_id ];
|
376 |
+
|
377 |
+
$this->save_multi_id_quiz_setting_values(
|
378 |
+
$multi_id,
|
379 |
+
array(
|
380 |
+
'target_id' => $target_id,
|
381 |
+
'target_name' => $target_name,
|
382 |
+
)
|
383 |
+
);
|
384 |
+
|
385 |
+
} catch ( Forminator_Addon_Slack_Exception $e ) {
|
386 |
+
$template_params['target_id_error'] = $e->getMessage();
|
387 |
+
$has_errors = true;
|
388 |
+
}
|
389 |
+
}
|
390 |
+
|
391 |
+
$buttons = array();
|
392 |
+
if ( $this->pick_name_is_completed( array( 'multi_id' => $multi_id ) ) ) {
|
393 |
+
$buttons['disconnect']['markup'] = Forminator_Addon_Abstract::get_button_markup(
|
394 |
+
esc_html__( 'DISCONNECT', Forminator::DOMAIN ),
|
395 |
+
'sui-button-ghost sui-tooltip sui-tooltip-top-center forminator-addon-form-disconnect',
|
396 |
+
esc_html__( 'Disconnect this Slack Integration from this Quiz.', Forminator::DOMAIN )
|
397 |
+
);
|
398 |
+
}
|
399 |
+
|
400 |
+
$buttons['next']['markup'] = '<div class="sui-actions-right">' .
|
401 |
+
Forminator_Addon_Abstract::get_button_markup( esc_html__( 'Next', Forminator::DOMAIN ), 'forminator-addon-next' ) .
|
402 |
+
'</div>';
|
403 |
+
|
404 |
+
return array(
|
405 |
+
'html' => Forminator_Addon_Abstract::get_template( $template, $template_params ),
|
406 |
+
'buttons' => $buttons,
|
407 |
+
'redirect' => false,
|
408 |
+
'has_errors' => $has_errors,
|
409 |
+
'has_back' => true,
|
410 |
+
);
|
411 |
+
|
412 |
+
}
|
413 |
+
|
414 |
+
/**
|
415 |
+
* Check if select target completed
|
416 |
+
*
|
417 |
+
* @since 1.6.2
|
418 |
+
*
|
419 |
+
* @param $submitted_data
|
420 |
+
*
|
421 |
+
* @return bool
|
422 |
+
*/
|
423 |
+
public function select_target_is_completed( $submitted_data ) {
|
424 |
+
$multi_id = '';
|
425 |
+
if ( isset( $submitted_data['multi_id'] ) ) {
|
426 |
+
$multi_id = $submitted_data['multi_id'];
|
427 |
+
}
|
428 |
+
|
429 |
+
if ( empty( $multi_id ) ) {
|
430 |
+
return false;
|
431 |
+
}
|
432 |
+
|
433 |
+
$target_id = $this->get_multi_id_quiz_settings_value( $multi_id, 'target_id', '' );
|
434 |
+
|
435 |
+
if ( empty( $target_id ) ) {
|
436 |
+
return false;
|
437 |
+
}
|
438 |
+
|
439 |
+
return true;
|
440 |
+
}
|
441 |
+
|
442 |
+
/**
|
443 |
+
* Setup Message
|
444 |
+
*
|
445 |
+
* @since 1.6.2
|
446 |
+
*
|
447 |
+
* @param $submitted_data
|
448 |
+
*
|
449 |
+
* @return array
|
450 |
+
*/
|
451 |
+
public function setup_message( $submitted_data ) {
|
452 |
+
$template = forminator_addon_slack_dir() . 'views/quiz-settings/setup-message.php';
|
453 |
+
if ( ! isset( $submitted_data['multi_id'] ) ) {
|
454 |
+
return $this->get_force_closed_wizard( __( 'Please pick valid connection', Forminator::DOMAIN ) );
|
455 |
+
}
|
456 |
+
|
457 |
+
$multi_id = $submitted_data['multi_id'];
|
458 |
+
unset( $submitted_data['multi_id'] );
|
459 |
+
|
460 |
+
$template_params = array(
|
461 |
+
'message' => $this->get_multi_id_quiz_settings_value( $multi_id, 'message', 'New submissions from *{quiz_name}*' ),
|
462 |
+
'message_error' => '',
|
463 |
+
'multi_id' => $multi_id,
|
464 |
+
'error_message' => '',
|
465 |
+
'tags' => array(),
|
466 |
+
);
|
467 |
+
|
468 |
+
$template_params['tags'] = forminator_get_vars();
|
469 |
+
$template_params['tags']['quiz_name'] = __( 'Quiz Name', Forminator::DOMAIN );
|
470 |
+
|
471 |
+
$is_submit = ! empty( $submitted_data );
|
472 |
+
$has_errors = false;
|
473 |
+
$notification = array();
|
474 |
+
$is_close = false;
|
475 |
+
|
476 |
+
if ( $is_submit ) {
|
477 |
+
$message = isset( $submitted_data['message'] ) ? $submitted_data['message'] : '';
|
478 |
+
$template_params['message'] = $message;
|
479 |
+
|
480 |
+
try {
|
481 |
+
|
482 |
+
if ( empty( $message ) ) {
|
483 |
+
throw new Forminator_Addon_Slack_Exception( __( 'Please add a message', Forminator::DOMAIN ) );
|
484 |
+
}
|
485 |
+
|
486 |
+
$this->save_multi_id_quiz_setting_values(
|
487 |
+
$multi_id,
|
488 |
+
array(
|
489 |
+
'message' => $message,
|
490 |
+
)
|
491 |
+
);
|
492 |
+
|
493 |
+
$notification = array(
|
494 |
+
'type' => 'success',
|
495 |
+
'text' => '<strong>' . $this->addon->get_title() . '</strong> ' . __( 'Successfully connected to your quiz' ),
|
496 |
+
);
|
497 |
+
$is_close = true;
|
498 |
+
|
499 |
+
} catch ( Forminator_Addon_Slack_Exception $e ) {
|
500 |
+
$template_params['message_error'] = $e->getMessage();
|
501 |
+
$has_errors = true;
|
502 |
+
}
|
503 |
+
}
|
504 |
+
|
505 |
+
$buttons = array();
|
506 |
+
if ( $this->pick_name_is_completed( array( 'multi_id' => $multi_id ) ) ) {
|
507 |
+
$buttons['disconnect']['markup'] = Forminator_Addon_Abstract::get_button_markup(
|
508 |
+
esc_html__( 'DISCONNECT', Forminator::DOMAIN ),
|
509 |
+
'sui-button-ghost sui-tooltip sui-tooltip-top-center forminator-addon-form-disconnect',
|
510 |
+
esc_html__( 'Disconnect this Slack Integration from this Quiz.', Forminator::DOMAIN )
|
511 |
+
);
|
512 |
+
}
|
513 |
+
|
514 |
+
$buttons['next']['markup'] = '<div class="sui-actions-right">' .
|
515 |
+
Forminator_Addon_Abstract::get_button_markup( esc_html__( 'CONNECT', Forminator::DOMAIN ), 'forminator-addon-next' ) .
|
516 |
+
'</div>';
|
517 |
+
|
518 |
+
return array(
|
519 |
+
'html' => Forminator_Addon_Abstract::get_template( $template, $template_params ),
|
520 |
+
'buttons' => $buttons,
|
521 |
+
'redirect' => false,
|
522 |
+
'has_errors' => $has_errors,
|
523 |
+
'has_back' => true,
|
524 |
+
'notification' => $notification,
|
525 |
+
'is_close' => $is_close,
|
526 |
+
'size' => 'normal',
|
527 |
+
);
|
528 |
+
|
529 |
+
}
|
530 |
+
|
531 |
+
/**
|
532 |
+
* Check if setup message completed
|
533 |
+
*
|
534 |
+
* @since 1.6.2
|
535 |
+
*
|
536 |
+
* @param $submitted_data
|
537 |
+
*
|
538 |
+
* @return bool
|
539 |
+
*/
|
540 |
+
public function setup_message_is_completed( $submitted_data ) {
|
541 |
+
$multi_id = '';
|
542 |
+
if ( isset( $submitted_data['multi_id'] ) ) {
|
543 |
+
$multi_id = $submitted_data['multi_id'];
|
544 |
+
}
|
545 |
+
|
546 |
+
if ( empty( $multi_id ) ) {
|
547 |
+
return false;
|
548 |
+
}
|
549 |
+
|
550 |
+
$message = $this->get_multi_id_quiz_settings_value( $multi_id, 'message', '' );
|
551 |
+
|
552 |
+
if ( empty( $message ) ) {
|
553 |
+
return false;
|
554 |
+
}
|
555 |
+
|
556 |
+
return true;
|
557 |
+
}
|
558 |
+
|
559 |
+
/**
|
560 |
+
* Generate multi id for multiple connection
|
561 |
+
*
|
562 |
+
* @since 1.6.2
|
563 |
+
* @return string
|
564 |
+
*/
|
565 |
+
public function generate_multi_id() {
|
566 |
+
return uniqid( 'slack_', true );
|
567 |
+
}
|
568 |
+
|
569 |
+
|
570 |
+
/**
|
571 |
+
* Override how multi connection displayed
|
572 |
+
*
|
573 |
+
* @since 1.6.2
|
574 |
+
* @return array
|
575 |
+
*/
|
576 |
+
public function get_multi_ids() {
|
577 |
+
$multi_ids = array();
|
578 |
+
foreach ( $this->get_quiz_settings_values() as $key => $value ) {
|
579 |
+
$multi_ids[] = array(
|
580 |
+
'id' => $key,
|
581 |
+
// use name that was added by user on creating connection
|
582 |
+
'label' => isset( $value['name'] ) ? $value['name'] : $key,
|
583 |
+
);
|
584 |
+
}
|
585 |
+
|
586 |
+
return $multi_ids;
|
587 |
+
}
|
588 |
+
|
589 |
+
/**
|
590 |
+
* Disconnect a connection from current quiz
|
591 |
+
*
|
592 |
+
* @since 1.6.2
|
593 |
+
*
|
594 |
+
* @param array $submitted_data
|
595 |
+
*/
|
596 |
+
public function disconnect_quiz( $submitted_data ) {
|
597 |
+
// only execute if multi_id provided on submitted data
|
598 |
+
if ( isset( $submitted_data['multi_id'] ) && ! empty( $submitted_data['multi_id'] ) ) {
|
599 |
+
$addon_quiz_settings = $this->get_quiz_settings_values();
|
600 |
+
unset( $addon_quiz_settings[ $submitted_data['multi_id'] ] );
|
601 |
+
$this->save_quiz_settings_values( $addon_quiz_settings );
|
602 |
+
}
|
603 |
+
}
|
604 |
+
|
605 |
+
/**
|
606 |
+
* Check if multi_id quiz settings values completed
|
607 |
+
*
|
608 |
+
* Override when needed
|
609 |
+
*
|
610 |
+
* @since 1.6.2
|
611 |
+
*
|
612 |
+
* @param $multi_id
|
613 |
+
*
|
614 |
+
* @return bool
|
615 |
+
*/
|
616 |
+
public function is_multi_quiz_settings_complete( $multi_id ) {
|
617 |
+
$data = array( 'multi_id' => $multi_id );
|
618 |
+
|
619 |
+
if ( ! $this->pick_name_is_completed( $data ) ) {
|
620 |
+
return false;
|
621 |
+
}
|
622 |
+
|
623 |
+
if ( ! $this->select_type_is_completed( $data ) ) {
|
624 |
+
return false;
|
625 |
+
}
|
626 |
+
if ( ! $this->select_target_is_completed( $data ) ) {
|
627 |
+
return false;
|
628 |
+
}
|
629 |
+
if ( ! $this->setup_message_is_completed( $data ) ) {
|
630 |
+
return false;
|
631 |
+
}
|
632 |
+
|
633 |
+
return true;
|
634 |
+
}
|
635 |
+
|
636 |
+
|
637 |
+
}
|
addons/pro/slack/forminator-addon-slack.php
CHANGED
@@ -43,6 +43,9 @@ final class Forminator_Addon_Slack extends Forminator_Addon_Abstract {
|
|
43 |
protected $_poll_settings = 'Forminator_Addon_Slack_Poll_Settings';
|
44 |
protected $_poll_hooks = 'Forminator_Addon_Slack_Poll_Hooks';
|
45 |
|
|
|
|
|
|
|
46 |
/**
|
47 |
* Forminator_Addon_Slack constructor.
|
48 |
*
|
@@ -812,4 +815,64 @@ final class Forminator_Addon_Slack extends Forminator_Addon_Abstract {
|
|
812 |
public function is_allow_multi_on_poll() {
|
813 |
return true;
|
814 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
815 |
}
|
43 |
protected $_poll_settings = 'Forminator_Addon_Slack_Poll_Settings';
|
44 |
protected $_poll_hooks = 'Forminator_Addon_Slack_Poll_Hooks';
|
45 |
|
46 |
+
protected $_quiz_settings = 'Forminator_Addon_Slack_Quiz_Settings';
|
47 |
+
protected $_quiz_hooks = 'Forminator_Addon_Slack_Quiz_Hooks';
|
48 |
+
|
49 |
/**
|
50 |
* Forminator_Addon_Slack constructor.
|
51 |
*
|
815 |
public function is_allow_multi_on_poll() {
|
816 |
return true;
|
817 |
}
|
818 |
+
|
819 |
+
/**
|
820 |
+
* Flag for check if and addon connected to a quiz(quiz settings such as list id completed)
|
821 |
+
*
|
822 |
+
* Please apply necessary WordPress hook on the inheritance class
|
823 |
+
*
|
824 |
+
* @since 1.6.2
|
825 |
+
*
|
826 |
+
* @param $quiz_id
|
827 |
+
*
|
828 |
+
* @return boolean
|
829 |
+
*/
|
830 |
+
public function is_quiz_connected( $quiz_id ) {
|
831 |
+
try {
|
832 |
+
$quiz_settings_instance = null;
|
833 |
+
if ( ! $this->is_connected() ) {
|
834 |
+
throw new Forminator_Addon_Slack_Exception( 'Slack is not connected' );
|
835 |
+
}
|
836 |
+
|
837 |
+
$quiz_settings_instance = $this->get_addon_quiz_settings( $quiz_id );
|
838 |
+
if ( ! $quiz_settings_instance instanceof Forminator_Addon_Slack_Quiz_Settings ) {
|
839 |
+
throw new Forminator_Addon_Slack_Exception( 'Invalid Quiz Settings of Slack' );
|
840 |
+
}
|
841 |
+
|
842 |
+
// Mark as active when there is at least one active connection
|
843 |
+
if ( false === $quiz_settings_instance->find_one_active_connection() ) {
|
844 |
+
throw new Forminator_Addon_Slack_Exception( 'No active Slack connection found in this quiz' );
|
845 |
+
}
|
846 |
+
|
847 |
+
$is_quiz_connected = true;
|
848 |
+
|
849 |
+
} catch ( Forminator_Addon_Slack_Exception $e ) {
|
850 |
+
|
851 |
+
$is_quiz_connected = false;
|
852 |
+
}
|
853 |
+
|
854 |
+
/**
|
855 |
+
* Filter connected status Slack with the quiz
|
856 |
+
*
|
857 |
+
* @since 1.6.1
|
858 |
+
*
|
859 |
+
* @param bool $is_quiz_connected
|
860 |
+
* @param int $quiz_id Current Quiz ID
|
861 |
+
* @param Forminator_Addon_Slack_Quiz_Settings|null $quiz_settings_instance Instance of Quiz settings, or null when unavailable
|
862 |
+
*
|
863 |
+
*/
|
864 |
+
$is_quiz_connected = apply_filters( 'forminator_addon_slack_is_quiz_connected', $is_quiz_connected, $quiz_id, $quiz_settings_instance );
|
865 |
+
|
866 |
+
return $is_quiz_connected;
|
867 |
+
}
|
868 |
+
|
869 |
+
/**
|
870 |
+
* Allow multiple connection on one quiz
|
871 |
+
*
|
872 |
+
* @since 1.6.1
|
873 |
+
* @return bool
|
874 |
+
*/
|
875 |
+
public function is_allow_multi_on_quiz() {
|
876 |
+
return true;
|
877 |
+
}
|
878 |
}
|
addons/pro/slack/slack.php
CHANGED
@@ -31,5 +31,8 @@ require_once dirname( __FILE__ ) . '/forminator-addon-slack-form-hooks.php';
|
|
31 |
require_once dirname( __FILE__ ) . '/forminator-addon-slack-poll-settings.php';
|
32 |
require_once dirname( __FILE__ ) . '/forminator-addon-slack-poll-hooks.php';
|
33 |
|
|
|
|
|
|
|
34 |
//Direct Load
|
35 |
Forminator_Addon_Loader::get_instance()->register( 'Forminator_Addon_Slack' );
|
31 |
require_once dirname( __FILE__ ) . '/forminator-addon-slack-poll-settings.php';
|
32 |
require_once dirname( __FILE__ ) . '/forminator-addon-slack-poll-hooks.php';
|
33 |
|
34 |
+
require_once dirname( __FILE__ ) . '/forminator-addon-slack-quiz-settings.php';
|
35 |
+
require_once dirname( __FILE__ ) . '/forminator-addon-slack-quiz-hooks.php';
|
36 |
+
|
37 |
//Direct Load
|
38 |
Forminator_Addon_Loader::get_instance()->register( 'Forminator_Addon_Slack' );
|
addons/pro/slack/views/quiz-settings/pick-name.php
ADDED
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
// defaults
|
3 |
+
$vars = array(
|
4 |
+
'error_message' => '',
|
5 |
+
'name' => '',
|
6 |
+
'name_error' => '',
|
7 |
+
'multi_id' => '',
|
8 |
+
);
|
9 |
+
/** @var array $template_vars */
|
10 |
+
foreach ( $template_vars as $key => $val ) {
|
11 |
+
$vars[ $key ] = $val;
|
12 |
+
}
|
13 |
+
|
14 |
+
?>
|
15 |
+
<div class="integration-header">
|
16 |
+
<h3 class="sui-box-title" id="dialogTitle2"><?php echo esc_html( __( 'Setup Name', Forminator::DOMAIN ) ); ?></h3>
|
17 |
+
<p><?php esc_html_e( 'Setup friendly name for this integration, so it will be easily identified by you.', Forminator::DOMAIN ); ?></p>
|
18 |
+
<?php if ( ! empty( $vars['error_message'] ) ) : ?>
|
19 |
+
<span class="sui-notice sui-notice-error"><p><?php echo esc_html( $vars['error_message'] ); ?></p></span>
|
20 |
+
<?php endif; ?>
|
21 |
+
</div>
|
22 |
+
<form>
|
23 |
+
<div class="sui-form-field <?php echo esc_attr( ! empty( $vars['name_error'] ) ? 'sui-form-field-error' : '' ); ?>">
|
24 |
+
<label class="sui-label"><?php esc_html_e( 'Name', Forminator::DOMAIN ); ?></label>
|
25 |
+
<input
|
26 |
+
class="sui-form-control"
|
27 |
+
name="name" placeholder="<?php echo esc_attr( __( 'Friendly Name', Forminator::DOMAIN ) ); ?>"
|
28 |
+
value="<?php echo esc_attr( $vars['name'] ); ?>">
|
29 |
+
<?php if ( ! empty( $vars['name_error'] ) ) : ?>
|
30 |
+
<span class="sui-error-message"><?php echo esc_html( $vars['name_error'] ); ?></span>
|
31 |
+
<?php endif; ?>
|
32 |
+
</div>
|
33 |
+
<input type="hidden" name="multi_id" value="<?php echo esc_attr( $vars['multi_id'] ); ?>">
|
34 |
+
</form>
|
addons/pro/slack/views/quiz-settings/select-target.php
ADDED
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
// defaults
|
3 |
+
$vars = array(
|
4 |
+
'error_message' => '',
|
5 |
+
'target_id' => '',
|
6 |
+
'target_id_error' => '',
|
7 |
+
'targets' => array(),
|
8 |
+
'help_message' => '',
|
9 |
+
);
|
10 |
+
/** @var array $template_vars */
|
11 |
+
foreach ( $template_vars as $key => $val ) {
|
12 |
+
$vars[ $key ] = $val;
|
13 |
+
}
|
14 |
+
|
15 |
+
?>
|
16 |
+
<div class="integration-header">
|
17 |
+
<h3 class="sui-box-title" id="dialogTitle2"><?php echo esc_html( __( 'Select Target', Forminator::DOMAIN ) ); ?></h3>
|
18 |
+
<p><?php echo esc_html( $vars['help_message'] ); ?></p>
|
19 |
+
<?php if ( ! empty( $vars['error_message'] ) ) : ?>
|
20 |
+
<span class="sui-notice sui-notice-error"><p><?php echo esc_html( $vars['error_message'] ); ?></p></span>
|
21 |
+
<?php endif; ?>
|
22 |
+
</div>
|
23 |
+
<form>
|
24 |
+
|
25 |
+
<div class="sui-form-field <?php echo esc_attr( ! empty( $vars['target_id_error'] ) ? 'sui-form-field-error' : '' ); ?>">
|
26 |
+
<label class="sui-label"><?php esc_html_e( 'Type', Forminator::DOMAIN ); ?>
|
27 |
+
<select name="target_id" class="sui-select sui-form-control">
|
28 |
+
<option><?php esc_html_e( 'Please select target', Forminator::DOMAIN ); ?></option>
|
29 |
+
<?php foreach ( $vars['targets'] as $target_id => $target_name ) : ?>
|
30 |
+
<option value="<?php echo esc_attr( $target_id ); ?>" <?php selected( $vars['target_id'], $target_id ); ?>><?php echo esc_html( $target_name ); ?></option>
|
31 |
+
<?php endforeach; ?>
|
32 |
+
</select>
|
33 |
+
<?php if ( ! empty( $vars['target_id_error'] ) ) : ?>
|
34 |
+
<span class="sui-error-message"><?php echo esc_html( $vars['target_id_error'] ); ?></span>
|
35 |
+
<?php endif; ?>
|
36 |
+
</label>
|
37 |
+
</div>
|
38 |
+
|
39 |
+
<input type="hidden" name="multi_id" value="<?php echo esc_attr( $vars['multi_id'] ); ?>">
|
40 |
+
</form>
|
addons/pro/slack/views/quiz-settings/select-type.php
ADDED
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
// defaults
|
3 |
+
$vars = array(
|
4 |
+
'error_message' => '',
|
5 |
+
'type' => '',
|
6 |
+
'type_error' => '',
|
7 |
+
'types' => array(),
|
8 |
+
);
|
9 |
+
/** @var array $template_vars */
|
10 |
+
foreach ( $template_vars as $key => $val ) {
|
11 |
+
$vars[ $key ] = $val;
|
12 |
+
}
|
13 |
+
|
14 |
+
?>
|
15 |
+
<div class="integration-header">
|
16 |
+
<h3 class="sui-box-title" id="dialogTitle2"><?php echo esc_html( __( 'Select Type', Forminator::DOMAIN ) ); ?></h3>
|
17 |
+
<p><?php esc_html_e( 'Select what type of channel Slack will send the message to: a public channel, a private group or a DM channel.', Forminator::DOMAIN ); ?></p>
|
18 |
+
<?php if ( ! empty( $vars['error_message'] ) ) : ?>
|
19 |
+
<span class="sui-notice sui-notice-error"><p><?php echo esc_html( $vars['error_message'] ); ?></p></span>
|
20 |
+
<?php endif; ?>
|
21 |
+
</div>
|
22 |
+
<form>
|
23 |
+
|
24 |
+
<div class="sui-form-field <?php echo esc_attr( ! empty( $vars['type_error'] ) ? 'sui-form-field-error' : '' ); ?>">
|
25 |
+
<label class="sui-label"><?php esc_html_e( 'Type', Forminator::DOMAIN ); ?>
|
26 |
+
<select name="type" class="sui-select sui-form-control">
|
27 |
+
<option><?php esc_html_e( 'Please select type', Forminator::DOMAIN ); ?></option>
|
28 |
+
<?php foreach ( $vars['types'] as $type_id => $type_name ) : ?>
|
29 |
+
<option value="<?php echo esc_attr( $type_id ); ?>" <?php selected( $vars['type'], $type_id ); ?>><?php echo esc_html( $type_name ); ?></option>
|
30 |
+
<?php endforeach; ?>
|
31 |
+
</select>
|
32 |
+
<?php if ( ! empty( $vars['type_error'] ) ) : ?>
|
33 |
+
<span class="sui-error-message"><?php echo esc_html( $vars['type_error'] ); ?></span>
|
34 |
+
<?php endif; ?>
|
35 |
+
</label>
|
36 |
+
</div>
|
37 |
+
|
38 |
+
<input type="hidden" name="multi_id" value="<?php echo esc_attr( $vars['multi_id'] ); ?>">
|
39 |
+
</form>
|
addons/pro/slack/views/quiz-settings/setup-message.php
ADDED
@@ -0,0 +1,62 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
// defaults
|
3 |
+
$vars = array(
|
4 |
+
'message' => '',
|
5 |
+
'message_error' => '',
|
6 |
+
'error_message' => '',
|
7 |
+
'multi_id' => '',
|
8 |
+
'tags' => array(),
|
9 |
+
);
|
10 |
+
/** @var array $template_vars */
|
11 |
+
foreach ( $template_vars as $key => $val ) {
|
12 |
+
$vars[ $key ] = $val;
|
13 |
+
}
|
14 |
+
|
15 |
+
?>
|
16 |
+
<div class="integration-header">
|
17 |
+
<h3 class="sui-box-title" id="dialogTitle2"><?php echo esc_html( __( 'Setup Message', Forminator::DOMAIN ) ); ?></h3>
|
18 |
+
<p><?php esc_html_e( 'Configure message to be sent.', Forminator::DOMAIN ); ?></p>
|
19 |
+
<?php if ( ! empty( $vars['error_message'] ) ) : ?>
|
20 |
+
<span class="sui-notice sui-notice-error"><p><?php echo esc_html( $vars['error_message'] ); ?></p></span>
|
21 |
+
<?php endif; ?>
|
22 |
+
</div>
|
23 |
+
|
24 |
+
<form>
|
25 |
+
<div class="sui-form-field <?php echo esc_attr( ! empty( $vars['message_error'] ) ? 'sui-form-field-error' : '' ); ?>">
|
26 |
+
|
27 |
+
<label class="sui-label"><?php esc_html_e( 'Message', Forminator::DOMAIN ); ?></label>
|
28 |
+
|
29 |
+
<div class="sui-insert-variables">
|
30 |
+
|
31 |
+
<textarea id="slack_message"
|
32 |
+
class="sui-form-control"
|
33 |
+
name="message"
|
34 |
+
placeholder="<?php echo esc_attr( __( 'Message', Forminator::DOMAIN ) ); ?>"><?php echo esc_html( $vars['message'] ); ?></textarea>
|
35 |
+
|
36 |
+
<select data-textarea-id="slack_message">
|
37 |
+
<?php foreach ( $vars['tags'] as $short_tag => $label ) : ?>
|
38 |
+
<option value="{<?php echo esc_attr( $short_tag ); ?>}"
|
39 |
+
data-content="{<?php echo esc_attr( $short_tag ); ?>}"><?php echo esc_html( $label ); ?></option>
|
40 |
+
<?php endforeach; ?></select>
|
41 |
+
|
42 |
+
</div>
|
43 |
+
|
44 |
+
<?php if ( ! empty( $vars['message_error'] ) ) : ?>
|
45 |
+
<span class="sui-error-message"><?php echo esc_html( $vars['message_error'] ); ?></span>
|
46 |
+
<?php endif; ?>
|
47 |
+
<span class="sui-description">
|
48 |
+
<?php esc_html_e( 'You can format your message using Slack Flavored Markdown, find more information ', Forminator::DOMAIN ); ?>
|
49 |
+
<a href="https://get.slack.help/hc/en-us/articles/202288908-how-can-i-add-formatting-to-my-messages" target="_blank"><?php esc_html_e( 'here.', Forminator::DOMAIN ); ?></a>.
|
50 |
+
</span>
|
51 |
+
<span class="sui-description">
|
52 |
+
<?php esc_html_e(
|
53 |
+
'By default sent message will include Quiz Answer and Quiz Result as attachment using Forminator Format to ease you up, more information about attachment can be found ',
|
54 |
+
Forminator::DOMAIN
|
55 |
+
); ?>
|
56 |
+
<a href="https://api.slack.com/docs/message-attachments" target="_blank"><?php esc_html_e( 'here', Forminator::DOMAIN ); ?></a>
|
57 |
+
</span>
|
58 |
+
|
59 |
+
</div>
|
60 |
+
|
61 |
+
<input type="hidden" name="multi_id" value="<?php echo esc_attr( $vars['multi_id'] ); ?>">
|
62 |
+
</form>
|
addons/pro/trello/forminator-addon-trello-poll-hooks.php
CHANGED
@@ -182,6 +182,8 @@ class Forminator_Addon_Trello_Poll_Hooks extends Forminator_Addon_Poll_Hooks_Abs
|
|
182 |
$card_name = forminator_replace_variables( $card_name );
|
183 |
// {poll_name_replace}
|
184 |
$card_name = str_ireplace( '{poll_name}', forminator_get_name_from_model( $this->poll ), $card_name );
|
|
|
|
|
185 |
|
186 |
/**
|
187 |
* Filter Card Name to passed on to Create Trello Card API
|
@@ -214,8 +216,10 @@ class Forminator_Addon_Trello_Poll_Hooks extends Forminator_Addon_Poll_Hooks_Abs
|
|
214 |
|
215 |
if ( isset( $connection_settings['card_description'] ) ) {
|
216 |
$card_description = $connection_settings['card_description'];
|
|
|
217 |
$poll_answer_to_markdown = $this->poll_answer_to_markdown( $submitted_data );
|
218 |
$poll_result_to_markdown = $this->poll_result_to_markdown( $submitted_data );
|
|
|
219 |
$card_description = str_ireplace( '{poll_answer}', $poll_answer_to_markdown, $card_description );
|
220 |
$card_description = str_ireplace( '{poll_result}', $poll_result_to_markdown, $card_description );
|
221 |
$card_description = forminator_replace_variables( $card_description );
|
@@ -318,9 +322,40 @@ class Forminator_Addon_Trello_Poll_Hooks extends Forminator_Addon_Poll_Hooks_Abs
|
|
318 |
}
|
319 |
}
|
320 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
321 |
/**
|
322 |
* Special Replacer `{poll_answer}` to markdown with Trello Flavour
|
323 |
*
|
|
|
|
|
324 |
* @param array $submitted_data
|
325 |
*
|
326 |
* @return string
|
@@ -424,6 +459,113 @@ class Forminator_Addon_Trello_Poll_Hooks extends Forminator_Addon_Poll_Hooks_Abs
|
|
424 |
return $markdown;
|
425 |
}
|
426 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
427 |
/**
|
428 |
* Trello will add a column on the title/header row
|
429 |
* its called `Trello Info` which can be translated on forminator lang
|
182 |
$card_name = forminator_replace_variables( $card_name );
|
183 |
// {poll_name_replace}
|
184 |
$card_name = str_ireplace( '{poll_name}', forminator_get_name_from_model( $this->poll ), $card_name );
|
185 |
+
$card_name = str_ireplace( '{poll_answer}', $this->poll_answer_to_plain_text( $submitted_data ), $card_name );
|
186 |
+
$card_name = str_ireplace( '{poll_result}', $this->poll_result_to_plain_text( $submitted_data ), $card_name );
|
187 |
|
188 |
/**
|
189 |
* Filter Card Name to passed on to Create Trello Card API
|
216 |
|
217 |
if ( isset( $connection_settings['card_description'] ) ) {
|
218 |
$card_description = $connection_settings['card_description'];
|
219 |
+
$poll_name_to_markdown = $this->poll_name_to_markdown();
|
220 |
$poll_answer_to_markdown = $this->poll_answer_to_markdown( $submitted_data );
|
221 |
$poll_result_to_markdown = $this->poll_result_to_markdown( $submitted_data );
|
222 |
+
$card_description = str_ireplace( '{poll_name}', $poll_name_to_markdown, $card_description );
|
223 |
$card_description = str_ireplace( '{poll_answer}', $poll_answer_to_markdown, $card_description );
|
224 |
$card_description = str_ireplace( '{poll_result}', $poll_result_to_markdown, $card_description );
|
225 |
$card_description = forminator_replace_variables( $card_description );
|
322 |
}
|
323 |
}
|
324 |
|
325 |
+
/**
|
326 |
+
* Special Replacer `{poll_name}` to markdown with Trello Flavour
|
327 |
+
*
|
328 |
+
* @since 1.6.2
|
329 |
+
* @return string
|
330 |
+
*/
|
331 |
+
private function poll_name_to_markdown() {
|
332 |
+
|
333 |
+
$poll_name = forminator_get_name_from_model( $this->poll );
|
334 |
+
|
335 |
+
$markdown = "##" . $poll_name . "\n";
|
336 |
+
|
337 |
+
/**
|
338 |
+
* Filter markdown for `poll_answer`
|
339 |
+
*
|
340 |
+
* @since 1.6.1
|
341 |
+
*
|
342 |
+
* @param string $markdown
|
343 |
+
* @param array $submitted_data Submit data
|
344 |
+
* @param array $fields_labels Poll Answers Labels
|
345 |
+
*/
|
346 |
+
$markdown = apply_filters(
|
347 |
+
'forminator_addon_trello_poll_name_markdown',
|
348 |
+
$markdown
|
349 |
+
);
|
350 |
+
|
351 |
+
return $markdown;
|
352 |
+
}
|
353 |
+
|
354 |
/**
|
355 |
* Special Replacer `{poll_answer}` to markdown with Trello Flavour
|
356 |
*
|
357 |
+
* @since 1.6.1
|
358 |
+
*
|
359 |
* @param array $submitted_data
|
360 |
*
|
361 |
* @return string
|
459 |
return $markdown;
|
460 |
}
|
461 |
|
462 |
+
/**
|
463 |
+
* Special Replacer `{poll_answer}` to markdown with Trello Flavour
|
464 |
+
*
|
465 |
+
* @since 1.6.2
|
466 |
+
*
|
467 |
+
* @param array $submitted_data
|
468 |
+
*
|
469 |
+
* @return string
|
470 |
+
*/
|
471 |
+
private function poll_answer_to_plain_text( $submitted_data ) {
|
472 |
+
|
473 |
+
$answer_data = isset( $submitted_data[ $this->poll_id ] ) ? $submitted_data[ $this->poll_id ] : '';
|
474 |
+
$extra_field = isset( $submitted_data[ $this->poll_id . '-extra' ] ) ? $submitted_data[ $this->poll_id . '-extra' ] : '';
|
475 |
+
$fields_labels = $this->poll->pluck_fields_array( 'title', 'element_id', '1' );
|
476 |
+
|
477 |
+
$answer = isset( $fields_labels[ $answer_data ] ) ? $fields_labels[ $answer_data ] : $answer_data;
|
478 |
+
$extra = $extra_field;
|
479 |
+
|
480 |
+
$plain_text = $answer;
|
481 |
+
if ( ! empty( $extra ) ) {
|
482 |
+
$plain_text .= ', ' . $extra;
|
483 |
+
}
|
484 |
+
|
485 |
+
|
486 |
+
/**
|
487 |
+
* Filter plain text for `poll_answer`
|
488 |
+
*
|
489 |
+
* @since 1.6.2
|
490 |
+
*
|
491 |
+
* @param string $plain_text
|
492 |
+
* @param array $submitted_data Submit data
|
493 |
+
* @param array $fields_labels Poll Answers Labels
|
494 |
+
*/
|
495 |
+
$plain_text = apply_filters(
|
496 |
+
'forminator_addon_trello_poll_answer_plain_text',
|
497 |
+
$plain_text,
|
498 |
+
$submitted_data,
|
499 |
+
$fields_labels
|
500 |
+
);
|
501 |
+
|
502 |
+
return $plain_text;
|
503 |
+
}
|
504 |
+
|
505 |
+
/**
|
506 |
+
* Special Replacer `{poll_result}` to markdown with Trello Flavour
|
507 |
+
*
|
508 |
+
* @since 1.6.2
|
509 |
+
*
|
510 |
+
* @param array $submitted_data
|
511 |
+
*
|
512 |
+
* @return string
|
513 |
+
*/
|
514 |
+
private function poll_result_to_plain_text( $submitted_data ) {
|
515 |
+
$fields_array = $this->poll->get_fields_as_array();
|
516 |
+
$map_entries = Forminator_Form_Entry_Model::map_polls_entries( $this->poll_id, $fields_array );
|
517 |
+
|
518 |
+
// append new answer
|
519 |
+
if ( ! $this->poll->is_prevent_store() ) {
|
520 |
+
$answer_data = isset( $submitted_data[ $this->poll_id ] ) ? $submitted_data[ $this->poll_id ] : '';
|
521 |
+
|
522 |
+
$entries = 0;
|
523 |
+
// exists on map entries
|
524 |
+
if ( in_array( $answer_data, array_keys( $map_entries ), true ) ) {
|
525 |
+
$entries = $map_entries[ $answer_data ];
|
526 |
+
}
|
527 |
+
|
528 |
+
$entries ++;
|
529 |
+
$map_entries[ $answer_data ] = $entries;
|
530 |
+
|
531 |
+
}
|
532 |
+
|
533 |
+
$fields = $this->poll->get_fields();
|
534 |
+
|
535 |
+
$plain_text = '';
|
536 |
+
if ( ! is_null( $fields ) ) {
|
537 |
+
foreach ( $fields as $field ) {
|
538 |
+
$label = addslashes( $field->title );
|
539 |
+
|
540 |
+
$slug = isset( $field->slug ) ? $field->slug : sanitize_title( $label );
|
541 |
+
$entries = 0;
|
542 |
+
if ( in_array( $slug, array_keys( $map_entries ), true ) ) {
|
543 |
+
$entries = $map_entries[ $slug ];
|
544 |
+
}
|
545 |
+
$plain_text .= '' . $label . ': ' . $entries . ' ';
|
546 |
+
}
|
547 |
+
}
|
548 |
+
|
549 |
+
|
550 |
+
/**
|
551 |
+
* Filter markdown for `poll_result`
|
552 |
+
*
|
553 |
+
* @since 1.6.2
|
554 |
+
*
|
555 |
+
* @param string $markdown
|
556 |
+
* @param array $fields_array Answers list
|
557 |
+
* @param array $map_entries Poll Entries
|
558 |
+
*/
|
559 |
+
$plain_text = apply_filters(
|
560 |
+
'forminator_addon_trello_poll_result_plain_text',
|
561 |
+
$plain_text,
|
562 |
+
$fields_array,
|
563 |
+
$map_entries
|
564 |
+
);
|
565 |
+
|
566 |
+
return $plain_text;
|
567 |
+
}
|
568 |
+
|
569 |
/**
|
570 |
* Trello will add a column on the title/header row
|
571 |
* its called `Trello Info` which can be translated on forminator lang
|
addons/pro/trello/forminator-addon-trello-poll-settings.php
CHANGED
@@ -484,6 +484,7 @@ class Forminator_Addon_Trello_Poll_Settings extends Forminator_Addon_Poll_Settin
|
|
484 |
$var_list = array();
|
485 |
$var_list['poll_name'] = __( 'Poll Name', Forminator::DOMAIN );
|
486 |
$var_list = array_merge( $var_list, forminator_get_vars() );
|
|
|
487 |
|
488 |
$template_params['name_fields'] = $var_list;
|
489 |
$template_params['desc_fields'] = array_merge( forminator_get_poll_vars(), $var_list );
|
484 |
$var_list = array();
|
485 |
$var_list['poll_name'] = __( 'Poll Name', Forminator::DOMAIN );
|
486 |
$var_list = array_merge( $var_list, forminator_get_vars() );
|
487 |
+
unset( $var_list['custom_value'] );
|
488 |
|
489 |
$template_params['name_fields'] = $var_list;
|
490 |
$template_params['desc_fields'] = array_merge( forminator_get_poll_vars(), $var_list );
|
addons/pro/trello/forminator-addon-trello-quiz-hooks.php
ADDED
@@ -0,0 +1,697 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Class Forminator_Addon_Trello_Quiz_Hooks
|
5 |
+
*
|
6 |
+
* @since 1.6.2
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class Forminator_Addon_Trello_Quiz_Hooks extends Forminator_Addon_Quiz_Hooks_Abstract {
|
10 |
+
|
11 |
+
/**
|
12 |
+
* Addon instance are auto available form abstract
|
13 |
+
* Its added here for development purpose,
|
14 |
+
* Auto-complete will resolve addon directly to `Trello` instance instead of the abstract
|
15 |
+
* And its public properties can be exposed
|
16 |
+
*
|
17 |
+
* @since 1.6.2
|
18 |
+
* @var Forminator_Addon_Trello
|
19 |
+
*/
|
20 |
+
protected $addon;
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Quiz Settings Instance
|
24 |
+
*
|
25 |
+
* @since 1.6.2
|
26 |
+
* @var Forminator_Addon_Trello_Quiz_Settings | null
|
27 |
+
*/
|
28 |
+
protected $quiz_settings_instance;
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Forminator_Addon_Trello_Quiz_Hooks constructor.
|
32 |
+
*
|
33 |
+
* @since 1.6.2
|
34 |
+
*
|
35 |
+
* @param Forminator_Addon_Abstract $addon
|
36 |
+
* @param $quiz_id
|
37 |
+
*
|
38 |
+
* @throws Forminator_Addon_Exception
|
39 |
+
*/
|
40 |
+
public function __construct( Forminator_Addon_Abstract $addon, $quiz_id ) {
|
41 |
+
parent::__construct( $addon, $quiz_id );
|
42 |
+
$this->_submit_quiz_error_message = __( 'Trello failed to process submitted data. Please check your form and try again', Forminator::DOMAIN );
|
43 |
+
}
|
44 |
+
|
45 |
+
/**
|
46 |
+
* Save status of request sent and received for each connected Trello
|
47 |
+
*
|
48 |
+
* @since 1.6.2
|
49 |
+
*
|
50 |
+
* @param array $submitted_data
|
51 |
+
* @param array $current_entry_fields
|
52 |
+
*
|
53 |
+
* @return array
|
54 |
+
*/
|
55 |
+
public function add_entry_fields( $submitted_data, $current_entry_fields = array() ) {
|
56 |
+
|
57 |
+
$quiz_id = $this->quiz_id;
|
58 |
+
$quiz_settings_instance = $this->quiz_settings_instance;
|
59 |
+
|
60 |
+
/**
|
61 |
+
* Filter Trello submitted form data to be processed
|
62 |
+
*
|
63 |
+
* @since 1.6.2
|
64 |
+
*
|
65 |
+
* @param array $submitted_data
|
66 |
+
* @param array $current_entry_fields
|
67 |
+
* @param int $quiz_id current Quiz ID
|
68 |
+
* @param Forminator_Addon_Trello_Quiz_Settings $quiz_settings_instance Trello Addon Quiz Settings instance
|
69 |
+
*/
|
70 |
+
$submitted_data = apply_filters(
|
71 |
+
'forminator_addon_trello_quiz_submitted_data',
|
72 |
+
$submitted_data,
|
73 |
+
$current_entry_fields,
|
74 |
+
$quiz_id,
|
75 |
+
$quiz_settings_instance
|
76 |
+
);
|
77 |
+
|
78 |
+
/**
|
79 |
+
* Filter current form entry fields data to be processed by Trello
|
80 |
+
*
|
81 |
+
* @since 1.6.2
|
82 |
+
*
|
83 |
+
* @param array $current_entry_fields
|
84 |
+
* @param array $submitted_data
|
85 |
+
* @param int $quiz_id current quiz ID
|
86 |
+
* @param Forminator_Addon_Trello_Quiz_Settings $quiz_settings_instance Trello Addon Quiz Settings instance
|
87 |
+
*/
|
88 |
+
$current_entry_fields = apply_filters(
|
89 |
+
'forminator_addon_trello_quiz_current_entry_fields',
|
90 |
+
$current_entry_fields,
|
91 |
+
$submitted_data,
|
92 |
+
$quiz_id,
|
93 |
+
$quiz_settings_instance
|
94 |
+
);
|
95 |
+
|
96 |
+
|
97 |
+
$addon_setting_values = $this->quiz_settings_instance->get_quiz_settings_values();
|
98 |
+
|
99 |
+
$data = array();
|
100 |
+
|
101 |
+
/**
|
102 |
+
* Fires before create card on trello
|
103 |
+
*
|
104 |
+
* @since 1.6.2
|
105 |
+
*
|
106 |
+
* @param int $quiz_id current Quiz ID
|
107 |
+
* @param array $submitted_data
|
108 |
+
* @param Forminator_Addon_Trello_Quiz_Settings $quiz_settings_instance Trello Addon Quiz Settings instance
|
109 |
+
*/
|
110 |
+
do_action( 'forminator_addon_trello_quiz_before_create_card', $quiz_id, $submitted_data, $quiz_settings_instance );
|
111 |
+
|
112 |
+
foreach ( $addon_setting_values as $key => $addon_setting_value ) {
|
113 |
+
// save it on entry field, with name `status-$MULTI_ID`, and value is the return result on sending data to trello
|
114 |
+
if ( $quiz_settings_instance->is_multi_quiz_settings_complete( $key ) ) {
|
115 |
+
// exec only on completed connection
|
116 |
+
$data[] = array(
|
117 |
+
'name' => 'status-' . $key,
|
118 |
+
'value' => $this->get_status_on_create_card( $key, $submitted_data, $addon_setting_value, $current_entry_fields ),
|
119 |
+
);
|
120 |
+
}
|
121 |
+
|
122 |
+
}
|
123 |
+
|
124 |
+
$entry_fields = $data;
|
125 |
+
/**
|
126 |
+
* Filter Trello entry fields to be saved to entry model
|
127 |
+
*
|
128 |
+
* @since 1.6.2
|
129 |
+
*
|
130 |
+
* @param array $entry_fields
|
131 |
+
* @param int $quiz_id current Quiz ID
|
132 |
+
* @param array $submitted_data
|
133 |
+
* @param array $current_entry_fields
|
134 |
+
* @param Forminator_Addon_Trello_Quiz_Settings $quiz_settings_instance Trello Addon Quiz Settings instance
|
135 |
+
*/
|
136 |
+
$data = apply_filters(
|
137 |
+
'forminator_addon_trello_quiz_entry_fields',
|
138 |
+
$entry_fields,
|
139 |
+
$quiz_id,
|
140 |
+
$submitted_data,
|
141 |
+
$current_entry_fields,
|
142 |
+
$quiz_settings_instance
|
143 |
+
);
|
144 |
+
|
145 |
+
return $data;
|
146 |
+
|
147 |
+
}
|
148 |
+
|
149 |
+
/**
|
150 |
+
* Get status on create Trello card
|
151 |
+
*
|
152 |
+
* @since 1.6.2
|
153 |
+
*
|
154 |
+
* @param string $connection_id
|
155 |
+
* @param array $submitted_data
|
156 |
+
* @param array $connection_settings
|
157 |
+
* @param array $current_entry_fields
|
158 |
+
*
|
159 |
+
* @return array `is_sent` true means its success send data to Trello, false otherwise
|
160 |
+
*/
|
161 |
+
private function get_status_on_create_card( $connection_id, $submitted_data, $connection_settings, $current_entry_fields ) {
|
162 |
+
// initialize as null
|
163 |
+
$api = null;
|
164 |
+
|
165 |
+
$quiz_id = $this->quiz_id;
|
166 |
+
$quiz_settings_instance = $this->quiz_settings_instance;
|
167 |
+
|
168 |
+
//check required fields
|
169 |
+
try {
|
170 |
+
$api = $this->addon->get_api();
|
171 |
+
$args = array();
|
172 |
+
|
173 |
+
$quiz_settings = $this->quiz_settings_instance->get_quiz_settings();
|
174 |
+
|
175 |
+
if ( isset( $connection_settings['list_id'] ) ) {
|
176 |
+
$args['idList'] = $connection_settings['list_id'];
|
177 |
+
}
|
178 |
+
|
179 |
+
if ( isset( $connection_settings['card_name'] ) ) {
|
180 |
+
$card_name = $connection_settings['card_name'];
|
181 |
+
// disable all_fields here
|
182 |
+
$card_name = forminator_replace_variables( $card_name );
|
183 |
+
// {quizname_replace}
|
184 |
+
$card_name = str_ireplace( '{quiz_name}', forminator_get_name_from_model( $this->quiz ), $card_name );
|
185 |
+
|
186 |
+
/**
|
187 |
+
* Filter Card Name to passed on to Create Trello Card API
|
188 |
+
*
|
189 |
+
* @since 1.6.2
|
190 |
+
*
|
191 |
+
* @param string $card_name
|
192 |
+
* @param int $quiz_id Current Quiz id
|
193 |
+
* @param string $connection_id ID of current connection
|
194 |
+
* @param array $submitted_data
|
195 |
+
* @param array $connection_settings current connection setting, contains options of like `name`, `list_id` etc
|
196 |
+
* @param array $current_entry_fields default entry fields of quiz
|
197 |
+
* @param array $quiz_settings Displayed Quiz settings
|
198 |
+
* @param Forminator_Addon_Trello_Quiz_Settings $quiz_settings_instance Trello Addon Quiz Settings instance
|
199 |
+
*/
|
200 |
+
$card_name = apply_filters(
|
201 |
+
'forminator_addon_trello_quiz_card_name',
|
202 |
+
$card_name,
|
203 |
+
$quiz_id,
|
204 |
+
$connection_id,
|
205 |
+
$submitted_data,
|
206 |
+
$connection_settings,
|
207 |
+
$current_entry_fields,
|
208 |
+
$quiz_settings,
|
209 |
+
$quiz_settings_instance
|
210 |
+
);
|
211 |
+
$args['name'] = $card_name;
|
212 |
+
|
213 |
+
}
|
214 |
+
|
215 |
+
if ( isset( $connection_settings['card_description'] ) ) {
|
216 |
+
$card_description = $connection_settings['card_description'];
|
217 |
+
$quiz_answers_to_markdown = $this->quiz_answers_to_markdown( $current_entry_fields );
|
218 |
+
$quiz_result_to_markdown = $this->quiz_result_to_markdown( $current_entry_fields );
|
219 |
+
$card_description = str_ireplace( '{quiz_answer}', $quiz_answers_to_markdown, $card_description );
|
220 |
+
$card_description = str_ireplace( '{quiz_result}', $quiz_result_to_markdown, $card_description );
|
221 |
+
$card_description = forminator_replace_variables( $card_description );
|
222 |
+
|
223 |
+
/**
|
224 |
+
* Filter Card Description to passed on to Create Trello Card API
|
225 |
+
*
|
226 |
+
* @since 1.6.2
|
227 |
+
*
|
228 |
+
* @param string $card_description
|
229 |
+
* @param int $quiz_id Current Quiz id
|
230 |
+
* @param string $connection_id ID of current connection
|
231 |
+
* @param array $submitted_data
|
232 |
+
* @param array $connection_settings current connection setting, contains options of like `name`, `list_id` etc
|
233 |
+
* @param array $current_entry_fields default entry fields of quiz
|
234 |
+
* @param array $quiz_settings Displayed Quiz settings
|
235 |
+
* @param Forminator_Addon_Trello_Quiz_Settings $quiz_settings_instance Trello Addon Quiz Settings instance
|
236 |
+
*/
|
237 |
+
$card_description = apply_filters(
|
238 |
+
'forminator_addon_trello_quiz_card_description',
|
239 |
+
$card_description,
|
240 |
+
$quiz_id,
|
241 |
+
$connection_id,
|
242 |
+
$submitted_data,
|
243 |
+
$connection_settings,
|
244 |
+
$current_entry_fields,
|
245 |
+
$quiz_settings,
|
246 |
+
$quiz_settings_instance
|
247 |
+
);
|
248 |
+
$args['desc'] = $card_description;
|
249 |
+
}
|
250 |
+
|
251 |
+
if ( isset( $connection_settings['position'] ) ) {
|
252 |
+
$args['pos'] = $connection_settings['position'];
|
253 |
+
}
|
254 |
+
|
255 |
+
if ( isset( $connection_settings['label_ids'] ) && is_array( $connection_settings['label_ids'] ) ) {
|
256 |
+
$args['idLabels'] = implode( ',', $connection_settings['label_ids'] );
|
257 |
+
}
|
258 |
+
|
259 |
+
if ( isset( $connection_settings['member_ids'] ) && is_array( $connection_settings['member_ids'] ) ) {
|
260 |
+
$args['idMembers'] = implode( ',', $connection_settings['member_ids'] );
|
261 |
+
}
|
262 |
+
|
263 |
+
if ( isset( $submitted_data['_wp_http_referer'] ) ) {
|
264 |
+
$url_source = home_url( $submitted_data['_wp_http_referer'] );
|
265 |
+
if ( wp_http_validate_url( $url_source ) ) {
|
266 |
+
$args['urlSource'] = $url_source;
|
267 |
+
}
|
268 |
+
}
|
269 |
+
|
270 |
+
/**
|
271 |
+
* Filter arguments to passed on to Create Trello Card API
|
272 |
+
*
|
273 |
+
* @since 1.6.2
|
274 |
+
*
|
275 |
+
* @param array $args
|
276 |
+
* @param int $quiz_id Current Quiz id
|
277 |
+
* @param string $connection_id ID of current connection
|
278 |
+
* @param array $submitted_data
|
279 |
+
* @param array $connection_settings current connection setting, contains options of like `name`, `list_id` etc
|
280 |
+
* @param array $quiz_settings Displayed Quiz settings
|
281 |
+
* @param Forminator_Addon_Trello_Quiz_Settings $quiz_settings_instance Trello Addon Quiz Settings instance
|
282 |
+
*/
|
283 |
+
$args = apply_filters(
|
284 |
+
'forminator_addon_trello_quiz_create_card_args',
|
285 |
+
$args,
|
286 |
+
$quiz_id,
|
287 |
+
$connection_id,
|
288 |
+
$submitted_data,
|
289 |
+
$connection_settings,
|
290 |
+
$quiz_settings,
|
291 |
+
$quiz_settings_instance
|
292 |
+
);
|
293 |
+
|
294 |
+
$api->create_card( $args );
|
295 |
+
|
296 |
+
forminator_addon_maybe_log( __METHOD__, 'Success Send Data' );
|
297 |
+
|
298 |
+
return array(
|
299 |
+
'is_sent' => true,
|
300 |
+
'connection_name' => $connection_settings['name'],
|
301 |
+
'description' => __( 'Successfully send data to Trello', Forminator::DOMAIN ),
|
302 |
+
'data_sent' => $api->get_last_data_sent(),
|
303 |
+
'data_received' => $api->get_last_data_received(),
|
304 |
+
'url_request' => $api->get_last_url_request(),
|
305 |
+
);
|
306 |
+
|
307 |
+
} catch ( Forminator_Addon_Trello_Exception $e ) {
|
308 |
+
forminator_addon_maybe_log( __METHOD__, 'Failed to Send to Trello' );
|
309 |
+
|
310 |
+
return array(
|
311 |
+
'is_sent' => false,
|
312 |
+
'description' => $e->getMessage(),
|
313 |
+
'connection_name' => $connection_settings['name'],
|
314 |
+
'data_sent' => ( ( $api instanceof Forminator_Addon_Trello_Wp_Api ) ? $api->get_last_data_sent() : array() ),
|
315 |
+
'data_received' => ( ( $api instanceof Forminator_Addon_Trello_Wp_Api ) ? $api->get_last_data_received() : array() ),
|
316 |
+
'url_request' => ( ( $api instanceof Forminator_Addon_Trello_Wp_Api ) ? $api->get_last_url_request() : '' ),
|
317 |
+
);
|
318 |
+
}
|
319 |
+
}
|
320 |
+
|
321 |
+
/**
|
322 |
+
* Special Replacer `{quiz_answer}` to markdown with Trello Flavour
|
323 |
+
*
|
324 |
+
* @param array $quiz_entry_fields
|
325 |
+
*
|
326 |
+
* @return string
|
327 |
+
*/
|
328 |
+
private function quiz_answers_to_markdown( $quiz_entry_fields ) {
|
329 |
+
$markdown = '';
|
330 |
+
|
331 |
+
if ( is_array( $quiz_entry_fields ) && isset( $quiz_entry_fields[0] ) ) {
|
332 |
+
$quiz_entry = $quiz_entry_fields[0];
|
333 |
+
if ( isset( $quiz_entry['name'] ) && isset( $quiz_entry['value'] ) && 'entry' === $quiz_entry['name'] ) {
|
334 |
+
if ( is_array( $quiz_entry['value'] ) ) {
|
335 |
+
if ( 'knowledge' === $this->quiz->quiz_type ) {
|
336 |
+
foreach ( $quiz_entry['value'] as $data ) {
|
337 |
+
$question = isset( $data['question'] ) ? $data['question'] : '';
|
338 |
+
$answer = isset( $data['answer'] ) ? $data['answer'] : '';
|
339 |
+
$is_correct = isset( $data['isCorrect'] ) ? $data['isCorrect'] : false;
|
340 |
+
|
341 |
+
$markdown .= "###" . $question . "\n";
|
342 |
+
$markdown .= $answer . "\n";
|
343 |
+
$markdown .= __( 'Correct : ', Forminator::DOMAIN )
|
344 |
+
. '**' . ( $is_correct ? __( 'Yes', Forminator::DOMAIN ) : __( 'No', Forminator::DOMAIN ) ) . '**'
|
345 |
+
. "\n";
|
346 |
+
}
|
347 |
+
|
348 |
+
} elseif ( 'nowrong' === $this->quiz->quiz_type ) {
|
349 |
+
if ( isset( $quiz_entry['value'][0] )
|
350 |
+
&& is_array( $quiz_entry['value'][0] )
|
351 |
+
&& isset( $quiz_entry['value'][0]['value'] )
|
352 |
+
&& is_array( $quiz_entry['value'][0]['value'] ) ) {
|
353 |
+
|
354 |
+
$quiz_entry = $quiz_entry['value'][0]['value'];
|
355 |
+
|
356 |
+
$entry_questions = ( isset( $quiz_entry['answers'] ) && is_array( $quiz_entry['answers'] ) ) ? $quiz_entry['answers'] : array();
|
357 |
+
|
358 |
+
foreach ( $entry_questions as $entry_question ) {
|
359 |
+
$question = isset( $entry_question['question'] ) ? $entry_question['question'] : '';
|
360 |
+
$answer = isset( $entry_question['answer'] ) ? $entry_question['answer'] : '';
|
361 |
+
|
362 |
+
$markdown .= "###" . $question . "\n";
|
363 |
+
$markdown .= $answer . "\n";
|
364 |
+
}
|
365 |
+
}
|
366 |
+
}
|
367 |
+
}
|
368 |
+
}
|
369 |
+
}
|
370 |
+
|
371 |
+
/**
|
372 |
+
* Filter markdown for `quiz_answer`
|
373 |
+
*
|
374 |
+
* @since 1.6.2
|
375 |
+
*
|
376 |
+
* @param string $markdown
|
377 |
+
* @param array $quiz_entry_fields Entry Fields
|
378 |
+
*/
|
379 |
+
$markdown = apply_filters(
|
380 |
+
'forminator_addon_trello_quiz_answer_markdown',
|
381 |
+
$markdown,
|
382 |
+
$quiz_entry_fields
|
383 |
+
);
|
384 |
+
|
385 |
+
return $markdown;
|
386 |
+
}
|
387 |
+
|
388 |
+
/**
|
389 |
+
* Special Replacer `{quiz_result}` to markdown with Trello Flavour
|
390 |
+
*
|
391 |
+
* @since 1.6.2
|
392 |
+
*
|
393 |
+
* @param array $quiz_entry_fields
|
394 |
+
*
|
395 |
+
* @return string
|
396 |
+
*/
|
397 |
+
private function quiz_result_to_markdown( $quiz_entry_fields ) {
|
398 |
+
$markdown = '';
|
399 |
+
|
400 |
+
if ( is_array( $quiz_entry_fields ) && isset( $quiz_entry_fields[0] ) ) {
|
401 |
+
$quiz_entry = $quiz_entry_fields[0];
|
402 |
+
if ( isset( $quiz_entry['name'] ) && isset( $quiz_entry['value'] ) && 'entry' === $quiz_entry['name'] ) {
|
403 |
+
if ( is_array( $quiz_entry['value'] ) ) {
|
404 |
+
if ( 'knowledge' === $this->quiz->quiz_type ) {
|
405 |
+
$total_correct = 0;
|
406 |
+
$total_answers = 0;
|
407 |
+
foreach ( $quiz_entry['value'] as $data ) {
|
408 |
+
$is_correct = isset( $data['isCorrect'] ) ? $data['isCorrect'] : false;
|
409 |
+
if ( $is_correct ) {
|
410 |
+
$total_correct ++;
|
411 |
+
}
|
412 |
+
$total_answers ++;
|
413 |
+
}
|
414 |
+
|
415 |
+
$markdown .= '##' . __( 'Quiz Result', Forminator::DOMAIN ) . "\n";
|
416 |
+
$markdown .= __( 'Correct Answers : ', Forminator::DOMAIN )
|
417 |
+
. '**' . $total_correct . '**'
|
418 |
+
. "\n";
|
419 |
+
$markdown .= __( 'Total Answers : ', Forminator::DOMAIN )
|
420 |
+
. '**' . $total_answers . '**'
|
421 |
+
. "\n";
|
422 |
+
|
423 |
+
} elseif ( 'nowrong' === $this->quiz->quiz_type ) {
|
424 |
+
if ( isset( $quiz_entry['value'][0] )
|
425 |
+
&& is_array( $quiz_entry['value'][0] )
|
426 |
+
&& isset( $quiz_entry['value'][0]['value'] )
|
427 |
+
&& is_array( $quiz_entry['value'][0]['value'] ) ) {
|
428 |
+
|
429 |
+
$quiz_entry = $quiz_entry['value'][0]['value'];
|
430 |
+
$nowrong_result = ( isset( $quiz_entry['result'] ) && isset( $quiz_entry['result']['title'] ) ) ? $quiz_entry['result']['title'] : '';
|
431 |
+
|
432 |
+
$markdown .= '##' . __( 'Quiz Result', Forminator::DOMAIN ) . "\n";
|
433 |
+
$markdown .= '**' . $nowrong_result . '**'
|
434 |
+
. "\n";
|
435 |
+
|
436 |
+
}
|
437 |
+
}
|
438 |
+
}
|
439 |
+
}
|
440 |
+
}
|
441 |
+
|
442 |
+
/**
|
443 |
+
* Filter markdown for `quiz_result`
|
444 |
+
*
|
445 |
+
* @since 1.6.2
|
446 |
+
*
|
447 |
+
* @param string $markdown
|
448 |
+
* @param array $quiz_entry_fields Entry Fields
|
449 |
+
*/
|
450 |
+
$markdown = apply_filters(
|
451 |
+
'forminator_addon_trello_quiz_result_markdown',
|
452 |
+
$markdown,
|
453 |
+
$quiz_entry_fields
|
454 |
+
);
|
455 |
+
|
456 |
+
return $markdown;
|
457 |
+
}
|
458 |
+
|
459 |
+
/**
|
460 |
+
* Trello will add a column on the title/header row
|
461 |
+
* its called `Trello Info` which can be translated on forminator lang
|
462 |
+
*
|
463 |
+
* @since 1.6.2
|
464 |
+
* @return array
|
465 |
+
*/
|
466 |
+
public function on_export_render_title_row() {
|
467 |
+
|
468 |
+
$export_headers = array(
|
469 |
+
'info' => __( 'Trello Info', Forminator::DOMAIN ),
|
470 |
+
);
|
471 |
+
|
472 |
+
$quiz_id = $this->quiz_id;
|
473 |
+
$quiz_settings_instance = $this->quiz_settings_instance;
|
474 |
+
|
475 |
+
/**
|
476 |
+
* Filter Trello headers on export file
|
477 |
+
*
|
478 |
+
* @since 1.6.2
|
479 |
+
*
|
480 |
+
* @param array $export_headers headers to be displayed on export file
|
481 |
+
* @param int $quiz_id current Quiz ID
|
482 |
+
* @param Forminator_Addon_Trello_Quiz_Settings $quiz_settings_instance Trello Addon Quiz Settings instance
|
483 |
+
*/
|
484 |
+
$export_headers = apply_filters(
|
485 |
+
'forminator_addon_trello_quiz_export_headers',
|
486 |
+
$export_headers,
|
487 |
+
$quiz_id,
|
488 |
+
$quiz_settings_instance
|
489 |
+
);
|
490 |
+
|
491 |
+
return $export_headers;
|
492 |
+
}
|
493 |
+
|
494 |
+
/**
|
495 |
+
* Trello will add a column that give user information whether sending data to Trello successfully or not
|
496 |
+
* It will only add one column even its multiple connection, every connection will be separated by comma
|
497 |
+
*
|
498 |
+
* @since 1.6.2
|
499 |
+
*
|
500 |
+
* @param Forminator_Form_Entry_Model $entry_model
|
501 |
+
* @param $addon_meta_data
|
502 |
+
*
|
503 |
+
* @return array
|
504 |
+
*/
|
505 |
+
public function on_export_render_entry( Forminator_Form_Entry_Model $entry_model, $addon_meta_data ) {
|
506 |
+
|
507 |
+
$quiz_id = $this->quiz_id;
|
508 |
+
$quiz_settings_instance = $this->quiz_settings_instance;
|
509 |
+
|
510 |
+
/**
|
511 |
+
*
|
512 |
+
* Filter Trello metadata that previously saved on db to be processed
|
513 |
+
*
|
514 |
+
* @since 1.6.2
|
515 |
+
*
|
516 |
+
* @param array $addon_meta_data
|
517 |
+
* @param int $quiz_id current Quiz ID
|
518 |
+
* @param Forminator_Addon_Trello_Quiz_Settings $quiz_settings_instance Trello Addon Quiz Settings instance
|
519 |
+
*/
|
520 |
+
$addon_meta_data = apply_filters(
|
521 |
+
'forminator_addon_trello_quiz_metadata',
|
522 |
+
$addon_meta_data,
|
523 |
+
$quiz_id,
|
524 |
+
$quiz_settings_instance
|
525 |
+
);
|
526 |
+
|
527 |
+
$export_columns = array(
|
528 |
+
'info' => $this->get_from_addon_meta_data( $addon_meta_data, 'description', '' ),
|
529 |
+
);
|
530 |
+
|
531 |
+
/**
|
532 |
+
* Filter Trello columns to be displayed on export submissions
|
533 |
+
*
|
534 |
+
* @since 1.6.2
|
535 |
+
*
|
536 |
+
* @param array $export_columns column to be exported
|
537 |
+
* @param int $quiz_id current Quiz ID
|
538 |
+
* @param Forminator_Form_Entry_Model $entry_model Form Entry Model
|
539 |
+
* @param array $addon_meta_data meta data saved by addon on entry fields
|
540 |
+
* @param Forminator_Addon_Trello_Quiz_Settings $quiz_settings_instance Trello Addon Quiz Settings instance
|
541 |
+
*/
|
542 |
+
$export_columns = apply_filters(
|
543 |
+
'forminator_addon_trello_quiz_export_columns',
|
544 |
+
$export_columns,
|
545 |
+
$quiz_id,
|
546 |
+
$entry_model,
|
547 |
+
$addon_meta_data,
|
548 |
+
$quiz_settings_instance
|
549 |
+
);
|
550 |
+
|
551 |
+
return $export_columns;
|
552 |
+
}
|
553 |
+
|
554 |
+
/**
|
555 |
+
* It wil add new row on entry table of submission page, with couple of subentries
|
556 |
+
* subentries included are defined in @see Forminator_Addon_Trello_Quiz_Hooks::get_additional_entry_item()
|
557 |
+
*
|
558 |
+
* @since 1.6.1
|
559 |
+
*
|
560 |
+
* @param Forminator_Form_Entry_Model $entry_model
|
561 |
+
* @param $addon_meta_data
|
562 |
+
*
|
563 |
+
* @return array
|
564 |
+
*/
|
565 |
+
public function on_render_entry( Forminator_Form_Entry_Model $entry_model, $addon_meta_data ) {
|
566 |
+
|
567 |
+
$quiz_id = $this->quiz_id;
|
568 |
+
$quiz_settings_instance = $this->quiz_settings_instance;
|
569 |
+
|
570 |
+
/**
|
571 |
+
*
|
572 |
+
* Filter Trello metadata that previously saved on db to be processed
|
573 |
+
*
|
574 |
+
* @since 1.6.2
|
575 |
+
*
|
576 |
+
* @param array $addon_meta_data
|
577 |
+
* @param int $quiz_id current Quiz ID
|
578 |
+
* @param Forminator_Addon_Trello_Quiz_Settings $quiz_settings_instance Trello Addon Quiz Settings instance
|
579 |
+
*/
|
580 |
+
$addon_meta_data = apply_filters(
|
581 |
+
'forminator_addon_quiz_trello_metadata',
|
582 |
+
$addon_meta_data,
|
583 |
+
$quiz_id,
|
584 |
+
$quiz_settings_instance
|
585 |
+
);
|
586 |
+
|
587 |
+
|
588 |
+
$addon_meta_datas = $addon_meta_data;
|
589 |
+
if ( ! isset( $addon_meta_data[0] ) || ! is_array( $addon_meta_data[0] ) ) {
|
590 |
+
return array();
|
591 |
+
}
|
592 |
+
|
593 |
+
return $this->on_render_entry_multi_connection( $addon_meta_datas );
|
594 |
+
|
595 |
+
}
|
596 |
+
|
597 |
+
/**
|
598 |
+
* Loop through addon meta data on multiple Trello setup(s)
|
599 |
+
*
|
600 |
+
* @since 1.6.1
|
601 |
+
*
|
602 |
+
* @param $addon_meta_datas
|
603 |
+
*
|
604 |
+
* @return array
|
605 |
+
*/
|
606 |
+
private function on_render_entry_multi_connection( $addon_meta_datas ) {
|
607 |
+
$additional_entry_item = array();
|
608 |
+
foreach ( $addon_meta_datas as $addon_meta_data ) {
|
609 |
+
$additional_entry_item[] = $this->get_additional_entry_item( $addon_meta_data );
|
610 |
+
}
|
611 |
+
|
612 |
+
return $additional_entry_item;
|
613 |
+
|
614 |
+
}
|
615 |
+
|
616 |
+
/**
|
617 |
+
* Format additional entry item as label and value arrays
|
618 |
+
*
|
619 |
+
* - Integration Name : its defined by user when they adding Trello integration on their quiz
|
620 |
+
* - Sent To Trello : will be Yes/No value, that indicates whether sending data to Trello API was successful
|
621 |
+
* - Info : Text that are generated by addon when building and sending data to Trello @see Forminator_Addon_Trello_Quiz_Hooks::add_entry_fields()
|
622 |
+
* - Below subentries will be added if full log enabled, @see Forminator_Addon_Trello::is_show_full_log() @see FORMINATOR_ADDON_TRELLO_SHOW_FULL_LOG
|
623 |
+
* - API URL : URL that wes requested when sending data to Trello
|
624 |
+
* - Data sent to Trello : encoded body request that was sent
|
625 |
+
* - Data received from Trello : json encoded body response that was received
|
626 |
+
*
|
627 |
+
* @param $addon_meta_data
|
628 |
+
*
|
629 |
+
* @since 1.6.1
|
630 |
+
* @return array
|
631 |
+
*/
|
632 |
+
private function get_additional_entry_item( $addon_meta_data ) {
|
633 |
+
|
634 |
+
if ( ! isset( $addon_meta_data['value'] ) || ! is_array( $addon_meta_data['value'] ) ) {
|
635 |
+
return array();
|
636 |
+
}
|
637 |
+
$status = $addon_meta_data['value'];
|
638 |
+
$additional_entry_item = array(
|
639 |
+
'label' => __( 'Trello Integration', Forminator::DOMAIN ),
|
640 |
+
'value' => '',
|
641 |
+
);
|
642 |
+
|
643 |
+
|
644 |
+
$sub_entries = array();
|
645 |
+
if ( isset( $status['connection_name'] ) ) {
|
646 |
+
$sub_entries[] = array(
|
647 |
+
'label' => __( 'Integration Name', Forminator::DOMAIN ),
|
648 |
+
'value' => $status['connection_name'],
|
649 |
+
);
|
650 |
+
}
|
651 |
+
|
652 |
+
if ( isset( $status['is_sent'] ) ) {
|
653 |
+
$is_sent = true === $status['is_sent'] ? __( 'Yes', Forminator::DOMAIN ) : __( 'No', Forminator::DOMAIN );
|
654 |
+
$sub_entries[] = array(
|
655 |
+
'label' => __( 'Sent To Trello', Forminator::DOMAIN ),
|
656 |
+
'value' => $is_sent,
|
657 |
+
);
|
658 |
+
}
|
659 |
+
|
660 |
+
if ( isset( $status['description'] ) ) {
|
661 |
+
$sub_entries[] = array(
|
662 |
+
'label' => __( 'Info', Forminator::DOMAIN ),
|
663 |
+
'value' => $status['description'],
|
664 |
+
);
|
665 |
+
}
|
666 |
+
|
667 |
+
if ( Forminator_Addon_Trello::is_show_full_log() ) {
|
668 |
+
// too long to be added on entry data enable this with `define('FORMINATOR_ADDON_TRELLO_SHOW_FULL_LOG', true)`
|
669 |
+
if ( isset( $status['url_request'] ) ) {
|
670 |
+
$sub_entries[] = array(
|
671 |
+
'label' => __( 'API URL', Forminator::DOMAIN ),
|
672 |
+
'value' => $status['url_request'],
|
673 |
+
);
|
674 |
+
}
|
675 |
+
|
676 |
+
if ( isset( $status['data_sent'] ) ) {
|
677 |
+
$sub_entries[] = array(
|
678 |
+
'label' => __( 'Data sent to Trello', Forminator::DOMAIN ),
|
679 |
+
'value' => '<pre class="sui-code-snippet">' . wp_json_encode( $status['data_sent'], JSON_PRETTY_PRINT ) . '</pre>',
|
680 |
+
);
|
681 |
+
}
|
682 |
+
|
683 |
+
if ( isset( $status['data_received'] ) ) {
|
684 |
+
$sub_entries[] = array(
|
685 |
+
'label' => __( 'Data received from Trello', Forminator::DOMAIN ),
|
686 |
+
'value' => '<pre class="sui-code-snippet">' . wp_json_encode( $status['data_received'], JSON_PRETTY_PRINT ) . '</pre>',
|
687 |
+
);
|
688 |
+
}
|
689 |
+
}
|
690 |
+
|
691 |
+
|
692 |
+
$additional_entry_item['sub_entries'] = $sub_entries;
|
693 |
+
|
694 |
+
// return single array
|
695 |
+
return $additional_entry_item;
|
696 |
+
}
|
697 |
+
}
|
addons/pro/trello/forminator-addon-trello-quiz-settings-exception.php
ADDED
@@ -0,0 +1,68 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Class Forminator_Addon_Trello_Quiz_Settings_Exception
|
5 |
+
* Wrapper of Quiz Settings Trello Exception
|
6 |
+
*
|
7 |
+
* @since 1.6.2
|
8 |
+
*/
|
9 |
+
class Forminator_Addon_Trello_Quiz_Settings_Exception extends Forminator_Addon_Trello_Exception {
|
10 |
+
|
11 |
+
/**
|
12 |
+
* Holder of input exceptions
|
13 |
+
*
|
14 |
+
* @since 1.6.2
|
15 |
+
* @var array
|
16 |
+
*/
|
17 |
+
protected $input_exceptions = array();
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Forminator_Addon_Trello_Quiz_Settings_Exception constructor.
|
21 |
+
*
|
22 |
+
* Useful if input_id is needed for later.
|
23 |
+
* If no input_id needed, use @see Forminator_Addon_Trello_Exception
|
24 |
+
*
|
25 |
+
* @since 1.6.2
|
26 |
+
*
|
27 |
+
* @param string $message
|
28 |
+
* @param string $input_id
|
29 |
+
*/
|
30 |
+
public function __construct( $message = '', $input_id = '' ) {
|
31 |
+
parent::__construct( $message, 0 );
|
32 |
+
if ( ! empty( $input_id ) ) {
|
33 |
+
$this->add_input_exception( $message, $input_id );
|
34 |
+
}
|
35 |
+
}
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Set exception message for an input
|
39 |
+
*
|
40 |
+
* @since 1.6.2
|
41 |
+
*
|
42 |
+
* @param $message
|
43 |
+
* @param $input_id
|
44 |
+
*/
|
45 |
+
public function add_input_exception( $message, $input_id ) {
|
46 |
+
$this->input_exceptions[ $input_id ] = $message;
|
47 |
+
}
|
48 |
+
|
49 |
+
/**
|
50 |
+
* Get all input exceptions
|
51 |
+
*
|
52 |
+
* @since 1.6.2
|
53 |
+
* @return array
|
54 |
+
*/
|
55 |
+
public function get_input_exceptions() {
|
56 |
+
return $this->input_exceptions;
|
57 |
+
}
|
58 |
+
|
59 |
+
/**
|
60 |
+
* Check if there is input_exceptions_is_available
|
61 |
+
*
|
62 |
+
* @since 1.6.2
|
63 |
+
* @return bool
|
64 |
+
*/
|
65 |
+
public function input_exceptions_is_available() {
|
66 |
+
return count( $this->input_exceptions ) > 0;
|
67 |
+
}
|
68 |
+
}
|
addons/pro/trello/forminator-addon-trello-quiz-settings.php
ADDED
@@ -0,0 +1,783 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
require_once dirname( __FILE__ ) . '/forminator-addon-trello-quiz-settings-exception.php';
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class Forminator_Addon_Trello_Quiz_Settings
|
7 |
+
* Handle how quiz settings displayed and saved
|
8 |
+
*
|
9 |
+
* @since 1.6.2
|
10 |
+
*/
|
11 |
+
class Forminator_Addon_Trello_Quiz_Settings extends Forminator_Addon_Quiz_Settings_Abstract {
|
12 |
+
|
13 |
+
/**
|
14 |
+
* @var Forminator_Addon_Trello
|
15 |
+
* @since 1.6.2
|
16 |
+
*/
|
17 |
+
protected $addon;
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Forminator_Addon_Trello_Quiz_Settings constructor.
|
21 |
+
*
|
22 |
+
* @since 1.6.2
|
23 |
+
*
|
24 |
+
* @param Forminator_Addon_Abstract $addon
|
25 |
+
* @param $quiz_id
|
26 |
+
*
|
27 |
+
* @throws Forminator_Addon_Exception
|
28 |
+
*/
|
29 |
+
public function __construct( Forminator_Addon_Abstract $addon, $quiz_id ) {
|
30 |
+
parent::__construct( $addon, $quiz_id );
|
31 |
+
|
32 |
+
$this->_update_quiz_settings_error_message = __(
|
33 |
+
'The update to your settings for this quiz failed, check the form input and try again.',
|
34 |
+
Forminator::DOMAIN
|
35 |
+
);
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Trello Quiz Settings wizard
|
40 |
+
*
|
41 |
+
* @since 1.6.2
|
42 |
+
* @return array
|
43 |
+
*/
|
44 |
+
public function quiz_settings_wizards() {
|
45 |
+
// numerical array steps
|
46 |
+
return array(
|
47 |
+
array(
|
48 |
+
'callback' => array( $this, 'setup_name' ),
|
49 |
+
'is_completed' => array( $this, 'setup_name_is_completed' ),
|
50 |
+
),
|
51 |
+
array(
|
52 |
+
'callback' => array( $this, 'setup_board' ),
|
53 |
+
'is_completed' => array( $this, 'setup_board_is_completed' ),
|
54 |
+
),
|
55 |
+
array(
|
56 |
+
'callback' => array( $this, 'setup_list' ),
|
57 |
+
'is_completed' => array( $this, 'setup_list_is_completed' ),
|
58 |
+
),
|
59 |
+
array(
|
60 |
+
'callback' => array( $this, 'setup_card' ),
|
61 |
+
'is_completed' => array( $this, 'setup_card_is_completed' ),
|
62 |
+
),
|
63 |
+
);
|
64 |
+
}
|
65 |
+
|
66 |
+
/**
|
67 |
+
* Setup Name
|
68 |
+
*
|
69 |
+
* @since 1.6.2
|
70 |
+
*
|
71 |
+
* @param $submitted_data
|
72 |
+
*
|
73 |
+
* @return array
|
74 |
+
*/
|
75 |
+
public function setup_name( $submitted_data ) {
|
76 |
+
$template = forminator_addon_trello_dir() . 'views/quiz-settings/setup-name.php';
|
77 |
+
|
78 |
+
$multi_id = $this->generate_multi_id();
|
79 |
+
if ( isset( $submitted_data['multi_id'] ) ) {
|
80 |
+
$multi_id = $submitted_data['multi_id'];
|
81 |
+
}
|
82 |
+
|
83 |
+
$template_params = array(
|
84 |
+
'name' => $this->get_multi_id_quiz_settings_value( $multi_id, 'name', '' ),
|
85 |
+
'name_error' => '',
|
86 |
+
'multi_id' => $multi_id,
|
87 |
+
);
|
88 |
+
|
89 |
+
unset( $submitted_data['multi_id'] );
|
90 |
+
|
91 |
+
$is_submit = ! empty( $submitted_data );
|
92 |
+
$has_errors = false;
|
93 |
+
if ( $is_submit ) {
|
94 |
+
$name = isset( $submitted_data['name'] ) ? $submitted_data['name'] : '';
|
95 |
+
$template_params['name'] = $name;
|
96 |
+
|
97 |
+
try {
|
98 |
+
if ( empty( $name ) ) {
|
99 |
+
throw new Forminator_Addon_Trello_Exception( __( 'Please pick valid name' ) );
|
100 |
+
}
|
101 |
+
|
102 |
+
$time_added = $this->get_multi_id_quiz_settings_value( $multi_id, 'time_added', time() );
|
103 |
+
$this->save_multi_id_quiz_setting_values(
|
104 |
+
$multi_id,
|
105 |
+
array(
|
106 |
+
'name' => $name,
|
107 |
+
'time_added' => $time_added,
|
108 |
+
)
|
109 |
+
);
|
110 |
+
|
111 |
+
} catch ( Forminator_Addon_Trello_Exception $e ) {
|
112 |
+
$template_params['name_error'] = $e->getMessage();
|
113 |
+
$has_errors = true;
|
114 |
+
}
|
115 |
+
}
|
116 |
+
|
117 |
+
$buttons = array();
|
118 |
+
if ( $this->setup_name_is_completed( array( 'multi_id' => $multi_id ) ) ) {
|
119 |
+
$buttons['disconnect']['markup'] = Forminator_Addon_Abstract::get_button_markup(
|
120 |
+
esc_html__( 'DISCONNECT', Forminator::DOMAIN ),
|
121 |
+
'sui-button-ghost sui-tooltip sui-tooltip-top-center forminator-addon-form-disconnect',
|
122 |
+
esc_html__( 'Disconnect this Trello Integration from this Quiz.', Forminator::DOMAIN )
|
123 |
+
);
|
124 |
+
}
|
125 |
+
|
126 |
+
$buttons['next']['markup'] = '<div class="sui-actions-right">' .
|
127 |
+
Forminator_Addon_Abstract::get_button_markup( esc_html__( 'Next', Forminator::DOMAIN ), 'forminator-addon-next' ) .
|
128 |
+
'</div>';
|
129 |
+
|
130 |
+
return array(
|
131 |
+
'html' => Forminator_Addon_Abstract::get_template( $template, $template_params ),
|
132 |
+
'buttons' => $buttons,
|
133 |
+
'redirect' => false,
|
134 |
+
'has_errors' => $has_errors,
|
135 |
+
);
|
136 |
+
}
|
137 |
+
|
138 |
+
/**
|
139 |
+
* Check if setup name is completed
|
140 |
+
*
|
141 |
+
* @since 1.6.2
|
142 |
+
*
|
143 |
+
* @param $submitted_data
|
144 |
+
*
|
145 |
+
* @return bool
|
146 |
+
*/
|
147 |
+
public function setup_name_is_completed( $submitted_data ) {
|
148 |
+
$multi_id = '';
|
149 |
+
if ( isset( $submitted_data['multi_id'] ) ) {
|
150 |
+
$multi_id = $submitted_data['multi_id'];
|
151 |
+
}
|
152 |
+
|
153 |
+
if ( empty( $multi_id ) ) {
|
154 |
+
return false;
|
155 |
+
}
|
156 |
+
|
157 |
+
$name = $this->get_multi_id_quiz_settings_value( $multi_id, 'name', '' );
|
158 |
+
|
159 |
+
if ( empty( $name ) ) {
|
160 |
+
return false;
|
161 |
+
}
|
162 |
+
|
163 |
+
return true;
|
164 |
+
}
|
165 |
+
|
166 |
+
/**
|
167 |
+
* Setup Board
|
168 |
+
*
|
169 |
+
* @since 1.6.2
|
170 |
+
*
|
171 |
+
* @param $submitted_data
|
172 |
+
*
|
173 |
+
* @return array
|
174 |
+
*/
|
175 |
+
public function setup_board( $submitted_data ) {
|
176 |
+
$template = forminator_addon_trello_dir() . 'views/quiz-settings/setup-board.php';
|
177 |
+
|
178 |
+
if ( ! isset( $submitted_data['multi_id'] ) ) {
|
179 |
+
return $this->get_force_closed_wizard( __( 'Please pick valid connection', Forminator::DOMAIN ) );
|
180 |
+
}
|
181 |
+
|
182 |
+
$multi_id = $submitted_data['multi_id'];
|
183 |
+
unset( $submitted_data['multi_id'] );
|
184 |
+
|
185 |
+
$template_params = array(
|
186 |
+
'board_id' => $this->get_multi_id_quiz_settings_value( $multi_id, 'board_id', '' ),
|
187 |
+
'board_id_error' => '',
|
188 |
+
'multi_id' => $multi_id,
|
189 |
+
'error_message' => '',
|
190 |
+
'boards' => array(),
|
191 |
+
);
|
192 |
+
|
193 |
+
|
194 |
+
$is_submit = ! empty( $submitted_data );
|
195 |
+
$has_errors = false;
|
196 |
+
|
197 |
+
$boards = array();
|
198 |
+
|
199 |
+
try {
|
200 |
+
|
201 |
+
$api = $this->addon->get_api();
|
202 |
+
$boards_request = $api->get_boards();
|
203 |
+
|
204 |
+
foreach ( $boards_request as $key => $data ) {
|
205 |
+
if ( isset( $data->id ) && isset( $data->name ) ) {
|
206 |
+
$boards[ $data->id ] = $data->name;
|
207 |
+
}
|
208 |
+
}
|
209 |
+
|
210 |
+
if ( empty( $boards ) ) {
|
211 |
+
throw new Forminator_Addon_Trello_Exception( __( 'No board found on your Trello account. Please create one.', Forminator::DOMAIN ) );
|
212 |
+
}
|
213 |
+
|
214 |
+
$template_params['boards'] = $boards;
|
215 |
+
|
216 |
+
} catch ( Forminator_Addon_Trello_Exception $e ) {
|
217 |
+
$template_params['error_message'] = $e->getMessage();
|
218 |
+
$has_errors = true;
|
219 |
+
}
|
220 |
+
|
221 |
+
if ( $is_submit ) {
|
222 |
+
$board_id = isset( $submitted_data['board_id'] ) ? $submitted_data['board_id'] : '';
|
223 |
+
$template_params['board_id'] = $board_id;
|
224 |
+
|
225 |
+
try {
|
226 |
+
if ( empty( $board_id ) ) {
|
227 |
+
throw new Forminator_Addon_Trello_Exception( __( 'Please pick valid board.' ) );
|
228 |
+
}
|
229 |
+
|
230 |
+
// phpcs:ignore WordPress.PHP.StrictInArray.MissingTrueStrict
|
231 |
+
if ( ! in_array( $board_id, array_keys( $boards ) ) ) {
|
232 |
+
throw new Forminator_Addon_Trello_Exception( __( 'Please pick valid board.' ) );
|
233 |
+
}
|
234 |
+
|
235 |
+
$board_name = $boards[ $board_id ];
|
236 |
+
|
237 |
+
$this->save_multi_id_quiz_setting_values(
|
238 |
+
$multi_id,
|
239 |
+
array(
|
240 |
+
'board_id' => $board_id,
|
241 |
+
'board_name' => $board_name,
|
242 |
+
)
|
243 |
+
);
|
244 |
+
|
245 |
+
} catch ( Forminator_Addon_Trello_Exception $e ) {
|
246 |
+
$template_params['board_id_error'] = $e->getMessage();
|
247 |
+
$has_errors = true;
|
248 |
+
}
|
249 |
+
}
|
250 |
+
|
251 |
+
$buttons = array();
|
252 |
+
if ( $this->setup_name_is_completed( array( 'multi_id' => $multi_id ) ) ) {
|
253 |
+
$buttons['disconnect']['markup'] = Forminator_Addon_Abstract::get_button_markup(
|
254 |
+
esc_html__( 'DISCONNECT', Forminator::DOMAIN ),
|
255 |
+
'sui-button-ghost sui-tooltip sui-tooltip-top-center forminator-addon-form-disconnect',
|
256 |
+
esc_html__( 'Disconnect this Trello Integration from this Quiz.', Forminator::DOMAIN )
|
257 |
+
);
|
258 |
+
}
|
259 |
+
|
260 |
+
$buttons['next']['markup'] = '<div class="sui-actions-right">' .
|
261 |
+
Forminator_Addon_Abstract::get_button_markup( esc_html__( 'Next', Forminator::DOMAIN ), 'forminator-addon-next' ) .
|
262 |
+
'</div>';
|
263 |
+
|
264 |
+
return array(
|
265 |
+
'html' => Forminator_Addon_Abstract::get_template( $template, $template_params ),
|
266 |
+
'buttons' => $buttons,
|
267 |
+
'redirect' => false,
|
268 |
+
'has_errors' => $has_errors,
|
269 |
+
'has_back' => true,
|
270 |
+
);
|
271 |
+
}
|
272 |
+
|
273 |
+
/**
|
274 |
+
* Check if setup board is completed
|
275 |
+
*
|
276 |
+
* @since 1.6.2
|
277 |
+
*
|
278 |
+
* @param $submitted_data
|
279 |
+
*
|
280 |
+
* @return bool
|
281 |
+
*/
|
282 |
+
public function setup_board_is_completed( $submitted_data ) {
|
283 |
+
$multi_id = '';
|
284 |
+
if ( isset( $submitted_data['multi_id'] ) ) {
|
285 |
+
$multi_id = $submitted_data['multi_id'];
|
286 |
+
}
|
287 |
+
|
288 |
+
if ( empty( $multi_id ) ) {
|
289 |
+
return false;
|
290 |
+
}
|
291 |
+
|
292 |
+
$board_id = $this->get_multi_id_quiz_settings_value( $multi_id, 'board_id', '' );
|
293 |
+
|
294 |
+
if ( empty( $board_id ) ) {
|
295 |
+
return false;
|
296 |
+
}
|
297 |
+
|
298 |
+
return true;
|
299 |
+
}
|
300 |
+
|
301 |
+
/**
|
302 |
+
* Setup List on Board
|
303 |
+
*
|
304 |
+
* @since 1.6.2
|
305 |
+
*
|
306 |
+
* @param $submitted_data
|
307 |
+
*
|
308 |
+
* @return array
|
309 |
+
*/
|
310 |
+
public function setup_list( $submitted_data ) {
|
311 |
+
$template = forminator_addon_trello_dir() . 'views/quiz-settings/setup-list.php';
|
312 |
+
|
313 |
+
if ( ! isset( $submitted_data['multi_id'] ) ) {
|
314 |
+
return $this->get_force_closed_wizard( __( 'Please pick valid connection', Forminator::DOMAIN ) );
|
315 |
+
}
|
316 |
+
|
317 |
+
$multi_id = $submitted_data['multi_id'];
|
318 |
+
unset( $submitted_data['multi_id'] );
|
319 |
+
|
320 |
+
//todo: validate this, step wizard back if needed
|
321 |
+
$board_name = $this->get_multi_id_quiz_settings_value( $multi_id, 'board_name', '' );
|
322 |
+
$board_id = $this->get_multi_id_quiz_settings_value( $multi_id, 'board_id', '' );
|
323 |
+
|
324 |
+
$template_params = array(
|
325 |
+
'list_id' => $this->get_multi_id_quiz_settings_value( $multi_id, 'list_id', '' ),
|
326 |
+
'list_id_error' => '',
|
327 |
+
'board_name' => $board_name,
|
328 |
+
'multi_id' => $multi_id,
|
329 |
+
'error_message' => '',
|
330 |
+
'lists' => array(),
|
331 |
+
);
|
332 |
+
|
333 |
+
$is_submit = ! empty( $submitted_data );
|
334 |
+
$has_errors = false;
|
335 |
+
|
336 |
+
$lists = array();
|
337 |
+
|
338 |
+
try {
|
339 |
+
|
340 |
+
$api = $this->addon->get_api();
|
341 |
+
$list_request = $api->get_board_lists( $board_id );
|
342 |
+
|
343 |
+
foreach ( $list_request as $key => $data ) {
|
344 |
+
if ( isset( $data->id ) && isset( $data->name ) ) {
|
345 |
+
$lists[ $data->id ] = $data->name;
|
346 |
+
}
|
347 |
+
}
|
348 |
+
|
349 |
+
if ( empty( $lists ) ) {
|
350 |
+
throw new Forminator_Addon_Trello_Exception( sprintf( __( 'No list found on Trello Board of %1$s. Please create one.', Forminator::DOMAIN ), $board_name ) );
|
351 |
+
}
|
352 |
+
|
353 |
+
$template_params['lists'] = $lists;
|
354 |
+
|
355 |
+
} catch ( Forminator_Addon_Trello_Exception $e ) {
|
356 |
+
$template_params['error_message'] = $e->getMessage();
|
357 |
+
$has_errors = true;
|
358 |
+
}
|
359 |
+
|
360 |
+
if ( $is_submit ) {
|
361 |
+
$list_id = isset( $submitted_data['list_id'] ) ? $submitted_data['list_id'] : '';
|
362 |
+
$template_params['list_id'] = $list_id;
|
363 |
+
|
364 |
+
try {
|
365 |
+
if ( empty( $list_id ) ) {
|
366 |
+
throw new Forminator_Addon_Trello_Exception( __( 'Please pick valid list.' ) );
|
367 |
+
}
|
368 |
+
|
369 |
+
// phpcs:ignore WordPress.PHP.StrictInArray.MissingTrueStrict
|
370 |
+
if ( ! in_array( $list_id, array_keys( $lists ) ) ) {
|
371 |
+
throw new Forminator_Addon_Trello_Exception( __( 'Please pick valid list.' ) );
|
372 |
+
}
|
373 |
+
|
374 |
+
$list_name = $lists[ $list_id ];
|
375 |
+
|
376 |
+
$this->save_multi_id_quiz_setting_values(
|
377 |
+
$multi_id,
|
378 |
+
array(
|
379 |
+
'list_id' => $list_id,
|
380 |
+
'list_name' => $list_name,
|
381 |
+
)
|
382 |
+
);
|
383 |
+
|
384 |
+
} catch ( Forminator_Addon_Trello_Exception $e ) {
|
385 |
+
$template_params['list_id_error'] = $e->getMessage();
|
386 |
+
$has_errors = true;
|
387 |
+
}
|
388 |
+
}
|
389 |
+
|
390 |
+
$buttons = array();
|
391 |
+
if ( $this->setup_name_is_completed( array( 'multi_id' => $multi_id ) ) ) {
|
392 |
+
$buttons['disconnect']['markup'] = Forminator_Addon_Abstract::get_button_markup(
|
393 |
+
esc_html__( 'DISCONNECT', Forminator::DOMAIN ),
|
394 |
+
'sui-button-ghost sui-tooltip sui-tooltip-top-center forminator-addon-form-disconnect',
|
395 |
+
esc_html__( 'Disconnect this Trello Integration from this Quiz.', Forminator::DOMAIN )
|
396 |
+
);
|
397 |
+
}
|
398 |
+
|
399 |
+
$buttons['next']['markup'] = '<div class="sui-actions-right">' .
|
400 |
+
Forminator_Addon_Abstract::get_button_markup( esc_html__( 'Next', Forminator::DOMAIN ), 'forminator-addon-next' ) .
|
401 |
+
'</div>';
|
402 |
+
|
403 |
+
return array(
|
404 |
+
'html' => Forminator_Addon_Abstract::get_template( $template, $template_params ),
|
405 |
+
'buttons' => $buttons,
|
406 |
+
'redirect' => false,
|
407 |
+
'has_errors' => $has_errors,
|
408 |
+
'has_back' => true,
|
409 |
+
);
|
410 |
+
}
|
411 |
+
|
412 |
+
/**
|
413 |
+
* Check if setup list is completed
|
414 |
+
*
|
415 |
+
* @since 1.6.2
|
416 |
+
*
|
417 |
+
* @param $submitted_data
|
418 |
+
*
|
419 |
+
* @return bool
|
420 |
+
*/
|
421 |
+
public function setup_list_is_completed( $submitted_data ) {
|
422 |
+
$multi_id = '';
|
423 |
+
if ( isset( $submitted_data['multi_id'] ) ) {
|
424 |
+
$multi_id = $submitted_data['multi_id'];
|
425 |
+
}
|
426 |
+
|
427 |
+
if ( empty( $multi_id ) ) {
|
428 |
+
return false;
|
429 |
+
}
|
430 |
+
|
431 |
+
$list_id = $this->get_multi_id_quiz_settings_value( $multi_id, 'list_id', '' );
|
432 |
+
|
433 |
+
if ( empty( $list_id ) ) {
|
434 |
+
return false;
|
435 |
+
}
|
436 |
+
|
437 |
+
return true;
|
438 |
+
}
|
439 |
+
|
440 |
+
/**
|
441 |
+
* Setup Card
|
442 |
+
*
|
443 |
+
* @since 1.6.2
|
444 |
+
*
|
445 |
+
* @param $submitted_data
|
446 |
+
*
|
447 |
+
* @return array
|
448 |
+
*/
|
449 |
+
public function setup_card( $submitted_data ) {
|
450 |
+
$template = forminator_addon_trello_dir() . 'views/quiz-settings/setup-card.php';
|
451 |
+
|
452 |
+
if ( ! isset( $submitted_data['multi_id'] ) ) {
|
453 |
+
return $this->get_force_closed_wizard( __( 'Please pick valid connection', Forminator::DOMAIN ) );
|
454 |
+
}
|
455 |
+
|
456 |
+
$multi_id = $submitted_data['multi_id'];
|
457 |
+
unset( $submitted_data['multi_id'] );
|
458 |
+
|
459 |
+
$positions = array(
|
460 |
+
'top' => __( 'Top', Forminator::DOMAIN ),
|
461 |
+
'bottom' => __( 'Bottom', Forminator::DOMAIN ),
|
462 |
+
);
|
463 |
+
|
464 |
+
//todo: validate this, step wizard back if needed
|
465 |
+
$board_id = $this->get_multi_id_quiz_settings_value( $multi_id, 'board_id', '' );
|
466 |
+
|
467 |
+
|
468 |
+
$template_params = array(
|
469 |
+
'card_name' => $this->get_multi_id_quiz_settings_value( $multi_id, 'card_name', 'New submission from {quiz_name}' ),
|
470 |
+
'card_name_error' => '',
|
471 |
+
'card_description' => $this->get_multi_id_quiz_settings_value( $multi_id, 'card_description', "{quiz_answer}\n{quiz_result}" ),
|
472 |
+
'card_description_error' => '',
|
473 |
+
'position' => $this->get_multi_id_quiz_settings_value( $multi_id, 'position', 'bottom' ),
|
474 |
+
'position_error' => '',
|
475 |
+
'positions' => $positions,
|
476 |
+
'label_ids' => $this->get_multi_id_quiz_settings_value( $multi_id, 'label_ids', array() ),
|
477 |
+
'label_ids_error' => '',
|
478 |
+
'labels' => array(),
|
479 |
+
'member_ids' => $this->get_multi_id_quiz_settings_value( $multi_id, 'member_ids', array() ),
|
480 |
+
'member_ids_error' => '',
|
481 |
+
'members' => array(),
|
482 |
+
'error_message' => '',
|
483 |
+
'multi_id' => $multi_id,
|
484 |
+
'list_name' => $this->get_multi_id_quiz_settings_value( $multi_id, 'list_name', '' ),
|
485 |
+
);
|
486 |
+
|
487 |
+
$var_list = array();
|
488 |
+
$var_list['quiz_name'] = __( 'Quiz Name', Forminator::DOMAIN );
|
489 |
+
$var_list = array_merge( $var_list, forminator_get_vars() );
|
490 |
+
unset( $var_list['custom_value'] );
|
491 |
+
|
492 |
+
$template_params['name_fields'] = $var_list;
|
493 |
+
$template_params['desc_fields'] = array_merge( forminator_get_quiz_vars(), $var_list );
|
494 |
+
|
495 |
+
$is_submit = ! empty( $submitted_data );
|
496 |
+
$has_errors = false;
|
497 |
+
$is_close = false;
|
498 |
+
$notification = array();
|
499 |
+
|
500 |
+
$labels = array();
|
501 |
+
$members = array();
|
502 |
+
|
503 |
+
try {
|
504 |
+
// get available labels
|
505 |
+
$api = $this->addon->get_api();
|
506 |
+
$labels_request = $api->get_board_labels( $board_id );
|
507 |
+
|
508 |
+
foreach ( $labels_request as $data ) {
|
509 |
+
if ( isset( $data->id ) ) {
|
510 |
+
$name = $data->color;
|
511 |
+
if ( isset( $data->name ) && ! empty( $data->name ) ) {
|
512 |
+
$name = $data->name;
|
513 |
+
}
|
514 |
+
$labels[ $data->id ] = array(
|
515 |
+
'name' => $name,
|
516 |
+
'color' => $data->color,
|
517 |
+
);
|
518 |
+
}
|
519 |
+
}
|
520 |
+
|
521 |
+
// get available members
|
522 |
+
$members_request = $api->get_board_members( $board_id );
|
523 |
+
|
524 |
+
foreach ( $members_request as $data ) {
|
525 |
+
if ( isset( $data->id ) && isset( $data->username ) ) {
|
526 |
+
$display_name = $data->username;
|
527 |
+
// its from API var
|
528 |
+
// phpcs:ignore WordPress.NamingConventions.ValidVariableName.NotSnakeCaseMemberVar
|
529 |
+
if ( isset( $data->fullName ) && ! empty( $data->fullName ) ) {
|
530 |
+
// its from API var
|
531 |
+
// phpcs:ignore WordPress.NamingConventions.ValidVariableName.NotSnakeCaseMemberVar
|
532 |
+
$display_name = $data->fullName;
|
533 |
+
}
|
534 |
+
$members[ $data->id ] = $display_name;
|
535 |
+
}
|
536 |
+
}
|
537 |
+
|
538 |
+
} catch ( Forminator_Addon_Trello_Exception $e ) {
|
539 |
+
$template_params['error_message'] = $e->getMessage();
|
540 |
+
$has_errors = true;
|
541 |
+
}
|
542 |
+
|
543 |
+
$template_params['labels'] = $labels;
|
544 |
+
$template_params['members'] = $members;
|
545 |
+
|
546 |
+
if ( $is_submit ) {
|
547 |
+
$card_name = isset( $submitted_data['card_name'] ) ? trim( $submitted_data['card_name'] ) : '';
|
548 |
+
$template_params['card_name'] = $card_name;
|
549 |
+
|
550 |
+
$card_description = isset( $submitted_data['card_description'] ) ? trim( $submitted_data['card_description'] ) : '';
|
551 |
+
$template_params['card_description'] = $card_description;
|
552 |
+
|
553 |
+
$position = isset( $submitted_data['position'] ) ? $submitted_data['position'] : '';
|
554 |
+
$template_params['position'] = $position;
|
555 |
+
|
556 |
+
$label_ids = isset( $submitted_data['label_ids'] ) ? $submitted_data['label_ids'] : array();
|
557 |
+
$template_params['label_ids'] = $label_ids;
|
558 |
+
|
559 |
+
$member_ids = isset( $submitted_data['member_ids'] ) ? $submitted_data['member_ids'] : array();
|
560 |
+
$template_params['member_ids'] = $member_ids;
|
561 |
+
|
562 |
+
try {
|
563 |
+
$input_exceptions = new Forminator_Addon_Trello_Quiz_Settings_Exception();
|
564 |
+
|
565 |
+
if ( empty( $card_name ) ) {
|
566 |
+
$input_exceptions->add_input_exception( 'Please specify card name.', 'card_name_error' );
|
567 |
+
}
|
568 |
+
|
569 |
+
if ( empty( $card_description ) ) {
|
570 |
+
$input_exceptions->add_input_exception( 'Please specify card description.', 'card_description_error' );
|
571 |
+
}
|
572 |
+
|
573 |
+
if ( empty( $position ) ) {
|
574 |
+
$input_exceptions->add_input_exception( 'Please specify position.', 'position_error' );
|
575 |
+
}
|
576 |
+
|
577 |
+
if ( ! in_array( $position, array_keys( $positions ), true ) ) {
|
578 |
+
$input_exceptions->add_input_exception( 'Please pick valid position.', 'position_error' );
|
579 |
+
}
|
580 |
+
|
581 |
+
// optional label
|
582 |
+
if ( ! empty( $label_ids ) && is_array( $label_ids ) ) {
|
583 |
+
$labels_keys = array_keys( $labels );
|
584 |
+
foreach ( $label_ids as $label_id ) {
|
585 |
+
// phpcs:ignore WordPress.PHP.StrictInArray.MissingTrueStrict
|
586 |
+
if ( ! in_array( $label_id, $labels_keys ) ) {
|
587 |
+
$input_exceptions->add_input_exception( 'Please pick valid label.', 'label_ids_error' );
|
588 |
+
}
|
589 |
+
}
|
590 |
+
} else {
|
591 |
+
$label_ids = array();
|
592 |
+
}
|
593 |
+
|
594 |
+
// optional member
|
595 |
+
if ( ! empty( $member_ids ) && is_array( $member_ids ) ) {
|
596 |
+
$members_keys = array_keys( $members );
|
597 |
+
foreach ( $member_ids as $member_id ) {
|
598 |
+
// phpcs:ignore WordPress.PHP.StrictInArray.MissingTrueStrict
|
599 |
+
if ( ! in_array( $member_id, $members_keys ) ) {
|
600 |
+
$input_exceptions->add_input_exception( 'Please pick valid member.', 'member_ids_error' );
|
601 |
+
}
|
602 |
+
}
|
603 |
+
} else {
|
604 |
+
$member_ids = array();
|
605 |
+
}
|
606 |
+
|
607 |
+
if ( $input_exceptions->input_exceptions_is_available() ) {
|
608 |
+
throw $input_exceptions;
|
609 |
+
}
|
610 |
+
|
611 |
+
$this->save_multi_id_quiz_setting_values(
|
612 |
+
$multi_id,
|
613 |
+
array(
|
614 |
+
'card_name' => $card_name,
|
615 |
+
'card_description' => $card_description,
|
616 |
+
'position' => $position,
|
617 |
+
'label_ids' => $label_ids,
|
618 |
+
'member_ids' => $member_ids,
|
619 |
+
)
|
620 |
+
);
|
621 |
+
|
622 |
+
$notification = array(
|
623 |
+
'type' => 'success',
|
624 |
+
'text' => '<strong>' . $this->addon->get_title() . '</strong> ' . __( 'Successfully connected to your quiz' ),
|
625 |
+
);
|
626 |
+
$is_close = true;
|
627 |
+
|
628 |
+
} catch ( Forminator_Addon_Trello_Quiz_Settings_Exception $e ) {
|
629 |
+
$template_params = array_merge( $template_params, $e->get_input_exceptions() );
|
630 |
+
$has_errors = true;
|
631 |
+
} catch ( Forminator_Addon_Trello_Exception $e ) {
|
632 |
+
$template_params['error_message'] = $e->getMessage();
|
633 |
+
$has_errors = true;
|
634 |
+
}
|
635 |
+
}
|
636 |
+
|
637 |
+
$buttons = array();
|
638 |
+
if ( $this->setup_name_is_completed( array( 'multi_id' => $multi_id ) ) ) {
|
639 |
+
$buttons['disconnect']['markup'] = Forminator_Addon_Abstract::get_button_markup(
|
640 |
+
esc_html__( 'DISCONNECT', Forminator::DOMAIN ),
|
641 |
+
'sui-button-ghost sui-tooltip sui-tooltip-top-center forminator-addon-form-disconnect',
|
642 |
+
esc_html__( 'Disconnect this Trello Integration from this Quiz.', Forminator::DOMAIN )
|
643 |
+
);
|
644 |
+
}
|
645 |
+
|
646 |
+
$buttons['next']['markup'] = '<div class="sui-actions-right">' .
|
647 |
+
Forminator_Addon_Abstract::get_button_markup( esc_html__( 'Save', Forminator::DOMAIN ), 'sui-button-primary forminator-addon-finish' ) .
|
648 |
+
'</div>';
|
649 |
+
|
650 |
+
return array(
|
651 |
+
'html' => Forminator_Addon_Abstract::get_template( $template, $template_params ),
|
652 |
+
'buttons' => $buttons,
|
653 |
+
'redirect' => false,
|
654 |
+
'has_errors' => $has_errors,
|
655 |
+
'has_back' => true,
|
656 |
+
'size' => 'normal',
|
657 |
+
'is_close' => $is_close,
|
658 |
+
'notification' => $notification,
|
659 |
+
);
|
660 |
+
}
|
661 |
+
|
662 |
+
/**
|
663 |
+
* Check if card completed
|
664 |
+
*
|
665 |
+
* @since 1.6.2
|
666 |
+
*
|
667 |
+
* @param $submitted_data
|
668 |
+
*
|
669 |
+
* @return bool
|
670 |
+
*/
|
671 |
+
public function setup_card_is_completed( $submitted_data ) {
|
672 |
+
$multi_id = '';
|
673 |
+
if ( isset( $submitted_data['multi_id'] ) ) {
|
674 |
+
$multi_id = $submitted_data['multi_id'];
|
675 |
+
}
|
676 |
+
|
677 |
+
if ( empty( $multi_id ) ) {
|
678 |
+
return false;
|
679 |
+
}
|
680 |
+
|
681 |
+
$card_name = $this->get_multi_id_quiz_settings_value( $multi_id, 'card_name', '' );
|
682 |
+
$card_name = trim( $card_name );
|
683 |
+
if ( empty( $card_name ) ) {
|
684 |
+
return false;
|
685 |
+
}
|
686 |
+
$card_desc = $this->get_multi_id_quiz_settings_value( $multi_id, 'card_description', '' );
|
687 |
+
$card_desc = trim( $card_desc );
|
688 |
+
if ( empty( $card_desc ) ) {
|
689 |
+
return false;
|
690 |
+
}
|
691 |
+
|
692 |
+
return true;
|
693 |
+
}
|
694 |
+
|
695 |
+
/**
|
696 |
+
* Generate multi id for multiple connection
|
697 |
+
*
|
698 |
+
* @since 1.6.2
|
699 |
+
* @return string
|
700 |
+
*/
|
701 |
+
public function generate_multi_id() {
|
702 |
+
return uniqid( 'trello_', true );
|
703 |
+
}
|
704 |
+
|
705 |
+
|
706 |
+
/**
|
707 |
+
* Override how multi connection displayed
|
708 |
+
*
|
709 |
+
* @since 1.6.2
|
710 |
+
* @return array
|
711 |
+
*/
|
712 |
+
public function get_multi_ids() {
|
713 |
+
$multi_ids = array();
|
714 |
+
$quiz_settings_values = $this->get_quiz_settings_values();
|
715 |
+
foreach ( $quiz_settings_values as $key => $value ) {
|
716 |
+
$multi_ids[] = array(
|
717 |
+
'id' => $key,
|
718 |
+
// use name that was added by user on creating connection
|
719 |
+
'label' => isset( $value['name'] ) ? $value['name'] : $key,
|
720 |
+
);
|
721 |
+
}
|
722 |
+
|
723 |
+
/**
|
724 |
+
* Filter labels of multi_id on integrations tab
|
725 |
+
*
|
726 |
+
* @since 1.6.2
|
727 |
+
*
|
728 |
+
* @param array $multi_ids
|
729 |
+
* @param array $quiz_settings_values
|
730 |
+
*/
|
731 |
+
$multi_ids = apply_filters( 'forminator_addon_quiz_trello_multi_id_labels', $multi_ids, $quiz_settings_values );
|
732 |
+
|
733 |
+
return $multi_ids;
|
734 |
+
}
|
735 |
+
|
736 |
+
/**
|
737 |
+
* Disconnect a connection from current quiz
|
738 |
+
*
|
739 |
+
* @since 1.6.2
|
740 |
+
*
|
741 |
+
* @param array $submitted_data
|
742 |
+
*/
|
743 |
+
public function disconnect_quiz( $submitted_data ) {
|
744 |
+
// only execute if multi_id provided on submitted data
|
745 |
+
if ( isset( $submitted_data['multi_id'] ) && ! empty( $submitted_data['multi_id'] ) ) {
|
746 |
+
$addon_quiz_settings = $this->get_quiz_settings_values();
|
747 |
+
unset( $addon_quiz_settings[ $submitted_data['multi_id'] ] );
|
748 |
+
$this->save_quiz_settings_values( $addon_quiz_settings );
|
749 |
+
}
|
750 |
+
}
|
751 |
+
|
752 |
+
/**
|
753 |
+
* Check if multi_id quiz settings values completed
|
754 |
+
*
|
755 |
+
* @since 1.6.2
|
756 |
+
*
|
757 |
+
* @param $multi_id
|
758 |
+
*
|
759 |
+
* @return bool
|
760 |
+
*/
|
761 |
+
public function is_multi_quiz_settings_complete( $multi_id ) {
|
762 |
+
$data = array( 'multi_id' => $multi_id );
|
763 |
+
|
764 |
+
if ( ! $this->setup_name_is_completed( $data ) ) {
|
765 |
+
return false;
|
766 |
+
}
|
767 |
+
|
768 |
+
if ( ! $this->setup_board_is_completed( $data ) ) {
|
769 |
+
return false;
|
770 |
+
}
|
771 |
+
|
772 |
+
if ( ! $this->setup_list_is_completed( $data ) ) {
|
773 |
+
return false;
|
774 |
+
}
|
775 |
+
|
776 |
+
if ( ! $this->setup_card_is_completed( $data ) ) {
|
777 |
+
return false;
|
778 |
+
}
|
779 |
+
|
780 |
+
|
781 |
+
return true;
|
782 |
+
}
|
783 |
+
}
|
addons/pro/trello/forminator-addon-trello.php
CHANGED
@@ -57,6 +57,9 @@ final class Forminator_Addon_Trello extends Forminator_Addon_Abstract {
|
|
57 |
protected $_poll_settings = 'Forminator_Addon_Trello_Poll_Settings';
|
58 |
protected $_poll_hooks = 'Forminator_Addon_Trello_Poll_Hooks';
|
59 |
|
|
|
|
|
|
|
60 |
/**
|
61 |
* Forminator_Addon_Trello constructor.
|
62 |
*
|
@@ -723,4 +726,64 @@ final class Forminator_Addon_Trello extends Forminator_Addon_Abstract {
|
|
723 |
public function is_allow_multi_on_poll() {
|
724 |
return true;
|
725 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
726 |
}
|
57 |
protected $_poll_settings = 'Forminator_Addon_Trello_Poll_Settings';
|
58 |
protected $_poll_hooks = 'Forminator_Addon_Trello_Poll_Hooks';
|
59 |
|
60 |
+
protected $_quiz_settings = 'Forminator_Addon_Trello_Quiz_Settings';
|
61 |
+
protected $_quiz_hooks = 'Forminator_Addon_Trello_Quiz_Hooks';
|
62 |
+
|
63 |
/**
|
64 |
* Forminator_Addon_Trello constructor.
|
65 |
*
|
726 |
public function is_allow_multi_on_poll() {
|
727 |
return true;
|
728 |
}
|
729 |
+
|
730 |
+
/**
|
731 |
+
* Flag for check if and addon connected to a quiz(quiz settings such as list id completed)
|
732 |
+
*
|
733 |
+
* Please apply necessary WordPress hook on the inheritance class
|
734 |
+
*
|
735 |
+
* @since 1.6.2
|
736 |
+
*
|
737 |
+
* @param $quiz_id
|
738 |
+
*
|
739 |
+
* @return boolean
|
740 |
+
*/
|
741 |
+
public function is_quiz_connected( $quiz_id ) {
|
742 |
+
try {
|
743 |
+
$quiz_settings_instance = null;
|
744 |
+
if ( ! $this->is_connected() ) {
|
745 |
+
throw new Forminator_Addon_Trello_Exception( 'Trello is not connected' );
|
746 |
+
}
|
747 |
+
|
748 |
+
$quiz_settings_instance = $this->get_addon_quiz_settings( $quiz_id );
|
749 |
+
if ( ! $quiz_settings_instance instanceof Forminator_Addon_Trello_Quiz_Settings ) {
|
750 |
+
throw new Forminator_Addon_Trello_Exception( 'Invalid Quiz Settings of Trello' );
|
751 |
+
}
|
752 |
+
|
753 |
+
// Mark as active when there is at least one active connection
|
754 |
+
if ( false === $quiz_settings_instance->find_one_active_connection() ) {
|
755 |
+
throw new Forminator_Addon_Trello_Exception( 'No active Trello connection found in this quiz' );
|
756 |
+
}
|
757 |
+
|
758 |
+
$is_quiz_connected = true;
|
759 |
+
|
760 |
+
} catch ( Forminator_Addon_Trello_Exception $e ) {
|
761 |
+
|
762 |
+
$is_quiz_connected = false;
|
763 |
+
}
|
764 |
+
|
765 |
+
/**
|
766 |
+
* Filter connected status Slack with the quiz
|
767 |
+
*
|
768 |
+
* @since 1.6.1
|
769 |
+
*
|
770 |
+
* @param bool $is_quiz_connected
|
771 |
+
* @param int $quiz_id Current Quiz ID
|
772 |
+
* @param Forminator_Addon_Trello_Quiz_Settings|null $quiz_settings_instance Instance of quiz settings, or null when unavailable
|
773 |
+
*
|
774 |
+
*/
|
775 |
+
$is_quiz_connected = apply_filters( 'forminator_addon_trello_is_quiz_connected', $is_quiz_connected, $quiz_id, $quiz_settings_instance );
|
776 |
+
|
777 |
+
return $is_quiz_connected;
|
778 |
+
}
|
779 |
+
|
780 |
+
/**
|
781 |
+
* Allow multiple connection on one quiz
|
782 |
+
*
|
783 |
+
* @since 1.6.2
|
784 |
+
* @return bool
|
785 |
+
*/
|
786 |
+
public function is_allow_multi_on_quiz() {
|
787 |
+
return true;
|
788 |
+
}
|
789 |
}
|
addons/pro/trello/trello.php
CHANGED
@@ -31,5 +31,8 @@ require_once dirname( __FILE__ ) . '/forminator-addon-trello-form-hooks.php';
|
|
31 |
require_once dirname( __FILE__ ) . '/forminator-addon-trello-poll-settings.php';
|
32 |
require_once dirname( __FILE__ ) . '/forminator-addon-trello-poll-hooks.php';
|
33 |
|
|
|
|
|
|
|
34 |
//Direct Load
|
35 |
Forminator_Addon_Loader::get_instance()->register( 'Forminator_Addon_Trello' );
|
31 |
require_once dirname( __FILE__ ) . '/forminator-addon-trello-poll-settings.php';
|
32 |
require_once dirname( __FILE__ ) . '/forminator-addon-trello-poll-hooks.php';
|
33 |
|
34 |
+
require_once dirname( __FILE__ ) . '/forminator-addon-trello-quiz-settings.php';
|
35 |
+
require_once dirname( __FILE__ ) . '/forminator-addon-trello-quiz-hooks.php';
|
36 |
+
|
37 |
//Direct Load
|
38 |
Forminator_Addon_Loader::get_instance()->register( 'Forminator_Addon_Trello' );
|
addons/pro/trello/views/quiz-settings/setup-board.php
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
// defaults
|
3 |
+
$vars = array(
|
4 |
+
'error_message' => '',
|
5 |
+
'board_id' => '',
|
6 |
+
'board_id_error' => '',
|
7 |
+
'multi_id' => '',
|
8 |
+
'boards' => array(),
|
9 |
+
);
|
10 |
+
/** @var array $template_vars */
|
11 |
+
foreach ( $template_vars as $key => $val ) {
|
12 |
+
$vars[ $key ] = $val;
|
13 |
+
}
|
14 |
+
|
15 |
+
?>
|
16 |
+
<div class="integration-header">
|
17 |
+
<h3 class="sui-box-title" id="dialogTitle2"><?php echo esc_html( __( 'Assign Board', Forminator::DOMAIN ) ); ?></h3>
|
18 |
+
<p><?php esc_html_e( 'Your account is now authorized, choose which board you want Trello cards to be added to.', Forminator::DOMAIN ); ?></p>
|
19 |
+
<?php if ( ! empty( $vars['error_message'] ) ) : ?>
|
20 |
+
<span class="sui-notice sui-notice-error"><p><?php echo esc_html( $vars['error_message'] ); ?></p></span>
|
21 |
+
<?php endif; ?>
|
22 |
+
</div>
|
23 |
+
<form>
|
24 |
+
<div class="sui-form-field <?php echo esc_attr( ! empty( $vars['board_id_error'] ) ? 'sui-form-field-error' : '' ); ?>">
|
25 |
+
<label class="sui-label"><?php esc_html_e( 'Board', Forminator::DOMAIN ); ?>
|
26 |
+
<select name="board_id" class="sui-select sui-form-control">
|
27 |
+
<option><?php esc_html_e( 'Please select a board', Forminator::DOMAIN ); ?></option>
|
28 |
+
<?php foreach ( $vars['boards'] as $board_id => $board_name ) : ?>
|
29 |
+
<option value="<?php echo esc_attr( $board_id ); ?>" <?php selected( $vars['board_id'], $board_id ); ?>><?php echo esc_html( $board_name ); ?></option>
|
30 |
+
<?php endforeach; ?>
|
31 |
+
</select>
|
32 |
+
<?php if ( ! empty( $vars['board_id_error'] ) ) : ?>
|
33 |
+
<span class="sui-error-message"><?php echo esc_html( $vars['board_id_error'] ); ?></span>
|
34 |
+
<?php endif; ?>
|
35 |
+
</label>
|
36 |
+
</div>
|
37 |
+
<input type="hidden" name="multi_id" value="<?php echo esc_attr( $vars['multi_id'] ); ?>">
|
38 |
+
</form>
|
addons/pro/trello/views/quiz-settings/setup-card.php
ADDED
@@ -0,0 +1,199 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
// defaults
|
3 |
+
$vars = array(
|
4 |
+
'card_name' => '',
|
5 |
+
'card_name_error' => '',
|
6 |
+
'card_description' => '',
|
7 |
+
'card_description_error' => '',
|
8 |
+
'position' => '',
|
9 |
+
'position_error' => '',
|
10 |
+
'positions' => array(),
|
11 |
+
'label_ids' => array(),
|
12 |
+
'label_ids_error' => '',
|
13 |
+
'labels' => array(),
|
14 |
+
'member_ids' => array(),
|
15 |
+
'member_ids_error' => '',
|
16 |
+
'members' => array(),
|
17 |
+
'name_fields' => array(),
|
18 |
+
'desc_fields' => array(),
|
19 |
+
'error_message' => '',
|
20 |
+
'list_name' => '',
|
21 |
+
);
|
22 |
+
/** @var array $template_vars */
|
23 |
+
foreach ( $template_vars as $key => $val ) {
|
24 |
+
$vars[ $key ] = $val;
|
25 |
+
}
|
26 |
+
?>
|
27 |
+
|
28 |
+
<div class="integration-header">
|
29 |
+
|
30 |
+
<h3 class="sui-box-title" id="dialogTitle2"><?php echo esc_html( __( 'Customize Fields', Forminator::DOMAIN ) ); ?></h3>
|
31 |
+
|
32 |
+
<p><?php esc_html_e( 'Set up how you want your cards to be created in Trello.', Forminator::DOMAIN ); ?></p>
|
33 |
+
|
34 |
+
<?php if ( ! empty( $vars['error_message'] ) ) : ?>
|
35 |
+
<span class="sui-notice sui-notice-error"><p><?php echo esc_html( $vars['error_message'] ); ?></p></span>
|
36 |
+
<?php endif; ?>
|
37 |
+
|
38 |
+
</div>
|
39 |
+
|
40 |
+
<form>
|
41 |
+
|
42 |
+
<div id="trello-card-name-settings" class="sui-row">
|
43 |
+
|
44 |
+
<div class="sui-col-12">
|
45 |
+
|
46 |
+
<div class="sui-form-field <?php echo esc_attr( ! empty( $vars['card_name_error'] ) ? 'sui-form-field-error' : '' ); ?>">
|
47 |
+
|
48 |
+
<label class="sui-label"><?php esc_html_e( 'Card Name', Forminator::DOMAIN ); ?></label>
|
49 |
+
|
50 |
+
<div class="sui-insert-variables">
|
51 |
+
|
52 |
+
<input id="card_name"
|
53 |
+
class="sui-form-control"
|
54 |
+
name="card_name"
|
55 |
+
placeholder="<?php echo esc_attr( __( 'Card Name', Forminator::DOMAIN ) ); ?>"
|
56 |
+
value="<?php echo esc_attr( $vars['card_name'] ); ?>">
|
57 |
+
|
58 |
+
<select data-textarea-id="card_name"><?php foreach ( $vars['name_fields'] as $key => $field ) : ?>
|
59 |
+
<option value="{<?php echo esc_attr( $key ); ?>}" data-content="{<?php echo esc_attr( $key ); ?>}"><?php echo esc_html( $field ); ?></option>
|
60 |
+
<?php endforeach; ?></select>
|
61 |
+
|
62 |
+
</div>
|
63 |
+
|
64 |
+
<?php if ( ! empty( $vars['card_name_error'] ) ) : ?>
|
65 |
+
<span class="sui-error-message"><?php echo esc_html( $vars['card_name_error'] ); ?></span>
|
66 |
+
<?php endif; ?>
|
67 |
+
|
68 |
+
</div>
|
69 |
+
|
70 |
+
</div>
|
71 |
+
|
72 |
+
</div>
|
73 |
+
|
74 |
+
<div id="trello-card-description-settings" class="sui-row">
|
75 |
+
|
76 |
+
<div class="sui-col-12">
|
77 |
+
|
78 |
+
<div class="sui-form-field <?php echo esc_attr( ! empty( $vars['card_description_error'] ) ? 'sui-form-field-error' : '' ); ?>">
|
79 |
+
|
80 |
+
<label class="sui-label" for="card_description"><?php esc_html_e( 'Card Description', Forminator::DOMAIN ); ?></label>
|
81 |
+
|
82 |
+
<div class="sui-insert-variables">
|
83 |
+
|
84 |
+
<textarea class="sui-form-control" name="card_description" id="card_description" rows="7"><?php echo esc_html( $vars['card_description'] ); ?></textarea>
|
85 |
+
|
86 |
+
<select data-textarea-id="card_description"><?php foreach ( $vars['desc_fields'] as $key => $field ) : ?>
|
87 |
+
<option value="{<?php echo esc_attr( $key ); ?>}" data-content="{<?php echo esc_attr( $key ); ?>}"><?php echo esc_html( $field ); ?></option>
|
88 |
+
<?php endforeach; ?></select>
|
89 |
+
|
90 |
+
</div>
|
91 |
+
|
92 |
+
<?php if ( ! empty( $vars['card_description_error'] ) ) : ?>
|
93 |
+
<span class="sui-error-message"><?php echo esc_html( $vars['card_description_error'] ); ?></span>
|
94 |
+
<?php endif; ?>
|
95 |
+
|
96 |
+
<span class="sui-description">
|
97 |
+
<?php esc_html_e( 'Markdown supported for card description. Find complete guide', Forminator::DOMAIN ); ?>
|
98 |
+
<a href="https://help.trello.com/article/821-using-markdown-in-trello" target="_blank"><?php esc_html_e( 'here', Forminator::DOMAIN ); ?></a>.
|
99 |
+
</span>
|
100 |
+
|
101 |
+
</div>
|
102 |
+
|
103 |
+
</div>
|
104 |
+
|
105 |
+
</div>
|
106 |
+
|
107 |
+
<div class="sui-row">
|
108 |
+
<div class="sui-col-md-4">
|
109 |
+
<div class="sui-form-field <?php echo esc_attr( ! empty( $vars['position_error'] ) ? 'sui-form-field-error' : '' ); ?>">
|
110 |
+
<label class="sui-label" for="position"><?php esc_html_e( 'Position', Forminator::DOMAIN ); ?></label>
|
111 |
+
<select name="position" id="position">
|
112 |
+
<?php foreach ( $vars['positions'] as $pos_id => $pos_name ) : ?>
|
113 |
+
<option value="<?php echo esc_attr( $pos_id ); ?>" <?php selected( $vars['position'], $pos_id ); ?>><?php echo esc_html( $pos_name ); ?></option>
|
114 |
+
<?php endforeach; ?>
|
115 |
+
</select>
|
116 |
+
<?php if ( ! empty( $vars['position_error'] ) ) : ?>
|
117 |
+
<span class="sui-error-message"><?php echo esc_html( $vars['position_error'] ); ?></span>
|
118 |
+
<?php endif; ?>
|
119 |
+
|
120 |
+
</div>
|
121 |
+
</div>
|
122 |
+
|
123 |
+
<div class="sui-col-md-8">
|
124 |
+
<div class="sui-form-field <?php echo esc_attr( ! empty( $vars['label_ids_error'] ) ? 'sui-form-field-error' : '' ); ?>">
|
125 |
+
<label class="sui-label" for="label_ids"><?php esc_html_e( 'Labels', Forminator::DOMAIN ); ?></label>
|
126 |
+
<select class="sui-select fui-multi-select" name="label_ids[]" id="label_ids"
|
127 |
+
multiple="multiple"
|
128 |
+
data-reorder="1"
|
129 |
+
data-tags="false"
|
130 |
+
data-token-separators="[',']"
|
131 |
+
data-placeholder="<?php esc_html_e( 'Enter label name', Forminator::DOMAIN ); ?>"
|
132 |
+
data-allow-clear="false">
|
133 |
+
<?php foreach ( $vars['label_ids'] as $label_id ) : ?>
|
134 |
+
<?php if ( isset( $vars['labels'][ $label_id ] ) ): ?>
|
135 |
+
<option
|
136 |
+
value="<?php echo esc_attr( $label_id ); ?>"
|
137 |
+
selected="selected"
|
138 |
+
data-color="<?php echo esc_attr( $vars['labels'][ $label_id ]['color'] ); ?>"
|
139 |
+
style="background-color: <?php echo esc_attr( $vars['labels'][ $label_id ]['color'] ); ?>;"
|
140 |
+
><?php echo esc_html( $vars['labels'][ $label_id ]['name'] ); ?></option>
|
141 |
+
<?php endif; ?>
|
142 |
+
<?php endforeach; ?>
|
143 |
+
|
144 |
+
<?php foreach ( $vars['labels'] as $label_id => $label ) : ?>
|
145 |
+
<?php if ( ! in_array( $label_id, $vars['label_ids'], true ) ): ?>
|
146 |
+
<option
|
147 |
+
value="<?php echo esc_attr( $label_id ); ?>"
|
148 |
+
data-color="<?php echo esc_attr( $label['color'] ); ?>"
|
149 |
+
style="background-color: <?php echo esc_attr( $vars['labels'][ $label_id ]['color'] ); ?>;"
|
150 |
+
><?php echo esc_html( $label['name'] ); ?></option>
|
151 |
+
<?php endif; ?>
|
152 |
+
<?php endforeach; ?>
|
153 |
+
</select>
|
154 |
+
<?php if ( ! empty( $vars['label_ids_error'] ) ) : ?>
|
155 |
+
<span class="sui-error-message"><?php echo esc_html( $vars['label_ids_error'] ); ?></span>
|
156 |
+
<?php endif; ?>
|
157 |
+
</div>
|
158 |
+
</div>
|
159 |
+
</div>
|
160 |
+
|
161 |
+
<div class="sui-row">
|
162 |
+
<div class="sui-col-md-12">
|
163 |
+
<div class="sui-form-field <?php echo esc_attr( ! empty( $vars['member_ids_error'] ) ? 'sui-form-field-error' : '' ); ?>">
|
164 |
+
<label class="sui-label" for="member_ids"><?php esc_html_e( 'Members', Forminator::DOMAIN ); ?></label>
|
165 |
+
<select class="sui-select fui-multi-select" name="member_ids[]" id="member_ids"
|
166 |
+
multiple="multiple"
|
167 |
+
data-reorder="1"
|
168 |
+
data-tags="false"
|
169 |
+
data-token-separators="[',']"
|
170 |
+
data-placeholder="<?php esc_html_e( 'Enter member name', Forminator::DOMAIN ); ?>"
|
171 |
+
data-allow-clear="false">
|
172 |
+
<?php foreach ( $vars['member_ids'] as $member_id ) : ?>
|
173 |
+
<?php if ( isset( $vars['members'][ $member_id ] ) ): ?>
|
174 |
+
<option
|
175 |
+
value="<?php echo esc_attr( $member_id ); ?>"
|
176 |
+
selected="selected"
|
177 |
+
><?php echo esc_html( $vars['members'][ $member_id ] ); ?></option>
|
178 |
+
<?php endif; ?>
|
179 |
+
<?php endforeach; ?>
|
180 |
+
|
181 |
+
<?php foreach ( $vars['members'] as $member_id => $name ) : ?>
|
182 |
+
<?php if ( ! in_array( $member_id, $vars['member_ids'], true ) ): ?>
|
183 |
+
<option
|
184 |
+
value="<?php echo esc_attr( $member_id ); ?>"
|
185 |
+
><?php echo esc_html( $name ); ?></option>
|
186 |
+
<?php endif; ?>
|
187 |
+
<?php endforeach; ?>
|
188 |
+
</select>
|
189 |
+
<?php if ( ! empty( $vars['member_ids_error'] ) ) : ?>
|
190 |
+
<span class="sui-error-message"><?php echo esc_html( $vars['member_ids_error'] ); ?></span>
|
191 |
+
<?php endif; ?>
|
192 |
+
</div>
|
193 |
+
|
194 |
+
|
195 |
+
</div>
|
196 |
+
</div>
|
197 |
+
|
198 |
+
<input type="hidden" name="multi_id" value="<?php echo esc_attr( $vars['multi_id'] ); ?>">
|
199 |
+
</form>
|
addons/pro/trello/views/quiz-settings/setup-list.php
ADDED
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
// defaults
|
3 |
+
$vars = array(
|
4 |
+
'error_message' => '',
|
5 |
+
'list_id' => '',
|
6 |
+
'list_id_error' => '',
|
7 |
+
'multi_id' => '',
|
8 |
+
'lists' => array(),
|
9 |
+
'board_name' => '',
|
10 |
+
'step_description' => '',
|
11 |
+
);
|
12 |
+
|
13 |
+
/** @var array $template_vars */
|
14 |
+
foreach ( $template_vars as $key => $val ) {
|
15 |
+
$vars[ $key ] = $val;
|
16 |
+
}
|
17 |
+
|
18 |
+
$vars['step_description'] = sprintf(
|
19 |
+
__( 'Which list from %1$s do you want auto-generated cards to be added to?', Forminator::DOMAIN ),
|
20 |
+
'<b>' . $vars['board_name'] . '</b>'
|
21 |
+
);
|
22 |
+
|
23 |
+
?>
|
24 |
+
<div class="integration-header">
|
25 |
+
<h3 class="sui-box-title" id="dialogTitle2"><?php echo esc_html( __( 'Assign List', Forminator::DOMAIN ) ); ?></h3>
|
26 |
+
<p><?php echo $vars['step_description']; // wpcs: xss ok ?></p>
|
27 |
+
<?php if ( ! empty( $vars['error_message'] ) ) : ?>
|
28 |
+
<span class="sui-notice sui-notice-error"><p><?php echo esc_html( $vars['error_message'] ); ?></p></span>
|
29 |
+
<?php endif; ?>
|
30 |
+
</div>
|
31 |
+
<form>
|
32 |
+
<div class="sui-form-field <?php echo esc_attr( ! empty( $vars['list_id_error'] ) ? 'sui-form-field-error' : '' ); ?>">
|
33 |
+
<label class="sui-label"><?php esc_html_e( 'List', Forminator::DOMAIN ); ?>
|
34 |
+
<select name="list_id" class="sui-select sui-form-control">
|
35 |
+
<option><?php esc_html_e( 'Please select a list', Forminator::DOMAIN ); ?></option>
|
36 |
+
<?php foreach ( $vars['lists'] as $list_id => $list_name ) : ?>
|
37 |
+
<option value="<?php echo esc_attr( $list_id ); ?>" <?php selected( $vars['list_id'], $list_id ); ?>><?php echo esc_html( $list_name ); ?></option>
|
38 |
+
<?php endforeach; ?>
|
39 |
+
</select>
|
40 |
+
<?php if ( ! empty( $vars['list_id_error'] ) ) : ?>
|
41 |
+
<span class="sui-error-message"><?php echo esc_html( $vars['list_id_error'] ); ?></span>
|
42 |
+
<?php endif; ?>
|
43 |
+
</label>
|
44 |
+
</div>
|
45 |
+
<input type="hidden" name="multi_id" value="<?php echo esc_attr( $vars['multi_id'] ); ?>">
|
46 |
+
</form>
|
addons/pro/trello/views/quiz-settings/setup-name.php
ADDED
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
// defaults
|
3 |
+
$vars = array(
|
4 |
+
'error_message' => '',
|
5 |
+
'name' => '',
|
6 |
+
'name_error' => '',
|
7 |
+
'multi_id' => '',
|
8 |
+
);
|
9 |
+
/** @var array $template_vars */
|
10 |
+
foreach ( $template_vars as $key => $val ) {
|
11 |
+
$vars[ $key ] = $val;
|
12 |
+
}
|
13 |
+
|
14 |
+
?>
|
15 |
+
<div class="integration-header">
|
16 |
+
<h3 class="sui-box-title" id="dialogTitle2"><?php echo esc_html( __( 'Setup Name', Forminator::DOMAIN ) ); ?></h3>
|
17 |
+
<p><?php esc_html_e( 'Setup friendly name for this integration, so it will be easily identified by you.', Forminator::DOMAIN ); ?></p>
|
18 |
+
<?php if ( ! empty( $vars['error_message'] ) ) : ?>
|
19 |
+
<span class="sui-notice sui-notice-error"><p><?php echo esc_html( $vars['error_message'] ); ?></p></span>
|
20 |
+
<?php endif; ?>
|
21 |
+
</div>
|
22 |
+
<form>
|
23 |
+
<div class="sui-form-field <?php echo esc_attr( ! empty( $vars['name_error'] ) ? 'sui-form-field-error' : '' ); ?>">
|
24 |
+
<label class="sui-label"><?php esc_html_e( 'Name', Forminator::DOMAIN ); ?></label>
|
25 |
+
<input
|
26 |
+
class="sui-form-control"
|
27 |
+
name="name" placeholder="<?php echo esc_attr( __( 'Friendly Name', Forminator::DOMAIN ) ); ?>"
|
28 |
+
value="<?php echo esc_attr( $vars['name'] ); ?>">
|
29 |
+
<?php if ( ! empty( $vars['name_error'] ) ) : ?>
|
30 |
+
<span class="sui-error-message"><?php echo esc_html( $vars['name_error'] ); ?></span>
|
31 |
+
<?php endif; ?>
|
32 |
+
</div>
|
33 |
+
<input type="hidden" name="multi_id" value="<?php echo esc_attr( $vars['multi_id'] ); ?>">
|
34 |
+
</form>
|
addons/pro/zapier/forminator-addon-zapier-quiz-hooks.php
ADDED
@@ -0,0 +1,558 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Class Forminator_Addon_Zapier_Quiz_Hooks
|
5 |
+
*
|
6 |
+
* @since 1.6.2
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class Forminator_Addon_Zapier_Quiz_Hooks extends Forminator_Addon_Quiz_Hooks_Abstract {
|
10 |
+
|
11 |
+
/**
|
12 |
+
* Addon instance are auto available form abstract
|
13 |
+
* Its added here for development purpose,
|
14 |
+
* Auto-complete will resolve addon directly to `Zapier` instance instead of the abstract
|
15 |
+
* And its public properties can be exposed
|
16 |
+
*
|
17 |
+
* @since 1.6.2
|
18 |
+
* @var Forminator_Addon_Zapier
|
19 |
+
*/
|
20 |
+
protected $addon;
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Quiz Settings Instance
|
24 |
+
*
|
25 |
+
* @since 1.6.2
|
26 |
+
* @var Forminator_Addon_Zapier_Quiz_Settings | null
|
27 |
+
*/
|
28 |
+
protected $quiz_settings_instance;
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Forminator_Addon_Zapier_Quiz_Hooks constructor.
|
32 |
+
*
|
33 |
+
* @since 1.6.2
|
34 |
+
*
|
35 |
+
* @param Forminator_Addon_Abstract $addon
|
36 |
+
* @param $quiz_id
|
37 |
+
*
|
38 |
+
* @throws Forminator_Addon_Exception
|
39 |
+
*/
|
40 |
+
public function __construct( Forminator_Addon_Abstract $addon, $quiz_id ) {
|
41 |
+
parent::__construct( $addon, $quiz_id );
|
42 |
+
$this->_submit_quiz_error_message = __( 'Zapier failed to process submitted data. Please check your form and try again', Forminator::DOMAIN );
|
43 |
+
}
|
44 |
+
|
45 |
+
/**
|
46 |
+
* Save status of request sent and received for each connected zap(s)
|
47 |
+
*
|
48 |
+
* @since 1.6.2
|
49 |
+
*
|
50 |
+
* @param array $submitted_data
|
51 |
+
* @param array $current_entry_fields
|
52 |
+
*
|
53 |
+
* @return array
|
54 |
+
*/
|
55 |
+
public function add_entry_fields( $submitted_data, $current_entry_fields = array() ) {
|
56 |
+
|
57 |
+
$quiz_id = $this->quiz_id;
|
58 |
+
$quiz_settings_instance = $this->quiz_settings_instance;
|
59 |
+
|
60 |
+
/**
|
61 |
+
* Filter zapier submitted form data to be processed
|
62 |
+
*
|
63 |
+
* @since 1.6.2
|
64 |
+
*
|
65 |
+
* @param array $submitted_data
|
66 |
+
* @param int $quiz_id current Form ID
|
67 |
+
* @param Forminator_Addon_Zapier_Quiz_Settings $quiz_settings_instance Zapier Addon Quiz Settings instance
|
68 |
+
*/
|
69 |
+
$submitted_data = apply_filters(
|
70 |
+
'forminator_addon_zapier_quiz_submitted_data',
|
71 |
+
$submitted_data,
|
72 |
+
$quiz_id,
|
73 |
+
$quiz_settings_instance
|
74 |
+
);
|
75 |
+
|
76 |
+
forminator_addon_maybe_log( __METHOD__, $submitted_data );
|
77 |
+
|
78 |
+
$addon_setting_values = $this->quiz_settings_instance->get_quiz_settings_values();
|
79 |
+
$quiz_settings = $this->quiz_settings_instance->get_quiz_settings();
|
80 |
+
|
81 |
+
$data = array();
|
82 |
+
|
83 |
+
/**
|
84 |
+
* Fires before sending data to Webhook URL(s)
|
85 |
+
*
|
86 |
+
* @since 1.6.2
|
87 |
+
*
|
88 |
+
* @param int $quiz_id current Quiz ID
|
89 |
+
* @param array $submitted_data
|
90 |
+
* @param Forminator_Addon_Zapier_Quiz_Settings $quiz_settings_instance Zapier Addon Quiz Settings instance
|
91 |
+
*/
|
92 |
+
do_action( 'forminator_addon_zapier_quiz_before_post_to_webhook', $quiz_id, $submitted_data, $quiz_settings_instance );
|
93 |
+
|
94 |
+
foreach ( $addon_setting_values as $key => $addon_setting_value ) {
|
95 |
+
// save it on entry field, with name `status-$MULTI_ID`, and value is the return result on sending data to zapier
|
96 |
+
$data[] = array(
|
97 |
+
'name' => 'status-' . $key,
|
98 |
+
'value' => $this->get_status_on_send_data( $key, $submitted_data, $addon_setting_value, $quiz_settings, $current_entry_fields ),
|
99 |
+
);
|
100 |
+
}
|
101 |
+
|
102 |
+
$entry_fields = $data;
|
103 |
+
/**
|
104 |
+
* Filter zapier entry fields to be saved to entry model
|
105 |
+
*
|
106 |
+
* @since 1.6.2
|
107 |
+
*
|
108 |
+
* @param array $entry_fields
|
109 |
+
* @param int $quiz_id current Quiz ID
|
110 |
+
* @param array $submitted_data
|
111 |
+
* @param Forminator_Addon_Zapier_Quiz_Settings $quiz_settings_instance Zapier Quiz Settings instance
|
112 |
+
*/
|
113 |
+
$data = apply_filters(
|
114 |
+
'forminator_addon_zapier_quiz_entry_fields',
|
115 |
+
$entry_fields,
|
116 |
+
$quiz_id,
|
117 |
+
$submitted_data,
|
118 |
+
$quiz_settings_instance
|
119 |
+
);
|
120 |
+
|
121 |
+
|
122 |
+
return $data;
|
123 |
+
|
124 |
+
}
|
125 |
+
|
126 |
+
/**
|
127 |
+
* Get status on sending data to zapier
|
128 |
+
*
|
129 |
+
* @since 1.6.2
|
130 |
+
*
|
131 |
+
* @param $connection_id
|
132 |
+
* @param $submitted_data
|
133 |
+
* @param $connection_settings
|
134 |
+
* @param $quiz_settings
|
135 |
+
* @param $current_entry_fields
|
136 |
+
*
|
137 |
+
* @return array `is_sent` true means its success send data to zapier, false otherwise
|
138 |
+
*/
|
139 |
+
private function get_status_on_send_data( $connection_id, $submitted_data, $connection_settings, $quiz_settings, $current_entry_fields ) {
|
140 |
+
// initialize as null
|
141 |
+
$zapier_api = null;
|
142 |
+
|
143 |
+
$quiz_id = $this->quiz_id;
|
144 |
+
$quiz_settings_instance = $this->quiz_settings_instance;
|
145 |
+
|
146 |
+
//check required fields
|
147 |
+
try {
|
148 |
+
if ( ! isset( $connection_settings['webhook_url'] ) ) {
|
149 |
+
throw new Forminator_Addon_Zapier_Exception( __( 'Webhook URL is not properly setup', Forminator::DOMAIN ) );
|
150 |
+
}
|
151 |
+
|
152 |
+
$endpoint = $connection_settings['webhook_url'];
|
153 |
+
/**
|
154 |
+
* Filter Endpoint Webhook URL to send
|
155 |
+
*
|
156 |
+
* @since 1.6.2
|
157 |
+
*
|
158 |
+
* @param string $endpoint
|
159 |
+
* @param int $quiz_id current Form ID
|
160 |
+
* @param array $connection_settings current connection setting, it contains `name` and `webhook_url`
|
161 |
+
*/
|
162 |
+
$endpoint = apply_filters(
|
163 |
+
'forminator_addon_zapier_quiz_endpoint',
|
164 |
+
$endpoint,
|
165 |
+
$quiz_id,
|
166 |
+
$connection_settings
|
167 |
+
);
|
168 |
+
|
169 |
+
$zapier_api = $this->addon->get_api( $endpoint );
|
170 |
+
|
171 |
+
|
172 |
+
$args = $this->build_post_data( $current_entry_fields );
|
173 |
+
|
174 |
+
/**
|
175 |
+
* Filter arguments to passed on to Zapier Webhook API
|
176 |
+
*
|
177 |
+
* @since 1.6.2
|
178 |
+
*
|
179 |
+
* @param array $args
|
180 |
+
* @param int $quiz_id Current Quiz id
|
181 |
+
* @param string $connection_id ID of current connection
|
182 |
+
* @param array $submitted_data
|
183 |
+
* @param array $connection_settings current connection setting, contains `name` and `webhook_url`
|
184 |
+
* @param array $quiz_settings Displayed Quiz settings
|
185 |
+
* @param Forminator_Addon_Zapier_Quiz_Settings $quiz_settings_instance Zapier Quiz Settings instance
|
186 |
+
*/
|
187 |
+
$args = apply_filters(
|
188 |
+
'forminator_addon_zapier_quiz_post_to_webhook_args',
|
189 |
+
$args,
|
190 |
+
$quiz_id,
|
191 |
+
$connection_id,
|
192 |
+
$submitted_data,
|
193 |
+
$connection_settings,
|
194 |
+
$quiz_settings,
|
195 |
+
$quiz_settings_instance
|
196 |
+
);
|
197 |
+
|
198 |
+
$zapier_api->post_( $args );
|
199 |
+
|
200 |
+
forminator_addon_maybe_log( __METHOD__, 'Success Send Data' );
|
201 |
+
|
202 |
+
return array(
|
203 |
+
'is_sent' => true,
|
204 |
+
'connection_name' => $connection_settings['name'],
|
205 |
+
'description' => __( 'Successfully send data to Zapier', Forminator::DOMAIN ),
|
206 |
+
'data_sent' => $zapier_api->get_last_data_sent(),
|
207 |
+
'data_received' => $zapier_api->get_last_data_received(),
|
208 |
+
'url_request' => $zapier_api->get_last_url_request(),
|
209 |
+
);
|
210 |
+
|
211 |
+
} catch ( Forminator_Addon_Zapier_Exception $e ) {
|
212 |
+
forminator_addon_maybe_log( __METHOD__, 'Failed to Send to Zapier' );
|
213 |
+
|
214 |
+
return array(
|
215 |
+
'is_sent' => false,
|
216 |
+
'description' => $e->getMessage(),
|
217 |
+
'connection_name' => $connection_settings['name'],
|
218 |
+
'data_sent' => ( ( $zapier_api instanceof Forminator_Addon_Zapier_Wp_Api ) ? $zapier_api->get_last_data_sent() : array() ),
|
219 |
+
'data_received' => ( ( $zapier_api instanceof Forminator_Addon_Zapier_Wp_Api ) ? $zapier_api->get_last_data_received() : array() ),
|
220 |
+
'url_request' => ( ( $zapier_api instanceof Forminator_Addon_Zapier_Wp_Api ) ? $zapier_api->get_last_url_request() : '' ),
|
221 |
+
);
|
222 |
+
}
|
223 |
+
}
|
224 |
+
|
225 |
+
/**
|
226 |
+
* Build sample data form current fields
|
227 |
+
*
|
228 |
+
* @since 1.6.2
|
229 |
+
*
|
230 |
+
* @param array $quiz_entry_fields
|
231 |
+
*
|
232 |
+
* @return array
|
233 |
+
*/
|
234 |
+
private function build_post_data( $quiz_entry_fields ) {
|
235 |
+
$sample = array();
|
236 |
+
|
237 |
+
$sample['quiz-name'] = forminator_get_name_from_model( $this->quiz );
|
238 |
+
|
239 |
+
$answers = array();
|
240 |
+
$correct_answers = 0;
|
241 |
+
$total_answers = 0;
|
242 |
+
$nowrong_result = '';
|
243 |
+
$questions = $this->quiz->questions;
|
244 |
+
|
245 |
+
if ( is_array( $quiz_entry_fields ) && isset( $quiz_entry_fields[0] ) ) {
|
246 |
+
$quiz_entry = $quiz_entry_fields[0];
|
247 |
+
if ( isset( $quiz_entry['name'] ) && isset( $quiz_entry['value'] ) && 'entry' === $quiz_entry['name'] ) {
|
248 |
+
if ( is_array( $quiz_entry['value'] ) ) {
|
249 |
+
|
250 |
+
// KNOWLEDGE
|
251 |
+
if ( 'knowledge' === $this->quiz->quiz_type ) {
|
252 |
+
foreach ( $quiz_entry['value'] as $key => $data ) {
|
253 |
+
$question_id = ( ( isset( $questions[ $key ] ) && isset( $questions[ $key ]['slug'] ) ) ? $questions[ $key ]['slug'] : uniqid() );
|
254 |
+
// bit cleanup
|
255 |
+
$question_id = str_replace( 'question-', '', $question_id );
|
256 |
+
|
257 |
+
$question = isset( $data['question'] ) ? $data['question'] : '';
|
258 |
+
$answer = isset( $data['answer'] ) ? $data['answer'] : '';
|
259 |
+
$is_correct = isset( $data['isCorrect'] ) ? $data['isCorrect'] : false;
|
260 |
+
|
261 |
+
$answers[ $question_id ] = array(
|
262 |
+
'question' => $question,
|
263 |
+
'answer' => $answer,
|
264 |
+
'is_correct' => $is_correct,
|
265 |
+
);
|
266 |
+
if ( $is_correct ) {
|
267 |
+
$correct_answers ++;
|
268 |
+
}
|
269 |
+
$total_answers ++;
|
270 |
+
}
|
271 |
+
} elseif ( 'nowrong' === $this->quiz->quiz_type ) {
|
272 |
+
if ( isset( $quiz_entry['value'][0] )
|
273 |
+
&& is_array( $quiz_entry['value'][0] )
|
274 |
+
&& isset( $quiz_entry['value'][0]['value'] )
|
275 |
+
&& is_array( $quiz_entry['value'][0]['value'] ) ) {
|
276 |
+
|
277 |
+
$quiz_entry = $quiz_entry['value'][0]['value'];
|
278 |
+
|
279 |
+
$nowrong_result = ( isset( $quiz_entry['result'] ) && isset( $quiz_entry['result']['title'] ) ) ? $quiz_entry['result']['title'] : '';
|
280 |
+
|
281 |
+
$entry_questions = ( isset( $quiz_entry['answers'] ) && is_array( $quiz_entry['answers'] ) ) ? $quiz_entry['answers'] : array();
|
282 |
+
|
283 |
+
foreach ( $entry_questions as $key => $entry_question ) {
|
284 |
+
$question_id = ( ( isset( $questions[ $key ] ) && isset( $questions[ $key ]['slug'] ) ) ? $questions[ $key ]['slug'] : uniqid() );
|
285 |
+
// bit cleanup
|
286 |
+
$question_id = str_replace( 'question-', '', $question_id );
|
287 |
+
|
288 |
+
$question = isset( $entry_question['question'] ) ? $entry_question['question'] : '';
|
289 |
+
$answer = isset( $entry_question['answer'] ) ? $entry_question['answer'] : '';
|
290 |
+
|
291 |
+
$answers[ $question_id ] = array(
|
292 |
+
'question' => $question,
|
293 |
+
'answer' => $answer,
|
294 |
+
);
|
295 |
+
}
|
296 |
+
}
|
297 |
+
}
|
298 |
+
|
299 |
+
}
|
300 |
+
}
|
301 |
+
}
|
302 |
+
|
303 |
+
$sample['answers'] = $answers;
|
304 |
+
$result = array();
|
305 |
+
|
306 |
+
if ( 'knowledge' === $this->quiz->quiz_type ) {
|
307 |
+
$result['correct'] = $correct_answers;
|
308 |
+
$result['answers'] = $total_answers;
|
309 |
+
|
310 |
+
} elseif ( 'nowrong' === $this->quiz->quiz_type ) {
|
311 |
+
$result['result'] = $nowrong_result;
|
312 |
+
}
|
313 |
+
|
314 |
+
$sample['result'] = $result;
|
315 |
+
|
316 |
+
|
317 |
+
// wrap in array as zapier best practices
|
318 |
+
return array( $sample );
|
319 |
+
}
|
320 |
+
|
321 |
+
/**
|
322 |
+
* Zapier will add a column on the title/header row
|
323 |
+
* its called `Zapier Info` which can be translated on forminator lang
|
324 |
+
*
|
325 |
+
* @since 1.6.2
|
326 |
+
* @return array
|
327 |
+
*/
|
328 |
+
public function on_export_render_title_row() {
|
329 |
+
|
330 |
+
$export_headers = array(
|
331 |
+
'info' => __( 'Zapier Info', Forminator::DOMAIN ),
|
332 |
+
);
|
333 |
+
|
334 |
+
$quiz_id = $this->quiz_id;
|
335 |
+
$quiz_settings_instance = $this->quiz_settings_instance;
|
336 |
+
|
337 |
+
/**
|
338 |
+
* Filter zapier headers on export file
|
339 |
+
*
|
340 |
+
* @since 1.6.2
|
341 |
+
*
|
342 |
+
* @param array $export_headers headers to be displayed on export file
|
343 |
+
* @param int $quiz_id current Form ID
|
344 |
+
* @param Forminator_Addon_Zapier_Quiz_Settings $quiz_settings_instance Zapier Quiz Settings instance
|
345 |
+
*/
|
346 |
+
$export_headers = apply_filters(
|
347 |
+
'forminator_addon_zapier_quiz_export_headers',
|
348 |
+
$export_headers,
|
349 |
+
$quiz_id,
|
350 |
+
$quiz_settings_instance
|
351 |
+
);
|
352 |
+
|
353 |
+
return $export_headers;
|
354 |
+
}
|
355 |
+
|
356 |
+
/**
|
357 |
+
* Zapier will add a column that give user information whether sending data to zapier successfully or not
|
358 |
+
* It will only add one column even its multiple connection, every connection will be separated by comma
|
359 |
+
*
|
360 |
+
* @since 1.6.2
|
361 |
+
*
|
362 |
+
* @param Forminator_Form_Entry_Model $entry_model
|
363 |
+
* @param $addon_meta_data
|
364 |
+
*
|
365 |
+
* @return array
|
366 |
+
*/
|
367 |
+
public function on_export_render_entry( Forminator_Form_Entry_Model $entry_model, $addon_meta_data ) {
|
368 |
+
|
369 |
+
$quiz_id = $this->quiz_id;
|
370 |
+
$quiz_settings_instance = $this->quiz_settings_instance;
|
371 |
+
|
372 |
+
/**
|
373 |
+
*
|
374 |
+
* Filter zapier metadata that previously saved on db to be processed
|
375 |
+
*
|
376 |
+
* @since 1.1
|
377 |
+
*
|
378 |
+
* @param array $addon_meta_data
|
379 |
+
* @param int $quiz_id current Quiz ID
|
380 |
+
* @param Forminator_Addon_Zapier_Quiz_Settings $quiz_settings_instance Zapier Quiz Settings instance
|
381 |
+
*/
|
382 |
+
$addon_meta_data = apply_filters(
|
383 |
+
'forminator_addon_zapier_quiz_metadata',
|
384 |
+
$addon_meta_data,
|
385 |
+
$quiz_id,
|
386 |
+
$quiz_settings_instance
|
387 |
+
);
|
388 |
+
|
389 |
+
$export_columns = array(
|
390 |
+
'info' => $this->get_from_addon_meta_data( $addon_meta_data, 'description', '' ),
|
391 |
+
);
|
392 |
+
|
393 |
+
/**
|
394 |
+
* Filter zapier columns to be displayed on export submissions
|
395 |
+
*
|
396 |
+
* @since 1.6.2
|
397 |
+
*
|
398 |
+
* @param array $export_columns column to be exported
|
399 |
+
* @param int $quiz_id current Quiz ID
|
400 |
+
* @param Forminator_Form_Entry_Model $entry_model Form Entry Model
|
401 |
+
* @param array $addon_meta_data meta data saved by addon on entry fields
|
402 |
+
* @param Forminator_Addon_Zapier_Quiz_Settings $quiz_settings_instance Zapier Quiz Settings instance
|
403 |
+
*/
|
404 |
+
$export_columns = apply_filters(
|
405 |
+
'forminator_addon_zapier_quiz_export_columns',
|
406 |
+
$export_columns,
|
407 |
+
$quiz_id,
|
408 |
+
$entry_model,
|
409 |
+
$addon_meta_data,
|
410 |
+
$quiz_settings_instance
|
411 |
+
);
|
412 |
+
|
413 |
+
return $export_columns;
|
414 |
+
}
|
415 |
+
|
416 |
+
/**
|
417 |
+
* It wil add new row on entry table of submission page, with couple of subentries
|
418 |
+
* subentries included are defined in @see Forminator_Addon_Zapier_Quiz_Hooks::get_additional_entry_item()
|
419 |
+
*
|
420 |
+
* @since 1.6.1
|
421 |
+
*
|
422 |
+
* @param Forminator_Form_Entry_Model $entry_model
|
423 |
+
* @param $addon_meta_data
|
424 |
+
*
|
425 |
+
* @return array
|
426 |
+
*/
|
427 |
+
public function on_render_entry( Forminator_Form_Entry_Model $entry_model, $addon_meta_data ) {
|
428 |
+
|
429 |
+
$quiz_id = $this->quiz_id;
|
430 |
+
$quiz_settings_instance = $this->quiz_settings_instance;
|
431 |
+
|
432 |
+
/**
|
433 |
+
*
|
434 |
+
* Filter Zapier metadata that previously saved on db to be processed
|
435 |
+
*
|
436 |
+
* @since 1.6.2
|
437 |
+
*
|
438 |
+
* @param array $addon_meta_data
|
439 |
+
* @param int $quiz_id current Quiz ID
|
440 |
+
* @param Forminator_Addon_Zapier_Quiz_Settings $quiz_settings_instance Zapier Addon Quiz Settings instance
|
441 |
+
*/
|
442 |
+
$addon_meta_data = apply_filters(
|
443 |
+
'forminator_addon_quiz_zapier_metadata',
|
444 |
+
$addon_meta_data,
|
445 |
+
$quiz_id,
|
446 |
+
$quiz_settings_instance
|
447 |
+
);
|
448 |
+
|
449 |
+
|
450 |
+
$addon_meta_datas = $addon_meta_data;
|
451 |
+
if ( ! isset( $addon_meta_data[0] ) || ! is_array( $addon_meta_data[0] ) ) {
|
452 |
+
return array();
|
453 |
+
}
|
454 |
+
|
455 |
+
return $this->on_render_entry_multi_connection( $addon_meta_datas );
|
456 |
+
|
457 |
+
}
|
458 |
+
|
459 |
+
/**
|
460 |
+
* Loop through addon meta data on multiple Zapier setup(s)
|
461 |
+
*
|
462 |
+
* @since 1.6.1
|
463 |
+
*
|
464 |
+
* @param $addon_meta_datas
|
465 |
+
*
|
466 |
+
* @return array
|
467 |
+
*/
|
468 |
+
private function on_render_entry_multi_connection( $addon_meta_datas ) {
|
469 |
+
$additional_entry_item = array();
|
470 |
+
foreach ( $addon_meta_datas as $addon_meta_data ) {
|
471 |
+
$additional_entry_item[] = $this->get_additional_entry_item( $addon_meta_data );
|
472 |
+
}
|
473 |
+
|
474 |
+
return $additional_entry_item;
|
475 |
+
|
476 |
+
}
|
477 |
+
|
478 |
+
/**
|
479 |
+
* Format additional entry item as label and value arrays
|
480 |
+
*
|
481 |
+
* - Integration Name : its defined by user when they adding Zapier integration on their quiz
|
482 |
+
* - Sent To Zapier : will be Yes/No value, that indicates whether sending data to Zapier API was successful
|
483 |
+
* - Info : Text that are generated by addon when building and sending data to Zapier @see Forminator_Addon_Zapier_Quiz_Hooks::add_entry_fields()
|
484 |
+
* - Below subentries will be added if full log enabled, @see Forminator_Addon_Zapier::is_show_full_log() @see FORMINATOR_ADDON_ZAPIER_SHOW_FULL_LOG
|
485 |
+
* - API URL : URL that wes requested when sending data to Zapier
|
486 |
+
* - Data sent to Zapier : encoded body request that was sent
|
487 |
+
* - Data received from Zapier : json encoded body response that was received
|
488 |
+
*
|
489 |
+
* @param $addon_meta_data
|
490 |
+
*
|
491 |
+
* @since 1.6.1
|
492 |
+
* @return array
|
493 |
+
*/
|
494 |
+
private function get_additional_entry_item( $addon_meta_data ) {
|
495 |
+
|
496 |
+
if ( ! isset( $addon_meta_data['value'] ) || ! is_array( $addon_meta_data['value'] ) ) {
|
497 |
+
return array();
|
498 |
+
}
|
499 |
+
$status = $addon_meta_data['value'];
|
500 |
+
$additional_entry_item = array(
|
501 |
+
'label' => __( 'Zapier Integration', Forminator::DOMAIN ),
|
502 |
+
'value' => '',
|
503 |
+
);
|
504 |
+
|
505 |
+
|
506 |
+
$sub_entries = array();
|
507 |
+
if ( isset( $status['connection_name'] ) ) {
|
508 |
+
$sub_entries[] = array(
|
509 |
+
'label' => __( 'Integration Name', Forminator::DOMAIN ),
|
510 |
+
'value' => $status['connection_name'],
|
511 |
+
);
|
512 |
+
}
|
513 |
+
|
514 |
+
if ( isset( $status['is_sent'] ) ) {
|
515 |
+
$is_sent = true === $status['is_sent'] ? __( 'Yes', Forminator::DOMAIN ) : __( 'No', Forminator::DOMAIN );
|
516 |
+
$sub_entries[] = array(
|
517 |
+
'label' => __( 'Sent To Zapier', Forminator::DOMAIN ),
|
518 |
+
'value' => $is_sent,
|
519 |
+
);
|
520 |
+
}
|
521 |
+
|
522 |
+
if ( isset( $status['description'] ) ) {
|
523 |
+
$sub_entries[] = array(
|
524 |
+
'label' => __( 'Info', Forminator::DOMAIN ),
|
525 |
+
'value' => $status['description'],
|
526 |
+
);
|
527 |
+
}
|
528 |
+
|
529 |
+
if ( Forminator_Addon_Zapier::is_show_full_log() ) {
|
530 |
+
// too long to be added on entry data enable this with `define('FORMINATOR_ADDON_ZAPIER_SHOW_FULL_LOG', true)`
|
531 |
+
if ( isset( $status['url_request'] ) ) {
|
532 |
+
$sub_entries[] = array(
|
533 |
+
'label' => __( 'API URL', Forminator::DOMAIN ),
|
534 |
+
'value' => $status['url_request'],
|
535 |
+
);
|
536 |
+
}
|
537 |
+
|
538 |
+
if ( isset( $status['data_sent'] ) ) {
|
539 |
+
$sub_entries[] = array(
|
540 |
+
'label' => __( 'Data sent to Zapier', Forminator::DOMAIN ),
|
541 |
+
'value' => '<pre class="sui-code-snippet">' . wp_json_encode( $status['data_sent'], JSON_PRETTY_PRINT ) . '</pre>',
|
542 |
+
);
|
543 |
+
}
|
544 |
+
|
545 |
+
if ( isset( $status['data_received'] ) ) {
|
546 |
+
$sub_entries[] = array(
|
547 |
+
'label' => __( 'Data received from Zapier', Forminator::DOMAIN ),
|
548 |
+
'value' => '<pre class="sui-code-snippet">' . wp_json_encode( $status['data_received'], JSON_PRETTY_PRINT ) . '</pre>',
|
549 |
+
);
|
550 |
+
}
|
551 |
+
}
|
552 |
+
|
553 |
+
$additional_entry_item['sub_entries'] = $sub_entries;
|
554 |
+
|
555 |
+
// return single array
|
556 |
+
return $additional_entry_item;
|
557 |
+
}
|
558 |
+
}
|
addons/pro/zapier/forminator-addon-zapier-quiz-settings-exception.php
ADDED
@@ -0,0 +1,68 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Class Forminator_Addon_Zapier_Quiz_Settings_Exception
|
5 |
+
* Wrapper of Quiz Settings Zapier Exception
|
6 |
+
*
|
7 |
+
* @since 1.6.2
|
8 |
+
*/
|
9 |
+
class Forminator_Addon_Zapier_Quiz_Settings_Exception extends Forminator_Addon_Zapier_Exception {
|
10 |
+
|
11 |
+
/**
|
12 |
+
* Holder of input exceptions
|
13 |
+
*
|
14 |
+
* @since 1.6.2
|
15 |
+
* @var array
|
16 |
+
*/
|
17 |
+
protected $input_exceptions = array();
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Forminator_Addon_Zapier_Quiz_Settings_Exception constructor.
|
21 |
+
*
|
22 |
+
* Useful if input_id is needed for later.
|
23 |
+
* If no input_id needed, use @see Forminator_Addon_Zapier_Exception
|
24 |
+
*
|
25 |
+
* @since 1.6.2
|
26 |
+
*
|
27 |
+
* @param string $message
|
28 |
+
* @param string $input_id
|
29 |
+
*/
|
30 |
+
public function __construct( $message = '', $input_id = '' ) {
|
31 |
+
parent::__construct( $message, 0 );
|
32 |
+
if ( ! empty( $input_id ) ) {
|
33 |
+
$this->add_input_exception( $message, $input_id );
|
34 |
+
}
|
35 |
+
}
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Set exception message for an input
|
39 |
+
*
|
40 |
+
* @since 1.6.2
|
41 |
+
*
|
42 |
+
* @param $message
|
43 |
+
* @param $input_id
|
44 |
+
*/
|
45 |
+
public function add_input_exception( $message, $input_id ) {
|
46 |
+
$this->input_exceptions[ $input_id ] = $message;
|
47 |
+
}
|
48 |
+
|
49 |
+
/**
|
50 |
+
* Get all input exceptions
|
51 |
+
*
|
52 |
+
* @since 1.6.2
|
53 |
+
* @return array
|
54 |
+
*/
|
55 |
+
public function get_input_exceptions() {
|
56 |
+
return $this->input_exceptions;
|
57 |
+
}
|
58 |
+
|
59 |
+
/**
|
60 |
+
* Check if there is input_exceptions_is_available
|
61 |
+
*
|
62 |
+
* @since 1.6.2
|
63 |
+
* @return bool
|
64 |
+
*/
|
65 |
+
public function input_exceptions_is_available() {
|
66 |
+
return count( $this->input_exceptions ) > 0;
|
67 |
+
}
|
68 |
+
}
|
addons/pro/zapier/forminator-addon-zapier-quiz-settings.php
ADDED
@@ -0,0 +1,416 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
require_once dirname( __FILE__ ) . '/forminator-addon-zapier-quiz-settings-exception.php';
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class Forminator_Addon_Zapier_Quiz_Settings
|
7 |
+
* Handle how quiz settings displayed and saved
|
8 |
+
*
|
9 |
+
* @since 1.6.2
|
10 |
+
*/
|
11 |
+
class Forminator_Addon_Zapier_Quiz_Settings extends Forminator_Addon_Quiz_Settings_Abstract {
|
12 |
+
|
13 |
+
/**
|
14 |
+
* @var Forminator_Addon_Zapier
|
15 |
+
* @since 1.0 Zapier Addon
|
16 |
+
*/
|
17 |
+
protected $addon;
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Create Zap URL
|
21 |
+
*
|
22 |
+
* @since 1.0 Zapier Addon
|
23 |
+
* @var string
|
24 |
+
*/
|
25 |
+
private $new_zap_url = 'https://zapier.com/app/editor/';
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Forminator_Addon_Zapier_Form_Settings constructor.
|
29 |
+
*
|
30 |
+
* @since 1.0 Zapier Addon
|
31 |
+
*
|
32 |
+
* @param Forminator_Addon_Abstract $addon
|
33 |
+
* @param $form_id
|
34 |
+
*
|
35 |
+
* @throws Forminator_Addon_Exception
|
36 |
+
*/
|
37 |
+
public function __construct( Forminator_Addon_Abstract $addon, $form_id ) {
|
38 |
+
parent::__construct( $addon, $form_id );
|
39 |
+
|
40 |
+
$this->_update_quiz_settings_error_message = __(
|
41 |
+
'The update to your settings for this quiz failed, check the form input and try again.',
|
42 |
+
Forminator::DOMAIN
|
43 |
+
);
|
44 |
+
}
|
45 |
+
|
46 |
+
/**
|
47 |
+
* Zapier Quiz Settings wizard
|
48 |
+
*
|
49 |
+
* @since 1.6.2
|
50 |
+
* @return array
|
51 |
+
*/
|
52 |
+
public function quiz_settings_wizards() {
|
53 |
+
// numerical array steps
|
54 |
+
return array(
|
55 |
+
// 0
|
56 |
+
array(
|
57 |
+
'callback' => array( $this, 'setup_webhook_url' ),
|
58 |
+
'is_completed' => array( $this, 'setup_webhook_url_is_completed' ),
|
59 |
+
),
|
60 |
+
);
|
61 |
+
}
|
62 |
+
|
63 |
+
/**
|
64 |
+
* Setup webhook url
|
65 |
+
*
|
66 |
+
* @since 1.0 Zapier Addon
|
67 |
+
*
|
68 |
+
* @param $submitted_data
|
69 |
+
*
|
70 |
+
* @return array
|
71 |
+
*/
|
72 |
+
public function setup_webhook_url( $submitted_data ) {
|
73 |
+
|
74 |
+
$template = forminator_addon_zapier_dir() . 'views/quiz-settings/setup-webhook.php';
|
75 |
+
|
76 |
+
if ( ! isset( $submitted_data['multi_id'] ) ) {
|
77 |
+
return $this->get_force_closed_wizard( __( 'Please pick valid connection', Forminator::DOMAIN ) );
|
78 |
+
}
|
79 |
+
|
80 |
+
$multi_id = $submitted_data['multi_id'];
|
81 |
+
unset( $submitted_data['multi_id'] );
|
82 |
+
|
83 |
+
$template_params = array(
|
84 |
+
'new_zap_url' => $this->new_zap_url,
|
85 |
+
'name' => $this->get_multi_id_quiz_settings_value( $multi_id, 'name', '' ),
|
86 |
+
'webhook_url' => $this->get_multi_id_quiz_settings_value( $multi_id, 'webhook_url', '' ),
|
87 |
+
'multi_id' => $multi_id,
|
88 |
+
);
|
89 |
+
|
90 |
+
$is_submit = ! empty( $submitted_data );
|
91 |
+
$has_errors = false;
|
92 |
+
$is_close = false;
|
93 |
+
$notification = array();
|
94 |
+
|
95 |
+
|
96 |
+
if ( $is_submit ) {
|
97 |
+
$name = isset( $submitted_data['name'] ) ? trim( $submitted_data['name'] ) : '';
|
98 |
+
$template_params['name'] = $name;
|
99 |
+
|
100 |
+
$webhook_url = isset( $submitted_data['webhook_url'] ) ? trim( $submitted_data['webhook_url'] ) : '';
|
101 |
+
$template_params['webhook_url'] = $webhook_url;
|
102 |
+
|
103 |
+
|
104 |
+
try {
|
105 |
+
$input_exceptions = new Forminator_Addon_Zapier_Quiz_Settings_Exception();
|
106 |
+
|
107 |
+
if ( empty( $name ) ) {
|
108 |
+
$input_exceptions->add_input_exception( __( 'Please specify integration name.', Forminator::DOMAIN ), 'name_error' );
|
109 |
+
}
|
110 |
+
|
111 |
+
$this->validate_and_send_sample( $submitted_data, $input_exceptions );
|
112 |
+
|
113 |
+
if ( $input_exceptions->input_exceptions_is_available() ) {
|
114 |
+
throw $input_exceptions;
|
115 |
+
}
|
116 |
+
|
117 |
+
$time_added = $this->get_multi_id_quiz_settings_value( $multi_id, 'time_added', time() );
|
118 |
+
$this->save_multi_id_quiz_setting_values(
|
119 |
+
$multi_id,
|
120 |
+
array(
|
121 |
+
'name' => $name,
|
122 |
+
'webhook_url' => $webhook_url,
|
123 |
+
'time_added' => $time_added,
|
124 |
+
)
|
125 |
+
);
|
126 |
+
|
127 |
+
$notification = array(
|
128 |
+
'type' => 'success',
|
129 |
+
'text' => '<strong>' . $this->addon->get_title() . '</strong> ' . __( 'Successfully connected and sent sample data to your ZAP', Forminator::DOMAIN ),
|
130 |
+
);
|
131 |
+
$is_close = true;
|
132 |
+
|
133 |
+
} catch ( Forminator_Addon_Zapier_Quiz_Settings_Exception $e ) {
|
134 |
+
$template_params = array_merge( $template_params, $e->get_input_exceptions() );
|
135 |
+
$has_errors = true;
|
136 |
+
} catch ( Forminator_Addon_Zapier_Exception $e ) {
|
137 |
+
$template_params['error_message'] = $e->getMessage();
|
138 |
+
$has_errors = true;
|
139 |
+
}
|
140 |
+
}
|
141 |
+
|
142 |
+
$buttons = array();
|
143 |
+
if ( $this->setup_webhook_url_is_completed( array( 'multi_id' => $multi_id ) ) ) {
|
144 |
+
$buttons['disconnect']['markup'] = Forminator_Addon_Zapier::get_button_markup(
|
145 |
+
esc_html__( 'DISCONNECT', Forminator::DOMAIN ),
|
146 |
+
'sui-button-ghost sui-tooltip sui-tooltip-top-center forminator-addon-form-disconnect',
|
147 |
+
esc_html__( 'Disconnect Zapier from this Quiz.', Forminator::DOMAIN )
|
148 |
+
);
|
149 |
+
}
|
150 |
+
|
151 |
+
$buttons['next']['markup'] = '<div class="sui-actions-right">' .
|
152 |
+
Forminator_Addon_Zapier::get_button_markup( esc_html__( 'Save', Forminator::DOMAIN ), 'sui-button-primary forminator-addon-finish' ) .
|
153 |
+
'</div>';
|
154 |
+
|
155 |
+
return array(
|
156 |
+
'html' => Forminator_Addon_Abstract::get_template( $template, $template_params ),
|
157 |
+
'buttons' => $buttons,
|
158 |
+
'redirect' => false,
|
159 |
+
'has_errors' => $has_errors,
|
160 |
+
'has_back' => false,
|
161 |
+
'is_close' => $is_close,
|
162 |
+
'notification' => $notification,
|
163 |
+
);
|
164 |
+
|
165 |
+
}
|
166 |
+
|
167 |
+
|
168 |
+
/**
|
169 |
+
* Sending test sample to zapier webhook URL
|
170 |
+
* Data sent will be used on zapier to map fields on their zap action
|
171 |
+
*
|
172 |
+
* @since 1.0 Zapier Addon
|
173 |
+
*
|
174 |
+
* @param $submitted_data
|
175 |
+
* @param Forminator_Addon_Zapier_Quiz_Settings_Exception $current_input_exception
|
176 |
+
*
|
177 |
+
* @throws Forminator_Addon_Zapier_Quiz_Settings_Exception
|
178 |
+
* @throws Forminator_Addon_Zapier_Wp_Api_Not_Found_Exception
|
179 |
+
* @throws Forminator_Addon_Zapier_Wp_Api_Exception
|
180 |
+
*/
|
181 |
+
private function validate_and_send_sample( $submitted_data, Forminator_Addon_Zapier_Quiz_Settings_Exception $current_input_exception ) {
|
182 |
+
$quiz_id = $this->quiz_id;
|
183 |
+
if ( ! isset( $submitted_data['webhook_url'] ) ) {
|
184 |
+
$current_input_exception->add_input_exception( __( 'Please put a valid Webhook URL.', Forminator::DOMAIN ), 'webhook_url_error' );
|
185 |
+
throw $current_input_exception;
|
186 |
+
}
|
187 |
+
|
188 |
+
// must be this prefix
|
189 |
+
if ( stripos( $submitted_data['webhook_url'], 'https://hooks.zapier.com/' ) !== 0 ) {
|
190 |
+
$current_input_exception->add_input_exception( __( 'Please put a valid Webhook URL.', Forminator::DOMAIN ), 'webhook_url_error' );
|
191 |
+
throw $current_input_exception;
|
192 |
+
}
|
193 |
+
|
194 |
+
// must not be in silent mode
|
195 |
+
if ( stripos( $submitted_data['webhook_url'], 'silent' ) !== false ) {
|
196 |
+
$current_input_exception->add_input_exception( __( 'Please disable Silent Mode on Webhook URL.', Forminator::DOMAIN ), 'webhook_url_error' );
|
197 |
+
throw $current_input_exception;
|
198 |
+
}
|
199 |
+
|
200 |
+
$endpoint = wp_http_validate_url( $submitted_data['webhook_url'] );
|
201 |
+
if ( false === $endpoint ) {
|
202 |
+
$current_input_exception->add_input_exception( __( 'Please put a valid Webhook URL.', Forminator::DOMAIN ), 'webhook_url_error' );
|
203 |
+
throw $current_input_exception;
|
204 |
+
}
|
205 |
+
|
206 |
+
if ( $current_input_exception->input_exceptions_is_available() ) {
|
207 |
+
throw $current_input_exception;
|
208 |
+
}
|
209 |
+
|
210 |
+
$connection_settings = $submitted_data;
|
211 |
+
/**
|
212 |
+
* Filter Endpoint Webhook URL to send
|
213 |
+
*
|
214 |
+
* @since 1.6.2
|
215 |
+
*
|
216 |
+
* @param string $endpoint
|
217 |
+
* @param int $quiz_id current Form ID
|
218 |
+
* @param array $connection_settings Submitted data by user, it contains `name` and `webhook_url`
|
219 |
+
*/
|
220 |
+
$endpoint = apply_filters(
|
221 |
+
'forminator_addon_zapier_quiz_endpoint',
|
222 |
+
$endpoint,
|
223 |
+
$quiz_id,
|
224 |
+
$connection_settings
|
225 |
+
);
|
226 |
+
|
227 |
+
forminator_addon_maybe_log( __METHOD__, $endpoint );
|
228 |
+
$api = $this->addon->get_api( $endpoint );
|
229 |
+
|
230 |
+
// build form sample data
|
231 |
+
$sample_data = $this->build_form_sample_data();
|
232 |
+
$sample_data['is_test'] = true;
|
233 |
+
|
234 |
+
/**
|
235 |
+
* Filter sample data to send to Zapier Webhook URL
|
236 |
+
*
|
237 |
+
* It fires when user saved Zapier connection on Form Settings Page.
|
238 |
+
* Sample data contains `is_test` key with value `true`,
|
239 |
+
* this key indicating that it wont process trigger on Zapier.
|
240 |
+
*
|
241 |
+
* @since 1.6.2
|
242 |
+
*
|
243 |
+
* @param array $sample_data
|
244 |
+
* @param int $quiz_id current Form ID
|
245 |
+
* @param array $submitted_data Submitted data by user, it contains `name` and `webhook_url`
|
246 |
+
*/
|
247 |
+
$sample_data = apply_filters(
|
248 |
+
'forminator_addon_zapier_quiz_sample_data',
|
249 |
+
$sample_data,
|
250 |
+
$quiz_id,
|
251 |
+
$submitted_data
|
252 |
+
);
|
253 |
+
|
254 |
+
$api->post_( $sample_data );
|
255 |
+
}
|
256 |
+
|
257 |
+
/**
|
258 |
+
* Build sample data form current fields
|
259 |
+
*
|
260 |
+
* @since 1.6.2
|
261 |
+
*
|
262 |
+
* @return array
|
263 |
+
*/
|
264 |
+
private function build_form_sample_data() {
|
265 |
+
$sample = array();
|
266 |
+
|
267 |
+
$sample['quiz-name'] = forminator_get_name_from_model( $this->quiz );
|
268 |
+
$answers = array();
|
269 |
+
|
270 |
+
$num_correct = 0;
|
271 |
+
|
272 |
+
$questions = $this->quiz->questions;
|
273 |
+
|
274 |
+
foreach ( $questions as $question ) {
|
275 |
+
$question_title = isset( $question['title'] ) ? $question['title'] : '';
|
276 |
+
$question_id = isset( $question['slug'] ) ? $question['slug'] : uniqid();
|
277 |
+
|
278 |
+
// bit cleanup
|
279 |
+
$question_id = str_replace( 'question-', '', $question_id );
|
280 |
+
$answer_title = 'Sample Answer';
|
281 |
+
|
282 |
+
$answer = array(
|
283 |
+
'question' => $question_title,
|
284 |
+
'answer' => $answer_title,
|
285 |
+
);
|
286 |
+
|
287 |
+
if ( 'knowledge' === $this->quiz->quiz_type ) {
|
288 |
+
$answer['is_correct'] = wp_rand( 0, 1 ) ? true : false;
|
289 |
+
|
290 |
+
if ( $answer['is_correct'] ) {
|
291 |
+
$num_correct ++;
|
292 |
+
}
|
293 |
+
}
|
294 |
+
|
295 |
+
$answers[ $question_id ] = $answer;
|
296 |
+
}
|
297 |
+
|
298 |
+
$sample['answers'] = $answers;
|
299 |
+
$result = array();
|
300 |
+
|
301 |
+
if ( 'knowledge' === $this->quiz->quiz_type ) {
|
302 |
+
$result['correct'] = $num_correct;
|
303 |
+
$result['answers'] = count( $answers );
|
304 |
+
|
305 |
+
} elseif ( 'nowrong' === $this->quiz->quiz_type ) {
|
306 |
+
$results = $this->quiz->results;
|
307 |
+
$random_result_key = array_rand( $results );
|
308 |
+
$result_title = ( ( isset( $results[ $random_result_key ] ) && isset( $results[ $random_result_key ]['title'] ) ) ? $results[ $random_result_key ]['title'] : '' );
|
309 |
+
$result['result'] = $result_title;
|
310 |
+
}
|
311 |
+
|
312 |
+
$sample['result'] = $result;
|
313 |
+
|
314 |
+
|
315 |
+
// wrap in array as zapier best practices
|
316 |
+
return array( $sample );
|
317 |
+
}
|
318 |
+
|
319 |
+
/**
|
320 |
+
* Check if setup webhook url is completed
|
321 |
+
*
|
322 |
+
* @since 1.6.2
|
323 |
+
*
|
324 |
+
* @param $submitted_data
|
325 |
+
*
|
326 |
+
* @return bool
|
327 |
+
*/
|
328 |
+
public function setup_webhook_url_is_completed( $submitted_data ) {
|
329 |
+
$multi_id = '';
|
330 |
+
if ( isset( $submitted_data['multi_id'] ) ) {
|
331 |
+
$multi_id = $submitted_data['multi_id'];
|
332 |
+
}
|
333 |
+
|
334 |
+
if ( empty( $multi_id ) ) {
|
335 |
+
return false;
|
336 |
+
}
|
337 |
+
|
338 |
+
$name = $this->get_multi_id_quiz_settings_value( $multi_id, 'name', '' );
|
339 |
+
$name = trim( $name );
|
340 |
+
if ( empty( $name ) ) {
|
341 |
+
return false;
|
342 |
+
}
|
343 |
+
$webhook_url = $this->get_multi_id_quiz_settings_value( $multi_id, 'webhook_url', '' );
|
344 |
+
$webhook_url = trim( $webhook_url );
|
345 |
+
if ( empty( $webhook_url ) ) {
|
346 |
+
return false;
|
347 |
+
}
|
348 |
+
|
349 |
+
return true;
|
350 |
+
}
|
351 |
+
|
352 |
+
/**
|
353 |
+
* Generate multi id for multiple connection
|
354 |
+
*
|
355 |
+
* @since 1.6.2
|
356 |
+
* @return string
|
357 |
+
*/
|
358 |
+
public function generate_multi_id() {
|
359 |
+
return uniqid( 'zapier_', true );
|
360 |
+
}
|
361 |
+
|
362 |
+
|
363 |
+
/**
|
364 |
+
* Override how multi connection displayed
|
365 |
+
*
|
366 |
+
* @since 1.6.2
|
367 |
+
* @return array
|
368 |
+
*/
|
369 |
+
public function get_multi_ids() {
|
370 |
+
$multi_ids = array();
|
371 |
+
foreach ( $this->get_quiz_settings_values() as $key => $value ) {
|
372 |
+
$multi_ids[] = array(
|
373 |
+
'id' => $key,
|
374 |
+
// use name that was added by user on creating connection
|
375 |
+
'label' => isset( $value['name'] ) ? $value['name'] : $key,
|
376 |
+
);
|
377 |
+
}
|
378 |
+
|
379 |
+
return $multi_ids;
|
380 |
+
}
|
381 |
+
|
382 |
+
/**
|
383 |
+
* Disconnect a connection from current quiz
|
384 |
+
*
|
385 |
+
* @since 1.6.2
|
386 |
+
*
|
387 |
+
* @param array $submitted_data
|
388 |
+
*/
|
389 |
+
public function disconnect_form( $submitted_data ) {
|
390 |
+
// only execute if multi_id provided on submitted data
|
391 |
+
if ( isset( $submitted_data['multi_id'] ) && ! empty( $submitted_data['multi_id'] ) ) {
|
392 |
+
$addon_quiz_settings = $this->get_quiz_settings_values();
|
393 |
+
unset( $addon_quiz_settings[ $submitted_data['multi_id'] ] );
|
394 |
+
$this->save_quiz_settings_values( $addon_quiz_settings );
|
395 |
+
}
|
396 |
+
}
|
397 |
+
|
398 |
+
/**
|
399 |
+
* Check if multi_id quiz settings values completed
|
400 |
+
*
|
401 |
+
* @since 1.6.2
|
402 |
+
*
|
403 |
+
* @param $multi_id
|
404 |
+
*
|
405 |
+
* @return bool
|
406 |
+
*/
|
407 |
+
public function is_multi_quiz_settings_complete( $multi_id ) {
|
408 |
+
$data = array( 'multi_id' => $multi_id );
|
409 |
+
|
410 |
+
if ( ! $this->setup_webhook_url_is_completed( $data ) ) {
|
411 |
+
return false;
|
412 |
+
}
|
413 |
+
|
414 |
+
return true;
|
415 |
+
}
|
416 |
+
}
|
addons/pro/zapier/forminator-addon-zapier.php
CHANGED
@@ -30,6 +30,9 @@ final class Forminator_Addon_Zapier extends Forminator_Addon_Abstract {
|
|
30 |
protected $_poll_settings = 'Forminator_Addon_Zapier_Poll_Settings';
|
31 |
protected $_poll_hooks = 'Forminator_Addon_Zapier_Poll_Hooks';
|
32 |
|
|
|
|
|
|
|
33 |
/**
|
34 |
* Forminator_Addon_Zapier constructor.
|
35 |
*
|
@@ -347,4 +350,64 @@ final class Forminator_Addon_Zapier extends Forminator_Addon_Abstract {
|
|
347 |
public function is_allow_multi_on_poll() {
|
348 |
return true;
|
349 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
350 |
}
|
30 |
protected $_poll_settings = 'Forminator_Addon_Zapier_Poll_Settings';
|
31 |
protected $_poll_hooks = 'Forminator_Addon_Zapier_Poll_Hooks';
|
32 |
|
33 |
+
protected $_quiz_settings = 'Forminator_Addon_Zapier_Quiz_Settings';
|
34 |
+
protected $_quiz_hooks = 'Forminator_Addon_Zapier_Quiz_Hooks';
|
35 |
+
|
36 |
/**
|
37 |
* Forminator_Addon_Zapier constructor.
|
38 |
*
|
350 |
public function is_allow_multi_on_poll() {
|
351 |
return true;
|
352 |
}
|
353 |
+
|
354 |
+
/**
|
355 |
+
* Flag for check if and addon connected to a quiz(quiz settings such as list id completed)
|
356 |
+
*
|
357 |
+
* Please apply necessary WordPress hook on the inheritance class
|
358 |
+
*
|
359 |
+
* @since 1.6.2
|
360 |
+
*
|
361 |
+
* @param $quiz_id
|
362 |
+
*
|
363 |
+
* @return boolean
|
364 |
+
*/
|
365 |
+
public function is_quiz_connected( $quiz_id ) {
|
366 |
+
try {
|
367 |
+
$quiz_settings_instance = null;
|
368 |
+
if ( ! $this->is_connected() ) {
|
369 |
+
throw new Forminator_Addon_Zapier_Exception( 'Zapier is not connected' );
|
370 |
+
}
|
371 |
+
|
372 |
+
$quiz_settings_instance = $this->get_addon_quiz_settings( $quiz_id );
|
373 |
+
if ( ! $quiz_settings_instance instanceof Forminator_Addon_Zapier_Quiz_Settings ) {
|
374 |
+
throw new Forminator_Addon_Zapier_Exception( 'Zapier Quiz Settings of Trello' );
|
375 |
+
}
|
376 |
+
|
377 |
+
// Mark as active when there is at least one active connection
|
378 |
+
if ( false === $quiz_settings_instance->find_one_active_connection() ) {
|
379 |
+
throw new Forminator_Addon_Zapier_Exception( 'No active Zapier connection found in this quiz' );
|
380 |
+
}
|
381 |
+
|
382 |
+
$is_quiz_connected = true;
|
383 |
+
|
384 |
+
} catch ( Forminator_Addon_Zapier_Exception $e ) {
|
385 |
+
|
386 |
+
$is_quiz_connected = false;
|
387 |
+
}
|
388 |
+
|
389 |
+
/**
|
390 |
+
* Filter connected status Zapier with the quiz
|
391 |
+
*
|
392 |
+
* @since 1.6.2
|
393 |
+
*
|
394 |
+
* @param bool $is_quiz_connected
|
395 |
+
* @param int $quiz_id Current Quiz ID
|
396 |
+
* @param Forminator_Addon_Trello_Quiz_Settings|null $quiz_settings_instance Instance of quiz settings, or null when unavailable
|
397 |
+
*
|
398 |
+
*/
|
399 |
+
$is_quiz_connected = apply_filters( 'forminator_addon_zapier_is_quiz_connected', $is_quiz_connected, $quiz_id, $quiz_settings_instance );
|
400 |
+
|
401 |
+
return $is_quiz_connected;
|
402 |
+
}
|
403 |
+
|
404 |
+
/**
|
405 |
+
* Allow multiple connection on one quiz
|
406 |
+
*
|
407 |
+
* @since 1.6.2
|
408 |
+
* @return bool
|
409 |
+
*/
|
410 |
+
public function is_allow_multi_on_quiz() {
|
411 |
+
return true;
|
412 |
+
}
|
413 |
}
|
addons/pro/zapier/views/quiz-settings/setup-webhook.php
ADDED
@@ -0,0 +1,67 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
// defaults
|
3 |
+
$vars = array(
|
4 |
+
'error_message' => '',
|
5 |
+
'name' => '',
|
6 |
+
'name_error' => '',
|
7 |
+
'multi_id' => '',
|
8 |
+
'new_zap_url' => '',
|
9 |
+
'webhook_url' => '',
|
10 |
+
'webhook_url_error' => '',
|
11 |
+
);
|
12 |
+
/** @var array $template_vars */
|
13 |
+
foreach ( $template_vars as $key => $val ) {
|
14 |
+
$vars[ $key ] = $val;
|
15 |
+
}
|
16 |
+
|
17 |
+
?>
|
18 |
+
<div class="integration-header">
|
19 |
+
<h3 class="sui-box-title" id="dialogTitle2"><?php esc_html_e( 'Setup Webhook', Forminator::DOMAIN ); ?></h3>
|
20 |
+
<p><?php esc_html_e( 'Put your ZAP Webhook URL below. ', Forminator::DOMAIN ); ?></p>
|
21 |
+
<?php if ( ! empty( $vars['error_message'] ) ) : ?>
|
22 |
+
<span class="sui-notice sui-notice-error"><p><?php echo esc_html( $vars['error_message'] ); ?></p></span>
|
23 |
+
<?php endif; ?>
|
24 |
+
</div>
|
25 |
+
<form enctype="multipart/form-data">
|
26 |
+
<div class="sui-form-field <?php echo esc_attr( ! empty( $vars['name_error'] ) ? 'sui-form-field-error' : '' ); ?>">
|
27 |
+
<label class="sui-label"><?php esc_html_e( 'Zapier Integration Name', Forminator::DOMAIN ); ?></label>
|
28 |
+
<div class="sui-control-with-icon">
|
29 |
+
<input type="text"
|
30 |
+
name="name"
|
31 |
+
placeholder="<?php esc_attr_e( 'Friendly Name', Forminator::DOMAIN ); ?>"
|
32 |
+
value="<?php echo esc_attr( $vars['name'] ); ?>"
|
33 |
+
class="sui-form-control"
|
34 |
+
/>
|
35 |
+
<i class="sui-icon-web-globe-world" aria-hidden="true"></i>
|
36 |
+
</div>
|
37 |
+
<?php if ( ! empty( $vars['name_error'] ) ) : ?>
|
38 |
+
<span class="sui-error-message"><?php echo esc_html( $vars['name_error'] ); ?></span>
|
39 |
+
<?php endif; ?>
|
40 |
+
</div>
|
41 |
+
<div class="sui-form-field <?php echo esc_attr( ! empty( $vars['webhook_url_error'] ) ? 'sui-form-field-error' : '' ); ?>">
|
42 |
+
<label class="sui-label"><?php esc_html_e( 'Webhook URL', Forminator::DOMAIN ); ?></label>
|
43 |
+
<div class="sui-control-with-icon">
|
44 |
+
<input
|
45 |
+
type="text"
|
46 |
+
name="webhook_url"
|
47 |
+
placeholder="<?php esc_attr_e( 'Webhook URL', Forminator::DOMAIN ); ?>"
|
48 |
+
value="<?php echo esc_attr( $vars['webhook_url'] ); ?>"
|
49 |
+
class="sui-form-control"/>
|
50 |
+
<i class="sui-icon-link" aria-hidden="true"></i>
|
51 |
+
</div>
|
52 |
+
<?php if ( ! empty( $vars['webhook_url_error'] ) ) : ?>
|
53 |
+
<span class="sui-error-message"><?php echo esc_html( $vars['webhook_url_error'] ); ?></span>
|
54 |
+
<?php endif; ?>
|
55 |
+
</div>
|
56 |
+
<input type="hidden" name="multi_id" value="<?php echo esc_attr( $vars['multi_id'] ); ?>">
|
57 |
+
</form>
|
58 |
+
<div class="sui-notice sui-notice-warning">
|
59 |
+
<p>
|
60 |
+
<?php echo sprintf(//wpcs xss ok.
|
61 |
+
__( 'Please go %1$shere%2$s if you do not have any ZAP created. Remember to choose %3$s as Trigger App.', Forminator::DOMAIN ),
|
62 |
+
'<a href="' . $vars['new_zap_url'] . '" target="_blank">',
|
63 |
+
'</a>',
|
64 |
+
'<strong>Webhooks by Zapier</strong>'
|
65 |
+
); ?>
|
66 |
+
</p>
|
67 |
+
</div>',
|
addons/pro/zapier/zapier.php
CHANGED
@@ -31,5 +31,8 @@ require_once dirname( __FILE__ ) . '/forminator-addon-zapier-form-hooks.php';
|
|
31 |
require_once dirname( __FILE__ ) . '/forminator-addon-zapier-poll-settings.php';
|
32 |
require_once dirname( __FILE__ ) . '/forminator-addon-zapier-poll-hooks.php';
|
33 |
|
|
|
|
|
|
|
34 |
//Direct Load
|
35 |
Forminator_Addon_Loader::get_instance()->register( 'Forminator_Addon_Zapier' );
|
31 |
require_once dirname( __FILE__ ) . '/forminator-addon-zapier-poll-settings.php';
|
32 |
require_once dirname( __FILE__ ) . '/forminator-addon-zapier-poll-hooks.php';
|
33 |
|
34 |
+
require_once dirname( __FILE__ ) . '/forminator-addon-zapier-quiz-settings.php';
|
35 |
+
require_once dirname( __FILE__ ) . '/forminator-addon-zapier-quiz-hooks.php';
|
36 |
+
|
37 |
//Direct Load
|
38 |
Forminator_Addon_Loader::get_instance()->register( 'Forminator_Addon_Zapier' );
|
admin/classes/class-admin-ajax.php
CHANGED
@@ -102,28 +102,40 @@ class Forminator_Admin_AJAX {
|
|
102 |
|
103 |
$submitted_data = $this->get_post_data();
|
104 |
|
105 |
-
$
|
106 |
-
|
107 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
108 |
|
109 |
if ( is_null( $id ) || $id <= 0 ) {
|
110 |
$form_model = new Forminator_Quiz_Form_Model();
|
|
|
|
|
|
|
111 |
} else {
|
112 |
$form_model = Forminator_Quiz_Form_Model::model()->load( $id );
|
113 |
if ( ! is_object( $form_model ) ) {
|
114 |
wp_send_json_error( __( "Quiz model doesn't exist", Forminator::DOMAIN ) );
|
115 |
}
|
|
|
|
|
|
|
116 |
//we need to empty fields cause we will send new data
|
117 |
$form_model->clear_fields();
|
118 |
}
|
119 |
|
120 |
-
$data = $submitted_data['data'];
|
121 |
$action = isset( $submitted_data['action'] ) ? $submitted_data['action'] : '';
|
122 |
-
$msg_count = $data['msg_count']; //Backup, we allow html here
|
123 |
-
// Sanitize post data
|
124 |
-
$data = forminator_sanitize_field( $data );
|
125 |
-
|
126 |
-
$data['msg_count'] = $msg_count;
|
127 |
|
128 |
// Detect action
|
129 |
$form_model->quiz_type = 'knowledge';
|
@@ -132,9 +144,9 @@ class Forminator_Admin_AJAX {
|
|
132 |
}
|
133 |
|
134 |
// Check if results exist
|
135 |
-
if ( isset( $
|
136 |
-
$results = $
|
137 |
-
foreach ( $
|
138 |
$description = '';
|
139 |
if ( isset( $result['description'] ) ) {
|
140 |
$description = $result['description'];
|
@@ -145,9 +157,14 @@ class Forminator_Admin_AJAX {
|
|
145 |
$form_model->results = $results;
|
146 |
}
|
147 |
|
|
|
|
|
|
|
|
|
|
|
148 |
// Check if questions exist
|
149 |
-
if ( isset( $
|
150 |
-
foreach ( $
|
151 |
$question['type'] = $form_model->quiz_type;
|
152 |
if ( ! isset( $question['slug'] ) || empty( $question['slug'] ) ) {
|
153 |
$question['slug'] = uniqid();
|
@@ -158,16 +175,41 @@ class Forminator_Admin_AJAX {
|
|
158 |
$form_model->set_var_in_array( 'name', 'formName', $submitted_data );
|
159 |
|
160 |
// Handle quiz questions
|
161 |
-
$form_model->questions =
|
162 |
-
|
163 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
164 |
}
|
165 |
|
166 |
-
//
|
167 |
-
|
168 |
-
|
169 |
-
$
|
170 |
-
|
|
|
|
|
|
|
|
|
171 |
|
172 |
// Save data
|
173 |
$id = $form_model->save();
|
@@ -542,8 +584,8 @@ class Forminator_Admin_AJAX {
|
|
542 |
|
543 |
$is_object = false;
|
544 |
|
545 |
-
if( isset( $_POST['data'][
|
546 |
-
$is_object =
|
547 |
}
|
548 |
$fonts = forminator_get_font_families( $is_object );
|
549 |
wp_send_json_success( $fonts );
|
@@ -685,9 +727,11 @@ class Forminator_Admin_AJAX {
|
|
685 |
$captcha_theme = get_option( "forminator_captcha_theme", "light" );
|
686 |
$html = '';
|
687 |
|
|
|
|
|
688 |
if ( ! empty( $captcha_key ) && ! empty( $captcha_theme ) ) {
|
689 |
// phpcs:ignore WordPress.WP.EnqueuedResources.NonEnqueuedScript
|
690 |
-
$html
|
691 |
|
692 |
$html .= '<div class="forminator-g-recaptcha" data-sitekey="' . $captcha_key . '" data-theme="' . $captcha_theme . '" data-size="normal"></div>';
|
693 |
} else {
|
@@ -837,7 +881,7 @@ class Forminator_Admin_AJAX {
|
|
837 |
|
838 |
$preview_data = false;
|
839 |
// force -1 for preview
|
840 |
-
$form_id
|
841 |
|
842 |
if ( isset( $_POST['id'] ) ) { // WPCS: CSRF ok by forminator_validate_ajax.
|
843 |
$form_id = intval( $_POST['id'] );
|
@@ -869,7 +913,7 @@ class Forminator_Admin_AJAX {
|
|
869 |
|
870 |
$preview_data = false;
|
871 |
// force -1 for preview
|
872 |
-
$form_id
|
873 |
|
874 |
if ( isset( $_POST['id'] ) ) { // WPCS: CSRF ok by forminator_validate_ajax.
|
875 |
$form_id = intval( $_POST['id'] );
|
@@ -1149,6 +1193,26 @@ class Forminator_Admin_AJAX {
|
|
1149 |
update_option( 'forminator_retain_votes_interval_unit', $post_data['votes_retention_unit'] );
|
1150 |
// IP Retention
|
1151 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1152 |
/**
|
1153 |
* UNINSTALL PLUGIN
|
1154 |
*/
|
102 |
|
103 |
$submitted_data = $this->get_post_data();
|
104 |
|
105 |
+
$quiz_data = array();
|
106 |
+
if ( isset( $submitted_data['data'] ) ) {
|
107 |
+
$quiz_data = $submitted_data['data'];
|
108 |
+
$quiz_data = json_decode( stripslashes( $quiz_data ), true );
|
109 |
+
}
|
110 |
+
|
111 |
+
$questions = array();
|
112 |
+
$results = array();
|
113 |
+
$settings = array();
|
114 |
+
$msg_count = false;
|
115 |
+
$id = isset( $submitted_data['form_id'] ) ? $submitted_data['form_id'] : null;
|
116 |
+
$id = intval( $id );
|
117 |
+
$title = isset( $submitted_data['quiz_title'] ) ? sanitize_text_field( $submitted_data['quiz_title'] ) : sanitize_text_field( $submitted_data['formName'] );
|
118 |
+
$status = isset( $submitted_data['status'] ) ? sanitize_text_field( $submitted_data['status'] ) : '';
|
119 |
+
$version = isset( $submitted_data['version'] ) ? sanitize_text_field( $submitted_data['version'] ) : '1.0';
|
120 |
|
121 |
if ( is_null( $id ) || $id <= 0 ) {
|
122 |
$form_model = new Forminator_Quiz_Form_Model();
|
123 |
+
if ( empty( $status ) ) {
|
124 |
+
$status = Forminator_Poll_Form_Model::STATUS_PUBLISH;
|
125 |
+
}
|
126 |
} else {
|
127 |
$form_model = Forminator_Quiz_Form_Model::model()->load( $id );
|
128 |
if ( ! is_object( $form_model ) ) {
|
129 |
wp_send_json_error( __( "Quiz model doesn't exist", Forminator::DOMAIN ) );
|
130 |
}
|
131 |
+
if ( empty( $status ) ) {
|
132 |
+
$status = $form_model->status;
|
133 |
+
}
|
134 |
//we need to empty fields cause we will send new data
|
135 |
$form_model->clear_fields();
|
136 |
}
|
137 |
|
|
|
138 |
$action = isset( $submitted_data['action'] ) ? $submitted_data['action'] : '';
|
|
|
|
|
|
|
|
|
|
|
139 |
|
140 |
// Detect action
|
141 |
$form_model->quiz_type = 'knowledge';
|
144 |
}
|
145 |
|
146 |
// Check if results exist
|
147 |
+
if ( isset( $quiz_data['results'] ) && is_array( $quiz_data['results'] ) ) {
|
148 |
+
$results = $quiz_data['results'];
|
149 |
+
foreach ( $quiz_data['results'] as $key => $result ) {
|
150 |
$description = '';
|
151 |
if ( isset( $result['description'] ) ) {
|
152 |
$description = $result['description'];
|
157 |
$form_model->results = $results;
|
158 |
}
|
159 |
|
160 |
+
// Check if answers exist
|
161 |
+
if ( isset( $quiz_data['questions'] ) ) {
|
162 |
+
$questions = forminator_sanitize_field( $quiz_data['questions'] );
|
163 |
+
}
|
164 |
+
|
165 |
// Check if questions exist
|
166 |
+
if ( isset( $questions ) ) {
|
167 |
+
foreach ( $questions as &$question ) {
|
168 |
$question['type'] = $form_model->quiz_type;
|
169 |
if ( ! isset( $question['slug'] ) || empty( $question['slug'] ) ) {
|
170 |
$question['slug'] = uniqid();
|
175 |
$form_model->set_var_in_array( 'name', 'formName', $submitted_data );
|
176 |
|
177 |
// Handle quiz questions
|
178 |
+
$form_model->questions = $questions;
|
179 |
+
|
180 |
+
if( isset( $quiz_data['msg_count'] ) ) {
|
181 |
+
$msg_count = $quiz_data['msg_count']; //Backup, we allow html here
|
182 |
+
}
|
183 |
+
|
184 |
+
if ( isset( $quiz_data['settings'] ) ) {
|
185 |
+
// Sanitize settings
|
186 |
+
$settings = forminator_sanitize_field( $quiz_data['settings'] );
|
187 |
+
}
|
188 |
+
|
189 |
+
// Sanitize admin email message
|
190 |
+
if ( isset( $quiz_data['settings']['admin-email-editor'] ) ) {
|
191 |
+
$settings['admin-email-editor'] = $quiz_data['settings']['admin-email-editor'];
|
192 |
+
}
|
193 |
+
|
194 |
+
// Sanitize quiz description
|
195 |
+
if ( isset( $quiz_data['settings']['quiz_description'] ) ) {
|
196 |
+
$settings['quiz_description'] = $quiz_data['settings']['quiz_description'];
|
197 |
+
}
|
198 |
+
|
199 |
+
// Update with backuped version
|
200 |
+
if( $msg_count ) {
|
201 |
+
$settings['msg_count'] = $msg_count;
|
202 |
}
|
203 |
|
204 |
+
// version
|
205 |
+
$settings['version'] = $version;
|
206 |
+
|
207 |
+
$form_model->settings = $settings;
|
208 |
+
|
209 |
+
$quiz_data['formName'] = $title;
|
210 |
+
|
211 |
+
// status
|
212 |
+
$form_model->status = $status;
|
213 |
|
214 |
// Save data
|
215 |
$id = $form_model->save();
|
584 |
|
585 |
$is_object = false;
|
586 |
|
587 |
+
if ( isset( $_POST['data']['isObject'] ) ) {
|
588 |
+
$is_object = sanitize_text_field( $_POST['data']['isObject'] );
|
589 |
}
|
590 |
$fonts = forminator_get_font_families( $is_object );
|
591 |
wp_send_json_success( $fonts );
|
727 |
$captcha_theme = get_option( "forminator_captcha_theme", "light" );
|
728 |
$html = '';
|
729 |
|
730 |
+
$html = '';
|
731 |
+
|
732 |
if ( ! empty( $captcha_key ) && ! empty( $captcha_theme ) ) {
|
733 |
// phpcs:ignore WordPress.WP.EnqueuedResources.NonEnqueuedScript
|
734 |
+
$html .= '<script src="https://www.google.com/recaptcha/api.js?hl=' . $language . '&render=explicit&onload=forminator_render_admin_captcha" async defer></script>';
|
735 |
|
736 |
$html .= '<div class="forminator-g-recaptcha" data-sitekey="' . $captcha_key . '" data-theme="' . $captcha_theme . '" data-size="normal"></div>';
|
737 |
} else {
|
881 |
|
882 |
$preview_data = false;
|
883 |
// force -1 for preview
|
884 |
+
$form_id = - 1;
|
885 |
|
886 |
if ( isset( $_POST['id'] ) ) { // WPCS: CSRF ok by forminator_validate_ajax.
|
887 |
$form_id = intval( $_POST['id'] );
|
913 |
|
914 |
$preview_data = false;
|
915 |
// force -1 for preview
|
916 |
+
$form_id = - 1;
|
917 |
|
918 |
if ( isset( $_POST['id'] ) ) { // WPCS: CSRF ok by forminator_validate_ajax.
|
919 |
$form_id = intval( $_POST['id'] );
|
1193 |
update_option( 'forminator_retain_votes_interval_unit', $post_data['votes_retention_unit'] );
|
1194 |
// IP Retention
|
1195 |
|
1196 |
+
/**
|
1197 |
+
* QUIZ
|
1198 |
+
*/
|
1199 |
+
// Submissions Retention
|
1200 |
+
$quiz_retain_submissions_forever = filter_var( $post_data['quiz_retain_submission_forever'], FILTER_VALIDATE_BOOLEAN );
|
1201 |
+
if ( $quiz_retain_submissions_forever ) {
|
1202 |
+
$post_data['quiz_submissions_retention_number'] = 0;
|
1203 |
+
}
|
1204 |
+
if ( isset( $post_data['quiz_submissions_retention_number'] ) ) {
|
1205 |
+
$post_data['quiz_submissions_retention_number'] = sanitize_text_field( $post_data['quiz_submissions_retention_number'] );
|
1206 |
+
$post_data['quiz_submissions_retention_unit'] = sanitize_text_field( $post_data['quiz_submissions_retention_unit'] );
|
1207 |
+
$quiz_submissions_retention_number = intval( $post_data['quiz_submissions_retention_number'] );
|
1208 |
+
if ( $quiz_submissions_retention_number < 0 ) {
|
1209 |
+
$quiz_submissions_retention_number = 0;
|
1210 |
+
}
|
1211 |
+
update_option( 'forminator_retain_quiz_submissions_interval_number', $quiz_submissions_retention_number );
|
1212 |
+
}
|
1213 |
+
update_option( 'forminator_retain_quiz_submissions_interval_unit', $post_data['quiz_submissions_retention_unit'] );
|
1214 |
+
// Submissions Retention
|
1215 |
+
|
1216 |
/**
|
1217 |
* UNINSTALL PLUGIN
|
1218 |
*/
|
admin/classes/class-admin-data.php
CHANGED
@@ -70,36 +70,41 @@ class Forminator_Admin_Data {
|
|
70 |
Forminator_Addon_Admin_Ajax::get_instance()->generate_nonce();
|
71 |
|
72 |
return array(
|
73 |
-
'ajaxUrl'
|
74 |
-
'application'
|
75 |
-
'is_touch'
|
76 |
-
'dashboardUrl'
|
77 |
-
'formEditUrl'
|
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 |
}
|
70 |
Forminator_Addon_Admin_Ajax::get_instance()->generate_nonce();
|
71 |
|
72 |
return array(
|
73 |
+
'ajaxUrl' => forminator_ajax_url(),
|
74 |
+
'application' => '',
|
75 |
+
'is_touch' => wp_is_mobile(),
|
76 |
+
'dashboardUrl' => menu_page_url( 'forminator', false ),
|
77 |
+
'formEditUrl' => menu_page_url( 'forminator-cform-wizard', false ),
|
78 |
+
'noWrongEditUrl' => menu_page_url( 'forminator-nowrong-wizard', false ),
|
79 |
+
'knowledgeEditUrl' => menu_page_url( 'forminator-knowledge-wizard', false ),
|
80 |
+
'pollEditUrl' => menu_page_url( 'forminator-poll-wizard', false ),
|
81 |
+
'settingsUrl' => menu_page_url( 'forminator-settings', false ),
|
82 |
+
'hasCaptcha' => forminator_has_captcha_settings(),
|
83 |
+
'formNonce' => $this->get_nonce(),
|
84 |
+
'searchNonce' => wp_create_nonce( 'forminator_search_emails' ),
|
85 |
+
'gFontNonce' => wp_create_nonce( 'forminator_load_google_fonts' ),
|
86 |
+
'addons_enabled' => Forminator::is_addons_feature_enabled(),
|
87 |
+
'pluginUrl' => forminator_plugin_url(),
|
88 |
+
'imagesUrl' => forminator_plugin_url() . '/assets/images',
|
89 |
+
'addonNonce' => Forminator_Addon_Admin_Ajax::get_instance()->get_nonce(),
|
90 |
+
'countries' => forminator_get_countries_list(),
|
91 |
+
'userList' => forminator_list_users(),
|
92 |
+
'variables' => forminator_get_vars(),
|
93 |
+
'maxUpload' => forminator_get_max_upload(),
|
94 |
+
'captchaLangs' => forminator_get_captcha_languages(),
|
95 |
+
'erasure' => get_option( 'forminator_enable_erasure_request_erase_form_submissions', false ),
|
96 |
+
'retain_number' => get_option( 'forminator_retain_submissions_interval_number', 0 ),
|
97 |
+
'retain_unit' => get_option( 'forminator_retain_submissions_interval_unit', 'days' ),
|
98 |
+
'poll_ip_retain_number' => get_option( 'forminator_retain_votes_interval_number', 0 ),
|
99 |
+
'poll_ip_retain_unit' => get_option( 'forminator_retain_votes_interval_unit', 'days' ),
|
100 |
+
'submissions_ip_retain_number' => get_option( 'forminator_retain_poll_submissions_interval_number', 0 ),
|
101 |
+
'submissions_ip_retain_unit' => get_option( 'forminator_retain_poll_submissions_interval_unit', 'days' ),
|
102 |
+
'submissions_quiz_retain_number' => get_option( 'forminator_retain_quiz_submissions_interval_number', 0 ),
|
103 |
+
'submissions_quiz_retain_unit' => get_option( 'forminator_retain_quiz_submissions_interval_unit', 'days' ),
|
104 |
+
'fileExts' => forminator_get_ext_types(),
|
105 |
+
'version' => FORMINATOR_VERSION,
|
106 |
+
'showDocLink' => forminator_is_show_documentation_link(),
|
107 |
+
'showBranding' => forminator_is_show_branding(),
|
108 |
);
|
109 |
}
|
110 |
}
|
admin/classes/class-admin-l10n.php
CHANGED
@@ -47,7 +47,6 @@ class Forminator_Admin_L10n {
|
|
47 |
"date" => __( "Date", Forminator::DOMAIN ),
|
48 |
"clear_all" => __( "Clear All", Forminator::DOMAIN ),
|
49 |
"your_exports" => __( "Your exports", Forminator::DOMAIN ),
|
50 |
-
"quiz_type" => __( "Choose Quiz Type", Forminator::DOMAIN ),
|
51 |
"edit_login_form" => __( "Edit Login or Register form", Forminator::DOMAIN ),
|
52 |
"edit_scheduled_export" => __( "Edit Scheduled Export", Forminator::DOMAIN ),
|
53 |
"frequency" => __( "Frequency", Forminator::DOMAIN ),
|
@@ -113,13 +112,25 @@ class Forminator_Admin_L10n {
|
|
113 |
"enter_name" => __( 'Enter a name', Forminator::DOMAIN ),
|
114 |
"new_form_desc2" => __( 'Name your new form, then lets start building!', Forminator::DOMAIN ),
|
115 |
"new_poll_desc2" => __( 'Name your new poll, then lets start building!', Forminator::DOMAIN ),
|
|
|
116 |
"input_label" => __( 'Input Label', Forminator::DOMAIN ),
|
117 |
"form_name_validation" => __( 'Form name cannot be empty.', Forminator::DOMAIN ),
|
118 |
"poll_name_validation" => __( 'Poll name cannot be empty.', Forminator::DOMAIN ),
|
|
|
119 |
"new_form_placeholder" => __( 'E.g. Blank Form', Forminator::DOMAIN ),
|
120 |
"new_poll_placeholder" => __( 'E.g. Blank Poll', Forminator::DOMAIN ),
|
|
|
121 |
"create" => __( 'Create', Forminator::DOMAIN )
|
122 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
123 |
"sidebar" => array(
|
124 |
"label" => __( "Label", Forminator::DOMAIN ),
|
125 |
"value" => __( "Value", Forminator::DOMAIN ),
|
47 |
"date" => __( "Date", Forminator::DOMAIN ),
|
48 |
"clear_all" => __( "Clear All", Forminator::DOMAIN ),
|
49 |
"your_exports" => __( "Your exports", Forminator::DOMAIN ),
|
|
|
50 |
"edit_login_form" => __( "Edit Login or Register form", Forminator::DOMAIN ),
|
51 |
"edit_scheduled_export" => __( "Edit Scheduled Export", Forminator::DOMAIN ),
|
52 |
"frequency" => __( "Frequency", Forminator::DOMAIN ),
|
112 |
"enter_name" => __( 'Enter a name', Forminator::DOMAIN ),
|
113 |
"new_form_desc2" => __( 'Name your new form, then lets start building!', Forminator::DOMAIN ),
|
114 |
"new_poll_desc2" => __( 'Name your new poll, then lets start building!', Forminator::DOMAIN ),
|
115 |
+
"new_quiz_desc2" => __( 'Choose a name for your new quiz, then start adding questions and answers!'),
|
116 |
"input_label" => __( 'Input Label', Forminator::DOMAIN ),
|
117 |
"form_name_validation" => __( 'Form name cannot be empty.', Forminator::DOMAIN ),
|
118 |
"poll_name_validation" => __( 'Poll name cannot be empty.', Forminator::DOMAIN ),
|
119 |
+
"quiz_name_validation" => __( 'Quiz name cannot be empty.', Forminator::DOMAIN ),
|
120 |
"new_form_placeholder" => __( 'E.g. Blank Form', Forminator::DOMAIN ),
|
121 |
"new_poll_placeholder" => __( 'E.g. Blank Poll', Forminator::DOMAIN ),
|
122 |
+
"new_quiz_placeholder" => __( 'E.g. My Awesome Quiz', Forminator::DOMAIN ),
|
123 |
"create" => __( 'Create', Forminator::DOMAIN )
|
124 |
),
|
125 |
+
"quiz" => array(
|
126 |
+
"choose_quiz_title" => __( 'Choose Quiz Type', Forminator::DOMAIN ),
|
127 |
+
"choose_quiz_description" => __( "Let's start by choosing an appropriate quiz type based on your goal.", Forminator::DOMAIN ),
|
128 |
+
"knowledge_label" => __( 'Knowledge Quiz', Forminator::DOMAIN ),
|
129 |
+
"knowledge_description" => __( 'Test the knowledge of your visitors on a subject and final score is calculated based on number of right answers. E.g. Test your music knowledge.', Forminator::DOMAIN ),
|
130 |
+
"nowrong_label" => __( 'Personality Quiz', Forminator::DOMAIN ),
|
131 |
+
"nowrong_description" => __( "Show different outcomes depending on the visitor's answers. There are no wrong answers. E.g. Which superhero are you?", Forminator::DOMAIN ),
|
132 |
+
"continue_button" => __( 'Continue', Forminator::DOMAIN ),
|
133 |
+
),
|
134 |
"sidebar" => array(
|
135 |
"label" => __( "Label", Forminator::DOMAIN ),
|
136 |
"value" => __( "Value", Forminator::DOMAIN ),
|
admin/locale.php
CHANGED
@@ -167,10 +167,10 @@ $forminator_admin_locale = array(
|
|
167 |
"null" => array( null, __("null", "forminator" ), ), // src/form/components/builder/field.js:600
|
168 |
"more condition(s)" => array( null, __("more condition(s)", "forminator" ), ), // src/form/components/builder/field.js:641
|
169 |
"if" => array( null, __("if", "forminator" ), ), // src/form/components/builder/field.js:646
|
170 |
-
"Field options" => array( null, __("Field options", "forminator" ), ), // src/form/components/builder/field.js:
|
171 |
-
"Edit Field" => array( null, __("Edit Field", "forminator" ), ), // src/form/components/builder/field.js:
|
172 |
-
"Duplicate" => array( null, __("Duplicate", "forminator" ), ), // src/form/components/builder/field.js:
|
173 |
-
"Delete" => array( null, __("Delete", "forminator" ), ), // src/form/components/builder/field.js:
|
174 |
"Insert Fields" => array( null, __("Insert Fields", "forminator" ), ), // src/form/components/builder/insert-fields.js:17
|
175 |
"A form without fields isn’t going to be very useful… Add your first field above!" => array( null, __("A form without fields isn’t going to be very useful… Add your first field above!", "forminator" ), ), // src/form/components/builder/insert-fields.js:64
|
176 |
"Submit" => array( null, __("Submit", "forminator" ), ), // src/form/components/builder/submit.js:120
|
@@ -540,29 +540,143 @@ $forminator_admin_locale = array(
|
|
540 |
"Choose how long to retain IP address before a submission is anonymized. Keep in mind that the IP address is being used in checking multiple votes from same user." => array( null, __("Choose how long to retain IP address before a submission is anonymized. Keep in mind that the IP address is being used in checking multiple votes from same user.", "forminator" ), ), // src/poll/components/settings/privacy.js:155
|
541 |
"Your default setting keep the IPs %s." => array( null, __("Your default setting keep the IPs %s.", "forminator" ), ), // src/poll/components/settings/privacy.js:176
|
542 |
"Leave the field blank to keep IPs forever." => array( null, __("Leave the field blank to keep IPs forever.", "forminator" ), ), // src/poll/components/settings/privacy.js:225
|
543 |
-
"
|
544 |
-
"
|
545 |
-
"
|
546 |
-
"
|
547 |
-
"
|
548 |
-
"
|
549 |
-
"
|
550 |
-
"
|
551 |
-
"
|
552 |
-
"
|
553 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
554 |
"Remove this date range" => array( null, __("Remove this date range", "forminator" ), ), // src/settings/inputs/date-picker.js:73
|
555 |
-
"
|
556 |
-
"
|
557 |
-
"Upload
|
558 |
-
"
|
559 |
-
"Remove uploaded
|
560 |
-
"
|
561 |
-
"
|
562 |
-
"
|
563 |
-
"
|
564 |
-
"
|
565 |
-
"
|
|
|
566 |
"is having" => array( null, __("is having", "forminator" ), ), // src/utils.js:630
|
567 |
"is" => array( null, __("is", "forminator" ), ), // src/utils.js:633
|
568 |
"is not having" => array( null, __("is not having", "forminator" ), ), // src/utils.js:637
|
167 |
"null" => array( null, __("null", "forminator" ), ), // src/form/components/builder/field.js:600
|
168 |
"more condition(s)" => array( null, __("more condition(s)", "forminator" ), ), // src/form/components/builder/field.js:641
|
169 |
"if" => array( null, __("if", "forminator" ), ), // src/form/components/builder/field.js:646
|
170 |
+
"Field options" => array( null, __("Field options", "forminator" ), ), // src/form/components/builder/field.js:752
|
171 |
+
"Edit Field" => array( null, __("Edit Field", "forminator" ), ), // src/form/components/builder/field.js:762
|
172 |
+
"Duplicate" => array( null, __("Duplicate", "forminator" ), ), // src/form/components/builder/field.js:769
|
173 |
+
"Delete" => array( null, __("Delete", "forminator" ), ), // src/form/components/builder/field.js:776
|
174 |
"Insert Fields" => array( null, __("Insert Fields", "forminator" ), ), // src/form/components/builder/insert-fields.js:17
|
175 |
"A form without fields isn’t going to be very useful… Add your first field above!" => array( null, __("A form without fields isn’t going to be very useful… Add your first field above!", "forminator" ), ), // src/form/components/builder/insert-fields.js:64
|
176 |
"Submit" => array( null, __("Submit", "forminator" ), ), // src/form/components/builder/submit.js:120
|
540 |
"Choose how long to retain IP address before a submission is anonymized. Keep in mind that the IP address is being used in checking multiple votes from same user." => array( null, __("Choose how long to retain IP address before a submission is anonymized. Keep in mind that the IP address is being used in checking multiple votes from same user.", "forminator" ), ), // src/poll/components/settings/privacy.js:155
|
541 |
"Your default setting keep the IPs %s." => array( null, __("Your default setting keep the IPs %s.", "forminator" ), ), // src/poll/components/settings/privacy.js:176
|
542 |
"Leave the field blank to keep IPs forever." => array( null, __("Leave the field blank to keep IPs forever.", "forminator" ), ), // src/poll/components/settings/privacy.js:225
|
543 |
+
"Choose a pre-made style for your quiz and further customize it's appearance below." => array( null, __("Choose a pre-made style for your quiz and further customize it's appearance below.", "forminator" ), ), // src/quiz/global/components/appearance/design-style.js:18
|
544 |
+
"Question text?" => array( null, __("Question text?", "forminator" ), ), // src/quiz/global/components/appearance/design-style/bold.js:14
|
545 |
+
"Option Unselected" => array( null, __("Option Unselected", "forminator" ), ), // src/quiz/global/components/appearance/design-style/bold.js:20
|
546 |
+
"Option Selected" => array( null, __("Option Selected", "forminator" ), ), // src/quiz/global/components/appearance/design-style/bold.js:32
|
547 |
+
"You have opted for no stylesheet to be enqueued. The quiz will inherit styles from your theme's CSS." => array( null, __("You have opted for no stylesheet to be enqueued. The quiz will inherit styles from your theme's CSS.", "forminator" ), ), // src/quiz/global/components/appearance/design-style/none.js:13
|
548 |
+
"Options Layout" => array( null, __("Options Layout", "forminator" ), ), // src/quiz/global/components/appearance/options-layout.js:12
|
549 |
+
"Choose how you want to display the quiz options to the viewers." => array( null, __("Choose how you want to display the quiz options to the viewers.", "forminator" ), ), // src/quiz/global/components/appearance/options-layout.js:13
|
550 |
+
"List" => array( null, __("List", "forminator" ), ), // src/quiz/global/components/appearance/options-layout.js:30
|
551 |
+
"Grid" => array( null, __("Grid", "forminator" ), ), // src/quiz/global/components/appearance/options-layout.js:39
|
552 |
+
"Messages" => array( null, __("Messages", "forminator" ), ), // src/quiz/global/components/behaviour/messages.js:12
|
553 |
+
"Choose the copy of the messages for the correct and wrong answers and also for the final score count." => array( null, __("Choose the copy of the messages for the correct and wrong answers and also for the final score count.", "forminator" ), ), // src/quiz/global/components/behaviour/messages.js:15
|
554 |
+
"Correct Answer Message" => array( null, __("Correct Answer Message", "forminator" ), ), // src/quiz/global/components/behaviour/messages.js:22
|
555 |
+
"Use %UserAnswer% and %CorrectAnswer% to display the answer chosen by the user and the correct answer for each question respectively." => array( null, __("Use %UserAnswer% and %CorrectAnswer% to display the answer chosen by the user and the correct answer for each question respectively.", "forminator" ), ), // src/quiz/global/components/behaviour/messages.js:23
|
556 |
+
"Incorrect Answer Message" => array( null, __("Incorrect Answer Message", "forminator" ), ), // src/quiz/global/components/behaviour/messages.js:30
|
557 |
+
"Final Count Message" => array( null, __("Final Count Message", "forminator" ), ), // src/quiz/global/components/behaviour/messages.js:38
|
558 |
+
"Final count message will appear after the quiz is complete. Use %YourNum% to display number of correct answers and %Total% for total number of questions." => array( null, __("Final count message will appear after the quiz is complete. Use %YourNum% to display number of correct answers and %Total% for total number of questions.", "forminator" ), ), // src/quiz/global/components/behaviour/messages.js:39
|
559 |
+
"Quiz Name" => array( null, __("Quiz Name", "forminator" ), ), // src/quiz/global/components/behaviour/messages.js:45
|
560 |
+
"Quiz Answer" => array( null, __("Quiz Answer", "forminator" ), ), // src/quiz/global/components/behaviour/messages.js:46
|
561 |
+
"Quiz Result" => array( null, __("Quiz Result", "forminator" ), ), // src/quiz/global/components/behaviour/messages.js:47
|
562 |
+
"Load quiz using AJAX" => array( null, __("Load quiz using AJAX", "forminator" ), ), // src/quiz/global/components/behaviour/render.js:22
|
563 |
+
"Enabling this feature will load the quiz via AJAX after the page has loaded up, effectively speeding up your page load time. This method can also (in most cases) avoid page caching issues with your quiz." => array( null, __("Enabling this feature will load the quiz via AJAX after the page has loaded up, effectively speeding up your page load time. This method can also (in most cases) avoid page caching issues with your quiz.", "forminator" ), ), // src/quiz/global/components/behaviour/render.js:23
|
564 |
+
"Prevent page caching on quiz pages" => array( null, __("Prevent page caching on quiz pages", "forminator" ), ), // src/quiz/global/components/behaviour/render.js:34
|
565 |
+
"Page caching plugins serve a static HTML version of the page which can cause issues to your dynamic quizzes. By enabling this, we'll use {{strong}}DONOTCACHEPAGE{{/strong}} constant to prevent pages with this quiz on it from being cached." => array( null, __("Page caching plugins serve a static HTML version of the page which can cause issues to your dynamic quizzes. By enabling this, we'll use {{strong}}DONOTCACHEPAGE{{/strong}} constant to prevent pages with this quiz on it from being cached.", "forminator" ), ), // src/quiz/global/components/behaviour/render.js:35
|
566 |
+
"Choose whether to display the correct answer as the user answers each question or after the quiz is submitted." => array( null, __("Choose whether to display the correct answer as the user answers each question or after the quiz is submitted.", "forminator" ), ), // src/quiz/global/components/behaviour/results.js:14
|
567 |
+
"Real Time" => array( null, __("Real Time", "forminator" ), ), // src/quiz/global/components/behaviour/results.js:24
|
568 |
+
"On Submission" => array( null, __("On Submission", "forminator" ), ), // src/quiz/global/components/behaviour/results.js:25
|
569 |
+
"Social Sharing" => array( null, __("Social Sharing", "forminator" ), ), // src/quiz/global/components/behaviour/share.js:14
|
570 |
+
"Choose whether you want to allow the quiz participants to share their results on social media." => array( null, __("Choose whether you want to allow the quiz participants to share their results on social media.", "forminator" ), ), // src/quiz/global/components/behaviour/share.js:15
|
571 |
+
"Enable" => array( null, __("Enable", "forminator" ), ), // src/quiz/global/components/behaviour/share.js:31
|
572 |
+
"Disable" => array( null, __("Disable", "forminator" ), ), // src/quiz/global/components/behaviour/share.js:36
|
573 |
+
"Social Sharing Platforms" => array( null, __("Social Sharing Platforms", "forminator" ), ), // src/quiz/global/components/behaviour/social-sharing/social-enable.js:19
|
574 |
+
"Facebook" => array( null, __("Facebook", "forminator" ), ), // src/quiz/global/components/behaviour/social-sharing/social-enable.js:25
|
575 |
+
"Twitter" => array( null, __("Twitter", "forminator" ), ), // src/quiz/global/components/behaviour/social-sharing/social-enable.js:33
|
576 |
+
"Google+" => array( null, __("Google+", "forminator" ), ), // src/quiz/global/components/behaviour/social-sharing/social-enable.js:41
|
577 |
+
"LinkedIn" => array( null, __("LinkedIn", "forminator" ), ), // src/quiz/global/components/behaviour/social-sharing/social-enable.js:49
|
578 |
+
"Want to enhance how the result will look when shared on Social Media? {{link}}SmartCrawl{{/link}} OpenGraph and Twitter Card support lets you choose how your content looks when it's shared on social media." => array( null, __("Want to enhance how the result will look when shared on Social Media? {{link}}SmartCrawl{{/link}} OpenGraph and Twitter Card support lets you choose how your content looks when it's shared on social media.", "forminator" ), ), // src/quiz/global/components/behaviour/social-sharing/social-enable.js:63
|
579 |
+
"Correct Answer" => array( null, __("Correct Answer", "forminator" ), ), // src/quiz/global/components/builder/answer.js:106
|
580 |
+
"Select Personality" => array( null, __("Select Personality", "forminator" ), ), // src/quiz/global/components/builder/answer.js:117
|
581 |
+
"Open field settings" => array( null, __("Open field settings", "forminator" ), ), // src/quiz/global/components/builder/question.js:134
|
582 |
+
"Edit" => array( null, __("Edit", "forminator" ), ), // src/quiz/global/components/builder/question.js:141
|
583 |
+
"Add Question" => array( null, __("Add Question", "forminator" ), ), // src/quiz/global/components/builder/questions.js:103
|
584 |
+
"A quiz without questions is not going to be very useful… Add your questions above!" => array( null, __("A quiz without questions is not going to be very useful… Add your questions above!", "forminator" ), ), // src/quiz/global/components/builder/questions.js:109
|
585 |
+
"Edit Quiz" => array( null, __("Edit Quiz", "forminator" ), ), // src/quiz/global/components/header.js:9
|
586 |
+
"Give your quiz a name" => array( null, __("Give your quiz a name", "forminator" ), ), // src/quiz/global/components/header/title.js:32
|
587 |
+
"You need to save this quiz before using integrations." => array( null, __("You need to save this quiz before using integrations.", "forminator" ), ), // src/quiz/global/components/integrations.js:113
|
588 |
+
"Intro" => array( null, __("Intro", "forminator" ), ), // src/quiz/global/components/intro.js:29
|
589 |
+
"Start by adding a title for your quiz to let your visitors know what this quiz is all about." => array( null, __("Start by adding a title for your quiz to let your visitors know what this quiz is all about.", "forminator" ), ), // src/quiz/global/components/intro.js:40
|
590 |
+
"Which superhero are you?" => array( null, __("Which superhero are you?", "forminator" ), ), // src/quiz/global/components/intro.js:55
|
591 |
+
"Choose a title to grab the attention of your visitors." => array( null, __("Choose a title to grab the attention of your visitors.", "forminator" ), ), // src/quiz/global/components/intro.js:56
|
592 |
+
"Feature Image" => array( null, __("Feature Image", "forminator" ), ), // src/quiz/global/components/intro.js:68
|
593 |
+
"Upload a nice feature image for your quiz." => array( null, __("Upload a nice feature image for your quiz.", "forminator" ), ), // src/quiz/global/components/intro.js:71
|
594 |
+
"Upload Feature Image" => array( null, __("Upload Feature Image", "forminator" ), ), // src/quiz/global/components/intro.js:84
|
595 |
+
"Description" => array( null, __("Description", "forminator" ), ), // src/quiz/global/components/intro.js:97
|
596 |
+
"Provide your visitors with more information about your quiz." => array( null, __("Provide your visitors with more information about your quiz.", "forminator" ), ), // src/quiz/global/components/intro.js:100
|
597 |
+
"Questions" => array( null, __("Questions", "forminator" ), ), // src/quiz/global/components/intro.js:136
|
598 |
+
"Personalities" => array( null, __("Personalities", "forminator" ), ), // src/quiz/global/components/intro.js:146
|
599 |
+
"Delete Personality" => array( null, __("Delete Personality", "forminator" ), ), // src/quiz/global/components/modals/delete-personality.js:26
|
600 |
+
"Are you sure you wish to delete this Personality? Questions in your quiz may end up with the answers without any associated Personality." => array( null, __("Are you sure you wish to delete this Personality? Questions in your quiz may end up with the answers without any associated Personality.", "forminator" ), ), // src/quiz/global/components/modals/delete-personality.js:38
|
601 |
+
"Delete Question" => array( null, __("Delete Question", "forminator" ), ), // src/quiz/global/components/modals/delete.js:26
|
602 |
+
"Deleting this question will remove its value from the existing submissions as well." => array( null, __("Deleting this question will remove its value from the existing submissions as well.", "forminator" ), ), // src/quiz/global/components/modals/delete.js:38
|
603 |
+
"Add Personality" => array( null, __("Add Personality", "forminator" ), ), // src/quiz/global/components/modals/personality.js:60
|
604 |
+
"Edit Personality" => array( null, __("Edit Personality", "forminator" ), ), // src/quiz/global/components/modals/personality.js:61
|
605 |
+
"E.g. Iron Man" => array( null, __("E.g. Iron Man", "forminator" ), ), // src/quiz/global/components/modals/personality.js:97
|
606 |
+
"Image" => array( null, __("Image", "forminator" ), ), // src/quiz/global/components/modals/personality.js:112
|
607 |
+
"Please validate your fields!" => array( null, __("Please validate your fields!", "forminator" ), ), // src/quiz/global/components/modals/personality.js:167
|
608 |
+
"Publishing quiz…" => array( null, __("Publishing quiz…", "forminator" ), ), // src/quiz/global/components/modals/publish.js:18
|
609 |
+
"Great work! Please hold tight a few moments while we publish your quiz to the world." => array( null, __("Great work! Please hold tight a few moments while we publish your quiz to the world.", "forminator" ), ), // src/quiz/global/components/modals/publish.js:24
|
610 |
+
"Edit Question" => array( null, __("Edit Question", "forminator" ), ), // src/quiz/global/components/modals/question.js:105
|
611 |
+
"You can choose multiple correct answers if that applies to this question. Note that the user's selection will be considered as right when any one of the correct answers is selected." => array( null, __("You can choose multiple correct answers if that applies to this question. Note that the user's selection will be considered as right when any one of the correct answers is selected.", "forminator" ), ), // src/quiz/global/components/modals/question.js:166
|
612 |
+
"Your quiz is now ready to be embedded into a page or template of your choice. Simply copy and paste the shortcode below to display it!" => array( null, __("Your quiz is now ready to be embedded into a page or template of your choice. Simply copy and paste the shortcode below to display it!", "forminator" ), ), // src/quiz/global/components/modals/shortcode.js:37
|
613 |
+
"Button Processing Text" => array( null, __("Button Processing Text", "forminator" ), ), // src/quiz/global/components/modals/submit.js:64
|
614 |
+
"Sending..." => array( null, __("Sending...", "forminator" ), ), // src/quiz/global/components/modals/submit.js:65
|
615 |
+
"This text will appear as button text while the quiz is being submitted." => array( null, __("This text will appear as button text while the quiz is being submitted.", "forminator" ), ), // src/quiz/global/components/modals/submit.js:67
|
616 |
+
"Custom CSS Classes" => array( null, __("Custom CSS Classes", "forminator" ), ), // src/quiz/global/components/modals/submit.js:77
|
617 |
+
"E.g. form-submit-btn" => array( null, __("E.g. form-submit-btn", "forminator" ), ), // src/quiz/global/components/modals/submit.js:78
|
618 |
+
"These will be output as you see them here. To add multiple classes, separate them with a space. For example, \"form-submit-btn button\" will add two classes \"form-submit-btn\" and \"button\"." => array( null, __("These will be output as you see them here. To add multiple classes, separate them with a space. For example, \"form-submit-btn button\" will add two classes \"form-submit-btn\" and \"button\".", "forminator" ), ), // src/quiz/global/components/modals/submit.js:80
|
619 |
+
"Optionally, you can send a notification email to nominated email accounts when quiz submissions come in." => array( null, __("Optionally, you can send a notification email to nominated email accounts when quiz submissions come in.", "forminator" ), ), // src/quiz/global/components/notifications/admin-email.js:243
|
620 |
+
"Add as many emails as you like" => array( null, __("Add as many emails as you like", "forminator" ), ), // src/quiz/global/components/notifications/admin-email.js:296
|
621 |
+
"Choose how you want to handle this quiz’s data storage. By default we'll use the configuration you've set in your {{link}}global privacy settings{{/link}}." => array( null, __("Choose how you want to handle this quiz’s data storage. By default we'll use the configuration you've set in your {{link}}global privacy settings{{/link}}.", "forminator" ), ), // src/quiz/global/components/settings/privacy.js:34
|
622 |
+
"How long do you want to retain this quiz's submissions for?" => array( null, __("How long do you want to retain this quiz's submissions for?", "forminator" ), ), // src/quiz/global/components/settings/privacy.js:52
|
623 |
+
"Wrong" => array( null, __("Wrong", "forminator" ), ), // src/quiz/knowledge/components/appearance/colors/answer-checkbox.js:91
|
624 |
+
"Answer text color" => array( null, __("Answer text color", "forminator" ), ), // src/quiz/knowledge/components/appearance/colors/answer-text.js:28
|
625 |
+
"Answer result message" => array( null, __("Answer result message", "forminator" ), ), // src/quiz/knowledge/components/appearance/colors/answer-text.js:34
|
626 |
+
"Quiz result color" => array( null, __("Quiz result color", "forminator" ), ), // src/quiz/knowledge/components/appearance/colors/basic.js:39
|
627 |
+
"Answer - Container" => array( null, __("Answer - Container", "forminator" ), ), // src/quiz/knowledge/components/appearance/colors/colors-table.js:31
|
628 |
+
"Answer - Checkbox" => array( null, __("Answer - Checkbox", "forminator" ), ), // src/quiz/knowledge/components/appearance/colors/colors-table.js:38
|
629 |
+
"Answer - Text" => array( null, __("Answer - Text", "forminator" ), ), // src/quiz/knowledge/components/appearance/colors/colors-table.js:45
|
630 |
+
"Social Share" => array( null, __("Social Share", "forminator" ), ), // src/quiz/knowledge/components/appearance/colors/colors-table.js:59
|
631 |
+
"Label color" => array( null, __("Label color", "forminator" ), ), // src/quiz/knowledge/components/appearance/colors/submit.js:35
|
632 |
+
"By default this quiz will inherit the fonts your theme uses. You can override these fonts with custom ones from Google Fonts." => array( null, __("By default this quiz will inherit the fonts your theme uses. You can override these fonts with custom ones from Google Fonts.", "forminator" ), ), // src/quiz/knowledge/components/appearance/fonts.js:15
|
633 |
+
"Quiz Title" => array( null, __("Quiz Title", "forminator" ), ), // src/quiz/knowledge/components/appearance/fonts/fonts-table.js:31
|
634 |
+
"Quiz Description" => array( null, __("Quiz Description", "forminator" ), ), // src/quiz/knowledge/components/appearance/fonts/fonts-table.js:38
|
635 |
+
"Answer" => array( null, __("Answer", "forminator" ), ), // src/quiz/knowledge/components/appearance/fonts/fonts-table.js:52
|
636 |
+
"Answer Result Message" => array( null, __("Answer Result Message", "forminator" ), ), // src/quiz/knowledge/components/appearance/fonts/fonts-table.js:59
|
637 |
+
"Social Share Title" => array( null, __("Social Share Title", "forminator" ), ), // src/quiz/knowledge/components/appearance/fonts/fonts-table.js:80
|
638 |
+
"Social Share Icons" => array( null, __("Social Share Icons", "forminator" ), ), // src/quiz/knowledge/components/appearance/fonts/fonts-table.js:87
|
639 |
+
"Icon size" => array( null, __("Icon size", "forminator" ), ), // src/quiz/knowledge/components/appearance/fonts/social-icons.js:18
|
640 |
+
"Choose one of the pre-defined sizes we have for social share icons." => array( null, __("Choose one of the pre-defined sizes we have for social share icons.", "forminator" ), ), // src/quiz/knowledge/components/appearance/fonts/social-icons.js:19
|
641 |
+
"Regular" => array( null, __("Regular", "forminator" ), ), // src/quiz/knowledge/components/appearance/fonts/social-icons.js:24
|
642 |
+
"Medium" => array( null, __("Medium", "forminator" ), ), // src/quiz/knowledge/components/appearance/fonts/social-icons.js:25
|
643 |
+
"Large" => array( null, __("Large", "forminator" ), ), // src/quiz/knowledge/components/appearance/fonts/social-icons.js:26
|
644 |
+
"Retake Button" => array( null, __("Retake Button", "forminator" ), ), // src/quiz/personality/components/appearance/colors/colors-table.js:68
|
645 |
+
"Main" => array( null, __("Main", "forminator" ), ), // src/quiz/personality/components/appearance/colors/quiz-result.js:24
|
646 |
+
"Container border" => array( null, __("Container border", "forminator" ), ), // src/quiz/personality/components/appearance/colors/quiz-result.js:29
|
647 |
+
"Container background" => array( null, __("Container background", "forminator" ), ), // src/quiz/personality/components/appearance/colors/quiz-result.js:37
|
648 |
+
"Header" => array( null, __("Header", "forminator" ), ), // src/quiz/personality/components/appearance/colors/quiz-result.js:47
|
649 |
+
"Content background" => array( null, __("Content background", "forminator" ), ), // src/quiz/personality/components/appearance/colors/quiz-result.js:88
|
650 |
+
"Retake" => array( null, __("Retake", "forminator" ), ), // src/quiz/personality/components/appearance/fonts/quiz-result.js:36
|
651 |
+
"Let's add the different personalities. Each of the following personality is a possible outcome of your quiz. In case of a tie, the personality is chosen as per their order below." => array( null, __("Let's add the different personalities. Each of the following personality is a possible outcome of your quiz. In case of a tie, the personality is chosen as per their order below.", "forminator" ), ), // src/quiz/personality/components/personalities.js:33
|
652 |
+
"Reorder the personalities to set the priority order." => array( null, __("Reorder the personalities to set the priority order.", "forminator" ), ), // src/quiz/personality/components/personalities.js:50
|
653 |
+
"Define the different personalities possible as the outcome of your quiz here." => array( null, __("Define the different personalities possible as the outcome of your quiz here.", "forminator" ), ), // src/quiz/personality/components/personalities/personalities.js:104
|
654 |
+
"Basic selectors" => array( null, __("Basic selectors", "forminator" ), ), // src/settings/inputs/ace-editor.js:62
|
655 |
+
"Form" => array( null, __("Form", "forminator" ), ), // src/settings/inputs/ace-editor.js:67
|
656 |
+
"Section Title" => array( null, __("Section Title", "forminator" ), ), // src/settings/inputs/ace-editor.js:74
|
657 |
+
"Field Description" => array( null, __("Field Description", "forminator" ), ), // src/settings/inputs/ace-editor.js:95
|
658 |
+
"Input" => array( null, __("Input", "forminator" ), ), // src/settings/inputs/ace-editor.js:102
|
659 |
+
"Textarea" => array( null, __("Textarea", "forminator" ), ), // src/settings/inputs/ace-editor.js:109
|
660 |
+
"Poll" => array( null, __("Poll", "forminator" ), ), // src/settings/inputs/ace-editor.js:122
|
661 |
+
"Answer Input" => array( null, __("Answer Input", "forminator" ), ), // src/settings/inputs/ace-editor.js:132
|
662 |
+
"Answer Label" => array( null, __("Answer Label", "forminator" ), ), // src/settings/inputs/ace-editor.js:137
|
663 |
+
"View Results Link" => array( null, __("View Results Link", "forminator" ), ), // src/settings/inputs/ace-editor.js:147
|
664 |
+
"Quiz" => array( null, __("Quiz", "forminator" ), ), // src/settings/inputs/ace-editor.js:160
|
665 |
+
"Answer Container" => array( null, __("Answer Container", "forminator" ), ), // src/settings/inputs/ace-editor.js:180
|
666 |
+
"Answer Text" => array( null, __("Answer Text", "forminator" ), ), // src/settings/inputs/ace-editor.js:187
|
667 |
"Remove this date range" => array( null, __("Remove this date range", "forminator" ), ), // src/settings/inputs/date-picker.js:73
|
668 |
+
"This field is required!" => array( null, __("This field is required!", "forminator" ), ), // src/settings/inputs/input.js:37
|
669 |
+
"Select image" => array( null, __("Select image", "forminator" ), ), // src/settings/inputs/uploads.js:25
|
670 |
+
"Upload image" => array( null, __("Upload image", "forminator" ), ), // src/settings/inputs/uploads.js:134
|
671 |
+
"Upload file" => array( null, __("Upload file", "forminator" ), ), // src/settings/inputs/uploads.js:135
|
672 |
+
"Remove uploaded image" => array( null, __("Remove uploaded image", "forminator" ), ), // src/settings/inputs/uploads.js:144
|
673 |
+
"Remove uploaded file" => array( null, __("Remove uploaded file", "forminator" ), ), // src/settings/inputs/uploads.js:145
|
674 |
+
"Required Fields" => array( null, __("Required Fields", "forminator" ), ), // src/settings/inputs/wp-editor.js:161
|
675 |
+
"Optional Fields" => array( null, __("Optional Fields", "forminator" ), ), // src/settings/inputs/wp-editor.js:171
|
676 |
+
"Misc Data" => array( null, __("Misc Data", "forminator" ), ), // src/settings/inputs/wp-editor.js:187
|
677 |
+
"Form Name" => array( null, __("Form Name", "forminator" ), ), // src/settings/inputs/wp-editor.js:213
|
678 |
+
"All Submitted Fields" => array( null, __("All Submitted Fields", "forminator" ), ), // src/settings/inputs/wp-editor.js:223
|
679 |
+
"Add form data" => array( null, __("Add form data", "forminator" ), ), // src/settings/inputs/wp-editor.js:260
|
680 |
"is having" => array( null, __("is having", "forminator" ), ), // src/utils.js:630
|
681 |
"is" => array( null, __("is", "forminator" ), ), // src/utils.js:633
|
682 |
"is not having" => array( null, __("is not having", "forminator" ), ), // src/utils.js:637
|
admin/views/custom-form/list/content.php
CHANGED
@@ -85,7 +85,7 @@ $total_entries_from_last_month = count( Forminator_Form_Entry_Model::get_newer_e
|
|
85 |
<span class="sui-screen-reader-text"><?php esc_html_e( 'Select all', Forminator::DOMAIN ); ?></span>
|
86 |
</label>
|
87 |
|
88 |
-
<select class="sui-select-sm sui-select-inline" name="
|
89 |
<option value=""><?php esc_html_e( 'Bulk Action', Forminator::DOMAIN ); ?></option>
|
90 |
<?php foreach ( $bulk_actions as $val => $label ) : ?>
|
91 |
<option value="<?php echo esc_attr( $val ); ?>"><?php echo esc_html( $label ); ?></option>
|
@@ -191,7 +191,7 @@ $total_entries_from_last_month = count( Forminator_Form_Entry_Model::get_newer_e
|
|
191 |
|
192 |
<li>
|
193 |
<form method="post">
|
194 |
-
<input type="hidden" name="
|
195 |
<input type="hidden" name="id" value="<?php echo esc_attr( $module['id'] ); ?>"/>
|
196 |
<input type="hidden" name="status" value="draft"/>
|
197 |
<?php wp_nonce_field( 'forminatorCustomFormRequest', 'forminatorNonce' ); ?>
|
@@ -207,7 +207,7 @@ $total_entries_from_last_month = count( Forminator_Form_Entry_Model::get_newer_e
|
|
207 |
|
208 |
<li>
|
209 |
<form method="post">
|
210 |
-
<input type="hidden" name="
|
211 |
<input type="hidden" name="id" value="<?php echo esc_attr( $module['id'] ); ?>"/>
|
212 |
<input type="hidden" name="status" value="publish"/>
|
213 |
<?php wp_nonce_field( 'forminatorCustomFormRequest', 'forminatorNonce' ); ?>
|
@@ -228,7 +228,7 @@ $total_entries_from_last_month = count( Forminator_Form_Entry_Model::get_newer_e
|
|
228 |
</a></li>
|
229 |
|
230 |
<li><form method="post">
|
231 |
-
<input type="hidden" name="
|
232 |
<input type="hidden" name="id" value="<?php echo esc_attr( $module['id'] ); ?>"/>
|
233 |
<?php wp_nonce_field( 'forminatorCustomFormRequest', 'forminatorNonce' ); ?>
|
234 |
<button type="submit">
|
@@ -237,7 +237,7 @@ $total_entries_from_last_month = count( Forminator_Form_Entry_Model::get_newer_e
|
|
237 |
</form></li>
|
238 |
|
239 |
<li><form method="post">
|
240 |
-
<input type="hidden" name="
|
241 |
<input type="hidden" name="id" value="<?php echo esc_attr( $module['id'] ); ?>"/>
|
242 |
<?php wp_nonce_field( 'forminatorCustomFormRequest', 'forminatorNonce' ); ?>
|
243 |
<button type="submit"><i class="sui-icon-update" aria-hidden="true"></i> <?php esc_html_e( "Reset Tracking data", Forminator::DOMAIN ); ?></button>
|
85 |
<span class="sui-screen-reader-text"><?php esc_html_e( 'Select all', Forminator::DOMAIN ); ?></span>
|
86 |
</label>
|
87 |
|
88 |
+
<select class="sui-select-sm sui-select-inline" name="forminator_action">
|
89 |
<option value=""><?php esc_html_e( 'Bulk Action', Forminator::DOMAIN ); ?></option>
|
90 |
<?php foreach ( $bulk_actions as $val => $label ) : ?>
|
91 |
<option value="<?php echo esc_attr( $val ); ?>"><?php echo esc_html( $label ); ?></option>
|
191 |
|
192 |
<li>
|
193 |
<form method="post">
|
194 |
+
<input type="hidden" name="forminator_action" value="update-status">
|
195 |
<input type="hidden" name="id" value="<?php echo esc_attr( $module['id'] ); ?>"/>
|
196 |
<input type="hidden" name="status" value="draft"/>
|
197 |
<?php wp_nonce_field( 'forminatorCustomFormRequest', 'forminatorNonce' ); ?>
|
207 |
|
208 |
<li>
|
209 |
<form method="post">
|
210 |
+
<input type="hidden" name="forminator_action" value="update-status">
|
211 |
<input type="hidden" name="id" value="<?php echo esc_attr( $module['id'] ); ?>"/>
|
212 |
<input type="hidden" name="status" value="publish"/>
|
213 |
<?php wp_nonce_field( 'forminatorCustomFormRequest', 'forminatorNonce' ); ?>
|
228 |
</a></li>
|
229 |
|
230 |
<li><form method="post">
|
231 |
+
<input type="hidden" name="forminator_action" value="clone">
|
232 |
<input type="hidden" name="id" value="<?php echo esc_attr( $module['id'] ); ?>"/>
|
233 |
<?php wp_nonce_field( 'forminatorCustomFormRequest', 'forminatorNonce' ); ?>
|
234 |
<button type="submit">
|
237 |
</form></li>
|
238 |
|
239 |
<li><form method="post">
|
240 |
+
<input type="hidden" name="forminator_action" value="reset-views">
|
241 |
<input type="hidden" name="id" value="<?php echo esc_attr( $module['id'] ); ?>"/>
|
242 |
<?php wp_nonce_field( 'forminatorCustomFormRequest', 'forminatorNonce' ); ?>
|
243 |
<button type="submit"><i class="sui-icon-update" aria-hidden="true"></i> <?php esc_html_e( "Reset Tracking data", Forminator::DOMAIN ); ?></button>
|
admin/views/custom-form/popup/export.php
CHANGED
@@ -24,7 +24,7 @@ if ( $model instanceof Forminator_Custom_Form_Model ) {
|
|
24 |
<div class="sui-actions-right">
|
25 |
|
26 |
<form action="<?php echo esc_attr( admin_url( 'admin.php?page=forminator-cform' ) ); ?>" method="post">
|
27 |
-
<input type="hidden" name="
|
28 |
<input type="hidden" name="forminatorNonce" value="<?php echo esc_attr( $nonce ); ?>">
|
29 |
<input type="hidden" name="id" value="<?php echo esc_attr( $form_id ); ?>">
|
30 |
<button class="sui-button sui-button-primary"><i class="sui-icon-download" aria-hidden="true"></i> <?php esc_html_e( 'Download', Forminator::DOMAIN ); ?></button>
|
24 |
<div class="sui-actions-right">
|
25 |
|
26 |
<form action="<?php echo esc_attr( admin_url( 'admin.php?page=forminator-cform' ) ); ?>" method="post">
|
27 |
+
<input type="hidden" name="forminator_action" value="export">
|
28 |
<input type="hidden" name="forminatorNonce" value="<?php echo esc_attr( $nonce ); ?>">
|
29 |
<input type="hidden" name="id" value="<?php echo esc_attr( $form_id ); ?>">
|
30 |
<button class="sui-button sui-button-primary"><i class="sui-icon-download" aria-hidden="true"></i> <?php esc_html_e( 'Download', Forminator::DOMAIN ); ?></button>
|
admin/views/dashboard/widgets/widget-cform.php
CHANGED
@@ -28,7 +28,7 @@
|
|
28 |
|
29 |
<th><?php esc_html_e( 'Name', Forminator::DOMAIN ); ?></th>
|
30 |
|
31 |
-
<th class="fui-col-status
|
32 |
|
33 |
</tr>
|
34 |
|
@@ -42,10 +42,22 @@
|
|
42 |
|
43 |
<td class="sui-table-item-title"><?php echo forminator_get_form_name( $module['id'], 'custom_form'); // WPCS: XSS ok. ?></td>
|
44 |
|
45 |
-
<td class="fui-col-status
|
46 |
|
47 |
-
|
48 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
|
50 |
<a href="<?php echo admin_url( 'admin.php?page=forminator-cform&view-stats=' . esc_attr( $module['id'] ) ); // WPCS: XSS ok. ?>"
|
51 |
class="sui-button-icon sui-tooltip sui-tooltip-top-right-mobile"
|
@@ -82,7 +94,7 @@
|
|
82 |
<li><a href="<?php echo admin_url( 'admin.php?page=forminator-entries&form_type=forminator_forms&form_id=' . $module['id'] ); // WPCS: XSS ok. ?>"><i class="sui-icon-community-people" aria-hidden="true"></i> <?php esc_html_e( 'View Submissions', Forminator::DOMAIN ); ?></a></li>
|
83 |
|
84 |
<li><form method="post">
|
85 |
-
<input type="hidden" name="
|
86 |
<input type="hidden" name="id" value="<?php echo esc_attr( $module['id'] ); ?>"/>
|
87 |
<?php wp_nonce_field( 'forminatorCustomFormRequest', 'forminatorNonce' ); ?>
|
88 |
<button type="submit">
|
28 |
|
29 |
<th><?php esc_html_e( 'Name', Forminator::DOMAIN ); ?></th>
|
30 |
|
31 |
+
<th class="fui-col-status"><?php esc_html_e( 'Status', Forminator::DOMAIN ); ?></th>
|
32 |
|
33 |
</tr>
|
34 |
|
42 |
|
43 |
<td class="sui-table-item-title"><?php echo forminator_get_form_name( $module['id'], 'custom_form'); // WPCS: XSS ok. ?></td>
|
44 |
|
45 |
+
<td class="fui-col-status">
|
46 |
|
47 |
+
<?php if ( 'publish' === $module['status'] ) {
|
48 |
+
$status_class = 'published';
|
49 |
+
$status_text = esc_html__( 'Published', Forminator::DOMAIN );
|
50 |
+
} else {
|
51 |
+
$status_class = 'draft';
|
52 |
+
$status_text = esc_html__( 'Draft', Forminator::DOMAIN );
|
53 |
+
} ?>
|
54 |
+
|
55 |
+
<span
|
56 |
+
class="sui-status-dot sui-<?php echo esc_html( $status_class ); ?> sui-tooltip"
|
57 |
+
data-tooltip="<?php echo esc_html( $status_text ); ?>"
|
58 |
+
>
|
59 |
+
<span aria-hidden="true"></span>
|
60 |
+
</span>
|
61 |
|
62 |
<a href="<?php echo admin_url( 'admin.php?page=forminator-cform&view-stats=' . esc_attr( $module['id'] ) ); // WPCS: XSS ok. ?>"
|
63 |
class="sui-button-icon sui-tooltip sui-tooltip-top-right-mobile"
|
94 |
<li><a href="<?php echo admin_url( 'admin.php?page=forminator-entries&form_type=forminator_forms&form_id=' . $module['id'] ); // WPCS: XSS ok. ?>"><i class="sui-icon-community-people" aria-hidden="true"></i> <?php esc_html_e( 'View Submissions', Forminator::DOMAIN ); ?></a></li>
|
95 |
|
96 |
<li><form method="post">
|
97 |
+
<input type="hidden" name="forminator_action" value="clone">
|
98 |
<input type="hidden" name="id" value="<?php echo esc_attr( $module['id'] ); ?>"/>
|
99 |
<?php wp_nonce_field( 'forminatorCustomFormRequest', 'forminatorNonce' ); ?>
|
100 |
<button type="submit">
|
admin/views/dashboard/widgets/widget-poll.php
CHANGED
@@ -27,7 +27,7 @@
|
|
27 |
<tr>
|
28 |
|
29 |
<th><?php esc_html_e( 'Name', Forminator::DOMAIN ); ?></th>
|
30 |
-
<th class="fui-col-status
|
31 |
|
32 |
</tr>
|
33 |
|
@@ -41,10 +41,22 @@
|
|
41 |
|
42 |
<td class="sui-table-item-title"><?php echo $module['name']; // WPCS: XSS ok. ?></td>
|
43 |
|
44 |
-
<td class="fui-col-status
|
45 |
|
46 |
-
|
47 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
|
49 |
<a href="<?php echo admin_url( 'admin.php?page=forminator-poll&view-stats=' . esc_attr( $module['id'] ) ); // WPCS: XSS ok. ?>"
|
50 |
class="sui-button-icon sui-tooltip"
|
@@ -81,7 +93,7 @@
|
|
81 |
<li><a href="<?php echo admin_url( 'admin.php?page=forminator-entries&form_type=forminator_polls&form_id=' . $module['id'] ); // WPCS: XSS ok. ?>"><i class="sui-icon-community-people" aria-hidden="true"></i> <?php esc_html_e( 'View Submissions', Forminator::DOMAIN ); ?></a></li>
|
82 |
|
83 |
<li><form method="post">
|
84 |
-
<input type="hidden" name="
|
85 |
<input type="hidden" name="id" value="<?php echo esc_attr( $module['id'] ); ?>"/>
|
86 |
<?php wp_nonce_field( 'forminatorPollFormRequest', 'forminatorNonce' ); ?>
|
87 |
<button type="submit">
|
27 |
<tr>
|
28 |
|
29 |
<th><?php esc_html_e( 'Name', Forminator::DOMAIN ); ?></th>
|
30 |
+
<th class="fui-col-status"></th>
|
31 |
|
32 |
</tr>
|
33 |
|
41 |
|
42 |
<td class="sui-table-item-title"><?php echo $module['name']; // WPCS: XSS ok. ?></td>
|
43 |
|
44 |
+
<td class="fui-col-status">
|
45 |
|
46 |
+
<?php if ( 'publish' === $module['status'] ) {
|
47 |
+
$status_class = 'published';
|
48 |
+
$status_text = esc_html__( 'Published', Forminator::DOMAIN );
|
49 |
+
} else {
|
50 |
+
$status_class = 'draft';
|
51 |
+
$status_text = esc_html__( 'Draft', Forminator::DOMAIN );
|
52 |
+
} ?>
|
53 |
+
|
54 |
+
<span
|
55 |
+
class="sui-status-dot sui-<?php echo esc_html( $status_class ); ?> sui-tooltip"
|
56 |
+
data-tooltip="<?php echo esc_html( $status_text ); ?>"
|
57 |
+
>
|
58 |
+
<span aria-hidden="true"></span>
|
59 |
+
</span>
|
60 |
|
61 |
<a href="<?php echo admin_url( 'admin.php?page=forminator-poll&view-stats=' . esc_attr( $module['id'] ) ); // WPCS: XSS ok. ?>"
|
62 |
class="sui-button-icon sui-tooltip"
|
93 |
<li><a href="<?php echo admin_url( 'admin.php?page=forminator-entries&form_type=forminator_polls&form_id=' . $module['id'] ); // WPCS: XSS ok. ?>"><i class="sui-icon-community-people" aria-hidden="true"></i> <?php esc_html_e( 'View Submissions', Forminator::DOMAIN ); ?></a></li>
|
94 |
|
95 |
<li><form method="post">
|
96 |
+
<input type="hidden" name="forminator_action" value="clone">
|
97 |
<input type="hidden" name="id" value="<?php echo esc_attr( $module['id'] ); ?>"/>
|
98 |
<?php wp_nonce_field( 'forminatorPollFormRequest', 'forminatorNonce' ); ?>
|
99 |
<button type="submit">
|
admin/views/dashboard/widgets/widget-quiz.php
CHANGED
@@ -42,10 +42,25 @@
|
|
42 |
|
43 |
<tr>
|
44 |
|
45 |
-
<td class="sui-table-item-title"><?php echo
|
46 |
|
47 |
<td class="fui-col-status">
|
48 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
<a href="<?php echo admin_url( 'admin.php?page=forminator-quiz&view-stats=' . esc_attr( $module['id'] ) ); // WPCS: XSS ok. ?>"
|
50 |
class="sui-button-icon sui-tooltip"
|
51 |
data-tooltip="<?php esc_html_e( 'View Status', Forminator::DOMAIN ); ?>">
|
@@ -82,7 +97,7 @@
|
|
82 |
<li><a href="<?php echo admin_url( 'admin.php?page=forminator-entries&form_type=forminator_quizzes&form_id=' . $module['id'] ); // WPCS: XSS ok. ?>"><i class="sui-icon-community-people" aria-hidden="true"></i> <?php esc_html_e( 'View Submissions', Forminator::DOMAIN ); ?></a></li>
|
83 |
|
84 |
<li><form method="post">
|
85 |
-
<input type="hidden" name="
|
86 |
<input type="hidden" name="id" value="<?php echo esc_attr( $module['id'] ); ?>"/>
|
87 |
<?php wp_nonce_field( 'forminatorQuizFormRequest', 'forminatorNonce' ); ?>
|
88 |
<button type="submit">
|
42 |
|
43 |
<tr>
|
44 |
|
45 |
+
<td class="sui-table-item-title"><?php echo $module['name']; // WPCS: XSS ok. ?></td>
|
46 |
|
47 |
<td class="fui-col-status">
|
48 |
|
49 |
+
<?php if ( 'publish' === $module['status'] ) {
|
50 |
+
$status_class = 'published';
|
51 |
+
$status_text = esc_html__( 'Published', Forminator::DOMAIN );
|
52 |
+
} else {
|
53 |
+
$status_class = 'draft';
|
54 |
+
$status_text = esc_html__( 'Draft', Forminator::DOMAIN );
|
55 |
+
} ?>
|
56 |
+
|
57 |
+
<span
|
58 |
+
class="sui-status-dot sui-<?php echo esc_html( $status_class ); ?> sui-tooltip"
|
59 |
+
data-tooltip="<?php echo esc_html( $status_text ); ?>"
|
60 |
+
>
|
61 |
+
<span aria-hidden="true"></span>
|
62 |
+
</span>
|
63 |
+
|
64 |
<a href="<?php echo admin_url( 'admin.php?page=forminator-quiz&view-stats=' . esc_attr( $module['id'] ) ); // WPCS: XSS ok. ?>"
|
65 |
class="sui-button-icon sui-tooltip"
|
66 |
data-tooltip="<?php esc_html_e( 'View Status', Forminator::DOMAIN ); ?>">
|
97 |
<li><a href="<?php echo admin_url( 'admin.php?page=forminator-entries&form_type=forminator_quizzes&form_id=' . $module['id'] ); // WPCS: XSS ok. ?>"><i class="sui-icon-community-people" aria-hidden="true"></i> <?php esc_html_e( 'View Submissions', Forminator::DOMAIN ); ?></a></li>
|
98 |
|
99 |
<li><form method="post">
|
100 |
+
<input type="hidden" name="forminator_action" value="clone">
|
101 |
<input type="hidden" name="id" value="<?php echo esc_attr( $module['id'] ); ?>"/>
|
102 |
<?php wp_nonce_field( 'forminatorQuizFormRequest', 'forminatorNonce' ); ?>
|
103 |
<button type="submit">
|
admin/views/integrations/quiz-addon.php
ADDED
@@ -0,0 +1,130 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$empty_icon = forminator_plugin_url() . 'assets/images/forminator-noicon.png';
|
3 |
+
$empty_icon2x = forminator_plugin_url() . 'assets/images/forminator-noicon@2x.png';
|
4 |
+
if ( empty( $quiz_id ) ) {
|
5 |
+
$quiz_id = 0;
|
6 |
+
}
|
7 |
+
|
8 |
+
$show_action = false;
|
9 |
+
|
10 |
+
$icon_class_action = 'sui-icon-plus';
|
11 |
+
$tooltip = __( 'Configure Integration', Forminator::DOMAIN );
|
12 |
+
$main_action = 'forminator_addon_settings';
|
13 |
+
|
14 |
+
$multi_id = 0;
|
15 |
+
$multi_name = false;
|
16 |
+
|
17 |
+
if ( ! empty( $quiz_id ) ) {
|
18 |
+
$main_action = 'forminator_addon_quiz_settings';
|
19 |
+
$show_action = false;
|
20 |
+
$icon_class_action = 'sui-icon-plus';
|
21 |
+
if ( isset( $addon['is_quiz_settings_available'] ) && ! empty( $addon['is_quiz_settings_available'] ) && true === $addon['is_quiz_settings_available'] ) {
|
22 |
+
$show_action = true;
|
23 |
+
if ( $addon['is_allow_multi_on_quiz'] ) {
|
24 |
+
if ( isset( $addon['multi_name'] ) ) {
|
25 |
+
$icon_class_action = 'sui-icon-widget-settings-config';
|
26 |
+
$tooltip = __( 'Configure Integration', Forminator::DOMAIN );
|
27 |
+
$multi_id = $addon['multi_id'];
|
28 |
+
$multi_name = $addon['multi_name'];
|
29 |
+
} else {
|
30 |
+
if ( isset( $addon['multi_id'] ) ) {
|
31 |
+
$multi_id = $addon['multi_id'];
|
32 |
+
}
|
33 |
+
$icon_class_action = 'sui-icon-plus';
|
34 |
+
$tooltip = __( 'Add Integration', Forminator::DOMAIN );
|
35 |
+
}
|
36 |
+
} else {
|
37 |
+
if ( $addon['is_quiz_connected'] ) {
|
38 |
+
$icon_class_action = 'sui-icon-widget-settings-config';
|
39 |
+
$tooltip = __( 'Configure Integration', Forminator::DOMAIN );
|
40 |
+
} else {
|
41 |
+
$icon_class_action = 'sui-icon-plus';
|
42 |
+
$tooltip = __( 'Add Integration', Forminator::DOMAIN );
|
43 |
+
}
|
44 |
+
}
|
45 |
+
|
46 |
+
}
|
47 |
+
} else {
|
48 |
+
// on integrations page
|
49 |
+
if ( isset( $addon['is_settings_available'] ) && ! empty( $addon['is_settings_available'] ) && true === $addon['is_settings_available'] ) {
|
50 |
+
$show_action = true;
|
51 |
+
if ( $addon['is_connected'] ) {
|
52 |
+
$icon_class_action = 'sui-icon-widget-settings-config';
|
53 |
+
$tooltip = __( 'Configure Integration', Forminator::DOMAIN );
|
54 |
+
} else {
|
55 |
+
$icon_class_action = 'sui-icon-plus';
|
56 |
+
$tooltip = __( 'Add Integration', Forminator::DOMAIN );
|
57 |
+
}
|
58 |
+
}
|
59 |
+
}
|
60 |
+
|
61 |
+
$action_available = false;
|
62 |
+
if ( ! empty( $show_pro_info ) && $show_pro_info ) {
|
63 |
+
$show_pro_info = true;
|
64 |
+
} else {
|
65 |
+
$show_pro_info = false;
|
66 |
+
}
|
67 |
+
|
68 |
+
/**
|
69 |
+
* force Disable pro tag y default
|
70 |
+
*/
|
71 |
+
$show_pro_info = false;
|
72 |
+
|
73 |
+
$pro_url = 'https://premium.wpmudev.org';
|
74 |
+
$pro_url_target = '_blank';
|
75 |
+
|
76 |
+
// MULTI NAME (SAMPLE)
|
77 |
+
// To be added in the table later when design is ready.
|
78 |
+
/*
|
79 |
+
<td><?php if ( ! empty( $multi_name ) ): ?>
|
80 |
+
<?php echo esc_html( $multi_name ); ?>
|
81 |
+
<?php endif; ?></td>
|
82 |
+
*/ ?>
|
83 |
+
|
84 |
+
<tr class="<?php echo( $is_active ? 'fui-integration-enabled' : '' ); ?>">
|
85 |
+
|
86 |
+
<td class="sui-table-item-title">
|
87 |
+
|
88 |
+
<span>
|
89 |
+
|
90 |
+
<?php if ( isset( $addon['icon'] ) && ! empty( $addon['icon'] ) ) { ?>
|
91 |
+
<img src="<?php echo esc_url( $addon['icon'] ); ?>"
|
92 |
+
srcset="<?php echo esc_url( $addon['icon'] ); ?> 1x, <?php echo esc_url( $addon['icon_x2'] ); ?> 2x"
|
93 |
+
alt="<?php echo esc_attr( $addon['short_title'] ); ?>"
|
94 |
+
class="sui-image"
|
95 |
+
aria-hidden="true"/>
|
96 |
+
<?php } else { ?>
|
97 |
+
<img src="<?php echo esc_url( $empty_icon ); ?>"
|
98 |
+
srcset="<?php echo esc_url( $empty_icon ); ?> 1x, <?php echo esc_url( $empty_icon2x ); ?> 2x"
|
99 |
+
alt="<?php echo esc_attr( $addon['short_title'] ); ?>"
|
100 |
+
class="sui-image"
|
101 |
+
aria-hidden="true"/>
|
102 |
+
<?php } ?>
|
103 |
+
|
104 |
+
<span><?php echo esc_html( $addon['title'] ); ?><?php if ( $show_pro_info && $addon['is_pro'] ) : ?>
|
105 |
+
<span class="sui-tag sui-tag-pro">
|
106 |
+
<?php esc_html_e( "PRO", Forminator::DOMAIN ); ?>
|
107 |
+
</span>
|
108 |
+
<?php endif; ?></span>
|
109 |
+
|
110 |
+
<?php if ( $show_action ) : ?>
|
111 |
+
<button class="sui-button-icon sui-tooltip sui-tooltip-top-right connect-integration"
|
112 |
+
data-tooltip="<?php echo esc_attr( $tooltip ); ?>"
|
113 |
+
data-slug="<?php echo esc_attr( $addon['slug'] ); ?>"
|
114 |
+
data-title="<?php echo esc_attr( $addon['title'] ); ?>"
|
115 |
+
data-image="<?php echo esc_attr( $addon['image'] ); ?>"
|
116 |
+
data-imagex2="<?php echo esc_attr( $addon['image_x2'] ); ?>"
|
117 |
+
data-nonce="<?php echo wp_create_nonce( 'forminator_addon_action' ); // WPCS: XSS ok. ?>"
|
118 |
+
data-action="<?php echo esc_attr( $main_action ); ?>"
|
119 |
+
data-quiz-id="<?php echo esc_attr( $quiz_id ); ?>"
|
120 |
+
data-multi-id="<?php echo esc_attr( $multi_id ); ?>">
|
121 |
+
<i class="<?php echo esc_attr( $icon_class_action ); ?>" aria-hidden="true"></i>
|
122 |
+
<span class="sui-screen-reader-text"><?php esc_html_e( 'Connect this integration', Forminator::DOMAIN ); ?></span>
|
123 |
+
</button>
|
124 |
+
<?php endif; ?>
|
125 |
+
|
126 |
+
</span>
|
127 |
+
|
128 |
+
</td>
|
129 |
+
|
130 |
+
</tr>
|
admin/views/integrations/quiz-content.php
ADDED
@@ -0,0 +1,57 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
if ( empty( $quiz_id ) ) {
|
3 |
+
$quiz_id = 0;
|
4 |
+
}
|
5 |
+
?>
|
6 |
+
|
7 |
+
<?php
|
8 |
+
|
9 |
+
if ( ! empty( $addons['quiz_connected'] ) ) {
|
10 |
+
?>
|
11 |
+
|
12 |
+
<h3 class="sui-table-title"><?php esc_html_e( "Active", Forminator::DOMAIN ); ?></h3>
|
13 |
+
|
14 |
+
<table class="sui-table fui-table--apps">
|
15 |
+
|
16 |
+
<tbody>
|
17 |
+
|
18 |
+
<?php foreach ( $addons['quiz_connected'] as $key => $provider ) : ?>
|
19 |
+
|
20 |
+
<?php echo forminator_addon_quiz_row_html_markup( $provider, $quiz_id, true, true );// wpcs xss ok. ?>
|
21 |
+
|
22 |
+
<?php endforeach; ?>
|
23 |
+
|
24 |
+
</tbody>
|
25 |
+
|
26 |
+
</table>
|
27 |
+
|
28 |
+
<?php
|
29 |
+
}
|
30 |
+
|
31 |
+
if ( ! empty( $addons['not_quiz_connected'] ) ) {
|
32 |
+
?>
|
33 |
+
|
34 |
+
<h3 class="sui-table-title"><?php esc_html_e( "Available Integrations", Forminator::DOMAIN ); ?></h3>
|
35 |
+
|
36 |
+
<table class="sui-table fui-table--apps">
|
37 |
+
|
38 |
+
<tbody>
|
39 |
+
|
40 |
+
<?php foreach ( $addons['not_quiz_connected'] as $key => $provider ) : ?>
|
41 |
+
|
42 |
+
<?php if ( ! $provider['is_quiz_settings_available'] ) {
|
43 |
+
continue;
|
44 |
+
}
|
45 |
+
?>
|
46 |
+
|
47 |
+
<?php echo forminator_addon_quiz_row_html_markup( $provider, $quiz_id, true );// wpcs xss ok. ?>
|
48 |
+
|
49 |
+
<?php endforeach; ?>
|
50 |
+
|
51 |
+
</tbody>
|
52 |
+
|
53 |
+
</table>
|
54 |
+
|
55 |
+
<?php
|
56 |
+
}
|
57 |
+
?>
|
admin/views/poll/list/content.php
CHANGED
@@ -91,7 +91,7 @@ $total_entries_from_last_month = count( Forminator_Form_Entry_Model::get_newer_e
|
|
91 |
<span class="sui-screen-reader-text"><?php esc_html_e( 'Select all', Forminator::DOMAIN ); ?></span>
|
92 |
</label>
|
93 |
|
94 |
-
<select class="sui-select-sm sui-select-inline" name="
|
95 |
<option value=""><?php esc_html_e( 'Bulk Action', Forminator::DOMAIN ); ?></option>
|
96 |
<?php foreach ( $bulk_actions as $val => $label ) : ?>
|
97 |
<option value="<?php echo esc_attr( $val ); ?>"><?php echo esc_html( $label ); ?></option>
|
@@ -189,7 +189,7 @@ $total_entries_from_last_month = count( Forminator_Form_Entry_Model::get_newer_e
|
|
189 |
|
190 |
<li>
|
191 |
<form method="post">
|
192 |
-
<input type="hidden" name="
|
193 |
<input type="hidden" name="id" value="<?php echo esc_attr( $module['id'] ); ?>"/>
|
194 |
|
195 |
<?php if ( Forminator_Poll_Form_Model::STATUS_PUBLISH === $module['status'] ) : ?>
|
@@ -214,14 +214,14 @@ $total_entries_from_last_month = count( Forminator_Form_Entry_Model::get_newer_e
|
|
214 |
<li><a href="<?php echo admin_url( 'admin.php?page=forminator-poll-view&form_id=' . $module['id'] ); // WPCS: XSS ok. ?>"><i class="sui-icon-community-people" aria-hidden="true"></i> <?php esc_html_e( 'View Submissions', Forminator::DOMAIN ); ?></a></li>
|
215 |
|
216 |
<li><form method="post">
|
217 |
-
<input type="hidden" name="
|
218 |
<input type="hidden" name="id" value="<?php echo esc_attr( $module['id'] ); ?>"/>
|
219 |
<?php wp_nonce_field( 'forminatorPollFormRequest', 'forminatorNonce' ); ?>
|
220 |
<button type="submit"><i class="sui-icon-page-multiple" aria-hidden="true"></i> <?php esc_html_e( "Duplicate", Forminator::DOMAIN ); ?></button>
|
221 |
</form></li>
|
222 |
|
223 |
<li><form method="post">
|
224 |
-
<input type="hidden" name="
|
225 |
<input type="hidden" name="id" value="<?php echo esc_attr( $module['id'] ); ?>"/>
|
226 |
<?php wp_nonce_field( 'forminatorPollFormRequest', 'forminatorNonce' ); ?>
|
227 |
<button type="submit"><i class="sui-icon-update" aria-hidden="true"></i> <?php esc_html_e( "Reset Tracking data", Forminator::DOMAIN ); ?></button>
|
91 |
<span class="sui-screen-reader-text"><?php esc_html_e( 'Select all', Forminator::DOMAIN ); ?></span>
|
92 |
</label>
|
93 |
|
94 |
+
<select class="sui-select-sm sui-select-inline" name="forminator_action">
|
95 |
<option value=""><?php esc_html_e( 'Bulk Action', Forminator::DOMAIN ); ?></option>
|
96 |
<?php foreach ( $bulk_actions as $val => $label ) : ?>
|
97 |
<option value="<?php echo esc_attr( $val ); ?>"><?php echo esc_html( $label ); ?></option>
|
189 |
|
190 |
<li>
|
191 |
<form method="post">
|
192 |
+
<input type="hidden" name="forminator_action" value="update-status">
|
193 |
<input type="hidden" name="id" value="<?php echo esc_attr( $module['id'] ); ?>"/>
|
194 |
|
195 |
<?php if ( Forminator_Poll_Form_Model::STATUS_PUBLISH === $module['status'] ) : ?>
|
214 |
<li><a href="<?php echo admin_url( 'admin.php?page=forminator-poll-view&form_id=' . $module['id'] ); // WPCS: XSS ok. ?>"><i class="sui-icon-community-people" aria-hidden="true"></i> <?php esc_html_e( 'View Submissions', Forminator::DOMAIN ); ?></a></li>
|
215 |
|
216 |
<li><form method="post">
|
217 |
+
<input type="hidden" name="forminator_action" value="clone">
|
218 |
<input type="hidden" name="id" value="<?php echo esc_attr( $module['id'] ); ?>"/>
|
219 |
<?php wp_nonce_field( 'forminatorPollFormRequest', 'forminatorNonce' ); ?>
|
220 |
<button type="submit"><i class="sui-icon-page-multiple" aria-hidden="true"></i> <?php esc_html_e( "Duplicate", Forminator::DOMAIN ); ?></button>
|
221 |
</form></li>
|
222 |
|
223 |
<li><form method="post">
|
224 |
+
<input type="hidden" name="forminator_action" value="reset-views">
|
225 |
<input type="hidden" name="id" value="<?php echo esc_attr( $module['id'] ); ?>"/>
|
226 |
<?php wp_nonce_field( 'forminatorPollFormRequest', 'forminatorNonce' ); ?>
|
227 |
<button type="submit"><i class="sui-icon-update" aria-hidden="true"></i> <?php esc_html_e( "Reset Tracking data", Forminator::DOMAIN ); ?></button>
|
admin/views/poll/popup/export.php
CHANGED
@@ -24,7 +24,7 @@ if ( $model instanceof Forminator_Poll_Form_Model ) {
|
|
24 |
<div class="sui-actions-right">
|
25 |
|
26 |
<form action="<?php echo esc_attr( admin_url( 'admin.php?page=forminator-poll' ) ); ?>" method="post">
|
27 |
-
<input type="hidden" name="
|
28 |
<input type="hidden" name="forminatorNonce" value="<?php echo esc_attr( $nonce ); ?>">
|
29 |
<input type="hidden" name="id" value="<?php echo esc_attr( $form_id ); ?>">
|
30 |
<button class="sui-button sui-button-primary"><i class="sui-icon-download" aria-hidden="true"></i> <?php esc_html_e( 'Download', Forminator::DOMAIN ); ?></button>
|
24 |
<div class="sui-actions-right">
|
25 |
|
26 |
<form action="<?php echo esc_attr( admin_url( 'admin.php?page=forminator-poll' ) ); ?>" method="post">
|
27 |
+
<input type="hidden" name="forminator_action" value="export">
|
28 |
<input type="hidden" name="forminatorNonce" value="<?php echo esc_attr( $nonce ); ?>">
|
29 |
<input type="hidden" name="id" value="<?php echo esc_attr( $form_id ); ?>">
|
30 |
<button class="sui-button sui-button-primary"><i class="sui-icon-download" aria-hidden="true"></i> <?php esc_html_e( 'Download', Forminator::DOMAIN ); ?></button>
|
admin/views/quiz/entries/content.php
CHANGED
@@ -1,10 +1,11 @@
|
|
1 |
<?php
|
2 |
-
$
|
3 |
-
$
|
4 |
-
$
|
5 |
-
$
|
6 |
-
$
|
7 |
-
$
|
|
|
8 |
?>
|
9 |
<?php if ( $this->error_message() ) : ?>
|
10 |
<span class="sui-notice sui-notice-error"><p><?php echo esc_html( $this->error_message() ); ?></p></span>
|
@@ -32,7 +33,13 @@ $total_page = ceil( $count / $per_page );
|
|
32 |
|
33 |
<div class="sui-pagination-wrap">
|
34 |
|
35 |
-
<span class="sui-pagination-results"
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
|
37 |
<?php $this->paginate(); ?>
|
38 |
|
@@ -47,191 +54,240 @@ $total_page = ceil( $count / $per_page );
|
|
47 |
<table class="sui-table sui-table-flushed sui-accordion">
|
48 |
|
49 |
<thead>
|
50 |
-
|
51 |
-
<
|
52 |
-
|
53 |
-
<th><label class="sui-checkbox">
|
54 |
<input id="wpf-cform-check_all" type="checkbox">
|
55 |
<span></span>
|
56 |
<div class="sui-description"><?php esc_html_e( "ID", Forminator::DOMAIN ); ?></div>
|
57 |
-
</label
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
</tr>
|
62 |
|
63 |
</thead>
|
64 |
|
65 |
<tbody>
|
66 |
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
if ( $page_number > 1 ) {
|
72 |
-
$first_item = $count - ( ( $page_number - 1 ) * $per_page );
|
73 |
-
}
|
74 |
|
75 |
-
|
76 |
-
|
|
|
|
|
77 |
|
78 |
-
|
|
|
79 |
|
80 |
-
|
|
|
81 |
<input name="ids[]" value="<?php echo esc_attr( $entry->entry_id ); ?>" type="checkbox" id="quiz-answer-<?php echo esc_attr( $entry->entry_id ); ?>">
|
82 |
<span></span>
|
83 |
<div class="sui-description"><?php echo esc_attr( $first_item ); ?></div>
|
84 |
-
</label
|
|
|
85 |
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
</
|
|
|
91 |
|
92 |
-
|
93 |
-
|
94 |
-
<tr class="sui-accordion-item-content">
|
95 |
|
96 |
-
|
97 |
|
98 |
-
|
99 |
|
100 |
-
|
101 |
|
102 |
-
|
103 |
|
104 |
-
|
105 |
-
|
|
|
106 |
|
107 |
-
|
108 |
-
$total = 0;
|
109 |
-
$right = 0;
|
110 |
-
?>
|
111 |
|
112 |
-
|
|
|
|
|
|
|
|
|
113 |
|
114 |
-
|
115 |
|
116 |
-
|
117 |
|
118 |
-
|
119 |
|
120 |
-
|
121 |
|
122 |
-
|
123 |
|
124 |
-
|
125 |
|
126 |
-
|
127 |
|
128 |
-
|
129 |
-
foreach ( $meta as $answer ) :
|
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 |
<?php
|
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 |
-
|
199 |
|
200 |
-
|
201 |
|
202 |
-
|
203 |
|
204 |
-
|
205 |
|
206 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
207 |
|
208 |
-
</tbody>
|
209 |
|
210 |
-
</
|
211 |
|
212 |
-
|
213 |
|
214 |
-
|
215 |
|
216 |
-
|
217 |
|
218 |
-
|
219 |
|
220 |
-
|
221 |
|
222 |
-
|
223 |
|
224 |
</div>
|
225 |
|
226 |
-
</
|
|
|
|
|
227 |
|
228 |
-
|
229 |
|
230 |
<?php
|
231 |
-
|
232 |
|
233 |
-
|
234 |
-
|
235 |
|
236 |
</tbody>
|
237 |
|
@@ -251,7 +307,13 @@ $total_page = ceil( $count / $per_page );
|
|
251 |
|
252 |
<div class="sui-pagination-wrap">
|
253 |
|
254 |
-
<span class="sui-pagination-results"
|
|
|
|
|
|
|
|
|
|
|
|
|
255 |
|
256 |
<?php $this->paginate(); ?>
|
257 |
|
@@ -270,8 +332,9 @@ $total_page = ceil( $count / $per_page );
|
|
270 |
<div class="sui-box sui-message">
|
271 |
|
272 |
<?php if ( forminator_is_show_branding() ): ?>
|
273 |
-
<img src="<?php echo $
|
274 |
-
srcset="<?php echo $
|
|
|
275 |
alt="<?php esc_html_e( 'Forminator', Forminator::DOMAIN ); ?>"
|
276 |
class="sui-image"
|
277 |
aria-hidden="true"/>
|
1 |
<?php
|
2 |
+
/** @var Forminator_Quizz_Renderer_Entries $this */
|
3 |
+
$plugin_path = forminator_plugin_url();
|
4 |
+
$entries = $this->get_table();
|
5 |
+
$form_type = $this->get_form_type();
|
6 |
+
$count = $this->get_total_entries();
|
7 |
+
$entries_per_page = $this->get_per_page();
|
8 |
+
$total_page = ceil( $count / $entries_per_page );
|
9 |
?>
|
10 |
<?php if ( $this->error_message() ) : ?>
|
11 |
<span class="sui-notice sui-notice-error"><p><?php echo esc_html( $this->error_message() ); ?></p></span>
|
33 |
|
34 |
<div class="sui-pagination-wrap">
|
35 |
|
36 |
+
<span class="sui-pagination-results">
|
37 |
+
<?php if ( 1 === $count ) {
|
38 |
+
printf( esc_html__( '%s result', Forminator::DOMAIN ), esc_html( $count ) );
|
39 |
+
} else {
|
40 |
+
printf( esc_html__( '%s results', Forminator::DOMAIN ), esc_html( $count ) );
|
41 |
+
} // phpcs:ignore ?>
|
42 |
+
</span>
|
43 |
|
44 |
<?php $this->paginate(); ?>
|
45 |
|
54 |
<table class="sui-table sui-table-flushed sui-accordion">
|
55 |
|
56 |
<thead>
|
57 |
+
<tr>
|
58 |
+
<th>
|
59 |
+
<label class="sui-checkbox">
|
|
|
60 |
<input id="wpf-cform-check_all" type="checkbox">
|
61 |
<span></span>
|
62 |
<div class="sui-description"><?php esc_html_e( "ID", Forminator::DOMAIN ); ?></div>
|
63 |
+
</label>
|
64 |
+
</th>
|
65 |
+
<th colspan="5"><?php esc_html_e( "Date Submitted", Forminator::DOMAIN ); ?></th>
|
66 |
+
</tr>
|
|
|
67 |
|
68 |
</thead>
|
69 |
|
70 |
<tbody>
|
71 |
|
72 |
+
<?php
|
73 |
+
$first_item = $count;
|
74 |
+
$page_number = $this->get_paged();
|
|
|
|
|
|
|
|
|
75 |
|
76 |
+
if ( $page_number > 1 ) {
|
77 |
+
$first_item = $count - ( ( $page_number - 1 ) * $entries_per_page );
|
78 |
+
}
|
79 |
+
?>
|
80 |
|
81 |
+
<?php foreach ( $entries as $entry ) : ?>
|
82 |
+
<tr class="sui-accordion-item">
|
83 |
|
84 |
+
<td>
|
85 |
+
<label class="sui-checkbox">
|
86 |
<input name="ids[]" value="<?php echo esc_attr( $entry->entry_id ); ?>" type="checkbox" id="quiz-answer-<?php echo esc_attr( $entry->entry_id ); ?>">
|
87 |
<span></span>
|
88 |
<div class="sui-description"><?php echo esc_attr( $first_item ); ?></div>
|
89 |
+
</label>
|
90 |
+
</td>
|
91 |
|
92 |
+
<td colspan="5">
|
93 |
+
<?php echo date( get_option( 'date_format' ) . ' ' . get_option( 'time_format' ), strtotime( $entry->date_created_sql ) ); // WPCS: XSS ok. ?>
|
94 |
+
<span class="sui-accordion-open-indicator">
|
95 |
+
<i class="sui-icon-chevron-down"></i>
|
96 |
+
</span>
|
97 |
+
</td>
|
98 |
|
99 |
+
</tr>
|
|
|
|
|
100 |
|
101 |
+
<tr class="sui-accordion-item-content">
|
102 |
|
103 |
+
<td colspan="6">
|
104 |
|
105 |
+
<div class="sui-box" style="margin-bottom: 30px;">
|
106 |
|
107 |
+
<div class="sui-box-body">
|
108 |
|
109 |
+
<h2>
|
110 |
+
<?php echo forminator_get_form_name( $this->form_id, 'quiz' ); // WPCS: XSS ok. ?>
|
111 |
+
</h2>
|
112 |
|
113 |
+
<?php if ( 'knowledge' === $form_type ) { ?>
|
|
|
|
|
|
|
114 |
|
115 |
+
<?php
|
116 |
+
$meta = $entry->meta_data['entry']['value'];
|
117 |
+
$total = 0;
|
118 |
+
$right = 0;
|
119 |
+
?>
|
120 |
|
121 |
+
<table class="sui-table">
|
122 |
|
123 |
+
<thead>
|
124 |
|
125 |
+
<tr>
|
126 |
|
127 |
+
<th><?php esc_html_e( "Question", Forminator::DOMAIN ); ?></th>
|
128 |
|
129 |
+
<th><?php esc_html_e( "Answer", Forminator::DOMAIN ); ?></th>
|
130 |
|
131 |
+
</tr>
|
132 |
|
133 |
+
</thead>
|
134 |
|
135 |
+
<tbody>
|
|
|
136 |
|
137 |
+
<?php foreach ( $meta as $answer ) : ?>
|
138 |
+
<?php
|
139 |
+
$total ++;
|
140 |
|
141 |
+
if ( $answer['isCorrect'] ) {
|
142 |
+
$right ++;
|
143 |
+
}
|
144 |
|
145 |
+
$user_answer = $answer['answer'];
|
146 |
+
?>
|
147 |
|
148 |
+
<tr>
|
149 |
|
150 |
+
<td><?php echo esc_html( $answer['question'] ); ?></td>
|
151 |
|
152 |
+
<td>
|
153 |
+
<?php
|
154 |
+
if ( $answer['isCorrect'] ) {
|
155 |
|
156 |
+
echo '<span class="sui-tag sui-tag-success">' . $user_answer . '</span>'; // WPCS: XSS ok.
|
157 |
|
158 |
+
} else {
|
159 |
|
160 |
+
echo '<span class="sui-tag sui-tag-error">' . $user_answer . '</span>'; // WPCS: XSS ok.
|
161 |
|
162 |
+
}
|
163 |
+
?>
|
164 |
+
</td>
|
165 |
|
166 |
+
</tr>
|
167 |
|
168 |
+
<?php endforeach; ?>
|
169 |
|
170 |
+
<?php $integrations_data = $this->get_integrations_data_from_entry( $entry ); ?>
|
171 |
+
<?php if ( ! empty( $integrations_data ) ) : ?>
|
172 |
+
<?php foreach ( $integrations_data as $integrations_datum ) : ?>
|
173 |
+
<tr>
|
174 |
+
<td><?php echo $integrations_datum['label']; // wpcs xss ok. html output intended ?></td>
|
175 |
+
<td>
|
176 |
+
<?php
|
177 |
+
$sub_entries = isset( $integrations_datum['sub_entries'] ) ? $integrations_datum['sub_entries'] : array();
|
178 |
+
?>
|
179 |
+
<?php if ( ! empty( $sub_entries ) && is_array( $sub_entries ) ) : ?>
|
180 |
+
<?php foreach ( $sub_entries as $sub_entry ) : ?>
|
181 |
+
<div class="">
|
182 |
+
<span class="sui-settings-label"><?php echo esc_html( $sub_entry['label'] ); ?></span>
|
183 |
+
<span class="sui-description"><?php echo( $sub_entry['value'] ); // wpcs xss ok. html output intended ?></span>
|
184 |
+
</div>
|
185 |
+
<?php endforeach; ?>
|
186 |
+
<?php else: ?>
|
187 |
+
<?php echo( $integrations_datum['value'] ); // wpcs xss ok. html output intended ?>
|
188 |
+
<?php endif; ?>
|
189 |
+
</td>
|
190 |
+
</tr>
|
191 |
+
<?php endforeach; ?>
|
192 |
+
<?php endif; ?>
|
193 |
|
194 |
+
</tbody>
|
195 |
|
196 |
+
</table>
|
197 |
|
198 |
+
<div class="sui-box-footer">
|
199 |
|
200 |
+
<p><?php echo sprintf( __( "You got <strong>%s / %s</strong> correct answers.", Forminator::DOMAIN ), $right, $total ); // phpcs:ignore ?></p>
|
201 |
+
</div>
|
202 |
|
203 |
<?php
|
204 |
+
} else {
|
205 |
|
206 |
+
$meta = $entry->meta_data['entry']['value'][0]['value'];
|
207 |
+
?>
|
208 |
|
209 |
+
<?php if ( isset( $meta['answers'] ) && is_array( $meta['answers'] ) ) : ?>
|
210 |
|
211 |
+
<table class="sui-table">
|
212 |
|
213 |
+
<thead>
|
214 |
|
215 |
+
<tr>
|
216 |
|
217 |
+
<th><?php esc_html_e( "Question", Forminator::DOMAIN ); ?></th>
|
218 |
|
219 |
+
<th><?php esc_html_e( "Answer", Forminator::DOMAIN ); ?></th>
|
220 |
|
221 |
+
</tr>
|
222 |
+
|
223 |
+
</thead>
|
224 |
|
225 |
+
<tbody>
|
226 |
|
227 |
+
<?php foreach ( $meta['answers'] as $answer ) : ?>
|
228 |
|
229 |
+
<tr>
|
230 |
|
231 |
+
<td><?php echo $answer['question']; // WPCS: XSS ok. ?></td>
|
232 |
|
233 |
+
<td><?php echo $answer['answer']; // WPCS: XSS ok. ?></td>
|
234 |
|
235 |
+
</tr>
|
236 |
|
237 |
+
<?php endforeach; ?>
|
238 |
|
239 |
+
<?php $integrations_data = $this->get_integrations_data_from_entry( $entry ); ?>
|
240 |
+
<?php if ( ! empty( $integrations_data ) ) : ?>
|
241 |
+
<?php foreach ( $integrations_data as $integrations_datum ) : ?>
|
242 |
+
<tr>
|
243 |
+
<td><?php echo $integrations_datum['label']; // wpcs xss ok. html output intended ?></td>
|
244 |
+
<td>
|
245 |
+
<?php
|
246 |
+
$sub_entries = isset( $integrations_datum['sub_entries'] ) ? $integrations_datum['sub_entries'] : array();
|
247 |
+
?>
|
248 |
+
<?php if ( ! empty( $sub_entries ) && is_array( $sub_entries ) ) : ?>
|
249 |
+
<?php foreach ( $sub_entries as $sub_entry ) : ?>
|
250 |
+
<div class="">
|
251 |
+
<span class="sui-settings-label"><?php echo esc_html( $sub_entry['label'] ); ?></span>
|
252 |
+
<span class="sui-description"><?php echo( $sub_entry['value'] ); // wpcs xss ok. html output intended ?></span>
|
253 |
+
</div>
|
254 |
+
<?php endforeach; ?>
|
255 |
+
<?php else: ?>
|
256 |
+
<?php echo( $integrations_datum['value'] ); // wpcs xss ok. html output intended ?>
|
257 |
+
<?php endif; ?>
|
258 |
+
</td>
|
259 |
+
</tr>
|
260 |
+
<?php endforeach; ?>
|
261 |
+
<?php endif; ?>
|
262 |
|
|
|
263 |
|
264 |
+
</tbody>
|
265 |
|
266 |
+
</table>
|
267 |
|
268 |
+
<?php endif; ?>
|
269 |
|
270 |
+
<div class="sui-box-footer">
|
271 |
|
272 |
+
<p><?php printf( __( "<strong>Quiz Result:</strong> %s", Forminator::DOMAIN ), $meta['result']['title'] ); // WPCS: XSS ok. ?></p>
|
273 |
|
274 |
+
</div>
|
275 |
|
276 |
+
<?php } ?>
|
277 |
|
278 |
</div>
|
279 |
|
280 |
+
</div>
|
281 |
+
|
282 |
+
</td>
|
283 |
|
284 |
+
</tr>
|
285 |
|
286 |
<?php
|
287 |
+
$first_item --;
|
288 |
|
289 |
+
endforeach;
|
290 |
+
?>
|
291 |
|
292 |
</tbody>
|
293 |
|
307 |
|
308 |
<div class="sui-pagination-wrap">
|
309 |
|
310 |
+
<span class="sui-pagination-results">
|
311 |
+
<?php if ( 1 === $count ) {
|
312 |
+
printf( esc_html__( '%s result', Forminator::DOMAIN ), esc_html( $count ) );
|
313 |
+
} else {
|
314 |
+
printf( esc_html__( '%s results', Forminator::DOMAIN ), esc_html( $count ) );
|
315 |
+
} // phpcs:ignore ?>
|
316 |
+
</span>
|
317 |
|
318 |
<?php $this->paginate(); ?>
|
319 |
|
332 |
<div class="sui-box sui-message">
|
333 |
|
334 |
<?php if ( forminator_is_show_branding() ): ?>
|
335 |
+
<img src="<?php echo $plugin_path . 'assets/img/forminator-submissions.png'; // WPCS: XSS ok. ?>"
|
336 |
+
srcset="<?php echo $plugin_path . 'assets/img/forminator-submissions.png'; // WPCS: XSS ok. ?> 1x,
|
337 |
+
<?php echo $plugin_path . 'assets/img/forminator-submissions@2x.png'; // WPCS: XSS ok. ?> 2x"
|
338 |
alt="<?php esc_html_e( 'Forminator', Forminator::DOMAIN ); ?>"
|
339 |
class="sui-image"
|
340 |
aria-hidden="true"/>
|
admin/views/quiz/knowledge/content.php
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
<?php // phpcs:ignoreFile this file only html container for wizard which is handled by js. ?>
|
2 |
-
<
|
1 |
<?php // phpcs:ignoreFile this file only html container for wizard which is handled by js. ?>
|
2 |
+
<div id="forminator-knowledge-builder"></div>
|
admin/views/quiz/knowledge/header.php
CHANGED
@@ -1,9 +0,0 @@
|
|
1 |
-
<h1 class="sui-header-title"><?php echo $this->getWizardTitle(); // WPCS: XSS ok. ?></h1>
|
2 |
-
|
3 |
-
<div class="sui-actions-right">
|
4 |
-
<?php if ( forminator_is_show_documentation_link() ) : ?>
|
5 |
-
<a href="https://premium.wpmudev.org/docs/wpmu-dev-plugins/forminator/#chapter-4" target="_blank" class="sui-button sui-button-ghost">
|
6 |
-
<i class="sui-icon-academy"></i> <?php esc_html_e( "View Documentation", Forminator::DOMAIN ); ?>
|
7 |
-
</a>
|
8 |
-
<?php endif; ?>
|
9 |
-
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/views/quiz/list/content.php
CHANGED
@@ -60,42 +60,51 @@ $total_entries_from_last_month = count( Forminator_Form_Entry_Model::get_newer_e
|
|
60 |
</div>
|
61 |
|
62 |
<!-- START: Bulk actions and pagination -->
|
63 |
-
<div class="
|
64 |
|
65 |
-
<div class="sui-
|
66 |
|
67 |
-
<
|
68 |
-
style="align-items: center;">
|
69 |
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
|
|
|
|
|
|
|
|
|
|
75 |
|
76 |
-
<form method="post" name="bulk-action-form">
|
77 |
<?php wp_nonce_field( 'forminatorQuizFormRequest', 'forminatorNonce' ); ?>
|
78 |
|
79 |
-
<input type="hidden" name="ids" value=""/>
|
80 |
|
81 |
-
<
|
82 |
-
<
|
83 |
-
|
84 |
-
|
|
|
85 |
|
|
|
|
|
|
|
|
|
86 |
<?php endforeach; ?>
|
87 |
</select>
|
88 |
|
89 |
<button class="sui-button"><?php esc_html_e( 'Apply', Forminator::DOMAIN ); ?></button>
|
|
|
90 |
</form>
|
91 |
|
92 |
-
|
93 |
|
94 |
-
|
|
|
|
|
|
|
95 |
|
96 |
-
<div class="sui-pagination-wrap">
|
97 |
-
<span class="sui-pagination-results"><?php echo esc_html( sprintf( _n( '%s result', '%s results', $count, Forminator::DOMAIN ), $count ) ); ?></span>
|
98 |
-
<?php $this->pagination(); ?>
|
99 |
</div>
|
100 |
|
101 |
</div>
|
@@ -123,16 +132,24 @@ $total_entries_from_last_month = count( Forminator_Form_Entry_Model::get_newer_e
|
|
123 |
|
124 |
<div class="sui-accordion-item-header">
|
125 |
|
126 |
-
<div class="sui-accordion-
|
127 |
-
|
|
|
128 |
<input type="checkbox" id="wpf-module-<?php echo esc_attr( $module['id'] ); ?>" value="<?php echo esc_html( $module['id'] ); ?>">
|
129 |
<span aria-hidden="true"></span>
|
130 |
<span class="sui-screen-reader-text"><?php esc_html_e( 'Select this quiz', Forminator::DOMAIN ); ?></span>
|
131 |
</label>
|
132 |
-
</div>
|
133 |
|
134 |
-
|
135 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
136 |
</div>
|
137 |
|
138 |
<div class="sui-accordion-item-date"><strong><?php esc_html_e( 'Last Submission', Forminator::DOMAIN ); ?></strong> <?php echo esc_html( $module["last_entry_time"] ); ?></div>
|
@@ -140,7 +157,7 @@ $total_entries_from_last_month = count( Forminator_Form_Entry_Model::get_newer_e
|
|
140 |
<div class="sui-accordion-col-auto">
|
141 |
|
142 |
<a href="<?php echo $this->getAdminEditUrl( $module['type'], $module['id'] ); // WPCS: XSS ok. ?>"
|
143 |
-
class="sui-button sui-button-ghost">
|
144 |
<i class="sui-icon-pencil" aria-hidden="true"></i> <?php esc_html_e( 'Edit', Forminator::DOMAIN ); ?>
|
145 |
</a>
|
146 |
|
@@ -166,6 +183,30 @@ $total_entries_from_last_month = count( Forminator_Form_Entry_Model::get_newer_e
|
|
166 |
<button class="copy-clipboard" data-shortcode='[forminator_quiz id="<?php echo esc_attr( $module['id'] ); ?>"]'><i class="sui-icon-code" aria-hidden="true"></i> <?php esc_html_e( "Copy Shortcode", Forminator::DOMAIN ); ?></button>
|
167 |
</li>
|
168 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
169 |
<li>
|
170 |
<a href="<?php echo admin_url( 'admin.php?page=forminator-quiz-view&form_id=' . $module['id'] ); // WPCS: XSS ok. ?>">
|
171 |
<i class="sui-icon-community-people" aria-hidden="true"></i> <?php esc_html_e( 'View Submissions', Forminator::DOMAIN ); ?>
|
@@ -173,14 +214,14 @@ $total_entries_from_last_month = count( Forminator_Form_Entry_Model::get_newer_e
|
|
173 |
</li>
|
174 |
|
175 |
<li><form method="post">
|
176 |
-
<input type="hidden" name="
|
177 |
<input type="hidden" name="id" value="<?php echo esc_attr( $module['id'] ); ?>"/>
|
178 |
<?php wp_nonce_field( 'forminatorQuizFormRequest', 'forminatorNonce' ); ?>
|
179 |
<button type="submit"><i class="sui-icon-page-multiple" aria-hidden="true"></i> <?php esc_html_e( "Clone", Forminator::DOMAIN ); ?></button>
|
180 |
</form></li>
|
181 |
|
182 |
<li><form method="post">
|
183 |
-
<input type="hidden" name="
|
184 |
<input type="hidden" name="id" value="<?php echo esc_attr( $module['id'] ); ?>"/>
|
185 |
<?php wp_nonce_field( 'forminatorQuizFormRequest', 'forminatorNonce' ); ?>
|
186 |
<button type="submit"><i class="sui-icon-update" aria-hidden="true"></i> <?php esc_html_e( "Reset Tracking data", Forminator::DOMAIN ); ?></button>
|
60 |
</div>
|
61 |
|
62 |
<!-- START: Bulk actions and pagination -->
|
63 |
+
<div class="fui-listings-pagination">
|
64 |
|
65 |
+
<div class="fui-pagination-mobile sui-pagination-wrap">
|
66 |
|
67 |
+
<span class="sui-pagination-results"><?php echo esc_html( sprintf( _n( '%s result', '%s results', $count, Forminator::DOMAIN ), $count ) ); ?></span>
|
|
|
68 |
|
69 |
+
<?php $this->pagination(); ?>
|
70 |
+
|
71 |
+
</div>
|
72 |
+
|
73 |
+
<div class="fui-pagination-desktop sui-box">
|
74 |
+
|
75 |
+
<div class="sui-box-search">
|
76 |
+
|
77 |
+
<form method="post" name="bulk-action-form" class="sui-search-left"
|
78 |
+
style="display: flex; align-items: center;">
|
79 |
|
|
|
80 |
<?php wp_nonce_field( 'forminatorQuizFormRequest', 'forminatorNonce' ); ?>
|
81 |
|
82 |
+
<input type="hidden" name="ids" value="" />
|
83 |
|
84 |
+
<label for="forminator-check-all-modules" class="sui-checkbox">
|
85 |
+
<input type="checkbox" id="forminator-check-all-modules">
|
86 |
+
<span aria-hidden="true"></span>
|
87 |
+
<span class="sui-screen-reader-text"><?php esc_html_e( 'Select all', Forminator::DOMAIN ); ?></span>
|
88 |
+
</label>
|
89 |
|
90 |
+
<select class="sui-select-sm sui-select-inline" name="forminator_action">
|
91 |
+
<option value=""><?php esc_html_e( 'Bulk Action', Forminator::DOMAIN ); ?></option>
|
92 |
+
<?php foreach ( $bulk_actions as $val => $label ) : ?>
|
93 |
+
<option value="<?php echo esc_attr( $val ); ?>"><?php echo esc_html( $label ); ?></option>
|
94 |
<?php endforeach; ?>
|
95 |
</select>
|
96 |
|
97 |
<button class="sui-button"><?php esc_html_e( 'Apply', Forminator::DOMAIN ); ?></button>
|
98 |
+
|
99 |
</form>
|
100 |
|
101 |
+
<div class="sui-search-right">
|
102 |
|
103 |
+
<div class="sui-pagination-wrap">
|
104 |
+
<span class="sui-pagination-results"><?php echo esc_html( sprintf( _n( '%s result', '%s results', $count, Forminator::DOMAIN ), $count ) ); ?></span>
|
105 |
+
<?php $this->pagination(); ?>
|
106 |
+
</div>
|
107 |
|
|
|
|
|
|
|
108 |
</div>
|
109 |
|
110 |
</div>
|
132 |
|
133 |
<div class="sui-accordion-item-header">
|
134 |
|
135 |
+
<div class="sui-accordion-item-title sui-trim-title">
|
136 |
+
|
137 |
+
<label for="wpf-module-<?php echo esc_attr( $module['id'] ); ?>" class="sui-checkbox sui-accordion-item-action">
|
138 |
<input type="checkbox" id="wpf-module-<?php echo esc_attr( $module['id'] ); ?>" value="<?php echo esc_html( $module['id'] ); ?>">
|
139 |
<span aria-hidden="true"></span>
|
140 |
<span class="sui-screen-reader-text"><?php esc_html_e( 'Select this quiz', Forminator::DOMAIN ); ?></span>
|
141 |
</label>
|
|
|
142 |
|
143 |
+
<span class="sui-trim-text"><?php echo forminator_get_form_name( $module['id'], 'quiz'); // WPCS: XSS ok. ?></span>
|
144 |
+
|
145 |
+
<?php if ( 'publish' === $module['status'] ) {
|
146 |
+
echo '<span class="sui-tag sui-tag-blue">' . esc_html__( 'Published', Forminator::DOMAIN ) . '</span>';
|
147 |
+
} ?>
|
148 |
+
|
149 |
+
<?php if ( 'draft' === $module['status'] ) {
|
150 |
+
echo '<span class="sui-tag">' . esc_html__( 'Draft', Forminator::DOMAIN ) . '</span>';
|
151 |
+
} ?>
|
152 |
+
|
153 |
</div>
|
154 |
|
155 |
<div class="sui-accordion-item-date"><strong><?php esc_html_e( 'Last Submission', Forminator::DOMAIN ); ?></strong> <?php echo esc_html( $module["last_entry_time"] ); ?></div>
|
157 |
<div class="sui-accordion-col-auto">
|
158 |
|
159 |
<a href="<?php echo $this->getAdminEditUrl( $module['type'], $module['id'] ); // WPCS: XSS ok. ?>"
|
160 |
+
class="sui-button sui-button-ghost sui-accordion-item-action">
|
161 |
<i class="sui-icon-pencil" aria-hidden="true"></i> <?php esc_html_e( 'Edit', Forminator::DOMAIN ); ?>
|
162 |
</a>
|
163 |
|
183 |
<button class="copy-clipboard" data-shortcode='[forminator_quiz id="<?php echo esc_attr( $module['id'] ); ?>"]'><i class="sui-icon-code" aria-hidden="true"></i> <?php esc_html_e( "Copy Shortcode", Forminator::DOMAIN ); ?></button>
|
184 |
</li>
|
185 |
|
186 |
+
<li>
|
187 |
+
<form method="post">
|
188 |
+
<input type="hidden" name="forminator_action" value="update-status">
|
189 |
+
<input type="hidden" name="id" value="<?php echo esc_attr( $module['id'] ); ?>"/>
|
190 |
+
|
191 |
+
<?php if ( Forminator_Poll_Form_Model::STATUS_PUBLISH === $module['status'] ) : ?>
|
192 |
+
<input type="hidden" name="status" value="draft"/>
|
193 |
+
<?php elseif ( Forminator_Poll_Form_Model::STATUS_DRAFT === $module['status'] ): ?>
|
194 |
+
<input type="hidden" name="status" value="publish"/>
|
195 |
+
<?php endif; ?>
|
196 |
+
|
197 |
+
<?php wp_nonce_field( 'forminatorQuizFormRequest', 'forminatorNonce' ); ?>
|
198 |
+
<button type="submit">
|
199 |
+
|
200 |
+
<?php if ( Forminator_Poll_Form_Model::STATUS_PUBLISH === $module['status'] ) : ?>
|
201 |
+
<i class="sui-icon-unpublish" aria-hidden="true"></i> <?php esc_html_e( 'Unpublish', Forminator::DOMAIN ); ?>
|
202 |
+
<?php elseif ( Forminator_Poll_Form_Model::STATUS_DRAFT === $module['status'] ): ?>
|
203 |
+
<i class="sui-icon-upload-cloud" aria-hidden="true"></i> <?php esc_html_e( 'Publish', Forminator::DOMAIN ); ?>
|
204 |
+
<?php endif; ?>
|
205 |
+
|
206 |
+
</button>
|
207 |
+
</form>
|
208 |
+
</li>
|
209 |
+
|
210 |
<li>
|
211 |
<a href="<?php echo admin_url( 'admin.php?page=forminator-quiz-view&form_id=' . $module['id'] ); // WPCS: XSS ok. ?>">
|
212 |
<i class="sui-icon-community-people" aria-hidden="true"></i> <?php esc_html_e( 'View Submissions', Forminator::DOMAIN ); ?>
|
214 |
</li>
|
215 |
|
216 |
<li><form method="post">
|
217 |
+
<input type="hidden" name="forminator_action" value="clone">
|
218 |
<input type="hidden" name="id" value="<?php echo esc_attr( $module['id'] ); ?>"/>
|
219 |
<?php wp_nonce_field( 'forminatorQuizFormRequest', 'forminatorNonce' ); ?>
|
220 |
<button type="submit"><i class="sui-icon-page-multiple" aria-hidden="true"></i> <?php esc_html_e( "Clone", Forminator::DOMAIN ); ?></button>
|
221 |
</form></li>
|
222 |
|
223 |
<li><form method="post">
|
224 |
+
<input type="hidden" name="forminator_action" value="reset-views">
|
225 |
<input type="hidden" name="id" value="<?php echo esc_attr( $module['id'] ); ?>"/>
|
226 |
<?php wp_nonce_field( 'forminatorQuizFormRequest', 'forminatorNonce' ); ?>
|
227 |
<button type="submit"><i class="sui-icon-update" aria-hidden="true"></i> <?php esc_html_e( "Reset Tracking data", Forminator::DOMAIN ); ?></button>
|
admin/views/quiz/nowrong/content.php
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
<?php // phpcs:ignoreFile this file only html container for wizard which is handled by js. ?>
|
2 |
-
<
|
1 |
<?php // phpcs:ignoreFile this file only html container for wizard which is handled by js. ?>
|
2 |
+
<div id="forminator-personality-builder"></div>
|
admin/views/quiz/nowrong/header.php
CHANGED
@@ -1,9 +0,0 @@
|
|
1 |
-
<h1 class="sui-header-title"><?php echo $this->getWizardTitle(); // WPCS: XSS ok. ?></h1>
|
2 |
-
|
3 |
-
<div class="sui-actions-right">
|
4 |
-
<?php if ( forminator_is_show_documentation_link() ) : ?>
|
5 |
-
<a href="https://premium.wpmudev.org/docs/wpmu-dev-plugins/forminator/#chapter-4" target="_blank" class="sui-button sui-button-ghost">
|
6 |
-
<i class="sui-icon-academy"></i> <?php esc_html_e( "View Documentation", Forminator::DOMAIN ); ?>
|
7 |
-
</a>
|
8 |
-
<?php endif; ?>
|
9 |
-
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/views/quiz/popup/export.php
CHANGED
@@ -24,7 +24,7 @@ if ( $model instanceof Forminator_Quiz_Form_Model ) {
|
|
24 |
<div class="sui-actions-right">
|
25 |
|
26 |
<form action="<?php echo esc_attr( admin_url( 'admin.php?page=forminator-quiz' ) ); ?>" method="post">
|
27 |
-
<input type="hidden" name="
|
28 |
<input type="hidden" name="forminatorNonce" value="<?php echo esc_attr( $nonce ); ?>">
|
29 |
<input type="hidden" name="id" value="<?php echo esc_attr( $form_id ); ?>">
|
30 |
<button class="sui-button sui-button-primary"><i class="sui-icon-download" aria-hidden="true"></i> <?php esc_html_e( 'Download', Forminator::DOMAIN ); ?></button>
|
24 |
<div class="sui-actions-right">
|
25 |
|
26 |
<form action="<?php echo esc_attr( admin_url( 'admin.php?page=forminator-quiz' ) ); ?>" method="post">
|
27 |
+
<input type="hidden" name="forminator_action" value="export">
|
28 |
<input type="hidden" name="forminatorNonce" value="<?php echo esc_attr( $nonce ); ?>">
|
29 |
<input type="hidden" name="id" value="<?php echo esc_attr( $form_id ); ?>">
|
30 |
<button class="sui-button sui-button-primary"><i class="sui-icon-download" aria-hidden="true"></i> <?php esc_html_e( 'Download', Forminator::DOMAIN ); ?></button>
|
admin/views/settings/data/quizzes-privacy.php
ADDED
@@ -0,0 +1,91 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
$quiz_retain_number = get_option( 'forminator_retain_quiz_submissions_interval_number', 0 );
|
4 |
+
$quiz_retain_unit = get_option( 'forminator_retain_quiz_submissions_interval_unit', 'days' );
|
5 |
+
$quiz_retain_forever = false;
|
6 |
+
if ( empty( $quiz_retain_number ) ) {
|
7 |
+
$quiz_retain_forever = true;
|
8 |
+
}
|
9 |
+
|
10 |
+
?>
|
11 |
+
|
12 |
+
<div class="sui-box-settings-row">
|
13 |
+
|
14 |
+
<div class="sui-box-settings-col-1">
|
15 |
+
<span class="sui-settings-label"><?php esc_html_e( 'Quiz Privacy', Forminator::DOMAIN ); ?></span>
|
16 |
+
<span class="sui-description"><?php esc_html_e( 'Choose how you want to handle the quizzes submissions.', Forminator::DOMAIN ); ?></span>
|
17 |
+
</div>
|
18 |
+
|
19 |
+
<div class="sui-box-settings-col-2">
|
20 |
+
|
21 |
+
<span class="sui-settings-label"><?php esc_html_e( 'Submissions Retention', Forminator::DOMAIN ); ?></span>
|
22 |
+
<span class="sui-description"><?php esc_html_e( 'How long do you want to retain the quiz submissions for?', Forminator::DOMAIN ); ?></span>
|
23 |
+
|
24 |
+
<div class="sui-side-tabs" style="margin-top: 10px;">
|
25 |
+
|
26 |
+
<div class="sui-tabs-menu">
|
27 |
+
|
28 |
+
<label for="quiz_retain_submission-true" class="sui-tab-item<?php echo( $quiz_retain_forever ? ' active' : '' ); ?>">
|
29 |
+
<input type="radio"
|
30 |
+
name="quiz_retain_submission_forever"
|
31 |
+
value="true"
|
32 |
+
id="quiz_retain_submission-true"
|
33 |
+
<?php checked( $quiz_retain_forever, true ); ?> />
|
34 |
+
<?php esc_html_e( 'Forever', Forminator::DOMAIN ); ?>
|
35 |
+
</label>
|
36 |
+
|
37 |
+
<label for="quiz_retain_submission-false" class="sui-tab-item<?php echo( ! $quiz_retain_forever ? ' active' : '' ); ?>">
|
38 |
+
<input type="radio"
|
39 |
+
name="quiz_retain_submission_forever"
|
40 |
+
value="false"
|
41 |
+
id="quiz_retain_submission-false"
|
42 |
+
data-tab-menu="quiz_retain_submission"
|
43 |
+
<?php checked( $quiz_retain_forever, false ); ?> />
|
44 |
+
<?php esc_html_e( 'Custom', Forminator::DOMAIN ); ?>
|
45 |
+
</label>
|
46 |
+
|
47 |
+
</div>
|
48 |
+
|
49 |
+
<div class="sui-tabs-content">
|
50 |
+
|
51 |
+
<div data-tab-content="quiz_retain_submission" class="sui-tab-content sui-tab-boxed<?php echo( ! $quiz_retain_forever ? ' active' : '' ); ?>">
|
52 |
+
<div class="sui-row">
|
53 |
+
<div class="sui-col-md-6">
|
54 |
+
<div class="sui-form-field">
|
55 |
+
|
56 |
+
<input type="number"
|
57 |
+
name="quiz_submissions_retention_number"
|
58 |
+
placeholder="<?php esc_html_e( 'E.g. 10', Forminator::DOMAIN ); ?>"
|
59 |
+
value="<?php echo esc_attr( $quiz_retain_number ); ?>"
|
60 |
+
min="0"
|
61 |
+
class="sui-form-control sui-form-control-inline"/>
|
62 |
+
</div>
|
63 |
+
</div>
|
64 |
+
<div class="sui-col-md-6">
|
65 |
+
<div class="sui-form-field">
|
66 |
+
|
67 |
+
<select name="quiz_submissions_retention_unit">
|
68 |
+
<option value="days" <?php selected( $quiz_retain_unit, 'days' ); ?>>
|
69 |
+
<?php esc_html_e( "day(s)", Forminator::DOMAIN ); ?></option>
|
70 |
+
<option value="weeks" <?php selected( $quiz_retain_unit, 'weeks' ); ?>>
|
71 |
+
<?php esc_html_e( "week(s)", Forminator::DOMAIN ); ?></option>
|
72 |
+
<option value="months" <?php selected( $quiz_retain_unit, 'months' ); ?>>
|
73 |
+
<?php esc_html_e( "month(s)", Forminator::DOMAIN ); ?></option>
|
74 |
+
<option value="years" <?php selected( $quiz_retain_unit, 'years' ); ?>>
|
75 |
+
<?php esc_html_e( "years(s)", Forminator::DOMAIN ); ?></option>
|
76 |
+
</select>
|
77 |
+
|
78 |
+
</div>
|
79 |
+
</div>
|
80 |
+
</div>
|
81 |
+
|
82 |
+
</div>
|
83 |
+
|
84 |
+
</div>
|
85 |
+
|
86 |
+
</div>
|
87 |
+
|
88 |
+
|
89 |
+
</div>
|
90 |
+
|
91 |
+
</div>
|
admin/views/settings/tab-data.php
CHANGED
@@ -18,6 +18,8 @@ $nonce = wp_create_nonce( 'forminator_save_privacy_settings' );
|
|
18 |
|
19 |
<?php $this->template( 'settings/data/polls-privacy' ); ?>
|
20 |
|
|
|
|
|
21 |
<?php $this->template( 'settings/data/uninstall' ); ?>
|
22 |
|
23 |
</div>
|
18 |
|
19 |
<?php $this->template( 'settings/data/polls-privacy' ); ?>
|
20 |
|
21 |
+
<?php $this->template( 'settings/data/quizzes-privacy' ); ?>
|
22 |
+
|
23 |
<?php $this->template( 'settings/data/uninstall' ); ?>
|
24 |
|
25 |
</div>
|
assets/css/front.min.css.map
CHANGED
@@ -1 +1 @@
|
|
1 |
-
{"version":3,"sources":["webpack:///./assets/sass/helpers/_icons.scss","webpack:///./assets/sass/front.scss","webpack:///./assets/sass/helpers/_keyframes.scss","webpack:///./assets/sass/helpers/mixins/_opacity.scss","webpack:///./assets/sass/helpers/mixins/_body-class.scss","webpack:///./assets/sass/poll/_global.scss","webpack:///./assets/sass/helpers/_extensions.scss","webpack:///./assets/sass/helpers/mixins/_quiz-answer.scss","webpack:///./assets/sass/form/_global.scss","webpack:///./assets/sass/_grid.scss","webpack:///./assets/sass/helpers/_variables.scss","webpack:///./assets/sass/helpers/mixins/_breakpoints.scss","webpack:///./assets/sass/_utilities.scss","webpack:///./assets/sass/helpers/mixins/_notifications.scss","webpack:///./assets/sass/helpers/_colors.scss","webpack:///./assets/sass/helpers/mixins/_wysiwyg.scss","webpack:///./assets/sass/form/_bold.scss","webpack:///./assets/sass/helpers/mixins/_section-border.scss","webpack:///./assets/sass/helpers/mixins/_input.scss","webpack:///./assets/sass/helpers/mixins/_options.scss","webpack:///./assets/sass/helpers/mixins/_select.scss","webpack:///./assets/sass/helpers/mixins/_dropdown.scss","webpack:///./assets/sass/helpers/mixins/_multi-select.scss","webpack:///./assets/sass/helpers/mixins/_date.scss","webpack:///./assets/sass/helpers/mixins/_calendar.scss","webpack:///./assets/sass/helpers/mixins/_button.scss","webpack:///./assets/sass/helpers/mixins/_pagination.scss","webpack:///./assets/sass/form/_flat.scss","webpack:///./assets/sass/form/_default.scss","webpack:///./assets/sass/form/_material.scss","webpack:///./assets/sass/helpers/mixins/_poll-question.scss","webpack:///./assets/sass/helpers/mixins/_poll-description.scss","webpack:///./assets/sass/helpers/mixins/_poll-answers.scss","webpack:///./assets/sass/helpers/mixins/_poll-actions.scss","webpack:///./assets/sass/poll/_material.scss","webpack:///./assets/sass/quiz/_global.scss","webpack:///./assets/sass/helpers/mixins/_quiz-question.scss","webpack:///./assets/sass/helpers/mixins/_quiz-result.scss"],"names":[],"mappings":"AAAA,2+GACC,WACA,qBACA,cACA,iCACA,kBACA,gBACA,oBAGA,kCACA,oBACA,mCACA,kCCqCA,WDqPG,uBACA,kCACA,sPAKA,gBACA,kBCrPH,mCDgQC,gBCxPD,sCDwPC,gBChPD,oCD+O4B,gBCvO5B,kCDuO0B,gBC/N1B,oCD+N4B,gBCvN5B,gCDuNwB,gBC/MxB,wBD+MgB,gBCvMhB,oCDuM4B,gBC/L5B,wCD+LgC,gBCvLhC,sBDuLc,gBC/Kd,mCD6KC,gBCrKD,0EDqKC,gBCrJD,8BDqJC,gBC7ID,qCD6IC,gBCrID,kCDqIC,gBC7HD,mCD6HC,gBCrHD,kCDqHC,gBC7GD,+DD6GC,gBC7FD,6DD6FC,gBC7ED,mCD6EC,gBCrED,+BDqEC,gBC7DD,gCD6DC,gBCrDD,gCDqDC,gBC7CD,sCD6CC,gBCrCD,oEDqCC,gBCrBD,mEDqBC,gBCLD,6BDGsB,cCKtB,sCDHC,gBCWD,mCDXC,cCmBD,kCDnBC,cC2BD,8BD7BsB,cCqCtB,yBDrCU,YC6CV,gCD3CC,YCmDD,iCDnDC,YC2DD,8BD7DsB,YCqEtB,+BDnEC,YC2ED,4BD7EU,cCqFV,4BDrFU,cC6FV,+BD3FC,cCmGD,8BDrGsB,cC6GtB,8BD7GsB,gBCqHtB,wBDrHU,gBC6HV,yBD7HU,YCqIV,wBDrIU,YC6IV,iED3IC,eC2JD,qED3JC,eC2KD,qED3KC,cC2LD,uED3LC,eC2MD,mCD3MC,gBCmND,iCDrNsB,cC6NtB,6BD7NU,gBCqOV,8BDrOU,eC6OV,yBD7OU,YCqPV,yBDrPU,YC6PV,2BD7PU,YCqQV,4BDrQU,gBC6QV,0BD7QU,cCqRV,mCDrRsB,cC6RtB,yBD7RU,YCqSV,yBDrSU,gBC6SV,kCD7SU,cCqTV,gCDrTU,cC6TV,2BD7TU,cCqUV,4BDrUU,cC6UV,0DD7UU,cC6VV,2BD7VU,eCqWV,+BDrWU,YC6WV,wBD7WU,YCqXV,yBDrXU,cC6XV,0BD7XU,YCqYV,wBDrYU,YC6YV,6BD7YU,YCqZV,8BDrZU,cC6ZV,8BD7ZU,YCqaV,2BDraU,YC6aV,yBD7aU,YCqbV,6BDrbU,YC6bV,+BD7bU,gBCqcV,+BDrcU,gBC6cV,+BD7cU,YCqdV,+BDrdU,YC6dV,wBD7dC,YCqeD,wBDreC,YC6eD,0BD7eU,YCqfV,yCDnfC,cC2fD,8BD7fU,YCqgBV,0BDrgBU,cC6gBV,2BD7gBU,YCqhBV,wBDrhBC,YC6hBD,0BD7hBU,YCqiBV,4BDriBU,gBC6iBV,uBD7iBC,YCqjBD,4BDrjBU,YC6jBV,qCD7jBU,YCqkBV,6BDrkBU,gBC6kBV,0BD7kBC,eCqlBD,uBDrlBC,YC6lBD,6BD7lBU,cCqmBV,8DDrmBU,eCqnBV,yBDrnBC,YC6nBD,wBD7nBC,YCqoBD,wBDroBC,YC6oBD,uBD7oBC,gBCqpBD,0BDrpBC,cC6pBD,6BD7pBU,YCqqBV,4BDrqBQ,YC6qBR,wBD7qBC,YCqrBD,0BDrrBC,YC6rBD,wBD7rBC,YCqsBD,mCDrsBU,YC6sBV,oCD7sBU,gBCqtBV,iCDrtBU,gBC6tBV,0BD7tBC,gBCquBD,2BDruBC,m9BAKA,+BALA,gBCqvBD,gCDrvBC,gBC6vBD,8BD9vBC,gBCswBD,yBDtwBQ,gBC8wBR,kCD7wBC,YCqxBD,gCDtxBC,YC8xBD,gCD9xBC,YCsyBD,kCDryBC,YC6yBD,mCD7yBC,YCqzBD,iCDtzBuB,YC8zBvB,sCD7zBC,YCq0BD,mCDr0BC,YC60BD,kCD70BC,YCq1BD,mCDr1BC,YC61BD,kCD71BC,YCq2BD,qCDr2BC,YC62BD,wBD92BQ,YCs3BR,oCDr3BC,YC63BD,mCD73BC,YCq4BD,8BDt4BQ,YC84BR,0BD94BQ,gBCs5BR,gCDt5BQ,cC85BR,kCD95BuB,eCs6BvB,oCDr6BC,gBC66BD,yBD96BQ,YCs7BR,gCDt7BQ,YC87BR,2CD77BQ,YCq8BR,6BDt8BQ,cC88BR,wBD98BQ,YCs9BR,6BDt9BQ,gBC89BR,iCD99BQ,cCs+BR,yBDt+BQ,YC8+BR,gCD9+BQ,YCs/BR,mCDt/BC,YC8/BD,0CD7/BC,YCqgCD,+BDtgCQ,gBC8gCR,2CD7gCC,eCqhCD,0BDthCQ,YC8hCR,yBD9hCQ,YCsiCR,gCDtiCQ,gBC8iCR,gCD9iCQ,gBCsjCR,gCDtjCQ,cC8jCR,4BD9jCQ,YCskCR,yBDtkCQ,YC8kCR,0BD9kCQ,YCslCR,2BDtlCQ,YC8lCR,4BD9lCQ,YCsmCR,iCDtmCQ,YC8mCR,8BD9mCQ,YCsnCR,+BDtnCQ,YC8nCR,0CD7nCC,YCqoCD,sCDtoCC,YC8oCD,0BD9oCQ,gBCspCR,4BDtpCQ,cC8pCR,uBD9pCA,gBCsqCA,+BDtqCQ,cC8qCR,0BD9qCC,gBCsrCD,+BDtrCQ,gBC8rCR,yBD9rCA,gBCssCA,4BDtsCC,gBC8sCD,2BD9sCA,gBCstCA,0BDttCA,cC8tCA,yBD9tCA,gBCsuCA,4BDtuCA,eC8uCA,2BD9uCA,eCsvCA,6BDtvCA,YC8vCA,4BD9vCA,YCswCA,+BDtwCC,gBC8wCD,2BD9wCA,cCsxCA,oCDtxCQ,cC8xCR,4BD9xCA,gBCsyCA,6BDtyCA,gBC8yCA,8BD9yCA,cCszCA,yCDtzCQ,gBC8zCR,2BD31CuB,YCm2CvB,uBDh0CC,eCw0CD,kCD90CA,YCs1CA,wCDt1CQ,YC81CR,wBDx1CQ,YCg2CR,8BDt2CA,gBC82CA,kCD92CA,cCs3CA,0BD54CgB,cCo5ChB,uCD93CQ,cCs4CR,0BD15CqB,gBCk6CrB,iCD94CA,gBCs5CA,qBDr5CU,qBCy5CV,0BDp5CQ,gBCw5CR,4BD75CC,GAAS,sDCk6CR,GDh6CD,wDCo6CC,CACF,oBDv6CC,GAAS,sDCk6CR,GDh6CD,wDCo6CC,CACF,wBCvsDD,GAAU,sDAEG,GAAY,wDD8sDtB,CACF,gBCjtDD,GAAU,sDAEG,GAAY,wDD8sDtB,CC3sDU,4BAWZ,GACC,UAAW,wEAGA,aAOb,sCDisDG,CCvtDU,oBAWZ,GACC,UAAW,wEAGA,aAOb,sCDisDG,CChsDC,+BAEa,GAAE,uBAGX,wEDssDL,CC3sDC,uBAEa,GAAE,uBAGX,wEDssDL,CC9rDH,mCAEiB,GAEb,8CAEI,yBAAW,2DC/CT,6BACA,2EACR,sEAFQ,kBACA,yEACR,oEAFQ,iBFiwDP,CCxtDH,2BAEiB,GAEb,8CAEI,yBAAW,2DC/CT,6BACA,2EACR,sEAFQ,kBACA,yEACR,oEAFQ,iBFiwDP,CEhwDO,8vFCGR,SC0BD,mBAA0B,isCDrBT,4BA0Bf,sEErBF,kCACA,2BACgB,mCAChB,oCACgB,+7CC5BE,qBHmBjB,gBAAgB,4BGnBjB,qBD+CA,UAAW,2BAED,kDACV,2BAGA,mME8CA,oDJrFC,CIsFD,uNADA,eFhCC,uRAID,+FE6BA,cAA6B,mTJtF5B,sDEyDD,iCAMW,wDG5ED,mBLaT,sHKVe,gBAIb,4EAKe,aLCjB,wIMgBsB,kBNhBC,8JKmBpB,gBLnBH,yBAAuB,qFAAvB,mEK6BK,mBAEL,kBRi6DC,CQ/5DA,yBAIE,uFLrCH,cAAuB,2CHu8DtB,CQ16DI,yBAEL,uFL/BA,iBK6BK,iDRi7DJ,CQj7DI,yBAsBJ,uFLnDD,cAAuB,2CHq9DtB,CQx7DI,yBAEL,wFL/BA,eAAuB,eK6BlB,6CRg8DJ,CQ97DD,yBAoCC,kRApCD,gBRq8DC,CQv5DA,yBAEC,4PAlDG,mBAEU,gBA8Cd,eRg6DA,CQ95DC,yBAYG,gwBA9DuB,eR29D3B,CQz9DD,yBAgDE,4NAlDG,6BAEL,cRk+DC,CQp7DA,yBAEC,gFL/EF,gBHugEC,CGvgED,yBK6BK,qEE7BY,wEPAM,mBK6BlB,kBRm/DJ,CQj/DD,yBA4FE,2HA9FG,aRy/DJ,CQr5DD,yBAEC,yGAtGI,cR+/DJ,CQ//DI,yBAoGL,2EEjIwB,8DVkiEvB,CGliED,yBK6BK,4IR4gEJ,CQh5DA,yBAIC,0TAFD,gBRq5DA,CQ14DC,yBAEC,oSAfF,mBR85DA,CQj5DC,yBAEC,oGLxKoB,gBH6jEtB,CQhiEI,yBA4HJ,yFLzJD,kBK6BK,oCRwiEJ,CQ56DA,4CA0CE,iBACA,UAAa,uCL/LhB,sBAAuB,wDAItB,aAAY,yBAJb,wDAYE,aHqkED,CUtlEkB,uDPKwB,gBAUxC,yBAVH,uDAoBE,gBHukED,CUhmEkB,yBPKnB,4CAkBG,iBH+kEF,CUtmEO,8CPKe,oDMQb,+DNoBR,uBA5BF,yBAAuB,sEOIJ,uBV2mElB,CG/mED,yBQxBD,uEDmBoB,uBV0nElB,CWtoEF,kDAGW,oDRSV,kEICY,gDAGb,YACQ,eAAE,gCASV,2BK/BQ,kBAER,oGAGA,mCH8BiB,CG5BjB,uDAcC,WACA,0BTLA,kBIcD,mBKtBC,eAEA,8BAMA,WTAA,kDSRA,cZgrED,yGO1pEA,2CJdC,kHIcD,qEK0DU,wBAET,gHL5DD,gBKgEC,4DACC,aAAa,2DAQd,gBACY,yBL1Eb,gDK8Ec,cZ8mEZ,CU1sEO,iDHcT,YAAuB,eAEtB,gCAED,2BKnCQ,kBAER,oGAGA,mCH8BiB,CG5BjB,wDAuBC,WACA,0BTdA,kBIkBD,mBK1BC,eAEA,8BAMA,WTAA,mDSRA,cZovED,2GO1tEA,2CJlBC,CAAuB,mHIkBxB,qEKsDU,wBAET,kHLxDD,gBK4DC,6DACC,aAAa,4DAQd,gBACa,yBLtEd,iDK0EgB,cZkrEd,CU9wEO,kDHkBT,YK8EC,6BThGA,kBIsBD,2BKvCQ,kBAER,oGAGA,mCH8BiB,CG5BjB,yDAgCiB,WAChB,0BTvBA,kBIsBD,mBK9BC,eAEA,8BAMU,WTAV,oDSRA,cAkCC,6GLJF,2CJtBC,CIsBD,0LKkDU,wBAET,oHLpDD,gBKwDO,8DACL,aAAa,6DAQd,gBTvFA,yBIsBD,kDKsEiB,cZsvEf,CUl1EO,mDHsBT,YK0EC,6BThGA,kBI0BD,2BK3CQ,kBAER,oGAGA,mCH8BiB,CG5BjB,0DCqBU,uBDqBT,cThCA,kBI0BD,mBKlCC,eAEA,8BAMY,WTAZ,qDSRO,cA2CN,+GLTF,2CJ1BC,CI0BD,4LK8CU,wBAET,sHLhDD,gBJ1BC,+DS+EC,aAAiB,8DAQlB,gBTvFA,yBI0BD,mDG1BC,cVs5EC,CUt5EO,mDH0BT,YKsEC,6BThGA,kBI8BD,2BK/CQ,kBAER,oGAGA,mCH8BiB,CG5BjB,0DCaS,uBDsCR,cTzCA,kBI8BD,mBKtCC,eAEA,6BAMU,kCL8BX,gCKcE,mBACQ,oDCzDD,sFD4DP,qDAEW,6HLpBb,2CJ9BC,CI8BD,4LK0CU,wBAET,sHL5CD,gBJ9BC,+DS+EC,aAAiB,8DAQlB,gBTvFA,yBI8BD,mDG9BC,cV+9EC,CU/9EO,uFPAR,mBIkCD,2GJlCwB,kBI2CvB,6ICdK,mBRg9EJ,COx7ED,yBAAkC,wIAUjC,mBPo7EA,COl7EA,mGJjED,YI0FD,kDACA,oEJ3FC,4EIiGe,qCJjGf,qGI+FD,4FAQe,mEJvGd,CI+FD,sFJ/FC,2GIgHE,SJhHF,yHIuHA,yCAGC,kIAWD,iBPu5EC,COv5ED,iKJrIA,4EI+JqB,mBJ/JrB,iKIwKE,kBJxKF,yMAAuB,wCIsLtB,2NCzJI,gBR4hFJ,CQ5hF2B,yBDuK3B,kQAWA,gBPi3EA,COj3EA,0DAOI,YAGU,6BJzNf,eWhBD,iBAEC,gBX0CkB,qNYtBnB,iBZDC,8GAAuB,iBAuBL,qFAvBlB,oBAAuB,6BarBxB,gBAAkB,cACjB,UACA,kBACS,2FbkBT,mBAAuB,4FAAvB,oBAuBkB,uIc5CnB,0BdqBC,cAAuB,mBcpBxB,gCAEC,2tBdkBA,qDAAuB,kkBcIhB,sFdJgB,UDTf,iBACA,yJCQR,wCDRQ,wXCQR,yBAAuB,sEDTf,kBACA,qMCQe,yBcpBxB,sEfWS,kBACA,+MCQe,yBcpBxB,sEfWS,kBACA,qEAER,YCMA,iCAAuB,gEckCvB,cdlCA,uIcrBD,6CdqBC,oBcqEA,uIAsDG,6Bd3HH,mBAAuB,gBc+BxB,kEAqHG,Yd7HgB,kEAKJ,uEA5Bd,aAAuB,2IelBvB,sEhBSQ,iBACA,4FCQR,eAAuB,8JelBN,kEAwBhB,oEAEC,SAAS,UACT,mGfTF,wBAAuB,oEDTf,iBACA,mICQe,iBelBvB,2FfkBA,eAAuB,uBelBvB,mBAsEC,iHfpDD,eAAuB,4FAAvB,WAAuB,+DelBvB,iBAwBC,mEAoFQ,2Ff1FT,iBAAuB,mGAAvB,UAAuB,uGAAvB,mBAAuB,mGAAvB,YAAuB,mBelBvB,qEAqKI,uEfnJmB,8JelBH,sEhBSZ,iBACA,kGCQR,eAAuB,qDelBvB,yGAwBC,sIAEC,SAAS,UACT,yGfTqB,wBelBvB,oEhBSQ,iBACA,4IgBVR,kHfkBA,eAAuB,celBvB,mBAAoB,SAsEnB,uHfpDsB,iHAAvB,WAAuB,+DelBvB,iBAwBC,mEAoFQ,iGf1FT,iBAAuB,uHAuBL,sJgB5CQ,qBhBqB1B,kXAAuB,4SgBpBH,eAOpB,8LhBaA,YAAuB,iBgBpBxB,mBAAqB,gBAOpB,gDAsFY,4SA7FQ,iBAOpB,gDAAmB,kPhBaI,kBgB2JtB,4SA/KmB,mBAOpB,sSAwKsB,WAEpB,iEAAmB,yGAwBlB,kEACC,oEAEA,kBACA,kBACA,oTA7BF,wOAwBC,eAAyB,0SA1BN,aAEpB,oWAgFC,0DAAmB,sGC9PrB,8DAFM,sBAGN,oCACe,gBACJ,0GAHX,oDAMC,4sCARK,qDAGN,0LAHM,SAGN,mCAsBC,4OAtBD,SAA0B,gBAsBzB,sJAvByB,WAFpB,sJAEoB,eAFpB,gSAAP,YAAO,4XAAkB,YAGxB,iBAgFE,mCAUC,iBAGE,0LAhGC,YAGN,iEAsBC,gJAzBF,ajB0CkB,wEAKJ,mBA5Bd,SAAuB,iOAAvB,iKkBrBD,gBlBqBC,kIAAuB,gDkBrBxB,wEZ6JqC,mCNxIb,iCkBrBxB,mBlB4CmB,iEAKN,kBA5BZ,2GAAuB,uOAAvB,oBAAuB,emBrBxB,4BAAgB,kBA+DP,2Bb8BuB,cAFA,oGc3FhC,SAOC,iDACA,gCARD,0IAgBE,6BAhBF,kBAYC,kBAKC,wJADmB,cAhBrB,oJA2BG,aA3BH,4EA4Ba,cA5Bb,4ExBiCW,ewBjCX,sExBiCE,qDwBjCF,6EAyCgB,iCAzChB,2BAYC,mDAgCG,UAAc,0CA5ClB,CAA0B,wHAmDzB,SAKC,8HALD,SAUO,kBA7DR,0QA8DE,cA9DF,+DAkEU,gBAlEV,+LAmDC,oWAnDD,yBAmDC,sErBvCQ,kBACA,oGqBbT,iBAOC,mBAPD,iDAuII,gBAQA,kCA/IJ,2IAgBE,QAAmB,qEACA,SAjBrB,qEAkLK,UAlLL,0IAgBE,sBAhBF,yJAgBqB,gCAhBrB,sEAqNM,2BArNN,kLd2HmC,Yc3HnC,mDAwCE,aAGC,8HAQF,YAUU,uBA7DX,iBAmDC,0QAWC,sBA9DF,mIAmQG,gDpBvNgB,6IqB5ClB,0BrBqBA,cAAuB,cqBpBxB,SAAM,kBACL,oBACQ,aACC,gBACU,iBAEnB,gDACA,6vBrBaA,qDAAuB,qBqBpBlB,8lBrBoBL,0BAAuB,sEDTf,iBACA,+JCQR,yBAAuB,uEDTf,mBACA,qKCQR,yNqBpBD,+NrBoBwB,cHolHtB,CwBjgHI,yBAGL,6NrBtFuB,eH2lHtB,CwBxgHI,yBAGL,uMrBtFuB,2BqBmFlB,kChB3DA,CR6kHJ,CwB/gHK,gDAmBJ,iBACA,UAAU,uCrB1GZ,sBAAuB,4DAItB,aAAY,yBAJb,4DOLQ,aV2nHP,CU3nHkB,2DPK4B,gBAUhC,yBAVQ,2DOLjB,gBVqoHL,CUroHuB,yBPKD,gDAkBP,iBHonHf,CU3oHO,kDPKe,oDAuBL,4EAKJ,+BA5Bd,mGAAuB,mBsBrBxB,kGtBqBC,mDAAuB,csBrBxB,+HtBqBwB,qSAAwB,kBsBrBhD,qBA6BC,iNtBRuB,kBAAwB,2GAAxB,gCsBrBxB,eA6BC,mFAyCQ,gBtBjDR,2LAAuB,mBsBsDxB,mGtBtDC,wBAAuB,kBAAwB,UsBsDhD,mBAA2B,SAYzB,+EtBlED,sHAAuB,0FAAvB,gBAAuB,+EAAvB,iCAAuB,qBsB+GxB,uBAA8B,yBAY3B,2IjBnGG,cR4sHJ,CQ5sH2B,yBiB4G5B,0IjB5GK,eRktHJ,CQltH2B,yBiB4G5B,+HtBpI+C,cHgvH9C,CQxtHI,yBiB4GL,yGtBpIuB,mBHsvHtB,CGtvH8C,yBKwB1C,gHLxBkB,cH4vHtB,CG5vH8C,yBKwBnB,yGLxBL,gBHkwHtB,CGlwHsB,yBKwBlB,4GLxBkB,kIKwBlB,gBiBsJL,iBzB6lHC,CyB7lH6B,sFtB9K9B,iBAAuB,qFAAvB,iBAAuB,qIsBuMvB,qHtBvMA,cAAuB,kBsBuMvB,8BAmCE,mBACC,iBACA,mBAkBE,QhB/I0B,yBgBiJ1B,4GtBhQkB,iBAAwB,uDKwB1C,2BRwxHJ,CyB7/GA,yBAKY,qOtBxTU,YAAwB,WKwB1C,gCiB2RJ,sBzBygHA,CyBz/GG,yBAEA,iIApBE,4BAEL,qCzBmhHA,CyBv+GI,yBAGS,kIjB1UT,eRozHJ,CQpzHI,yBiB2RJ,yGtBnTsB,uFKwBlB,8DR4zHJ,CyBprHD,sGtBhKuB,yBsBrBxB,2GtBqBwB,yBAuBL,qNuBtBnB,iBvBDC,8GAAuB,iBAuBL,qFAvBlB,oBAAuB,6BarBxB,gBAAkB,cACjB,UACA,kBACS,2FbkBT,mBAAuB,4FAAvB,oBAuBkB,uIc5CnB,0BdqBC,cAAuB,mBcpBxB,gCAEC,2tBdkBA,qDAAuB,kkBcpBJ,sFdoBI,UDTf,iBACA,yJCQR,wCDRQ,wXCQR,yBAAuB,sEDTf,kBACA,qMCQR,yBAA+C,sEDTvC,kBACA,+MCQe,yBcpBxB,sEfWS,kBACA,qEAER,YCMA,iCAAuB,gEckCvB,cdlCA,uIcrBD,8CdqBC,qBAAuB,kEciEX,sBdjEZ,gBAAuB,qEc2HpB,4Bd3HH,mEcoJE,Yd7HgB,kEAKN,uEA5BZ,aAAuB,2IelBvB,sEhBSQ,iBACA,4FCQR,eAAuB,8JelBvB,kEAwBC,oEACgB,SACN,UACT,mGfTF,wBAAuB,oEDTf,iBACA,mICQe,iBelBvB,2FfkBA,eAAuB,uBelBvB,mBAsEC,iHfpDD,eAAuB,4FAAvB,WAAuB,+DelBvB,2DAwBC,2FfND,iBAAuB,mGAAvB,WAAuB,wGAAvB,mBAAuB,mGAAvB,YAAuB,mBelBvB,qEAqKI,uEfnJJ,aAAuB,iJelBvB,sEhBSQ,iBACA,kGCQR,eAAuB,qDelBvB,yGAwBC,sIACgB,SACN,UACT,yGfTqB,wBelBvB,oEhBSQ,iBACA,4IgBVR,kHfkBA,eAAuB,celBvB,4BAsEC,uHfpDsB,iHAAvB,WAAuB,+DelBvB,2DAwBC,iGfND,iBAAuB,wHAuBL,sJgB5CA,qBhBqBlB,kXAAuB,4SgBpBH,eAOpB,8LhBaA,aAAuB,yBgBpBxB,kDAOC,4SAPoB,iBAOpB,kDAAmB,kPhBaI,kBgB2JtB,4SA/KmB,mBAOpB,sSAwKsB,WAEpB,iEAAmB,yGAwBlB,kEAAyB,sFAIxB,oBACA,oTA7BF,4OAwBC,eAAyB,0SA1BN,aAEpB,oWAgFC,0DAAmB,sGC9PrB,8DAFM,sBAGN,yBACC,0GAFD,oDAA0B,4sCAFpB,qDAGN,0LAHM,SAGN,mCAsBC,4OAtBD,yBAsBC,sJAvByB,WAFpB,sJAEoB,eAFpB,gSAkFW,aAlFX,yYAGN,yBAgFE,iBAUC,0LA7FG,aAGN,mEAsBiB,gJA6ID,ajB5HC,wEAKJ,mBA5Bd,2YkBrBD,gBlBqBC,8HAAuB,kDkBrBxB,wEZsUoC,mCNjTZ,gBAuBL,iEAKhB,kBA5BF,2GAAuB,uOAAvB,oBAAuB,eAAwB,WmBrBhD,iBAAgB,kBA+DV,2BAUS,cb2MgB,oGcpR/B,SAOC,iDACA,gCARD,0IAgBE,6BAhBF,kBAYC,kBAKC,wJADmB,cAhBrB,oJA2BG,aA3BH,4EA4Ba,cA5Bb,4ExBiCW,ewBjCX,sExBiCE,qDwBjCF,6EAyCY,iCAzCZ,2BAYC,mDAgCG,UAAS,0CA5Cb,yHAmDC,SAAuB,8HAAvB,SAUM,kBA7DP,0QA8DE,cA9DF,+DAkEM,gBAlEN,+LAmDC,oWAnDD,yBAmDC,sErBvCQ,kBACA,oGqBbT,eAOC,iDACA,iBAmIG,oBA3IJ,0IAgBE,SAAmB,qEACA,UAjBrB,qEAkLK,WAlLL,0IAgBE,sBAhBF,yJAgBqB,gCAhBrB,sEAqNM,4BArNN,mLdmR+B,YcnR/B,8HAmDC,aAUU,uBA7DX,iBAmDC,0QAWC,sBA9DF,mIAmQG,kDdtOY,6Ie7Bd,0BrBqBA,cAAuB,cqBpBxB,SAAM,kBACL,oBACQ,aACC,iCAGT,kDACA,6vBrBaA,qDAAuB,qBqBpBxB,8lBrBoBC,0BAAuB,sEDTf,iBACA,+JCQR,yBAAuB,uEDTf,mBACA,qKCQR,yNAA+C,+NAAxB,cH41JtB,CG51J8C,yBKwBnB,6NLxBL,eHm2JtB,CGn2J8C,yBKwBnB,uMLxBL,2BAAwB,qBKwB1C,cRq1JJ,CwBvxJK,gDAmBJ,iBACA,UAAU,uCrB1GZ,sBAAuB,4DAItB,aAAY,yBAJb,4DOLM,aVm4JL,CUn4JkB,2DPK4B,gBAUlC,yBAVb,2DOLM,gBV64JL,CU74JkB,yBPKI,gDAkBpB,iBH43JF,CUn5JO,kDPKe,oDMQT,4ENoBA,+BA5Bd,mGAAuB,mBsBrBxB,kGtBqBC,mDAAuB,cAAwB,iBsBrBhD,8GtBqBwB,uTsBrBxB,qBA6BC,iNtBRuB,6JsBrBxB,eAA2B,OA6B1B,4EAyCM,gBtBjDN,2LAAuB,mBsBsDxB,mGtBtDC,wBAAuB,4BsBsDxB,mBAA2B,SAYzB,+EtBlED,sHAAuB,0FAAvB,gBAAuB,+EAAvB,yCAAuB,2IKwBlB,cRi9JJ,CQj9J2B,yBiB4G5B,0IjB5GK,eRu9JJ,CQv9J2B,yBiB4G5B,+HtBpI+C,cHq/J9C,CQ79JI,yBiB4GL,yGtBpIuB,mBH2/JtB,CG3/JsB,yBKwBlB,gHLxBkB,cHigKtB,CGjgK8C,yBKwB1C,yGLxBkB,gBHugKtB,CGvgKsB,yBKwBlB,4GLxBkB,kIKwBlB,gBRu/JJ,CyBj2JD,sFtB9KA,iBAAuB,qFAAvB,iBAAuB,qGAAvB,cAAuB,kBsBuMvB,qHtBvMA,cAAuB,kBsBuMvB,8BAmCE,mBACC,SAAS,QACT,gDAkBE,4HtB9PkB,8CsBuMvB,yBAEG,4GtBzMoB,wEKwBlB,2BRgiKJ,CyBrwJA,yBAKG,qOtBxTmB,YAAwB,WKwB1C,gCiB2RJ,sBzBixJA,CyBpwJS,yBAKN,iItBrU2C,kBKwB1C,UiB2RJ,qCzB2xJA,CyB/uJI,yBAGS,kIAjDR,ezBmyJL,CQ5jKI,yBiB2RJ,yGtBnTsB,uFKwBlB,8DRokKJ,CQpkK2B,sGLxBL,yBsBrBxB,2GtBqBwB,yBAuBL,8NwBtBnB,iBxBDC,iHAAuB,kBwBMxB,iBxBiBmB,wFAvBlB,oBAAuB,6BarBxB,gBAAkB,cACjB,UAAW,kBAEF,8FbkBT,mBAAuB,+FAAvB,oBAuBkB,6Ic5CnB,0BdqBC,cAAuB,mBcpBxB,gCAEC,yvBdkBA,qDAAuB,0lBAAvB,0BAAuB,sEDTf,iBACA,+JCQR,wCDRQ,oYCQR,yBAAuB,sEDTf,kBACA,2MCQe,+FDTf,kBACA,qNCQe,yBcpBxB,sEfWS,kBACA,wEAER,YCMA,iCAAuB,mEckCvB,cdlCA,6IcrBD,6CdqBC,oBcqEA,6IAkDG,6BdvHH,mBAAuB,kBc+BxB,qEAiHG,YdzHgB,qEAKJ,uEA5Bd,aAAuB,8IelBvB,sEhBSQ,iBACA,+FCQR,eAAuB,8JelBvB,kEAwBC,oEACS,SACD,UACP,sGfTqB,4FDTf,iBACF,cAAE,wHCQe,iBelBvB,8FfkBA,eAAuB,uBelBvB,mBAsEC,oHfpDD,eAAuB,+FAAvB,WAAuB,+DelBvB,iBAwBC,qCAoFE,gDTyUgC,8FNnanC,iBAAuB,4NAAvB,mBAAuB,qIelBvB,wEAqKI,uEfnJmB,iKelBvB,sEhBSQ,iBACA,qGCQR,eAAuB,qDAA2B,yGeMjD,sIACS,SACD,UACP,4GfTqB,wBelBvB,oEhBSQ,iBACF,cAAE,iICQ0C,iBelBlD,oGfkBA,eAAuB,cAA2B,SelBlD,mBAsEC,0HfpDsB,oHAAvB,WAAuB,+DelBvB,iBAwBC,qCAoFE,gDTyUgC,oGNnanC,iBAAuB,2HAuBL,4JAvBlB,mZAAuB,kTgBpBH,eAOpB,oMhBaA,YAAuB,oCgBpBxB,kBAOC,gDAsFY,kTA7FQ,iBAOpB,gDAAmB,wPhBaI,kBgB2JtB,kTA/KmB,mBAOpB,4SAwKsB,WAEpB,iEAAmB,yGAwBlB,wJAIC,kBAAsB,0TA5BxB,wOAwBC,+TA1BmB,aAEpB,0WAgFC,0DAAmB,4GC9PrB,8DAFM,sBAGN,oCACU,kBACC,gBACE,gHAJb,oDAME,4vCARI,qDAGN,gMAHM,SAGN,mCAsBC,kPAtBD,yBAsBC,4JAeyB,WAxCpB,4JA4CoB,eA5CpB,4SAAP,YAAO,wYAGN,6BAA6B,mBAgF3B,kBAUC,iBAGE,gMAhGC,YAGN,iEAsBC,sJAzBF,ajB0CkB,2EAKJ,mBA5Bd,SAAuB,0OAAvB,uKkBrBsB,gBlBqBtB,qIAAuB,gDkBrBxB,2EZkgByC,mCN7ejB,iCkBrBxB,mBAmEG,kBlBvBgB,oEAKJ,kBA5Bd,8GAAuB,6OAAvB,SAAuB,qCmBrBxB,iBAAgB,kBA+DV,8BboZ8B,cACI,0GcpdxC,SAOC,oDACA,gCARD,gJAgBE,6BAhBF,kBAYC,kBAKC,8JAMS,cAvBX,0JA2BG,aA3BH,+EA4BiB,cA5BjB,+ExBiCsC,ewBjCtC,yExBiCE,qDwBjCF,4IAYC,sDAgCG,UACA,0CA7CJ,+HAmDC,SAKC,oIALD,SAUO,kBA7DR,sRA8DO,cA9DP,kEAmEI,gBAnEJ,qMAmDC,gXAnDD,yBAmDC,sErBvCQ,kBACA,0GqBbT,iBAOC,mBAPD,oDAuII,gBAQA,mCA/IJ,0BAYC,gJAIC,QAhBF,wEA0KM,SA1KN,wEAkLK,UAlLL,gJAgBE,sBAhBF,+JAuBW,gCAvBX,yEAqNM,2BArNN,0PAwCE,aAGO,0BA3CT,oIAmDC,YAUU,uBA7DX,iBAmDC,sRAWM,yCA9DP,wIAmQG,gDpBvNgB,mJqB5ClB,0BrBqBA,cAAuB,cAA2B,SqBpB7C,kBACL,oBACQ,aACC,kBACU,iBAEnB,gDACA,2xBrBaA,qDAAuB,qBqBpBxB,snBrBoBC,0BAAuB,sEDTf,iBACA,qKCQR,yBAAuB,uEDTf,mBACA,2KCQR,sMAAuB,4QHkoMtB,CGloMiD,yBKwBtB,mOLxBL,eHyoMtB,CGzoMiD,yBKwBtB,6MLxBL,2BAA2B,qBKwB7C,cR2nMJ,CwB7jMK,mDAmBG,iBACP,UAAwB,uCrB1G1B,sBAAuB,+DAItB,aAAY,yBAJb,+DOLQ,aVyqMP,CUzqMkB,8DPK+B,gBAUlC,yBAVO,8DOLf,gBVmrMP,CUnrMuB,yBPKD,mDAkBL,iBHkqMjB,CUzrMO,qDPKe,oDAuBL,+EAKM,+BA5BxB,iCAAuB,qFsBrBxB,qGtBqBC,mDAAuB,+BsBrBxB,iHtBqBwB,6TsBrBxB,qBA6BC,uNtBRuB,gKsBrBxB,sBA6BC,+EAyCS,gBtBjDT,iMAAuB,mBsBsDxB,sGtBtDC,wBAAuB,4BsBsDxB,uBAA2B,WAYzB,kFtBlED,yHAAuB,6FAAvB,gBAAuB,kFAAvB,iCAAuB,qBsB+GxB,gDAYG,8IjBnGG,cR0vMJ,CQ1vMI,yBiB4GL,6IjB5GK,eRgwMJ,CQhwMI,yBiB4GL,kItBpIkD,cH8xMjD,CQtwMI,yBiB4GL,4GtBpIuB,mBHoyMtB,CGpyMsB,yBKwBlB,mHLxBkB,cH0yMtB,CG1yMiD,yBKwB7C,4GLxBkB,gBHgzMtB,CGhzMsB,yBKwBlB,+GLxBkB,kIKwBlB,gBiBsJL,iBzB2oMC,CyB3oMD,yFtB9KA,iBAAuB,wFAAvB,iBAAuB,wIsBuMvB,wHtBvMuB,gCsBuMvB,8BAmCE,mBACC,iBACA,mBACM,QhBmO0B,yBgBhN9B,+GtBhQkB,wEKwBlB,2BRs0MJ,CyB3iMA,yBAKG,2OtBxTmB,uBKwBlB,gCiB2RJ,wBzBujMA,CyBviMG,yBAEA,oItBrU8C,kBKwB7C,UiB2RJ,qCzBikMA,CyBrhMI,yBAGS,qItBlWoC,eH03MjD,CQl2MI,yBiB2RJ,4GtBnTsB,uFKwBlB,8DR02MJ,CQ12M2B,yGLxBL,yBAA2B,8GAA3B,yBAuBL,iOyBtBnB,iBzBDC,kHAAuB,iBAuBL,yFAvBlB,oBAAuB,6BarBxB,gBAAkB,cAAkB,UAC5B,kBAEA,+FbkBP,mBAAuB,gGAAvB,oBAuBkB,+Ic5CnB,0BdqBC,cAAuB,mBcpBxB,gCAEC,6BAEA,mwBdgBA,qDAAuB,kmBAAvB,0BAAuB,sEDTf,iBACA,iKCQR,wCDRQ,wYCQR,yBAAuB,sEDTf,kBACA,6MCQe,+FDTf,kBACA,uNCQe,yBcpBxB,sEfWS,kBACA,yEAER,YCMA,iCAAuB,oEckCvB,cdlCA,+IcrBD,8CdqBC,qBAAuB,sEM8rBa,iCN9rBb,gCcqEvB,eAGE,cAAe,wBAOd,0BAQa,yEAIM,6Bd3FtB,mBAAuB,kBc+BxB,sEAiHG,YdhJF,4Ec2JS,kBd3JT,yGAAuB,gCyB4BvB,mBAAuB,SAIT,sDAEA,+EnB6pBkC,kBN/rBhD,qHAAuB,kByB2CvB,wBAA0B,SAIxB,OAAS,kBACO,kDAEhB,kPzBlDF,4BAAuB,wSAAvB,gBAAuB,oByB8DvB,gRAME,uBACA,mBACA,mMzBtEF,8DAAuB,+EyBgF4D,kBzBhFnF,oNAAuB,sEyBwFvB,oJ1BhGA,imI0BwHG,wBAAuB,oE1BzHlB,iBACR,onE0BwHG,wBAAuB,oE1BzHlB,iBACR,+rE0BwHG,wBAAuB,oE1BzHlB,iBACR,uTCQuB,qiByBkJvB,sPzBlJuB,oEDRf,qvJ0BsLJ,0BAAuB,sE1BvLnB,iBACA,87E0BsLJ,0BAAuB,sE1BvLnB,iBACA,ygF0BsLJ,0BAAuB,sE1BvLnB,iBACA,2EAER,qDCMA,kEAAuB,2FAAvB,eAAuB,qEyBoMvB,kBAIC,oHzBxMsB,4EyBoMvB,kEAIC,UAOC,yOzB/MqB,mDAA4B,eyBoMnD,oHzBpMuB,iByBoMvB,qHzBpMuB,gHAAvB,qCAAuB,qIyBoMvB,+GzBpMA,kBAAuB,8HAuBL,sEAKJ,uEA5Bd,aAAuB,+IelBvB,sEhBSQ,iBACA,kHCQe,0BelBvB,sEhBSQ,iBACA,sKCQR,eAAuB,8JelBvB,kEAwBC,oEACS,SACR,UACA,kBAAsB,uGfTD,4FDTf,iBACR,cAAQ,yHCQe,iBelBvB,sGfkBA,YAAuB,wBelBvB,oEhBSQ,iBACR,kBAAQ,gEACR,wDgBoCsB,gEAElB,sDACW,0DACO,WAClB,YAAiB,+FflCrB,eAAuB,uBelBvB,mBAsEC,qHfpDD,eAAuB,gGAAvB,WAAuB,+DelBvB,iBAwBC,qCAoFE,kDT6hBiC,+FNvnBpC,iBAAuB,8NAAvB,mBAAuB,sIelBvB,yEAqKI,uEfnJmB,kKelBvB,sEhBSQ,iBACA,wHCQe,0BelBvB,sEhBSQ,iBACA,4KCQR,eAAuB,8JelBH,kEAwBnB,oEACS,SACR,UACA,kBAAsB,6GfTD,wBelBvB,oEhBSQ,iBACR,cAAQ,kICQe,iBelBvB,4GfkBuB,oCelBvB,oEhBSQ,iBACR,kBAAQ,gEACR,wDgBoCsB,gEAElB,sDACW,0DACO,WAClB,YAAiB,qGflCrB,eAAuB,uBelBvB,mBAsEC,2HfpDsB,qHAAvB,WAAuB,+DelBvB,iBAwBC,qCAoFE,kDT6hBiC,qGNvnBpC,iBAAuB,4HAuBL,8JAvBlB,uZAAuB,uRgBpBH,mUAOpB,sMhBaA,mBAAuB,iCgBpBH,0BAOpB,gBA6DuB,kDAanB,kNhB7DmB,0BgBwBvB,kBAAkB,UAEjB,oBAAmB,YAKE,kDAEA,oTArDF,iBAOpB,kDA6IC,8fhBhIsB,QgB2ItB,iQhB3IsB,kBgBpBxB,oTAAqB,mBAOpB,8SAwKsB,WAEpB,iEAAmB,yGAwBlB,wJAIC,iBAAgB,4TA9BU,eAE5B,6NAwBC,iUA1BmB,aAEpB,4WA8EyB,0DAEL,8GC9PrB,8DAFM,sBAGN,yBAA8B,kHAD9B,oDAME,4wCARI,qDAGN,kMAHM,SAGN,mCAsBC,oPAtBD,yBAsBC,8JAeyB,WAxCpB,8JA4CoB,eA5CpB,gTAAP,aAAO,4YAGN,sCAgFE,mNAnFI,aAGN,mEAsBC,0HAvBD,YAA8B,6BAFxB,MAGN,wGAsJa,wJAzJd,ajB0CkB,4EAKJ,mBA5Bd,SAAuB,6OAAvB,yKkBrBsB,gBlBqBtB,sIAAuB,kDkBrBxB,+EZmtB+C,cN9rB9C,uGAAuB,oCkBrBxB,kBAcC,2FlBOA,YAAuB,sCkB+DtB,oBAKE,YAaE,UACA,kBAAgB,kDAIf,2FlBtFN,aAAuB,0FAAvB,gBAAuB,yBkB+DtB,wHlB/DsB,aHggPtB,CGhgPkD,yBKwBvB,uHLxBL,gBHsgPtB,CQ9+OI,yBawF2B,4GlBhHT,cH4gPtB,CGr/OiB,qEAKJ,kBA5Bd,gNAAuB,gGAAvB,gBAAuB,kDmBrBxB,4NnBqBwB,qIAAvB,eAAuB,kEmBrBxB,6HnBqBwB,kBKwBlB,+Bc8CJ,cAAgB,4GC3FlB,SAOC,qDACA,gCARD,kJAgBE,6BAhBF,kBAYC,kBAKC,gKAMS,cAvBX,4JA2BG,aA3BH,gFA4BiB,cA5BjB,gFxBiCsC,ewBjCtC,0ExBiCE,qDwBjCF,6IAA8B,uDA4C1B,UACA,0CA7CJ,iIAmDC,SAKC,sIALD,SAUO,kBA7DR,0RA8DO,cA9DP,mEAmEI,gBAnEJ,uMAmDC,oXAnDD,yBAmDC,sErBvCQ,kBACA,oEAER,cqBfD,kGAqHI,4GArHJ,kBAOC,wBAPD,sDAkIc,iBASV,oBA3IJ,kJAgBE,SAhBF,yEA6JM,SA7JN,yEAkLK,UAlLL,kJAgBE,sBAhBF,iKAuBW,gCAvBX,0EAqNM,2BArNN,4UAmDC,YAUU,uBA7DX,iBAmDC,0RAWM,yCA9DP,0IAmQG,kDpBvNgB,qJqB5ClB,0BrBqBA,cAAuB,uBqBpBlB,kBACL,oBACQ,gBACC,kBAET,aACA,kBACA,iBAgCC,kDACA,qyBrBpBD,qDAAuB,qBqBpBxB,8nBrBoBC,0BAAuB,sEDTf,iBACF,uKCQN,yBAAuB,uEDTf,mBACA,6KCQR,wMAAuB,8YAAvB,cAAuB,uMAAvB,QAAuB,0BqBpBxB,SAAM,6BA+CJ,iCAE+B,sEAIlB,kIAEW,mKrBnCzB,oFAAuB,iPqBpBxB,yBAAwB,uOrBoBA,cHm5PtB,CGn5PkD,yBKwB9C,qOLxBkB,eH05PtB,CG15PkD,yBKwB9C,+MLxBkB,2BAA4B,qBKwB9C,cR44PJ,CwB90PK,oDAmBG,iBACP,UAAwB,uCrB1G1B,sBAAuB,gEAItB,aAAY,yBAJb,gEOLQ,aV07PP,CU17PkB,+DPKgC,gBAUnC,yBAVO,+DOLf,gBVo8PP,CUp8PuB,yBPKD,oDAkBL,iBHm7PjB,CU18PO,sDPKe,oDAuBL,gFAKM,+BA5BxB,iCAAuB,qFsBrBxB,sGtBqBC,mDAAuB,8BsBrBxB,kHtBqBwB,+TsBrBxB,oBA6BC,+GtBRuB,gCsBrBxB,sBA6BC,gFAyCS,gBtBjDT,mMAAuB,mBsBsDxB,uGtBtDC,wBAAuB,4BsBsDxB,qBAA2B,UAYzB,mFtBlED,0HAAuB,8FAAvB,gBAAuB,mFAAvB,yCAAuB,+IKwBlB,cRmgQJ,CQngQI,yBiB4GL,8IjB5GK,eRygQJ,CQzgQI,yBiB4GL,mItBpIuB,cHuiQtB,CQ/gQI,yBiB4GL,6GtBpIuB,mBH6iQtB,CG7iQsB,yBKwBlB,oHLxBkB,cHmjQtB,CGnjQsB,yBKwBlB,6GLxBkB,gBHyjQtB,CGzjQsB,yBKwBlB,gHLxBkB,kIKwBlB,gBRyiQJ,CyBn5PD,gFAoBC,gDtBlMD,CAAuB,mFAAvB,8LsB4XA,sDAQG,WAAmB,6BACN,iBACb,yGtBtYoB,6CsBgYpB,uOtBhYoB,kCsB4XvB,8BAIG,yBAmCU,gHtBnaU,4DAA4B,eH4mQlD,CQplQI,yBiBoZJ,qJjBpZI,gDR2lQJ,CyBvsPA,yBAWC,6GtBvbqB,uFKwBlB,sFRomQJ,CyB59PD,0GtBhKuB,iKsBQvB,oCAkdE,oDZ7dc,yCVFhB,eAAgB,YCAhB,yCAGD,YAAuB,eACP,gCAUhB,2BQ/BA,kBACQ,oGAGY,yBAEpB,WACA,gDAcC,uBACA,gCRSD,mBQtBC,iCAOA,sBHkCmB,CGjCnB,2CRcD,cQtBQ,2FTQP,YCcD,gCDdC,mGCcD,qEQ0DC,wBHzCoB,kGLjBrB,kFQiEE,oDRjEF,gBQ0EC,yBTxFA,yCS4FA,cZ8nQC,CU1tQD,0CNcD,2BQkFC,gCR9ED,2BQnCA,kBACQ,oGAGY,yBAEpB,WACA,iDAuBC,uBACA,gCRID,mBQ1BC,iCAOA,sBHkCmB,CGjCnB,4CRkBD,cJ0uQA,6FG5vQC,YCkBD,cAAwB,kBDlBvB,qGCkBD,qEQsDC,wBHzCoB,oGLbrB,sEAAwB,aQ6DtB,qDR7DF,gBQsEC,yBTxFA,0CS4FA,cZksQC,CU9xQD,2CNkBD,2BQ8EC,gCR1ED,2BQvCA,kBACQ,oGAGY,yBAEpB,WACA,kDAgCC,WAAgB,YAChB,gCRDD,mBQ9BC,iCAOA,sBHkCuB,CGjCb,6CRsBX,cJ0yQA,+FGh0QC,YCsBD,cQ0CE,kBThED,uGCsBD,qEQkDC,wBHzCoB,sGLTrB,uEQiDG,aAQD,sDRzDF,gBQkEC,yBTxFA,2CS4FA,cZswQC,CUl2QD,4CNsBD,2BQ0EC,gCRtED,2BQ3CA,kBACQ,oGAGY,yBAEpB,WACA,mDAyCC,WCpBS,0BDqBT,kBRND,mBQlCC,iCAOA,YACA,WAAY,8CR0Bb,cJ02QA,iGGp4QiB,YC0BjB,cQsCE,kBThED,yGC0BD,qEQ8CC,wBHzCoB,wGLLrB,wEQ6CI,aAQF,uDAQD,gBACA,yBTxFgB,4CS4FhB,cZ00QC,CUt6QD,4CN0BD,2BQsEC,gCRlED,2BQ/CA,kBACQ,oGAGY,yBAEpB,WACA,mDAkDC,WCrCQ,0BDsCR,kBRXD,mBQtCC,iCAOA,uBACY,sDARZ,mBAqDC,oDACY,sFACoB,8CAGhC,cAAW,iGTlDI,YC8BjB,cQkCE,kBThED,yGC8BD,qEQ0CC,wBHzCoB,wGLDrB,wEQyCI,aAQF,uDAQD,gBACA,yBTxFgB,4CS4FhB,cZm5QC,CU/+QD,yCN8BD,2BQkEC,cTpEE,oEAKA,0BA5BF,SAAgB,gC0BrBjB,gBACC,yBAEA,iG1BkBgB,gBHoiRf,CG7gRC,uEAKY,0BA5BE,wBAAwB,iB2BrBzC,gBACC,yBAEA,oG3BkBgB,gBHwlRf,CGjkRC,mEAKA,SAAY,yI4BjDf,UAAyB,wB5BqBxB,CAAgB,sE4Bff,c5BeD,gMAuBE,2DAKA,qDAAY,8BA5Bd,CAAgB,oIelBhB,sEhBSQ,iBACF,qFCQN,eAAgB,8JelBhB,kEAwBC,oEACS,SACR,UACA,4FfTF,wBAAgB,oEDTR,iBACR,cAAQ,8GCQQ,iBelBhB,oFfkBA,eAAgB,uBelBhB,mBAsEC,0GfpDD,eAAgB,qFAAhB,uBAAgB,mDelBhB,iBAAiB,mBAwBhB,gDAoFE,oFf1FH,iBAAgB,4FAAhB,UAAgB,gGAAhB,mBAAgB,4FAAhB,YAAgB,mBAuBd,yHAvBsC,WcrBzC,6BdqBiB,mBAAwB,ScpBzC,uBACY,qpBADZ,qCdoBC,gBAAgB,0gBcpBjB,sFdoBC,UDTQ,iBACF,2IebU,uCdqBhB,CDRQ,4VCQR,yBAAgB,sEDTR,kBACA,uLCQR,yBAAgB,sEDTR,kBACA,iMCQQ,yBcpBjB,sEfWS,kBACA,8DekCc,6Bd1BtB,gBAAgB,yDciChB,cACM,yHdlCkC,iBcrBzC,gDA0FC,yHRA+B,YQsD5B,oCd3Ha,gBc+BjB,2DRsCgC,YN9C7B,mEAKA,iCA5BF,CAAgB,6FAAhB,SAAgB,gC6BrBjB,gBAIE,yY7BiBe,qD6BrBjB,qBAIE,mL7BiBD,aAAgB,gBAAwB,e6BrBzC,iBAuDE,gBAAM,yBAWJ,0H7B7CqC,mDHi+RvC,CQz8RI,yBwByCL,gG7BjEA,qDAAgB,kCAAwB,kEKwBnC,gBRk9RJ,CgCz6RD,yCAWa,iBACE,UACb,SAAiB,oD7B9EH,qDAGf,aACA,yBAJD,qDAOc,aHo/Rb,CUhgSO,oDPKQ,gBAUb,yBAVH,oDAee,gBHs/Rd,CU1gSO,yBPKR,yCAkBG,iBHy/RF,CUhhSD,2CPKgB,oDAuBd,+HqB5CF,wCrBqBgB,uBqBpBX,kBACL,oBACQ,aACD,iCAGP,gDACA,urBAPuB,qCrBoBvB,gBAAgB,qBqBpBjB,siBAAwB,sFrBoBP,UDTR,iBACF,iJsBbY,oFrBqBF,YDTR,mBACA,uJsBbU,arBqBlB,qJqBrBkB,gBrBqBlB,yBAAgB,+NHolSf,CGplSuC,yBKwBnC,+MLxBW,eH2lSf,CG3lSuC,yBKwBnC,yLLxBL,WAAgB,gBAAwB,qBKwBnC,cR6kSJ,CG9kSC,oEAKA,0BA5BF,SAAgB,gC0BrBjB,gBACC,yBAEA,iG1BkBgB,gBHypSf,CGloSC,uEAKY,0BA5BE,wBAAwB,iB2BrBzC,gBACC,yBAEA,oG3BkBgB,gBH6sSf,CGtrSC,mEAKA,SAAY,yI4BjDf,UAAyB,wB5BqBxB,CAAgB,sE4Bff,c5BeD,gMAuBE,2DAKA,qDAAY,8BA5Bd,CAAgB,oIelBhB,sEhBSQ,iBACF,qFCQN,eAAgB,8JelBhB,kEAwBC,oEACS,SACR,UACA,4FfTF,wBAAgB,oEDTR,iBACR,cAAQ,8GCQQ,iBelBhB,oFfkBA,eAAgB,uBelBhB,mBAsEC,0GfpDD,eAAgB,qFAAhB,uBAAgB,mDelBhB,2DAwBC,oFfND,iBAAgB,4FAAhB,WAAgB,iGAAhB,mBAAgB,4FAAhB,YAAgB,mBAuBd,yHAvBsC,WcrBzC,6BdqBiB,mBAAwB,ScpBzC,uBACY,qpBADZ,qCdoBC,gBAAgB,0gBcpBjB,sFdoBC,UDTQ,iBACF,2IebU,uCdqBhB,CDRQ,4VCQR,yBAAgB,sEDTR,kBACA,uLCQR,yBAAgB,sEDTR,kBACA,iMCQQ,yBcpBjB,sEfWS,kBACA,8DekCc,6Bd1BtB,gBAAgB,yDciChB,cACM,yHdlCkC,iBcrBzC,kDdqBiB,2DciEd,sBRgP4B,eNjT9B,CAAgB,8DcmHP,aAQN,gBd3HH,2DcuIS,YdhHP,mEAKA,iCA5BF,CAAgB,6FAAhB,SAAgB,gC6BrBjB,gBAIE,yY7BiBe,qD6BrBjB,qBAIE,mL7BiBD,aAAgB,gBAAwB,e6BrBzC,iBAuDE,gBAAM,yBAWJ,0H7B7CqC,mDHklTvC,CQ1jTI,yBwByCL,gG7BjEA,qDAAgB,kCAAwB,kEKwBnC,gBRmkTJ,CgC1hTD,yCAWa,iBACE,UACb,SAAiB,oD7B9EH,qDAGf,aACA,yBAJD,qDAOc,aHqmTb,CUjnTO,oDPKQ,gBAUb,yBAVH,oDAee,gBHumTd,CU3nTO,yBPKR,yCAkBG,iBH0mTF,CUjoTD,2CPKgB,oDAuBd,+HqB5CF,wCrBqBgB,uBqBpBX,kBACL,oBACQ,aACD,iCAGP,kDACA,urBAPuB,qCrBoBvB,gBAAgB,qBqBpBjB,siBAAwB,sFrBoBP,UDTR,iBACF,iJsBbY,oFrBqBF,YDTR,mBACA,uJsBbU,arBqBlB,qJqBrBkB,gBrBqBlB,yBAAgB,+NHqsTf,CGrsTuC,yBKwBnC,+MLxBW,eH4sTf,CG5sTuC,yBKwBnC,yLLxBL,WAAgB,gBAAwB,qBKwBnC,cR8rTJ,CG/rTC,uEAKY,0BA5BE,yC0BrBjB,gBACC,yBAEA,oG1BkBgB,gBH0wTf,CGnvTC,0EAKY,0BA5BE,wBAA2B,iB2BrB5C,gBACC,yBAEA,uG3BkBgB,gBH8zTf,CGvyTC,sEAKY,wJ4BjDf,mB5BqBC,gBAAgB,yE4Bff,c5BeD,kGAAgB,oFAAhB,gBAuBE,8DAKA,qDAAY,8BA5Bd,CAAgB,uIelBhB,sEhBSQ,iBACF,wFCQN,eAAgB,8JelBhB,kEAwBC,oEACS,SACR,UACA,+FfTF,wBAAgB,oEDTR,iBACR,cAAQ,iHCQQ,iBelBhB,uFfkBA,eAAgB,uBelBhB,mBAsEC,6GfpDD,eAAgB,wFAAhB,WAAgB,+DelBhB,iBAAiB,mBAwBhB,8CT6ZsC,oBSxU3B,uFf3FZ,iBAAgB,+FAAhB,WAAgB,oGAAhB,mBAAgB,+FAAhB,YAAgB,mBAuBd,+Hc5CH,wCdqBiB,mBAA2B,ScpB5C,uBACY,mrBADQ,qCdoBnB,gBAAgB,kiBcpBjB,sFdoBiB,UDTR,iBACF,iJebU,uCdqBhB,CDRQ,wWCQR,yBAAgB,sEDTR,kBACA,6LCQR,yBAAgB,sEDTR,kBACA,uMCQQ,yBcpBjB,sEfWS,kBACA,iEAER,YAAc,iBCMd,gBAAgB,4DciCJ,cACJ,+HAvDT,6CdqBC,oBcqEA,+HAkDG,6BRgSgC,mBNvZnB,kBc+BjB,8DRuXyC,YN/XtC,sEAKY,iCA5Bd,CAAgB,gGAAhB,SAAgB,gC6BrBjB,gBAIO,qZ7BiBU,qD6BrBjB,qBAIE,yL7BiBD,aAAgB,gBAA2B,e6BrB5C,iBAuDE,gBAAwB,yBAWtB,6H7B7CwC,mDHwsU1C,CQhrUI,yBwByCL,mG7BjEgB,uFAA2B,kEKwBtC,gBRyrUJ,CgChpUD,4CAWiB,iBACF,mBAGd,oD7BhFe,wDAGT,aACI,yBAJX,wDAYE,aHstUD,CUvuUO,uDPKmC,gBAUxC,yBAVa,uDAoBd,gBHwtUD,CUjvUgB,yBPKD,4CAkBb,iBHguUF,CUvvUK,8CPKU,oDAuBd,qIqB5CF,WAAkB,6BrBqBF,uBqBpBX,kBACL,oBACQ,aACD,mCAGP,gDACA,qtBAPuB,qCrBoBvB,gBAAgB,qBqBpBjB,8jBAAwB,sFrBoBP,UDTR,iBACF,uJsBbY,oFrBqBF,YDTR,mBACA,6JCQR,wKqBcY,gBrBdZ,yBAAgB,qOH2zUf,CG3zU0C,yBKwBtC,qNLxBW,eHk0Uf,CGl0U0C,yBKwBtC,+LLxBW,2BAA2B,qBKwBtC,cRozUJ,CGrzUO,wEAKM,0BA5BE,yC0BrBjB,gBACC,yBAEA,qG1BkBgB,gBHg4Uf,CGz2UO,2EAKM,0BA5BE,wBAA4B,iB2BrB7C,gBACC,yBAEA,wG3BkBgB,gBHo7Uf,CG75UO,uEAKM,SAAU,iJ4BjDzB,mB5BqBC,gBAAgB,0E4Bff,c5BeD,mGAAgB,qFAAhB,gBAuBQ,+DAKN,qDAAY,8BA5Bd,CDRM,yNCQU,0BelBhB,sEhBSQ,iBACF,iLAAE,yFCQR,eAAgB,8JelBhB,kEAwBC,oEACS,SACR,UACA,kBAAgB,gGfTlB,wBAAgB,oEDTR,iBACR,cAAQ,kHCQQ,iBelBhB,+FfkBA,YAAgB,wBelBhB,oEhBSQ,iBACR,kBAAQ,gEACR,wDgBoCqB,gEAEjB,sDACW,0DACO,WAClB,YAAiB,wFflCrB,eAAgB,uBelBhB,mBAsEC,8GfpDD,eAAgB,yFAAhB,WAAgB,+DelBhB,iBAAiB,mBAwBhB,+CTinBuC,qBAAJ,wFNvnBpC,iBAAgB,gGAAhB,WAAgB,qGAAhB,mBAAgB,gGAAhB,YAAgB,mBAuBR,iIc5CT,wCdqBiB,mBAA4B,ScpB7C,uBACY,6BAEG,6rBAHK,qCdoBnB,gBAAgB,0iBcpBjB,sFdoBiB,UDTR,iBACF,mJebU,uCdqBhB,CDRQ,4WCQR,yBAAgB,sEDTR,kBACA,+LCQQ,+FDTR,kBACA,yMCQQ,yBcpBjB,sEfWS,kBACA,kEAER,YegCmB,gCd1BnB,CAAgB,6DciCJ,cACJ,iIAvDT,8CdqBC,qBAAgB,+DciEd,iCR6nBwC,mBN9rB1B,acqEhB,eAAiB,cAGF,wBAOZ,0BAQY,kEAIZ,6BRkhBiC,mBN7mBpB,kBc+BjB,+DAiHG,iFAWA,kBd3JF,2E8B6BW,uB9B7BK,gC8B4BhB,mBAAuB,SAIT,sDAEA,yExB6pB2B,2BN/rBzC,CAAgB,2FAAhB,oBAAgB,8C8B2ChB,qQ9B3CA,2BDRA,ke+BqEA,wBAGG,oE/BzEK,iBACR,0P+BqEA,wBAGG,oE/BzEK,iBACR,oQ+BqEA,wBAGG,oE/BzEK,iBACR,kSCQgB,ySDRV,0jB+BsHL,0BAGG,sE/B1HI,iBACF,sS+BsHL,0BAGG,sE/B1HI,iBACF,gT+BsHL,0BAGG,sE/B1HI,iBCgCA,uEAKM,iCA5Bd,CAAgB,0I6BrBjB,gBAIO,yZ7BiBU,qD6BrBjB,qBAIE,2L7BiBD,aAAgB,gBAA4B,e6BrB7C,iBAuDE,gBAAwB,yBAWtB,8H7B7CyC,mDHu8V3C,CQ/6VI,yBwByCL,oG7BjEgB,uFAA4B,kEKwBvC,gBRw7VJ,CgC/4VD,6CAYE,iBAAa,mBvBrEL,8BNRV,sBAAgB,yDAGP,aACI,yBAJb,yDAYE,aHq9VD,CUt+VO,wDPKoC,gBAUzC,yBAVa,wDAoBd,gBHu9VD,CUh/VgB,yBPKD,6CAkBb,iBH+9VF,CUt/VO,+CPKQ,oDAuBR,uIqB5CR,0BrBqBA,cAAgB,uBqBpBX,kBACL,oBACQ,gBACC,kBAET,aACA,kBACA,iBAgCC,kDACA,+tBAxCsB,qCrBoBvB,gBAAgB,qBqBpBjB,skBAAwB,sFrBoBP,UDTR,iBACF,yJsBbY,oFrBqBF,YDTR,mBACA,+JCQR,0LAAgB,kXAAhB,cAAgB,yLAAhB,QAAgB,0BqBpBjB,SAAM,6BA+CJ,iCAE+B,sEAIlB,kIAEW,qJAxDP,oFrBqBF,mOqBpBjB,yBAAwB,yNrBoBP,cH2lWf,CG3lW2C,yBKwBvC,uNLxBW,eHkmWf,CGlmW2C,yBKwBvC,iMLxBW,2BAA4B,qBKwBvC,cRolWJ,CwBthWK,yCAkBO,gBACF,oDrB9GK,e+BbhB,YzBgE8B,yCyB7D/B,iBAGE,UAAe,SACP,oD/BWO,qDAGf,aACA,yBAJD,qDAOc,aH+nWb,CU3oWO,oDPKQ,gBAUb,yBAVH,oDAee,gBHioWd,CUrpWO,yBPKR,yCAkBG,iBHooWF,CU3pWD,2CPKgB,oDAuBd,yMAWA,gBAlCF,0OAkC+B,gBAlC/B,wIA2CE,mBA3CF,iBAAgB,oBA4Cd,sFAKC,kBAjDH,uEAqDG,kBArDH,iEAyDG,WMR2B,uBNjDd,wFAgEN,6BAhEM,uBAAwB,UA4DtC,mEAWE,cAvEJ,yeA4EE,UAGqB,kBA/EP,6jBAAhB,mkBAuFgB,gBAvFhB,oaA4EE,kCA5EF,CAAgB,qEA8FZ,kCA9FJ,CAAgB,+EAmGG,aAnGnB,8EAuGc,gBAvGd,mEA2GI,iCA3GJ,CAAgB,sEAiHb,8BAjHa,wBA+Gd,+FASc,aAxHhB,8EA4Hc,gBA5Hd,kEAgII,cAAgB,oEAKjB,uBArIH,UAAgB,qSAuIZ,sBAvIY,6DAoId,sOApIc,UDTR,iBACF,qJC+IF,oFAvIY,WDTR,kBACA,2EAER,cCMA,yBAAgB,iVHs0Wf,CGt0WuC,yBKwBnC,gSLxBL,gBH80WC,CG90We,yBKwBX,4GLxBW,aHo1Wf,CGp1WuC,yBKwBnC,2GLxBW,gBH01Wf,CG11WuC,yBKwBZ,gGLxB5B,cHg2WC,CGh2We,yBKwBX,mGLxBW,eHs2Wf,CGt2We,yBKwBX,4GLxBW,aH42Wf,CG52WuC,yBKwBnC,2GLxBW,gBHk3Wf,CGl3WuC,yBKwBZ,gGLxB5B,kBHw3WC,CGx3We,yBKwBX,kPLxBmC,kBH+3WvC,CQv2WI,yBLiND,0HAzOoC,cHq4WvC,CQ72WI,8DL2NuB,cAGd,kBAtPd,sEgCnBO,SACD,kChCkBN,CAAgB,2FAAhB,oBAAgB,wCgCVhB,gGhCUA,cAAgB,kBgCrBjB,kGhCqBiB,0BgCrBjB,0BAqBC,4BAEI,yBAEa,2FhCJjB,cH26WC,CG36We,yBKwBX,wHLxBW,oBHi7Wf,CQz5WI,yB2BNL,0Q3BMK,c2BQJ,kEAEA,kBnCy5WA,CmCt5WC,yBAGS,qJ3BhBiB,0E2BQ3B,oBAEA,wCnCi6WA,CmC/4WI,yBACO,gJ3B7BP,iB2BQJ,gBnC06WA,CmCx6WA,yBAaC,mHhC/Cc,qDKwBX,sG2BQJ,mBAEA,kBnCk7WA,CmCn5WW,4DAGK,cACD,oBhCrEhB,6HGnBD,6FAKW,oBHcM,yPGnBjB,sEJUS,iBACF,iOCQU,sEGXhB,oLHWgB,2GAAhB,WAAgB,mCGnBjB,qDAkDC,kBAA0B,YAEzB,iBACA,mBAAgB,gDAEhB,sFHpCD,WAAgB,yCGnBjB,4BA+G0B,sBGvCK,wBH0CX,iOH/FH,gBGnBjB,iBA+GC,6KH5FA,WAAgB,iEGnBjB,yGAwKC,sIG7F8B,oCHiGb,gDACG,+NH1JJ,iBGnBjB,4FHmBC,YDRQ,yLCQQ,wBGnBjB,oEJUS,iBACR,cAAQ,oGCQR,kFAAgB,wEGqOf,aHrOD,uEGyOC,gBHzOD,mHAAgB,YGnBjB,qHHmBiB,YGnBjB,gKHmBC,gBAAgB,wKGnBjB,yGAAkB,kEAyThB,oEACQ,aACE,yIA3TZ,gBAsWQ,2NHnVS,aGnBjB,yBAAkB,qGHmBD,aHsmXf,CGtmXe,yBKwBX,oGLxBW,gBH4mXf,CG5mXe,yBKwBX,yFLxBL,cHknXC,CGlnXe,yBKwBX,qKFoYJ,CN6tWA,CM7tWA,yBAEkB,2UAFlB,cAEA,UNmuWA,CMnuWA,yBAUC,2IEhZG,uBFoYJ,CN4uWA,CM5uWA,yBAEA,mSEtYI,eRunXJ,CMnvWA,yBAEA,yUAFA,iBN0vWA,CMxvWA,yBA4EC,uREldG,uBFoYJ,kBAEA,aNkwWA,CMtrWC,yBAgDE,0IElgBC,gFR+oXJ,CM3wWA,yBAEA,iYAAkB,gBNgxWlB,CM31WM,yBA4NJ,6JAnJF,kENyxWA,CMvxWA,yBAiLmB,sLAjLnB,mBN8xWA,CM9xWkB,yBA2LhB,kKA7LF,qDNsyWA,CMpyWA,yBAAkB,iHH9ZH,iBKwBX,mFFoYJ,CN+yWA,CM7yWA,+HkBnbD,wCrBqBgB,uBqBpBX,kBACL,oBACQ,aACD,iCAGP,gDACA,urBAPuB,qCrBoBvB,gBAAgB,qBqBpBjB,siBAAwB,sFrBoBP,UDTR,iBACF,iJsBbY,oFrBqBF,YDTR,mBACA,uJsBbU,arBqBlB,qJqBrBkB,gBrBqBlB,yBAAgB,+NHgxXf,CGhxXuC,yBKwBnC,+MLxBW,eHuxXf,CGvxXuC,yBKwBnC,yLLxBL,WAAgB,gBAAwB,qBKwBnC,cRywXJ,CwB3sXK,kEAoBJ,cAED,8EfnGgB,aNTjB,6EiCfC,gBjCeD,4DiCnBuB,qDAQtB,sIjCWe,iBiCPjB,mBA4DW,sFjCrDV,gBAAgB,yBiCPjB,sFjCOC,gBH+zXC,CG/zXe,mEiCkGd,YAAmB,+BjClGL,mBiCuGjB,yBACO,mEAaL,SAAQ,mBAMT,kBjC3HA,mGAAgB,oKiCwJjB,kBjCxJC,oyBAAgB,8wBAAhB,gBAAgB,oEiCqKd,kCjCrKc,6BiC0KjB,iBAA0B,gF3BpGU,eNtEnC,kEiCgPI,gBjChPJ,uEiC2RG,ajC3RH,kEiCwSA,aACU,4FjCzSV,gBAAgB,oEiCoTZ,sBjCpTJ,yBAAgB,wHH25Xf,CG35XuC,yBKwBnC,0GLxBW,gBHi6Xf,CGj6XuC,yBKwBZ,+FLxB5B,cHu6XC,CGv6Xe,yBKwBX,yFLxBL,cH66XC,CG76Xe,yBKwBX,iGLxBW,8DHo7Xf,CGp7XuC,yBKwBZ,+FLxB5B,qDAAgB,aAAwB,mBH47XvC,CQp6XI,yB4B6ZJ,+H5B7ZI,iBR06XJ,CQ16XI,yB4BobJ,oGjC5ce,mDAAwB,6CH08XvC,CQl7XI,yB4BobJ,kGjC5ce,qDHg9Xf,CGh9Xe,yBKwBX,yHLxBmC,cKwBnC,8BRg8XJ,CoCv+WA,yBAEG,uHjCnfY,kBH89Xf,CQt8XI,yB4BsfJ,iHjC9gBe,mBHo+Xf,CQ58XI,yC4BsfoB,iBASxB,UAGE,SAAY,oDjC1hBC,qDAGf,aACA,yBAJD,qDAOc,aH8+Xb,CU1/XO,oDPKQ,gBAUb,yBAVH,oDAee,gBHg/Xd,CUpgYO,yBPKR,yCAkBG,iBHm/XF,CU1gYD,2CPKgB,oDAuBd,yMAWA,gBAlCF,0OAkC+B,gBAlC/B,wIA2CE,mBA3CF,iBAAgB,oBA4Cd,sFAKC,kBAjDH,uEAqDG,kBArDH,iEAyDG,WMR2B,uBNjDd,wFAgEN,6BAhEM,uBAAwB,UA4DtC,mEAWE,cAvEJ,yeA4EE,UAGqB,kBA/EP,6jBAAhB,mkBAuFgB,gBAvFhB,oaA4EE,kCA5EF,CAAgB,qEA8FZ,kCA9FJ,CAAgB,+EAmGG,aAnGnB,8EAuGc,gBAvGd,mEA2GI,iCA3GJ,CAAgB,sEAiHb,8BAjHa,wBA+Gd,+FASc,aAxHhB,8EA4Hc,gBA5Hd,kEAgII,cAAgB,oEAKjB,uBArIH,UAAgB,qSAuIZ,sBAvIY,6DAoId,sOApIc,UDTR,iBACF,qJC+IF,oFAvIY,WDTR,kBACA,2EAER,cCMA,yBAAgB,iVHqrYf,CGrrYuC,yBKwBnC,gSLxBL,gBH6rYC,CG7rYe,yBKwBX,4GLxBW,aHmsYf,CGnsYuC,yBKwBnC,2GLxBW,gBHysYf,CGzsYuC,yBKwBZ,gGLxB5B,cH+sYC,CG/sYe,yBKwBX,mGLxBW,eHqtYf,CGrtYe,yBKwBX,4GLxBW,aH2tYf,CG3tYuC,yBKwBnC,2GLxBW,gBHiuYf,CGjuYuC,yBKwBZ,gGLxB5B,kBHuuYC,CGvuYe,yBKwBX,kPLxBmC,kBH8uYvC,CQttYI,yBLiND,0HAzOoC,cHovYvC,CQ5tYI,8DL2NuB,cAGd,kBAtPd,sEgCnBO,SACD,kChCkBN,CAAgB,2FAAhB,oBAAgB,wCgCVhB,gGhCUA,cAAgB,kBgCrBjB,kGhCqBiB,0BgCrBjB,0BAqBC,4BAEI,yBAEa,2FhCJjB,cH0xYC,CG1xYe,yBKwBX,wHLxBW,oBHgyYf,CQxwYI,yB2BNL,0Q3BMK,c2BQJ,kEAEA,kBnCwwYA,CmCrwYC,yBAGS,qJ3BhBiB,0E2BQ3B,oBAEA,wCnCgxYA,CmC9vYI,yBACO,gJ3B7BP,iB2BQJ,gBnCyxYA,CmCvxYA,yBAaC,mHhC/Cc,qDKwBX,sG2BQJ,mBAEA,kBnCiyYA,CmClwYW,4DAGK,cACD,oBhCrEhB,6HGnBD,6FAKW,oBHcM,yPGnBjB,sEJUS,iBACF,iOCQU,sEGXhB,oLHWgB,2GAAhB,WAAgB,mCGnBjB,qDAkDC,kBAA0B,aAEzB,kDACA,sFHlCD,WAAgB,yCGnBjB,4BA+G0B,sBGvCK,wBH0CX,iOH/FH,gBGnBjB,iBA+GC,6KH5FA,WAAgB,iEGnBjB,yGAwKC,sIG7F8B,kDHiG7B,+NHzJe,iBGnBjB,4FHmBC,YDRQ,yLCQQ,wBGnBjB,oEJUS,iBACR,cAAQ,oGCQR,kFAAgB,wEGqOf,aHrOD,uEGyOC,gBHzOD,mHAAgB,YGnBjB,qHHmBiB,YGnBjB,gKHmBC,gBAAgB,wKGnBjB,yGAAkB,kEAyThB,oEACQ,aACE,yIA3TZ,gBAsWQ,2NHnVS,aGnBjB,yBAAkB,qGHmBD,aHi9Yf,CGj9Ye,yBKwBX,oGLxBW,gBHu9Yf,CGv9Ye,yBKwBX,yFLxBL,cH69YC,CG79Ye,yBKwBX,qKFoYJ,CNwkYA,CMxkYA,yBAEkB,2UAFlB,cAEA,UN8kYA,CM9kYA,yBAUC,2IEhZG,uBFoYJ,CNulYA,CMvlYA,yBAEA,mSEtYI,eRk+YJ,CM9lYA,yBAEA,yUAFA,iBNqmYA,CMnmYA,yBA4EC,uREldG,uBFoYJ,kBAEA,aN6mYA,CMjiYC,yBAgDE,0IElgBC,gFR0/YJ,CMtnYA,yBAEA,iYAAkB,gBN2nYlB,CMtsYM,yBA4NJ,6JAnJF,kENooYA,CMloYA,yBAiLmB,sLAjLnB,oBNyoYA,CMzoYkB,yBA2LhB,kKA7LF,qDNipYA,CM/oYA,yBAAkB,iHH9ZH,iBKwBX,mFFoYJ,CN0pYA,CMxpYA,+HkBnbD,wCrBqBgB,uBqBpBX,kBACL,oBACQ,aACD,iCAGP,kDACA,urBAPuB,qCrBoBvB,gBAAgB,qBqBpBjB,siBAAwB,sFrBoBP,UDTR,iBACF,iJsBbY,oFrBqBF,YDTR,mBACA,uJsBbU,arBqBlB,qJqBrBkB,gBrBqBlB,yBAAgB,+NH2nZf,CG3nZuC,yBKwBnC,+MLxBW,eHkoZf,CGloZuC,yBKwBnC,yLLxBL,WAAgB,gBAAwB,qBKwBnC,cRonZJ,CwBtjZK,kEAoBJ,cAED,8EfnGgB,aNTjB,6EiCfC,gBjCeD,4DiCnBuB,qDAQtB,uIjCWe,eiCPjB,sFjCOC,gBAAgB,yBiCPjB,sFjCOC,gBHyqZC,CGzqZe,mEiCkGd,YAAmB,+BjClGL,mBiCuGjB,yBACO,mEAaL,SAAQ,mBAMT,kBjC3HA,mGAAgB,oKiCwJjB,kBjCxJC,oyBAAgB,8wBAAhB,gBAAgB,oEiCqKd,kCjCrKc,6BiC0KjB,iBAA0B,gF3BqFS,eN/PlC,kEiCgPI,gBjChPJ,uEiC2RG,ajC3RH,kEiCwSA,aACU,4FjCzSV,gBAAgB,oEiCoTZ,sBjCpTJ,yBAAgB,wHHqwZf,CGrwZuC,yBKwBnC,0GLxBW,gBH2wZf,CG3wZuC,yBKwBZ,+FLxB5B,cHixZC,CGjxZe,yBKwBX,yFLxBL,cHuxZC,CGvxZe,yBKwBX,iGLxBW,8DH8xZf,CG9xZuC,yBKwBZ,+FLxB5B,qDAAgB,aAAwB,mBHsyZvC,CQ9wZI,yB4B6ZJ,+H5B7ZI,iBRoxZJ,CQpxZI,yB4BobJ,oGjC5ce,mDAAwB,6CHozZvC,CQ5xZI,yB4BobJ,kGjC5ce,qDH0zZf,CG1zZe,yBKwBX,yHLxBmC,cKwBnC,8BR0yZJ,CoCj1YA,yBAEG,uHjCnfY,kBHw0Zf,CQhzZI,yB4BsfJ,iHjC9gBe,mBH80Zf,CQtzZI,4C4B+fJ,iBAGE,UAAU,SAEX,oDjC5hBc,wDAGT,aACI,yBAJX,wDAYE,aHm1ZD,CUp2ZO,uDPKmC,gBAUxC,yBAVa,uDAoBd,gBHq1ZD,CU92ZgB,yBPKD,4CAkBb,iBH61ZF,CUp3ZK,8CPKU,oDAuBd,kNAWA,gBAlCF,mPAkC+B,gBAlC/B,8IA2CE,mBA3CF,iBAAgB,oBA4Cd,yFAKC,kBAjDH,0EAqDc,kBArDd,oEAyDG,WMR2B,uBNjDd,2FAiEb,6BAjEa,uBAA2B,UA4DzC,sEAWW,cAvEb,8fA4EE,2BA5EF,CAAgB,klBAAhB,aAAgB,2kBAAhB,gBAAgB,sbA4Ed,kCA5EF,CAAgB,wEA8FZ,kCA9FJ,CAAgB,kFAAhB,8GAAgB,sEA2GZ,iCA3GJ,CAAgB,yEAiHb,8BAjHa,wBA+Gd,kGA/GF,8GAAgB,qEAgIZ,cAhIJ,uEAqIG,uBArIH,UAAgB,iTAuIZ,sBAvIY,6DAoId,sJAGC,sFAvIa,UDTR,iBACF,2JC+IF,oFAvIY,WDTR,kBACA,8ECqKc,cA7JtB,yBAAgB,0VH+haf,CG/ha0C,yBKwBtC,ySLxBW,gBHuiaf,CGviae,yBKwBX,+GLxBW,aH6iaf,CG7ia0C,yBKwBtC,8GLxBW,gBHmjaf,CGnja0C,yBKwBf,mGLxBZ,cHyjaf,CGzjae,yBKwBX,sGLxBW,eH+jaf,CG/jae,yBKwBX,+GLxBW,aHqkaf,CGrka0C,yBKwBtC,8GLxBW,gBH2kaf,CG3ka0C,yBKwBf,mGLxBZ,kBHilaf,CGjlae,yBKwBX,wPLxBsC,kBHwla1C,CQhkaI,yBLiND,6HAzOuC,cH8la1C,CQtkaI,iEL2N0B,cAGX,kBAtPpB,CAAgB,wEgClBhB,2BhCkBgB,+GAAhB,oBAAgB,wCgCVhB,mGhCUgB,gCgCrBjB,qGhCqBiB,0BgCrBjB,0BAqBC,4BAEI,yBAEa,8FhCJjB,cHooaC,CGpoae,yBKwBX,2HLxBW,oBH0oaf,CQlnaI,yB2BNL,gR3BMK,c2BQJ,kEAEA,kBnCknaA,CmC/maC,yBAGS,wJ3BhBiB,0E2BQ3B,oBAEA,wCnC0naA,CmCxmaI,yBACO,mJ3B7BP,iB2BQJ,gBnCmoaA,CmCjoaA,yBAaC,sHhC/Cc,qDKwBX,sG2BQJ,mBAEA,kBnC2oaA,CmC5maW,+DAIT,cAAa,oBhCrEA,mIGnBjB,cHmBC,sGAAgB,+PGnBjB,sEJUS,iBACF,uOCQU,sEGXhB,0LHWgB,8GAAhB,WAAgB,mCGnBjB,qDAkDC,kBAA0B,YAEzB,iBACA,mBAAgB,kBAEhB,gDAqBG,yFHzDJ,WAAgB,yCGnBjB,4BA+G0B,sBGvCK,wBH0CX,uOH/FH,gBGnBjB,iBA+GC,mLH5FA,WAAgB,iEGnBjB,yGAwKC,sIG7F8B,oCHiGb,kBACH,gDACI,qOH3JF,iBGnBjB,+FHmBC,YDRQ,+LCQQ,wBGnBjB,oEJUS,iBACR,cAAQ,uGCQR,kFAAgB,2EGqOH,aHrOb,0EGyOC,gBHzOD,sHAAgB,YGnBjB,wHHmBiB,YGnBjB,sKHmBC,gBAAgB,2KGnBjB,yGAAkB,kEAyThB,oEACQ,aACE,4IA3TZ,gBAsWQ,iOHnVS,aGnBjB,yBAAkB,wGHmBD,aHi0af,CGj0ae,yBKwBX,uGLxBW,gBHu0af,CGv0ae,yBKwBX,4FLxBL,cH60aC,CG70ae,yBKwBX,wKFoYJ,CNw7ZA,CMx7ZA,yBAEkB,iVAFlB,cAEA,UN87ZA,CM97ZA,yBAUC,8IEhZG,uBFoYJ,CNu8ZA,CMv8ZA,yBAEA,ySEtYI,eRk1aJ,CM98ZA,yBAEA,+UAFA,iBNq9ZA,CMn9ZA,yBA4EC,6REldG,uBFoYJ,kBAEA,aN69ZA,CMj5ZC,yBAgDE,6IElgBC,gFR02aJ,CMt+ZA,yBAEA,uYAAkB,gBN2+ZlB,CMtjaM,yBA4NJ,gKAnJF,kENo/ZA,CMl/ZA,yBAiLmB,yLAjLnB,mBNy/ZA,CMz/ZkB,yBA2LhB,qKA7LF,qDNigaA,CM//ZA,yBAAkB,oHH9ZH,iBKwBX,mFFoYJ,CN0gaA,CMxgaA,qIkBnbD,WAAkB,6BrBqBF,uBqBpBX,kBACL,oBACQ,aACD,mCAGP,gDACA,qtBAPuB,qCrBoBvB,gBAAgB,qBqBpBjB,8jBAAwB,sFrBoBP,UDTR,iBACF,uJsBbY,oFrBqBF,YDTR,mBACA,6JCQR,wKqBcY,gBrBdZ,yBAAgB,qOH2+af,CG3+a0C,yBKwBtC,qNLxBW,eHk/af,CGl/a0C,yBKwBtC,+LLxBW,2BAA2B,qBKwBtC,cRo+aJ,CwBt6aK,qEAoBJ,crB1GF,8KiCfc,gBjCed,+DiCnBuB,qDAQtB,sIjCWe,iBiCPjB,mBA4DW,kBACO,yFjCtDjB,gBAAgB,yBiCPjB,yFjCOC,gBH2hbC,CG3hbe,sEiCkGR,6BjClGQ,iCiCuGjB,yBACO,sEAaL,SAAQ,mBAMA,kBjC3HT,sGAAgB,0KiCwJjB,kBjCxJC,+zBAAgB,yyBAAhB,gBAAgB,uEiCqKd,SAAgB,yBjCrKF,+BiC0KjB,iBACC,mFjC3KA,eAAgB,qEiCgPZ,gBjChPJ,0EiC2RG,ajC3RH,qEiCySC,ajCzSD,+GAAgB,uEiCoTZ,sBjCpTJ,yBAAgB,2HHunbf,CGvnb0C,yBKwBtC,6GLxBW,gBH6nbf,CG7nb0C,yBKwBf,kGLxBZ,cHmobf,CGnobe,yBKwBX,4FLxBL,cHyobC,CGzobe,yBKwBX,oGLxBW,8DHgpbf,CGhpb0C,yBKwBf,kGLxBZ,kEAA2B,mBHwpb1C,CQhobI,yB4B6ZJ,kI5B7ZI,iBRsobJ,CQtobI,yB4BobJ,uGjC5ce,mDAA2B,6CHsqb1C,CQ9obI,yB4BobJ,qGjC5ce,qDH4qbf,CG5qbe,yBKwBX,4HLxBsC,cKwBtC,8BR4pbJ,CoCnsaA,yBAEG,0HjCnfY,kBH0rbf,CQlqbI,yB4BsfJ,oHjC9gBe,mBHgsbf,CQxqbI,6C4B+fJ,iBAGE,UAAY,uCjC1hBf,sBAAgB,yDAGP,aACI,yBAJb,yDAYE,aHqsbD,CUttbO,wDPKoC,gBAUzC,yBAVa,wDAoBd,gBHusbD,CUhubgB,yBPKD,6CAkBb,iBH+sbF,CUtubO,+CPKQ,oDAuBR,qNAWN,gBAlCF,sPAsCe,gBAtCf,gJA2CE,mBA3CF,iBAAgB,oBA4Cd,0FAKC,kBAjDH,2EMgD8B,kBNhD9B,qEAyDG,WMRgC,uBNjDnB,4FAiEb,6BAjEa,uBAA4B,UA4D1C,uEAYE,cAxEJ,qgBA4EE,2BA5EF,CAAgB,ylBAAhB,aAAgB,klBAAhB,gBAAgB,4bA4Ed,kCA5EF,CAAgB,yEA8FZ,kCA9FJ,CAAgB,mFAAhB,+GAAgB,uEA2GZ,iCA3GJ,CAAgB,0EAiHb,8BAjHa,wBA+Gd,mGA/GF,+GAAgB,sEAgIZ,cAhIJ,wEAqIG,uBArIH,UAAgB,qTA8IJ,sBA9II,6DAoId,wJAGE,sFAvIY,UDTR,iBACF,6JC+IF,oFAvIY,WDTR,kBACA,+ECqKc,cA7JtB,yBAAgB,6VHi5bf,CGj5b2C,yBKwBvC,4SLxBW,gBHy5bf,CGz5be,yBKwBX,gHLxBW,aH+5bf,CG/5b2C,yBKwBvC,+GLxBW,gBHq6bf,CGr6b2C,yBKwBhB,oGLxBZ,cH26bf,CG36be,yBKwBX,uGLxBW,eHi7bf,CGj7be,yBKwBX,gHLxBW,aHu7bf,CGv7b2C,yBKwBvC,+GLxBW,gBH67bf,CG77b2C,yBKwBhB,oGLxBZ,kBHm8bf,CGn8be,yBKwBX,0PLxBuC,kBH08b3C,CQl7bI,yBLiND,8HAzOwC,cHg9b3C,CQx7bI,kEL8NC,cAED,kBAxPL,CAAgB,yEgClBhB,2BhCkBgB,gHAAhB,oBAAgB,wCgCVhB,oGhCUgB,gCgCrBjB,sGhCqBiB,0BgCrBjB,0BAqBC,4BAEI,yBAEa,+FhCJjB,cHs/bC,CGt/be,yBKwBX,4HLxBW,oBH4/bf,CQp+bI,yB2BNL,kR3BMK,c2BQJ,kEAEA,kBnCo+bA,CmCj+bC,yBAGS,yJ3BhBiB,0E2BQ3B,oBAEA,wCnC4+bA,CmC19bI,yBACO,oJ3B7BP,iB2BQJ,gBnCq/bA,CmCn/bA,yBAaC,uHhC/Cc,qDKwBX,sG2BQJ,mBAEA,kBnC6/bA,CmC99bW,gEAIT,cAAa,oBhCrEA,qIGnBjB,cHmBC,uGAAgB,gFGnBjB,uOHmBiB,0BGnBjB,sEJUS,iBACF,yOCQU,sEGXhB,oHHWgB,0BGnBjB,sEJUS,iBACF,4LCQU,+GAAhB,WAAgB,mCGnBjB,qDAkDC,kBAA0B,kBAEnB,gFAEN,kDACU,gBAmCR,iGHvEa,gFGnBjB,0FHmBC,WAAgB,yCGnBjB,4BA+G0B,sBGvCK,yCH0CX,CAClB,iGHhGe,oCGnBjB,oEJUS,iBACR,kBAAQ,8DIkHL,kDACK,yOH3GQ,kBGnBjB,SAAkB,UA+GjB,qLH5FA,WAAgB,iEGnBjB,yGAwKC,sIG7F8B,oCHiGb,kBACH,kDACI,uOH3JF,iBGnBjB,mMHmBiB,mCGnBjB,kBAwKC,gEA8CY,wDG3IkB,8FH+I3B,sBACW,0DACO,gGHzMrB,YDRQ,iMCQQ,wBGnBjB,oEJUS,iBACR,cAAQ,wGCQR,kFAAgB,4EGqOH,aHrOb,2EGyOC,gBHzOD,uHAAgB,YGnBjB,yHHmBiB,YGnBjB,wKHmBC,eAAgB,4KGnBjB,yGAAkB,kEAyThB,oEACQ,YACE,iHHxSK,aGnBjB,qHHmBiB,yBGnBjB,yBAsWQ,yGHnVS,aH4tcf,CG5tce,yBKwBX,wGLxBW,gBHkucf,CGluce,yBKwBX,6FLxBL,cHwucC,CGxuce,yBKwBX,yKFoYJ,CNm1bA,CMn1bA,yBAEkB,mVAFlB,cAEA,mBAUC,WNi1bD,CMj1bC,yBAGG,+IEnZA,uBFoYJ,CNo2bA,CMp2bA,yBAEA,2SEtYI,eR+ucJ,CM32bA,yBAEA,iVAFA,iBNk3bA,CMh3bA,yBA4EC,+REldG,sBFoYJ,CN03bA,CM13bA,yBAEA,8IEtYI,gFRqwcJ,CMj4bA,yBAEA,yYAAkB,6BA3EZ,CNk9bN,CMtvbE,yBAEG,iKArJL,kENg5bA,CM94bA,yBAiLmB,0LAjLnB,mBNq5bA,CMr5bkB,yBA2LhB,sKA7LF,qDN65bA,CM35bA,yBAAkB,qHH9ZH,iBKwBX,mFFoYJ,CNs6bA,CMp6bA,uIkBnbD,0BrBqBA,cAAgB,uBqBpBX,kBACL,oBACQ,gBACC,kBAET,aACA,kBACA,iBAgCC,kDACA,+tBAxCsB,qCrBoBvB,gBAAgB,qBqBpBjB,skBAAwB,sFrBoBP,UDTR,iBACF,yJsBbY,oFrBqBF,YDTR,mBACA,+JCQR,0LAAgB,kXAAhB,cAAgB,yLAAhB,QAAgB,0BqBpBjB,SAAM,6BA+CJ,iCAE+B,sEAIlB,kIAEW,qJAxDP,oFrBqBF,mOqBpBjB,yBAAwB,yNrBoBP,cHw6cf,CGx6c2C,yBKwBvC,uNLxBW,eH+6cf,CG/6c2C,yBKwBvC,iMLxBW,2BAA4B,qBKwBvC,cRi6cJ,CwBn2cK,sEAoBJ,crB1GF,gMAAgB,gEiCZJ,kCjCYI,gFiCPjB,mEjCOC,mBAAgB,8CiCeb,cACa,0FjChBhB,gBAAgB,yBiCPjB,0FjCOC,gBH89cC,CG99ce,uEMQN,6BNRM,iCiCuGjB,oBACC,uEAOY,SACF,mBAWA,kBjC3HV,uGAAgB,4KiCwJjB,kBjCxJiB,2zBAAhB,aAAgB,kzBAAhB,gBAAgB,wEiCqKd,oCjCrKF,+CAAgB,gDiC0KjB,sBAIW,yBAET,YACA,kBAAkB,yEAgBhB,ajCjMH,yBAAgB,4HHyidf,CGzid2C,yBKwBvC,8GLxBW,gBH+idf,CG/id2C,yBKwBhB,mGLxBZ,cHqjdf,CGrjde,yBKwBX,2HLxBW,kBH2jdf,CQnidI,yB4BsfJ,qHjC9gBe","file":"../css/front.min.css","sourcesContent":["%icon-font {\n\tspeak: none;\n\tdisplay: inline-block;\n\tline-height: 1;\n\tfont-family: $font--icon !important;\n\tfont-style: normal;\n\tfont-weight: normal;\n\tfont-variant: normal;\n\n\t// Better Font Rendering\n\ttext-rendering: optimizeLegibility;\n\ttext-transform: none;\n\t-webkit-font-smoothing: antialiased;\n\t-moz-osx-font-smoothing: grayscale;\n}\n\n%icon-font--alt {\n\tspeak: none;\n\tdisplay: inline-flex;\n\tflex-direction: column;\n\talign-items: center;\n\tjustify-content: center;\n\tfont-family: $font--icon !important;\n\tline-height: 1;\n\n\t// Better Font Rendering\n\ttext-rendering: optimizeLegibility;\n\ttext-transform: none;\n\t-webkit-font-smoothing: antialiased;\n\t-moz-osx-font-smoothing: grayscale;\n}\n\n@mixin icon($position: before, $icon: false, $styles: true) {\n\t\n\t@if $position == both {\n\t\t$position: 'before, &:after';\n\t}\n\n\t// Either a :before or :after pseudo-element, or both, defaulting to :before.\n\t&:#{$position} {\n\n\t\t@if $icon {\n\t\t\tcontent: \"#{map-get($icons, $icon)}\";\n\t\t}\n\n\t\t@if $styles == true {\n\t\t\t@extend %icon-font;\n\t\t}\n\n\t\t@if $styles == alt {\n\t\t\t@extend %icon-font--alt;\n\t\t}\n\n\t\t@content;\n\t}\n}\n\n// List of mapped icons\n$icons: (\n\tarrow-skip-back: \"\\e916\",\n\tarrow-skip-forward: \"\\e917\",\n\tarrow-skip-start: \"\\e918\",\n\tarrow-skip-end: \"\\e919\",\n\taccounts-billing: \"\\e914\",\n\ttech-support: \"\\e915\",\n\tblog: \"\\e90d\",\n\tjobs-pros-search: \"\\e90e\",\n\tsecurity-thumb-print: \"\\e90f\",\n\tip: \"\\e910\",\n\ttimed-countdown: \"\\e911\",\n\t2FA: \"\\e912\",\n\t2factor-authentication-security: \"\\e912\",\n\tbuddypress: \"\\e90c\",\n\tplug-disconnected: \"\\e90a\",\n\tplug-connected: \"\\e90b\",\n\topen-new-window: \"\\e909\",\n\tshipper-anchor: \"\\e906\",\n\tforminator-2: \"\\e907\",\n\tforminator2: \"\\e907\",\n\tforminator: \"\\e908\",\n\tforminator1: \"\\e908\",\n\tcloud-migration: \"\\e905\",\n\tperformance: \"\\e903\",\n\tpower-on-off: \"\\e904\",\n\tupdate-arrow: \"\\e902\",\n\tdashboard-settings: \"\\e901\",\n\twpmudev-logo-2: \"\\203a\",\n\twpmu-logo-line: \"\\203a\",\n\twpmudev-logo: \"\\2039\",\n\twpmu-logo-solid: \"\\2039\",\n\tstar-line: \"\\cf\",\n\tnotification-count: \"\\e900\",\n\t24-hour-support: \"\\c1\",\n\tspeed-optimize: \"\\f8\",\n\tcloudflare: \"\\d0\",\n\talert: \"\\58\",\n\talign-center: \"\\5e\",\n\talign-justify: \"\\23\",\n\talign-left: \"\\25\",\n\talign-right: \"\\26\",\n\tannotate: \"\\b4\",\n\tarrow-up: \"\\d4\",\n\tarrow-right: \"\\af\",\n\tarrow-down: \"\\c2\",\n\tarrow-left: \"\\f8ff\",\n\tmore: \"\\2026\",\n\tminus: \"\\2d\",\n\tplus: \"\\3d\",\n\tchevron-up: \"\\2dd\",\n\tarrow-up-carats: \"\\2dd\",\n\tchevron-down: \"\\131\",\n\tarrow-down-carats: \"\\131\",\n\tchevron-left: \"\\d3\",\n\tarrow-left-carats: \"\\d3\",\n\tchevron-right: \"\\2dc\",\n\tarrow-right-carats: \"\\2dc\",\n\tarrows-compress: \"\\2265\",\n\tarrows-expand: \"\\ac\",\n\tarrows-in: \"\\2264\",\n\tarrows-out: \"\\2da\",\n\tcheck: \"\\28\",\n\tclose: \"\\29\",\n\tat-sign: \"\\40\",\n\tcalendar: \"\\220f\",\n\tcamera: \"\\d8\",\n\tclipboard-notes: \"\\bf\",\n\tclock: \"\\2c\",\n\tcloud: \"\\2122\",\n\tdownload-cloud: \"\\a3\",\n\tupload-cloud: \"\\a2\",\n\tcomment: \"\\a7\",\n\tcomments: \"\\b6\",\n\tcomment-2: \"\\aa\",\n\tcomment-3: \"\\aa\",\n\tcompass: \"\\2c6\",\n\tcredit-card: \"\\63\",\n\tcrop: \"\\43\",\n\tcrown: \"\\a1\",\n\titalic: \"\\7b\",\n\tbold: \"\\42\",\n\tunderline: \"\\55\",\n\ttext-color: \"\\a8\",\n\tstyle-type: \"\\3c\",\n\tquote-2: \"\\27\",\n\tquote: \"\\3b\",\n\tpaperclip: \"\\41\",\n\tindent-less: \"\\201d\",\n\tindent-more: \"\\2019\",\n\tlist-bullet: \"\\38\",\n\tlist-number: \"\\37\",\n\tlist: \"\\60\",\n\tlink: \"\\35\",\n\tunlink: \"\\36\",\n\tcolor-pick-eyedropper: \"\\a5\",\n\twand-magic: \"\\5a\",\n\tlayers: \"\\e6\",\n\tdislike: \"\\6b\",\n\tlike: \"\\6a\",\n\tdollar: \"\\24\",\n\tdownload: \"\\e93b\",\n\teye: \"\\65\",\n\teye-hide: \"\\71\",\n\tarrow-return-back: \"\\52\",\n\tfirst-aid: \"\\e93f\",\n\tfolder: \"\\2d8\",\n\tmap: \"\\34\",\n\tgraph-bar: \"\\c7\",\n\tgraph-bar-2: \"\\2db\",\n\tgraph-bar_1: \"\\2db\",\n\theart: \"\\4b\",\n\thome: \"\\4a\",\n\tinfo: \"\\49\",\n\tkey: \"\\25ca\",\n\tlaptop: \"\\ab\",\n\tlightbulb: \"\\4c\",\n\tasterisk: \"\\2a\",\n\tlock: \"\\39\",\n\tunlock: \"\\30\",\n\tmail: \"\\6d\",\n\tlocation-marker: \"\\6c\",\n\tmicrophone-audio: \"\\2030\",\n\tmobile-signal: \"\\201b\",\n\tmobile: \"\\201c\",\n\tmonitor: \"\\5c\",\n\tmagnifying-glass-search: \"\\ba\",\n\tzoom-in: \"\\2260\",\n\tzoom-out: \"\\2013\",\n\tmagnifying-search-glass-love: \"\\2022\",\n\tprice-tag: \"\\2c7\",\n\tbookmark: \"\\221a\",\n\tbook-bookmark: \"\\2d9\",\n\tbook: \"\\2206\",\n\tpage-multiple: \"\\e7\",\n\tpage-pdf: \"\\c6\",\n\tpage-search: \"\\da\",\n\tpage: \"\\d2\",\n\tpaint-bucket: \"\\222b\",\n\tpaypal: \"\\59\",\n\tpencil: \"\\2f\",\n\tphoto-picture: \"\\44\",\n\tplay: \"\\70\",\n\tpause: \"\\6f\",\n\tfast-forward: \"\\3e\",\n\trefresh: \"\\45\",\n\tupdate: \"\\ae\",\n\tpuzzle: \"\\7d\",\n\tlayout-grid: \"\\221e\",\n\tsheild-badge: \"\\e96a\",\n\tcoffee-cup: \"\\e96b\",\n\tskull: \"\\e96c\",\n\tsocial-android: \"\\2e\",\n\tsocial-apple: \"\\61\",\n\tsocial-drive: \"\\76\",\n\tsocial-dropbox: \"\\64\",\n\tsocial-facebook: \"\\66\",\n\tsocial-github: \"\\68\",\n\tsocial-google-plus: \"\\67\",\n\tsocial-linkedin: \"\\69\",\n\tsocial-twitter: \"\\74\",\n\tanimation-video: \"\\46\",\n\tsocial-youtube: \"\\79\",\n\twhite-label-video: \"\\75\",\n\tstar: \"\\53\",\n\ttablet-landscape: \"\\5b\",\n\ttablet-portrait: \"\\5d\",\n\tthumbnails: \"\\47\",\n\tticket: \"\\e97d\",\n\tprofile-male: \"\\b5\",\n\tprofile-female: \"\\192\",\n\tcommunity-people: \"\\2018\",\n\ttrash: \"\\51\",\n\tnotification: \"\\6e\",\n\tuser-hero-points-trophy: \"\\31\",\n\tmegaphone: \"\\c5\",\n\tflag: \"\\7c\",\n\tstopwatch: \"\\e986\",\n\tshopping-cart: \"\\cd\",\n\tshare: \"\\73\",\n\thelp-support: \"\\48\",\n\tweb-globe-world: \"\\57\",\n\twidget-settings-config: \"\\78\",\n\twrench-tool: \"\\2044\",\n\tsettings-slider-control: \"\\153\",\n\tfilter: \"\\7a\",\n\treply: \"\\72\",\n\tfinger-point: \"\\2248\",\n\tfinger-swipe: \"\\2203\",\n\tmouse-scroll: \"\\df\",\n\tplugin-2: \"\\4f\",\n\tbrush: \"\\7e\",\n\tthemes: \"\\54\",\n\tplugins: \"\\50\",\n\tquestion: \"\\3f\",\n\twarning-alert: \"\\21\",\n\tcheck-tick: \"\\5f\",\n\tcross-close: \"\\2b\",\n\tuser-reputation-points: \"\\32\",\n\tuser-star-level-up: \"\\33\",\n\tdevman: \"\\20ac\",\n\tdefender: \"\\b7\",\n\thub: \"\\fb02\",\n\thummingbird: \"\\b0\",\n\thustle: \"\\2014\",\n\tsmart-crawl: \"\\2202\",\n\tsmush: \"\\2021\",\n\tsnapshot: \"\\fb01\",\n\tupfront: \"\\201a\",\n\tuptime: \"\\b1\",\n\tpulse: \"\\201e\",\n\tautomate: \"\\152\",\n\tacademy: \"\\3c0\",\n\twordpress: \"\\77\",\n\tinfinity: \"\\56\",\n\taudio-sound: \"\\e9ae\",\n\tsitemap: \"\\b8\",\n\tgoogle-analytics: \"\\e5\",\n\tprogress: \"\\e9b1\",\n\tdashboard: \"\\e9b2\",\n\tab-testing: \"\\bb\",\n\ttesting-bottle-beaker: \"\\e9b4\",\n\tarchive: \"\\62\",\n\tzip: \"\\3a9\",\n\tarrow-location: \"\\4d\",\n\tarrow-pointer-cursor: \"\\4e\",\n\tcode: \"\\3a\",\n\tnews-paper: \"\\2211\",\n\tgallery-slider: \"\\f7\",\n\tlayout: \"\\a9\",\n\tstorage-server-data: \"\\ce\",\n\tloader: \"\\e9be\",\n\trocket-launch: \"\\e9bf\",\n\ttarget: \"\\2020\"\n);\n\n@font-face {\n font-family: \"wpdui-icon\";\n src: url(\"../fonts/wpdui-icon.eot?n9b1n0\");\n src: url(\"../fonts/wpdui-icon.eot?n9b1n0#iefix\") format(\"embedded-opentype\"),\n url(\"../fonts/wpdui-icon.woff2?n9b1n0\") format(\"woff2\"),\n url(\"../fonts/wpdui-icon.ttf?n9b1n0\") format(\"truetype\"),\n url(\"../fonts/wpdui-icon.woff?n9b1n0\") format(\"woff\"),\n url(\"../fonts/wpdui-icon.svg?n9b1n0\") format(\"svg\");\n font-weight: normal;\n font-style: normal;\n}\n\n@each $name, $char in $icons {\n\n\t[class*=\"wpdui-icon-\"] {\n\t\tdisplay: inline-block;\n\t\t@include icon(both);\n\t}\n\t\n\t.wpdui-icon-#{$name}:before {\n\t\tcontent: $char;\n\t}\n}","[class*=\"wpdui-icon-\"]:before,\n[class*=\"wpdui-icon-\"]:after,\n.forminator-custom-form .forminator-label--info:before,\n.forminator-custom-form .forminator-label--error:before,\n.forminator-custom-form .forminator-label--notice:before,\n.forminator-custom-form .forminator-label--success:before,\n.forminator-custom-form.forminator-design--bold .forminator-time+.select2 .forminator-select2.select2-selection--single .select2-selection__arrow:before,\n.forminator-custom-form.forminator-design--bold .forminator-select+.select2 .forminator-select2.select2-selection--single .select2-selection__arrow:before,\n.forminator-custom-form.forminator-design--bold .forminator-date.forminator-has_icon:after,\n.forminator-calendar--bold .ui-datepicker-header .ui-datepicker-prev:before,\n.forminator-calendar--bold .ui-datepicker-header .ui-datepicker-next:before,\n.forminator-custom-form.forminator-design--flat .forminator-time+.select2 .forminator-select2.select2-selection--single .select2-selection__arrow:before,\n.forminator-custom-form.forminator-design--flat .forminator-select+.select2 .forminator-select2.select2-selection--single .select2-selection__arrow:before,\n.forminator-custom-form.forminator-design--flat .forminator-date.forminator-has_icon:after,\n.forminator-calendar--flat .ui-datepicker-header .ui-datepicker-prev:before,\n.forminator-calendar--flat .ui-datepicker-header .ui-datepicker-next:before,\n.forminator-custom-form.forminator-design--default .forminator-time+.select2 .forminator-select2.select2-selection--single .select2-selection__arrow:before,\n.forminator-custom-form.forminator-design--default .forminator-select+.select2 .forminator-select2.select2-selection--single .select2-selection__arrow:before,\n.forminator-custom-form.forminator-design--default .forminator-date.forminator-has_icon:after,\n.forminator-calendar--default .ui-datepicker-header .ui-datepicker-prev:before,\n.forminator-calendar--default .ui-datepicker-header .ui-datepicker-next:before,\n.forminator-custom-form.forminator-design--material .forminator-time+.select2 .forminator-select2.select2-selection--single .select2-selection__arrow:before,\n.forminator-custom-form.forminator-design--material .forminator-select+.select2 .forminator-select2.select2-selection--single .select2-selection__arrow:before,\n.forminator-custom-form.forminator-design--material .forminator-date.forminator-has_icon:before,\n.forminator-calendar--material .ui-datepicker-header .ui-datepicker-prev:before,\n.forminator-calendar--material .ui-datepicker-header .ui-datepicker-next:before,\n.forminator-custom-form.forminator-design--material .forminator-pagination--nav li:before,\n.forminator-poll .forminator-label--info:before,\n.forminator-poll .forminator-label--error:before,\n.forminator-poll .forminator-label--notice:before,\n.forminator-poll .forminator-label--success:before,\n.forminator-quiz.forminator-design--bold .forminator-answer .forminator-answer--check:after,\n.forminator-quiz.forminator-design--bold .forminator-answer .forminator-answer--status:after,\n.forminator-quiz.forminator-design--flat .forminator-answer .forminator-answer--check:after,\n.forminator-quiz.forminator-design--flat .forminator-answer .forminator-answer--status:after,\n.forminator-quiz.forminator-design--default .forminator-answer .forminator-answer--check:after,\n.forminator-quiz.forminator-design--default .forminator-answer .forminator-answer--status:after,\n.forminator-quiz.forminator-design--material .forminator-answer .forminator-answer--check:after,\n.forminator-quiz.forminator-design--material .forminator-answer .forminator-answer--status:after {\n speak: none;\n display: inline-block;\n line-height: 1;\n font-family: \"wpdui-icon\" !important;\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n text-rendering: optimizeLegibility;\n text-transform: none;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n@font-face {\n font-family: \"wpdui-icon\";\n src: url(\"../fonts/wpdui-icon.eot\");\n src: url(\"../fonts/wpdui-icon.eot\") format(\"embedded-opentype\"),url(\"../fonts/wpdui-icon.woff2\") format(\"woff2\"),url(\"../fonts/wpdui-icon.ttf\") format(\"truetype\"),url(\"../fonts/wpdui-icon.woff\") format(\"woff\"),url(\"../fonts/wpdui-icon.svg\") format(\"svg\");\n font-weight: normal;\n font-style: normal;\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-arrow-skip-back:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-arrow-skip-forward:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-arrow-skip-start:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-arrow-skip-end:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-accounts-billing:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-tech-support:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-blog:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-jobs-pros-search:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-security-thumb-print:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-ip:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-timed-countdown:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-2FA:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-2factor-authentication-security:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-buddypress:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-plug-disconnected:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-plug-connected:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-open-new-window:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-shipper-anchor:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-forminator-2:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-forminator2:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-forminator:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-forminator1:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-cloud-migration:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-performance:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-power-on-off:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-update-arrow:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-dashboard-settings:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-wpmudev-logo-2:before {\n content: \"›\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-wpmu-logo-line:before {\n content: \"›\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-wpmudev-logo:before {\n content: \"‹\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-wpmu-logo-solid:before {\n content: \"‹\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-star-line:before {\n content: \"Ï\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-notification-count:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-24-hour-support:before {\n content: \"Á\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-speed-optimize:before {\n content: \"ø\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-cloudflare:before {\n content: \"Ð\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-alert:before {\n content: \"X\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-align-center:before {\n content: \"^\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-align-justify:before {\n content: \"#\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-align-left:before {\n content: \"%\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-align-right:before {\n content: \"&\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-annotate:before {\n content: \"´\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-arrow-up:before {\n content: \"Ô\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-arrow-right:before {\n content: \"¯\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-arrow-down:before {\n content: \"Â\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-arrow-left:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-more:before {\n content: \"…\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-minus:before {\n content: \"-\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-plus:before {\n content: \"=\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-chevron-up:before {\n content: \"˝\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-arrow-up-carats:before {\n content: \"˝\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-chevron-down:before {\n content: \"ı\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-arrow-down-carats:before {\n content: \"ı\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-chevron-left:before {\n content: \"Ó\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-arrow-left-carats:before {\n content: \"Ó\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-chevron-right:before {\n content: \"˜\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-arrow-right-carats:before {\n content: \"˜\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-arrows-compress:before {\n content: \"≥\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-arrows-expand:before {\n content: \"¬\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-arrows-in:before {\n content: \"≤\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-arrows-out:before {\n content: \"˚\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-check:before {\n content: \"(\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-close:before {\n content: \")\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-at-sign:before {\n content: \"@\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-calendar:before {\n content: \"∏\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-camera:before {\n content: \"Ø\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-clipboard-notes:before {\n content: \"¿\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-clock:before {\n content: \",\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-cloud:before {\n content: \"™\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-download-cloud:before {\n content: \"£\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-upload-cloud:before {\n content: \"¢\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-comment:before {\n content: \"§\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-comments:before {\n content: \"¶\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-comment-2:before {\n content: \"ª\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-comment-3:before {\n content: \"ª\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-compass:before {\n content: \"ˆ\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-credit-card:before {\n content: \"c\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-crop:before {\n content: \"C\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-crown:before {\n content: \"¡\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-italic:before {\n content: \"{\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-bold:before {\n content: \"B\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-underline:before {\n content: \"U\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-text-color:before {\n content: \"¨\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-style-type:before {\n content: \"<\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-quote-2:before {\n content: \"'\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-quote:before {\n content: \";\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-paperclip:before {\n content: \"A\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-indent-less:before {\n content: \"”\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-indent-more:before {\n content: \"’\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-list-bullet:before {\n content: \"8\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-list-number:before {\n content: \"7\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-list:before {\n content: \"`\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-link:before {\n content: \"5\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-unlink:before {\n content: \"6\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-color-pick-eyedropper:before {\n content: \"¥\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-wand-magic:before {\n content: \"Z\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-layers:before {\n content: \"æ\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-dislike:before {\n content: \"k\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-like:before {\n content: \"j\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-dollar:before {\n content: \"$\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-download:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-eye:before {\n content: \"e\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-eye-hide:before {\n content: \"q\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-arrow-return-back:before {\n content: \"R\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-first-aid:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-folder:before {\n content: \"˘\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-map:before {\n content: \"4\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-graph-bar:before {\n content: \"Ç\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-graph-bar-2:before {\n content: \"˛\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-graph-bar_1:before {\n content: \"˛\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-heart:before {\n content: \"K\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-home:before {\n content: \"J\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-info:before {\n content: \"I\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-key:before {\n content: \"◊\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-laptop:before {\n content: \"«\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-lightbulb:before {\n content: \"L\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-asterisk:before {\n content: \"*\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-lock:before {\n content: \"9\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-unlock:before {\n content: \"0\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-mail:before {\n content: \"m\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-location-marker:before {\n content: \"l\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-microphone-audio:before {\n content: \"‰\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-mobile-signal:before {\n content: \"‛\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-mobile:before {\n content: \"“\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-monitor:before {\n content: \"\\\\\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-magnifying-glass-search:before{content:\"º\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-zoom-in:before{content:\"≠\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-zoom-out:before{content:\"–\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-magnifying-search-glass-love:before{content:\"•\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-price-tag:before{content:\"ˇ\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-bookmark:before{content:\"√\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-book-bookmark:before{content:\"˙\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-book:before{content:\"∆\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-page-multiple:before{content:\"ç\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-page-pdf:before{content:\"Æ\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-page-search:before{content:\"Ú\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-page:before{content:\"Ò\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-paint-bucket:before{content:\"∫\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-paypal:before{content:\"Y\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-pencil:before{content:\"/\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-photo-picture:before{content:\"D\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-play:before{content:\"p\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-pause:before{content:\"o\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-fast-forward:before{content:\">\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-refresh:before{content:\"E\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-update:before{content:\"®\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-puzzle:before{content:\";\n}\n\n\"}[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-layout-grid:before {\n content: \"∞\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-sheild-badge:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-coffee-cup:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-skull:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-social-android:before {\n content: \".\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-social-apple:before {\n content: \"a\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-social-drive:before {\n content: \"v\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-social-dropbox:before {\n content: \"d\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-social-facebook:before {\n content: \"f\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-social-github:before {\n content: \"h\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-social-google-plus:before {\n content: \"g\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-social-linkedin:before {\n content: \"i\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-social-twitter:before {\n content: \"t\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-animation-video:before {\n content: \"F\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-social-youtube:before {\n content: \"y\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-white-label-video:before {\n content: \"u\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-star:before {\n content: \"S\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-tablet-landscape:before {\n content: \"[\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-tablet-portrait:before {\n content: \"]\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-thumbnails:before {\n content: \"G\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-ticket:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-profile-male:before {\n content: \"µ\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-profile-female:before {\n content: \"ƒ\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-community-people:before {\n content: \"‘\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-trash:before {\n content: \"Q\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-notification:before {\n content: \"n\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-user-hero-points-trophy:before {\n content: \"1\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-megaphone:before {\n content: \"Å\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-flag:before {\n content: \"|\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-stopwatch:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-shopping-cart:before {\n content: \"Í\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-share:before {\n content: \"s\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-help-support:before {\n content: \"H\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-web-globe-world:before {\n content: \"W\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-widget-settings-config:before {\n content: \"x\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-wrench-tool:before {\n content: \"⁄\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-settings-slider-control:before {\n content: \"œ\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-filter:before {\n content: \"z\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-reply:before {\n content: \"r\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-finger-point:before {\n content: \"≈\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-finger-swipe:before {\n content: \"∃\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-mouse-scroll:before {\n content: \"ß\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-plugin-2:before {\n content: \"O\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-brush:before {\n content: \"~\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-themes:before {\n content: \"T\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-plugins:before {\n content: \"P\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-question:before {\n content: \"?\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-warning-alert:before {\n content: \"!\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-check-tick:before {\n content: \"_\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-cross-close:before {\n content: \"+\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-user-reputation-points:before {\n content: \"2\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-user-star-level-up:before {\n content: \"3\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-devman:before {\n content: \"€\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-defender:before {\n content: \"·\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-hub:before {\n content: \"fl\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-hummingbird:before {\n content: \"°\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-hustle:before {\n content: \"—\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-smart-crawl:before {\n content: \"∂\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-smush:before {\n content: \"‡\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-snapshot:before {\n content: \"fi\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-upfront:before {\n content: \"‚\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-uptime:before {\n content: \"±\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-pulse:before {\n content: \"„\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-automate:before {\n content: \"Œ\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-academy:before {\n content: \"π\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-wordpress:before {\n content: \"w\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-infinity:before {\n content: \"V\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-audio-sound:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-sitemap:before {\n content: \"¸\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-google-analytics:before {\n content: \"å\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-progress:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-dashboard:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-ab-testing:before {\n content: \"»\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-testing-bottle-beaker:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-archive:before {\n content: \"b\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-zip:before {\n content: \"Ω\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-arrow-location:before {\n content: \"M\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-arrow-pointer-cursor:before {\n content: \"N\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-code:before {\n content: \":\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-news-paper:before {\n content: \"∑\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-gallery-slider:before {\n content: \"÷\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-layout:before {\n content: \"©\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-storage-server-data:before {\n content: \"Î\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-loader:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-rocket-launch:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-target:before {\n content: \"†\";\n}\n\n@keyframes updating {\n from {\n transform: rotate(0deg);\n }\n\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n}\n\n@keyframes fadeInUp {\n from {\n opacity: 0;\n transform: translate3d(0, 100%, 0);\n }\n\n to {\n opacity: 1;\n transform: none;\n }\n}\n\n@keyframes fadeOutDown {\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n transform: translate3d(0, 100%, 0);\n }\n}\n\n@keyframes click-animation {\n 0% {\n transform: scale(1);\n filter: alpha(opacity=20);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=20);\n opacity: .2;\n -khtml-opacity: .2;\n }\n\n 50% {\n transform: scale(2);\n filter: alpha(opacity=10);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=10);\n opacity: .1;\n -khtml-opacity: .1;\n }\n\n 100% {\n transform: scale(0);\n filter: alpha(opacity=0);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);\n opacity: 0;\n -khtml-opacity: 0;\n }\n}\n\n.forminator-custom-form .forminator-label,\n.forminator-custom-form .forminator-label--limit,\n.forminator-custom-form .forminator-label--helper,\n.forminator-custom-form .forminator-label--validation,\n.forminator-custom-form .forminator-label--info p,\n.forminator-custom-form .forminator-label--error p,\n.forminator-custom-form .forminator-label--notice p,\n.forminator-custom-form .forminator-label--success p,\n.forminator-custom-form .forminator-label--loading p,\n.forminator-custom-form .forminator-break .forminator-title,\n.forminator-custom-form .forminator-break .forminator-subtitle,\n.forminator-custom-form.forminator-design--bold .forminator-multiselect,\n.forminator-custom-form.forminator-design--bold .forminator-multiselect li,\n.forminator-custom-form.forminator-design--bold .forminator-multiselect label,\n.forminator-calendar--bold .ui-datepicker-calendar thead tr th a,\n.forminator-calendar--bold .ui-datepicker-calendar thead tr th span,\n.forminator-calendar--bold .ui-datepicker-calendar tbody tr td a,\n.forminator-calendar--bold .ui-datepicker-calendar tbody tr td span,\n.forminator-custom-form.forminator-design--flat .forminator-multiselect,\n.forminator-custom-form.forminator-design--flat .forminator-multiselect li,\n.forminator-custom-form.forminator-design--flat .forminator-multiselect label,\n.forminator-calendar--flat .ui-datepicker-calendar thead tr th a,\n.forminator-calendar--flat .ui-datepicker-calendar thead tr th span,\n.forminator-calendar--flat .ui-datepicker-calendar tbody tr td a,\n.forminator-calendar--flat .ui-datepicker-calendar tbody tr td span,\n.forminator-custom-form.forminator-design--default .forminator-multiselect,\n.forminator-custom-form.forminator-design--default .forminator-multiselect li,\n.forminator-custom-form.forminator-design--default .forminator-multiselect label,\n.forminator-calendar--default .ui-datepicker-calendar thead tr th a,\n.forminator-calendar--default .ui-datepicker-calendar thead tr th span,\n.forminator-calendar--default .ui-datepicker-calendar tbody tr td a,\n.forminator-calendar--default .ui-datepicker-calendar tbody tr td span,\n.forminator-custom-form.forminator-design--material .forminator-multiselect,\n.forminator-custom-form.forminator-design--material .forminator-multiselect li,\n.forminator-custom-form.forminator-design--material .forminator-multiselect label,\n.forminator-calendar--material .ui-datepicker-calendar thead tr th a,\n.forminator-calendar--material .ui-datepicker-calendar thead tr th span,\n.forminator-calendar--material .ui-datepicker-calendar tbody tr td a,\n.forminator-calendar--material .ui-datepicker-calendar tbody tr td span,\n.forminator-poll .forminator-label--info p,\n.forminator-poll .forminator-label--error p,\n.forminator-poll .forminator-label--notice p,\n.forminator-poll .forminator-label--success p,\n.forminator-poll .forminator-label--loading p {\n margin: 0;\n padding: 0;\n border: 0;\n}\n\n.forminator-custom-form.forminator-design-- *,\n.forminator-custom-form *,\n.forminator-custom-form.forminator-design--bold *,\nbody>.select2-container .forminator-droptime--bold *,\nbody>.select2-container .forminator-dropdown--bold *,\n.forminator-calendar--bold *,\n.forminator-custom-form.forminator-design--flat *,\nbody>.select2-container .forminator-droptime--flat *,\nbody>.select2-container .forminator-dropdown--flat *,\n.forminator-calendar--flat *,\n.forminator-custom-form.forminator-design--default *,\nbody>.select2-container .forminator-droptime--default *,\nbody>.select2-container .forminator-dropdown--default *,\n.forminator-calendar--default *,\n.forminator-custom-form.forminator-design--material *,\nbody>.select2-container .forminator-droptime--material *,\nbody>.select2-container .forminator-dropdown--material *,\n.forminator-calendar--material *,\n.forminator-poll *,\n.forminator-poll.forminator-design--bold *,\n.forminator-poll.forminator-design--flat *,\n.forminator-poll.forminator-design--default *,\n.forminator-poll.forminator-design--material *,\n.forminator-quiz.forminator-design--bold *,\n.forminator-quiz.forminator-design--flat *,\n.forminator-quiz.forminator-design--default *,\n.forminator-quiz.forminator-design--material * {\n font-variant-ligatures: none;\n -webkit-font-variant-ligatures: none;\n text-rendering: optimizeLegibility;\n -moz-osx-font-smoothing: grayscale;\n font-smoothing: antialiased;\n -webkit-font-smoothing: antialiased;\n text-shadow: rgba(0,0,0,0.01) 0 0 1px;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-radio input,\n.forminator-custom-form.forminator-design--bold .forminator-checkbox input,\n.forminator-custom-form.forminator-design--bold .forminator-multiselect li input,\n.forminator-custom-form.forminator-design--flat .forminator-radio input,\n.forminator-custom-form.forminator-design--flat .forminator-checkbox input,\n.forminator-custom-form.forminator-design--flat .forminator-multiselect li input,\n.forminator-custom-form.forminator-design--default .forminator-radio input,\n.forminator-custom-form.forminator-design--default .forminator-checkbox input,\n.forminator-custom-form.forminator-design--default .forminator-multiselect li input,\n.forminator-custom-form.forminator-design--material .forminator-radio input,\n.forminator-custom-form.forminator-design--material .forminator-checkbox input,\n.forminator-custom-form.forminator-design--material .forminator-multiselect li input,\n.forminator-poll.forminator-design--bold .forminator-radio input,\n.forminator-poll.forminator-design--flat .forminator-radio input,\n.forminator-poll.forminator-design--default .forminator-radio input,\n.forminator-poll.forminator-design--material .forminator-radio input,\n.forminator-quiz.forminator-design--bold .forminator-answer input,\n.forminator-quiz.forminator-design--flat .forminator-answer input,\n.forminator-quiz.forminator-design--default .forminator-answer input,\n.forminator-quiz.forminator-design--material .forminator-answer input {\n width: 1px;\n height: 1px;\n overflow: hidden;\n position: absolute !important;\n margin: -1px;\n border: 0;\n padding: 0;\n clip: rect(1px, 1px, 1px, 1px);\n clip-path: inset(50%);\n word-wrap: normal !important;\n}\n\n.forminator-custom-form .forminator-label,\n.forminator-custom-form .forminator-label--limit,\n.forminator-custom-form .forminator-label--helper,\n.forminator-custom-form .forminator-label--validation {\n cursor: default;\n display: block;\n letter-spacing: -.0025em;\n}\n\n.forminator-custom-form .forminator-label[for],\n.forminator-custom-form .forminator-label--limit[for],\n.forminator-custom-form .forminator-label--helper[for],\n.forminator-custom-form .forminator-label--validation[for] {\n cursor: pointer;\n}\n\n.forminator-custom-form .forminator-label .wpdui-icon-asterisk,\n.forminator-custom-form .forminator-label--limit .wpdui-icon-asterisk,\n.forminator-custom-form .forminator-label--helper .wpdui-icon-asterisk,\n.forminator-custom-form .forminator-label--validation .wpdui-icon-asterisk {\n display: inline-flex;\n vertical-align: super;\n font-size: 6px;\n}\n\n.forminator-custom-form .forminator-label .wpdui-icon-asterisk:before,\n.forminator-custom-form .forminator-label--limit .wpdui-icon-asterisk:before,\n.forminator-custom-form .forminator-label--helper .wpdui-icon-asterisk:before,\n.forminator-custom-form .forminator-label--validation .wpdui-icon-asterisk:before {\n display: block;\n}\n\n.forminator-custom-form .forminator-row {\n display: block;\n margin-bottom: 20px;\n}\n\n.forminator-custom-form .forminator-row .forminator-col {\n margin-bottom: 20px;\n}\n\n.forminator-custom-form .forminator-row .forminator-col:last-child {\n margin-bottom: 0;\n}\n\n.forminator-custom-form .forminator-row:last-child {\n margin-bottom: 0;\n}\n\n.forminator-custom-form .forminator-row--time+.forminator-label--validation {\n display: none;\n}\n\n.forminator-custom-form.forminator-enclosed .forminator-row {\n margin-bottom: 8px;\n}\n\n.forminator-custom-form.forminator-enclosed .forminator-row .forminator-col {\n margin-bottom: 8px;\n}\n\n.forminator-custom-form.forminator-enclosed .forminator-row .forminator-col:last-child {\n margin-bottom: 0;\n}\n\n.forminator-custom-form.forminator-enclosed .forminator-row:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small) .forminator-row .forminator-col {\n flex: 0 0 auto;\n margin-bottom: 0;\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small) .forminator-row .forminator-col-3 {\n max-width: 25%;\n flex-basis: 25%;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small) .forminator-row .forminator-col-4 {\n max-width: 33.33%;\n flex-basis: 33.33%;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small) .forminator-row .forminator-col-6 {\n max-width: 50%;\n flex-basis: 50%;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small) .forminator-row .forminator-col-12 {\n min-width: 100%;\n max-width: 100%;\n flex-basis: 100%;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small) .forminator-row .forminator-col-3 .forminator-row--inner .forminator-col:last-child,\n .forminator-custom-form:not(.forminator-size--small) .forminator-row .forminator-col-4 .forminator-row--inner .forminator-col:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small) .forminator-row .forminator-col-3 .forminator-row--inner .forminator-col,\n .forminator-custom-form:not(.forminator-size--small) .forminator-row .forminator-col-4 .forminator-row--inner .forminator-col {\n margin-bottom: 30px;\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small) .forminator-row .forminator-col-3 .forminator-row--inner .forminator-col-3,\n .forminator-custom-form:not(.forminator-size--small) .forminator-row .forminator-col-3 .forminator-row--inner .forminator-col-4,\n .forminator-custom-form:not(.forminator-size--small) .forminator-row .forminator-col-3 .forminator-row--inner .forminator-col-6,\n .forminator-custom-form:not(.forminator-size--small) .forminator-row .forminator-col-4 .forminator-row--inner .forminator-col-3,\n .forminator-custom-form:not(.forminator-size--small) .forminator-row .forminator-col-4 .forminator-row--inner .forminator-col-4,\n .forminator-custom-form:not(.forminator-size--small) .forminator-row .forminator-col-4 .forminator-row--inner .forminator-col-6 {\n max-width: 100%;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small) .forminator-row .forminator-col-3 .forminator-row--inner,\n .forminator-custom-form:not(.forminator-size--small) .forminator-row .forminator-col-4 .forminator-row--inner {\n display: block;\n margin-right: 0;\n margin-left: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small) .forminator-row:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small) .forminator-row {\n display: flex;\n margin-right: -15px;\n margin-bottom: 30px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small) .forminator-row--time .forminator-field .forminator-label--validation {\n display: none;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small) .forminator-row--time+.forminator-label--validation {\n display: block;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small) .forminator-row--time {\n align-items: flex-end;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small).forminator-enclosed .forminator-row .forminator-col {\n padding-right: 7px;\n padding-left: 7px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small).forminator-enclosed .forminator-row .forminator-col-3 .forminator-row--inner .forminator-col:last-child,\n .forminator-custom-form:not(.forminator-size--small).forminator-enclosed .forminator-row .forminator-col-4 .forminator-row--inner .forminator-col:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small).forminator-enclosed .forminator-row .forminator-col-3 .forminator-row--inner .forminator-col,\n .forminator-custom-form:not(.forminator-size--small).forminator-enclosed .forminator-row .forminator-col-4 .forminator-row--inner .forminator-col {\n margin-bottom: 14px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small).forminator-enclosed .forminator-row:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small).forminator-enclosed .forminator-row {\n margin-right: -7px;\n margin-bottom: 14px;\n margin-left: -7px;\n }\n}\n\n.forminator-custom-form.forminator-design-- {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-custom-form.forminator-design--:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design-- {\n margin: 30px auto;\n }\n}\n\n.forminator-custom-form.forminator-design-- * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design-- .forminator-hidden {\n display: none !important;\n}\n\n@media (max-width: 782px) {\n .forminator-custom-form.forminator-design-- .forminator-hidden-mobile {\n display: none !important;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design-- .forminator-hidden-desktop {\n display: none !important;\n }\n}\n\n.forminator-custom-form {\n box-sizing: border-box;\n}\n\n.forminator-custom-form * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form .forminator-hidden {\n display: none !important;\n}\n\n.forminator-custom-form .forminator-label--info {\n height: auto;\n cursor: default;\n display: block;\n position: relative;\n margin: 20px 0;\n padding: 14px;\n border-radius: 4px;\n transition: height 0.3s linear, opacity 0.3s ease;\n background-color: #F8F8F8;\n color: #888;\n}\n\n.forminator-custom-form .forminator-label--info:before {\n width: 16px;\n height: 16px;\n display: block;\n position: absolute;\n top: 16px;\n left: 14px;\n font-size: 16px;\n text-align: center;\n}\n\n.forminator-custom-form .forminator-label--info:before {\n content: \"I\";\n color: #888;\n}\n\n.forminator-custom-form .forminator-label--info * {\n color: inherit;\n}\n\n.forminator-custom-form .forminator-label--info>span,\n.forminator-custom-form .forminator-label--info>div {\n cursor: initial;\n display: block;\n padding-left: 30px;\n}\n\n.forminator-custom-form .forminator-label--info,\n.forminator-custom-form .forminator-label--info p {\n font-size: 13px;\n line-height: 20px;\n font-family: \"Roboto\",Arial,sans-serif;\n font-weight: 400;\n letter-spacing: -.0025em;\n}\n\n.forminator-custom-form .forminator-label--info strong,\n.forminator-custom-form .forminator-label--info p strong {\n font-weight: bold;\n}\n\n.forminator-custom-form .forminator-label--info:first-child {\n margin-top: 0;\n}\n\n.forminator-custom-form .forminator-label--info:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form .forminator-label--info {\n margin: 30px 0;\n }\n}\n\n.forminator-custom-form .forminator-label--error {\n height: auto;\n cursor: default;\n display: block;\n position: relative;\n margin: 20px 0;\n padding: 14px;\n border-radius: 4px;\n transition: height 0.3s linear, opacity 0.3s ease;\n background-color: #CB4B57;\n color: #fff;\n}\n\n.forminator-custom-form .forminator-label--error:before {\n width: 16px;\n height: 16px;\n display: block;\n position: absolute;\n top: 16px;\n left: 14px;\n font-size: 16px;\n text-align: center;\n}\n\n.forminator-custom-form .forminator-label--error:before {\n content: \"!\";\n color: #fff;\n}\n\n.forminator-custom-form .forminator-label--error * {\n color: inherit;\n}\n\n.forminator-custom-form .forminator-label--error>span,\n.forminator-custom-form .forminator-label--error>div {\n cursor: initial;\n display: block;\n padding-left: 30px;\n}\n\n.forminator-custom-form .forminator-label--error,\n.forminator-custom-form .forminator-label--error p {\n font-size: 13px;\n line-height: 20px;\n font-family: \"Roboto\",Arial,sans-serif;\n font-weight: 400;\n letter-spacing: -.0025em;\n}\n\n.forminator-custom-form .forminator-label--error strong,\n.forminator-custom-form .forminator-label--error p strong {\n font-weight: bold;\n}\n\n.forminator-custom-form .forminator-label--error:first-child {\n margin-top: 0;\n}\n\n.forminator-custom-form .forminator-label--error:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form .forminator-label--error {\n margin: 30px 0;\n }\n}\n\n.forminator-custom-form .forminator-label--notice {\n height: auto;\n cursor: default;\n display: block;\n position: relative;\n margin: 20px 0;\n padding: 14px;\n border-radius: 4px;\n transition: height 0.3s linear, opacity 0.3s ease;\n background-color: #FFF4D2;\n color: #333;\n}\n\n.forminator-custom-form .forminator-label--notice:before {\n width: 16px;\n height: 16px;\n display: block;\n position: absolute;\n top: 16px;\n left: 14px;\n font-size: 16px;\n text-align: center;\n}\n\n.forminator-custom-form .forminator-label--notice:before {\n content: \"I\";\n color: #333;\n}\n\n.forminator-custom-form .forminator-label--notice * {\n color: inherit;\n}\n\n.forminator-custom-form .forminator-label--notice>span,\n.forminator-custom-form .forminator-label--notice>div {\n cursor: initial;\n display: block;\n padding-left: 30px;\n}\n\n.forminator-custom-form .forminator-label--notice,\n.forminator-custom-form .forminator-label--notice p {\n font-size: 13px;\n line-height: 20px;\n font-family: \"Roboto\",Arial,sans-serif;\n font-weight: 400;\n letter-spacing: -.0025em;\n}\n\n.forminator-custom-form .forminator-label--notice strong,\n.forminator-custom-form .forminator-label--notice p strong {\n font-weight: bold;\n}\n\n.forminator-custom-form .forminator-label--notice:first-child {\n margin-top: 0;\n}\n\n.forminator-custom-form .forminator-label--notice:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form .forminator-label--notice {\n margin: 30px 0;\n }\n}\n\n.forminator-custom-form .forminator-label--success {\n height: auto;\n cursor: default;\n display: block;\n position: relative;\n margin: 20px 0;\n padding: 14px;\n border-radius: 4px;\n transition: height 0.3s linear, opacity 0.3s ease;\n background-color: #1ABC9C;\n color: #fff;\n}\n\n.forminator-custom-form .forminator-label--success:before {\n width: 16px;\n height: 16px;\n display: block;\n position: absolute;\n top: 16px;\n left: 14px;\n font-size: 16px;\n text-align: center;\n}\n\n.forminator-custom-form .forminator-label--success:before {\n content: \"(\";\n color: #fff;\n}\n\n.forminator-custom-form .forminator-label--success * {\n color: inherit;\n}\n\n.forminator-custom-form .forminator-label--success>span,\n.forminator-custom-form .forminator-label--success>div {\n cursor: initial;\n display: block;\n padding-left: 30px;\n}\n\n.forminator-custom-form .forminator-label--success,\n.forminator-custom-form .forminator-label--success p {\n font-size: 13px;\n line-height: 20px;\n font-family: \"Roboto\",Arial,sans-serif;\n font-weight: 400;\n letter-spacing: -.0025em;\n}\n\n.forminator-custom-form .forminator-label--success strong,\n.forminator-custom-form .forminator-label--success p strong {\n font-weight: bold;\n}\n\n.forminator-custom-form .forminator-label--success:first-child {\n margin-top: 0;\n}\n\n.forminator-custom-form .forminator-label--success:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form .forminator-label--success {\n margin: 30px 0;\n }\n}\n\n.forminator-custom-form .forminator-label--loading {\n height: auto;\n cursor: default;\n display: block;\n position: relative;\n margin: 20px 0;\n padding: 14px;\n border-radius: 4px;\n transition: height 0.3s linear, opacity 0.3s ease;\n background-color: #D4EEF9;\n color: #888;\n}\n\n.forminator-custom-form .forminator-label--loading:before {\n width: 16px;\n height: 16px;\n display: block;\n position: absolute;\n top: 16px;\n left: 14px;\n font-size: 16px;\n text-align: center;\n}\n\n.forminator-custom-form .forminator-label--loading:before {\n width: 18px;\n height: 18px;\n border: 2px solid #fff;\n border-bottom-color: transparent;\n border-radius: 100%;\n box-sizing: border-box;\n animation: spin .75s 0s linear infinite;\n}\n\n.forminator-custom-form .forminator-label--loading * {\n color: inherit;\n}\n\n.forminator-custom-form .forminator-label--loading>span,\n.forminator-custom-form .forminator-label--loading>div {\n cursor: initial;\n display: block;\n padding-left: 30px;\n}\n\n.forminator-custom-form .forminator-label--loading,\n.forminator-custom-form .forminator-label--loading p {\n font-size: 13px;\n line-height: 20px;\n font-family: \"Roboto\",Arial,sans-serif;\n font-weight: 400;\n letter-spacing: -.0025em;\n}\n\n.forminator-custom-form .forminator-label--loading strong,\n.forminator-custom-form .forminator-label--loading p strong {\n font-weight: bold;\n}\n\n.forminator-custom-form .forminator-label--loading:first-child {\n margin-top: 0;\n}\n\n.forminator-custom-form .forminator-label--loading:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form .forminator-label--loading {\n margin: 30px 0;\n }\n}\n\n.forminator-custom-form .forminator-cform-response-message [class^='forminator-label--'] {\n margin-bottom: 20px;\n}\n\n.forminator-custom-form.forminator-enclosed .forminator-cform-response-message [class^='forminator-label--'] {\n margin-bottom: 8px;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small) .forminator-cform-response-message [class^='forminator-label--'] {\n margin-bottom: 30px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small).forminator-enclosed .forminator-cform-response-message [class^='forminator-label--'] {\n margin-bottom: 14px;\n }\n}\n\n.forminator-custom-form .forminator-label--limit,\n.forminator-custom-form .forminator-label--helper {\n cursor: text;\n}\n\n.forminator-custom-form .forminator-field--helper {\n display: flex;\n margin: 5px 0 0;\n}\n\n.forminator-custom-form .forminator-field--helper .forminator-label--helper {\n flex: 1;\n}\n\n.forminator-custom-form .forminator-field--helper .forminator-label--helper+.forminator-label--limit {\n margin-left: 10px;\n}\n\n.forminator-custom-form .forminator-field--helper .forminator-label--limit {\n flex: 0 0 auto;\n text-align: right;\n}\n\n.forminator-custom-form .forminator-field--helper .forminator-label--limit:only-child {\n flex: 1;\n}\n\n.forminator-custom-form.forminator-enclosed .forminator-field--helper {\n margin: 0;\n}\n\n.forminator-custom-form.forminator-enclosed .forminator-field--helper .forminator-label--helper+.forminator-label--limit {\n margin-left: 4px;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small) .forminator-field--helper .forminator-label--helper+.forminator-label--limit {\n margin-left: 15px;\n }\n}\n\n.forminator-custom-form .forminator-break .forminator-title+.forminator-border,\n.forminator-custom-form .forminator-break .forminator-subtitle+.forminator-border {\n margin-top: 20px;\n}\n\n.forminator-custom-form .forminator-break .forminator-title {\n line-height: 1.34em;\n}\n\n.forminator-custom-form .forminator-break .forminator-title+.forminator-subtitle {\n margin-top: 0.56em;\n}\n\n.forminator-custom-form .forminator-break .forminator-subtitle {\n line-height: 1.2em;\n}\n\n.forminator-custom-form.forminator-enclosed .forminator-break .forminator-title+.forminator-border,\n.forminator-custom-form.forminator-enclosed .forminator-break .forminator-subtitle+.forminator-border {\n margin-top: 8px;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small) .forminator-break .forminator-title+.forminator-border,\n .forminator-custom-form:not(.forminator-size--small) .forminator-break .forminator-subtitle+.forminator-border {\n margin-top: 30px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small).forminator-enclosed .forminator-break .forinator-title+.forminator-border,\n .forminator-custom-form:not(.forminator-size--small).forminator-enclosed .forminator-break .forminator-subtitle+.forminator-border {\n margin-top: 14px;\n }\n}\n\n.forminator-custom-form .wp-editor-wrap .wp-switch-editor {\n height: auto;\n margin-top: 0;\n padding-top: 4px;\n font-size: 12px;\n line-height: 20px;\n font-weight: normal;\n}\n\n.forminator-custom-form.forminator-design--bold {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--bold:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-custom-form.forminator-design--bold:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold {\n margin: 30px auto;\n }\n}\n\n.forminator-custom-form.forminator-design--bold * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-label,\n.forminator-custom-form.forminator-design--bold .forminator-label--limit,\n.forminator-custom-form.forminator-design--bold .forminator-label--helper {\n line-height: 20px;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-label--validation {\n margin-top: 5px;\n padding: 5px 10px;\n line-height: 20px;\n}\n\n.forminator-custom-form.forminator-design--bold {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--bold:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-custom-form.forminator-design--bold:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold {\n margin: 30px auto;\n }\n}\n\n.forminator-custom-form.forminator-design--bold * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-break .forminator-border {\n width: 100%;\n height: 0;\n display: block;\n margin-right: 0;\n margin-bottom: 0;\n margin-left: 0;\n padding: 0;\n border-style: none;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-break .forminator-border.solid {\n border-style: solid;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-break .forminator-border.dashed {\n border-style: dashed;\n}\n\n.forminator-custom-form.forminator-design--bold {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--bold:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-custom-form.forminator-design--bold:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold {\n margin: 30px auto;\n }\n}\n\n.forminator-custom-form.forminator-design--bold * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-input,\n.forminator-custom-form.forminator-design--bold .forminator-textarea {\n width: 100%;\n max-width: 100%;\n display: block;\n margin: 0;\n padding: 0;\n border: 0;\n background-image: unset;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-input,\n.forminator-custom-form.forminator-design--bold .forminator-input:hover,\n.forminator-custom-form.forminator-design--bold .forminator-input:focus,\n.forminator-custom-form.forminator-design--bold .forminator-input:active,\n.forminator-custom-form.forminator-design--bold .forminator-input:disabled,\n.forminator-custom-form.forminator-design--bold .forminator-textarea,\n.forminator-custom-form.forminator-design--bold .forminator-textarea:hover,\n.forminator-custom-form.forminator-design--bold .forminator-textarea:focus,\n.forminator-custom-form.forminator-design--bold .forminator-textarea:active,\n.forminator-custom-form.forminator-design--bold .forminator-textarea:disabled {\n outline: none;\n box-shadow: none;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-input,\n.forminator-custom-form.forminator-design--bold .forminator-input:hover,\n.forminator-custom-form.forminator-design--bold .forminator-input:focus,\n.forminator-custom-form.forminator-design--bold .forminator-input:active,\n.forminator-custom-form.forminator-design--bold .forminator-textarea,\n.forminator-custom-form.forminator-design--bold .forminator-textarea:hover,\n.forminator-custom-form.forminator-design--bold .forminator-textarea:focus,\n.forminator-custom-form.forminator-design--bold .forminator-textarea:active {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-input:disabled,\n.forminator-custom-form.forminator-design--bold .forminator-textarea:disabled {\n pointer-events: none;\n border-style: dotted;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-input:disabled:-moz-placeholder,\n.forminator-custom-form.forminator-design--bold .forminator-textarea:disabled:-moz-placeholder {\n filter: alpha(opacity=40);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);\n opacity: .4;\n -khtml-opacity: .4;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-input:disabled::-moz-placeholder,\n.forminator-custom-form.forminator-design--bold .forminator-textarea:disabled::-moz-placeholder {\n filter: alpha(opacity=40);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);\n opacity: .4;\n -khtml-opacity: .4;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-input:disabled:-ms-input-placeholder,\n.forminator-custom-form.forminator-design--bold .forminator-textarea:disabled:-ms-input-placeholder {\n filter: alpha(opacity=40);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);\n opacity: .4;\n -khtml-opacity: .4;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-input:disabled::-webkit-input-placeholder,\n.forminator-custom-form.forminator-design--bold .forminator-textarea:disabled::-webkit-input-placeholder {\n filter: alpha(opacity=40);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);\n opacity: .4;\n -khtml-opacity: .4;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-textarea {\n height: auto;\n min-height: 140px;\n resize: vertical;\n}\n\n.forminator-custom-form.forminator-design--bold .intl-tel-input {\n display: block;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-input,\n.forminator-custom-form.forminator-design--bold .forminator-textarea {\n line-height: 20px;\n transition: 0.3s ease;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-input {\n padding: 7px;\n border-width: 3px;\n border-style: solid;\n border-radius: 0;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-textarea {\n padding: 7px;\n border-width: 3px;\n border-style: solid;\n border-radius: 0;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-input {\n height: 40px;\n}\n\n.forminator-custom-form.forminator-design--bold {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--bold:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-custom-form.forminator-design--bold:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold {\n margin: 30px auto;\n }\n}\n\n.forminator-custom-form.forminator-design--bold * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-radio {\n display: flex;\n position: relative;\n margin: 5px 0;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-radio input:checked+.forminator-radio--design:before {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-radio .forminator-radio--design {\n cursor: pointer;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n margin: 0;\n padding: 0;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-radio .forminator-radio--design:before {\n filter: alpha(opacity=0);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);\n opacity: 0;\n -khtml-opacity: 0;\n display: block;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-radio .forminator-radio--design+.forminator-radio--label {\n margin-left: 10px;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-radio .forminator-radio--label {\n cursor: default;\n display: block;\n margin: 0;\n padding: 0;\n border: 0;\n letter-spacing: 0;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-radio .forminator-radio--label[for] {\n cursor: pointer;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-radio .forminator-radio--design {\n width: 20px;\n height: 20px;\n flex: 0 0 20px;\n border-width: 3px;\n border-style: solid;\n transition: 0.3s ease;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-radio .forminator-radio--label {\n line-height: 20px;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-radio .forminator-radio--design:before {\n width: 8px;\n height: 8px;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-radio .forminator-radio--design {\n border-radius: 100%;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-radio .forminator-radio--design:before {\n content: \" \";\n border-radius: 100%;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-checkbox {\n display: flex;\n position: relative;\n margin: 5px 0;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-checkbox input:checked+.forminator-checkbox--design:before {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-checkbox .forminator-checkbox--design {\n cursor: pointer;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n margin: 0;\n padding: 0;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-checkbox .forminator-checkbox--design:before {\n filter: alpha(opacity=0);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);\n opacity: 0;\n -khtml-opacity: 0;\n display: block;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-checkbox .forminator-checkbox--design+.forminator-checkbox--label {\n margin-left: 10px;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-checkbox .forminator-checkbox--label {\n cursor: default;\n display: block;\n margin: 0;\n padding: 0;\n border: 0;\n letter-spacing: 0;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-checkbox .forminator-checkbox--label[for] {\n cursor: pointer;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-checkbox .forminator-checkbox--design {\n width: 20px;\n height: 20px;\n flex: 0 0 20px;\n border-width: 3px;\n border-style: solid;\n transition: 0.3s ease;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-checkbox .forminator-checkbox--label {\n line-height: 20px;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-checkbox .forminator-checkbox--design:before {\n font-size: 8px;\n}\n\n.forminator-custom-form.forminator-design--bold {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--bold:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-custom-form.forminator-design--bold:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold {\n margin: 30px auto;\n }\n}\n\n.forminator-custom-form.forminator-design--bold * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-time+.select2,\n.forminator-custom-form.forminator-design--bold .forminator-select+.select2 {\n width: 100% !important;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-time+.select2 *,\n.forminator-custom-form.forminator-design--bold .forminator-select+.select2 * {\n display: block;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-time+.select2 .forminator-select2,\n.forminator-custom-form.forminator-design--bold .forminator-select+.select2 .forminator-select2 {\n height: auto;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-time+.select2 .forminator-select2.select2-selection--single .select2-selection__rendered,\n.forminator-custom-form.forminator-design--bold .forminator-select+.select2 .forminator-select2.select2-selection--single .select2-selection__rendered {\n padding-left: 0;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-time+.select2 .forminator-select2,\n.forminator-custom-form.forminator-design--bold .forminator-select+.select2 .forminator-select2 {\n padding: 7px;\n border-width: 3px;\n border-style: solid;\n border-radius: 0;\n transition: 0.3s ease;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-time+.select2 .forminator-select2.select2-selection--single .select2-selection__rendered,\n.forminator-custom-form.forminator-design--bold .forminator-select+.select2 .forminator-select2.select2-selection--single .select2-selection__rendered {\n line-height: 20px;\n transition: 0.3s ease;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-time+.select2 .forminator-select2.select2-selection--single,\n.forminator-custom-form.forminator-design--bold .forminator-select+.select2 .forminator-select2.select2-selection--single {\n position: relative;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-time+.select2 .forminator-select2.select2-selection--single .select2-selection__rendered,\n.forminator-custom-form.forminator-design--bold .forminator-select+.select2 .forminator-select2.select2-selection--single .select2-selection__rendered {\n padding-right: 37px;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-time+.select2 .forminator-select2.select2-selection--single .select2-selection__arrow,\n.forminator-custom-form.forminator-design--bold .forminator-select+.select2 .forminator-select2.select2-selection--single .select2-selection__arrow {\n width: 20px;\n height: 20px;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n position: absolute;\n top: 7px;\n right: 7px;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-time+.select2 .forminator-select2.select2-selection--single .select2-selection__arrow:before,\n.forminator-custom-form.forminator-design--bold .forminator-select+.select2 .forminator-select2.select2-selection--single .select2-selection__arrow:before {\n content: \"ı\";\n transition: transform 0.2s linear,0.3s ease;\n font-size: 14px;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-time+.select2 .forminator-select2.select2-selection--single .select2-selection__arrow b,\n.forminator-custom-form.forminator-design--bold .forminator-select+.select2 .forminator-select2.select2-selection--single .select2-selection__arrow b {\n display: none;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-time+.select2.select2-container--open .forminator-select2.select2-selection--single .select2-selection__arrow:before,\n.forminator-custom-form.forminator-design--bold .forminator-select+.select2.select2-container--open .forminator-select2.select2-selection--single .select2-selection__arrow:before {\n transform: rotate(180deg);\n}\n\nbody>.select2-container .forminator-droptime--bold,\nbody>.select2-container .forminator-dropdown--bold {\n display: block;\n position: relative;\n box-sizing: border-box;\n border-width: 3px;\n border-style: solid;\n border-radius: 0;\n}\n\nbody>.select2-container .forminator-droptime--bold *,\nbody>.select2-container .forminator-dropdown--bold * {\n box-sizing: border-box;\n}\n\nbody>.select2-container .forminator-droptime--bold .select2-search,\nbody>.select2-container .forminator-droptime--bold .select2-search:hover,\nbody>.select2-container .forminator-droptime--bold .select2-search:focus,\nbody>.select2-container .forminator-droptime--bold .select2-search:active,\nbody>.select2-container .forminator-droptime--bold .select2-search--dropdown,\nbody>.select2-container .forminator-droptime--bold .select2-search--dropdown:hover,\nbody>.select2-container .forminator-droptime--bold .select2-search--dropdown:focus,\nbody>.select2-container .forminator-droptime--bold .select2-search--dropdown:active,\nbody>.select2-container .forminator-dropdown--bold .select2-search,\nbody>.select2-container .forminator-dropdown--bold .select2-search:hover,\nbody>.select2-container .forminator-dropdown--bold .select2-search:focus,\nbody>.select2-container .forminator-dropdown--bold .select2-search:active,\nbody>.select2-container .forminator-dropdown--bold .select2-search--dropdown,\nbody>.select2-container .forminator-dropdown--bold .select2-search--dropdown:hover,\nbody>.select2-container .forminator-dropdown--bold .select2-search--dropdown:focus,\nbody>.select2-container .forminator-dropdown--bold .select2-search--dropdown:active {\n outline: none;\n box-shadow: none;\n}\n\nbody>.select2-container .forminator-droptime--bold .select2-results .select2-results__option,\nbody>.select2-container .forminator-dropdown--bold .select2-results .select2-results__option {\n margin: 0;\n padding: 0;\n border: 0;\n list-style: none;\n}\n\nbody>.select2-container .forminator-droptime--bold .select2-results .select2-results__option .select2-results__option,\nbody>.select2-container .forminator-dropdown--bold .select2-results .select2-results__option .select2-results__option {\n margin: 0;\n list-style: none;\n}\n\nbody>.select2-container .forminator-droptime--bold.select2-dropdown--above,\nbody>.select2-container .forminator-dropdown--bold.select2-dropdown--above {\n bottom: 2px;\n}\n\nbody>.select2-container .forminator-droptime--bold.select2-dropdown--below,\nbody>.select2-container .forminator-dropdown--bold.select2-dropdown--below {\n margin-top: 2px;\n}\n\nbody>.select2-container .forminator-droptime--bold .select2-search,\nbody>.select2-container .forminator-droptime--bold .select2-search--dropdown,\nbody>.select2-container .forminator-dropdown--bold .select2-search,\nbody>.select2-container .forminator-dropdown--bold .select2-search--dropdown {\n padding: 7px;\n}\n\nbody>.select2-container .forminator-droptime--bold .select2-search .select2-search__field,\nbody>.select2-container .forminator-droptime--bold .select2-search--dropdown .select2-search__field,\nbody>.select2-container .forminator-dropdown--bold .select2-search .select2-search__field,\nbody>.select2-container .forminator-dropdown--bold .select2-search--dropdown .select2-search__field {\n padding: 7px;\n border-width: 3px;\n border-style: solid;\n border-radius: 0;\n line-height: 20px;\n}\n\nbody>.select2-container .forminator-droptime--bold .select2-results .select2-results__option,\nbody>.select2-container .forminator-dropdown--bold .select2-results .select2-results__option {\n padding: 7px;\n line-height: 20px;\n transition: 0.3s ease;\n}\n\nbody>.select2-container .forminator-droptime--bold .select2-search,\nbody>.select2-container .forminator-droptime--bold .select2-search--dropdown {\n display: none;\n}\n\n.forminator-custom-form.forminator-design--bold {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--bold:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-custom-form.forminator-design--bold:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold {\n margin: 30px auto;\n }\n}\n\n.forminator-custom-form.forminator-design--bold * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-multiselect {\n margin: 0;\n padding: 0;\n border: 0;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-multiselect,\n.forminator-custom-form.forminator-design--bold .forminator-multiselect li,\n.forminator-custom-form.forminator-design--bold .forminator-multiselect label {\n display: block;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-multiselect,\n.forminator-custom-form.forminator-design--bold .forminator-multiselect li {\n list-style: none;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-multiselect li label {\n cursor: pointer;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-multiselect li label {\n padding: 10px 7px;\n line-height: 20px;\n transition: 0.3s ease;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-multiselect {\n max-height: 120px;\n overflow-x: hidden;\n overflow-y: auto;\n border-width: 3px;\n border-style: solid;\n}\n\n.forminator-custom-form.forminator-design--bold {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--bold:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-custom-form.forminator-design--bold:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold {\n margin: 30px auto;\n }\n}\n\n.forminator-custom-form.forminator-design--bold * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-date {\n position: relative;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-date.forminator-has_icon:after {\n content: \"∏\";\n position: absolute;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-date.forminator-has_icon .forminator-input {\n padding-right: 40px;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-date.forminator-has_icon:after {\n top: 10px;\n right: 10px;\n font-size: 18px;\n width: 20px;\n line-height: 20px;\n text-align: center;\n}\n\n.forminator-calendar--bold {\n padding: 2px 0;\n}\n\n.forminator-calendar--bold .ui-datepicker-header,\n.forminator-calendar--bold .ui-datepicker-calendar {\n margin: 0;\n}\n\n.forminator-calendar--bold .ui-datepicker-header {\n display: block;\n position: relative;\n}\n\n.forminator-calendar--bold .ui-datepicker-header .ui-datepicker-prev,\n.forminator-calendar--bold .ui-datepicker-header .ui-datepicker-next {\n cursor: pointer;\n display: block;\n position: absolute;\n text-align: center;\n}\n\n.forminator-calendar--bold .ui-datepicker-header .ui-datepicker-prev:before,\n.forminator-calendar--bold .ui-datepicker-header .ui-datepicker-next:before {\n display: block;\n}\n\n.forminator-calendar--bold .ui-datepicker-header .ui-datepicker-prev span,\n.forminator-calendar--bold .ui-datepicker-header .ui-datepicker-next span {\n display: none;\n}\n\n.forminator-calendar--bold .ui-datepicker-header .ui-datepicker-prev:before {\n content: \"Ó\";\n}\n\n.forminator-calendar--bold .ui-datepicker-header .ui-datepicker-next:before {\n content: \"˜\";\n}\n\n.forminator-calendar--bold .ui-datepicker-header .ui-datepicker-title {\n display: flex;\n}\n\n.forminator-calendar--bold .ui-datepicker-header .ui-datepicker-title select {\n display: block;\n flex: 1;\n margin: 0;\n}\n\n.forminator-calendar--bold .ui-datepicker-calendar {\n padding: 0;\n border-collapse: unset;\n border-spacing: unset;\n}\n\n.forminator-calendar--bold .ui-datepicker-calendar thead tr,\n.forminator-calendar--bold .ui-datepicker-calendar tbody tr {\n border: 0;\n}\n\n.forminator-calendar--bold .ui-datepicker-calendar thead tr th,\n.forminator-calendar--bold .ui-datepicker-calendar tbody tr td {\n border: 0;\n text-align: center;\n}\n\n.forminator-calendar--bold .ui-datepicker-calendar thead tr th a,\n.forminator-calendar--bold .ui-datepicker-calendar thead tr th span,\n.forminator-calendar--bold .ui-datepicker-calendar tbody tr td a,\n.forminator-calendar--bold .ui-datepicker-calendar tbody tr td span {\n display: block;\n}\n\n.forminator-calendar--bold .ui-datepicker-calendar thead tr th {\n font-weight: bold;\n}\n\n.forminator-calendar--bold .ui-datepicker-calendar tbody tr td.ui-state-disabled,\n.forminator-calendar--bold .ui-datepicker-calendar tbody tr td.ui-datepicker-unselectable {\n pointer-events: none;\n}\n\n.forminator-calendar--bold .ui-datepicker-calendar tbody tr td.ui-state-disabled a,\n.forminator-calendar--bold .ui-datepicker-calendar tbody tr td.ui-state-disabled span,\n.forminator-calendar--bold .ui-datepicker-calendar tbody tr td.ui-datepicker-unselectable a,\n.forminator-calendar--bold .ui-datepicker-calendar tbody tr td.ui-datepicker-unselectable span {\n filter: alpha(opacity=40);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);\n opacity: .4;\n -khtml-opacity: .4;\n}\n\n.forminator-calendar--bold .ui-datepicker-header,\n.forminator-calendar--bold .ui-datepicker-calendar {\n border-width: 3px;\n border-style: solid;\n}\n\n.forminator-calendar--bold .ui-datepicker-header {\n padding-top: 5px;\n padding-bottom: 5px;\n border-bottom: 0;\n}\n\n.forminator-calendar--bold .ui-datepicker-header .ui-datepicker-prev,\n.forminator-calendar--bold .ui-datepicker-header .ui-datepicker-next {\n top: 5px;\n}\n\n.forminator-calendar--bold .ui-datepicker-header .ui-datepicker-prev {\n left: 5px;\n}\n\n.forminator-calendar--bold .ui-datepicker-header .ui-datepicker-next {\n right: 5px;\n}\n\n.forminator-calendar--bold .ui-datepicker-header .ui-datepicker-prev,\n.forminator-calendar--bold .ui-datepicker-header .ui-datepicker-next {\n width: 26px;\n height: 26px;\n}\n\n.forminator-calendar--bold .ui-datepicker-header .ui-datepicker-prev:before,\n.forminator-calendar--bold .ui-datepicker-header .ui-datepicker-next:before {\n line-height: 26px;\n}\n\n.forminator-calendar--bold .ui-datepicker-header .ui-datepicker-prev:before,\n.forminator-calendar--bold .ui-datepicker-header .ui-datepicker-next:before {\n font-size: 12px;\n}\n\n.forminator-calendar--bold .ui-datepicker-header .ui-datepicker-title {\n margin: 0 5px;\n padding: 0 31px;\n}\n\n.forminator-calendar--bold .ui-datepicker-header .ui-datepicker-title select+select {\n margin-left: 5px;\n}\n\n.forminator-calendar--bold .ui-datepicker-header .ui-datepicker-title select {\n height: 26px;\n}\n\n.forminator-calendar--bold .ui-datepicker-calendar {\n border-top: 0;\n}\n\n.forminator-calendar--bold .ui-datepicker-calendar thead tr th,\n.forminator-calendar--bold .ui-datepicker-calendar tbody tr td {\n padding: 5px;\n width: 36px;\n height: 36px;\n line-height: 26px;\n}\n\n.forminator-calendar--bold .ui-datepicker-calendar thead tr th a,\n.forminator-calendar--bold .ui-datepicker-calendar thead tr th span,\n.forminator-calendar--bold .ui-datepicker-calendar tbody tr td a,\n.forminator-calendar--bold .ui-datepicker-calendar tbody tr td span {\n width: 26px;\n height: 26px;\n}\n\n.forminator-calendar--bold .ui-datepicker-calendar thead tr th a,\n.forminator-calendar--bold .ui-datepicker-calendar tbody tr td a {\n transition: 0.3s ease;\n}\n\n.forminator-custom-form.forminator-design--bold {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--bold:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-custom-form.forminator-design--bold:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold {\n margin: 30px auto;\n }\n}\n\n.forminator-custom-form.forminator-design--bold * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--bold a.forminator-button,\n.forminator-custom-form.forminator-design--bold button.forminator-button {\n width: 100%;\n cursor: pointer;\n display: block;\n margin: 20px 0;\n border: 0;\n text-align: center;\n text-transform: none;\n padding: 12px;\n border-radius: 0;\n line-height: 20px;\n transition: 0.3s ease;\n}\n\n.forminator-custom-form.forminator-design--bold a.forminator-button,\n.forminator-custom-form.forminator-design--bold a.forminator-button:hover,\n.forminator-custom-form.forminator-design--bold a.forminator-button:active,\n.forminator-custom-form.forminator-design--bold a.forminator-button:visited,\n.forminator-custom-form.forminator-design--bold a.forminator-button:disabled,\n.forminator-custom-form.forminator-design--bold button.forminator-button,\n.forminator-custom-form.forminator-design--bold button.forminator-button:hover,\n.forminator-custom-form.forminator-design--bold button.forminator-button:active,\n.forminator-custom-form.forminator-design--bold button.forminator-button:visited,\n.forminator-custom-form.forminator-design--bold button.forminator-button:disabled {\n outline: none;\n box-shadow: none;\n text-decoration: none;\n}\n\n.forminator-custom-form.forminator-design--bold a.forminator-button,\n.forminator-custom-form.forminator-design--bold a.forminator-button:hover,\n.forminator-custom-form.forminator-design--bold a.forminator-button:active,\n.forminator-custom-form.forminator-design--bold a.forminator-button:visited,\n.forminator-custom-form.forminator-design--bold button.forminator-button,\n.forminator-custom-form.forminator-design--bold button.forminator-button:hover,\n.forminator-custom-form.forminator-design--bold button.forminator-button:active,\n.forminator-custom-form.forminator-design--bold button.forminator-button:visited {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-custom-form.forminator-design--bold a.forminator-button:disabled,\n.forminator-custom-form.forminator-design--bold button.forminator-button:disabled {\n filter: alpha(opacity=25);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=25);\n opacity: .25;\n -khtml-opacity: .25;\n}\n\n.forminator-custom-form.forminator-design--bold a.forminator-button:first-child,\n.forminator-custom-form.forminator-design--bold button.forminator-button:first-child {\n margin-top: 0;\n}\n\n.forminator-custom-form.forminator-design--bold a.forminator-button:last-child,\n.forminator-custom-form.forminator-design--bold button.forminator-button:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold:not(.forminator-size--small) a.forminator-button:first-child,\n .forminator-custom-form.forminator-design--bold:not(.forminator-size--small) button.forminator-button:first-child {\n margin-left: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold:not(.forminator-size--small) a.forminator-button:last-child,\n .forminator-custom-form.forminator-design--bold:not(.forminator-size--small) button.forminator-button:last-child {\n margin-right: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold:not(.forminator-size--small) a.forminator-button,\n .forminator-custom-form.forminator-design--bold:not(.forminator-size--small) button.forminator-button {\n width: auto;\n min-width: 100px;\n display: inline-block;\n margin: 0 15px;\n }\n}\n\n.forminator-custom-form.forminator-design--bold {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--bold:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-custom-form.forminator-design--bold:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold {\n margin: 30px auto;\n }\n}\n\n.forminator-custom-form.forminator-design--bold * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-pagination--bar {\n width: 100%;\n display: flex;\n align-items: center;\n margin-bottom: 20px;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-pagination--bar .forminator-bar--text {\n flex: 0 0 auto;\n margin: 0 10px;\n line-height: 16px;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-pagination--bar .forminator-bar--text:first-child {\n margin-left: 0;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-pagination--bar .forminator-bar--text:last-child {\n margin-right: 0;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-pagination--bar .forminator-bar--progress {\n overflow: hidden;\n flex: 1;\n position: relative;\n margin: 0;\n height: 16px;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-pagination--bar .forminator-bar--progress,\n.forminator-custom-form.forminator-design--bold .forminator-pagination--bar .forminator-bar--progress span {\n border-radius: 8px;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-pagination--bar .forminator-bar--progress span {\n display: block;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-pagination--nav {\n margin: 0 0 20px;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-pagination--nav,\n.forminator-custom-form.forminator-design--bold .forminator-pagination--nav li {\n display: block;\n position: relative;\n padding: 0;\n border: 0;\n list-style: none;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-pagination--nav:before {\n content: \" \";\n height: auto;\n position: absolute;\n width: 3px;\n top: 6px;\n bottom: 6px;\n left: 6px;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-pagination--nav li {\n margin: 10px 0;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-pagination--nav li:first-child {\n margin-top: 0;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-pagination--nav li:last-child {\n margin-bottom: 0;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-pagination--footer {\n margin-top: 20px;\n padding-top: 20px;\n border-top-width: 3px;\n border-top-style: solid;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold:not(.forminator-size--small) .forminator-pagination--bar .forminator-bar--text:first-child {\n margin-left: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold:not(.forminator-size--small) .forminator-pagination--bar .forminator-bar--text:last-child {\n margin-right: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold:not(.forminator-size--small) .forminator-pagination--bar .forminator-bar--text {\n margin: 0 15px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold:not(.forminator-size--small) .forminator-pagination--bar {\n margin-bottom: 30px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold:not(.forminator-size--small) .forminator-pagination--nav:before {\n content: unset;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold:not(.forminator-size--small) .forminator-pagination--nav {\n margin: 0 0 30px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold:not(.forminator-size--small) .forminator-pagination--footer {\n display: flex;\n justify-content: space-between;\n margin-top: 30px;\n padding-top: 30px;\n }\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-pagination--nav li:before {\n right: 50%;\n left: 0;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-pagination--nav li:after {\n right: 0;\n left: 50%;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-pagination--nav li .forminator-step-text {\n display: block;\n padding-left: 25px;\n line-height: 21px;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-pagination--nav li .forminator-step-dot {\n display: block;\n position: absolute;\n left: 0;\n width: 15px;\n height: 15px;\n border-radius: 100%;\n border-width: 3px;\n border-style: solid;\n top: 3px;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold:not(.forminator-size--small) .forminator-pagination--nav li {\n min-width: 33.33%;\n flex: 1 0 33.33%;\n margin: 0;\n text-align: center;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold:not(.forminator-size--small) .forminator-pagination--nav li:before,\n .forminator-custom-form.forminator-design--bold:not(.forminator-size--small) .forminator-pagination--nav li:after {\n content: \" \";\n width: auto;\n display: block;\n position: absolute;\n height: 3px;\n bottom: 6px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold:not(.forminator-size--small) .forminator-pagination--nav li .forminator-step-dot {\n position: relative;\n z-index: 1;\n top: auto;\n left: auto;\n margin: 5px auto 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold:not(.forminator-size--small) .forminator-pagination--nav li .forminator-step-text {\n padding-left: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold:not(.forminator-size--small) .forminator-pagination--nav {\n display: flex;\n flex-wrap: wrap;\n align-items: flex-end;\n }\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-pagination--bar .forminator-bar--progress {\n background-color: #EDEDED;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-pagination--bar .forminator-bar--progress span {\n background-color: #17A8E3;\n}\n\n.forminator-custom-form.forminator-design--flat {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--flat:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--flat:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-custom-form.forminator-design--flat:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--flat:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--flat {\n margin: 30px auto;\n }\n}\n\n.forminator-custom-form.forminator-design--flat * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-label,\n.forminator-custom-form.forminator-design--flat .forminator-label--limit,\n.forminator-custom-form.forminator-design--flat .forminator-label--helper {\n line-height: 20px;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-label--validation {\n margin-top: 5px;\n padding: 5px 10px;\n line-height: 20px;\n}\n\n.forminator-custom-form.forminator-design--flat {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--flat:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--flat:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-custom-form.forminator-design--flat:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--flat:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--flat {\n margin: 30px auto;\n }\n}\n\n.forminator-custom-form.forminator-design--flat * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-break .forminator-border {\n width: 100%;\n height: 0;\n display: block;\n margin-right: 0;\n margin-bottom: 0;\n margin-left: 0;\n padding: 0;\n border-style: none;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-break .forminator-border.solid {\n border-style: solid;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-break .forminator-border.dashed {\n border-style: dashed;\n}\n\n.forminator-custom-form.forminator-design--flat {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--flat:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--flat:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-custom-form.forminator-design--flat:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--flat:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--flat {\n margin: 30px auto;\n }\n}\n\n.forminator-custom-form.forminator-design--flat * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-input,\n.forminator-custom-form.forminator-design--flat .forminator-textarea {\n width: 100%;\n max-width: 100%;\n display: block;\n margin: 0;\n padding: 0;\n border: 0;\n background-image: unset;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-input,\n.forminator-custom-form.forminator-design--flat .forminator-input:hover,\n.forminator-custom-form.forminator-design--flat .forminator-input:focus,\n.forminator-custom-form.forminator-design--flat .forminator-input:active,\n.forminator-custom-form.forminator-design--flat .forminator-input:disabled,\n.forminator-custom-form.forminator-design--flat .forminator-textarea,\n.forminator-custom-form.forminator-design--flat .forminator-textarea:hover,\n.forminator-custom-form.forminator-design--flat .forminator-textarea:focus,\n.forminator-custom-form.forminator-design--flat .forminator-textarea:active,\n.forminator-custom-form.forminator-design--flat .forminator-textarea:disabled {\n outline: none;\n box-shadow: none;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-input,\n.forminator-custom-form.forminator-design--flat .forminator-input:hover,\n.forminator-custom-form.forminator-design--flat .forminator-input:focus,\n.forminator-custom-form.forminator-design--flat .forminator-input:active,\n.forminator-custom-form.forminator-design--flat .forminator-textarea,\n.forminator-custom-form.forminator-design--flat .forminator-textarea:hover,\n.forminator-custom-form.forminator-design--flat .forminator-textarea:focus,\n.forminator-custom-form.forminator-design--flat .forminator-textarea:active {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-input:disabled,\n.forminator-custom-form.forminator-design--flat .forminator-textarea:disabled {\n pointer-events: none;\n border-style: dotted;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-input:disabled:-moz-placeholder,\n.forminator-custom-form.forminator-design--flat .forminator-textarea:disabled:-moz-placeholder {\n filter: alpha(opacity=40);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);\n opacity: .4;\n -khtml-opacity: .4;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-input:disabled::-moz-placeholder,\n.forminator-custom-form.forminator-design--flat .forminator-textarea:disabled::-moz-placeholder {\n filter: alpha(opacity=40);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);\n opacity: .4;\n -khtml-opacity: .4;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-input:disabled:-ms-input-placeholder,\n.forminator-custom-form.forminator-design--flat .forminator-textarea:disabled:-ms-input-placeholder {\n filter: alpha(opacity=40);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);\n opacity: .4;\n -khtml-opacity: .4;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-input:disabled::-webkit-input-placeholder,\n.forminator-custom-form.forminator-design--flat .forminator-textarea:disabled::-webkit-input-placeholder {\n filter: alpha(opacity=40);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);\n opacity: .4;\n -khtml-opacity: .4;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-textarea {\n height: auto;\n min-height: 140px;\n resize: vertical;\n}\n\n.forminator-custom-form.forminator-design--flat .intl-tel-input {\n display: block;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-input,\n.forminator-custom-form.forminator-design--flat .forminator-textarea {\n line-height: 20px;\n transition: 0.25s ease;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-input {\n padding: 10px;\n border: 0;\n border-radius: 0;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-textarea {\n padding: 10px;\n border-radius: 0;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-input {\n height: 40px;\n}\n\n.forminator-custom-form.forminator-design--flat {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--flat:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--flat:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-custom-form.forminator-design--flat:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--flat:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--flat {\n margin: 30px auto;\n }\n}\n\n.forminator-custom-form.forminator-design--flat * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-radio {\n display: flex;\n position: relative;\n margin: 5px 0;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-radio input:checked+.forminator-radio--design:before {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-radio .forminator-radio--design {\n cursor: pointer;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n margin: 0;\n padding: 0;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-radio .forminator-radio--design:before {\n filter: alpha(opacity=0);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);\n opacity: 0;\n -khtml-opacity: 0;\n display: block;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-radio .forminator-radio--design+.forminator-radio--label {\n margin-left: 10px;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-radio .forminator-radio--label {\n cursor: default;\n display: block;\n margin: 0;\n padding: 0;\n border: 0;\n letter-spacing: 0;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-radio .forminator-radio--label[for] {\n cursor: pointer;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-radio .forminator-radio--design {\n width: 20px;\n height: 20px;\n flex: 0 0 20px;\n border: 0;\n transition: 0.25s ease;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-radio .forminator-radio--label {\n line-height: 20px;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-radio .forminator-radio--design:before {\n width: 12px;\n height: 12px;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-radio .forminator-radio--design {\n border-radius: 100%;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-radio .forminator-radio--design:before {\n content: \" \";\n border-radius: 100%;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-checkbox {\n display: flex;\n position: relative;\n margin: 5px 0;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-checkbox input:checked+.forminator-checkbox--design:before {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-checkbox .forminator-checkbox--design {\n cursor: pointer;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n margin: 0;\n padding: 0;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-checkbox .forminator-checkbox--design:before {\n filter: alpha(opacity=0);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);\n opacity: 0;\n -khtml-opacity: 0;\n display: block;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-checkbox .forminator-checkbox--design+.forminator-checkbox--label {\n margin-left: 10px;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-checkbox .forminator-checkbox--label {\n cursor: default;\n display: block;\n margin: 0;\n padding: 0;\n border: 0;\n letter-spacing: 0;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-checkbox .forminator-checkbox--label[for] {\n cursor: pointer;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-checkbox .forminator-checkbox--design {\n width: 20px;\n height: 20px;\n flex: 0 0 20px;\n border: 0;\n transition: 0.25s ease;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-checkbox .forminator-checkbox--label {\n line-height: 20px;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-checkbox .forminator-checkbox--design:before {\n font-size: 12px;\n}\n\n.forminator-custom-form.forminator-design--flat {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--flat:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--flat:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-custom-form.forminator-design--flat:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--flat:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--flat {\n margin: 30px auto;\n }\n}\n\n.forminator-custom-form.forminator-design--flat * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-time+.select2,\n.forminator-custom-form.forminator-design--flat .forminator-select+.select2 {\n width: 100% !important;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-time+.select2 *,\n.forminator-custom-form.forminator-design--flat .forminator-select+.select2 * {\n display: block;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-time+.select2 .forminator-select2,\n.forminator-custom-form.forminator-design--flat .forminator-select+.select2 .forminator-select2 {\n height: auto;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-time+.select2 .forminator-select2.select2-selection--single .select2-selection__rendered,\n.forminator-custom-form.forminator-design--flat .forminator-select+.select2 .forminator-select2.select2-selection--single .select2-selection__rendered {\n padding-left: 0;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-time+.select2 .forminator-select2,\n.forminator-custom-form.forminator-design--flat .forminator-select+.select2 .forminator-select2 {\n padding: 10px;\n border: 0;\n border-radius: 0;\n transition: 0.25s ease;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-time+.select2 .forminator-select2.select2-selection--single .select2-selection__rendered,\n.forminator-custom-form.forminator-design--flat .forminator-select+.select2 .forminator-select2.select2-selection--single .select2-selection__rendered {\n line-height: 20px;\n transition: 0.25s ease;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-time+.select2 .forminator-select2.select2-selection--single,\n.forminator-custom-form.forminator-design--flat .forminator-select+.select2 .forminator-select2.select2-selection--single {\n position: relative;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-time+.select2 .forminator-select2.select2-selection--single .select2-selection__rendered,\n.forminator-custom-form.forminator-design--flat .forminator-select+.select2 .forminator-select2.select2-selection--single .select2-selection__rendered {\n padding-right: 40px;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-time+.select2 .forminator-select2.select2-selection--single .select2-selection__arrow,\n.forminator-custom-form.forminator-design--flat .forminator-select+.select2 .forminator-select2.select2-selection--single .select2-selection__arrow {\n width: 20px;\n height: 20px;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n position: absolute;\n top: 10px;\n right: 10px;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-time+.select2 .forminator-select2.select2-selection--single .select2-selection__arrow:before,\n.forminator-custom-form.forminator-design--flat .forminator-select+.select2 .forminator-select2.select2-selection--single .select2-selection__arrow:before {\n content: \"ı\";\n transition: transform 0.2s linear,0.25s ease;\n font-size: 12px;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-time+.select2 .forminator-select2.select2-selection--single .select2-selection__arrow b,\n.forminator-custom-form.forminator-design--flat .forminator-select+.select2 .forminator-select2.select2-selection--single .select2-selection__arrow b {\n display: none;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-time+.select2.select2-container--open .forminator-select2.select2-selection--single .select2-selection__arrow:before,\n.forminator-custom-form.forminator-design--flat .forminator-select+.select2.select2-container--open .forminator-select2.select2-selection--single .select2-selection__arrow:before {\n transform: rotate(180deg);\n}\n\nbody>.select2-container .forminator-droptime--flat,\nbody>.select2-container .forminator-dropdown--flat {\n display: block;\n position: relative;\n box-sizing: border-box;\n border: 0;\n border-radius: 0;\n}\n\nbody>.select2-container .forminator-droptime--flat *,\nbody>.select2-container .forminator-dropdown--flat * {\n box-sizing: border-box;\n}\n\nbody>.select2-container .forminator-droptime--flat .select2-search,\nbody>.select2-container .forminator-droptime--flat .select2-search:hover,\nbody>.select2-container .forminator-droptime--flat .select2-search:focus,\nbody>.select2-container .forminator-droptime--flat .select2-search:active,\nbody>.select2-container .forminator-droptime--flat .select2-search--dropdown,\nbody>.select2-container .forminator-droptime--flat .select2-search--dropdown:hover,\nbody>.select2-container .forminator-droptime--flat .select2-search--dropdown:focus,\nbody>.select2-container .forminator-droptime--flat .select2-search--dropdown:active,\nbody>.select2-container .forminator-dropdown--flat .select2-search,\nbody>.select2-container .forminator-dropdown--flat .select2-search:hover,\nbody>.select2-container .forminator-dropdown--flat .select2-search:focus,\nbody>.select2-container .forminator-dropdown--flat .select2-search:active,\nbody>.select2-container .forminator-dropdown--flat .select2-search--dropdown,\nbody>.select2-container .forminator-dropdown--flat .select2-search--dropdown:hover,\nbody>.select2-container .forminator-dropdown--flat .select2-search--dropdown:focus,\nbody>.select2-container .forminator-dropdown--flat .select2-search--dropdown:active {\n outline: none;\n box-shadow: none;\n}\n\nbody>.select2-container .forminator-droptime--flat .select2-results .select2-results__option,\nbody>.select2-container .forminator-dropdown--flat .select2-results .select2-results__option {\n margin: 0;\n padding: 0;\n border: 0;\n list-style: none;\n}\n\nbody>.select2-container .forminator-droptime--flat .select2-results .select2-results__option .select2-results__option,\nbody>.select2-container .forminator-dropdown--flat .select2-results .select2-results__option .select2-results__option {\n margin: 0;\n list-style: none;\n}\n\nbody>.select2-container .forminator-droptime--flat.select2-dropdown--above,\nbody>.select2-container .forminator-dropdown--flat.select2-dropdown--above {\n bottom: 2px;\n}\n\nbody>.select2-container .forminator-droptime--flat.select2-dropdown--below,\nbody>.select2-container .forminator-dropdown--flat.select2-dropdown--below {\n margin-top: 2px;\n}\n\nbody>.select2-container .forminator-droptime--flat .select2-search,\nbody>.select2-container .forminator-droptime--flat .select2-search--dropdown,\nbody>.select2-container .forminator-dropdown--flat .select2-search,\nbody>.select2-container .forminator-dropdown--flat .select2-search--dropdown {\n padding: 10px;\n}\n\nbody>.select2-container .forminator-droptime--flat .select2-search .select2-search__field,\nbody>.select2-container .forminator-droptime--flat .select2-search--dropdown .select2-search__field,\nbody>.select2-container .forminator-dropdown--flat .select2-search .select2-search__field,\nbody>.select2-container .forminator-dropdown--flat .select2-search--dropdown .select2-search__field {\n padding: 10px;\n border: 0;\n border-radius: 0;\n line-height: 20px;\n}\n\nbody>.select2-container .forminator-droptime--flat .select2-results .select2-results__option,\nbody>.select2-container .forminator-dropdown--flat .select2-results .select2-results__option {\n padding: 10px;\n line-height: 20px;\n transition: 0.25s ease;\n}\n\nbody>.select2-container .forminator-droptime--flat .select2-search,\nbody>.select2-container .forminator-droptime--flat .select2-search--dropdown {\n display: none;\n}\n\n.forminator-custom-form.forminator-design--flat {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--flat:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--flat:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-custom-form.forminator-design--flat:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--flat:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--flat {\n margin: 30px auto;\n }\n}\n\n.forminator-custom-form.forminator-design--flat * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-multiselect {\n margin: 0;\n padding: 0;\n border: 0;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-multiselect,\n.forminator-custom-form.forminator-design--flat .forminator-multiselect li,\n.forminator-custom-form.forminator-design--flat .forminator-multiselect label {\n display: block;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-multiselect,\n.forminator-custom-form.forminator-design--flat .forminator-multiselect li {\n list-style: none;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-multiselect li label {\n cursor: pointer;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-multiselect li label {\n padding: 10px;\n line-height: 20px;\n transition: 0.25s ease;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-multiselect {\n max-height: 120px;\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.forminator-custom-form.forminator-design--flat {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--flat:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--flat:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-custom-form.forminator-design--flat:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--flat:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--flat {\n margin: 30px auto;\n }\n}\n\n.forminator-custom-form.forminator-design--flat * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-date {\n position: relative;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-date.forminator-has_icon:after {\n content: \"∏\";\n position: absolute;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-date.forminator-has_icon .forminator-input {\n padding-right: 40px;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-date.forminator-has_icon:after {\n top: 10px;\n right: 10px;\n font-size: 18px;\n width: 20px;\n line-height: 20px;\n text-align: center;\n}\n\n.forminator-calendar--flat {\n padding: 2px 0;\n}\n\n.forminator-calendar--flat .ui-datepicker-header,\n.forminator-calendar--flat .ui-datepicker-calendar {\n margin: 0;\n}\n\n.forminator-calendar--flat .ui-datepicker-header {\n display: block;\n position: relative;\n}\n\n.forminator-calendar--flat .ui-datepicker-header .ui-datepicker-prev,\n.forminator-calendar--flat .ui-datepicker-header .ui-datepicker-next {\n cursor: pointer;\n display: block;\n position: absolute;\n text-align: center;\n}\n\n.forminator-calendar--flat .ui-datepicker-header .ui-datepicker-prev:before,\n.forminator-calendar--flat .ui-datepicker-header .ui-datepicker-next:before {\n display: block;\n}\n\n.forminator-calendar--flat .ui-datepicker-header .ui-datepicker-prev span,\n.forminator-calendar--flat .ui-datepicker-header .ui-datepicker-next span {\n display: none;\n}\n\n.forminator-calendar--flat .ui-datepicker-header .ui-datepicker-prev:before {\n content: \"Ó\";\n}\n\n.forminator-calendar--flat .ui-datepicker-header .ui-datepicker-next:before {\n content: \"˜\";\n}\n\n.forminator-calendar--flat .ui-datepicker-header .ui-datepicker-title {\n display: flex;\n}\n\n.forminator-calendar--flat .ui-datepicker-header .ui-datepicker-title select {\n display: block;\n flex: 1;\n margin: 0;\n}\n\n.forminator-calendar--flat .ui-datepicker-calendar {\n padding: 0;\n border-collapse: unset;\n border-spacing: unset;\n}\n\n.forminator-calendar--flat .ui-datepicker-calendar thead tr,\n.forminator-calendar--flat .ui-datepicker-calendar tbody tr {\n border: 0;\n}\n\n.forminator-calendar--flat .ui-datepicker-calendar thead tr th,\n.forminator-calendar--flat .ui-datepicker-calendar tbody tr td {\n border: 0;\n text-align: center;\n}\n\n.forminator-calendar--flat .ui-datepicker-calendar thead tr th a,\n.forminator-calendar--flat .ui-datepicker-calendar thead tr th span,\n.forminator-calendar--flat .ui-datepicker-calendar tbody tr td a,\n.forminator-calendar--flat .ui-datepicker-calendar tbody tr td span {\n display: block;\n}\n\n.forminator-calendar--flat .ui-datepicker-calendar thead tr th {\n font-weight: bold;\n}\n\n.forminator-calendar--flat .ui-datepicker-calendar tbody tr td.ui-state-disabled,\n.forminator-calendar--flat .ui-datepicker-calendar tbody tr td.ui-datepicker-unselectable {\n pointer-events: none;\n}\n\n.forminator-calendar--flat .ui-datepicker-calendar tbody tr td.ui-state-disabled a,\n.forminator-calendar--flat .ui-datepicker-calendar tbody tr td.ui-state-disabled span,\n.forminator-calendar--flat .ui-datepicker-calendar tbody tr td.ui-datepicker-unselectable a,\n.forminator-calendar--flat .ui-datepicker-calendar tbody tr td.ui-datepicker-unselectable span {\n filter: alpha(opacity=40);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);\n opacity: .4;\n -khtml-opacity: .4;\n}\n\n.forminator-calendar--flat .ui-datepicker-header,\n.forminator-calendar--flat .ui-datepicker-calendar {\n border-width: 0;\n}\n\n.forminator-calendar--flat .ui-datepicker-header {\n padding-top: 10px;\n padding-bottom: 10px;\n}\n\n.forminator-calendar--flat .ui-datepicker-header .ui-datepicker-prev,\n.forminator-calendar--flat .ui-datepicker-header .ui-datepicker-next {\n top: 10px;\n}\n\n.forminator-calendar--flat .ui-datepicker-header .ui-datepicker-prev {\n left: 10px;\n}\n\n.forminator-calendar--flat .ui-datepicker-header .ui-datepicker-next {\n right: 10px;\n}\n\n.forminator-calendar--flat .ui-datepicker-header .ui-datepicker-prev,\n.forminator-calendar--flat .ui-datepicker-header .ui-datepicker-next {\n width: 26px;\n height: 26px;\n}\n\n.forminator-calendar--flat .ui-datepicker-header .ui-datepicker-prev:before,\n.forminator-calendar--flat .ui-datepicker-header .ui-datepicker-next:before {\n line-height: 26px;\n}\n\n.forminator-calendar--flat .ui-datepicker-header .ui-datepicker-prev:before,\n.forminator-calendar--flat .ui-datepicker-header .ui-datepicker-next:before {\n font-size: 12px;\n}\n\n.forminator-calendar--flat .ui-datepicker-header .ui-datepicker-title {\n margin: 0 10px;\n padding: 0 36px;\n}\n\n.forminator-calendar--flat .ui-datepicker-header .ui-datepicker-title select+select {\n margin-left: 10px;\n}\n\n.forminator-calendar--flat .ui-datepicker-header .ui-datepicker-title select {\n height: 26px;\n}\n\n.forminator-calendar--flat .ui-datepicker-calendar thead tr th,\n.forminator-calendar--flat .ui-datepicker-calendar tbody tr td {\n padding: 10px;\n width: 36px;\n height: 36px;\n line-height: 16px;\n}\n\n.forminator-calendar--flat .ui-datepicker-calendar thead tr th a,\n.forminator-calendar--flat .ui-datepicker-calendar thead tr th span,\n.forminator-calendar--flat .ui-datepicker-calendar tbody tr td a,\n.forminator-calendar--flat .ui-datepicker-calendar tbody tr td span {\n width: 16px;\n height: 16px;\n}\n\n.forminator-calendar--flat .ui-datepicker-calendar thead tr th a,\n.forminator-calendar--flat .ui-datepicker-calendar tbody tr td a {\n transition: 0.25s ease;\n}\n\n.forminator-custom-form.forminator-design--flat {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--flat:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--flat:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-custom-form.forminator-design--flat:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--flat:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--flat {\n margin: 30px auto;\n }\n}\n\n.forminator-custom-form.forminator-design--flat * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--flat a.forminator-button,\n.forminator-custom-form.forminator-design--flat button.forminator-button {\n width: 100%;\n cursor: pointer;\n display: block;\n margin: 20px 0;\n border: 0;\n text-align: center;\n text-transform: none;\n padding: 10px;\n border-radius: 0;\n line-height: 20px;\n transition: 0.25s ease;\n}\n\n.forminator-custom-form.forminator-design--flat a.forminator-button,\n.forminator-custom-form.forminator-design--flat a.forminator-button:hover,\n.forminator-custom-form.forminator-design--flat a.forminator-button:active,\n.forminator-custom-form.forminator-design--flat a.forminator-button:visited,\n.forminator-custom-form.forminator-design--flat a.forminator-button:disabled,\n.forminator-custom-form.forminator-design--flat button.forminator-button,\n.forminator-custom-form.forminator-design--flat button.forminator-button:hover,\n.forminator-custom-form.forminator-design--flat button.forminator-button:active,\n.forminator-custom-form.forminator-design--flat button.forminator-button:visited,\n.forminator-custom-form.forminator-design--flat button.forminator-button:disabled {\n outline: none;\n box-shadow: none;\n text-decoration: none;\n}\n\n.forminator-custom-form.forminator-design--flat a.forminator-button,\n.forminator-custom-form.forminator-design--flat a.forminator-button:hover,\n.forminator-custom-form.forminator-design--flat a.forminator-button:active,\n.forminator-custom-form.forminator-design--flat a.forminator-button:visited,\n.forminator-custom-form.forminator-design--flat button.forminator-button,\n.forminator-custom-form.forminator-design--flat button.forminator-button:hover,\n.forminator-custom-form.forminator-design--flat button.forminator-button:active,\n.forminator-custom-form.forminator-design--flat button.forminator-button:visited {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-custom-form.forminator-design--flat a.forminator-button:disabled,\n.forminator-custom-form.forminator-design--flat button.forminator-button:disabled {\n filter: alpha(opacity=25);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=25);\n opacity: .25;\n -khtml-opacity: .25;\n}\n\n.forminator-custom-form.forminator-design--flat a.forminator-button:first-child,\n.forminator-custom-form.forminator-design--flat button.forminator-button:first-child {\n margin-top: 0;\n}\n\n.forminator-custom-form.forminator-design--flat a.forminator-button:last-child,\n.forminator-custom-form.forminator-design--flat button.forminator-button:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--flat:not(.forminator-size--small) a.forminator-button:first-child,\n .forminator-custom-form.forminator-design--flat:not(.forminator-size--small) button.forminator-button:first-child {\n margin-left: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--flat:not(.forminator-size--small) a.forminator-button:last-child,\n .forminator-custom-form.forminator-design--flat:not(.forminator-size--small) button.forminator-button:last-child {\n margin-right: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--flat:not(.forminator-size--small) a.forminator-button,\n .forminator-custom-form.forminator-design--flat:not(.forminator-size--small) button.forminator-button {\n width: auto;\n min-width: 100px;\n display: inline-block;\n margin: 0 15px;\n }\n}\n\n.forminator-custom-form.forminator-design--flat {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--flat:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--flat:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-custom-form.forminator-design--flat:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--flat:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--flat {\n margin: 30px auto;\n }\n}\n\n.forminator-custom-form.forminator-design--flat * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-pagination--bar {\n width: 100%;\n display: flex;\n align-items: center;\n margin-bottom: 20px;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-pagination--bar .forminator-bar--text {\n flex: 0 0 auto;\n margin: 0 10px;\n line-height: 16px;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-pagination--bar .forminator-bar--text:first-child {\n margin-left: 0;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-pagination--bar .forminator-bar--text:last-child {\n margin-right: 0;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-pagination--bar .forminator-bar--progress {\n overflow: hidden;\n flex: 1;\n position: relative;\n margin: 0;\n height: 16px;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-pagination--bar .forminator-bar--progress,\n.forminator-custom-form.forminator-design--flat .forminator-pagination--bar .forminator-bar--progress span {\n border-radius: 8px;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-pagination--bar .forminator-bar--progress span {\n display: block;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-pagination--nav {\n margin: 0 0 20px;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-pagination--nav,\n.forminator-custom-form.forminator-design--flat .forminator-pagination--nav li {\n display: block;\n position: relative;\n padding: 0;\n border: 0;\n list-style: none;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-pagination--nav:before {\n content: \" \";\n height: auto;\n position: absolute;\n width: 1px;\n top: 7px;\n bottom: 7px;\n left: 7px;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-pagination--nav li {\n margin: 10px 0;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-pagination--nav li:first-child {\n margin-top: 0;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-pagination--nav li:last-child {\n margin-bottom: 0;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-pagination--footer {\n margin-top: 20px;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--flat:not(.forminator-size--small) .forminator-pagination--bar .forminator-bar--text:first-child {\n margin-left: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--flat:not(.forminator-size--small) .forminator-pagination--bar .forminator-bar--text:last-child {\n margin-right: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--flat:not(.forminator-size--small) .forminator-pagination--bar .forminator-bar--text {\n margin: 0 15px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--flat:not(.forminator-size--small) .forminator-pagination--bar {\n margin-bottom: 30px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--flat:not(.forminator-size--small) .forminator-pagination--nav:before {\n content: unset;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--flat:not(.forminator-size--small) .forminator-pagination--nav {\n margin: 0 0 30px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--flat:not(.forminator-size--small) .forminator-pagination--footer {\n display: flex;\n justify-content: space-between;\n margin-top: 30px;\n }\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-pagination--nav li:before {\n right: 50%;\n left: 0;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-pagination--nav li:after {\n right: 0;\n left: 50%;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-pagination--nav li .forminator-step-text {\n display: block;\n padding-left: 25px;\n line-height: 21px;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-pagination--nav li .forminator-step-dot {\n display: block;\n position: absolute;\n left: 0;\n width: 15px;\n height: 15px;\n border-radius: 100%;\n border: 0;\n top: 3px;\n transform: scale(0.7);\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-pagination--nav li.forminator-step-current .forminator-step-dot {\n transform: scale(1);\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--flat:not(.forminator-size--small) .forminator-pagination--nav li {\n min-width: 33.33%;\n flex: 1 0 33.33%;\n margin: 0;\n text-align: center;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--flat:not(.forminator-size--small) .forminator-pagination--nav li:before,\n .forminator-custom-form.forminator-design--flat:not(.forminator-size--small) .forminator-pagination--nav li:after {\n content: \" \";\n width: auto;\n display: block;\n position: absolute;\n height: 1px;\n bottom: 7px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--flat:not(.forminator-size--small) .forminator-pagination--nav li .forminator-step-dot {\n position: relative;\n z-index: 1;\n top: auto;\n left: auto;\n margin: 5px auto 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--flat:not(.forminator-size--small) .forminator-pagination--nav li .forminator-step-text {\n padding-left: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--flat:not(.forminator-size--small) .forminator-pagination--nav {\n display: flex;\n flex-wrap: wrap;\n align-items: flex-end;\n }\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-pagination--bar .forminator-bar--progress {\n background-color: #EDEDED;\n}\n\n.forminator-custom-form.forminator-design--flat .forminator-pagination--bar .forminator-bar--progress span {\n background-color: #17A8E3;\n}\n\n.forminator-custom-form.forminator-design--default {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--default:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--default:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-custom-form.forminator-design--default:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--default:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--default {\n margin: 30px auto;\n }\n}\n\n.forminator-custom-form.forminator-design--default * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-label,\n.forminator-custom-form.forminator-design--default .forminator-label--limit,\n.forminator-custom-form.forminator-design--default .forminator-label--helper {\n line-height: 20px;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-label--validation {\n margin-top: 5px;\n padding: 5px 10px;\n border-radius: 2px;\n line-height: 18px;\n}\n\n.forminator-custom-form.forminator-design--default {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--default:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--default:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-custom-form.forminator-design--default:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--default:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--default {\n margin: 30px auto;\n }\n}\n\n.forminator-custom-form.forminator-design--default * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-break .forminator-border {\n width: 100%;\n height: 0;\n display: block;\n margin-right: 0;\n margin-bottom: 0;\n margin-left: 0;\n padding: 0;\n border-style: none;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-break .forminator-border.solid {\n border-style: solid;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-break .forminator-border.dashed {\n border-style: dashed;\n}\n\n.forminator-custom-form.forminator-design--default {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--default:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--default:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-custom-form.forminator-design--default:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--default:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--default {\n margin: 30px auto;\n }\n}\n\n.forminator-custom-form.forminator-design--default * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-input,\n.forminator-custom-form.forminator-design--default .forminator-textarea {\n width: 100%;\n max-width: 100%;\n display: block;\n margin: 0;\n padding: 0;\n border: 0;\n background-image: unset;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-input,\n.forminator-custom-form.forminator-design--default .forminator-input:hover,\n.forminator-custom-form.forminator-design--default .forminator-input:focus,\n.forminator-custom-form.forminator-design--default .forminator-input:active,\n.forminator-custom-form.forminator-design--default .forminator-input:disabled,\n.forminator-custom-form.forminator-design--default .forminator-textarea,\n.forminator-custom-form.forminator-design--default .forminator-textarea:hover,\n.forminator-custom-form.forminator-design--default .forminator-textarea:focus,\n.forminator-custom-form.forminator-design--default .forminator-textarea:active,\n.forminator-custom-form.forminator-design--default .forminator-textarea:disabled {\n outline: none;\n box-shadow: none;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-input,\n.forminator-custom-form.forminator-design--default .forminator-input:hover,\n.forminator-custom-form.forminator-design--default .forminator-input:focus,\n.forminator-custom-form.forminator-design--default .forminator-input:active,\n.forminator-custom-form.forminator-design--default .forminator-textarea,\n.forminator-custom-form.forminator-design--default .forminator-textarea:hover,\n.forminator-custom-form.forminator-design--default .forminator-textarea:focus,\n.forminator-custom-form.forminator-design--default .forminator-textarea:active {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-input:disabled,\n.forminator-custom-form.forminator-design--default .forminator-textarea:disabled {\n pointer-events: none;\n border-style: dotted;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-input:disabled:-moz-placeholder,\n.forminator-custom-form.forminator-design--default .forminator-textarea:disabled:-moz-placeholder {\n filter: alpha(opacity=40);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);\n opacity: .4;\n -khtml-opacity: .4;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-input:disabled::-moz-placeholder,\n.forminator-custom-form.forminator-design--default .forminator-textarea:disabled::-moz-placeholder {\n filter: alpha(opacity=40);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);\n opacity: .4;\n -khtml-opacity: .4;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-input:disabled:-ms-input-placeholder,\n.forminator-custom-form.forminator-design--default .forminator-textarea:disabled:-ms-input-placeholder {\n filter: alpha(opacity=40);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);\n opacity: .4;\n -khtml-opacity: .4;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-input:disabled::-webkit-input-placeholder,\n.forminator-custom-form.forminator-design--default .forminator-textarea:disabled::-webkit-input-placeholder {\n filter: alpha(opacity=40);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);\n opacity: .4;\n -khtml-opacity: .4;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-textarea {\n height: auto;\n min-height: 140px;\n resize: vertical;\n}\n\n.forminator-custom-form.forminator-design--default .intl-tel-input {\n display: block;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-input,\n.forminator-custom-form.forminator-design--default .forminator-textarea {\n line-height: 20px;\n transition: 0.3s ease;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-input {\n padding: 9px;\n border-width: 1px;\n border-style: solid;\n border-radius: 2px;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-textarea {\n padding: 9px;\n border-width: 1px;\n border-style: solid;\n border-radius: 2px;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-input {\n height: 40px;\n}\n\n.forminator-custom-form.forminator-design--default {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--default:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--default:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-custom-form.forminator-design--default:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--default:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--default {\n margin: 30px auto;\n }\n}\n\n.forminator-custom-form.forminator-design--default * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-radio {\n display: flex;\n position: relative;\n margin: 5px 0;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-radio input:checked+.forminator-radio--design:before {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-radio .forminator-radio--design {\n cursor: pointer;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n margin: 0;\n padding: 0;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-radio .forminator-radio--design:before {\n filter: alpha(opacity=0);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);\n opacity: 0;\n -khtml-opacity: 0;\n display: block;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-radio .forminator-radio--design+.forminator-radio--label {\n margin-left: 10px;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-radio .forminator-radio--label {\n cursor: default;\n display: block;\n margin: 0;\n padding: 0;\n border: 0;\n letter-spacing: 0;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-radio .forminator-radio--label[for] {\n cursor: pointer;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-radio .forminator-radio--design {\n width: 20px;\n height: 20px;\n flex: 0 0 20px;\n border-width: 1px;\n border-style: solid;\n border-radius: 2px;\n transition: 0.3s ease;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-radio .forminator-radio--label {\n line-height: 20px;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-radio .forminator-radio--design:before {\n width: 12px;\n height: 12px;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-radio .forminator-radio--design {\n border-radius: 100%;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-radio .forminator-radio--design:before {\n content: \" \";\n border-radius: 100%;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-checkbox {\n display: flex;\n position: relative;\n margin: 5px 0;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-checkbox input:checked+.forminator-checkbox--design:before {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-checkbox .forminator-checkbox--design {\n cursor: pointer;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n margin: 0;\n padding: 0;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-checkbox .forminator-checkbox--design:before {\n filter: alpha(opacity=0);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);\n opacity: 0;\n -khtml-opacity: 0;\n display: block;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-checkbox .forminator-checkbox--design+.forminator-checkbox--label {\n margin-left: 10px;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-checkbox .forminator-checkbox--label {\n cursor: default;\n display: block;\n margin: 0;\n padding: 0;\n border: 0;\n letter-spacing: 0;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-checkbox .forminator-checkbox--label[for] {\n cursor: pointer;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-checkbox .forminator-checkbox--design {\n width: 20px;\n height: 20px;\n flex: 0 0 20px;\n border-width: 1px;\n border-style: solid;\n border-radius: 2px;\n transition: 0.3s ease;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-checkbox .forminator-checkbox--label {\n line-height: 20px;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-checkbox .forminator-checkbox--design:before {\n font-size: 12px;\n}\n\n.forminator-custom-form.forminator-design--default {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--default:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--default:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-custom-form.forminator-design--default:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--default:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--default {\n margin: 30px auto;\n }\n}\n\n.forminator-custom-form.forminator-design--default * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-time+.select2,\n.forminator-custom-form.forminator-design--default .forminator-select+.select2 {\n width: 100% !important;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-time+.select2 *,\n.forminator-custom-form.forminator-design--default .forminator-select+.select2 * {\n display: block;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-time+.select2 .forminator-select2,\n.forminator-custom-form.forminator-design--default .forminator-select+.select2 .forminator-select2 {\n height: auto;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-time+.select2 .forminator-select2.select2-selection--single .select2-selection__rendered,\n.forminator-custom-form.forminator-design--default .forminator-select+.select2 .forminator-select2.select2-selection--single .select2-selection__rendered {\n padding-left: 0;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-time+.select2 .forminator-select2,\n.forminator-custom-form.forminator-design--default .forminator-select+.select2 .forminator-select2 {\n padding: 9px;\n border-width: 1px;\n border-style: solid;\n border-radius: 2px;\n transition: 0.3s ease;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-time+.select2 .forminator-select2.select2-selection--single .select2-selection__rendered,\n.forminator-custom-form.forminator-design--default .forminator-select+.select2 .forminator-select2.select2-selection--single .select2-selection__rendered {\n line-height: 20px;\n transition: 0.3s ease;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-time+.select2 .forminator-select2.select2-selection--single,\n.forminator-custom-form.forminator-design--default .forminator-select+.select2 .forminator-select2.select2-selection--single {\n position: relative;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-time+.select2 .forminator-select2.select2-selection--single .select2-selection__rendered,\n.forminator-custom-form.forminator-design--default .forminator-select+.select2 .forminator-select2.select2-selection--single .select2-selection__rendered {\n padding-right: 39px;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-time+.select2 .forminator-select2.select2-selection--single .select2-selection__arrow,\n.forminator-custom-form.forminator-design--default .forminator-select+.select2 .forminator-select2.select2-selection--single .select2-selection__arrow {\n width: 20px;\n height: 20px;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n position: absolute;\n top: 9px;\n right: 9px;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-time+.select2 .forminator-select2.select2-selection--single .select2-selection__arrow:before,\n.forminator-custom-form.forminator-design--default .forminator-select+.select2 .forminator-select2.select2-selection--single .select2-selection__arrow:before {\n content: \"ı\";\n transition: transform 0.2s linear,0.3s ease;\n font-size: 12px;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-time+.select2 .forminator-select2.select2-selection--single .select2-selection__arrow b,\n.forminator-custom-form.forminator-design--default .forminator-select+.select2 .forminator-select2.select2-selection--single .select2-selection__arrow b {\n display: none;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-time+.select2.select2-container--open .forminator-select2.select2-selection--single .select2-selection__arrow:before,\n.forminator-custom-form.forminator-design--default .forminator-select+.select2.select2-container--open .forminator-select2.select2-selection--single .select2-selection__arrow:before {\n transform: rotate(180deg);\n}\n\nbody>.select2-container .forminator-droptime--default,\nbody>.select2-container .forminator-dropdown--default {\n display: block;\n position: relative;\n box-sizing: border-box;\n border-width: 1px;\n border-style: solid;\n border-radius: 2px;\n overflow: hidden;\n}\n\nbody>.select2-container .forminator-droptime--default *,\nbody>.select2-container .forminator-dropdown--default * {\n box-sizing: border-box;\n}\n\nbody>.select2-container .forminator-droptime--default .select2-search,\nbody>.select2-container .forminator-droptime--default .select2-search:hover,\nbody>.select2-container .forminator-droptime--default .select2-search:focus,\nbody>.select2-container .forminator-droptime--default .select2-search:active,\nbody>.select2-container .forminator-droptime--default .select2-search--dropdown,\nbody>.select2-container .forminator-droptime--default .select2-search--dropdown:hover,\nbody>.select2-container .forminator-droptime--default .select2-search--dropdown:focus,\nbody>.select2-container .forminator-droptime--default .select2-search--dropdown:active,\nbody>.select2-container .forminator-dropdown--default .select2-search,\nbody>.select2-container .forminator-dropdown--default .select2-search:hover,\nbody>.select2-container .forminator-dropdown--default .select2-search:focus,\nbody>.select2-container .forminator-dropdown--default .select2-search:active,\nbody>.select2-container .forminator-dropdown--default .select2-search--dropdown,\nbody>.select2-container .forminator-dropdown--default .select2-search--dropdown:hover,\nbody>.select2-container .forminator-dropdown--default .select2-search--dropdown:focus,\nbody>.select2-container .forminator-dropdown--default .select2-search--dropdown:active {\n outline: none;\n box-shadow: none;\n}\n\nbody>.select2-container .forminator-droptime--default .select2-results .select2-results__option,\nbody>.select2-container .forminator-dropdown--default .select2-results .select2-results__option {\n margin: 0;\n padding: 0;\n border: 0;\n list-style: none;\n}\n\nbody>.select2-container .forminator-droptime--default .select2-results .select2-results__option .select2-results__option,\nbody>.select2-container .forminator-dropdown--default .select2-results .select2-results__option .select2-results__option {\n margin: 0;\n list-style: none;\n}\n\nbody>.select2-container .forminator-droptime--default.select2-dropdown--above,\nbody>.select2-container .forminator-dropdown--default.select2-dropdown--above {\n bottom: 2px;\n}\n\nbody>.select2-container .forminator-droptime--default.select2-dropdown--below,\nbody>.select2-container .forminator-dropdown--default.select2-dropdown--below {\n margin-top: 2px;\n}\n\nbody>.select2-container .forminator-droptime--default .select2-search,\nbody>.select2-container .forminator-droptime--default .select2-search--dropdown,\nbody>.select2-container .forminator-dropdown--default .select2-search,\nbody>.select2-container .forminator-dropdown--default .select2-search--dropdown {\n padding: 9px;\n}\n\nbody>.select2-container .forminator-droptime--default .select2-search .select2-search__field,\nbody>.select2-container .forminator-droptime--default .select2-search--dropdown .select2-search__field,\nbody>.select2-container .forminator-dropdown--default .select2-search .select2-search__field,\nbody>.select2-container .forminator-dropdown--default .select2-search--dropdown .select2-search__field {\n padding: 9px;\n border-width: 1px;\n border-style: solid;\n border-radius: 2px;\n line-height: 20px;\n}\n\nbody>.select2-container .forminator-droptime--default .select2-results .select2-results__option,\nbody>.select2-container .forminator-dropdown--default .select2-results .select2-results__option {\n padding: 9px;\n line-height: 20px;\n transition: 0.3s ease;\n}\n\nbody>.select2-container .forminator-droptime--default .select2-search,\nbody>.select2-container .forminator-droptime--default .select2-search--dropdown {\n display: none;\n}\n\n.forminator-custom-form.forminator-design--default {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--default:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--default:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-custom-form.forminator-design--default:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--default:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--default {\n margin: 30px auto;\n }\n}\n\n.forminator-custom-form.forminator-design--default * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-multiselect {\n margin: 0;\n padding: 0;\n border: 0;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-multiselect,\n.forminator-custom-form.forminator-design--default .forminator-multiselect li,\n.forminator-custom-form.forminator-design--default .forminator-multiselect label {\n display: block;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-multiselect,\n.forminator-custom-form.forminator-design--default .forminator-multiselect li {\n list-style: none;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-multiselect li label {\n cursor: pointer;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-multiselect li label {\n padding: 10px 9px;\n line-height: 20px;\n transition: 0.3s ease;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-multiselect {\n max-height: 120px;\n overflow-x: hidden;\n overflow-y: auto;\n border-width: 1px;\n border-style: solid;\n border-radius: 2px;\n}\n\n.forminator-custom-form.forminator-design--default {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--default:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--default:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-custom-form.forminator-design--default:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--default:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--default {\n margin: 30px auto;\n }\n}\n\n.forminator-custom-form.forminator-design--default * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-date {\n position: relative;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-date.forminator-has_icon:after {\n content: \"∏\";\n position: absolute;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-date.forminator-has_icon .forminator-input {\n padding-right: 40px;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-date.forminator-has_icon:after {\n top: 10px;\n right: 10px;\n font-size: 16px;\n width: 20px;\n line-height: 20px;\n text-align: center;\n}\n\n.forminator-calendar--default {\n padding: 2px 0;\n}\n\n.forminator-calendar--default .ui-datepicker-header,\n.forminator-calendar--default .ui-datepicker-calendar {\n margin: 0;\n}\n\n.forminator-calendar--default .ui-datepicker-header {\n display: block;\n position: relative;\n}\n\n.forminator-calendar--default .ui-datepicker-header .ui-datepicker-prev,\n.forminator-calendar--default .ui-datepicker-header .ui-datepicker-next {\n cursor: pointer;\n display: block;\n position: absolute;\n text-align: center;\n}\n\n.forminator-calendar--default .ui-datepicker-header .ui-datepicker-prev:before,\n.forminator-calendar--default .ui-datepicker-header .ui-datepicker-next:before {\n display: block;\n}\n\n.forminator-calendar--default .ui-datepicker-header .ui-datepicker-prev span,\n.forminator-calendar--default .ui-datepicker-header .ui-datepicker-next span {\n display: none;\n}\n\n.forminator-calendar--default .ui-datepicker-header .ui-datepicker-prev:before {\n content: \"Ó\";\n}\n\n.forminator-calendar--default .ui-datepicker-header .ui-datepicker-next:before {\n content: \"˜\";\n}\n\n.forminator-calendar--default .ui-datepicker-header .ui-datepicker-title {\n display: flex;\n}\n\n.forminator-calendar--default .ui-datepicker-header .ui-datepicker-title select {\n display: block;\n flex: 1;\n margin: 0;\n}\n\n.forminator-calendar--default .ui-datepicker-calendar {\n padding: 0;\n border-collapse: unset;\n border-spacing: unset;\n}\n\n.forminator-calendar--default .ui-datepicker-calendar thead tr,\n.forminator-calendar--default .ui-datepicker-calendar tbody tr {\n border: 0;\n}\n\n.forminator-calendar--default .ui-datepicker-calendar thead tr th,\n.forminator-calendar--default .ui-datepicker-calendar tbody tr td {\n border: 0;\n text-align: center;\n}\n\n.forminator-calendar--default .ui-datepicker-calendar thead tr th a,\n.forminator-calendar--default .ui-datepicker-calendar thead tr th span,\n.forminator-calendar--default .ui-datepicker-calendar tbody tr td a,\n.forminator-calendar--default .ui-datepicker-calendar tbody tr td span {\n display: block;\n}\n\n.forminator-calendar--default .ui-datepicker-calendar thead tr th {\n font-weight: bold;\n}\n\n.forminator-calendar--default .ui-datepicker-calendar tbody tr td.ui-state-disabled,\n.forminator-calendar--default .ui-datepicker-calendar tbody tr td.ui-datepicker-unselectable {\n pointer-events: none;\n}\n\n.forminator-calendar--default .ui-datepicker-calendar tbody tr td.ui-state-disabled a,\n.forminator-calendar--default .ui-datepicker-calendar tbody tr td.ui-state-disabled span,\n.forminator-calendar--default .ui-datepicker-calendar tbody tr td.ui-datepicker-unselectable a,\n.forminator-calendar--default .ui-datepicker-calendar tbody tr td.ui-datepicker-unselectable span {\n filter: alpha(opacity=40);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);\n opacity: .4;\n -khtml-opacity: .4;\n}\n\n.forminator-calendar--default .ui-datepicker-header,\n.forminator-calendar--default .ui-datepicker-calendar {\n border-width: 1px;\n border-style: solid;\n}\n\n.forminator-calendar--default .ui-datepicker-header {\n padding-top: 5px;\n padding-bottom: 5px;\n border-bottom: 0;\n border-radius: 2px 2px 0 0;\n}\n\n.forminator-calendar--default .ui-datepicker-header .ui-datepicker-prev,\n.forminator-calendar--default .ui-datepicker-header .ui-datepicker-next {\n top: 5px;\n}\n\n.forminator-calendar--default .ui-datepicker-header .ui-datepicker-prev {\n left: 5px;\n}\n\n.forminator-calendar--default .ui-datepicker-header .ui-datepicker-next {\n right: 5px;\n}\n\n.forminator-calendar--default .ui-datepicker-header .ui-datepicker-prev,\n.forminator-calendar--default .ui-datepicker-header .ui-datepicker-next {\n width: 26px;\n height: 26px;\n}\n\n.forminator-calendar--default .ui-datepicker-header .ui-datepicker-prev:before,\n.forminator-calendar--default .ui-datepicker-header .ui-datepicker-next:before {\n line-height: 26px;\n}\n\n.forminator-calendar--default .ui-datepicker-header .ui-datepicker-prev:before,\n.forminator-calendar--default .ui-datepicker-header .ui-datepicker-next:before {\n font-size: 12px;\n}\n\n.forminator-calendar--default .ui-datepicker-header .ui-datepicker-title {\n margin: 0 5px;\n padding: 0 31px;\n}\n\n.forminator-calendar--default .ui-datepicker-header .ui-datepicker-title select+select {\n margin-left: 5px;\n}\n\n.forminator-calendar--default .ui-datepicker-header .ui-datepicker-title select {\n height: 26px;\n}\n\n.forminator-calendar--default .ui-datepicker-calendar {\n border-top: 0;\n border-radius: 0 0 2px 2px;\n}\n\n.forminator-calendar--default .ui-datepicker-calendar thead tr th,\n.forminator-calendar--default .ui-datepicker-calendar tbody tr td {\n padding: 5px;\n width: 36px;\n height: 36px;\n line-height: 26px;\n}\n\n.forminator-calendar--default .ui-datepicker-calendar thead tr th a,\n.forminator-calendar--default .ui-datepicker-calendar thead tr th span,\n.forminator-calendar--default .ui-datepicker-calendar tbody tr td a,\n.forminator-calendar--default .ui-datepicker-calendar tbody tr td span {\n width: 26px;\n height: 26px;\n}\n\n.forminator-calendar--default .ui-datepicker-calendar thead tr th a,\n.forminator-calendar--default .ui-datepicker-calendar thead tr th span,\n.forminator-calendar--default .ui-datepicker-calendar tbody tr td a,\n.forminator-calendar--default .ui-datepicker-calendar tbody tr td span {\n border-radius: 2px;\n}\n\n.forminator-calendar--default .ui-datepicker-calendar thead tr th a,\n.forminator-calendar--default .ui-datepicker-calendar tbody tr td a {\n transition: 0.3s ease;\n}\n\n.forminator-custom-form.forminator-design--default {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--default:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--default:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-custom-form.forminator-design--default:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--default:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--default {\n margin: 30px auto;\n }\n}\n\n.forminator-custom-form.forminator-design--default * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--default a.forminator-button,\n.forminator-custom-form.forminator-design--default button.forminator-button {\n width: 100%;\n cursor: pointer;\n display: block;\n margin: 20px 0;\n border: 0;\n text-align: center;\n text-transform: none;\n padding: 10px;\n border-radius: 2px;\n line-height: 20px;\n transition: 0.3s ease;\n}\n\n.forminator-custom-form.forminator-design--default a.forminator-button,\n.forminator-custom-form.forminator-design--default a.forminator-button:hover,\n.forminator-custom-form.forminator-design--default a.forminator-button:active,\n.forminator-custom-form.forminator-design--default a.forminator-button:visited,\n.forminator-custom-form.forminator-design--default a.forminator-button:disabled,\n.forminator-custom-form.forminator-design--default button.forminator-button,\n.forminator-custom-form.forminator-design--default button.forminator-button:hover,\n.forminator-custom-form.forminator-design--default button.forminator-button:active,\n.forminator-custom-form.forminator-design--default button.forminator-button:visited,\n.forminator-custom-form.forminator-design--default button.forminator-button:disabled {\n outline: none;\n box-shadow: none;\n text-decoration: none;\n}\n\n.forminator-custom-form.forminator-design--default a.forminator-button,\n.forminator-custom-form.forminator-design--default a.forminator-button:hover,\n.forminator-custom-form.forminator-design--default a.forminator-button:active,\n.forminator-custom-form.forminator-design--default a.forminator-button:visited,\n.forminator-custom-form.forminator-design--default button.forminator-button,\n.forminator-custom-form.forminator-design--default button.forminator-button:hover,\n.forminator-custom-form.forminator-design--default button.forminator-button:active,\n.forminator-custom-form.forminator-design--default button.forminator-button:visited {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-custom-form.forminator-design--default a.forminator-button:disabled,\n.forminator-custom-form.forminator-design--default button.forminator-button:disabled {\n filter: alpha(opacity=25);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=25);\n opacity: .25;\n -khtml-opacity: .25;\n}\n\n.forminator-custom-form.forminator-design--default a.forminator-button:first-child,\n.forminator-custom-form.forminator-design--default button.forminator-button:first-child {\n margin-top: 0;\n}\n\n.forminator-custom-form.forminator-design--default a.forminator-button:last-child,\n.forminator-custom-form.forminator-design--default button.forminator-button:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--default:not(.forminator-size--small) a.forminator-button:first-child,\n .forminator-custom-form.forminator-design--default:not(.forminator-size--small) button.forminator-button:first-child {\n margin-left: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--default:not(.forminator-size--small) a.forminator-button:last-child,\n .forminator-custom-form.forminator-design--default:not(.forminator-size--small) button.forminator-button:last-child {\n margin-right: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--default:not(.forminator-size--small) a.forminator-button,\n .forminator-custom-form.forminator-design--default:not(.forminator-size--small) button.forminator-button {\n width: auto;\n min-width: 100px;\n display: inline-block;\n margin: 0 15px;\n }\n}\n\n.forminator-custom-form.forminator-design--default {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--default:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--default:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-custom-form.forminator-design--default:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--default:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--default {\n margin: 30px auto;\n }\n}\n\n.forminator-custom-form.forminator-design--default * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-pagination--bar {\n width: 100%;\n display: flex;\n align-items: center;\n margin-bottom: 20px;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-pagination--bar .forminator-bar--text {\n flex: 0 0 auto;\n margin: 0 10px;\n line-height: 16px;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-pagination--bar .forminator-bar--text:first-child {\n margin-left: 0;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-pagination--bar .forminator-bar--text:last-child {\n margin-right: 0;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-pagination--bar .forminator-bar--progress {\n overflow: hidden;\n flex: 1;\n position: relative;\n margin: 0;\n height: 16px;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-pagination--bar .forminator-bar--progress,\n.forminator-custom-form.forminator-design--default .forminator-pagination--bar .forminator-bar--progress span {\n border-radius: 8px;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-pagination--bar .forminator-bar--progress span {\n display: block;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-pagination--nav {\n margin: 0 0 20px;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-pagination--nav,\n.forminator-custom-form.forminator-design--default .forminator-pagination--nav li {\n display: block;\n position: relative;\n padding: 0;\n border: 0;\n list-style: none;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-pagination--nav:before {\n content: \" \";\n height: auto;\n position: absolute;\n width: 1px;\n top: 6.5px;\n bottom: 6.5px;\n left: 6.5px;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-pagination--nav li {\n margin: 10px 0;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-pagination--nav li:first-child {\n margin-top: 0;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-pagination--nav li:last-child {\n margin-bottom: 0;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-pagination--footer {\n margin-top: 20px;\n padding-top: 20px;\n border-top-width: 1px;\n border-top-style: solid;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--default:not(.forminator-size--small) .forminator-pagination--bar .forminator-bar--text:first-child {\n margin-left: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--default:not(.forminator-size--small) .forminator-pagination--bar .forminator-bar--text:last-child {\n margin-right: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--default:not(.forminator-size--small) .forminator-pagination--bar .forminator-bar--text {\n margin: 0 15px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--default:not(.forminator-size--small) .forminator-pagination--bar {\n margin-bottom: 30px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--default:not(.forminator-size--small) .forminator-pagination--nav:before {\n content: unset;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--default:not(.forminator-size--small) .forminator-pagination--nav {\n margin: 0 0 30px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--default:not(.forminator-size--small) .forminator-pagination--footer {\n display: flex;\n justify-content: space-between;\n margin-top: 30px;\n padding-top: 30px;\n }\n}\n\n.forminator-custom-form.forminator-design--default .forminator-pagination--nav li:before {\n right: 50%;\n left: 0;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-pagination--nav li:after {\n right: 0;\n left: 50%;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-pagination--nav li .forminator-step-text {\n display: block;\n padding-left: 24px;\n line-height: 20px;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-pagination--nav li .forminator-step-dot {\n display: block;\n position: absolute;\n left: 0;\n width: 14px;\n height: 14px;\n border-radius: 100%;\n border-width: 1px;\n border-style: solid;\n top: 3px;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--default:not(.forminator-size--small) .forminator-pagination--nav li {\n min-width: 33.33%;\n flex: 1 0 33.33%;\n margin: 0;\n text-align: center;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--default:not(.forminator-size--small) .forminator-pagination--nav li:before,\n .forminator-custom-form.forminator-design--default:not(.forminator-size--small) .forminator-pagination--nav li:after {\n content: \" \";\n width: auto;\n display: block;\n position: absolute;\n height: 1px;\n bottom: 6.5px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--default:not(.forminator-size--small) .forminator-pagination--nav li .forminator-step-dot {\n position: relative;\n z-index: 1;\n top: auto;\n left: auto;\n margin: 5px auto 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--default:not(.forminator-size--small) .forminator-pagination--nav li .forminator-step-text {\n padding-left: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--default:not(.forminator-size--small) .forminator-pagination--nav {\n display: flex;\n flex-wrap: wrap;\n align-items: flex-end;\n }\n}\n\n.forminator-custom-form.forminator-design--default .forminator-pagination--bar .forminator-bar--progress {\n background-color: #EDEDED;\n}\n\n.forminator-custom-form.forminator-design--default .forminator-pagination--bar .forminator-bar--progress span {\n background-color: #17A8E3;\n}\n\n.forminator-custom-form.forminator-design--material {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--material:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-custom-form.forminator-design--material:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material {\n margin: 30px auto;\n }\n}\n\n.forminator-custom-form.forminator-design--material * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-label,\n.forminator-custom-form.forminator-design--material .forminator-label--limit,\n.forminator-custom-form.forminator-design--material .forminator-label--helper {\n line-height: 20px;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-label--validation {\n margin-top: 5px;\n padding: 5px 10px;\n line-height: 20px;\n}\n\n.forminator-custom-form.forminator-design--material {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--material:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-custom-form.forminator-design--material:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material {\n margin: 30px auto;\n }\n}\n\n.forminator-custom-form.forminator-design--material * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-break .forminator-border {\n width: 100%;\n height: 0;\n display: block;\n margin-right: 0;\n margin-bottom: 0;\n margin-left: 0;\n padding: 0;\n border-style: none;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-break .forminator-border.solid {\n border-style: solid;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-break .forminator-border.dashed {\n border-style: dashed;\n}\n\n.forminator-custom-form.forminator-design--material {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--material:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-custom-form.forminator-design--material:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material {\n margin: 30px auto;\n }\n}\n\n.forminator-custom-form.forminator-design--material * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-input,\n.forminator-custom-form.forminator-design--material .forminator-textarea {\n width: 100%;\n max-width: 100%;\n display: block;\n margin: 0;\n padding: 0;\n border: 0;\n background-image: unset;\n background-color: transparent;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-input,\n.forminator-custom-form.forminator-design--material .forminator-input:hover,\n.forminator-custom-form.forminator-design--material .forminator-input:focus,\n.forminator-custom-form.forminator-design--material .forminator-input:active,\n.forminator-custom-form.forminator-design--material .forminator-input:disabled,\n.forminator-custom-form.forminator-design--material .forminator-textarea,\n.forminator-custom-form.forminator-design--material .forminator-textarea:hover,\n.forminator-custom-form.forminator-design--material .forminator-textarea:focus,\n.forminator-custom-form.forminator-design--material .forminator-textarea:active,\n.forminator-custom-form.forminator-design--material .forminator-textarea:disabled {\n outline: none;\n box-shadow: none;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-input,\n.forminator-custom-form.forminator-design--material .forminator-input:hover,\n.forminator-custom-form.forminator-design--material .forminator-input:focus,\n.forminator-custom-form.forminator-design--material .forminator-input:active,\n.forminator-custom-form.forminator-design--material .forminator-textarea,\n.forminator-custom-form.forminator-design--material .forminator-textarea:hover,\n.forminator-custom-form.forminator-design--material .forminator-textarea:focus,\n.forminator-custom-form.forminator-design--material .forminator-textarea:active {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-input:disabled,\n.forminator-custom-form.forminator-design--material .forminator-textarea:disabled {\n pointer-events: none;\n border-style: dotted;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-input:disabled:-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-textarea:disabled:-moz-placeholder {\n filter: alpha(opacity=40);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);\n opacity: .4;\n -khtml-opacity: .4;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-input:disabled::-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-textarea:disabled::-moz-placeholder {\n filter: alpha(opacity=40);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);\n opacity: .4;\n -khtml-opacity: .4;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-input:disabled:-ms-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-textarea:disabled:-ms-input-placeholder {\n filter: alpha(opacity=40);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);\n opacity: .4;\n -khtml-opacity: .4;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-input:disabled::-webkit-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-textarea:disabled::-webkit-input-placeholder {\n filter: alpha(opacity=40);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);\n opacity: .4;\n -khtml-opacity: .4;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-textarea {\n height: auto;\n min-height: 140px;\n resize: vertical;\n}\n\n.forminator-custom-form.forminator-design--material .intl-tel-input {\n display: block;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-input,\n.forminator-custom-form.forminator-design--material .forminator-textarea {\n line-height: 20px;\n transition: 0.25s ease;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-input {\n border-radius: 0;\n padding-top: 10px;\n padding-bottom: 9px;\n border-top: 0;\n border-right: 0;\n border-left: 0;\n border-bottom-width: 1px;\n border-bottom-style: solid;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-textarea {\n padding: 9px;\n border-width: 1px;\n border-style: solid;\n border-radius: 2px;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-input {\n height: 40px;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-input--wrap {\n position: relative;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-input--wrap:after {\n content: \" \";\n height: 2px;\n display: block;\n position: absolute;\n right: 50%;\n bottom: 0;\n left: 50%;\n transition: 0.25s linear;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-textarea--wrap {\n position: relative;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-textarea--wrap:after {\n content: \" \";\n pointer-events: none;\n position: absolute;\n z-index: 1;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n border-radius: 2px;\n transition: 0.25s ease;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-floating--date,\n.forminator-custom-form.forminator-design--material .forminator-floating--input,\n.forminator-custom-form.forminator-design--material .forminator-floating--textarea {\n position: relative;\n z-index: 1;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-floating--date .forminator-label,\n.forminator-custom-form.forminator-design--material .forminator-floating--input .forminator-label,\n.forminator-custom-form.forminator-design--material .forminator-floating--textarea .forminator-label {\n overflow: hidden;\n pointer-events: none;\n transform-origin: 0;\n transition: transform 0.25s linear,0.25s ease;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-floating--date .forminator-label,\n.forminator-custom-form.forminator-design--material .forminator-floating--input .forminator-label {\n transform: translateY(30px);\n}\n\n.forminator-custom-form.forminator-design--material .forminator-floating--date {\n padding-left: 26px;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-floating--textarea {\n height: 0;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-floating--textarea .forminator-label {\n padding-right: 20px;\n transform: translate(10px, 30px);\n}\n\n.forminator-custom-form.forminator-design--material .forminator-floating--textarea ~ .forminator-textarea--wrap .forminator-textarea {\n padding-top: 29px;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-floating--date+.forminator-input:-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--date+.forminator-date .forminator-input:-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--date+.forminator-input--wrap .forminator-input:-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--date ~ .forminator-textarea--wrap .forminator-textarea:-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--date+.forminator-phone-intl .forminator-input--wrap .forminator-input:-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--input+.forminator-input:-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--input+.forminator-date .forminator-input:-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--input+.forminator-input--wrap .forminator-input:-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--input ~ .forminator-textarea--wrap .forminator-textarea:-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--input+.forminator-phone-intl .forminator-input--wrap .forminator-input:-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--textarea+.forminator-input:-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--textarea+.forminator-date .forminator-input:-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--textarea+.forminator-input--wrap .forminator-input:-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--textarea ~ .forminator-textarea--wrap .forminator-textarea:-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--textarea+.forminator-phone-intl .forminator-input--wrap .forminator-input:-moz-placeholder {\n filter: alpha(opacity=0);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);\n opacity: 0;\n -khtml-opacity: 0;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-floating--date+.forminator-input::-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--date+.forminator-date .forminator-input::-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--date+.forminator-input--wrap .forminator-input::-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--date ~ .forminator-textarea--wrap .forminator-textarea::-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--date+.forminator-phone-intl .forminator-input--wrap .forminator-input::-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--input+.forminator-input::-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--input+.forminator-date .forminator-input::-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--input+.forminator-input--wrap .forminator-input::-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--input ~ .forminator-textarea--wrap .forminator-textarea::-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--input+.forminator-phone-intl .forminator-input--wrap .forminator-input::-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--textarea+.forminator-input::-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--textarea+.forminator-date .forminator-input::-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--textarea+.forminator-input--wrap .forminator-input::-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--textarea ~ .forminator-textarea--wrap .forminator-textarea::-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--textarea+.forminator-phone-intl .forminator-input--wrap .forminator-input::-moz-placeholder {\n filter: alpha(opacity=0);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);\n opacity: 0;\n -khtml-opacity: 0;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-floating--date+.forminator-input:-ms-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--date+.forminator-date .forminator-input:-ms-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--date+.forminator-input--wrap .forminator-input:-ms-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--date ~ .forminator-textarea--wrap .forminator-textarea:-ms-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--date+.forminator-phone-intl .forminator-input--wrap .forminator-input:-ms-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--input+.forminator-input:-ms-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--input+.forminator-date .forminator-input:-ms-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--input+.forminator-input--wrap .forminator-input:-ms-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--input ~ .forminator-textarea--wrap .forminator-textarea:-ms-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--input+.forminator-phone-intl .forminator-input--wrap .forminator-input:-ms-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--textarea+.forminator-input:-ms-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--textarea+.forminator-date .forminator-input:-ms-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--textarea+.forminator-input--wrap .forminator-input:-ms-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--textarea ~ .forminator-textarea--wrap .forminator-textarea:-ms-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--textarea+.forminator-phone-intl .forminator-input--wrap .forminator-input:-ms-input-placeholder {\n filter: alpha(opacity=0);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);\n opacity: 0;\n -khtml-opacity: 0;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-floating--date+.forminator-input::-webkit-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--date+.forminator-date .forminator-input::-webkit-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--date+.forminator-input--wrap .forminator-input::-webkit-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--date ~ .forminator-textarea--wrap .forminator-textarea::-webkit-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--date+.forminator-phone-intl .forminator-input--wrap .forminator-input::-webkit-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--input+.forminator-input::-webkit-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--input+.forminator-date .forminator-input::-webkit-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--input+.forminator-input--wrap .forminator-input::-webkit-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--input ~ .forminator-textarea--wrap .forminator-textarea::-webkit-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--input+.forminator-phone-intl .forminator-input--wrap .forminator-input::-webkit-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--textarea+.forminator-input::-webkit-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--textarea+.forminator-date .forminator-input::-webkit-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--textarea+.forminator-input--wrap .forminator-input::-webkit-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--textarea ~ .forminator-textarea--wrap .forminator-textarea::-webkit-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-floating--textarea+.forminator-phone-intl .forminator-input--wrap .forminator-input::-webkit-input-placeholder {\n filter: alpha(opacity=0);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);\n opacity: 0;\n -khtml-opacity: 0;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-is_hover .forminator-input--wrap:after,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-input--wrap:after,\n.forminator-custom-form.forminator-design--material .forminator-has_error .forminator-input--wrap:after {\n right: 0;\n left: 0;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--date .forminator-label,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--input .forminator-label,\n.forminator-custom-form.forminator-design--material .forminator-is_filled .forminator-floating--date .forminator-label,\n.forminator-custom-form.forminator-design--material .forminator-is_filled .forminator-floating--input .forminator-label {\n transform: translateY(0);\n}\n\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--textarea .forminator-label,\n.forminator-custom-form.forminator-design--material .forminator-is_filled .forminator-floating--textarea .forminator-label {\n transform: translate(10px, 4px);\n}\n\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--date+.forminator-input:-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--date+.forminator-date .forminator-input:-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--date+.forminator-input--wrap .forminator-input:-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--date ~ .forminator-textarea--wrap .forminator-textarea:-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--date+.forminator-phone-intl .forminator-input--wrap .forminator-input:-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--input+.forminator-input:-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--input+.forminator-date .forminator-input:-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--input+.forminator-input--wrap .forminator-input:-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--input ~ .forminator-textarea--wrap .forminator-textarea:-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--input+.forminator-phone-intl .forminator-input--wrap .forminator-input:-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--textarea+.forminator-input:-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--textarea+.forminator-date .forminator-input:-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--textarea+.forminator-input--wrap .forminator-input:-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--textarea ~ .forminator-textarea--wrap .forminator-textarea:-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--textarea+.forminator-phone-intl .forminator-input--wrap .forminator-input:-moz-placeholder {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--date+.forminator-input::-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--date+.forminator-date .forminator-input::-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--date+.forminator-input--wrap .forminator-input::-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--date ~ .forminator-textarea--wrap .forminator-textarea::-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--date+.forminator-phone-intl .forminator-input--wrap .forminator-input::-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--input+.forminator-input::-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--input+.forminator-date .forminator-input::-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--input+.forminator-input--wrap .forminator-input::-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--input ~ .forminator-textarea--wrap .forminator-textarea::-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--input+.forminator-phone-intl .forminator-input--wrap .forminator-input::-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--textarea+.forminator-input::-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--textarea+.forminator-date .forminator-input::-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--textarea+.forminator-input--wrap .forminator-input::-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--textarea ~ .forminator-textarea--wrap .forminator-textarea::-moz-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--textarea+.forminator-phone-intl .forminator-input--wrap .forminator-input::-moz-placeholder {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--date+.forminator-input:-ms-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--date+.forminator-date .forminator-input:-ms-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--date+.forminator-input--wrap .forminator-input:-ms-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--date ~ .forminator-textarea--wrap .forminator-textarea:-ms-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--date+.forminator-phone-intl .forminator-input--wrap .forminator-input:-ms-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--input+.forminator-input:-ms-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--input+.forminator-date .forminator-input:-ms-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--input+.forminator-input--wrap .forminator-input:-ms-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--input ~ .forminator-textarea--wrap .forminator-textarea:-ms-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--input+.forminator-phone-intl .forminator-input--wrap .forminator-input:-ms-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--textarea+.forminator-input:-ms-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--textarea+.forminator-date .forminator-input:-ms-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--textarea+.forminator-input--wrap .forminator-input:-ms-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--textarea ~ .forminator-textarea--wrap .forminator-textarea:-ms-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--textarea+.forminator-phone-intl .forminator-input--wrap .forminator-input:-ms-input-placeholder {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--date+.forminator-input::-webkit-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--date+.forminator-date .forminator-input::-webkit-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--date+.forminator-input--wrap .forminator-input::-webkit-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--date ~ .forminator-textarea--wrap .forminator-textarea::-webkit-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--date+.forminator-phone-intl .forminator-input--wrap .forminator-input::-webkit-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--input+.forminator-input::-webkit-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--input+.forminator-date .forminator-input::-webkit-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--input+.forminator-input--wrap .forminator-input::-webkit-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--input ~ .forminator-textarea--wrap .forminator-textarea::-webkit-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--input+.forminator-phone-intl .forminator-input--wrap .forminator-input::-webkit-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--textarea+.forminator-input::-webkit-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--textarea+.forminator-date .forminator-input::-webkit-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--textarea+.forminator-input--wrap .forminator-input::-webkit-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--textarea ~ .forminator-textarea--wrap .forminator-textarea::-webkit-input-placeholder,\n.forminator-custom-form.forminator-design--material .forminator-is_active .forminator-floating--textarea+.forminator-phone-intl .forminator-input--wrap .forminator-input::-webkit-input-placeholder {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-phone-intl {\n display: flex;\n align-items: center;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-phone-intl .flag-container {\n cursor: pointer;\n flex: 0 0 auto;\n margin: 0 10px 0 0;\n position: relative;\n padding: 0;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-phone-intl .flag-container .selected-flag {\n width: auto;\n height: auto;\n display: flex;\n align-items: center;\n padding: 0;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-phone-intl .flag-container .selected-flag .iti-flag,\n.forminator-custom-form.forminator-design--material .forminator-phone-intl .flag-container .selected-flag .iti-arrow {\n flex: 0 0 auto;\n position: unset;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-phone-intl .flag-container .selected-flag .iti-flag {\n margin-right: 5px;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-phone-intl .flag-container .selected-flag .iti-arrow {\n margin-top: 0;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-phone-intl .forminator-input--wrap {\n flex: 1;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-phone-intl .forminator-input--wrap .forminator-input {\n padding-right: 0;\n padding-left: 0;\n}\n\n.forminator-custom-form.forminator-design--material .intl-tel-input .forminator-floating--input {\n padding-left: 41px;\n}\n\n.forminator-custom-form.forminator-design--material:not(.forminator-size--small) .forminator-floating--date {\n padding-left: 31px;\n}\n\n.forminator-custom-form.forminator-design--material {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--material:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-custom-form.forminator-design--material:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material {\n margin: 30px auto;\n }\n}\n\n.forminator-custom-form.forminator-design--material * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-radio {\n display: flex;\n position: relative;\n margin: 5px 0;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-radio input:checked+.forminator-radio--design:before {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-radio input:focus+.forminator-radio--design:after {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n animation-name: click-animation;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-radio .forminator-radio--design {\n cursor: pointer;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n margin: 0;\n padding: 0;\n position: relative;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-radio .forminator-radio--design:before {\n filter: alpha(opacity=0);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);\n opacity: 0;\n -khtml-opacity: 0;\n display: block;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-radio .forminator-radio--design+.forminator-radio--label {\n margin-left: 10px;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-radio .forminator-radio--design:after {\n content: \" \";\n filter: alpha(opacity=0);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);\n opacity: 0;\n -khtml-opacity: 0;\n position: absolute;\n border-radius: 50%;\n transform: scale(0);\n transform-origin: center;\n transform-style: preserve-3d;\n animation-duration: 0.6s;\n animation-fill-mode: both;\n width: 20px;\n height: 20px;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-radio .forminator-radio--label {\n cursor: default;\n display: block;\n margin: 0;\n padding: 0;\n border: 0;\n letter-spacing: 0;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-radio .forminator-radio--label[for] {\n cursor: pointer;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-radio .forminator-radio--design {\n width: 20px;\n height: 20px;\n flex: 0 0 20px;\n border-width: 2px;\n border-style: solid;\n border-radius: 2px;\n transition: 0.25s ease;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-radio .forminator-radio--label {\n line-height: 20px;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-radio .forminator-radio--design:before {\n width: 10px;\n height: 10px;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-radio .forminator-radio--design {\n border-radius: 100%;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-radio .forminator-radio--design:before {\n content: \" \";\n border-radius: 100%;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-checkbox {\n display: flex;\n position: relative;\n margin: 5px 0;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-checkbox input:checked+.forminator-checkbox--design:before {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-checkbox input:focus+.forminator-checkbox--design:after {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n animation-name: click-animation;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-checkbox .forminator-checkbox--design {\n cursor: pointer;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n margin: 0;\n padding: 0;\n position: relative;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-checkbox .forminator-checkbox--design:before {\n filter: alpha(opacity=0);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);\n opacity: 0;\n -khtml-opacity: 0;\n display: block;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-checkbox .forminator-checkbox--design+.forminator-checkbox--label {\n margin-left: 10px;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-checkbox .forminator-checkbox--design:after {\n content: \" \";\n filter: alpha(opacity=0);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);\n opacity: 0;\n -khtml-opacity: 0;\n position: absolute;\n border-radius: 50%;\n transform: scale(0);\n transform-origin: center;\n transform-style: preserve-3d;\n animation-duration: 0.6s;\n animation-fill-mode: both;\n width: 20px;\n height: 20px;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-checkbox .forminator-checkbox--label {\n cursor: default;\n display: block;\n margin: 0;\n padding: 0;\n border: 0;\n letter-spacing: 0;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-checkbox .forminator-checkbox--label[for] {\n cursor: pointer;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-checkbox .forminator-checkbox--design {\n width: 20px;\n height: 20px;\n flex: 0 0 20px;\n border-width: 2px;\n border-style: solid;\n border-radius: 2px;\n transition: 0.25s ease;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-checkbox .forminator-checkbox--label {\n line-height: 20px;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-checkbox .forminator-checkbox--design:before {\n font-size: 10px;\n}\n\n.forminator-custom-form.forminator-design--material {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--material:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-custom-form.forminator-design--material:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material {\n margin: 30px auto;\n }\n}\n\n.forminator-custom-form.forminator-design--material * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-time+.select2,\n.forminator-custom-form.forminator-design--material .forminator-select+.select2 {\n width: 100% !important;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-time+.select2 *,\n.forminator-custom-form.forminator-design--material .forminator-select+.select2 * {\n display: block;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-time+.select2 .forminator-select2,\n.forminator-custom-form.forminator-design--material .forminator-select+.select2 .forminator-select2 {\n height: auto;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-time+.select2 .forminator-select2.select2-selection--single,\n.forminator-custom-form.forminator-design--material .forminator-select+.select2 .forminator-select2.select2-selection--single {\n background-color: transparent;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-time+.select2 .forminator-select2.select2-selection--single .select2-selection__rendered,\n.forminator-custom-form.forminator-design--material .forminator-select+.select2 .forminator-select2.select2-selection--single .select2-selection__rendered {\n padding-left: 0;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-time+.select2 .forminator-select2,\n.forminator-custom-form.forminator-design--material .forminator-select+.select2 .forminator-select2 {\n padding: 10px 0 9px;\n border: 0;\n border-bottom-width: 1px;\n border-bottom-style: solid;\n border-radius: 0;\n transition: 0.25s ease;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-time+.select2 .forminator-select2:after,\n.forminator-custom-form.forminator-design--material .forminator-select+.select2 .forminator-select2:after {\n content: \" \";\n display: block;\n position: absolute;\n right: 50%;\n left: 50%;\n height: 2px;\n bottom: -1px;\n transition: 0.25s ease;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-time+.select2 .forminator-select2.select2-selection--single .select2-selection__rendered,\n.forminator-custom-form.forminator-design--material .forminator-select+.select2 .forminator-select2.select2-selection--single .select2-selection__rendered {\n line-height: 20px;\n transition: 0.25s ease;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-time+.select2.select2-container--open .forminator-select2:after,\n.forminator-custom-form.forminator-design--material .forminator-select+.select2.select2-container--open .forminator-select2:after {\n right: 0;\n left: 0;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-is_hover .forminator-time+.select2 .forminator-select2:after,\n.forminator-custom-form.forminator-design--material .forminator-is_hover .forminator-select+.select2 .forminator-select2:after {\n right: 0;\n left: 0;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-time+.select2 .forminator-select2.select2-selection--single,\n.forminator-custom-form.forminator-design--material .forminator-select+.select2 .forminator-select2.select2-selection--single {\n position: relative;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-time+.select2 .forminator-select2.select2-selection--single .select2-selection__rendered,\n.forminator-custom-form.forminator-design--material .forminator-select+.select2 .forminator-select2.select2-selection--single .select2-selection__rendered {\n padding-right: 30px;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-time+.select2 .forminator-select2.select2-selection--single .select2-selection__arrow,\n.forminator-custom-form.forminator-design--material .forminator-select+.select2 .forminator-select2.select2-selection--single .select2-selection__arrow {\n width: 20px;\n height: 20px;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n position: absolute;\n right: 0;\n top: 10px;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-time+.select2 .forminator-select2.select2-selection--single .select2-selection__arrow:before,\n.forminator-custom-form.forminator-design--material .forminator-select+.select2 .forminator-select2.select2-selection--single .select2-selection__arrow:before {\n content: \"ı\";\n transition: transform 0.2s linear,0.25s ease;\n font-size: 12px;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-time+.select2 .forminator-select2.select2-selection--single .select2-selection__arrow b,\n.forminator-custom-form.forminator-design--material .forminator-select+.select2 .forminator-select2.select2-selection--single .select2-selection__arrow b {\n display: none;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-time+.select2.select2-container--open .forminator-select2.select2-selection--single .select2-selection__arrow:before,\n.forminator-custom-form.forminator-design--material .forminator-select+.select2.select2-container--open .forminator-select2.select2-selection--single .select2-selection__arrow:before {\n transform: rotate(180deg);\n}\n\nbody>.select2-container .forminator-droptime--material,\nbody>.select2-container .forminator-dropdown--material {\n display: block;\n position: relative;\n box-sizing: border-box;\n border: 0;\n border-radius: 0;\n}\n\nbody>.select2-container .forminator-droptime--material *,\nbody>.select2-container .forminator-dropdown--material * {\n box-sizing: border-box;\n}\n\nbody>.select2-container .forminator-droptime--material .select2-search,\nbody>.select2-container .forminator-droptime--material .select2-search:hover,\nbody>.select2-container .forminator-droptime--material .select2-search:focus,\nbody>.select2-container .forminator-droptime--material .select2-search:active,\nbody>.select2-container .forminator-droptime--material .select2-search--dropdown,\nbody>.select2-container .forminator-droptime--material .select2-search--dropdown:hover,\nbody>.select2-container .forminator-droptime--material .select2-search--dropdown:focus,\nbody>.select2-container .forminator-droptime--material .select2-search--dropdown:active,\nbody>.select2-container .forminator-dropdown--material .select2-search,\nbody>.select2-container .forminator-dropdown--material .select2-search:hover,\nbody>.select2-container .forminator-dropdown--material .select2-search:focus,\nbody>.select2-container .forminator-dropdown--material .select2-search:active,\nbody>.select2-container .forminator-dropdown--material .select2-search--dropdown,\nbody>.select2-container .forminator-dropdown--material .select2-search--dropdown:hover,\nbody>.select2-container .forminator-dropdown--material .select2-search--dropdown:focus,\nbody>.select2-container .forminator-dropdown--material .select2-search--dropdown:active {\n outline: none;\n box-shadow: none;\n}\n\nbody>.select2-container .forminator-droptime--material .select2-results .select2-results__option,\nbody>.select2-container .forminator-dropdown--material .select2-results .select2-results__option {\n margin: 0;\n padding: 0;\n border: 0;\n list-style: none;\n}\n\nbody>.select2-container .forminator-droptime--material .select2-results .select2-results__option .select2-results__option,\nbody>.select2-container .forminator-dropdown--material .select2-results .select2-results__option .select2-results__option {\n margin: 0;\n list-style: none;\n}\n\nbody>.select2-container .forminator-droptime--material.select2-dropdown--above,\nbody>.select2-container .forminator-dropdown--material.select2-dropdown--above {\n bottom: 2px;\n}\n\nbody>.select2-container .forminator-droptime--material.select2-dropdown--below,\nbody>.select2-container .forminator-dropdown--material.select2-dropdown--below {\n margin-top: 2px;\n}\n\nbody>.select2-container .forminator-droptime--material .select2-search,\nbody>.select2-container .forminator-droptime--material .select2-search--dropdown,\nbody>.select2-container .forminator-dropdown--material .select2-search,\nbody>.select2-container .forminator-dropdown--material .select2-search--dropdown {\n padding: 10px;\n}\n\nbody>.select2-container .forminator-droptime--material .select2-search .select2-search__field,\nbody>.select2-container .forminator-droptime--material .select2-search--dropdown .select2-search__field,\nbody>.select2-container .forminator-dropdown--material .select2-search .select2-search__field,\nbody>.select2-container .forminator-dropdown--material .select2-search--dropdown .select2-search__field {\n padding: 10px;\n border: 0;\n border-radius: 0;\n line-height: 20px;\n}\n\nbody>.select2-container .forminator-droptime--material .select2-results .select2-results__option,\nbody>.select2-container .forminator-dropdown--material .select2-results .select2-results__option {\n padding: 10px;\n line-height: 20px;\n transition: 0.25s ease;\n}\n\nbody>.select2-container .forminator-droptime--material:after,\nbody>.select2-container .forminator-dropdown--material:after {\n content: \" \";\n position: absolute;\n z-index: -1;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n box-shadow: 0 3px 8px rgba(0,0,0,0.3);\n}\n\nbody>.select2-container .forminator-droptime--material .select2-search,\nbody>.select2-container .forminator-droptime--material .select2-search--dropdown {\n display: none;\n}\n\n.forminator-custom-form.forminator-design--material {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--material:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-custom-form.forminator-design--material:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material {\n margin: 30px auto;\n }\n}\n\n.forminator-custom-form.forminator-design--material * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-multiselect {\n margin: 0;\n padding: 0;\n border: 0;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-multiselect,\n.forminator-custom-form.forminator-design--material .forminator-multiselect li,\n.forminator-custom-form.forminator-design--material .forminator-multiselect label {\n display: block;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-multiselect,\n.forminator-custom-form.forminator-design--material .forminator-multiselect li {\n list-style: none;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-multiselect li label {\n cursor: pointer;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-multiselect li label {\n padding: 10px 9px;\n line-height: 20px;\n transition: 0.25s ease;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-multiselect li {\n margin: 10px 0;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-multiselect li label {\n position: relative;\n border-width: 1px;\n border-style: solid;\n border-radius: 2px;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-multiselect li label:after {\n content: \" \";\n pointer-events: none;\n position: absolute;\n top: -1px;\n right: -1px;\n bottom: -1px;\n left: -1px;\n border-radius: 2px;\n transition: 0.25s ease;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-multiselect li:first-child {\n margin-top: 0;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-multiselect li:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material:not(.forminator-size--small) .forminator-multiselect li:first-child {\n margin-top: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material:not(.forminator-size--small) .forminator-multiselect li:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material:not(.forminator-size--small) .forminator-multiselect li {\n margin: 15px 0;\n }\n}\n\n.forminator-custom-form.forminator-design--material {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--material:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-custom-form.forminator-design--material:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material {\n margin: 30px auto;\n }\n}\n\n.forminator-custom-form.forminator-design--material * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-date {\n position: relative;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-date.forminator-has_icon {\n display: flex;\n align-items: center;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-date.forminator-has_icon:before {\n content: \"∏\";\n flex: 0 0 auto;\n margin-right: 10px;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-date.forminator-has_icon .forminator-input,\n.forminator-custom-form.forminator-design--material .forminator-date.forminator-has_icon .forminator-input--wrap {\n flex: 1;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-date.forminator-has_icon:before {\n font-size: 16px;\n min-width: 16px;\n flex: 0 0 16px;\n}\n\n.forminator-custom-form.forminator-design--material:not(.forminator-size--small) .forminator-date.forminator-has_icon:before {\n margin-right: 15px;\n}\n\n.forminator-calendar--material {\n padding: 2px 0;\n}\n\n.forminator-calendar--material .ui-datepicker-header,\n.forminator-calendar--material .ui-datepicker-calendar {\n margin: 0;\n}\n\n.forminator-calendar--material .ui-datepicker-header {\n display: block;\n position: relative;\n}\n\n.forminator-calendar--material .ui-datepicker-header .ui-datepicker-prev,\n.forminator-calendar--material .ui-datepicker-header .ui-datepicker-next {\n cursor: pointer;\n display: block;\n position: absolute;\n text-align: center;\n}\n\n.forminator-calendar--material .ui-datepicker-header .ui-datepicker-prev:before,\n.forminator-calendar--material .ui-datepicker-header .ui-datepicker-next:before {\n display: block;\n}\n\n.forminator-calendar--material .ui-datepicker-header .ui-datepicker-prev span,\n.forminator-calendar--material .ui-datepicker-header .ui-datepicker-next span {\n display: none;\n}\n\n.forminator-calendar--material .ui-datepicker-header .ui-datepicker-prev:before {\n content: \"Ó\";\n}\n\n.forminator-calendar--material .ui-datepicker-header .ui-datepicker-next:before {\n content: \"˜\";\n}\n\n.forminator-calendar--material .ui-datepicker-header .ui-datepicker-title {\n display: flex;\n}\n\n.forminator-calendar--material .ui-datepicker-header .ui-datepicker-title select {\n display: block;\n flex: 1;\n margin: 0;\n}\n\n.forminator-calendar--material .ui-datepicker-calendar {\n padding: 0;\n border-collapse: unset;\n border-spacing: unset;\n}\n\n.forminator-calendar--material .ui-datepicker-calendar thead tr,\n.forminator-calendar--material .ui-datepicker-calendar tbody tr {\n border: 0;\n}\n\n.forminator-calendar--material .ui-datepicker-calendar thead tr th,\n.forminator-calendar--material .ui-datepicker-calendar tbody tr td {\n border: 0;\n text-align: center;\n}\n\n.forminator-calendar--material .ui-datepicker-calendar thead tr th a,\n.forminator-calendar--material .ui-datepicker-calendar thead tr th span,\n.forminator-calendar--material .ui-datepicker-calendar tbody tr td a,\n.forminator-calendar--material .ui-datepicker-calendar tbody tr td span {\n display: block;\n}\n\n.forminator-calendar--material .ui-datepicker-calendar thead tr th {\n font-weight: bold;\n}\n\n.forminator-calendar--material .ui-datepicker-calendar tbody tr td.ui-state-disabled,\n.forminator-calendar--material .ui-datepicker-calendar tbody tr td.ui-datepicker-unselectable {\n pointer-events: none;\n}\n\n.forminator-calendar--material .ui-datepicker-calendar tbody tr td.ui-state-disabled a,\n.forminator-calendar--material .ui-datepicker-calendar tbody tr td.ui-state-disabled span,\n.forminator-calendar--material .ui-datepicker-calendar tbody tr td.ui-datepicker-unselectable a,\n.forminator-calendar--material .ui-datepicker-calendar tbody tr td.ui-datepicker-unselectable span {\n filter: alpha(opacity=40);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);\n opacity: .4;\n -khtml-opacity: .4;\n}\n\n.forminator-calendar--material:before {\n content: \" \";\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n box-shadow: 0 6px 10px rgba(0,0,0,0.3);\n}\n\n.forminator-calendar--material .ui-datepicker-header,\n.forminator-calendar--material .ui-datepicker-calendar {\n position: relative;\n z-index: 1;\n border-width: 0;\n}\n\n.forminator-calendar--material .ui-datepicker-header {\n padding-top: 20px;\n padding-bottom: 20px;\n}\n\n.forminator-calendar--material .ui-datepicker-header .ui-datepicker-prev,\n.forminator-calendar--material .ui-datepicker-header .ui-datepicker-next {\n top: 20px;\n}\n\n.forminator-calendar--material .ui-datepicker-header .ui-datepicker-prev {\n left: 5px;\n}\n\n.forminator-calendar--material .ui-datepicker-header .ui-datepicker-next {\n right: 5px;\n}\n\n.forminator-calendar--material .ui-datepicker-header .ui-datepicker-prev,\n.forminator-calendar--material .ui-datepicker-header .ui-datepicker-next {\n width: 26px;\n height: 26px;\n}\n\n.forminator-calendar--material .ui-datepicker-header .ui-datepicker-prev:before,\n.forminator-calendar--material .ui-datepicker-header .ui-datepicker-next:before {\n line-height: 26px;\n}\n\n.forminator-calendar--material .ui-datepicker-header .ui-datepicker-prev:before,\n.forminator-calendar--material .ui-datepicker-header .ui-datepicker-next:before {\n font-size: 16px;\n}\n\n.forminator-calendar--material .ui-datepicker-header .ui-datepicker-title {\n margin: 0 5px;\n padding: 0 31px;\n}\n\n.forminator-calendar--material .ui-datepicker-header .ui-datepicker-title select+select {\n margin-left: 5px;\n}\n\n.forminator-calendar--material .ui-datepicker-header .ui-datepicker-title select {\n height: 26px;\n}\n\n.forminator-calendar--material .ui-datepicker-calendar thead tr th,\n.forminator-calendar--material .ui-datepicker-calendar tbody tr td {\n padding: 5px;\n width: 50px;\n height: 50px;\n line-height: 40px;\n}\n\n.forminator-calendar--material .ui-datepicker-calendar thead tr th a,\n.forminator-calendar--material .ui-datepicker-calendar thead tr th span,\n.forminator-calendar--material .ui-datepicker-calendar tbody tr td a,\n.forminator-calendar--material .ui-datepicker-calendar tbody tr td span {\n width: 40px;\n height: 40px;\n}\n\n.forminator-calendar--material .ui-datepicker-calendar thead tr th a,\n.forminator-calendar--material .ui-datepicker-calendar thead tr th span,\n.forminator-calendar--material .ui-datepicker-calendar tbody tr td a,\n.forminator-calendar--material .ui-datepicker-calendar tbody tr td span {\n border-radius: 50%;\n}\n\n.forminator-calendar--material .ui-datepicker-calendar thead tr th a,\n.forminator-calendar--material .ui-datepicker-calendar tbody tr td a {\n transition: 0.25s ease;\n}\n\n.forminator-custom-form.forminator-design--material {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--material:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-custom-form.forminator-design--material:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material {\n margin: 30px auto;\n }\n}\n\n.forminator-custom-form.forminator-design--material * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--material a.forminator-button,\n.forminator-custom-form.forminator-design--material button.forminator-button {\n width: 100%;\n cursor: pointer;\n display: block;\n margin: 20px 0;\n border: 0;\n text-align: center;\n text-transform: none;\n overflow: hidden;\n position: relative;\n padding: 10px;\n border-radius: 2px;\n line-height: 20px;\n transition: 0.25s ease;\n}\n\n.forminator-custom-form.forminator-design--material a.forminator-button,\n.forminator-custom-form.forminator-design--material a.forminator-button:hover,\n.forminator-custom-form.forminator-design--material a.forminator-button:active,\n.forminator-custom-form.forminator-design--material a.forminator-button:visited,\n.forminator-custom-form.forminator-design--material a.forminator-button:disabled,\n.forminator-custom-form.forminator-design--material button.forminator-button,\n.forminator-custom-form.forminator-design--material button.forminator-button:hover,\n.forminator-custom-form.forminator-design--material button.forminator-button:active,\n.forminator-custom-form.forminator-design--material button.forminator-button:visited,\n.forminator-custom-form.forminator-design--material button.forminator-button:disabled {\n outline: none;\n box-shadow: none;\n text-decoration: none;\n}\n\n.forminator-custom-form.forminator-design--material a.forminator-button,\n.forminator-custom-form.forminator-design--material a.forminator-button:hover,\n.forminator-custom-form.forminator-design--material a.forminator-button:active,\n.forminator-custom-form.forminator-design--material a.forminator-button:visited,\n.forminator-custom-form.forminator-design--material button.forminator-button,\n.forminator-custom-form.forminator-design--material button.forminator-button:hover,\n.forminator-custom-form.forminator-design--material button.forminator-button:active,\n.forminator-custom-form.forminator-design--material button.forminator-button:visited {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-custom-form.forminator-design--material a.forminator-button:disabled,\n.forminator-custom-form.forminator-design--material button.forminator-button:disabled {\n filter: alpha(opacity=25);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=25);\n opacity: .25;\n -khtml-opacity: .25;\n}\n\n.forminator-custom-form.forminator-design--material a.forminator-button:first-child,\n.forminator-custom-form.forminator-design--material button.forminator-button:first-child {\n margin-top: 0;\n}\n\n.forminator-custom-form.forminator-design--material a.forminator-button:last-child,\n.forminator-custom-form.forminator-design--material button.forminator-button:last-child {\n margin-bottom: 0;\n}\n\n.forminator-custom-form.forminator-design--material a.forminator-button .forminator-button--mask,\n.forminator-custom-form.forminator-design--material a.forminator-button .forminator-button--text,\n.forminator-custom-form.forminator-design--material button.forminator-button .forminator-button--mask,\n.forminator-custom-form.forminator-design--material button.forminator-button .forminator-button--text {\n display: block;\n}\n\n.forminator-custom-form.forminator-design--material a.forminator-button .forminator-button--mask,\n.forminator-custom-form.forminator-design--material button.forminator-button .forminator-button--mask {\n width: 0;\n position: absolute;\n top: 50%;\n left: 50%;\n padding: 0;\n border-radius: 100%;\n background-color: rgba(0,0,0,0.12);\n transform: translate(-50%, -50%);\n transition: width 450ms cubic-bezier(0.23, 1, 0.32, 1),0.2s ease-out;\n}\n\n.forminator-custom-form.forminator-design--material a.forminator-button:active,\n.forminator-custom-form.forminator-design--material button.forminator-button:active {\n box-shadow: 0 1px 4px 0 rgba(0,0,0,0.6);\n}\n\n.forminator-custom-form.forminator-design--material a.forminator-button:active .forminator-button--mask,\n.forminator-custom-form.forminator-design--material button.forminator-button:active .forminator-button--mask {\n width: 120%;\n padding: 120% 0 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material:not(.forminator-size--small) a.forminator-button:first-child,\n .forminator-custom-form.forminator-design--material:not(.forminator-size--small) button.forminator-button:first-child {\n margin-left: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material:not(.forminator-size--small) a.forminator-button:last-child,\n .forminator-custom-form.forminator-design--material:not(.forminator-size--small) button.forminator-button:last-child {\n margin-right: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material:not(.forminator-size--small) a.forminator-button,\n .forminator-custom-form.forminator-design--material:not(.forminator-size--small) button.forminator-button {\n width: auto;\n min-width: 100px;\n display: inline-block;\n margin: 0 15px;\n }\n}\n\n.forminator-custom-form.forminator-design--material {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--material:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-custom-form.forminator-design--material:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material {\n margin: 30px auto;\n }\n}\n\n.forminator-custom-form.forminator-design--material * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-pagination--bar {\n width: 100%;\n display: flex;\n align-items: center;\n margin-bottom: 20px;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-pagination--bar .forminator-bar--text {\n flex: 0 0 auto;\n margin: 0 10px;\n line-height: 8px;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-pagination--bar .forminator-bar--text:first-child {\n margin-left: 0;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-pagination--bar .forminator-bar--text:last-child {\n margin-right: 0;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-pagination--bar .forminator-bar--progress {\n overflow: hidden;\n flex: 1;\n position: relative;\n margin: 0;\n height: 8px;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-pagination--bar .forminator-bar--progress span {\n display: block;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-pagination--nav {\n margin: 0 0 20px;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-pagination--nav,\n.forminator-custom-form.forminator-design--material .forminator-pagination--nav li {\n display: block;\n position: relative;\n padding: 0;\n border: 0;\n list-style: none;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-pagination--nav:before {\n content: \" \";\n height: auto;\n position: absolute;\n width: 1px;\n top: 10px;\n bottom: 10px;\n left: 10px;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-pagination--nav li {\n margin: 10px 0;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-pagination--nav li:first-child {\n margin-top: 0;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-pagination--nav li:last-child {\n margin-bottom: 0;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-pagination--footer {\n margin-top: 20px;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material:not(.forminator-size--small) .forminator-pagination--bar .forminator-bar--text:first-child {\n margin-left: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material:not(.forminator-size--small) .forminator-pagination--bar .forminator-bar--text:last-child {\n margin-right: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material:not(.forminator-size--small) .forminator-pagination--bar .forminator-bar--text {\n margin: 0 15px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material:not(.forminator-size--small) .forminator-pagination--bar {\n margin-bottom: 30px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material:not(.forminator-size--small) .forminator-pagination--nav:before {\n content: unset;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material:not(.forminator-size--small) .forminator-pagination--nav {\n margin: 0 0 30px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material:not(.forminator-size--small) .forminator-pagination--footer {\n display: flex;\n justify-content: space-between;\n margin-top: 30px;\n }\n}\n\n.forminator-custom-form.forminator-design--material .forminator-pagination--nav {\n position: relative;\n counter-reset: pagination-steps;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-pagination--nav li {\n display: flex;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-pagination--nav li:before {\n content: \"(\";\n counter-increment: pagination-steps;\n margin-right: 10px;\n border-radius: 50%;\n text-align: center;\n width: 21px;\n height: 21px;\n font-size: 10.5px;\n line-height: 21px;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-pagination--nav li .forminator-step-text {\n align-self: center;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-pagination--nav li.forminator-step-current:before {\n content: counter(pagination-steps);\n font-family: inherit !important;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-pagination--nav li.forminator-step-current ~ li:before {\n content: counter(pagination-steps);\n font-family: inherit !important;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material:not(.forminator-size--small) .forminator-pagination--nav li {\n flex: 0 0 auto;\n margin: 0;\n padding: 0 15px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material:not(.forminator-size--small) .forminator-pagination--nav .forminator-nav-border:not(:last-child) {\n flex: 1;\n height: 1px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--material:not(.forminator-size--small) .forminator-pagination--nav {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n margin: 0 -15px 30px;\n }\n}\n\n.forminator-custom-form.forminator-design--material .forminator-pagination--bar .forminator-bar--progress {\n background-color: #EDEDED;\n}\n\n.forminator-custom-form.forminator-design--material .forminator-pagination--bar .forminator-bar--progress span {\n background-color: #17A8E3;\n}\n\n.forminator-poll {\n box-sizing: border-box;\n}\n\n.forminator-poll * {\n box-sizing: border-box;\n}\n\n.forminator-poll .forminator-poll--image {\n max-width: 100%;\n height: auto;\n}\n\n.forminator-poll .forminator-label--info {\n height: auto;\n cursor: default;\n display: block;\n position: relative;\n margin: 20px 0;\n padding: 14px;\n border-radius: 4px;\n transition: height 0.3s linear, opacity 0.3s ease;\n background-color: #F8F8F8;\n color: #888;\n}\n\n.forminator-poll .forminator-label--info:before {\n width: 16px;\n height: 16px;\n display: block;\n position: absolute;\n top: 16px;\n left: 14px;\n font-size: 16px;\n text-align: center;\n}\n\n.forminator-poll .forminator-label--info:before {\n content: \"I\";\n color: #888;\n}\n\n.forminator-poll .forminator-label--info * {\n color: inherit;\n}\n\n.forminator-poll .forminator-label--info>span,\n.forminator-poll .forminator-label--info>div {\n cursor: initial;\n display: block;\n padding-left: 30px;\n}\n\n.forminator-poll .forminator-label--info,\n.forminator-poll .forminator-label--info p {\n font-size: 13px;\n line-height: 20px;\n font-family: \"Roboto\",Arial,sans-serif;\n font-weight: 400;\n letter-spacing: -.0025em;\n}\n\n.forminator-poll .forminator-label--info strong,\n.forminator-poll .forminator-label--info p strong {\n font-weight: bold;\n}\n\n.forminator-poll .forminator-label--info:first-child {\n margin-top: 0;\n}\n\n.forminator-poll .forminator-label--info:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll .forminator-label--info {\n margin: 30px 0;\n }\n}\n\n.forminator-poll .forminator-label--error {\n height: auto;\n cursor: default;\n display: block;\n position: relative;\n margin: 20px 0;\n padding: 14px;\n border-radius: 4px;\n transition: height 0.3s linear, opacity 0.3s ease;\n background-color: #CB4B57;\n color: #fff;\n}\n\n.forminator-poll .forminator-label--error:before {\n width: 16px;\n height: 16px;\n display: block;\n position: absolute;\n top: 16px;\n left: 14px;\n font-size: 16px;\n text-align: center;\n}\n\n.forminator-poll .forminator-label--error:before {\n content: \"!\";\n color: #fff;\n}\n\n.forminator-poll .forminator-label--error * {\n color: inherit;\n}\n\n.forminator-poll .forminator-label--error>span,\n.forminator-poll .forminator-label--error>div {\n cursor: initial;\n display: block;\n padding-left: 30px;\n}\n\n.forminator-poll .forminator-label--error,\n.forminator-poll .forminator-label--error p {\n font-size: 13px;\n line-height: 20px;\n font-family: \"Roboto\",Arial,sans-serif;\n font-weight: 400;\n letter-spacing: -.0025em;\n}\n\n.forminator-poll .forminator-label--error strong,\n.forminator-poll .forminator-label--error p strong {\n font-weight: bold;\n}\n\n.forminator-poll .forminator-label--error:first-child {\n margin-top: 0;\n}\n\n.forminator-poll .forminator-label--error:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll .forminator-label--error {\n margin: 30px 0;\n }\n}\n\n.forminator-poll .forminator-label--notice {\n height: auto;\n cursor: default;\n display: block;\n position: relative;\n margin: 20px 0;\n padding: 14px;\n border-radius: 4px;\n transition: height 0.3s linear, opacity 0.3s ease;\n background-color: #FFF4D2;\n color: #333;\n}\n\n.forminator-poll .forminator-label--notice:before {\n width: 16px;\n height: 16px;\n display: block;\n position: absolute;\n top: 16px;\n left: 14px;\n font-size: 16px;\n text-align: center;\n}\n\n.forminator-poll .forminator-label--notice:before {\n content: \"I\";\n color: #333;\n}\n\n.forminator-poll .forminator-label--notice * {\n color: inherit;\n}\n\n.forminator-poll .forminator-label--notice>span,\n.forminator-poll .forminator-label--notice>div {\n cursor: initial;\n display: block;\n padding-left: 30px;\n}\n\n.forminator-poll .forminator-label--notice,\n.forminator-poll .forminator-label--notice p {\n font-size: 13px;\n line-height: 20px;\n font-family: \"Roboto\",Arial,sans-serif;\n font-weight: 400;\n letter-spacing: -.0025em;\n}\n\n.forminator-poll .forminator-label--notice strong,\n.forminator-poll .forminator-label--notice p strong {\n font-weight: bold;\n}\n\n.forminator-poll .forminator-label--notice:first-child {\n margin-top: 0;\n}\n\n.forminator-poll .forminator-label--notice:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll .forminator-label--notice {\n margin: 30px 0;\n }\n}\n\n.forminator-poll .forminator-label--success {\n height: auto;\n cursor: default;\n display: block;\n position: relative;\n margin: 20px 0;\n padding: 14px;\n border-radius: 4px;\n transition: height 0.3s linear, opacity 0.3s ease;\n background-color: #1ABC9C;\n color: #fff;\n}\n\n.forminator-poll .forminator-label--success:before {\n width: 16px;\n height: 16px;\n display: block;\n position: absolute;\n top: 16px;\n left: 14px;\n font-size: 16px;\n text-align: center;\n}\n\n.forminator-poll .forminator-label--success:before {\n content: \"(\";\n color: #fff;\n}\n\n.forminator-poll .forminator-label--success * {\n color: inherit;\n}\n\n.forminator-poll .forminator-label--success>span,\n.forminator-poll .forminator-label--success>div {\n cursor: initial;\n display: block;\n padding-left: 30px;\n}\n\n.forminator-poll .forminator-label--success,\n.forminator-poll .forminator-label--success p {\n font-size: 13px;\n line-height: 20px;\n font-family: \"Roboto\",Arial,sans-serif;\n font-weight: 400;\n letter-spacing: -.0025em;\n}\n\n.forminator-poll .forminator-label--success strong,\n.forminator-poll .forminator-label--success p strong {\n font-weight: bold;\n}\n\n.forminator-poll .forminator-label--success:first-child {\n margin-top: 0;\n}\n\n.forminator-poll .forminator-label--success:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll .forminator-label--success {\n margin: 30px 0;\n }\n}\n\n.forminator-poll .forminator-label--loading {\n height: auto;\n cursor: default;\n display: block;\n position: relative;\n margin: 20px 0;\n padding: 14px;\n border-radius: 4px;\n transition: height 0.3s linear, opacity 0.3s ease;\n background-color: #D4EEF9;\n color: #888;\n}\n\n.forminator-poll .forminator-label--loading:before {\n width: 16px;\n height: 16px;\n display: block;\n position: absolute;\n top: 16px;\n left: 14px;\n font-size: 16px;\n text-align: center;\n}\n\n.forminator-poll .forminator-label--loading:before {\n width: 18px;\n height: 18px;\n border: 2px solid #fff;\n border-bottom-color: transparent;\n border-radius: 100%;\n box-sizing: border-box;\n animation: spin .75s 0s linear infinite;\n}\n\n.forminator-poll .forminator-label--loading * {\n color: inherit;\n}\n\n.forminator-poll .forminator-label--loading>span,\n.forminator-poll .forminator-label--loading>div {\n cursor: initial;\n display: block;\n padding-left: 30px;\n}\n\n.forminator-poll .forminator-label--loading,\n.forminator-poll .forminator-label--loading p {\n font-size: 13px;\n line-height: 20px;\n font-family: \"Roboto\",Arial,sans-serif;\n font-weight: 400;\n letter-spacing: -.0025em;\n}\n\n.forminator-poll .forminator-label--loading strong,\n.forminator-poll .forminator-label--loading p strong {\n font-weight: bold;\n}\n\n.forminator-poll .forminator-label--loading:first-child {\n margin-top: 0;\n}\n\n.forminator-poll .forminator-label--loading:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll .forminator-label--loading {\n margin: 30px 0;\n }\n}\n\n.forminator-poll .forminator-poll--chart {\n max-width: 100%;\n height: auto;\n display: block;\n}\n\n.forminator-poll.forminator-design--bold {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--bold:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--bold:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-poll.forminator-design--bold:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--bold:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--bold {\n margin: 30px auto;\n }\n}\n\n.forminator-poll.forminator-design--bold * {\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--bold .forminator-poll--question {\n margin: 0 0 10px;\n padding: 0;\n border: 0;\n font-size: 21px;\n line-height: 30px;\n font-weight: bold;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--bold:not(.forminator-size--small) .forminator-poll--question {\n margin: 0 0 15px;\n }\n}\n\n.forminator-poll.forminator-design--bold {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--bold:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--bold:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-poll.forminator-design--bold:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--bold:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--bold {\n margin: 30px auto;\n }\n}\n\n.forminator-poll.forminator-design--bold * {\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--bold .forminator-poll--description {\n margin: 0 0 10px;\n padding: 0;\n border: 0;\n font-size: 15px;\n line-height: 20px;\n font-weight: normal;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--bold:not(.forminator-size--small) .forminator-poll--description {\n margin: 0 0 15px;\n }\n}\n\n.forminator-poll.forminator-design--bold {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--bold:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--bold:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-poll.forminator-design--bold:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--bold:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--bold {\n margin: 30px auto;\n }\n}\n\n.forminator-poll.forminator-design--bold * {\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--bold .forminator-poll--answers {\n margin: 0;\n}\n\n.forminator-poll.forminator-design--bold .forminator-poll--answers,\n.forminator-poll.forminator-design--bold .forminator-poll--answers li {\n padding: 0;\n border: 0;\n list-style: none;\n}\n\n.forminator-poll.forminator-design--bold .forminator-poll--answers li {\n margin: 10px 0;\n}\n\n.forminator-poll.forminator-design--bold .forminator-poll--answers li:first-child {\n margin-top: 0;\n}\n\n.forminator-poll.forminator-design--bold .forminator-poll--answers li:last-child {\n margin-bottom: 0;\n}\n\n.forminator-poll.forminator-design--bold {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--bold:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--bold:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-poll.forminator-design--bold:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--bold:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--bold {\n margin: 30px auto;\n }\n}\n\n.forminator-poll.forminator-design--bold * {\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--bold .forminator-radio {\n display: flex;\n position: relative;\n margin: 5px 0;\n}\n\n.forminator-poll.forminator-design--bold .forminator-radio input:checked+.forminator-radio--design:before {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-poll.forminator-design--bold .forminator-radio .forminator-radio--design {\n cursor: pointer;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n margin: 0;\n padding: 0;\n}\n\n.forminator-poll.forminator-design--bold .forminator-radio .forminator-radio--design:before {\n filter: alpha(opacity=0);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);\n opacity: 0;\n -khtml-opacity: 0;\n display: block;\n}\n\n.forminator-poll.forminator-design--bold .forminator-radio .forminator-radio--design+.forminator-radio--label {\n margin-left: 10px;\n}\n\n.forminator-poll.forminator-design--bold .forminator-radio .forminator-radio--label {\n cursor: default;\n display: block;\n margin: 0;\n padding: 0;\n border: 0;\n letter-spacing: 0;\n}\n\n.forminator-poll.forminator-design--bold .forminator-radio .forminator-radio--label[for] {\n cursor: pointer;\n}\n\n.forminator-poll.forminator-design--bold .forminator-radio .forminator-radio--design {\n width: 20px;\n height: 20px;\n flex: 0 0 20px;\n border-width: 3px;\n border-style: solid;\n transition: 0.3s ease;\n}\n\n.forminator-poll.forminator-design--bold .forminator-radio .forminator-radio--label {\n line-height: 20px;\n}\n\n.forminator-poll.forminator-design--bold .forminator-radio .forminator-radio--design:before {\n width: 8px;\n height: 8px;\n}\n\n.forminator-poll.forminator-design--bold .forminator-radio .forminator-radio--design {\n border-radius: 100%;\n}\n\n.forminator-poll.forminator-design--bold .forminator-radio .forminator-radio--design:before {\n content: \" \";\n border-radius: 100%;\n}\n\n.forminator-poll.forminator-design--bold {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--bold:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--bold:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-poll.forminator-design--bold:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--bold:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--bold {\n margin: 30px auto;\n }\n}\n\n.forminator-poll.forminator-design--bold * {\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--bold .forminator-input,\n.forminator-poll.forminator-design--bold .forminator-textarea {\n width: 100%;\n max-width: 100%;\n display: block;\n margin: 0;\n padding: 0;\n border: 0;\n background-image: unset;\n}\n\n.forminator-poll.forminator-design--bold .forminator-input,\n.forminator-poll.forminator-design--bold .forminator-input:hover,\n.forminator-poll.forminator-design--bold .forminator-input:focus,\n.forminator-poll.forminator-design--bold .forminator-input:active,\n.forminator-poll.forminator-design--bold .forminator-input:disabled,\n.forminator-poll.forminator-design--bold .forminator-textarea,\n.forminator-poll.forminator-design--bold .forminator-textarea:hover,\n.forminator-poll.forminator-design--bold .forminator-textarea:focus,\n.forminator-poll.forminator-design--bold .forminator-textarea:active,\n.forminator-poll.forminator-design--bold .forminator-textarea:disabled {\n outline: none;\n box-shadow: none;\n}\n\n.forminator-poll.forminator-design--bold .forminator-input,\n.forminator-poll.forminator-design--bold .forminator-input:hover,\n.forminator-poll.forminator-design--bold .forminator-input:focus,\n.forminator-poll.forminator-design--bold .forminator-input:active,\n.forminator-poll.forminator-design--bold .forminator-textarea,\n.forminator-poll.forminator-design--bold .forminator-textarea:hover,\n.forminator-poll.forminator-design--bold .forminator-textarea:focus,\n.forminator-poll.forminator-design--bold .forminator-textarea:active {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-poll.forminator-design--bold .forminator-input:disabled,\n.forminator-poll.forminator-design--bold .forminator-textarea:disabled {\n pointer-events: none;\n border-style: dotted;\n}\n\n.forminator-poll.forminator-design--bold .forminator-input:disabled:-moz-placeholder,\n.forminator-poll.forminator-design--bold .forminator-textarea:disabled:-moz-placeholder {\n filter: alpha(opacity=40);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);\n opacity: .4;\n -khtml-opacity: .4;\n}\n\n.forminator-poll.forminator-design--bold .forminator-input:disabled::-moz-placeholder,\n.forminator-poll.forminator-design--bold .forminator-textarea:disabled::-moz-placeholder {\n filter: alpha(opacity=40);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);\n opacity: .4;\n -khtml-opacity: .4;\n}\n\n.forminator-poll.forminator-design--bold .forminator-input:disabled:-ms-input-placeholder,\n.forminator-poll.forminator-design--bold .forminator-textarea:disabled:-ms-input-placeholder {\n filter: alpha(opacity=40);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);\n opacity: .4;\n -khtml-opacity: .4;\n}\n\n.forminator-poll.forminator-design--bold .forminator-input:disabled::-webkit-input-placeholder,\n.forminator-poll.forminator-design--bold .forminator-textarea:disabled::-webkit-input-placeholder {\n filter: alpha(opacity=40);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);\n opacity: .4;\n -khtml-opacity: .4;\n}\n\n.forminator-poll.forminator-design--bold .forminator-textarea {\n height: auto;\n min-height: 140px;\n resize: vertical;\n}\n\n.forminator-poll.forminator-design--bold .intl-tel-input {\n display: block;\n}\n\n.forminator-poll.forminator-design--bold .forminator-input,\n.forminator-poll.forminator-design--bold .forminator-textarea {\n line-height: 20px;\n transition: 0.3s ease;\n}\n\n.forminator-poll.forminator-design--bold .forminator-input {\n padding: 7px;\n border-width: 3px;\n border-style: solid;\n border-radius: 0;\n}\n\n.forminator-poll.forminator-design--bold .forminator-textarea {\n padding: 7px;\n border-width: 3px;\n border-style: solid;\n border-radius: 0;\n}\n\n.forminator-poll.forminator-design--bold .forminator-input {\n height: 40px;\n}\n\n.forminator-poll.forminator-design--bold {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--bold:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--bold:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-poll.forminator-design--bold:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--bold:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--bold {\n margin: 30px auto;\n }\n}\n\n.forminator-poll.forminator-design--bold * {\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--bold .forminator-poll--actions {\n margin: 20px 0 0;\n text-align: center;\n}\n\n.forminator-poll.forminator-design--bold .forminator-poll--actions a:not(.forminator-button) {\n margin: 0;\n font-size: 14px;\n line-height: 20px;\n font-weight: bold;\n}\n\n.forminator-poll.forminator-design--bold .forminator-poll--actions a:not(.forminator-button),\n.forminator-poll.forminator-design--bold .forminator-poll--actions a:not(.forminator-button):hover,\n.forminator-poll.forminator-design--bold .forminator-poll--actions a:not(.forminator-button):active,\n.forminator-poll.forminator-design--bold .forminator-poll--actions a:not(.forminator-button):visited {\n outline: none;\n box-shadow: none;\n text-decoration: none;\n}\n\n.forminator-poll.forminator-design--bold .forminator-poll--actions a.forminator-button,\n.forminator-poll.forminator-design--bold .forminator-poll--actions button.forminator-button {\n padding: 12px;\n border-radius: 0;\n font-size: 14px;\n line-height: 20px;\n font-weight: bold;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--bold:not(.forminator-size--small) .forminator-poll--actions a:not(.forminator-button) {\n flex: 0 0 auto;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--bold:not(.forminator-size--small) .forminator-poll--actions {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n margin: 30px 0 0;\n }\n}\n\n.forminator-poll.forminator-design--bold {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--bold:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--bold:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-poll.forminator-design--bold:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--bold:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--bold {\n margin: 30px auto;\n }\n}\n\n.forminator-poll.forminator-design--bold * {\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--bold a.forminator-button,\n.forminator-poll.forminator-design--bold button.forminator-button {\n width: 100%;\n cursor: pointer;\n display: block;\n margin: 20px 0;\n border: 0;\n text-align: center;\n text-transform: none;\n padding: 12px;\n border-radius: 0;\n line-height: 20px;\n transition: 0.3s ease;\n}\n\n.forminator-poll.forminator-design--bold a.forminator-button,\n.forminator-poll.forminator-design--bold a.forminator-button:hover,\n.forminator-poll.forminator-design--bold a.forminator-button:active,\n.forminator-poll.forminator-design--bold a.forminator-button:visited,\n.forminator-poll.forminator-design--bold a.forminator-button:disabled,\n.forminator-poll.forminator-design--bold button.forminator-button,\n.forminator-poll.forminator-design--bold button.forminator-button:hover,\n.forminator-poll.forminator-design--bold button.forminator-button:active,\n.forminator-poll.forminator-design--bold button.forminator-button:visited,\n.forminator-poll.forminator-design--bold button.forminator-button:disabled {\n outline: none;\n box-shadow: none;\n text-decoration: none;\n}\n\n.forminator-poll.forminator-design--bold a.forminator-button,\n.forminator-poll.forminator-design--bold a.forminator-button:hover,\n.forminator-poll.forminator-design--bold a.forminator-button:active,\n.forminator-poll.forminator-design--bold a.forminator-button:visited,\n.forminator-poll.forminator-design--bold button.forminator-button,\n.forminator-poll.forminator-design--bold button.forminator-button:hover,\n.forminator-poll.forminator-design--bold button.forminator-button:active,\n.forminator-poll.forminator-design--bold button.forminator-button:visited {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-poll.forminator-design--bold a.forminator-button:disabled,\n.forminator-poll.forminator-design--bold button.forminator-button:disabled {\n filter: alpha(opacity=25);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=25);\n opacity: .25;\n -khtml-opacity: .25;\n}\n\n.forminator-poll.forminator-design--bold a.forminator-button:first-child,\n.forminator-poll.forminator-design--bold button.forminator-button:first-child {\n margin-top: 0;\n}\n\n.forminator-poll.forminator-design--bold a.forminator-button:last-child,\n.forminator-poll.forminator-design--bold button.forminator-button:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--bold:not(.forminator-size--small) a.forminator-button:first-child,\n .forminator-poll.forminator-design--bold:not(.forminator-size--small) button.forminator-button:first-child {\n margin-left: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--bold:not(.forminator-size--small) a.forminator-button:last-child,\n .forminator-poll.forminator-design--bold:not(.forminator-size--small) button.forminator-button:last-child {\n margin-right: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--bold:not(.forminator-size--small) a.forminator-button,\n .forminator-poll.forminator-design--bold:not(.forminator-size--small) button.forminator-button {\n width: auto;\n min-width: 100px;\n display: inline-block;\n margin: 0 15px;\n }\n}\n\n.forminator-poll.forminator-design--flat {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--flat:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--flat:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-poll.forminator-design--flat:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--flat:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--flat {\n margin: 30px auto;\n }\n}\n\n.forminator-poll.forminator-design--flat * {\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--flat .forminator-poll--question {\n margin: 0 0 10px;\n padding: 0;\n border: 0;\n font-size: 15px;\n line-height: 20px;\n font-weight: bold;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--flat:not(.forminator-size--small) .forminator-poll--question {\n margin: 0 0 15px;\n }\n}\n\n.forminator-poll.forminator-design--flat {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--flat:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--flat:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-poll.forminator-design--flat:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--flat:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--flat {\n margin: 30px auto;\n }\n}\n\n.forminator-poll.forminator-design--flat * {\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--flat .forminator-poll--description {\n margin: 0 0 10px;\n padding: 0;\n border: 0;\n font-size: 13px;\n line-height: 18px;\n font-weight: normal;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--flat:not(.forminator-size--small) .forminator-poll--description {\n margin: 0 0 15px;\n }\n}\n\n.forminator-poll.forminator-design--flat {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--flat:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--flat:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-poll.forminator-design--flat:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--flat:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--flat {\n margin: 30px auto;\n }\n}\n\n.forminator-poll.forminator-design--flat * {\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--flat .forminator-poll--answers {\n margin: 0;\n}\n\n.forminator-poll.forminator-design--flat .forminator-poll--answers,\n.forminator-poll.forminator-design--flat .forminator-poll--answers li {\n padding: 0;\n border: 0;\n list-style: none;\n}\n\n.forminator-poll.forminator-design--flat .forminator-poll--answers li {\n margin: 10px 0;\n}\n\n.forminator-poll.forminator-design--flat .forminator-poll--answers li:first-child {\n margin-top: 0;\n}\n\n.forminator-poll.forminator-design--flat .forminator-poll--answers li:last-child {\n margin-bottom: 0;\n}\n\n.forminator-poll.forminator-design--flat {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--flat:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--flat:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-poll.forminator-design--flat:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--flat:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--flat {\n margin: 30px auto;\n }\n}\n\n.forminator-poll.forminator-design--flat * {\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--flat .forminator-radio {\n display: flex;\n position: relative;\n margin: 5px 0;\n}\n\n.forminator-poll.forminator-design--flat .forminator-radio input:checked+.forminator-radio--design:before {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-poll.forminator-design--flat .forminator-radio .forminator-radio--design {\n cursor: pointer;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n margin: 0;\n padding: 0;\n}\n\n.forminator-poll.forminator-design--flat .forminator-radio .forminator-radio--design:before {\n filter: alpha(opacity=0);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);\n opacity: 0;\n -khtml-opacity: 0;\n display: block;\n}\n\n.forminator-poll.forminator-design--flat .forminator-radio .forminator-radio--design+.forminator-radio--label {\n margin-left: 10px;\n}\n\n.forminator-poll.forminator-design--flat .forminator-radio .forminator-radio--label {\n cursor: default;\n display: block;\n margin: 0;\n padding: 0;\n border: 0;\n letter-spacing: 0;\n}\n\n.forminator-poll.forminator-design--flat .forminator-radio .forminator-radio--label[for] {\n cursor: pointer;\n}\n\n.forminator-poll.forminator-design--flat .forminator-radio .forminator-radio--design {\n width: 20px;\n height: 20px;\n flex: 0 0 20px;\n border: 0;\n transition: 0.25s ease;\n}\n\n.forminator-poll.forminator-design--flat .forminator-radio .forminator-radio--label {\n line-height: 20px;\n}\n\n.forminator-poll.forminator-design--flat .forminator-radio .forminator-radio--design:before {\n width: 12px;\n height: 12px;\n}\n\n.forminator-poll.forminator-design--flat .forminator-radio .forminator-radio--design {\n border-radius: 100%;\n}\n\n.forminator-poll.forminator-design--flat .forminator-radio .forminator-radio--design:before {\n content: \" \";\n border-radius: 100%;\n}\n\n.forminator-poll.forminator-design--flat {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--flat:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--flat:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-poll.forminator-design--flat:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--flat:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--flat {\n margin: 30px auto;\n }\n}\n\n.forminator-poll.forminator-design--flat * {\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--flat .forminator-input,\n.forminator-poll.forminator-design--flat .forminator-textarea {\n width: 100%;\n max-width: 100%;\n display: block;\n margin: 0;\n padding: 0;\n border: 0;\n background-image: unset;\n}\n\n.forminator-poll.forminator-design--flat .forminator-input,\n.forminator-poll.forminator-design--flat .forminator-input:hover,\n.forminator-poll.forminator-design--flat .forminator-input:focus,\n.forminator-poll.forminator-design--flat .forminator-input:active,\n.forminator-poll.forminator-design--flat .forminator-input:disabled,\n.forminator-poll.forminator-design--flat .forminator-textarea,\n.forminator-poll.forminator-design--flat .forminator-textarea:hover,\n.forminator-poll.forminator-design--flat .forminator-textarea:focus,\n.forminator-poll.forminator-design--flat .forminator-textarea:active,\n.forminator-poll.forminator-design--flat .forminator-textarea:disabled {\n outline: none;\n box-shadow: none;\n}\n\n.forminator-poll.forminator-design--flat .forminator-input,\n.forminator-poll.forminator-design--flat .forminator-input:hover,\n.forminator-poll.forminator-design--flat .forminator-input:focus,\n.forminator-poll.forminator-design--flat .forminator-input:active,\n.forminator-poll.forminator-design--flat .forminator-textarea,\n.forminator-poll.forminator-design--flat .forminator-textarea:hover,\n.forminator-poll.forminator-design--flat .forminator-textarea:focus,\n.forminator-poll.forminator-design--flat .forminator-textarea:active {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-poll.forminator-design--flat .forminator-input:disabled,\n.forminator-poll.forminator-design--flat .forminator-textarea:disabled {\n pointer-events: none;\n border-style: dotted;\n}\n\n.forminator-poll.forminator-design--flat .forminator-input:disabled:-moz-placeholder,\n.forminator-poll.forminator-design--flat .forminator-textarea:disabled:-moz-placeholder {\n filter: alpha(opacity=40);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);\n opacity: .4;\n -khtml-opacity: .4;\n}\n\n.forminator-poll.forminator-design--flat .forminator-input:disabled::-moz-placeholder,\n.forminator-poll.forminator-design--flat .forminator-textarea:disabled::-moz-placeholder {\n filter: alpha(opacity=40);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);\n opacity: .4;\n -khtml-opacity: .4;\n}\n\n.forminator-poll.forminator-design--flat .forminator-input:disabled:-ms-input-placeholder,\n.forminator-poll.forminator-design--flat .forminator-textarea:disabled:-ms-input-placeholder {\n filter: alpha(opacity=40);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);\n opacity: .4;\n -khtml-opacity: .4;\n}\n\n.forminator-poll.forminator-design--flat .forminator-input:disabled::-webkit-input-placeholder,\n.forminator-poll.forminator-design--flat .forminator-textarea:disabled::-webkit-input-placeholder {\n filter: alpha(opacity=40);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);\n opacity: .4;\n -khtml-opacity: .4;\n}\n\n.forminator-poll.forminator-design--flat .forminator-textarea {\n height: auto;\n min-height: 140px;\n resize: vertical;\n}\n\n.forminator-poll.forminator-design--flat .intl-tel-input {\n display: block;\n}\n\n.forminator-poll.forminator-design--flat .forminator-input,\n.forminator-poll.forminator-design--flat .forminator-textarea {\n line-height: 20px;\n transition: 0.25s ease;\n}\n\n.forminator-poll.forminator-design--flat .forminator-input {\n padding: 10px;\n border: 0;\n border-radius: 0;\n}\n\n.forminator-poll.forminator-design--flat .forminator-textarea {\n padding: 10px;\n border-radius: 0;\n}\n\n.forminator-poll.forminator-design--flat .forminator-input {\n height: 40px;\n}\n\n.forminator-poll.forminator-design--flat {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--flat:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--flat:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-poll.forminator-design--flat:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--flat:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--flat {\n margin: 30px auto;\n }\n}\n\n.forminator-poll.forminator-design--flat * {\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--flat .forminator-poll--actions {\n margin: 20px 0 0;\n text-align: center;\n}\n\n.forminator-poll.forminator-design--flat .forminator-poll--actions a:not(.forminator-button) {\n margin: 0;\n font-size: 14px;\n line-height: 20px;\n font-weight: bold;\n}\n\n.forminator-poll.forminator-design--flat .forminator-poll--actions a:not(.forminator-button),\n.forminator-poll.forminator-design--flat .forminator-poll--actions a:not(.forminator-button):hover,\n.forminator-poll.forminator-design--flat .forminator-poll--actions a:not(.forminator-button):active,\n.forminator-poll.forminator-design--flat .forminator-poll--actions a:not(.forminator-button):visited {\n outline: none;\n box-shadow: none;\n text-decoration: none;\n}\n\n.forminator-poll.forminator-design--flat .forminator-poll--actions a.forminator-button,\n.forminator-poll.forminator-design--flat .forminator-poll--actions button.forminator-button {\n padding: 10px;\n border-radius: 0;\n font-size: 14px;\n line-height: 20px;\n font-weight: bold;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--flat:not(.forminator-size--small) .forminator-poll--actions a:not(.forminator-button) {\n flex: 0 0 auto;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--flat:not(.forminator-size--small) .forminator-poll--actions {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n margin: 30px 0 0;\n }\n}\n\n.forminator-poll.forminator-design--flat {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--flat:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--flat:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-poll.forminator-design--flat:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--flat:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--flat {\n margin: 30px auto;\n }\n}\n\n.forminator-poll.forminator-design--flat * {\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--flat a.forminator-button,\n.forminator-poll.forminator-design--flat button.forminator-button {\n width: 100%;\n cursor: pointer;\n display: block;\n margin: 20px 0;\n border: 0;\n text-align: center;\n text-transform: none;\n padding: 10px;\n border-radius: 0;\n line-height: 20px;\n transition: 0.25s ease;\n}\n\n.forminator-poll.forminator-design--flat a.forminator-button,\n.forminator-poll.forminator-design--flat a.forminator-button:hover,\n.forminator-poll.forminator-design--flat a.forminator-button:active,\n.forminator-poll.forminator-design--flat a.forminator-button:visited,\n.forminator-poll.forminator-design--flat a.forminator-button:disabled,\n.forminator-poll.forminator-design--flat button.forminator-button,\n.forminator-poll.forminator-design--flat button.forminator-button:hover,\n.forminator-poll.forminator-design--flat button.forminator-button:active,\n.forminator-poll.forminator-design--flat button.forminator-button:visited,\n.forminator-poll.forminator-design--flat button.forminator-button:disabled {\n outline: none;\n box-shadow: none;\n text-decoration: none;\n}\n\n.forminator-poll.forminator-design--flat a.forminator-button,\n.forminator-poll.forminator-design--flat a.forminator-button:hover,\n.forminator-poll.forminator-design--flat a.forminator-button:active,\n.forminator-poll.forminator-design--flat a.forminator-button:visited,\n.forminator-poll.forminator-design--flat button.forminator-button,\n.forminator-poll.forminator-design--flat button.forminator-button:hover,\n.forminator-poll.forminator-design--flat button.forminator-button:active,\n.forminator-poll.forminator-design--flat button.forminator-button:visited {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-poll.forminator-design--flat a.forminator-button:disabled,\n.forminator-poll.forminator-design--flat button.forminator-button:disabled {\n filter: alpha(opacity=25);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=25);\n opacity: .25;\n -khtml-opacity: .25;\n}\n\n.forminator-poll.forminator-design--flat a.forminator-button:first-child,\n.forminator-poll.forminator-design--flat button.forminator-button:first-child {\n margin-top: 0;\n}\n\n.forminator-poll.forminator-design--flat a.forminator-button:last-child,\n.forminator-poll.forminator-design--flat button.forminator-button:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--flat:not(.forminator-size--small) a.forminator-button:first-child,\n .forminator-poll.forminator-design--flat:not(.forminator-size--small) button.forminator-button:first-child {\n margin-left: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--flat:not(.forminator-size--small) a.forminator-button:last-child,\n .forminator-poll.forminator-design--flat:not(.forminator-size--small) button.forminator-button:last-child {\n margin-right: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--flat:not(.forminator-size--small) a.forminator-button,\n .forminator-poll.forminator-design--flat:not(.forminator-size--small) button.forminator-button {\n width: auto;\n min-width: 100px;\n display: inline-block;\n margin: 0 15px;\n }\n}\n\n.forminator-poll.forminator-design--default {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--default:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--default:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-poll.forminator-design--default:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--default:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--default {\n margin: 30px auto;\n }\n}\n\n.forminator-poll.forminator-design--default * {\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--default .forminator-poll--question {\n margin: 0 0 10px;\n padding: 0;\n border: 0;\n font-size: 15px;\n line-height: 20px;\n font-weight: bold;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--default:not(.forminator-size--small) .forminator-poll--question {\n margin: 0 0 15px;\n }\n}\n\n.forminator-poll.forminator-design--default {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--default:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--default:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-poll.forminator-design--default:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--default:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--default {\n margin: 30px auto;\n }\n}\n\n.forminator-poll.forminator-design--default * {\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--default .forminator-poll--description {\n margin: 0 0 10px;\n padding: 0;\n border: 0;\n font-size: 13px;\n line-height: 18px;\n font-weight: normal;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--default:not(.forminator-size--small) .forminator-poll--description {\n margin: 0 0 15px;\n }\n}\n\n.forminator-poll.forminator-design--default {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--default:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--default:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-poll.forminator-design--default:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--default:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--default {\n margin: 30px auto;\n }\n}\n\n.forminator-poll.forminator-design--default * {\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--default .forminator-poll--answers {\n margin: 0;\n}\n\n.forminator-poll.forminator-design--default .forminator-poll--answers,\n.forminator-poll.forminator-design--default .forminator-poll--answers li {\n padding: 0;\n border: 0;\n list-style: none;\n}\n\n.forminator-poll.forminator-design--default .forminator-poll--answers li {\n margin: 10px 0;\n}\n\n.forminator-poll.forminator-design--default .forminator-poll--answers li:first-child {\n margin-top: 0;\n}\n\n.forminator-poll.forminator-design--default .forminator-poll--answers li:last-child {\n margin-bottom: 0;\n}\n\n.forminator-poll.forminator-design--default {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--default:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--default:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-poll.forminator-design--default:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--default:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--default {\n margin: 30px auto;\n }\n}\n\n.forminator-poll.forminator-design--default * {\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--default .forminator-radio {\n display: flex;\n position: relative;\n margin: 5px 0;\n}\n\n.forminator-poll.forminator-design--default .forminator-radio input:checked+.forminator-radio--design:before {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-poll.forminator-design--default .forminator-radio .forminator-radio--design {\n cursor: pointer;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n margin: 0;\n padding: 0;\n}\n\n.forminator-poll.forminator-design--default .forminator-radio .forminator-radio--design:before {\n filter: alpha(opacity=0);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);\n opacity: 0;\n -khtml-opacity: 0;\n display: block;\n}\n\n.forminator-poll.forminator-design--default .forminator-radio .forminator-radio--design+.forminator-radio--label {\n margin-left: 10px;\n}\n\n.forminator-poll.forminator-design--default .forminator-radio .forminator-radio--label {\n cursor: default;\n display: block;\n margin: 0;\n padding: 0;\n border: 0;\n letter-spacing: 0;\n}\n\n.forminator-poll.forminator-design--default .forminator-radio .forminator-radio--label[for] {\n cursor: pointer;\n}\n\n.forminator-poll.forminator-design--default .forminator-radio .forminator-radio--design {\n width: 20px;\n height: 20px;\n flex: 0 0 20px;\n border-width: 1px;\n border-style: solid;\n border-radius: 2px;\n transition: 0.3s ease;\n}\n\n.forminator-poll.forminator-design--default .forminator-radio .forminator-radio--label {\n line-height: 20px;\n}\n\n.forminator-poll.forminator-design--default .forminator-radio .forminator-radio--design:before {\n width: 12px;\n height: 12px;\n}\n\n.forminator-poll.forminator-design--default .forminator-radio .forminator-radio--design {\n border-radius: 100%;\n}\n\n.forminator-poll.forminator-design--default .forminator-radio .forminator-radio--design:before {\n content: \" \";\n border-radius: 100%;\n}\n\n.forminator-poll.forminator-design--default {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--default:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--default:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-poll.forminator-design--default:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--default:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--default {\n margin: 30px auto;\n }\n}\n\n.forminator-poll.forminator-design--default * {\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--default .forminator-input,\n.forminator-poll.forminator-design--default .forminator-textarea {\n width: 100%;\n max-width: 100%;\n display: block;\n margin: 0;\n padding: 0;\n border: 0;\n background-image: unset;\n}\n\n.forminator-poll.forminator-design--default .forminator-input,\n.forminator-poll.forminator-design--default .forminator-input:hover,\n.forminator-poll.forminator-design--default .forminator-input:focus,\n.forminator-poll.forminator-design--default .forminator-input:active,\n.forminator-poll.forminator-design--default .forminator-input:disabled,\n.forminator-poll.forminator-design--default .forminator-textarea,\n.forminator-poll.forminator-design--default .forminator-textarea:hover,\n.forminator-poll.forminator-design--default .forminator-textarea:focus,\n.forminator-poll.forminator-design--default .forminator-textarea:active,\n.forminator-poll.forminator-design--default .forminator-textarea:disabled {\n outline: none;\n box-shadow: none;\n}\n\n.forminator-poll.forminator-design--default .forminator-input,\n.forminator-poll.forminator-design--default .forminator-input:hover,\n.forminator-poll.forminator-design--default .forminator-input:focus,\n.forminator-poll.forminator-design--default .forminator-input:active,\n.forminator-poll.forminator-design--default .forminator-textarea,\n.forminator-poll.forminator-design--default .forminator-textarea:hover,\n.forminator-poll.forminator-design--default .forminator-textarea:focus,\n.forminator-poll.forminator-design--default .forminator-textarea:active {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-poll.forminator-design--default .forminator-input:disabled,\n.forminator-poll.forminator-design--default .forminator-textarea:disabled {\n pointer-events: none;\n border-style: dotted;\n}\n\n.forminator-poll.forminator-design--default .forminator-input:disabled:-moz-placeholder,\n.forminator-poll.forminator-design--default .forminator-textarea:disabled:-moz-placeholder {\n filter: alpha(opacity=40);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);\n opacity: .4;\n -khtml-opacity: .4;\n}\n\n.forminator-poll.forminator-design--default .forminator-input:disabled::-moz-placeholder,\n.forminator-poll.forminator-design--default .forminator-textarea:disabled::-moz-placeholder {\n filter: alpha(opacity=40);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);\n opacity: .4;\n -khtml-opacity: .4;\n}\n\n.forminator-poll.forminator-design--default .forminator-input:disabled:-ms-input-placeholder,\n.forminator-poll.forminator-design--default .forminator-textarea:disabled:-ms-input-placeholder {\n filter: alpha(opacity=40);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);\n opacity: .4;\n -khtml-opacity: .4;\n}\n\n.forminator-poll.forminator-design--default .forminator-input:disabled::-webkit-input-placeholder,\n.forminator-poll.forminator-design--default .forminator-textarea:disabled::-webkit-input-placeholder {\n filter: alpha(opacity=40);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);\n opacity: .4;\n -khtml-opacity: .4;\n}\n\n.forminator-poll.forminator-design--default .forminator-textarea {\n height: auto;\n min-height: 140px;\n resize: vertical;\n}\n\n.forminator-poll.forminator-design--default .intl-tel-input {\n display: block;\n}\n\n.forminator-poll.forminator-design--default .forminator-input,\n.forminator-poll.forminator-design--default .forminator-textarea {\n line-height: 20px;\n transition: 0.3s ease;\n}\n\n.forminator-poll.forminator-design--default .forminator-input {\n padding: 9px;\n border-width: 1px;\n border-style: solid;\n border-radius: 2px;\n}\n\n.forminator-poll.forminator-design--default .forminator-textarea {\n padding: 9px;\n border-width: 1px;\n border-style: solid;\n border-radius: 2px;\n}\n\n.forminator-poll.forminator-design--default .forminator-input {\n height: 40px;\n}\n\n.forminator-poll.forminator-design--default {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--default:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--default:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-poll.forminator-design--default:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--default:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--default {\n margin: 30px auto;\n }\n}\n\n.forminator-poll.forminator-design--default * {\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--default .forminator-poll--actions {\n margin: 20px 0 0;\n text-align: center;\n}\n\n.forminator-poll.forminator-design--default .forminator-poll--actions a:not(.forminator-button) {\n margin: 0;\n font-size: 14px;\n line-height: 20px;\n font-weight: normal;\n}\n\n.forminator-poll.forminator-design--default .forminator-poll--actions a:not(.forminator-button),\n.forminator-poll.forminator-design--default .forminator-poll--actions a:not(.forminator-button):hover,\n.forminator-poll.forminator-design--default .forminator-poll--actions a:not(.forminator-button):active,\n.forminator-poll.forminator-design--default .forminator-poll--actions a:not(.forminator-button):visited {\n outline: none;\n box-shadow: none;\n text-decoration: none;\n}\n\n.forminator-poll.forminator-design--default .forminator-poll--actions a.forminator-button,\n.forminator-poll.forminator-design--default .forminator-poll--actions button.forminator-button {\n padding: 10px;\n border-radius: 0;\n font-size: 14px;\n line-height: 20px;\n font-weight: normal;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--default:not(.forminator-size--small) .forminator-poll--actions a:not(.forminator-button) {\n flex: 0 0 auto;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--default:not(.forminator-size--small) .forminator-poll--actions {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n margin: 30px 0 0;\n }\n}\n\n.forminator-poll.forminator-design--default {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--default:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--default:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-poll.forminator-design--default:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--default:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--default {\n margin: 30px auto;\n }\n}\n\n.forminator-poll.forminator-design--default * {\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--default a.forminator-button,\n.forminator-poll.forminator-design--default button.forminator-button {\n width: 100%;\n cursor: pointer;\n display: block;\n margin: 20px 0;\n border: 0;\n text-align: center;\n text-transform: none;\n padding: 10px;\n border-radius: 2px;\n line-height: 20px;\n transition: 0.3s ease;\n}\n\n.forminator-poll.forminator-design--default a.forminator-button,\n.forminator-poll.forminator-design--default a.forminator-button:hover,\n.forminator-poll.forminator-design--default a.forminator-button:active,\n.forminator-poll.forminator-design--default a.forminator-button:visited,\n.forminator-poll.forminator-design--default a.forminator-button:disabled,\n.forminator-poll.forminator-design--default button.forminator-button,\n.forminator-poll.forminator-design--default button.forminator-button:hover,\n.forminator-poll.forminator-design--default button.forminator-button:active,\n.forminator-poll.forminator-design--default button.forminator-button:visited,\n.forminator-poll.forminator-design--default button.forminator-button:disabled {\n outline: none;\n box-shadow: none;\n text-decoration: none;\n}\n\n.forminator-poll.forminator-design--default a.forminator-button,\n.forminator-poll.forminator-design--default a.forminator-button:hover,\n.forminator-poll.forminator-design--default a.forminator-button:active,\n.forminator-poll.forminator-design--default a.forminator-button:visited,\n.forminator-poll.forminator-design--default button.forminator-button,\n.forminator-poll.forminator-design--default button.forminator-button:hover,\n.forminator-poll.forminator-design--default button.forminator-button:active,\n.forminator-poll.forminator-design--default button.forminator-button:visited {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-poll.forminator-design--default a.forminator-button:disabled,\n.forminator-poll.forminator-design--default button.forminator-button:disabled {\n filter: alpha(opacity=25);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=25);\n opacity: .25;\n -khtml-opacity: .25;\n}\n\n.forminator-poll.forminator-design--default a.forminator-button:first-child,\n.forminator-poll.forminator-design--default button.forminator-button:first-child {\n margin-top: 0;\n}\n\n.forminator-poll.forminator-design--default a.forminator-button:last-child,\n.forminator-poll.forminator-design--default button.forminator-button:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--default:not(.forminator-size--small) a.forminator-button:first-child,\n .forminator-poll.forminator-design--default:not(.forminator-size--small) button.forminator-button:first-child {\n margin-left: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--default:not(.forminator-size--small) a.forminator-button:last-child,\n .forminator-poll.forminator-design--default:not(.forminator-size--small) button.forminator-button:last-child {\n margin-right: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--default:not(.forminator-size--small) a.forminator-button,\n .forminator-poll.forminator-design--default:not(.forminator-size--small) button.forminator-button {\n width: auto;\n min-width: 100px;\n display: inline-block;\n margin: 0 15px;\n }\n}\n\n.forminator-poll.forminator-design--material {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--material:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--material:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-poll.forminator-design--material:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--material:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--material {\n margin: 30px auto;\n }\n}\n\n.forminator-poll.forminator-design--material * {\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--material .forminator-poll--question {\n margin: 0 0 10px;\n padding: 0;\n border: 0;\n font-size: 15px;\n line-height: 20px;\n font-weight: bold;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--material:not(.forminator-size--small) .forminator-poll--question {\n margin: 0 0 15px;\n }\n}\n\n.forminator-poll.forminator-design--material {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--material:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--material:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-poll.forminator-design--material:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--material:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--material {\n margin: 30px auto;\n }\n}\n\n.forminator-poll.forminator-design--material * {\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--material .forminator-poll--description {\n margin: 0 0 10px;\n padding: 0;\n border: 0;\n font-size: 13px;\n line-height: 18px;\n font-weight: normal;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--material:not(.forminator-size--small) .forminator-poll--description {\n margin: 0 0 15px;\n }\n}\n\n.forminator-poll.forminator-design--material {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--material:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--material:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-poll.forminator-design--material:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--material:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--material {\n margin: 30px auto;\n }\n}\n\n.forminator-poll.forminator-design--material * {\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--material .forminator-poll--answers {\n margin: 0;\n}\n\n.forminator-poll.forminator-design--material .forminator-poll--answers,\n.forminator-poll.forminator-design--material .forminator-poll--answers li {\n padding: 0;\n border: 0;\n list-style: none;\n}\n\n.forminator-poll.forminator-design--material .forminator-poll--answers li {\n margin: 10px 0;\n}\n\n.forminator-poll.forminator-design--material .forminator-poll--answers li:first-child {\n margin-top: 0;\n}\n\n.forminator-poll.forminator-design--material .forminator-poll--answers li:last-child {\n margin-bottom: 0;\n}\n\n.forminator-poll.forminator-design--material {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--material:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--material:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-poll.forminator-design--material:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--material:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--material {\n margin: 30px auto;\n }\n}\n\n.forminator-poll.forminator-design--material * {\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--material .forminator-radio {\n display: flex;\n position: relative;\n margin: 5px 0;\n}\n\n.forminator-poll.forminator-design--material .forminator-radio input:checked+.forminator-radio--design:before {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-poll.forminator-design--material .forminator-radio input:focus+.forminator-radio--design:after {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n animation-name: click-animation;\n}\n\n.forminator-poll.forminator-design--material .forminator-radio .forminator-radio--design {\n cursor: pointer;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n margin: 0;\n padding: 0;\n position: relative;\n}\n\n.forminator-poll.forminator-design--material .forminator-radio .forminator-radio--design:before {\n filter: alpha(opacity=0);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);\n opacity: 0;\n -khtml-opacity: 0;\n display: block;\n}\n\n.forminator-poll.forminator-design--material .forminator-radio .forminator-radio--design+.forminator-radio--label {\n margin-left: 10px;\n}\n\n.forminator-poll.forminator-design--material .forminator-radio .forminator-radio--design:after {\n content: \" \";\n filter: alpha(opacity=0);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);\n opacity: 0;\n -khtml-opacity: 0;\n position: absolute;\n border-radius: 50%;\n transform: scale(0);\n transform-origin: center;\n transform-style: preserve-3d;\n animation-duration: 0.6s;\n animation-fill-mode: both;\n width: 20px;\n height: 20px;\n}\n\n.forminator-poll.forminator-design--material .forminator-radio .forminator-radio--label {\n cursor: default;\n display: block;\n margin: 0;\n padding: 0;\n border: 0;\n letter-spacing: 0;\n}\n\n.forminator-poll.forminator-design--material .forminator-radio .forminator-radio--label[for] {\n cursor: pointer;\n}\n\n.forminator-poll.forminator-design--material .forminator-radio .forminator-radio--design {\n width: 20px;\n height: 20px;\n flex: 0 0 20px;\n border-width: 2px;\n border-style: solid;\n border-radius: 2px;\n transition: 0.25s ease;\n}\n\n.forminator-poll.forminator-design--material .forminator-radio .forminator-radio--label {\n line-height: 20px;\n}\n\n.forminator-poll.forminator-design--material .forminator-radio .forminator-radio--design:before {\n width: 10px;\n height: 10px;\n}\n\n.forminator-poll.forminator-design--material .forminator-radio .forminator-radio--design {\n border-radius: 100%;\n}\n\n.forminator-poll.forminator-design--material .forminator-radio .forminator-radio--design:before {\n content: \" \";\n border-radius: 100%;\n}\n\n.forminator-poll.forminator-design--material {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--material:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--material:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-poll.forminator-design--material:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--material:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--material {\n margin: 30px auto;\n }\n}\n\n.forminator-poll.forminator-design--material * {\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--material .forminator-input,\n.forminator-poll.forminator-design--material .forminator-textarea {\n width: 100%;\n max-width: 100%;\n display: block;\n margin: 0;\n padding: 0;\n border: 0;\n background-image: unset;\n background-color: transparent;\n}\n\n.forminator-poll.forminator-design--material .forminator-input,\n.forminator-poll.forminator-design--material .forminator-input:hover,\n.forminator-poll.forminator-design--material .forminator-input:focus,\n.forminator-poll.forminator-design--material .forminator-input:active,\n.forminator-poll.forminator-design--material .forminator-input:disabled,\n.forminator-poll.forminator-design--material .forminator-textarea,\n.forminator-poll.forminator-design--material .forminator-textarea:hover,\n.forminator-poll.forminator-design--material .forminator-textarea:focus,\n.forminator-poll.forminator-design--material .forminator-textarea:active,\n.forminator-poll.forminator-design--material .forminator-textarea:disabled {\n outline: none;\n box-shadow: none;\n}\n\n.forminator-poll.forminator-design--material .forminator-input,\n.forminator-poll.forminator-design--material .forminator-input:hover,\n.forminator-poll.forminator-design--material .forminator-input:focus,\n.forminator-poll.forminator-design--material .forminator-input:active,\n.forminator-poll.forminator-design--material .forminator-textarea,\n.forminator-poll.forminator-design--material .forminator-textarea:hover,\n.forminator-poll.forminator-design--material .forminator-textarea:focus,\n.forminator-poll.forminator-design--material .forminator-textarea:active {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-poll.forminator-design--material .forminator-input:disabled,\n.forminator-poll.forminator-design--material .forminator-textarea:disabled {\n pointer-events: none;\n border-style: dotted;\n}\n\n.forminator-poll.forminator-design--material .forminator-input:disabled:-moz-placeholder,\n.forminator-poll.forminator-design--material .forminator-textarea:disabled:-moz-placeholder {\n filter: alpha(opacity=40);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);\n opacity: .4;\n -khtml-opacity: .4;\n}\n\n.forminator-poll.forminator-design--material .forminator-input:disabled::-moz-placeholder,\n.forminator-poll.forminator-design--material .forminator-textarea:disabled::-moz-placeholder {\n filter: alpha(opacity=40);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);\n opacity: .4;\n -khtml-opacity: .4;\n}\n\n.forminator-poll.forminator-design--material .forminator-input:disabled:-ms-input-placeholder,\n.forminator-poll.forminator-design--material .forminator-textarea:disabled:-ms-input-placeholder {\n filter: alpha(opacity=40);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);\n opacity: .4;\n -khtml-opacity: .4;\n}\n\n.forminator-poll.forminator-design--material .forminator-input:disabled::-webkit-input-placeholder,\n.forminator-poll.forminator-design--material .forminator-textarea:disabled::-webkit-input-placeholder {\n filter: alpha(opacity=40);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);\n opacity: .4;\n -khtml-opacity: .4;\n}\n\n.forminator-poll.forminator-design--material .forminator-textarea {\n height: auto;\n min-height: 140px;\n resize: vertical;\n}\n\n.forminator-poll.forminator-design--material .intl-tel-input {\n display: block;\n}\n\n.forminator-poll.forminator-design--material .forminator-input,\n.forminator-poll.forminator-design--material .forminator-textarea {\n line-height: 20px;\n transition: 0.25s ease;\n}\n\n.forminator-poll.forminator-design--material .forminator-input {\n border-radius: 0;\n padding-top: 10px;\n padding-bottom: 9px;\n border-top: 0;\n border-right: 0;\n border-left: 0;\n border-bottom-width: 1px;\n border-bottom-style: solid;\n}\n\n.forminator-poll.forminator-design--material .forminator-textarea {\n padding: 9px;\n border-width: 1px;\n border-style: solid;\n border-radius: 2px;\n}\n\n.forminator-poll.forminator-design--material .forminator-input {\n height: 40px;\n}\n\n.forminator-poll.forminator-design--material .forminator-input--wrap {\n position: relative;\n}\n\n.forminator-poll.forminator-design--material .forminator-input--wrap:after {\n content: \" \";\n height: 2px;\n display: block;\n position: absolute;\n right: 50%;\n bottom: 0;\n left: 50%;\n transition: 0.25s linear;\n}\n\n.forminator-poll.forminator-design--material .forminator-floating--input {\n position: relative;\n z-index: 1;\n}\n\n.forminator-poll.forminator-design--material .forminator-floating--input .forminator-label {\n pointer-events: none;\n transform-origin: 0;\n transition: transform 0.25s linear,0.25s ease;\n}\n\n.forminator-poll.forminator-design--material .forminator-floating--input .forminator-label {\n transform: translateY(30px);\n}\n\n.forminator-poll.forminator-design--material .forminator-floating--input+.forminator-input:-moz-placeholder,\n.forminator-poll.forminator-design--material .forminator-floating--input+.forminator-input--wrap .forminator-input:-moz-placeholder {\n filter: alpha(opacity=0);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);\n opacity: 0;\n -khtml-opacity: 0;\n}\n\n.forminator-poll.forminator-design--material .forminator-floating--input+.forminator-input::-moz-placeholder,\n.forminator-poll.forminator-design--material .forminator-floating--input+.forminator-input--wrap .forminator-input::-moz-placeholder {\n filter: alpha(opacity=0);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);\n opacity: 0;\n -khtml-opacity: 0;\n}\n\n.forminator-poll.forminator-design--material .forminator-floating--input+.forminator-input:-ms-input-placeholder,\n.forminator-poll.forminator-design--material .forminator-floating--input+.forminator-input--wrap .forminator-input:-ms-input-placeholder {\n filter: alpha(opacity=0);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);\n opacity: 0;\n -khtml-opacity: 0;\n}\n\n.forminator-poll.forminator-design--material .forminator-floating--input+.forminator-input::-webkit-input-placeholder,\n.forminator-poll.forminator-design--material .forminator-floating--input+.forminator-input--wrap .forminator-input::-webkit-input-placeholder {\n filter: alpha(opacity=0);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);\n opacity: 0;\n -khtml-opacity: 0;\n}\n\n.forminator-poll.forminator-design--material .forminator-is_hover .forminator-input--wrap:after,\n.forminator-poll.forminator-design--material .forminator-is_active .forminator-input--wrap:after,\n.forminator-poll.forminator-design--material .forminator-has_error .forminator-input--wrap:after {\n right: 0;\n left: 0;\n}\n\n.forminator-poll.forminator-design--material .forminator-is_active .forminator-floating--input .forminator-label,\n.forminator-poll.forminator-design--material .forminator-is_filled .forminator-floating--input .forminator-label {\n transform: translateY(0);\n}\n\n.forminator-poll.forminator-design--material .forminator-is_active .forminator-floating--input+.forminator-input:-moz-placeholder,\n.forminator-poll.forminator-design--material .forminator-is_active .forminator-floating--input+.forminator-input--wrap .forminator-input:-moz-placeholder {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-poll.forminator-design--material .forminator-is_active .forminator-floating--input+.forminator-input::-moz-placeholder,\n.forminator-poll.forminator-design--material .forminator-is_active .forminator-floating--input+.forminator-input--wrap .forminator-input::-moz-placeholder {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-poll.forminator-design--material .forminator-is_active .forminator-floating--input+.forminator-input:-ms-input-placeholder,\n.forminator-poll.forminator-design--material .forminator-is_active .forminator-floating--input+.forminator-input--wrap .forminator-input:-ms-input-placeholder {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-poll.forminator-design--material .forminator-is_active .forminator-floating--input+.forminator-input::-webkit-input-placeholder,\n.forminator-poll.forminator-design--material .forminator-is_active .forminator-floating--input+.forminator-input--wrap .forminator-input::-webkit-input-placeholder {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-poll.forminator-design--material {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--material:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--material:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-poll.forminator-design--material:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--material:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--material {\n margin: 30px auto;\n }\n}\n\n.forminator-poll.forminator-design--material * {\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--material .forminator-poll--actions {\n margin: 20px 0 0;\n text-align: center;\n}\n\n.forminator-poll.forminator-design--material .forminator-poll--actions a:not(.forminator-button) {\n margin: 0;\n font-size: 14px;\n line-height: 20px;\n font-weight: normal;\n}\n\n.forminator-poll.forminator-design--material .forminator-poll--actions a:not(.forminator-button),\n.forminator-poll.forminator-design--material .forminator-poll--actions a:not(.forminator-button):hover,\n.forminator-poll.forminator-design--material .forminator-poll--actions a:not(.forminator-button):active,\n.forminator-poll.forminator-design--material .forminator-poll--actions a:not(.forminator-button):visited {\n outline: none;\n box-shadow: none;\n text-decoration: none;\n}\n\n.forminator-poll.forminator-design--material .forminator-poll--actions a.forminator-button,\n.forminator-poll.forminator-design--material .forminator-poll--actions button.forminator-button {\n padding: 10px;\n border-radius: 0;\n font-size: 14px;\n line-height: 20px;\n font-weight: normal;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--material:not(.forminator-size--small) .forminator-poll--actions a:not(.forminator-button) {\n flex: 0 0 auto;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--material:not(.forminator-size--small) .forminator-poll--actions {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n margin: 30px 0 0;\n }\n}\n\n.forminator-poll.forminator-design--material {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--material:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--material:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-poll.forminator-design--material:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--material:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--material {\n margin: 30px auto;\n }\n}\n\n.forminator-poll.forminator-design--material * {\n box-sizing: border-box;\n}\n\n.forminator-poll.forminator-design--material a.forminator-button,\n.forminator-poll.forminator-design--material button.forminator-button {\n width: 100%;\n cursor: pointer;\n display: block;\n margin: 20px 0;\n border: 0;\n text-align: center;\n text-transform: none;\n overflow: hidden;\n position: relative;\n padding: 10px;\n border-radius: 2px;\n line-height: 20px;\n transition: 0.25s ease;\n}\n\n.forminator-poll.forminator-design--material a.forminator-button,\n.forminator-poll.forminator-design--material a.forminator-button:hover,\n.forminator-poll.forminator-design--material a.forminator-button:active,\n.forminator-poll.forminator-design--material a.forminator-button:visited,\n.forminator-poll.forminator-design--material a.forminator-button:disabled,\n.forminator-poll.forminator-design--material button.forminator-button,\n.forminator-poll.forminator-design--material button.forminator-button:hover,\n.forminator-poll.forminator-design--material button.forminator-button:active,\n.forminator-poll.forminator-design--material button.forminator-button:visited,\n.forminator-poll.forminator-design--material button.forminator-button:disabled {\n outline: none;\n box-shadow: none;\n text-decoration: none;\n}\n\n.forminator-poll.forminator-design--material a.forminator-button,\n.forminator-poll.forminator-design--material a.forminator-button:hover,\n.forminator-poll.forminator-design--material a.forminator-button:active,\n.forminator-poll.forminator-design--material a.forminator-button:visited,\n.forminator-poll.forminator-design--material button.forminator-button,\n.forminator-poll.forminator-design--material button.forminator-button:hover,\n.forminator-poll.forminator-design--material button.forminator-button:active,\n.forminator-poll.forminator-design--material button.forminator-button:visited {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-poll.forminator-design--material a.forminator-button:disabled,\n.forminator-poll.forminator-design--material button.forminator-button:disabled {\n filter: alpha(opacity=25);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=25);\n opacity: .25;\n -khtml-opacity: .25;\n}\n\n.forminator-poll.forminator-design--material a.forminator-button:first-child,\n.forminator-poll.forminator-design--material button.forminator-button:first-child {\n margin-top: 0;\n}\n\n.forminator-poll.forminator-design--material a.forminator-button:last-child,\n.forminator-poll.forminator-design--material button.forminator-button:last-child {\n margin-bottom: 0;\n}\n\n.forminator-poll.forminator-design--material a.forminator-button .forminator-button--mask,\n.forminator-poll.forminator-design--material a.forminator-button .forminator-button--text,\n.forminator-poll.forminator-design--material button.forminator-button .forminator-button--mask,\n.forminator-poll.forminator-design--material button.forminator-button .forminator-button--text {\n display: block;\n}\n\n.forminator-poll.forminator-design--material a.forminator-button .forminator-button--mask,\n.forminator-poll.forminator-design--material button.forminator-button .forminator-button--mask {\n width: 0;\n position: absolute;\n top: 50%;\n left: 50%;\n padding: 0;\n border-radius: 100%;\n background-color: rgba(0,0,0,0.12);\n transform: translate(-50%, -50%);\n transition: width 450ms cubic-bezier(0.23, 1, 0.32, 1),0.2s ease-out;\n}\n\n.forminator-poll.forminator-design--material a.forminator-button:active,\n.forminator-poll.forminator-design--material button.forminator-button:active {\n box-shadow: 0 1px 4px 0 rgba(0,0,0,0.6);\n}\n\n.forminator-poll.forminator-design--material a.forminator-button:active .forminator-button--mask,\n.forminator-poll.forminator-design--material button.forminator-button:active .forminator-button--mask {\n width: 120%;\n padding: 120% 0 0;\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--material:not(.forminator-size--small) a.forminator-button:first-child,\n .forminator-poll.forminator-design--material:not(.forminator-size--small) button.forminator-button:first-child {\n margin-left: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--material:not(.forminator-size--small) a.forminator-button:last-child,\n .forminator-poll.forminator-design--material:not(.forminator-size--small) button.forminator-button:last-child {\n margin-right: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-poll.forminator-design--material:not(.forminator-size--small) a.forminator-button,\n .forminator-poll.forminator-design--material:not(.forminator-size--small) button.forminator-button {\n width: auto;\n min-width: 100px;\n display: inline-block;\n margin: 0 15px;\n }\n}\n\n.forminator-quiz.forminator-design--grid {\n max-width: 600px;\n}\n\n.forminator-quiz .forminator-question-has-image img {\n max-width: 100%;\n height: auto;\n}\n\n.forminator-quiz.forminator-design--bold {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-quiz.forminator-design--bold:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-quiz.forminator-design--bold:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold {\n margin: 30px auto;\n }\n}\n\n.forminator-quiz.forminator-design--bold * {\n box-sizing: border-box;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-quiz--title,\n.forminator-quiz.forminator-design--bold .forminator-quiz--description,\n.forminator-quiz.forminator-design--bold .forminator-quiz--image {\n margin: 0 0 20px;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-quiz--title:last-child,\n.forminator-quiz.forminator-design--bold .forminator-quiz--description:last-child,\n.forminator-quiz.forminator-design--bold .forminator-quiz--image:last-child {\n margin-bottom: 0;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-quiz--title,\n.forminator-quiz.forminator-design--bold .forminator-quiz--description {\n padding: 0;\n border: 0;\n letter-spacing: 0;\n text-transform: none;\n text-decoration: none;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-quiz--title {\n line-height: 1.4em;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-quiz--description {\n line-height: 1.7em;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-quiz--image {\n width: 100%;\n display: block;\n margin: 0;\n padding: 0;\n border: 0;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-quiz--image img {\n max-width: 100%;\n display: block;\n margin: 0 auto;\n border: 0;\n padding: 0;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-quiz--summary {\n margin: 20px 0;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-quiz--summary h1,\n.forminator-quiz.forminator-design--bold .forminator-quiz--summary h2,\n.forminator-quiz.forminator-design--bold .forminator-quiz--summary h3,\n.forminator-quiz.forminator-design--bold .forminator-quiz--summary h4,\n.forminator-quiz.forminator-design--bold .forminator-quiz--summary h5,\n.forminator-quiz.forminator-design--bold .forminator-quiz--summary h6,\n.forminator-quiz.forminator-design--bold .forminator-quiz--summary p {\n padding: 0;\n line-height: 1.2em;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-quiz--summary h1:first-child,\n.forminator-quiz.forminator-design--bold .forminator-quiz--summary h2:first-child,\n.forminator-quiz.forminator-design--bold .forminator-quiz--summary h3:first-child,\n.forminator-quiz.forminator-design--bold .forminator-quiz--summary h4:first-child,\n.forminator-quiz.forminator-design--bold .forminator-quiz--summary h5:first-child,\n.forminator-quiz.forminator-design--bold .forminator-quiz--summary h6:first-child,\n.forminator-quiz.forminator-design--bold .forminator-quiz--summary p:first-child {\n margin-top: 0;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-quiz--summary h1:last-child,\n.forminator-quiz.forminator-design--bold .forminator-quiz--summary h2:last-child,\n.forminator-quiz.forminator-design--bold .forminator-quiz--summary h3:last-child,\n.forminator-quiz.forminator-design--bold .forminator-quiz--summary h4:last-child,\n.forminator-quiz.forminator-design--bold .forminator-quiz--summary h5:last-child,\n.forminator-quiz.forminator-design--bold .forminator-quiz--summary h6:last-child,\n.forminator-quiz.forminator-design--bold .forminator-quiz--summary p:last-child {\n margin-bottom: 0;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-quiz--summary h1,\n.forminator-quiz.forminator-design--bold .forminator-quiz--summary h2,\n.forminator-quiz.forminator-design--bold .forminator-quiz--summary h3,\n.forminator-quiz.forminator-design--bold .forminator-quiz--summary h4,\n.forminator-quiz.forminator-design--bold .forminator-quiz--summary h5,\n.forminator-quiz.forminator-design--bold .forminator-quiz--summary h6 {\n margin-top: 0.8em;\n margin-bottom: 0.8em;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-quiz--summary p {\n margin-top: 0.5em;\n margin-bottom: 0.5em;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-quiz--summary:first-child {\n margin-top: 0;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-quiz--summary:last-child {\n margin-bottom: 0;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-social--icons {\n margin: 10px -10px;\n list-style: none;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-social--icons li {\n display: inline-block;\n margin: 0;\n padding: 0 10px;\n border: 0;\n list-style: none;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-social--icons:first-child {\n margin-top: 0;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-social--icons:last-child {\n margin-bottom: 0;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-social--icon {\n line-height: 1;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-social--icon a {\n display: block;\n margin: 0;\n padding: 0;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-social--icon a,\n.forminator-quiz.forminator-design--bold .forminator-social--icon a:hover,\n.forminator-quiz.forminator-design--bold .forminator-social--icon a:active,\n.forminator-quiz.forminator-design--bold .forminator-social--icon a:visited {\n border: 0;\n outline: none;\n box-shadow: none;\n text-decoration: none;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-social--icon a,\n.forminator-quiz.forminator-design--bold .forminator-social--icon a:visited {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-social--icon a:hover,\n.forminator-quiz.forminator-design--bold .forminator-social--icon a:active {\n filter: alpha(opacity=70);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=70);\n opacity: .7;\n -khtml-opacity: .7;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-social--icon a:before {\n display: block;\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small) .forminator-quiz--title:last-child,\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small) .forminator-quiz--description:last-child,\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small) .forminator-quiz--image:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small) .forminator-quiz--title,\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small) .forminator-quiz--description,\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small) .forminator-quiz--image {\n margin: 0 0 30px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small) .forminator-quiz--summary:first-child {\n margin-top: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small) .forminator-quiz--summary:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small) .forminator-quiz--summary {\n margin: 30px 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small) .forminator-social--icons li {\n padding: 0 15px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small) .forminator-social--icons:first-child {\n margin-top: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small) .forminator-social--icons:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small) .forminator-social--icons {\n margin: 15px -15px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small).forminator-design--grid .forminator-quiz--title,\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small).forminator-design--grid .forminator-quiz--description {\n text-align: center;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small).forminator-design--grid .forminator-quiz--image img {\n margin: 0 auto;\n }\n}\n\n.forminator-quiz.forminator-design--bold .forminator-question {\n margin: 20px 0;\n padding: 0;\n border: 0;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-question legend {\n margin: 0;\n line-height: 1.7em;\n letter-spacing: 0;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-question .forminator-question--result {\n padding-bottom: 20px;\n border-bottom: 1px solid rgba(0,0,0,0.12);\n}\n\n.forminator-quiz.forminator-design--bold .forminator-question .forminator-question--result span {\n display: block;\n line-height: 1.8em;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-question .forminator-question--has-image img {\n width: auto;\n max-width: 100%;\n height: auto;\n display: block;\n margin: 0;\n padding: 0;\n border: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small) .forminator-question {\n margin: 30px 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small) .forminator-question .forminator-question--result {\n padding-bottom: 30px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small).forminator-design--grid .forminator-question legend,\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small).forminator-design--grid .forminator-question .forminator-question--result {\n display: block;\n flex: 0 0 100%;\n padding: 0 15px;\n text-align: center;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small).forminator-design--grid .forminator-question .forminator-question--result span {\n display: inline-flex;\n padding: 0 15px 15px;\n border-bottom: 1px solid rgba(0,0,0,0.12);\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small).forminator-design--grid .forminator-question .forminator-question--result {\n padding-bottom: 0;\n border-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small).forminator-design--grid .forminator-question {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n.forminator-quiz.forminator-design--bold .forminator-answer {\n margin: 10px 0;\n pointer-events: none;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-answer,\n.forminator-quiz.forminator-design--bold .forminator-answer span {\n display: block;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-answer input:checked+span {\n pointer-events: none;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-answer input:checked+span .forminator-answer--check:after,\n.forminator-quiz.forminator-design--bold .forminator-answer input:checked+span .forminator-answer--status:after {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-answer input:checked+span .forminator-answer--check:before,\n.forminator-quiz.forminator-design--bold .forminator-answer input:checked+span .forminator-answer--status:before {\n animation-name: click-animation;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-answer input:disabled+span,\n.forminator-quiz.forminator-design--bold .forminator-answer input.forminator-has-been-disabled+span {\n pointer-events: none;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-answer .forminator-answer--design {\n width: 100%;\n cursor: pointer;\n pointer-events: initial;\n display: flex;\n position: relative;\n padding: 7px;\n border-width: 3px;\n border-style: solid;\n transition: 0.3s ease;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-answer .forminator-answer--image {\n width: 80px;\n height: 80px;\n background-color: transparent;\n background-repeat: no-repeat;\n background-size: cover;\n background-position: center;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-answer .forminator-answer--image+.forminator-answer--check,\n.forminator-quiz.forminator-design--bold .forminator-answer .forminator-answer--image+.forminator-answer--status {\n margin-top: 25px;\n margin-left: 10px;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-answer .forminator-answer--check,\n.forminator-quiz.forminator-design--bold .forminator-answer .forminator-answer--status {\n width: 30px;\n height: 30px;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n border-width: 3px;\n border-style: solid;\n transition: 0.3s ease;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-answer .forminator-answer--check+.forminator-answer--name,\n.forminator-quiz.forminator-design--bold .forminator-answer .forminator-answer--status+.forminator-answer--name {\n margin-left: 10px;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-answer .forminator-answer--check:after {\n content: \"(\";\n filter: alpha(opacity=0);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);\n opacity: 0;\n -khtml-opacity: 0;\n display: block;\n font-size: 14px;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-answer .forminator-answer--status:after {\n filter: alpha(opacity=0);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);\n opacity: 0;\n -khtml-opacity: 0;\n display: block;\n font-size: 14px;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-answer .forminator-answer--name {\n flex: 1;\n align-self: center;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-answer:first-child {\n margin-top: 0;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-answer:last-child {\n margin-bottom: 0;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-answer.forminator-is_correct .forminator-answer--status:after {\n content: \"\\28\";\n}\n\n.forminator-quiz.forminator-design--bold .forminator-answer.forminator-is_incorrect .forminator-answer--status:after {\n content: \"\\29\";\n}\n\n.forminator-quiz.forminator-design--bold .forminator-answer.forminator-empty,\n.forminator-quiz.forminator-design--bold .forminator-answer.forminator-only--image {\n max-width: 100px;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-answer.forminator-empty .forminator-answer--design {\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100px;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-answer:not(.forminator-only--text):not(.forminator-empty) .forminator-answer--check {\n margin-top: 25px;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-answer.forminator-only--image .forminator-answer--check,\n.forminator-quiz.forminator-design--bold .forminator-answer.forminator-only--image .forminator-answer--status {\n display: none;\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small) .forminator-answer:first-child {\n margin-top: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small) .forminator-answer:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small) .forminator-answer {\n margin: 15px 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--design {\n display: block;\n height: 100%;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--image+.forminator-answer--check,\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--image+.forminator-answer--status {\n margin-left: 0;\n top: 187px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--image {\n width: 100%;\n height: 170px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--check:after,\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--status:after {\n font-size: 12px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--check+.forminator-answer--name,\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--status+.forminator-answer--name {\n margin-left: 32px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--check,\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--status {\n width: 22px;\n height: 22px;\n position: absolute;\n margin-top: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--name {\n flex: 1;\n align-self: unset;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small).forminator-design--grid .forminator-answer:not(.forminator-only--text) .forminator-answer--check+.forminator-answer--name,\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small).forminator-design--grid .forminator-answer:not(.forminator-only--text) .forminator-answer--status+.forminator-answer--name {\n margin-top: 10px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small).forminator-design--grid .forminator-answer.forminator-empty .forminator-answer--design {\n display: flex;\n height: 170px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small).forminator-design--grid .forminator-answer.forminator-empty .forminator-answer--image+.forminator-answer--check {\n top: 187px;\n left: 7px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small).forminator-design--grid .forminator-answer.forminator-only--text .forminator-answer--design {\n display: flex;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small).forminator-design--grid .forminator-answer {\n max-width: 33.33%;\n flex: 0 0 33.33%;\n margin: 15px 0;\n padding: 0 15px;\n }\n}\n\n.forminator-quiz.forminator-design--bold a.forminator-button,\n.forminator-quiz.forminator-design--bold button.forminator-button {\n width: 100%;\n cursor: pointer;\n display: block;\n margin: 20px 0;\n border: 0;\n text-align: center;\n text-transform: none;\n padding: 12px;\n border-radius: 0;\n line-height: 20px;\n transition: 0.3s ease;\n}\n\n.forminator-quiz.forminator-design--bold a.forminator-button,\n.forminator-quiz.forminator-design--bold a.forminator-button:hover,\n.forminator-quiz.forminator-design--bold a.forminator-button:active,\n.forminator-quiz.forminator-design--bold a.forminator-button:visited,\n.forminator-quiz.forminator-design--bold a.forminator-button:disabled,\n.forminator-quiz.forminator-design--bold button.forminator-button,\n.forminator-quiz.forminator-design--bold button.forminator-button:hover,\n.forminator-quiz.forminator-design--bold button.forminator-button:active,\n.forminator-quiz.forminator-design--bold button.forminator-button:visited,\n.forminator-quiz.forminator-design--bold button.forminator-button:disabled {\n outline: none;\n box-shadow: none;\n text-decoration: none;\n}\n\n.forminator-quiz.forminator-design--bold a.forminator-button,\n.forminator-quiz.forminator-design--bold a.forminator-button:hover,\n.forminator-quiz.forminator-design--bold a.forminator-button:active,\n.forminator-quiz.forminator-design--bold a.forminator-button:visited,\n.forminator-quiz.forminator-design--bold button.forminator-button,\n.forminator-quiz.forminator-design--bold button.forminator-button:hover,\n.forminator-quiz.forminator-design--bold button.forminator-button:active,\n.forminator-quiz.forminator-design--bold button.forminator-button:visited {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-quiz.forminator-design--bold a.forminator-button:disabled,\n.forminator-quiz.forminator-design--bold button.forminator-button:disabled {\n filter: alpha(opacity=25);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=25);\n opacity: .25;\n -khtml-opacity: .25;\n}\n\n.forminator-quiz.forminator-design--bold a.forminator-button:first-child,\n.forminator-quiz.forminator-design--bold button.forminator-button:first-child {\n margin-top: 0;\n}\n\n.forminator-quiz.forminator-design--bold a.forminator-button:last-child,\n.forminator-quiz.forminator-design--bold button.forminator-button:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small) a.forminator-button:first-child,\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small) button.forminator-button:first-child {\n margin-left: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small) a.forminator-button:last-child,\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small) button.forminator-button:last-child {\n margin-right: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small) a.forminator-button,\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small) button.forminator-button {\n width: auto;\n min-width: 100px;\n display: inline-block;\n margin: 0 15px;\n }\n}\n\n.forminator-quiz.forminator-design--bold .forminator-quiz--result {\n margin: 20px 0;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-quiz--result:first-child {\n margin-top: 0;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-quiz--result:last-child {\n margin-bottom: 0;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-result {\n display: flex;\n flex-direction: column-reverse;\n padding: 7px;\n border-width: 3px;\n border-style: solid;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-result+.forminator-social--share {\n margin: 30px 0 0;\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold .forminator-result+.forminator-social--share {\n margin: 30px 0 0;\n }\n}\n\n.forminator-quiz.forminator-design--bold .forminator-result--image {\n height: auto;\n max-height: 150px;\n display: block;\n padding: 0;\n border: 0;\n width: auto;\n margin: 0 auto;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-result--title {\n margin: 0;\n padding: 0;\n border: 0;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-result--title {\n line-height: 2.3em;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-result--title+.forminator-result--description {\n margin-top: 10px;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-result--description,\n.forminator-quiz.forminator-design--bold .forminator-result--description p {\n line-height: 1.9em;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-result--description h1:first-child,\n.forminator-quiz.forminator-design--bold .forminator-result--description h2:first-child,\n.forminator-quiz.forminator-design--bold .forminator-result--description h3:first-child,\n.forminator-quiz.forminator-design--bold .forminator-result--description h4:first-child,\n.forminator-quiz.forminator-design--bold .forminator-result--description h5:first-child,\n.forminator-quiz.forminator-design--bold .forminator-result--description h6:first-child,\n.forminator-quiz.forminator-design--bold .forminator-result--description p:first-child,\n.forminator-quiz.forminator-design--bold .forminator-result--description ol:first-child,\n.forminator-quiz.forminator-design--bold .forminator-result--description ul:first-child {\n margin-top: 0;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-result--description h1:last-child,\n.forminator-quiz.forminator-design--bold .forminator-result--description h2:last-child,\n.forminator-quiz.forminator-design--bold .forminator-result--description h3:last-child,\n.forminator-quiz.forminator-design--bold .forminator-result--description h4:last-child,\n.forminator-quiz.forminator-design--bold .forminator-result--description h5:last-child,\n.forminator-quiz.forminator-design--bold .forminator-result--description h6:last-child,\n.forminator-quiz.forminator-design--bold .forminator-result--description p:last-child,\n.forminator-quiz.forminator-design--bold .forminator-result--description ol:last-child,\n.forminator-quiz.forminator-design--bold .forminator-result--description ul:last-child {\n margin-bottom: 0;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-result--retake {\n margin: 0;\n width: 100%;\n display: block;\n padding: 12px;\n border-radius: 0;\n line-height: 20px;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-result--retake .wpdui-icon {\n font-size: 12px;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-result--info {\n margin-top: 10px;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-result--quiz-name {\n display: none;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-result--text {\n padding: 10px;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-result--text+.forminator-result--image {\n margin-top: 10px;\n}\n\n.forminator-quiz.forminator-design--bold .forminator-result--text * {\n word-break: break-word;\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small) .forminator-quiz--result:first-child {\n margin-top: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small) .forminator-quiz--result:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small) .forminator-quiz--result {\n margin: 30px 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small) .forminator-result {\n display: block;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small) .forminator-result--retake {\n width: auto;\n flex: 0 0 auto;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small) .forminator-result--info {\n display: flex;\n margin-top: 0;\n margin-bottom: 10px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small) .forminator-result--quiz-name+.forminator-result--retake {\n margin-left: 10px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small) .forminator-result--quiz-name {\n display: block;\n flex: 1;\n align-self: center;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small) .forminator-result--content {\n display: flex;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small) .forminator-result--text+.forminator-result--image {\n max-width: 50%;\n margin-top: 0;\n margin-left: 10px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small).forminator-design--grid .forminator-quiz--result {\n text-align: center;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--bold:not(.forminator-size--small).forminator-design--grid .forminator-result {\n text-align: initial;\n }\n}\n\n.forminator-quiz.forminator-design--flat {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-quiz.forminator-design--flat:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-quiz.forminator-design--flat:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat {\n margin: 30px auto;\n }\n}\n\n.forminator-quiz.forminator-design--flat * {\n box-sizing: border-box;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-quiz--title,\n.forminator-quiz.forminator-design--flat .forminator-quiz--description,\n.forminator-quiz.forminator-design--flat .forminator-quiz--image {\n margin: 0 0 20px;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-quiz--title:last-child,\n.forminator-quiz.forminator-design--flat .forminator-quiz--description:last-child,\n.forminator-quiz.forminator-design--flat .forminator-quiz--image:last-child {\n margin-bottom: 0;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-quiz--title,\n.forminator-quiz.forminator-design--flat .forminator-quiz--description {\n padding: 0;\n border: 0;\n letter-spacing: 0;\n text-transform: none;\n text-decoration: none;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-quiz--title {\n line-height: 1.4em;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-quiz--description {\n line-height: 1.7em;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-quiz--image {\n width: 100%;\n display: block;\n margin: 0;\n padding: 0;\n border: 0;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-quiz--image img {\n max-width: 100%;\n display: block;\n margin: 0 auto;\n border: 0;\n padding: 0;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-quiz--summary {\n margin: 20px 0;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-quiz--summary h1,\n.forminator-quiz.forminator-design--flat .forminator-quiz--summary h2,\n.forminator-quiz.forminator-design--flat .forminator-quiz--summary h3,\n.forminator-quiz.forminator-design--flat .forminator-quiz--summary h4,\n.forminator-quiz.forminator-design--flat .forminator-quiz--summary h5,\n.forminator-quiz.forminator-design--flat .forminator-quiz--summary h6,\n.forminator-quiz.forminator-design--flat .forminator-quiz--summary p {\n padding: 0;\n line-height: 1.2em;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-quiz--summary h1:first-child,\n.forminator-quiz.forminator-design--flat .forminator-quiz--summary h2:first-child,\n.forminator-quiz.forminator-design--flat .forminator-quiz--summary h3:first-child,\n.forminator-quiz.forminator-design--flat .forminator-quiz--summary h4:first-child,\n.forminator-quiz.forminator-design--flat .forminator-quiz--summary h5:first-child,\n.forminator-quiz.forminator-design--flat .forminator-quiz--summary h6:first-child,\n.forminator-quiz.forminator-design--flat .forminator-quiz--summary p:first-child {\n margin-top: 0;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-quiz--summary h1:last-child,\n.forminator-quiz.forminator-design--flat .forminator-quiz--summary h2:last-child,\n.forminator-quiz.forminator-design--flat .forminator-quiz--summary h3:last-child,\n.forminator-quiz.forminator-design--flat .forminator-quiz--summary h4:last-child,\n.forminator-quiz.forminator-design--flat .forminator-quiz--summary h5:last-child,\n.forminator-quiz.forminator-design--flat .forminator-quiz--summary h6:last-child,\n.forminator-quiz.forminator-design--flat .forminator-quiz--summary p:last-child {\n margin-bottom: 0;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-quiz--summary h1,\n.forminator-quiz.forminator-design--flat .forminator-quiz--summary h2,\n.forminator-quiz.forminator-design--flat .forminator-quiz--summary h3,\n.forminator-quiz.forminator-design--flat .forminator-quiz--summary h4,\n.forminator-quiz.forminator-design--flat .forminator-quiz--summary h5,\n.forminator-quiz.forminator-design--flat .forminator-quiz--summary h6 {\n margin-top: 0.8em;\n margin-bottom: 0.8em;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-quiz--summary p {\n margin-top: 0.5em;\n margin-bottom: 0.5em;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-quiz--summary:first-child {\n margin-top: 0;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-quiz--summary:last-child {\n margin-bottom: 0;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-social--icons {\n margin: 10px -10px;\n list-style: none;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-social--icons li {\n display: inline-block;\n margin: 0;\n padding: 0 10px;\n border: 0;\n list-style: none;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-social--icons:first-child {\n margin-top: 0;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-social--icons:last-child {\n margin-bottom: 0;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-social--icon {\n line-height: 1;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-social--icon a {\n display: block;\n margin: 0;\n padding: 0;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-social--icon a,\n.forminator-quiz.forminator-design--flat .forminator-social--icon a:hover,\n.forminator-quiz.forminator-design--flat .forminator-social--icon a:active,\n.forminator-quiz.forminator-design--flat .forminator-social--icon a:visited {\n border: 0;\n outline: none;\n box-shadow: none;\n text-decoration: none;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-social--icon a,\n.forminator-quiz.forminator-design--flat .forminator-social--icon a:visited {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-social--icon a:hover,\n.forminator-quiz.forminator-design--flat .forminator-social--icon a:active {\n filter: alpha(opacity=70);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=70);\n opacity: .7;\n -khtml-opacity: .7;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-social--icon a:before {\n display: block;\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small) .forminator-quiz--title:last-child,\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small) .forminator-quiz--description:last-child,\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small) .forminator-quiz--image:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small) .forminator-quiz--title,\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small) .forminator-quiz--description,\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small) .forminator-quiz--image {\n margin: 0 0 30px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small) .forminator-quiz--summary:first-child {\n margin-top: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small) .forminator-quiz--summary:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small) .forminator-quiz--summary {\n margin: 30px 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small) .forminator-social--icons li {\n padding: 0 15px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small) .forminator-social--icons:first-child {\n margin-top: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small) .forminator-social--icons:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small) .forminator-social--icons {\n margin: 15px -15px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small).forminator-design--grid .forminator-quiz--title,\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small).forminator-design--grid .forminator-quiz--description {\n text-align: center;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small).forminator-design--grid .forminator-quiz--image img {\n margin: 0 auto;\n }\n}\n\n.forminator-quiz.forminator-design--flat .forminator-question {\n margin: 20px 0;\n padding: 0;\n border: 0;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-question legend {\n margin: 0;\n line-height: 1.7em;\n letter-spacing: 0;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-question .forminator-question--result {\n padding-bottom: 20px;\n border-bottom: 1px solid rgba(0,0,0,0.12);\n}\n\n.forminator-quiz.forminator-design--flat .forminator-question .forminator-question--result span {\n display: block;\n line-height: 1.8em;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-question .forminator-question--has-image img {\n width: auto;\n max-width: 100%;\n height: auto;\n display: block;\n margin: 0;\n padding: 0;\n border: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small) .forminator-question {\n margin: 30px 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small) .forminator-question .forminator-question--result {\n padding-bottom: 30px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small).forminator-design--grid .forminator-question legend,\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small).forminator-design--grid .forminator-question .forminator-question--result {\n display: block;\n flex: 0 0 100%;\n padding: 0 15px;\n text-align: center;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small).forminator-design--grid .forminator-question .forminator-question--result span {\n display: inline-flex;\n padding: 0 15px 15px;\n border-bottom: 1px solid rgba(0,0,0,0.12);\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small).forminator-design--grid .forminator-question .forminator-question--result {\n padding-bottom: 0;\n border-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small).forminator-design--grid .forminator-question {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n.forminator-quiz.forminator-design--flat .forminator-answer {\n margin: 10px 0;\n pointer-events: none;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-answer,\n.forminator-quiz.forminator-design--flat .forminator-answer span {\n display: block;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-answer input:checked+span {\n pointer-events: none;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-answer input:checked+span .forminator-answer--check:after,\n.forminator-quiz.forminator-design--flat .forminator-answer input:checked+span .forminator-answer--status:after {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-answer input:checked+span .forminator-answer--check:before,\n.forminator-quiz.forminator-design--flat .forminator-answer input:checked+span .forminator-answer--status:before {\n animation-name: click-animation;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-answer input:disabled+span,\n.forminator-quiz.forminator-design--flat .forminator-answer input.forminator-has-been-disabled+span {\n pointer-events: none;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-answer .forminator-answer--design {\n width: 100%;\n cursor: pointer;\n pointer-events: initial;\n display: flex;\n position: relative;\n padding: 10px;\n transition: 0.25s ease;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-answer .forminator-answer--image {\n width: 80px;\n height: 80px;\n background-color: transparent;\n background-repeat: no-repeat;\n background-size: cover;\n background-position: center;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-answer .forminator-answer--image+.forminator-answer--check,\n.forminator-quiz.forminator-design--flat .forminator-answer .forminator-answer--image+.forminator-answer--status {\n margin-top: 25px;\n margin-left: 10px;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-answer .forminator-answer--check,\n.forminator-quiz.forminator-design--flat .forminator-answer .forminator-answer--status {\n width: 30px;\n height: 30px;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n transition: 0.25s ease;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-answer .forminator-answer--check+.forminator-answer--name,\n.forminator-quiz.forminator-design--flat .forminator-answer .forminator-answer--status+.forminator-answer--name {\n margin-left: 10px;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-answer .forminator-answer--check:after {\n content: \"(\";\n filter: alpha(opacity=0);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);\n opacity: 0;\n -khtml-opacity: 0;\n display: block;\n font-size: 14px;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-answer .forminator-answer--status:after {\n filter: alpha(opacity=0);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);\n opacity: 0;\n -khtml-opacity: 0;\n display: block;\n font-size: 14px;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-answer .forminator-answer--name {\n flex: 1;\n align-self: center;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-answer:first-child {\n margin-top: 0;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-answer:last-child {\n margin-bottom: 0;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-answer.forminator-is_correct .forminator-answer--status:after {\n content: \"\\28\";\n}\n\n.forminator-quiz.forminator-design--flat .forminator-answer.forminator-is_incorrect .forminator-answer--status:after {\n content: \"\\29\";\n}\n\n.forminator-quiz.forminator-design--flat .forminator-answer.forminator-empty,\n.forminator-quiz.forminator-design--flat .forminator-answer.forminator-only--image {\n max-width: 100px;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-answer.forminator-empty .forminator-answer--design {\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100px;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-answer:not(.forminator-only--text):not(.forminator-empty) .forminator-answer--check {\n margin-top: 25px;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-answer.forminator-only--image .forminator-answer--check,\n.forminator-quiz.forminator-design--flat .forminator-answer.forminator-only--image .forminator-answer--status {\n display: none;\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small) .forminator-answer:first-child {\n margin-top: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small) .forminator-answer:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small) .forminator-answer {\n margin: 15px 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--design {\n display: block;\n height: 100%;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--image+.forminator-answer--check,\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--image+.forminator-answer--status {\n margin-left: 0;\n top: 190px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--image {\n width: 100%;\n height: 170px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--check:after,\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--status:after {\n font-size: 12px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--check+.forminator-answer--name,\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--status+.forminator-answer--name {\n margin-left: 32px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--check,\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--status {\n width: 22px;\n height: 22px;\n position: absolute;\n margin-top: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--name {\n flex: 1;\n align-self: unset;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small).forminator-design--grid .forminator-answer:not(.forminator-only--text) .forminator-answer--check+.forminator-answer--name,\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small).forminator-design--grid .forminator-answer:not(.forminator-only--text) .forminator-answer--status+.forminator-answer--name {\n margin-top: 10px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small).forminator-design--grid .forminator-answer.forminator-empty .forminator-answer--design {\n display: flex;\n height: 170px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small).forminator-design--grid .forminator-answer.forminator-empty .forminator-answer--image+.forminator-answer--check {\n top: 190px;\n left: 10px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small).forminator-design--grid .forminator-answer.forminator-only--text .forminator-answer--design {\n display: flex;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small).forminator-design--grid .forminator-answer {\n max-width: 33.33%;\n flex: 0 0 33.33%;\n margin: 15px 0;\n padding: 0 15px;\n }\n}\n\n.forminator-quiz.forminator-design--flat a.forminator-button,\n.forminator-quiz.forminator-design--flat button.forminator-button {\n width: 100%;\n cursor: pointer;\n display: block;\n margin: 20px 0;\n border: 0;\n text-align: center;\n text-transform: none;\n padding: 10px;\n border-radius: 0;\n line-height: 20px;\n transition: 0.25s ease;\n}\n\n.forminator-quiz.forminator-design--flat a.forminator-button,\n.forminator-quiz.forminator-design--flat a.forminator-button:hover,\n.forminator-quiz.forminator-design--flat a.forminator-button:active,\n.forminator-quiz.forminator-design--flat a.forminator-button:visited,\n.forminator-quiz.forminator-design--flat a.forminator-button:disabled,\n.forminator-quiz.forminator-design--flat button.forminator-button,\n.forminator-quiz.forminator-design--flat button.forminator-button:hover,\n.forminator-quiz.forminator-design--flat button.forminator-button:active,\n.forminator-quiz.forminator-design--flat button.forminator-button:visited,\n.forminator-quiz.forminator-design--flat button.forminator-button:disabled {\n outline: none;\n box-shadow: none;\n text-decoration: none;\n}\n\n.forminator-quiz.forminator-design--flat a.forminator-button,\n.forminator-quiz.forminator-design--flat a.forminator-button:hover,\n.forminator-quiz.forminator-design--flat a.forminator-button:active,\n.forminator-quiz.forminator-design--flat a.forminator-button:visited,\n.forminator-quiz.forminator-design--flat button.forminator-button,\n.forminator-quiz.forminator-design--flat button.forminator-button:hover,\n.forminator-quiz.forminator-design--flat button.forminator-button:active,\n.forminator-quiz.forminator-design--flat button.forminator-button:visited {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-quiz.forminator-design--flat a.forminator-button:disabled,\n.forminator-quiz.forminator-design--flat button.forminator-button:disabled {\n filter: alpha(opacity=25);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=25);\n opacity: .25;\n -khtml-opacity: .25;\n}\n\n.forminator-quiz.forminator-design--flat a.forminator-button:first-child,\n.forminator-quiz.forminator-design--flat button.forminator-button:first-child {\n margin-top: 0;\n}\n\n.forminator-quiz.forminator-design--flat a.forminator-button:last-child,\n.forminator-quiz.forminator-design--flat button.forminator-button:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small) a.forminator-button:first-child,\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small) button.forminator-button:first-child {\n margin-left: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small) a.forminator-button:last-child,\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small) button.forminator-button:last-child {\n margin-right: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small) a.forminator-button,\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small) button.forminator-button {\n width: auto;\n min-width: 100px;\n display: inline-block;\n margin: 0 15px;\n }\n}\n\n.forminator-quiz.forminator-design--flat .forminator-quiz--result {\n margin: 20px 0;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-quiz--result:first-child {\n margin-top: 0;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-quiz--result:last-child {\n margin-bottom: 0;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-result {\n display: flex;\n flex-direction: column-reverse;\n padding: 10px;\n border-width: 0;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-result+.forminator-social--share {\n margin: 30px 0 0;\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat .forminator-result+.forminator-social--share {\n margin: 30px 0 0;\n }\n}\n\n.forminator-quiz.forminator-design--flat .forminator-result--image {\n height: auto;\n max-height: 150px;\n display: block;\n padding: 0;\n border: 0;\n width: auto;\n margin: 0 auto;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-result--title {\n margin: 0;\n padding: 0;\n border: 0;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-result--title {\n line-height: 2.3em;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-result--title+.forminator-result--description {\n margin-top: 10px;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-result--description,\n.forminator-quiz.forminator-design--flat .forminator-result--description p {\n line-height: 1.9em;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-result--description h1:first-child,\n.forminator-quiz.forminator-design--flat .forminator-result--description h2:first-child,\n.forminator-quiz.forminator-design--flat .forminator-result--description h3:first-child,\n.forminator-quiz.forminator-design--flat .forminator-result--description h4:first-child,\n.forminator-quiz.forminator-design--flat .forminator-result--description h5:first-child,\n.forminator-quiz.forminator-design--flat .forminator-result--description h6:first-child,\n.forminator-quiz.forminator-design--flat .forminator-result--description p:first-child,\n.forminator-quiz.forminator-design--flat .forminator-result--description ol:first-child,\n.forminator-quiz.forminator-design--flat .forminator-result--description ul:first-child {\n margin-top: 0;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-result--description h1:last-child,\n.forminator-quiz.forminator-design--flat .forminator-result--description h2:last-child,\n.forminator-quiz.forminator-design--flat .forminator-result--description h3:last-child,\n.forminator-quiz.forminator-design--flat .forminator-result--description h4:last-child,\n.forminator-quiz.forminator-design--flat .forminator-result--description h5:last-child,\n.forminator-quiz.forminator-design--flat .forminator-result--description h6:last-child,\n.forminator-quiz.forminator-design--flat .forminator-result--description p:last-child,\n.forminator-quiz.forminator-design--flat .forminator-result--description ol:last-child,\n.forminator-quiz.forminator-design--flat .forminator-result--description ul:last-child {\n margin-bottom: 0;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-result--retake {\n margin: 0;\n width: 100%;\n display: block;\n padding: 10px;\n border-radius: 0;\n line-height: 20px;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-result--retake .wpdui-icon {\n font-size: 12px;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-result--info {\n margin-top: 10px;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-result--quiz-name {\n display: none;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-result--text {\n padding: 10px;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-result--text+.forminator-result--image {\n margin-top: 10px;\n}\n\n.forminator-quiz.forminator-design--flat .forminator-result--text * {\n word-break: break-word;\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small) .forminator-quiz--result:first-child {\n margin-top: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small) .forminator-quiz--result:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small) .forminator-quiz--result {\n margin: 30px 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small) .forminator-result {\n display: block;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small) .forminator-result--retake {\n width: auto;\n flex: 0 0 auto;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small) .forminator-result--info {\n display: flex;\n margin-top: 0;\n margin-bottom: 10px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small) .forminator-result--quiz-name+.forminator-result--retake {\n margin-left: 10px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small) .forminator-result--quiz-name {\n display: block;\n flex: 1;\n align-self: center;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small) .forminator-result--content {\n display: flex;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small) .forminator-result--text+.forminator-result--image {\n max-width: 50%;\n margin-top: 0;\n margin-left: 10px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small).forminator-design--grid .forminator-quiz--result {\n text-align: center;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--flat:not(.forminator-size--small).forminator-design--grid .forminator-result {\n text-align: initial;\n }\n}\n\n.forminator-quiz.forminator-design--default {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-quiz.forminator-design--default:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-quiz.forminator-design--default:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default {\n margin: 30px auto;\n }\n}\n\n.forminator-quiz.forminator-design--default * {\n box-sizing: border-box;\n}\n\n.forminator-quiz.forminator-design--default .forminator-quiz--title,\n.forminator-quiz.forminator-design--default .forminator-quiz--description,\n.forminator-quiz.forminator-design--default .forminator-quiz--image {\n margin: 0 0 20px;\n}\n\n.forminator-quiz.forminator-design--default .forminator-quiz--title:last-child,\n.forminator-quiz.forminator-design--default .forminator-quiz--description:last-child,\n.forminator-quiz.forminator-design--default .forminator-quiz--image:last-child {\n margin-bottom: 0;\n}\n\n.forminator-quiz.forminator-design--default .forminator-quiz--title,\n.forminator-quiz.forminator-design--default .forminator-quiz--description {\n padding: 0;\n border: 0;\n letter-spacing: 0;\n text-transform: none;\n text-decoration: none;\n}\n\n.forminator-quiz.forminator-design--default .forminator-quiz--title {\n line-height: 1.4em;\n}\n\n.forminator-quiz.forminator-design--default .forminator-quiz--description {\n line-height: 1.7em;\n}\n\n.forminator-quiz.forminator-design--default .forminator-quiz--image {\n width: 100%;\n display: block;\n margin: 0;\n padding: 0;\n border: 0;\n}\n\n.forminator-quiz.forminator-design--default .forminator-quiz--image img {\n max-width: 100%;\n display: block;\n margin: 0 auto;\n border: 0;\n padding: 0;\n}\n\n.forminator-quiz.forminator-design--default .forminator-quiz--summary {\n margin: 20px 0;\n}\n\n.forminator-quiz.forminator-design--default .forminator-quiz--summary h1,\n.forminator-quiz.forminator-design--default .forminator-quiz--summary h2,\n.forminator-quiz.forminator-design--default .forminator-quiz--summary h3,\n.forminator-quiz.forminator-design--default .forminator-quiz--summary h4,\n.forminator-quiz.forminator-design--default .forminator-quiz--summary h5,\n.forminator-quiz.forminator-design--default .forminator-quiz--summary h6,\n.forminator-quiz.forminator-design--default .forminator-quiz--summary p {\n padding: 0;\n line-height: 1.2em;\n}\n\n.forminator-quiz.forminator-design--default .forminator-quiz--summary h1:first-child,\n.forminator-quiz.forminator-design--default .forminator-quiz--summary h2:first-child,\n.forminator-quiz.forminator-design--default .forminator-quiz--summary h3:first-child,\n.forminator-quiz.forminator-design--default .forminator-quiz--summary h4:first-child,\n.forminator-quiz.forminator-design--default .forminator-quiz--summary h5:first-child,\n.forminator-quiz.forminator-design--default .forminator-quiz--summary h6:first-child,\n.forminator-quiz.forminator-design--default .forminator-quiz--summary p:first-child {\n margin-top: 0;\n}\n\n.forminator-quiz.forminator-design--default .forminator-quiz--summary h1:last-child,\n.forminator-quiz.forminator-design--default .forminator-quiz--summary h2:last-child,\n.forminator-quiz.forminator-design--default .forminator-quiz--summary h3:last-child,\n.forminator-quiz.forminator-design--default .forminator-quiz--summary h4:last-child,\n.forminator-quiz.forminator-design--default .forminator-quiz--summary h5:last-child,\n.forminator-quiz.forminator-design--default .forminator-quiz--summary h6:last-child,\n.forminator-quiz.forminator-design--default .forminator-quiz--summary p:last-child {\n margin-bottom: 0;\n}\n\n.forminator-quiz.forminator-design--default .forminator-quiz--summary h1,\n.forminator-quiz.forminator-design--default .forminator-quiz--summary h2,\n.forminator-quiz.forminator-design--default .forminator-quiz--summary h3,\n.forminator-quiz.forminator-design--default .forminator-quiz--summary h4,\n.forminator-quiz.forminator-design--default .forminator-quiz--summary h5,\n.forminator-quiz.forminator-design--default .forminator-quiz--summary h6 {\n margin-top: 0.8em;\n margin-bottom: 0.8em;\n}\n\n.forminator-quiz.forminator-design--default .forminator-quiz--summary p {\n margin-top: 0.5em;\n margin-bottom: 0.5em;\n}\n\n.forminator-quiz.forminator-design--default .forminator-quiz--summary:first-child {\n margin-top: 0;\n}\n\n.forminator-quiz.forminator-design--default .forminator-quiz--summary:last-child {\n margin-bottom: 0;\n}\n\n.forminator-quiz.forminator-design--default .forminator-social--icons {\n margin: 10px -10px;\n list-style: none;\n}\n\n.forminator-quiz.forminator-design--default .forminator-social--icons li {\n display: inline-block;\n margin: 0;\n padding: 0 10px;\n border: 0;\n list-style: none;\n}\n\n.forminator-quiz.forminator-design--default .forminator-social--icons:first-child {\n margin-top: 0;\n}\n\n.forminator-quiz.forminator-design--default .forminator-social--icons:last-child {\n margin-bottom: 0;\n}\n\n.forminator-quiz.forminator-design--default .forminator-social--icon {\n line-height: 1;\n}\n\n.forminator-quiz.forminator-design--default .forminator-social--icon a {\n display: block;\n margin: 0;\n padding: 0;\n}\n\n.forminator-quiz.forminator-design--default .forminator-social--icon a,\n.forminator-quiz.forminator-design--default .forminator-social--icon a:hover,\n.forminator-quiz.forminator-design--default .forminator-social--icon a:active,\n.forminator-quiz.forminator-design--default .forminator-social--icon a:visited {\n border: 0;\n outline: none;\n box-shadow: none;\n text-decoration: none;\n}\n\n.forminator-quiz.forminator-design--default .forminator-social--icon a,\n.forminator-quiz.forminator-design--default .forminator-social--icon a:visited {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-quiz.forminator-design--default .forminator-social--icon a:hover,\n.forminator-quiz.forminator-design--default .forminator-social--icon a:active {\n filter: alpha(opacity=70);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=70);\n opacity: .7;\n -khtml-opacity: .7;\n}\n\n.forminator-quiz.forminator-design--default .forminator-social--icon a:before {\n display: block;\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small) .forminator-quiz--title:last-child,\n .forminator-quiz.forminator-design--default:not(.forminator-size--small) .forminator-quiz--description:last-child,\n .forminator-quiz.forminator-design--default:not(.forminator-size--small) .forminator-quiz--image:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small) .forminator-quiz--title,\n .forminator-quiz.forminator-design--default:not(.forminator-size--small) .forminator-quiz--description,\n .forminator-quiz.forminator-design--default:not(.forminator-size--small) .forminator-quiz--image {\n margin: 0 0 30px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small) .forminator-quiz--summary:first-child {\n margin-top: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small) .forminator-quiz--summary:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small) .forminator-quiz--summary {\n margin: 30px 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small) .forminator-social--icons li {\n padding: 0 15px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small) .forminator-social--icons:first-child {\n margin-top: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small) .forminator-social--icons:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small) .forminator-social--icons {\n margin: 15px -15px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small).forminator-design--grid .forminator-quiz--title,\n .forminator-quiz.forminator-design--default:not(.forminator-size--small).forminator-design--grid .forminator-quiz--description {\n text-align: center;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small).forminator-design--grid .forminator-quiz--image img {\n margin: 0 auto;\n }\n}\n\n.forminator-quiz.forminator-design--default .forminator-question {\n margin: 20px 0;\n padding: 0;\n border: 0;\n}\n\n.forminator-quiz.forminator-design--default .forminator-question legend {\n margin: 0;\n line-height: 1.7em;\n letter-spacing: 0;\n}\n\n.forminator-quiz.forminator-design--default .forminator-question .forminator-question--result {\n padding-bottom: 20px;\n border-bottom: 1px solid rgba(0,0,0,0.12);\n}\n\n.forminator-quiz.forminator-design--default .forminator-question .forminator-question--result span {\n display: block;\n line-height: 1.8em;\n}\n\n.forminator-quiz.forminator-design--default .forminator-question .forminator-question--has-image img {\n width: auto;\n max-width: 100%;\n height: auto;\n display: block;\n margin: 0;\n padding: 0;\n border: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small) .forminator-question {\n margin: 30px 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small) .forminator-question .forminator-question--result {\n padding-bottom: 30px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small).forminator-design--grid .forminator-question legend,\n .forminator-quiz.forminator-design--default:not(.forminator-size--small).forminator-design--grid .forminator-question .forminator-question--result {\n display: block;\n flex: 0 0 100%;\n padding: 0 15px;\n text-align: center;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small).forminator-design--grid .forminator-question .forminator-question--result span {\n display: inline-flex;\n padding: 0 15px 15px;\n border-bottom: 1px solid rgba(0,0,0,0.12);\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small).forminator-design--grid .forminator-question .forminator-question--result {\n padding-bottom: 0;\n border-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small).forminator-design--grid .forminator-question {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n.forminator-quiz.forminator-design--default .forminator-answer {\n margin: 10px 0;\n pointer-events: none;\n}\n\n.forminator-quiz.forminator-design--default .forminator-answer,\n.forminator-quiz.forminator-design--default .forminator-answer span {\n display: block;\n}\n\n.forminator-quiz.forminator-design--default .forminator-answer input:checked+span {\n pointer-events: none;\n}\n\n.forminator-quiz.forminator-design--default .forminator-answer input:checked+span .forminator-answer--check:after,\n.forminator-quiz.forminator-design--default .forminator-answer input:checked+span .forminator-answer--status:after {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-quiz.forminator-design--default .forminator-answer input:checked+span .forminator-answer--check:before,\n.forminator-quiz.forminator-design--default .forminator-answer input:checked+span .forminator-answer--status:before {\n animation-name: click-animation;\n}\n\n.forminator-quiz.forminator-design--default .forminator-answer input:disabled+span,\n.forminator-quiz.forminator-design--default .forminator-answer input.forminator-has-been-disabled+span {\n pointer-events: none;\n}\n\n.forminator-quiz.forminator-design--default .forminator-answer .forminator-answer--design {\n width: 100%;\n cursor: pointer;\n pointer-events: initial;\n display: flex;\n position: relative;\n padding: 9px;\n border-width: 1px;\n border-style: solid;\n border-radius: 2px;\n transition: 0.3s ease;\n}\n\n.forminator-quiz.forminator-design--default .forminator-answer .forminator-answer--image {\n width: 80px;\n height: 80px;\n background-color: transparent;\n background-repeat: no-repeat;\n background-size: cover;\n background-position: center;\n}\n\n.forminator-quiz.forminator-design--default .forminator-answer .forminator-answer--image+.forminator-answer--check,\n.forminator-quiz.forminator-design--default .forminator-answer .forminator-answer--image+.forminator-answer--status {\n margin-top: 25px;\n margin-left: 10px;\n}\n\n.forminator-quiz.forminator-design--default .forminator-answer .forminator-answer--check,\n.forminator-quiz.forminator-design--default .forminator-answer .forminator-answer--status {\n width: 30px;\n height: 30px;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n border-width: 1px;\n border-style: solid;\n border-radius: 2px;\n transition: 0.3s ease;\n}\n\n.forminator-quiz.forminator-design--default .forminator-answer .forminator-answer--check+.forminator-answer--name,\n.forminator-quiz.forminator-design--default .forminator-answer .forminator-answer--status+.forminator-answer--name {\n margin-left: 10px;\n}\n\n.forminator-quiz.forminator-design--default .forminator-answer .forminator-answer--check:after {\n content: \"(\";\n filter: alpha(opacity=0);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);\n opacity: 0;\n -khtml-opacity: 0;\n display: block;\n font-size: 14px;\n}\n\n.forminator-quiz.forminator-design--default .forminator-answer .forminator-answer--status:after {\n filter: alpha(opacity=0);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);\n opacity: 0;\n -khtml-opacity: 0;\n display: block;\n font-size: 14px;\n}\n\n.forminator-quiz.forminator-design--default .forminator-answer .forminator-answer--name {\n flex: 1;\n align-self: center;\n}\n\n.forminator-quiz.forminator-design--default .forminator-answer:first-child {\n margin-top: 0;\n}\n\n.forminator-quiz.forminator-design--default .forminator-answer:last-child {\n margin-bottom: 0;\n}\n\n.forminator-quiz.forminator-design--default .forminator-answer.forminator-is_correct .forminator-answer--status:after {\n content: \"\\28\";\n}\n\n.forminator-quiz.forminator-design--default .forminator-answer.forminator-is_incorrect .forminator-answer--status:after {\n content: \"\\29\";\n}\n\n.forminator-quiz.forminator-design--default .forminator-answer.forminator-empty,\n.forminator-quiz.forminator-design--default .forminator-answer.forminator-only--image {\n max-width: 100px;\n}\n\n.forminator-quiz.forminator-design--default .forminator-answer.forminator-empty .forminator-answer--design {\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100px;\n}\n\n.forminator-quiz.forminator-design--default .forminator-answer:not(.forminator-only--text):not(.forminator-empty) .forminator-answer--check {\n margin-top: 25px;\n}\n\n.forminator-quiz.forminator-design--default .forminator-answer.forminator-only--image .forminator-answer--check,\n.forminator-quiz.forminator-design--default .forminator-answer.forminator-only--image .forminator-answer--status {\n display: none;\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small) .forminator-answer:first-child {\n margin-top: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small) .forminator-answer:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small) .forminator-answer {\n margin: 15px 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--design {\n display: block;\n height: 100%;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--image+.forminator-answer--check,\n .forminator-quiz.forminator-design--default:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--image+.forminator-answer--status {\n margin-left: 0;\n top: 189px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--image {\n width: 100%;\n height: 170px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--check:after,\n .forminator-quiz.forminator-design--default:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--status:after {\n font-size: 12px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--check+.forminator-answer--name,\n .forminator-quiz.forminator-design--default:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--status+.forminator-answer--name {\n margin-left: 32px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--check,\n .forminator-quiz.forminator-design--default:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--status {\n width: 22px;\n height: 22px;\n position: absolute;\n margin-top: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--name {\n flex: 1;\n align-self: unset;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small).forminator-design--grid .forminator-answer:not(.forminator-only--text) .forminator-answer--check+.forminator-answer--name,\n .forminator-quiz.forminator-design--default:not(.forminator-size--small).forminator-design--grid .forminator-answer:not(.forminator-only--text) .forminator-answer--status+.forminator-answer--name {\n margin-top: 10px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small).forminator-design--grid .forminator-answer.forminator-empty .forminator-answer--design {\n display: flex;\n height: 170px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small).forminator-design--grid .forminator-answer.forminator-empty .forminator-answer--image+.forminator-answer--check {\n top: 189px;\n left: 9px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small).forminator-design--grid .forminator-answer.forminator-only--text .forminator-answer--design {\n display: flex;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small).forminator-design--grid .forminator-answer {\n max-width: 33.33%;\n flex: 0 0 33.33%;\n margin: 15px 0;\n padding: 0 15px;\n }\n}\n\n.forminator-quiz.forminator-design--default a.forminator-button,\n.forminator-quiz.forminator-design--default button.forminator-button {\n width: 100%;\n cursor: pointer;\n display: block;\n margin: 20px 0;\n border: 0;\n text-align: center;\n text-transform: none;\n padding: 10px;\n border-radius: 2px;\n line-height: 20px;\n transition: 0.3s ease;\n}\n\n.forminator-quiz.forminator-design--default a.forminator-button,\n.forminator-quiz.forminator-design--default a.forminator-button:hover,\n.forminator-quiz.forminator-design--default a.forminator-button:active,\n.forminator-quiz.forminator-design--default a.forminator-button:visited,\n.forminator-quiz.forminator-design--default a.forminator-button:disabled,\n.forminator-quiz.forminator-design--default button.forminator-button,\n.forminator-quiz.forminator-design--default button.forminator-button:hover,\n.forminator-quiz.forminator-design--default button.forminator-button:active,\n.forminator-quiz.forminator-design--default button.forminator-button:visited,\n.forminator-quiz.forminator-design--default button.forminator-button:disabled {\n outline: none;\n box-shadow: none;\n text-decoration: none;\n}\n\n.forminator-quiz.forminator-design--default a.forminator-button,\n.forminator-quiz.forminator-design--default a.forminator-button:hover,\n.forminator-quiz.forminator-design--default a.forminator-button:active,\n.forminator-quiz.forminator-design--default a.forminator-button:visited,\n.forminator-quiz.forminator-design--default button.forminator-button,\n.forminator-quiz.forminator-design--default button.forminator-button:hover,\n.forminator-quiz.forminator-design--default button.forminator-button:active,\n.forminator-quiz.forminator-design--default button.forminator-button:visited {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-quiz.forminator-design--default a.forminator-button:disabled,\n.forminator-quiz.forminator-design--default button.forminator-button:disabled {\n filter: alpha(opacity=25);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=25);\n opacity: .25;\n -khtml-opacity: .25;\n}\n\n.forminator-quiz.forminator-design--default a.forminator-button:first-child,\n.forminator-quiz.forminator-design--default button.forminator-button:first-child {\n margin-top: 0;\n}\n\n.forminator-quiz.forminator-design--default a.forminator-button:last-child,\n.forminator-quiz.forminator-design--default button.forminator-button:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small) a.forminator-button:first-child,\n .forminator-quiz.forminator-design--default:not(.forminator-size--small) button.forminator-button:first-child {\n margin-left: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small) a.forminator-button:last-child,\n .forminator-quiz.forminator-design--default:not(.forminator-size--small) button.forminator-button:last-child {\n margin-right: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small) a.forminator-button,\n .forminator-quiz.forminator-design--default:not(.forminator-size--small) button.forminator-button {\n width: auto;\n min-width: 100px;\n display: inline-block;\n margin: 0 15px;\n }\n}\n\n.forminator-quiz.forminator-design--default .forminator-quiz--result {\n margin: 20px 0;\n}\n\n.forminator-quiz.forminator-design--default .forminator-quiz--result:first-child {\n margin-top: 0;\n}\n\n.forminator-quiz.forminator-design--default .forminator-quiz--result:last-child {\n margin-bottom: 0;\n}\n\n.forminator-quiz.forminator-design--default .forminator-result {\n display: flex;\n flex-direction: column-reverse;\n padding: 9px;\n border-width: 1px;\n border-style: solid;\n border-radius: 2px;\n}\n\n.forminator-quiz.forminator-design--default .forminator-result+.forminator-social--share {\n margin: 30px 0 0;\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default .forminator-result+.forminator-social--share {\n margin: 30px 0 0;\n }\n}\n\n.forminator-quiz.forminator-design--default .forminator-result--image {\n height: auto;\n max-height: 150px;\n display: block;\n padding: 0;\n border: 0;\n width: auto;\n margin: 0 auto;\n}\n\n.forminator-quiz.forminator-design--default .forminator-result--title {\n margin: 0;\n padding: 0;\n border: 0;\n}\n\n.forminator-quiz.forminator-design--default .forminator-result--title {\n line-height: 2.3em;\n}\n\n.forminator-quiz.forminator-design--default .forminator-result--title+.forminator-result--description {\n margin-top: 10px;\n}\n\n.forminator-quiz.forminator-design--default .forminator-result--description,\n.forminator-quiz.forminator-design--default .forminator-result--description p {\n line-height: 1.9em;\n}\n\n.forminator-quiz.forminator-design--default .forminator-result--description h1:first-child,\n.forminator-quiz.forminator-design--default .forminator-result--description h2:first-child,\n.forminator-quiz.forminator-design--default .forminator-result--description h3:first-child,\n.forminator-quiz.forminator-design--default .forminator-result--description h4:first-child,\n.forminator-quiz.forminator-design--default .forminator-result--description h5:first-child,\n.forminator-quiz.forminator-design--default .forminator-result--description h6:first-child,\n.forminator-quiz.forminator-design--default .forminator-result--description p:first-child,\n.forminator-quiz.forminator-design--default .forminator-result--description ol:first-child,\n.forminator-quiz.forminator-design--default .forminator-result--description ul:first-child {\n margin-top: 0;\n}\n\n.forminator-quiz.forminator-design--default .forminator-result--description h1:last-child,\n.forminator-quiz.forminator-design--default .forminator-result--description h2:last-child,\n.forminator-quiz.forminator-design--default .forminator-result--description h3:last-child,\n.forminator-quiz.forminator-design--default .forminator-result--description h4:last-child,\n.forminator-quiz.forminator-design--default .forminator-result--description h5:last-child,\n.forminator-quiz.forminator-design--default .forminator-result--description h6:last-child,\n.forminator-quiz.forminator-design--default .forminator-result--description p:last-child,\n.forminator-quiz.forminator-design--default .forminator-result--description ol:last-child,\n.forminator-quiz.forminator-design--default .forminator-result--description ul:last-child {\n margin-bottom: 0;\n}\n\n.forminator-quiz.forminator-design--default .forminator-result--retake {\n margin: 0;\n width: 100%;\n display: block;\n padding: 10px;\n border-radius: 2px;\n line-height: 20px;\n}\n\n.forminator-quiz.forminator-design--default .forminator-result--retake .wpdui-icon {\n font-size: 12px;\n}\n\n.forminator-quiz.forminator-design--default .forminator-result--info {\n margin-top: 10px;\n}\n\n.forminator-quiz.forminator-design--default .forminator-result--quiz-name {\n display: none;\n}\n\n.forminator-quiz.forminator-design--default .forminator-result--text {\n padding: 10px;\n}\n\n.forminator-quiz.forminator-design--default .forminator-result--text+.forminator-result--image {\n margin-top: 10px;\n}\n\n.forminator-quiz.forminator-design--default .forminator-result--text * {\n word-break: break-word;\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small) .forminator-quiz--result:first-child {\n margin-top: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small) .forminator-quiz--result:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small) .forminator-quiz--result {\n margin: 30px 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small) .forminator-result {\n display: block;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small) .forminator-result--retake {\n width: auto;\n flex: 0 0 auto;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small) .forminator-result--info {\n display: flex;\n margin-top: 0;\n margin-bottom: 10px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small) .forminator-result--quiz-name+.forminator-result--retake {\n margin-left: 10px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small) .forminator-result--quiz-name {\n display: block;\n flex: 1;\n align-self: center;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small) .forminator-result--content {\n display: flex;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small) .forminator-result--text+.forminator-result--image {\n max-width: 50%;\n margin-top: 0;\n margin-left: 10px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small).forminator-design--grid .forminator-quiz--result {\n text-align: center;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--default:not(.forminator-size--small).forminator-design--grid .forminator-result {\n text-align: initial;\n }\n}\n\n.forminator-quiz.forminator-design--material {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-quiz.forminator-design--material:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-quiz.forminator-design--material:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material {\n margin: 30px auto;\n }\n}\n\n.forminator-quiz.forminator-design--material * {\n box-sizing: border-box;\n}\n\n.forminator-quiz.forminator-design--material .forminator-quiz--title,\n.forminator-quiz.forminator-design--material .forminator-quiz--description,\n.forminator-quiz.forminator-design--material .forminator-quiz--image {\n margin: 0 0 20px;\n}\n\n.forminator-quiz.forminator-design--material .forminator-quiz--title:last-child,\n.forminator-quiz.forminator-design--material .forminator-quiz--description:last-child,\n.forminator-quiz.forminator-design--material .forminator-quiz--image:last-child {\n margin-bottom: 0;\n}\n\n.forminator-quiz.forminator-design--material .forminator-quiz--title,\n.forminator-quiz.forminator-design--material .forminator-quiz--description {\n padding: 0;\n border: 0;\n letter-spacing: 0;\n text-transform: none;\n text-decoration: none;\n}\n\n.forminator-quiz.forminator-design--material .forminator-quiz--title {\n line-height: 1.4em;\n}\n\n.forminator-quiz.forminator-design--material .forminator-quiz--description {\n line-height: 1.7em;\n}\n\n.forminator-quiz.forminator-design--material .forminator-quiz--image {\n width: 100%;\n display: block;\n margin: 0;\n padding: 0;\n border: 0;\n}\n\n.forminator-quiz.forminator-design--material .forminator-quiz--image img {\n max-width: 100%;\n display: block;\n margin: 0 auto;\n border: 0;\n padding: 0;\n}\n\n.forminator-quiz.forminator-design--material .forminator-quiz--summary {\n margin: 20px 0;\n}\n\n.forminator-quiz.forminator-design--material .forminator-quiz--summary h1,\n.forminator-quiz.forminator-design--material .forminator-quiz--summary h2,\n.forminator-quiz.forminator-design--material .forminator-quiz--summary h3,\n.forminator-quiz.forminator-design--material .forminator-quiz--summary h4,\n.forminator-quiz.forminator-design--material .forminator-quiz--summary h5,\n.forminator-quiz.forminator-design--material .forminator-quiz--summary h6,\n.forminator-quiz.forminator-design--material .forminator-quiz--summary p {\n padding: 0;\n line-height: 1.2em;\n}\n\n.forminator-quiz.forminator-design--material .forminator-quiz--summary h1:first-child,\n.forminator-quiz.forminator-design--material .forminator-quiz--summary h2:first-child,\n.forminator-quiz.forminator-design--material .forminator-quiz--summary h3:first-child,\n.forminator-quiz.forminator-design--material .forminator-quiz--summary h4:first-child,\n.forminator-quiz.forminator-design--material .forminator-quiz--summary h5:first-child,\n.forminator-quiz.forminator-design--material .forminator-quiz--summary h6:first-child,\n.forminator-quiz.forminator-design--material .forminator-quiz--summary p:first-child {\n margin-top: 0;\n}\n\n.forminator-quiz.forminator-design--material .forminator-quiz--summary h1:last-child,\n.forminator-quiz.forminator-design--material .forminator-quiz--summary h2:last-child,\n.forminator-quiz.forminator-design--material .forminator-quiz--summary h3:last-child,\n.forminator-quiz.forminator-design--material .forminator-quiz--summary h4:last-child,\n.forminator-quiz.forminator-design--material .forminator-quiz--summary h5:last-child,\n.forminator-quiz.forminator-design--material .forminator-quiz--summary h6:last-child,\n.forminator-quiz.forminator-design--material .forminator-quiz--summary p:last-child {\n margin-bottom: 0;\n}\n\n.forminator-quiz.forminator-design--material .forminator-quiz--summary h1,\n.forminator-quiz.forminator-design--material .forminator-quiz--summary h2,\n.forminator-quiz.forminator-design--material .forminator-quiz--summary h3,\n.forminator-quiz.forminator-design--material .forminator-quiz--summary h4,\n.forminator-quiz.forminator-design--material .forminator-quiz--summary h5,\n.forminator-quiz.forminator-design--material .forminator-quiz--summary h6 {\n margin-top: 0.8em;\n margin-bottom: 0.8em;\n}\n\n.forminator-quiz.forminator-design--material .forminator-quiz--summary p {\n margin-top: 0.5em;\n margin-bottom: 0.5em;\n}\n\n.forminator-quiz.forminator-design--material .forminator-quiz--summary:first-child {\n margin-top: 0;\n}\n\n.forminator-quiz.forminator-design--material .forminator-quiz--summary:last-child {\n margin-bottom: 0;\n}\n\n.forminator-quiz.forminator-design--material .forminator-social--icons {\n margin: 10px -10px;\n list-style: none;\n}\n\n.forminator-quiz.forminator-design--material .forminator-social--icons li {\n display: inline-block;\n margin: 0;\n padding: 0 10px;\n border: 0;\n list-style: none;\n}\n\n.forminator-quiz.forminator-design--material .forminator-social--icons:first-child {\n margin-top: 0;\n}\n\n.forminator-quiz.forminator-design--material .forminator-social--icons:last-child {\n margin-bottom: 0;\n}\n\n.forminator-quiz.forminator-design--material .forminator-social--icon {\n line-height: 1;\n}\n\n.forminator-quiz.forminator-design--material .forminator-social--icon a {\n display: block;\n margin: 0;\n padding: 0;\n}\n\n.forminator-quiz.forminator-design--material .forminator-social--icon a,\n.forminator-quiz.forminator-design--material .forminator-social--icon a:hover,\n.forminator-quiz.forminator-design--material .forminator-social--icon a:active,\n.forminator-quiz.forminator-design--material .forminator-social--icon a:visited {\n border: 0;\n outline: none;\n box-shadow: none;\n text-decoration: none;\n}\n\n.forminator-quiz.forminator-design--material .forminator-social--icon a,\n.forminator-quiz.forminator-design--material .forminator-social--icon a:visited {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-quiz.forminator-design--material .forminator-social--icon a:hover,\n.forminator-quiz.forminator-design--material .forminator-social--icon a:active {\n filter: alpha(opacity=70);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=70);\n opacity: .7;\n -khtml-opacity: .7;\n}\n\n.forminator-quiz.forminator-design--material .forminator-social--icon a:before {\n display: block;\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material:not(.forminator-size--small) .forminator-quiz--title:last-child,\n .forminator-quiz.forminator-design--material:not(.forminator-size--small) .forminator-quiz--description:last-child,\n .forminator-quiz.forminator-design--material:not(.forminator-size--small) .forminator-quiz--image:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material:not(.forminator-size--small) .forminator-quiz--title,\n .forminator-quiz.forminator-design--material:not(.forminator-size--small) .forminator-quiz--description,\n .forminator-quiz.forminator-design--material:not(.forminator-size--small) .forminator-quiz--image {\n margin: 0 0 30px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material:not(.forminator-size--small) .forminator-quiz--summary:first-child {\n margin-top: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material:not(.forminator-size--small) .forminator-quiz--summary:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material:not(.forminator-size--small) .forminator-quiz--summary {\n margin: 30px 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material:not(.forminator-size--small) .forminator-social--icons li {\n padding: 0 15px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material:not(.forminator-size--small) .forminator-social--icons:first-child {\n margin-top: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material:not(.forminator-size--small) .forminator-social--icons:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material:not(.forminator-size--small) .forminator-social--icons {\n margin: 15px -15px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material:not(.forminator-size--small).forminator-design--grid .forminator-quiz--title,\n .forminator-quiz.forminator-design--material:not(.forminator-size--small).forminator-design--grid .forminator-quiz--description {\n text-align: center;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material:not(.forminator-size--small).forminator-design--grid .forminator-quiz--image img {\n margin: 0 auto;\n }\n}\n\n.forminator-quiz.forminator-design--material .forminator-question {\n margin: 20px 0;\n padding: 0;\n border: 0;\n}\n\n.forminator-quiz.forminator-design--material .forminator-question legend {\n margin: 0;\n line-height: 1.7em;\n letter-spacing: 0;\n}\n\n.forminator-quiz.forminator-design--material .forminator-question .forminator-question--result {\n padding-bottom: 20px;\n border-bottom: 1px solid rgba(0,0,0,0.12);\n}\n\n.forminator-quiz.forminator-design--material .forminator-question .forminator-question--result span {\n display: block;\n line-height: 1.8em;\n}\n\n.forminator-quiz.forminator-design--material .forminator-question .forminator-question--has-image img {\n width: auto;\n max-width: 100%;\n height: auto;\n display: block;\n margin: 0;\n padding: 0;\n border: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material:not(.forminator-size--small) .forminator-question {\n margin: 30px 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material:not(.forminator-size--small) .forminator-question .forminator-question--result {\n padding-bottom: 30px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material:not(.forminator-size--small).forminator-design--grid .forminator-question legend,\n .forminator-quiz.forminator-design--material:not(.forminator-size--small).forminator-design--grid .forminator-question .forminator-question--result {\n display: block;\n flex: 0 0 100%;\n padding: 0 15px;\n text-align: center;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material:not(.forminator-size--small).forminator-design--grid .forminator-question .forminator-question--result span {\n display: inline-flex;\n padding: 0 15px 15px;\n border-bottom: 1px solid rgba(0,0,0,0.12);\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material:not(.forminator-size--small).forminator-design--grid .forminator-question .forminator-question--result {\n padding-bottom: 0;\n border-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material:not(.forminator-size--small).forminator-design--grid .forminator-question {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n.forminator-quiz.forminator-design--material .forminator-answer {\n margin: 10px 0;\n pointer-events: none;\n}\n\n.forminator-quiz.forminator-design--material .forminator-answer,\n.forminator-quiz.forminator-design--material .forminator-answer span {\n display: block;\n}\n\n.forminator-quiz.forminator-design--material .forminator-answer input:checked+span {\n pointer-events: none;\n box-shadow: 0 3px 8px rgba(0,0,0,0.3);\n}\n\n.forminator-quiz.forminator-design--material .forminator-answer input:checked+span .forminator-answer--check:after,\n.forminator-quiz.forminator-design--material .forminator-answer input:checked+span .forminator-answer--status:after {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-quiz.forminator-design--material .forminator-answer input:checked+span .forminator-answer--check:before,\n.forminator-quiz.forminator-design--material .forminator-answer input:checked+span .forminator-answer--status:before {\n animation-name: click-animation;\n}\n\n.forminator-quiz.forminator-design--material .forminator-answer input:checked+span .forminator-answer--image:before {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-quiz.forminator-design--material .forminator-answer input:disabled+span,\n.forminator-quiz.forminator-design--material .forminator-answer input.forminator-has-been-disabled+span {\n pointer-events: none;\n}\n\n.forminator-quiz.forminator-design--material .forminator-answer .forminator-answer--design {\n width: 100%;\n cursor: pointer;\n pointer-events: initial;\n display: flex;\n position: relative;\n border-radius: 2px;\n box-shadow: 0 1px 1px rgba(0,0,0,0.3);\n transition: 0.25s ease;\n overflow: hidden;\n}\n\n.forminator-quiz.forminator-design--material .forminator-answer .forminator-answer--design:hover {\n box-shadow: 0 3px 8px rgba(0,0,0,0.3);\n}\n\n.forminator-quiz.forminator-design--material .forminator-answer .forminator-answer--image {\n width: 80px;\n height: 80px;\n background-color: transparent;\n background-repeat: no-repeat;\n background-size: cover;\n background-position: center;\n position: relative;\n}\n\n.forminator-quiz.forminator-design--material .forminator-answer .forminator-answer--image:before {\n content: \" \";\n filter: alpha(opacity=0);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);\n opacity: 0;\n -khtml-opacity: 0;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-color: rgba(0,0,0,0.6);\n transition: 0.25s ease;\n}\n\n.forminator-quiz.forminator-design--material .forminator-answer .forminator-answer--image+.forminator-answer--check,\n.forminator-quiz.forminator-design--material .forminator-answer .forminator-answer--image+.forminator-answer--status {\n position: absolute;\n top: 25px;\n left: 25px;\n}\n\n.forminator-quiz.forminator-design--material .forminator-answer .forminator-answer--check,\n.forminator-quiz.forminator-design--material .forminator-answer .forminator-answer--status {\n width: 30px;\n height: 30px;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n border-width: 2px;\n border-style: solid;\n border-radius: 2px;\n transition: 0.25s ease;\n}\n\n.forminator-quiz.forminator-design--material .forminator-answer .forminator-answer--check+.forminator-answer--name,\n.forminator-quiz.forminator-design--material .forminator-answer .forminator-answer--status+.forminator-answer--name {\n margin-left: 10px;\n}\n\n.forminator-quiz.forminator-design--material .forminator-answer .forminator-answer--check:before,\n.forminator-quiz.forminator-design--material .forminator-answer .forminator-answer--status:before {\n content: \" \";\n width: 30px;\n height: 30px;\n position: absolute;\n border-radius: 50%;\n transform: scale(0);\n transform-origin: center;\n transform-style: preserve-3d;\n animation-duration: 1s;\n animation-fill-mode: both;\n}\n\n.forminator-quiz.forminator-design--material .forminator-answer .forminator-answer--check:after {\n content: \"(\";\n filter: alpha(opacity=0);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);\n opacity: 0;\n -khtml-opacity: 0;\n display: block;\n font-size: 14px;\n}\n\n.forminator-quiz.forminator-design--material .forminator-answer .forminator-answer--status:after {\n filter: alpha(opacity=0);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);\n opacity: 0;\n -khtml-opacity: 0;\n display: block;\n font-size: 14px;\n}\n\n.forminator-quiz.forminator-design--material .forminator-answer .forminator-answer--name {\n flex: 1;\n align-self: center;\n}\n\n.forminator-quiz.forminator-design--material .forminator-answer:first-child {\n margin-top: 0;\n}\n\n.forminator-quiz.forminator-design--material .forminator-answer:last-child {\n margin-bottom: 0;\n}\n\n.forminator-quiz.forminator-design--material .forminator-answer.forminator-is_correct .forminator-answer--status:after {\n content: \"\\28\";\n}\n\n.forminator-quiz.forminator-design--material .forminator-answer.forminator-is_incorrect .forminator-answer--status:after {\n content: \"\\29\";\n}\n\n.forminator-quiz.forminator-design--material .forminator-answer.forminator-empty,\n.forminator-quiz.forminator-design--material .forminator-answer.forminator-only--image {\n max-width: 80px;\n}\n\n.forminator-quiz.forminator-design--material .forminator-answer.forminator-empty .forminator-answer--design {\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 80px;\n}\n\n.forminator-quiz.forminator-design--material .forminator-answer.forminator-only--text .forminator-answer--design {\n padding: 10px;\n}\n\n.forminator-quiz.forminator-design--material .forminator-answer:not(.forminator-only--text) .forminator-answer--name {\n padding: 10px 10px 10px 0;\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material:not(.forminator-size--small) .forminator-answer:first-child {\n margin-top: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material:not(.forminator-size--small) .forminator-answer:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material:not(.forminator-size--small) .forminator-answer {\n margin: 15px 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--design {\n display: block;\n height: 100%;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--image+.forminator-answer--check,\n .forminator-quiz.forminator-design--material:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--image+.forminator-answer--status {\n margin-left: 0;\n left: auto;\n top: 10px;\n right: 10px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--image {\n width: 100%;\n height: 170px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--check:after,\n .forminator-quiz.forminator-design--material:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--status:after {\n font-size: 12px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--check+.forminator-answer--name,\n .forminator-quiz.forminator-design--material:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--status+.forminator-answer--name {\n margin-left: 10px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--check,\n .forminator-quiz.forminator-design--material:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--status {\n width: 22px;\n height: 22px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material:not(.forminator-size--small).forminator-design--grid .forminator-answer .forminator-answer--name {\n flex: 1;\n align-self: unset;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material:not(.forminator-size--small).forminator-design--grid .forminator-answer:not(.forminator-only--text) .forminator-answer--check+.forminator-answer--name,\n .forminator-quiz.forminator-design--material:not(.forminator-size--small).forminator-design--grid .forminator-answer:not(.forminator-only--text) .forminator-answer--status+.forminator-answer--name {\n margin-top: 10px;\n padding-top: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material:not(.forminator-size--small).forminator-design--grid .forminator-answer.forminator-empty .forminator-answer--design {\n display: flex;\n height: 170px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material:not(.forminator-size--small).forminator-design--grid .forminator-answer.forminator-empty .forminator-answer--image+.forminator-answer--check {\n top: 188px;\n left: 8px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material:not(.forminator-size--small).forminator-design--grid .forminator-answer.forminator-only--text .forminator-answer--design {\n display: flex;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material:not(.forminator-size--small).forminator-design--grid .forminator-answer {\n max-width: 33.33%;\n flex: 0 0 33.33%;\n margin: 15px 0;\n padding: 0 15px;\n }\n}\n\n.forminator-quiz.forminator-design--material a.forminator-button,\n.forminator-quiz.forminator-design--material button.forminator-button {\n width: 100%;\n cursor: pointer;\n display: block;\n margin: 20px 0;\n border: 0;\n text-align: center;\n text-transform: none;\n overflow: hidden;\n position: relative;\n padding: 10px;\n border-radius: 2px;\n line-height: 20px;\n transition: 0.25s ease;\n}\n\n.forminator-quiz.forminator-design--material a.forminator-button,\n.forminator-quiz.forminator-design--material a.forminator-button:hover,\n.forminator-quiz.forminator-design--material a.forminator-button:active,\n.forminator-quiz.forminator-design--material a.forminator-button:visited,\n.forminator-quiz.forminator-design--material a.forminator-button:disabled,\n.forminator-quiz.forminator-design--material button.forminator-button,\n.forminator-quiz.forminator-design--material button.forminator-button:hover,\n.forminator-quiz.forminator-design--material button.forminator-button:active,\n.forminator-quiz.forminator-design--material button.forminator-button:visited,\n.forminator-quiz.forminator-design--material button.forminator-button:disabled {\n outline: none;\n box-shadow: none;\n text-decoration: none;\n}\n\n.forminator-quiz.forminator-design--material a.forminator-button,\n.forminator-quiz.forminator-design--material a.forminator-button:hover,\n.forminator-quiz.forminator-design--material a.forminator-button:active,\n.forminator-quiz.forminator-design--material a.forminator-button:visited,\n.forminator-quiz.forminator-design--material button.forminator-button,\n.forminator-quiz.forminator-design--material button.forminator-button:hover,\n.forminator-quiz.forminator-design--material button.forminator-button:active,\n.forminator-quiz.forminator-design--material button.forminator-button:visited {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-quiz.forminator-design--material a.forminator-button:disabled,\n.forminator-quiz.forminator-design--material button.forminator-button:disabled {\n filter: alpha(opacity=25);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=25);\n opacity: .25;\n -khtml-opacity: .25;\n}\n\n.forminator-quiz.forminator-design--material a.forminator-button:first-child,\n.forminator-quiz.forminator-design--material button.forminator-button:first-child {\n margin-top: 0;\n}\n\n.forminator-quiz.forminator-design--material a.forminator-button:last-child,\n.forminator-quiz.forminator-design--material button.forminator-button:last-child {\n margin-bottom: 0;\n}\n\n.forminator-quiz.forminator-design--material a.forminator-button .forminator-button--mask,\n.forminator-quiz.forminator-design--material a.forminator-button .forminator-button--text,\n.forminator-quiz.forminator-design--material button.forminator-button .forminator-button--mask,\n.forminator-quiz.forminator-design--material button.forminator-button .forminator-button--text {\n display: block;\n}\n\n.forminator-quiz.forminator-design--material a.forminator-button .forminator-button--mask,\n.forminator-quiz.forminator-design--material button.forminator-button .forminator-button--mask {\n width: 0;\n position: absolute;\n top: 50%;\n left: 50%;\n padding: 0;\n border-radius: 100%;\n background-color: rgba(0,0,0,0.12);\n transform: translate(-50%, -50%);\n transition: width 450ms cubic-bezier(0.23, 1, 0.32, 1),0.2s ease-out;\n}\n\n.forminator-quiz.forminator-design--material a.forminator-button:active,\n.forminator-quiz.forminator-design--material button.forminator-button:active {\n box-shadow: 0 1px 4px 0 rgba(0,0,0,0.6);\n}\n\n.forminator-quiz.forminator-design--material a.forminator-button:active .forminator-button--mask,\n.forminator-quiz.forminator-design--material button.forminator-button:active .forminator-button--mask {\n width: 120%;\n padding: 120% 0 0;\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material:not(.forminator-size--small) a.forminator-button:first-child,\n .forminator-quiz.forminator-design--material:not(.forminator-size--small) button.forminator-button:first-child {\n margin-left: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material:not(.forminator-size--small) a.forminator-button:last-child,\n .forminator-quiz.forminator-design--material:not(.forminator-size--small) button.forminator-button:last-child {\n margin-right: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material:not(.forminator-size--small) a.forminator-button,\n .forminator-quiz.forminator-design--material:not(.forminator-size--small) button.forminator-button {\n width: auto;\n min-width: 100px;\n display: inline-block;\n margin: 0 15px;\n }\n}\n\n.forminator-quiz.forminator-design--material .forminator-quiz--result {\n margin: 20px 0;\n}\n\n.forminator-quiz.forminator-design--material .forminator-quiz--result:first-child {\n margin-top: 0;\n}\n\n.forminator-quiz.forminator-design--material .forminator-quiz--result:last-child {\n margin-bottom: 0;\n}\n\n.forminator-quiz.forminator-design--material .forminator-result {\n border-radius: 2px;\n overflow: hidden;\n box-shadow: 0 1px 1px rgba(0,0,0,0.3);\n}\n\n.forminator-quiz.forminator-design--material .forminator-result hr {\n display: block;\n padding: 0;\n border: 0;\n display: block;\n background-color: rgba(0,0,0,0.1);\n margin: 10px 0;\n}\n\n.forminator-quiz.forminator-design--material .forminator-result+.forminator-social--share {\n margin: 30px 0 0;\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material .forminator-result+.forminator-social--share {\n margin: 30px 0 0;\n }\n}\n\n.forminator-quiz.forminator-design--material .forminator-result--image {\n height: auto;\n max-height: 150px;\n display: block;\n padding: 0;\n border: 0;\n width: 100%;\n margin: 0;\n}\n\n.forminator-quiz.forminator-design--material .forminator-result--title {\n margin: 0;\n padding: 0;\n border: 0;\n}\n\n.forminator-quiz.forminator-design--material .forminator-result--title {\n line-height: 2.3em;\n}\n\n.forminator-quiz.forminator-design--material .forminator-result--title+.forminator-result--description {\n margin-top: 10px;\n}\n\n.forminator-quiz.forminator-design--material .forminator-result--description,\n.forminator-quiz.forminator-design--material .forminator-result--description p {\n line-height: 1.9em;\n}\n\n.forminator-quiz.forminator-design--material .forminator-result--description h1:first-child,\n.forminator-quiz.forminator-design--material .forminator-result--description h2:first-child,\n.forminator-quiz.forminator-design--material .forminator-result--description h3:first-child,\n.forminator-quiz.forminator-design--material .forminator-result--description h4:first-child,\n.forminator-quiz.forminator-design--material .forminator-result--description h5:first-child,\n.forminator-quiz.forminator-design--material .forminator-result--description h6:first-child,\n.forminator-quiz.forminator-design--material .forminator-result--description p:first-child,\n.forminator-quiz.forminator-design--material .forminator-result--description ol:first-child,\n.forminator-quiz.forminator-design--material .forminator-result--description ul:first-child {\n margin-top: 0;\n}\n\n.forminator-quiz.forminator-design--material .forminator-result--description h1:last-child,\n.forminator-quiz.forminator-design--material .forminator-result--description h2:last-child,\n.forminator-quiz.forminator-design--material .forminator-result--description h3:last-child,\n.forminator-quiz.forminator-design--material .forminator-result--description h4:last-child,\n.forminator-quiz.forminator-design--material .forminator-result--description h5:last-child,\n.forminator-quiz.forminator-design--material .forminator-result--description h6:last-child,\n.forminator-quiz.forminator-design--material .forminator-result--description p:last-child,\n.forminator-quiz.forminator-design--material .forminator-result--description ol:last-child,\n.forminator-quiz.forminator-design--material .forminator-result--description ul:last-child {\n margin-bottom: 0;\n}\n\n.forminator-quiz.forminator-design--material .forminator-result--retake {\n margin: 0;\n display: inline-flex;\n padding: 0;\n border: 0;\n background-color: transparent;\n background-image: none;\n text-transform: uppercase;\n height: auto;\n line-height: 1.4em;\n}\n\n.forminator-quiz.forminator-design--material .forminator-result--content {\n padding: 10px;\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material:not(.forminator-size--small) .forminator-quiz--result:first-child {\n margin-top: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material:not(.forminator-size--small) .forminator-quiz--result:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material:not(.forminator-size--small) .forminator-quiz--result {\n margin: 30px 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material:not(.forminator-size--small).forminator-design--grid .forminator-quiz--result {\n text-align: center;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-quiz.forminator-design--material:not(.forminator-size--small).forminator-design--grid .forminator-result {\n text-align: initial;\n }\n}\n\n","// =============================================\n// FORMINATOR UI â KEYFRAMES\n// \n// Author: Leighton Sapir (WPMU DEV)\n// Date: June 19, 2018\n// \n// Last Update: June 23, 2018\n// =============================================\n\n// =============================================\n// KEYFRAMES MENU\n//\n// 1. UPDATING\n// 2. LOADING WHEEL\n// 3. FADE IN UP\n// 4. FADE OUT DOWN\n// =============================================\n\n// =============================================\n// 1. UPDATING\n\n@keyframes updating {\n from {\n\t\ttransform: rotate(0deg);\n\t}\n to {\n\t\ttransform: rotate(360deg);\n\t}\n}\n\n// =============================================\n// 2. LOADING WHEEL\n//\n// This keyframe is based on Alan Shortis pen:\n// https://codepen.io/alanshortis/pen/eJLVXr\n\n@keyframes spin {\n\t0% {\n\t\ttransform: rotate(0deg);\n\t}\n\t100% {\n\t\ttransform: rotate(360deg);\n\t}\n}\n\n// =============================================\n// 3. FADE IN UP\n\n@keyframes fadeInUp {\n from {\n opacity: 0;\n transform: translate3d(0, 100%, 0);\n }\n to {\n opacity: 1;\n transform: none;\n }\n}\n\n// =============================================\n// 4. FADE OUT DOWN\n\n@keyframes fadeOutDown {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n transform: translate3d(0, 100%, 0);\n }\n}\n\n// =============================================\n// 5. CLICK ANIMATION\n//\n// Used for Material UI radio and checkbox options.\n\n@keyframes click-animation {\n\t0% {\n\t\ttransform: scale(1);\n\t\t@include opacity(0.2);\n\t}\n\t50% {\n\t\ttransform: scale(2);\n\t\t@include opacity(0.1);\n\t}\n\t100% {\n\t\ttransform: scale(0);\n\t\t@include opacity(0);\n\t}\n}","// =============================================\n// FORMINATOR UI â MIXIN: OPACITY\n// \n// Author: Leighton Sapir (WPMU DEV)\n// Date: July 3, 2018\n// =============================================\n\n// =============================================\n// For example, to get 65% opacity, do the this:\n// @include opacity(0.65);\n// =============================================\n\n@mixin opacity($alpha) {\n\n\t@if ($alpha > 1) {\n\n\t\t@warn \"Unfortunately, nothing could be retrieved from `#{$alpha}`. \"\n\t\t+ \"You need to insert values from `0` to `1`, you can also make use of decimals like `0.20` to represent 20% opacity.\";\n\t}\n\n\t@else {\n\t\tfilter: alpha(opacity=$alpha*100);\n\t\tfilter: progid:DXImageTransform.Microsoft.Alpha(opacity=#{$alpha*100});\n\t\topacity: $alpha;\n\t\t-khtml-opacity: $alpha;\n\t}\n}","// =============================================\n// FORMINATOR UI â MIXIN: BODY CLASS\n// \n// Author: Leighton Sapir (WPMU DEV)\n// Date: July 3, 2018\n//\n// Last Update: July 6, 2018\n// =============================================\n\n// =============================================\n// There are two way for using this mixin. You\n// can display module class only or module class\n// with module theme. For both cases follow this:\n//\n// A) To get quiz module class only:\n// @include body-class(quiz, '') { ... }\n//\n// B) To get quiz module + flat theme class:\n// @include body-class(quiz, flat) { ... }\n// =============================================\n\n@mixin body-class($module-type, $module-theme: null) {\n\n\t@if ($module-theme == null) {\n\n\t\t.forminator-#{$module-type} {\n\t\t\t@content;\n\t\t}\n\t} @else {\n\n\t\t.forminator-#{$module-type}.forminator-design--#{$module-theme} {\n\t\t\tmargin: $gutter-sm auto;\n\t\t\tpadding: 0;\n\t\t\tborder: 0;\n\t\t\tbox-sizing: border-box;\n\n\t\t\t&:first-child {\n\t\t\t\tmargin-top: 0;\n\n\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\tmargin-top: 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&:last-child {\n\t\t\t\tmargin-bottom: 0;\n\n\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\tmargin-bottom: 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@include media(min-width, sm) {\n\t\t\t\tmargin: $gutter auto;\n\t\t\t}\n\n\t\t\t* {\n\t\t\t\t@extend %text-reset;\n\t\t\t\tbox-sizing: border-box;\n\t\t\t}\n\n\t\t\t@if $module-type == quiz {\n\n\t\t\t\t.forminator-quiz--title,\n\t\t\t\t.forminator-quiz--description,\n\t\t\t\t.forminator-quiz--image {\n\t\t\t\t\tmargin: 0 0 $gutter-sm;\n\t\t\t\t\t\n\t\t\t\t\t&:last-child {\n\t\t\t\t\t\tmargin-bottom: 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t.forminator-quiz--title,\n\t\t\t\t.forminator-quiz--description {\n\t\t\t\t\tpadding: 0;\n\t\t\t\t\tborder: 0;\n\t\t\t\t\tletter-spacing: 0;\n\t\t\t\t\ttext-transform: none;\n\t\t\t\t\ttext-decoration: none;\n\t\t\t\t}\n\n\t\t\t\t.forminator-quiz--title {\n\t\t\t\t\tline-height: $quiz--title-line-height;\n\t\t\t\t}\n\n\t\t\t\t.forminator-quiz--description {\n\t\t\t\t\tline-height: $quiz--description-line-height;\n\t\t\t\t}\n\n\t\t\t\t.forminator-quiz--image {\n\t\t\t\t\twidth: 100%;\n\t\t\t\t\tdisplay: block;\n\t\t\t\t\tmargin: 0;\n\t\t\t\t\tpadding: 0;\n\t\t\t\t\tborder: 0;\n\n\t\t\t\t\timg {\n\t\t\t\t\t\tmax-width: 100%;\n\t\t\t\t\t\tdisplay: block;\n\t\t\t\t\t\tmargin: 0 auto;\n\t\t\t\t\t\tborder: 0;\n\t\t\t\t\t\tpadding: 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t.forminator-quiz--summary {\n\t\t\t\t\tmargin: $gutter-sm 0;\n\n\t\t\t\t\th1, h2, h3, h4, h5, h6, p {\n\t\t\t\t\t\tpadding: 0;\n\t\t\t\t\t\tline-height: 1.2em;\n\t\t\n\t\t\t\t\t\t&:first-child {\n\t\t\t\t\t\t\tmargin-top: 0;\n\t\t\t\t\t\t}\n\t\t\n\t\t\t\t\t\t&:last-child {\n\t\t\t\t\t\t\tmargin-bottom: 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\th1, h2, h3, h4, h5, h6 {\n\t\t\t\t\t\tmargin-top: 0.8em;\n\t\t\t\t\t\tmargin-bottom: 0.8em;\n\t\t\t\t\t}\n\n\t\t\t\t\tp {\n\t\t\t\t\t\tmargin-top: 0.5em;\n\t\t\t\t\t\tmargin-bottom: 0.5em;\n\t\t\t\t\t}\n\n\t\t\t\t\t&:first-child {\n\t\t\t\t\t\tmargin-top: 0;\n\t\t\t\t\t}\n\n\t\t\t\t\t&:last-child {\n\t\t\t\t\t\tmargin-bottom: 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t.forminator-social--icons {\n\t\t\t\t\tmargin: #{$gutter-sm / 2} -#{$gutter-sm / 2};\n\t\t\t\t\tlist-style: none;\n\n\t\t\t\t\tli {\n\t\t\t\t\t\tdisplay: inline-block;\n\t\t\t\t\t\tmargin: 0;\n\t\t\t\t\t\tpadding: 0 #{$gutter-sm / 2};\n\t\t\t\t\t\tborder: 0;\n\t\t\t\t\t\tlist-style: none;\n\t\t\t\t\t}\n\n\t\t\t\t\t&:first-child {\n\t\t\t\t\t\tmargin-top: 0;\n\t\t\t\t\t}\n\n\t\t\t\t\t&:last-child {\n\t\t\t\t\t\tmargin-bottom: 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t.forminator-social--icon {\n\t\t\t\t\tline-height: 1;\n\n\t\t\t\t\ta {\n\t\t\t\t\t\tdisplay: block;\n\t\t\t\t\t\tmargin: 0;\n\t\t\t\t\t\tpadding: 0;\n\n\t\t\t\t\t\t&,\n\t\t\t\t\t\t&:hover,\n\t\t\t\t\t\t&:active,\n\t\t\t\t\t\t&:visited {\n\t\t\t\t\t\t\tborder: 0;\n\t\t\t\t\t\t\toutline: none;\n\t\t\t\t\t\t\tbox-shadow: none;\n\t\t\t\t\t\t\ttext-decoration: none;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t&,\n\t\t\t\t\t\t&:visited {\n\t\t\t\t\t\t\t@include opacity(1);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t&:hover,\n\t\t\t\t\t\t&:active {\n\t\t\t\t\t\t\t@include opacity(0.7);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t&:before {\n\t\t\t\t\t\t\tdisplay: block;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t&:not(.forminator-size--small) {\n\n\t\t\t\t\t.forminator-quiz--title,\n\t\t\t\t\t.forminator-quiz--description,\n\t\t\t\t\t.forminator-quiz--image {\n\t\t\t\t\t\t\n\t\t\t\t\t\t&:last-child {\n\t\t\t\t\n\t\t\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\t\t\tmargin-bottom: 0;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\t\tmargin: 0 0 $gutter;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t.forminator-quiz--summary {\n\n\t\t\t\t\t\t&:first-child {\n\n\t\t\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\t\t\tmargin-top: 0;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t&:last-child {\n\n\t\t\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\t\t\tmargin-bottom: 0;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\t\tmargin: $gutter 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t.forminator-social--icons {\n\n\t\t\t\t\t\tli {\n\n\t\t\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\t\t\tpadding: 0 #{$gutter / 2};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t&:first-child {\n\n\t\t\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\t\t\tmargin-top: 0;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t&:last-child {\n\n\t\t\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\t\t\tmargin-bottom: 0;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\t\tmargin: #{$gutter / 2} -#{$gutter / 2};\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t&.forminator-design--grid {\n\n\t\t\t\t\t\t.forminator-quiz--title,\n\t\t\t\t\t\t.forminator-quiz--description {\n\t\n\t\t\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t.forminator-quiz--image img {\n\t\n\t\t\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\t\t\tmargin: 0 auto;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@content;\n\t\t}\n\t}\n}","// =============================================\n// FORMINATOR UI â POLL GLOBAL STYLES\n// \n// Author: Leighton Sapir (WPMU DEV)\n// Date: June 21, 2018\n//\n// Last Update: June 30, 2018\n// =============================================\n\n// =============================================\n// POLL GLOBAL STYLES MENU\n//\n// 1. BASIC\n// 2. NOTIFICATIONS\n// 3. POLL CHART\n// =============================================\n\n// =============================================\n// 1. BASIC\n\n@include body-class(poll) {\n\tbox-sizing: border-box;\n\n\t* {\n\t\t@extend %text-reset;\n\t\tbox-sizing: border-box;\n\t}\n\n\t.forminator-poll--image {\n\t\tmax-width: 100%;\n\t\theight: auto;\n\t}\n}\n\n// =============================================\n// 2. NOTIFICATIONS\n\n@include body-class(poll) {\n\n\t.forminator-label--info {\n\t\t@include notice(info);\n\t}\n\n\t.forminator-label--error {\n\t\t@include notice(error);\n\t}\n\n\t.forminator-label--notice {\n\t\t@include notice(default);\n\t}\n\n\t.forminator-label--success {\n\t\t@include notice(success);\n\t}\n\n\t.forminator-label--loading {\n\t\t@include notice(loading);\n\t}\n}\n\n// =============================================\n// 3. POLL CHART\n\n@include body-class(poll) {\n\n\t.forminator-poll--chart {\n max-width: 100%;\n height: auto;\n display: block;\n\t}\n}","// =============================================\n// FORMINATOR UI â EXTENSIONS\n// \n// Author: Leighton Sapir (WPMU DEV)\n// Date: June 19, 2018\n//\n// Last Update: June 26, 2018\n// =============================================\n\n// =============================================\n// EXTENSIONS MENU\n//\n// 1. BASIC EXTENSIONS\n// 1.1. Basic Reset\n// 1.2. Text Reset\n// 1.3. Truncate Text\n// 1.4. Screen Reader (Only)\n// 2. LABEL\n// =============================================\n\n// =============================================\n// 1. BASIC EXTENSIONS\n// ******************************************\n// 1.1. Basic Reset\n\n%basic-reset {\n\tmargin: 0;\n\tpadding: 0;\n\tborder: 0;\n}\n\n// ******************************************\n// 1.2. Text Reset\n\n%text-reset {\n\tfont-variant-ligatures: none;\n\t-webkit-font-variant-ligatures: none;\n\ttext-rendering: optimizeLegibility;\n\t-moz-osx-font-smoothing: grayscale;\n\tfont-smoothing: antialiased;\n\t-webkit-font-smoothing: antialiased;\n\ttext-shadow: rgba(0, 0, 0, .01) 0 0 1px;\n}\n\n// ******************************************\n// 1.3. Truncate Text\n\n%truncate-text {\n\twhite-space: nowrap;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n\n// ******************************************\n// 1.4. Screen Reader (Only)\n\n%screen-reader-only {\n\twidth: 1px;\n\theight: 1px;\n\toverflow: hidden;\n\tposition: absolute !important;\n\tmargin: -1px;\n\tborder: 0;\n\tpadding: 0;\n\tclip: rect(1px, 1px, 1px, 1px);\n\tclip-path: inset(50%);\n\tword-wrap: normal !important;\n}\n\n// =============================================\n// 2. LABEL\n\n%fui-label {\n\tcursor: default;\n\tdisplay: block;\n\t@extend %basic-reset;\n\tletter-spacing: $letter-spacing;\n\n\t&[for] {\n\t\tcursor: pointer;\n\t}\n\n\t.wpdui-icon-asterisk {\n\t\tdisplay: inline-flex;\n\t\tvertical-align: super;\n\t\tfont-size: 6px;\n\n\t\t&:before {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n}","// =============================================\n// FORMINATOR UI â MIXIN: QUIZ ANSWER\n// \n// Author: Leighton Sapir (WPMU DEV)\n// Date: July 3, 2018\n//\n// Last Update: July 6, 2018\n// =============================================\n\n@mixin quiz-answer($answer-map: null, $answer-theme: null) {\n\n\t.forminator-answer {\n\t\tmargin: #{$gutter-sm / 2} 0;\n\t\tpointer-events: none;\n\n\t\t&, span {\n\t\t\tdisplay: block;\n\t\t}\n\n\t\tinput {\n\t\t\t@extend %screen-reader-only;\n\n\t\t\t&:checked + span {\n\t\t\t\tpointer-events: none;\n\n\t\t\t\t@if $answer-map != null {\n\n\t\t\t\t\t$has-box-shadow: map-has-key($answer-map, box-shadow);\n\t\t\t\t\t$box-shadow: map-get($answer-map, box-shadow);\n\n\t\t\t\t\t@if $has-box-shadow {\n\t\t\t\t\t\tbox-shadow: 0 3px 8px $box-shadow;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t.forminator-answer--check,\n\t\t\t\t.forminator-answer--status {\n\n\t\t\t\t\t&:after {\n\t\t\t\t\t\t@include opacity(1);\n\t\t\t\t\t}\n\n\t\t\t\t\t&:before {\n\t\t\t\t\t\tanimation-name: click-animation;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t@if $answer-theme == material {\n\n\t\t\t\t\t.forminator-answer--image:before {\n\t\t\t\t\t\t@include opacity(1);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&:disabled + span,\n\t\t\t&.forminator-has-been-disabled + span {\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\t\t}\n\n\t\t.forminator-answer--design {\n\t\t\twidth: 100%;\n\t\t\tcursor: pointer;\n\t\t\tpointer-events: initial;\n\t\t\tdisplay: flex;\n\t\t\tposition: relative;\n\n\t\t\t@if $answer-map != null {\n\n\t\t\t\t$has-padding: map-has-key($answer-map, padding);\n\t\t\t\t$has-border-width: map-has-key($answer-map, border-width);\n\t\t\t\t$has-border-style: map-has-key($answer-map, border-style);\n\t\t\t\t$has-border-radius: map-has-key($answer-map, border-radius);\n\t\t\t\t$has-box-shadow: map-has-key($answer-map, box-shadow);\n\t\t\t\t$has-transition: map-has-key($answer-map, transition);\n\n\t\t\t\t$padding: map-get($answer-map, padding);\n\t\t\t\t$border-width: map-get($answer-map, border-width);\n\t\t\t\t$border-style: map-get($answer-map, border-style);\n\t\t\t\t$border-radius: map-get($answer-map, border-radius);\n\t\t\t\t$box-shadow: map-get($answer-map, box-shadow);\n\t\t\t\t$transition: map-get($answer-map, transition);\n\n\t\t\t\t@if $answer-theme != material {\n\n\t\t\t\t\t@if $has-padding and $has-border-width {\n\t\t\t\t\t\tpadding: #{$padding - $border-width};\n\t\t\t\t\t}\n\t\n\t\t\t\t\t@else if $has-padding and not $has-border-width {\n\t\t\t\t\t\tpadding: $padding;\n\t\t\t\t\t}\n\t\n\t\t\t\t\t@if $has-border-width and $has-border-style {\n\t\t\t\t\t\tborder-width: $border-width;\n\t\t\t\t\t\tborder-style: $border-style;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t@if $has-border-radius {\n\t\t\t\t\tborder-radius: $border-radius;\n\t\t\t\t}\n\n\t\t\t\t@if $has-box-shadow {\n\t\t\t\t\tbox-shadow: 0 1px 1px $box-shadow;\n\n\t\t\t\t\t&:hover {\n\t\t\t\t\t\tbox-shadow: 0 3px 8px $box-shadow;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t@if $has-transition {\n\t\t\t\t\ttransition: $transition;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@if $answer-theme == material {\n\t\t\t\toverflow: hidden;\n\t\t\t}\n\t\t}\n\n\t\t.forminator-answer--image {\n\t\t\twidth: $quiz--image-sm;\n\t\t\theight: $quiz--image-sm;\n\t\t\tbackground-color: transparent;\n\t\t\tbackground-repeat: no-repeat;\n\t\t\tbackground-size: cover;\n\t\t\tbackground-position: center;\n\n\t\t\t@if $answer-theme == material {\n\t\t\t\tposition: relative;\n\n\t\t\t\t&:before {\n\t\t\t\t\tcontent: \" \";\n\t\t\t\t\t@include opacity(0);\n\t\t\t\t\tposition: absolute;\n\t\t\t\t\ttop: 0;\n\t\t\t\t\tright: 0;\n\t\t\t\t\tbottom: 0;\n\t\t\t\t\tleft: 0;\n\t\t\t\t\tbackground-color: $material--image-mask;\n\n\t\t\t\t\t@if $answer-map != null {\n\n\t\t\t\t\t\t@if map-has-key($answer-map, transition) {\n\t\t\t\t\t\t\ttransition: map-get($answer-map, transition);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t+ .forminator-answer--check,\n\t\t\t\t+ .forminator-answer--status {\n\t\t\t\t\tposition: absolute;\n\t\t\t\t\ttop: #{($quiz--image-sm - $quiz--checkbox-sm) / 2};\n\t\t\t\t\tleft: #{($quiz--image-sm - $quiz--checkbox-sm) / 2};\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@else {\n\n\t\t\t\t+ .forminator-answer--check,\n\t\t\t\t+ .forminator-answer--status {\n\t\t\t\t\tmargin-top: #{($quiz--image-sm - $quiz--checkbox-sm) / 2};\n\n\t\t\t\t\t@if $answer-map != null {\n\n\t\t\t\t\t\t$has-padding: map-has-key($answer-map, padding);\n\t\t\t\t\t\t$padding: map-get($answer-map, padding);\n\t\n\t\t\t\t\t\t@if $has-padding {\n\t\t\t\t\t\t\tmargin-left: $padding;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.forminator-answer--check,\n\t\t.forminator-answer--status {\n\t\t\twidth: $quiz--checkbox-sm;\n\t\t\theight: $quiz--checkbox-sm;\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\n\t\t\t@if $answer-map != null {\n\n\t\t\t\t$has-padding: map-has-key($answer-map, padding);\n\t\t\t\t$has-border-width: map-has-key($answer-map, border-width);\n\t\t\t\t$has-border-style: map-has-key($answer-map, border-style);\n\t\t\t\t$has-border-radius: map-has-key($answer-map, border-radius);\n\t\t\t\t$has-transition: map-has-key($answer-map, transition);\n\n\t\t\t\t$padding: map-get($answer-map, padding);\n\t\t\t\t$border-width: map-get($answer-map, border-width);\n\t\t\t\t$border-style: map-get($answer-map, border-style);\n\t\t\t\t$border-radius: map-get($answer-map, border-radius);\n\t\t\t\t$transition: map-get($answer-map, transition);\n\n\t\t\t\t@if $has-border-width and $has-border-style {\n\t\t\t\t\tborder-width: $border-width;\n\t\t\t\t\tborder-style: $border-style;\n\t\t\t\t}\n\n\t\t\t\t@if $has-border-radius {\n\t\t\t\t\tborder-radius: $border-radius;\n\t\t\t\t}\n\n\t\t\t\t@if $has-transition {\n\t\t\t\t\ttransition: $transition;\n\t\t\t\t}\n\n\t\t\t\t@if $has-padding {\n\n\t\t\t\t\t+ .forminator-answer--name {\n\t\t\t\t\t\tmargin-left: $padding;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@if $answer-theme == material {\n\n\t\t\t\t&:before {\n\t\t\t\t\tcontent: \" \";\n\t\t\t\t\twidth: $quiz--checkbox-sm;\n\t\t\t\t\theight: $quiz--checkbox-sm;\n\t\t\t\t\tposition: absolute;\n\t\t\t\t\tborder-radius: 50%;\n\t\t\t\t\ttransform: scale(0);\n\t\t\t\t\ttransform-origin: center;\n\t\t\t\t\ttransform-style: preserve-3d;\n\t\t\t\t\tanimation-duration: 1s;\n\t\t\t\t\tanimation-fill-mode: both;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.forminator-answer--check {\n\n\t\t\t@include icon(after, \"check\", true) {\n\t\t\t\t@include opacity(0);\n\t\t\t\tdisplay: block;\n\t\t\t\tfont-size: $quiz--icon-sm;\n\t\t\t}\n\t\t}\n\n\t\t.forminator-answer--status {\n\n\t\t\t@include icon(after, false, true) {\n\t\t\t\t@include opacity(0);\n\t\t\t\tdisplay: block;\n\t\t\t\tfont-size: $quiz--icon-sm;\n\t\t\t}\n\t\t}\n\n\t\t.forminator-answer--name {\n\t\t\tflex: 1;\n\t\t\talign-self: center;\n\t\t}\n\n\t\t&:first-child {\n\t\t\tmargin-top: 0;\n\t\t}\n\n\t\t&:last-child {\n\t\t\tmargin-bottom: 0;\n\t\t}\n\n\t\t&.forminator-is_correct {\n\n\t\t\t.forminator-answer--status:after {\n\t\t\t\tcontent: \"\\28\";\n\t\t\t}\n\t\t}\n\n\t\t&.forminator-is_incorrect {\n\n\t\t\t.forminator-answer--status:after {\n\t\t\t\tcontent: \"\\29\";\n\t\t\t}\n\t\t}\n\n\t\t&.forminator-empty,\n\t\t&.forminator-only--image {\n\n\t\t\t@if $answer-map != null {\n\n\t\t\t\t$has-padding: map-has-key($answer-map, padding);\n\t\t\t\t$has-border-width: map-has-key($answer-map, border-width);\n\t\t\t\t$has-border-style: map-has-key($answer-map, border-style);\n\n\t\t\t\t$padding: map-get($answer-map, padding);\n\t\t\t\t$border-width: map-get($answer-map, border-width);\n\t\t\t\t$border-style: map-get($answer-map, border-style);\n\n\t\t\t\t@if $answer-theme != material {\n\n\t\t\t\t\t@if $has-padding {\n\t\t\t\t\t\tmax-width: #{$quiz--image-sm + ($padding * 2)};\n\t\t\t\t\t}\n\t\n\t\t\t\t\t@else if $has-border-width and not $has-padding {\n\t\t\t\t\t\tmax-width: #{$quiz--image-sm + ($border-width * 2)};\n\t\t\t\t\t}\n\t\n\t\t\t\t\t@else {\n\t\t\t\t\t\tmax-width: $quiz--image-sm;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t@else {\n\t\t\t\t\tmax-width: $quiz--image-sm;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@else {\n\t\t\t\tmax-width: $quiz--image-sm;\n\t\t\t}\n\t\t}\n\n\t\t&.forminator-empty {\n\n\t\t\t.forminator-answer--design {\n\t\t\t\twidth: 100%;\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-direction: column;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\n\t\t\t\t@if $answer-map != null {\n\n\t\t\t\t\t$has-padding: map-has-key($answer-map, padding);\n\t\t\t\t\t$has-border-width: map-has-key($answer-map, border-width);\n\t\t\t\t\t$has-border-style: map-has-key($answer-map, border-style);\n\t\n\t\t\t\t\t$padding: map-get($answer-map, padding);\n\t\t\t\t\t$border-width: map-get($answer-map, border-width);\n\t\t\t\t\t$border-style: map-get($answer-map, border-style);\n\n\t\t\t\t\t@if $answer-theme != material {\n\n\t\t\t\t\t\t@if $has-padding {\n\t\t\t\t\t\t\theight: #{$quiz--image-sm + ($padding * 2)};\n\t\t\t\t\t\t}\n\t\t\n\t\t\t\t\t\t@else if $has-border-width and not $has-padding {\n\t\t\t\t\t\t\theight: #{$quiz--image-sm + ($border-width * 2)};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t@else {\n\t\t\t\t\t\t\theight: $quiz--image-sm;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t@else {\n\t\t\t\t\t\theight: $quiz--image-sm;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t@else {\n\t\t\t\t\theight: $quiz--image-sm;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t@if $answer-theme != material {\n\n\t\t\t&:not(.forminator-only--text):not(.forminator-empty) {\n\n\t\t\t\t.forminator-answer--check {\n\t\t\t\t\tmargin-top: #{($quiz--image-sm - $quiz--checkbox-sm) / 2};\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&.forminator-only--image {\n\n\t\t\t\t.forminator-answer--check,\n\t\t\t\t.forminator-answer--status {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t@else {\n\n\t\t\t@if $answer-map != null {\n\n\t\t\t\t@if map-has-key($answer-map, padding) {\n\n\t\t\t\t\t&.forminator-only--text {\n\n\t\t\t\t\t\t.forminator-answer--design {\n\t\t\t\t\t\t\tpadding: map-get($answer-map, padding);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t&:not(.forminator-only--text) {\n\t\t\t\t\t\t\n\t\t\t\t\t\t.forminator-answer--name {\n\t\t\t\t\t\t\tpadding: map-get($answer-map, padding) map-get($answer-map, padding) map-get($answer-map, padding) 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t@else {\n\n\t\t\t\t\t&:not(.forminator-only--text) {\n\t\t\t\t\t\t\n\t\t\t\t\t\t.forminator-answer--name {\n\t\t\t\t\t\t\tpadding: $gutter-sm $gutter-sm $gutter-sm 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t&:not(.forminator-size--small) {\n\n\t\t.forminator-answer {\n\n\t\t\t&:first-child {\n\n\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\tmargin-top: 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&:last-child {\n\n\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\tmargin-bottom: 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@include media(min-width, sm) {\n\t\t\t\tmargin: #{$gutter / 2} 0;\n\t\t\t}\n\t\t}\n\n\t\t&.forminator-design--grid {\n\n\t\t\t.forminator-answer {\n\n\t\t\t\t.forminator-answer--design {\n\n\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\tdisplay: block;\n\t\t\t\t\t\theight: 100%;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t.forminator-answer--image {\n\n\t\t\t\t\t+ .forminator-answer--check,\n\t\t\t\t\t+ .forminator-answer--status {\n\n\t\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\t\tmargin-left: 0;\n\n\t\t\t\t\t\t\t@if $answer-map != null {\n\n\t\t\t\t\t\t\t\t$has-padding: map-has-key($answer-map, padding);\n\t\t\t\t\t\t\t\t$has-border-width: map-has-key($answer-map, border-width);\n\t\t\n\t\t\t\t\t\t\t\t$padding: map-get($answer-map, padding);\n\t\t\t\t\t\t\t\t$border-width: map-get($answer-map, border-width);\n\n\t\t\t\t\t\t\t\t@if $answer-theme != material {\n\n\t\t\t\t\t\t\t\t\t@if $has-padding and $has-border-width {\n\t\t\t\t\t\t\t\t\t\ttop: #{$quiz--image + ($padding * 2) - $border-width};\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\n\t\t\t\t\t\t\t\t\t@else if $has-padding and not $has-border-width {\n\t\t\t\t\t\t\t\t\t\ttop: #{$quiz--image + ($padding * 2)};\n\t\t\t\t\t\t\t\t\t}\n\t\t\n\t\t\t\t\t\t\t\t\t@else {\n\t\t\t\t\t\t\t\t\t\ttop: #{$quiz--image + ($gutter / 2)};\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@else {\n\t\t\t\t\t\t\t\t\tleft: auto;\n\n\t\t\t\t\t\t\t\t\t@if $has-padding {\n\t\t\t\t\t\t\t\t\t\ttop: $padding;\n\t\t\t\t\t\t\t\t\t\tright: $padding;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t@else {\n\t\t\t\t\t\t\t\t\t\ttop: #{$gutter / 2};\n\t\t\t\t\t\t\t\t\t\tright: #{$gutter / 2};\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t@else {\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t@if $answer-theme != material {\n\t\t\t\t\t\t\t\t\ttop: #{$quiz--image + ($gutter / 2)};\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@else {\n\t\t\t\t\t\t\t\t\ttop: #{$gutter / 2};\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\twidth: 100%;\n\t\t\t\t\t\theight: $quiz--image;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t.forminator-answer--check,\n\t\t\t\t.forminator-answer--status {\n\n\t\t\t\t\t&:after {\n\n\t\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\t\tfont-size: $quiz--icon;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t+ .forminator-answer--name {\n\n\t\t\t\t\t\t@include media(min-width, sm) {\n\n\t\t\t\t\t\t\t@if $answer-map != null {\n\n\t\t\t\t\t\t\t\t$has-padding: map-has-key($answer-map, padding);\n\t\t\t\t\t\t\t\t$padding: map-get($answer-map, padding);\n\n\t\t\t\t\t\t\t\t@if $answer-theme != material {\n\n\t\t\t\t\t\t\t\t\t@if $has-padding {\n\t\t\t\t\t\t\t\t\t\tmargin-left: #{$quiz--checkbox + $padding};\n\t\t\t\t\t\t\t\t\t}\n\t\t\n\t\t\t\t\t\t\t\t\t@else {\n\t\t\t\t\t\t\t\t\t\tmargin-left: #{$quiz--checkbox + ($gutter / 2)};\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@else {\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t@if $has-padding {\n\t\t\t\t\t\t\t\t\t\tmargin-left: $padding;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t@else {\n\t\t\t\t\t\t\t\t\t\tmargin-left: #{$gutter / 2};\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t@else {\n\t\t\t\t\t\t\t\tmargin-left: #{$quiz--checkbox + ($gutter / 2)};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\twidth: $quiz--checkbox;\n\t\t\t\t\t\theight: $quiz--checkbox;\n\n\t\t\t\t\t\t@if $answer-theme != material {\n\t\t\t\t\t\t\tposition: absolute;\n\t\t\t\t\t\t\tmargin-top: 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t.forminator-answer--name {\n\n\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\tflex: 1;\n\t\t\t\t\t\talign-self: unset;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t&:not(.forminator-only--text) {\n\n\t\t\t\t\t.forminator-answer--check,\n\t\t\t\t\t.forminator-answer--status {\n\n\t\t\t\t\t\t+ .forminator-answer--name {\n\n\t\t\t\t\t\t\t@include media(min-width, sm) {\n\n\t\t\t\t\t\t\t\t@if $answer-map != null {\n\n\t\t\t\t\t\t\t\t\t$has-padding: map-has-key($answer-map, padding);\n\t\t\t\t\t\t\t\t\t$padding: map-get($answer-map, padding);\n\t\t\n\t\t\t\t\t\t\t\t\t@if $has-padding {\n\t\t\t\t\t\t\t\t\t\tmargin-top: $padding;\n\t\t\t\t\t\t\t\t\t}\n\t\t\n\t\t\t\t\t\t\t\t\t@else {\n\t\t\t\t\t\t\t\t\t\tmargin-top: #{$gutter / 2};\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\n\t\t\t\t\t\t\t\t@else {\n\t\t\t\t\t\t\t\t\tmargin-top: #{$gutter / 2};\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@if $answer-theme == material {\n\t\t\t\t\t\t\t\t\tpadding-top: 0;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t&.forminator-empty {\n\n\t\t\t\t\t.forminator-answer--design {\n\n\t\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\theight: $quiz--image;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t.forminator-answer--image {\n\n\t\t\t\t\t\t+ .forminator-answer--check {\n\t\n\t\t\t\t\t\t\t@include media(min-width, sm) {\n\t\n\t\t\t\t\t\t\t\t@if $answer-map != null {\n\t\n\t\t\t\t\t\t\t\t\t$has-padding: map-has-key($answer-map, padding);\n\t\t\t\t\t\t\t\t\t$has-border-width: map-has-key($answer-map, border-width);\n\t\t\t\n\t\t\t\t\t\t\t\t\t$padding: map-get($answer-map, padding);\n\t\t\t\t\t\t\t\t\t$border-width: map-get($answer-map, border-width);\n\t\t\t\n\t\t\t\t\t\t\t\t\t@if $has-padding and $has-border-width {\n\t\t\t\t\t\t\t\t\t\ttop: #{$quiz--image + ($padding * 2) - $border-width};\n\t\t\t\t\t\t\t\t\t\tleft: #{$padding - $border-width};\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\n\t\t\t\t\t\t\t\t\t@else if $has-padding and not $has-border-width {\n\t\t\t\t\t\t\t\t\t\ttop: #{$quiz--image + ($padding * 2)};\n\t\t\t\t\t\t\t\t\t\tleft: $padding;\n\t\t\t\t\t\t\t\t\t}\n\t\t\n\t\t\t\t\t\t\t\t\t@else {\n\t\t\t\t\t\t\t\t\t\ttop: #{$quiz--image + ($gutter / 2)};\n\t\t\t\t\t\t\t\t\t\tleft: #{$gutter / 2};\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\n\t\t\t\t\t\t\t\t@else {\n\t\t\t\t\t\t\t\t\ttop: #{$quiz--image + ($gutter / 2)};\n\t\t\t\t\t\t\t\t\tleft: #{$gutter / 2};\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t&.forminator-only--text {\n\n\t\t\t\t\t.forminator-answer--design {\n\t\t\t\t\t\t\n\t\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\tmax-width: 33.33%;\n\t\t\t\t\tflex: 0 0 33.33%;\n\t\t\t\t\tmargin: #{$gutter / 2} 0;\n\t\t\t\t\tpadding: 0 #{$gutter / 2};\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t@content;\n}","// =============================================\n// FORMINATOR UI â FORM GLOBAL STYLES\n// \n// Author: Leighton Sapir (WPMU DEV)\n// Date: June 21, 2018\n// \n// Last Update: June 23, 2018\n// =============================================\n\n// =============================================\n// FORM GLOBAL STYLES MENU\n//\n// 1. BASIC\n// 2. NOTIFICATIONS\n// 3. FIELD'S LABEL\n// 4. SECTION FIELD\n// =============================================\n\n// =============================================\n// 1. BASIC\n\n@include body-class(custom-form) {\n\tbox-sizing: border-box;\n\n\t* {\n\t\t@extend %text-reset;\n\t\tbox-sizing: border-box;\n\t}\n\n\t.forminator-hidden {\n\t\tdisplay: none !important;\n\t}\n}\n\n// =============================================\n// 2. NOTIFICATIONS\n\n@include body-class(custom-form) {\n\n\t.forminator-label--info {\n\t\t@include notice(info);\n\t}\n\n\t.forminator-label--error {\n\t\t@include notice(error);\n\t}\n\n\t.forminator-label--notice {\n\t\t@include notice(default);\n\t}\n\n\t.forminator-label--success {\n\t\t@include notice(success);\n\t}\n\n\t.forminator-label--loading {\n\t\t@include notice(loading);\n\t}\n\n\t.forminator-cform-response-message {\n\n\t\t[class^='forminator-label--'] {\n\t\t\tmargin-bottom: $gutter-sm;\n\t\t}\n\t}\n\n\t&.forminator-enclosed {\n\n\t\t.forminator-cform-response-message {\n\n\t\t\t[class^='forminator-label--'] {\n\t\t\t\tmargin-bottom: $gutter-enclosed-sm;\n\t\t\t}\n\t\t}\n\t}\n\n\t&:not(.forminator-size--small) {\n\n\t\t.forminator-cform-response-message {\n\n\t\t\t[class^='forminator-label--'] {\n\t\n\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\tmargin-bottom: $gutter;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&.forminator-enclosed {\n\n\t\t\t.forminator-cform-response-message {\n\t\n\t\t\t\t[class^='forminator-label--'] {\n\t\n\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\tmargin-bottom: $gutter-enclosed;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n// =============================================\n// 3. FIELD'S LABEL\n\n@include body-class(custom-form) {\n\n\t.forminator-label,\n\t.forminator-label--limit,\n\t.forminator-label--helper,\n\t.forminator-label--validation {\n\t\t@extend %fui-label;\n\t}\n\n\t.forminator-label--limit,\n\t.forminator-label--helper {\n\t\tcursor: text;\n\t}\n\n\t.forminator-field--helper {\n\t\tdisplay: flex;\n\t\tmargin: 5px 0 0;\n\n\t\t.forminator-label--helper {\n\t\t\tflex: 1;\n\n\t\t\t+ .forminator-label--limit {\n\t\t\t\tmargin-left: #{$gutter-sm / 2};\n\t\t\t}\n\t\t}\n\n\t\t.forminator-label--limit {\n\t\t\tflex: 0 0 auto;\n\t\t\ttext-align: right;\n\n\t\t\t&:only-child {\n\t\t\t\tflex: 1;\n\t\t\t}\n\t\t}\n\t}\n\n\t&.forminator-enclosed {\n\n\t\t.forminator-field--helper {\n\t\t\tmargin: 0;\n\n\t\t\t.forminator-label--helper {\n\n\t\t\t\t+ .forminator-label--limit {\n\t\t\t\t\tmargin-left: #{$gutter-enclosed-sm / 2};\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t&:not(.forminator-size--small) {\n\n\t\t.forminator-field--helper {\n\n\t\t\t.forminator-label--helper {\n\n\t\t\t\t+ .forminator-label--limit {\n\n\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\tmargin-left: #{$gutter / 2};\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n// =============================================\n// 4. SECTION FIELD\n\n@include body-class(custom-form) {\n\n\t.forminator-break {\n\n\t\t.forminator-title,\n\t\t.forminator-subtitle {\n\t\t\t@extend %basic-reset;\n\n\t\t\t+ .forminator-border {\n\t\t\t\tmargin-top: $gutter-sm;\n\t\t\t}\n\t\t}\n\n\t\t.forminator-title {\n\t\t\tline-height: 1.34em;\n\n\t\t\t+ .forminator-subtitle {\n\t\t\t\tmargin-top: 0.56em;\n\t\t\t}\n\t\t}\n\n\t\t.forminator-subtitle {\n\t\t\tline-height: 1.2em;\n\t\t}\n\t}\n\n\t&.forminator-enclosed {\n\n\t\t.forminator-break {\n\n\t\t\t.forminator-title,\n\t\t\t.forminator-subtitle {\n\n\t\t\t\t+ .forminator-border {\n\t\t\t\t\tmargin-top: $gutter-enclosed-sm;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t&:not(.forminator-size--small) {\n\n\t\t.forminator-break {\n\n\t\t\t.forminator-title,\n\t\t\t.forminator-subtitle {\n\n\t\t\t\t+ .forminator-border {\n\t\t\t\t\t\n\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\tmargin-top: $gutter;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&.forminator-enclosed {\n\n\t\t\t.forminator-break {\n\n\t\t\t\t.forinator-title,\n\t\t\t\t.forminator-subtitle {\n\n\t\t\t\t\t+ .forminator-border {\n\n\t\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\t\tmargin-top: $gutter-enclosed;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n// =============================================\n// 5. WYSIWYG\n\n@include body-class(custom-form) {\n\n\t@include wysiwyg();\n}","// =============================================\n// FORMINATOR UI â MIXINS\n// \n// Author: Leighton Sapir (WPMU DEV)\n// Date: June 20, 2018\n// \n// Last Update: June 21, 2018\n// =============================================\n\n@include body-class(custom-form) {\n\n\t.forminator-row {\n\t\tdisplay: block;\n\t\tmargin-bottom: $gutter-sm;\n\n\t\t.forminator-col {\n\t\t\tmargin-bottom: $gutter-sm;\n\n\t\t\t&:last-child {\n\t\t\t\tmargin-bottom: 0;\n\t\t\t}\n\t\t}\n\n\t\t&:last-child {\n\t\t\tmargin-bottom: 0;\n\t\t}\n\t}\n\n\t.forminator-row--time {\n\n\t\t+ .forminator-label--validation {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t&.forminator-enclosed {\n\n\t\t.forminator-row {\n\t\t\tmargin-bottom: $gutter-enclosed-sm;\n\n\t\t\t.forminator-col {\n\t\t\t\tmargin-bottom: $gutter-enclosed-sm;\n\n\t\t\t\t&:last-child {\n\t\t\t\t\tmargin-bottom: 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&:last-child {\n\t\t\t\tmargin-bottom: 0;\n\t\t\t}\n\t\t}\n\t}\n\n\t&:not(.forminator-size--small) {\n\n\t\t.forminator-row {\n\n\t\t\t.forminator-col {\n\n\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\tflex: 0 0 auto;\n\t\t\t\t\tmargin-bottom: 0;\n\t\t\t\t\tpadding-right: #{$gutter / 2};\n\t\t\t\t\tpadding-left: #{$gutter / 2};\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.forminator-col-3 {\n\n\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\tmax-width: 25%;\n\t\t\t\t\tflex-basis: 25%;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.forminator-col-4 {\n\n\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\tmax-width: 33.33%;\n\t\t\t\t\tflex-basis: 33.33%;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.forminator-col-6 {\n\n\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\tmax-width: 50%;\n\t\t\t\t\tflex-basis: 50%;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.forminator-col-12 {\n\n\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\tmin-width: 100%;\n\t\t\t\t\tmax-width: 100%;\n\t\t\t\t\tflex-basis: 100%;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.forminator-col-3,\n\t\t\t.forminator-col-4 {\n\n\t\t\t\t.forminator-row--inner {\n\t\t\t\t\t\n\t\t\t\t\t.forminator-col {\n\n\t\t\t\t\t\t&:last-child {\n\n\t\t\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\t\t\tmargin-bottom: 0;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\t\tmargin-bottom: $gutter;\n\t\t\t\t\t\t\tpadding-right: 0;\n\t\t\t\t\t\t\tpadding-left: 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t.forminator-col-3,\n\t\t\t\t\t.forminator-col-4,\n\t\t\t\t\t.forminator-col-6 {\n\n\t\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\t\tmax-width: 100%;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\tdisplay: block;\n\t\t\t\t\t\tmargin-right: 0;\n\t\t\t\t\t\tmargin-left: 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&:last-child {\n\n\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\tmargin-bottom: 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@include media(min-width, sm) {\n\t\t\t\tdisplay: flex;\n\t\t\t\tmargin-right: -#{$gutter / 2};\n\t\t\t\tmargin-bottom: $gutter;\n\t\t\t\tmargin-left: -#{$gutter / 2};\n\t\t\t}\n\t\t}\n\n\t\t.forminator-row--time {\n\n\t\t\t.forminator-field {\n\n\t\t\t\t.forminator-label--validation {\n\n\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\tdisplay: none;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t+ .forminator-label--validation {\n\n\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\tdisplay: block;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@include media(min-width, sm) {\n align-items: flex-end;\n }\n\t\t}\n\n\t\t&.forminator-enclosed {\n\n\t\t\t.forminator-row {\n\n\t\t\t\t.forminator-col {\n\n\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\tpadding-right: #{$gutter-enclosed / 2};\n\t\t\t\t\t\tpadding-left: #{$gutter-enclosed / 2};\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t.forminator-col-3,\n\t\t\t\t.forminator-col-4 {\n\n\t\t\t\t\t.forminator-row--inner {\n\n\t\t\t\t\t\t.forminator-col {\n\n\t\t\t\t\t\t\t&:last-child {\n\n\t\t\t\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\t\t\t\tmargin-bottom: 0;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\t\t\tmargin-bottom: $gutter-enclosed;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t&:last-child {\n\n\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\tmargin-bottom: 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\tmargin-right: -#{$gutter-enclosed / 2};\n\t\t\t\t\tmargin-bottom: $gutter-enclosed;\n\t\t\t\t\tmargin-left: -#{$gutter-enclosed / 2};\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}","// =============================================\n// FORMINATOR UI â VARIABLES\n// \n// Author: Leighton Sapir (WPMU DEV)\n// Date: June 19, 2018\n// \n// Last Update: July 6, 2018\n// =============================================\n\n// =============================================\n// VARIABLES MENU\n//\n// 1. BREAKPOINTS\n// 2. BASIC VARIABLES\n// 3. NOTIFICATIONS\n// 4. BY TYPE OF MODULE\n// 4.1. Form\n// 4.2. Poll\n// 4.3. Quiz\n// 5. BY MODULE'S THEME\n// 5.1. Forminator Bold\n// 5.2. Forminator Flat\n// 5.3. Forminator UI\n// 5.4. Material Design\n// =============================================\n\n// =============================================\n// 1. BREAKPOINTS\n\n$fui-breakpoints: (\n\tsm: 783px,\n\tmd: 961px,\n\tlg: 1201px\n);\n\n// =============================================\n// 2. BASIC VARIABLES\n\n$gutter:\t\t\t\t30px\t\t!default;\n$gutter-sm:\t\t\t\t20px\t\t!default;\n$gutter-enclosed:\t\t14px\t\t!default;\n$gutter-enclosed-sm:\t8px\t\t\t!default;\n\n$border-radius:\t\t\t4px\t\t\t!default;\n\n$font:\t\t\t\t\t\"Roboto\", Arial, sans-serif\t\t!default;\n$font--alt:\t\t\t\t\"Roboto Condensed\", $font\t\t!default;\n$font--opn:\t\t\t\t\"Open Sans\", Arial, sans-serif\t!default;\n$font--icon:\t\t\t\"wpdui-icon\"\t\t\t\t\t!default;\n\n$letter-spacing:\t\t-0.0025em\t!default;\n\n// =============================================\n// 3. NOTIFICATIONS\n\n$notice--padding:\t\t14px\t\t\t!default;\n$notice--line-height:\t20px\t\t\t!default;\n\n$notice--icon-size:\t\t16px\t\t\t!default;\n\n$notice--icon-info:\t\t'info'\t\t\t!default;\n$notice--icon-error:\t'warning-alert'\t!default;\n$notice--icon-default:\t'info'\t\t\t!default;\n$notice--icon-success:\t'check'\t\t\t!default;\n\n// =============================================\n// 4. BY TYPE OF MODULE\n// ******************************************\n// 4.1. Form\n\n// ******************************************\n// 4.2. Poll\n\n// ******************************************\n// 4.3. Quiz\n\n$quiz--width: 600px !default;\n\n$quiz--title-line-height: 1.4em !default;\n$quiz--description-line-height: 1.7em !default;\n$quiz--legend-line-height: 1.7em !default;\n\n$quiz--image: 170px !default;\n$quiz--image-sm: 80px !default;\n\n$quiz--checkbox: 22px !default;\n$quiz--checkbox-sm: 30px !default;\n\n$quiz--icon: 12px !default;\n$quiz--icon-sm: 14px !default;\n\n// =============================================\n// 5. BY THEME\n// ******************************************\n// 5.1. Forminator Bold\n\n$bold--icon-size: 12px !default;\n$bold--padding: 10px !default;\n$bold--border-width: 3px !default;\n$bold--border-style: solid !default;\n$bold--line-height: 20px !default;\n\n$bold--input-icon: 18px !default;\n$bold--input-padding: $bold--padding !default;\n$bold--input-border-width: $bold--border-width !default;\n$bold--input-border-style: $bold--border-style !default;\n$bold--input-line-height: $bold--line-height !default;\n\n$bold--checkbox-size: $bold--line-height !default;\n$bold--checkbox-icon: 8px !default;\n$bold--checkbox-border-width: $bold--border-width !default;\n$bold--checkbox-border-style: $bold--border-style !default;\n\n$bold--select-icon: 14px !default;\n$bold--select-padding: $bold--padding !default;\n$bold--select-border-width: $bold--border-width !default;\n$bold--select-border-style: $bold--border-style !default;\n$bold--select-line-height: $bold--line-height !default;\n\n$bold--dropdown-padding: $bold--padding !default;\n$bold--dropdown-border-width: $bold--border-width !default;\n$bold--dropdown-border-style: $bold--border-style !default;\n$bold--dropdown-line-height: $bold--line-height !default;\n\n$bold--multiselect-padding: $bold--padding !default;\n$bold--multiselect-border-width: $bold--border-width !default;\n$bold--multiselect-border-style: $bold--border-style !default;\n$bold--multiselect-line-height: $bold--line-height !default;\n\n$bold--calendar-icon: 12px !default;\n$bold--calendar-icon-size: 26px !default;\n$bold--calendar-cell-size: 36px !default;\n$bold--calendar-padding: 5px !default;\n$bold--calendar-border-width: $bold--border-width !default;\n$bold--calendar-border-style: $bold--border-style !default;\n\n$bold--button-padding: 12px !default;\n$bold--button-line-height: $bold--line-height !default;\n$bold--button-icon-size: $bold--icon-size !default;\n\n$bold--pagination-bar-size: 16px !default;\n$bold--pagination-dot-size: 15px !default;\n$bold--pagination-border-width: $bold--border-width !default;\n$bold--pagination-border-style: $bold--border-style !default;\n$bold--pagination-line-height: 21px !default;\n\n$bold--question-font-size: 21px !default;\n$bold--question-line-height: 30px !default;\n$bold--question-font-weight: bold !default;\n\n$bold--description-font-size: 15px !default;\n$bold--description-line-height: 20px !default;\n$bold--description-font-weight: normal !default;\n\n$bold--actions-font-size: 14px !default;\n$bold--actions-line-height: $bold--line-height !default;\n$bold--actions-font-weight: bold !default;\n\n$bold--answer-padding: $bold--padding !default;\n$bold--answer-border-width: $bold--border-width !default;\n$bold--answer-border-style: $bold--border-style !default;\n\n$bold--result-padding: $bold--padding !default;\n$bold--result-border-width: $bold--border-width !default;\n$bold--result-border-style: $bold--border-style !default;\n\n$bold--transition: 0.3s ease !default;\n\n$bold--input-map: (\n\tpadding: $bold--input-padding,\n\tborder-width: $bold--input-border-width,\n\tborder-style: $bold--input-border-style,\n\tline-height: $bold--input-line-height,\n\ttransition: $bold--transition,\n);\n\n$bold--option-map: (\n\tsize: $bold--checkbox-size,\n\ticon-size: $bold--checkbox-icon,\n\tborder-width: $bold--checkbox-border-width,\n\tborder-style: $bold--checkbox-border-style,\n\tline-height: $bold--checkbox-size,\n\ttransition: $bold--transition,\n);\n\n$bold--select-map: (\n\ticon: $bold--select-line-height,\n\ticon-size: $bold--select-icon,\n\tpadding: $bold--select-padding,\n\tborder-width: $bold--select-border-width,\n\tborder-style: $bold--select-border-style,\n\tline-height: $bold--select-line-height,\n\ttransition: $bold--transition,\n);\n\n$bold--dropdown-map: (\n\tpadding: $bold--dropdown-padding,\n\tborder-width: $bold--dropdown-border-width,\n\tborder-style: $bold--dropdown-border-style,\n\tline-height: $bold--dropdown-line-height,\n\ttransition: $bold--transition,\n);\n\n$bold--multiselect-map: (\n\tpadding: $bold--multiselect-padding,\n\tborder-width: $bold--multiselect-border-width,\n\tborder-style: $bold--multiselect-border-style,\n\tline-height: $bold--multiselect-line-height,\n\ttransition: $bold--transition,\n);\n\n$bold--date-map: (\n\tpadding: $bold--input-padding,\n\ticon-size: $bold--input-icon,\n\ticon-height: $bold--input-line-height,\n);\n\n$bold--calendar-map: (\n\ticon: $bold--calendar-icon-size,\n\ticon-size: $bold--calendar-icon,\n\tcell-size: $bold--calendar-cell-size,\n\tpadding: $bold--calendar-padding,\n\tborder-width: $bold--calendar-border-width,\n\tborder-style: $bold--calendar-border-style,\n\ttransition: $bold--transition,\n);\n\n$bold--button-map: (\n\tpadding: $bold--button-padding,\n\tline-height: $bold--button-line-height,\n\ttransition: $bold--transition,\n);\n\n$bold--pagination-map: (\n\tbar-size: $bold--pagination-bar-size,\n\tdot-size: $bold--pagination-dot-size,\n\tborder-width: $bold--pagination-border-width,\n\tborder-style: $bold--pagination-border-style,\n\tline-height: $bold--pagination-line-height,\n);\n\n$bold--poll-question: (\n\tfont-size: $bold--question-font-size,\n\tline-height: $bold--question-line-height,\n\tfont-weight: $bold--question-font-weight,\n);\n\n$bold--poll-description: (\n\tfont-size: $bold--description-font-size,\n\tline-height: $bold--description-line-height,\n\tfont-weight: $bold--description-font-weight,\n);\n\n$bold--poll-actions: (\n\tpadding: $bold--button-padding,\n\tfont-size: $bold--actions-font-size,\n\tline-height: $bold--actions-line-height,\n\tfont-weight: $bold--actions-font-weight,\n);\n\n$bold--quiz-answer: (\n\tpadding: $bold--answer-padding,\n\tborder-width: $bold--answer-border-width,\n\tborder-style: $bold--answer-border-style,\n\ttransition: $bold--transition,\n);\n\n$bold--quiz-result: (\n\tpadding: $bold--result-padding,\n\tborder-width: $bold--result-border-width,\n\tborder-style: $bold--result-border-style,\n\tbutton-padding: $bold--button-padding,\n\tbutton-line-height: $bold--button-line-height,\n\tbutton-icon: $bold--button-icon-size,\n\ttransition: $bold--transition,\n);\n\n// ******************************************\n// 5.2. Forminator Flat\n\n$flat--icon-sm: 12px !default;\n$flat--icon-md: 15px !default;\n$flat--icon-lg: 18px !default;\n\n$flat--padding: 10px !default;\n$flat--line-height: 20px !default;\n\n$flat--input-icon: $flat--icon-lg !default;\n$flat--input-padding: $flat--padding !default;\n$flat--input-line-height: $flat--line-height !default;\n\n$flat--checkbox-size: $flat--line-height !default;\n$flat--checkbox-icon: $flat--icon-sm !default;\n\n$flat--select-icon: $flat--icon-sm !default;\n$flat--select-padding: $flat--padding !default;\n$flat--select-line-height: $flat--line-height !default;\n\n$flat--dropdown-padding: $flat--padding !default;\n$flat--dropdown-line-height: $flat--line-height !default;\n\n$flat--multiselect-padding: $flat--padding !default;\n$flat--multiselect-line-height: $flat--line-height !default;\n\n$flat--calendar-icon: $flat--icon-sm !default;\n$flat--calendar-icon-size: 26px !default;\n$flat--calendar-cell-size: 36px !default;\n$flat--calendar-padding: $flat--padding !default;\n\n$flat--button-padding: $flat--padding !default;\n$flat--button-line-height: $flat--line-height !default;\n$flat--button-icon-size: $flat--icon-sm !default;\n\n$flat--pagination-bar-size: 16px !default;\n$flat--pagination-dot-size: $flat--icon-md !default;\n$flat--pagination-border-width: 1px !default;\n$flat--pagination-border-style: solid !default;\n$flat--pagination-line-height: 21px !default;\n\n$flat--question-font-size: 15px !default;\n$flat--question-line-height: 20px !default;\n$flat--question-font-weight: bold !default;\n\n$flat--description-font-size: 13px !default;\n$flat--description-line-height: 18px !default;\n$flat--description-font-weight: normal !default;\n\n$flat--actions-font-size: 14px !default;\n$flat--actions-line-height: $flat--line-height !default;\n$flat--actions-font-weight: bold !default;\n\n$flat--answer-padding: $flat--padding !default;\n\n$flat--result-padding: $flat--padding !default;\n\n$flat--transition: 0.25s ease !default;\n\n$flat--input-map: (\n\tpadding: $flat--input-padding,\n\tline-height: $flat--input-line-height,\n\ttransition: $flat--transition,\n);\n\n$flat--option-map: (\n\tsize: $flat--checkbox-size,\n\ticon-size: $flat--checkbox-icon,\n\tline-height: $flat--checkbox-size,\n\ttransition: $flat--transition,\n);\n\n$flat--select-map: (\n\ticon: $flat--select-line-height,\n\ticon-size: $flat--select-icon,\n\tpadding: $flat--select-padding,\n\tline-height: $flat--select-line-height,\n\ttransition: $flat--transition,\n);\n\n$flat--dropdown-map: (\n\tpadding: $flat--dropdown-padding,\n\tline-height: $flat--dropdown-line-height,\n\ttransition: $flat--transition,\n);\n\n$flat--multiselect-map: (\n\tpadding: $flat--multiselect-padding,\n\tline-height: $flat--multiselect-line-height,\n\ttransition: $flat--transition,\n);\n\n$flat--date-map: (\n\tpadding: $flat--input-padding,\n\ticon-size: $flat--input-icon,\n\ticon-height: $flat--input-line-height,\n);\n\n$flat--calendar-map: (\n\ticon: $flat--calendar-icon-size,\n\ticon-size: $flat--calendar-icon,\n\tcell-size: $flat--calendar-cell-size,\n\tpadding: $flat--calendar-padding,\n\ttransition: $flat--transition,\n);\n\n$flat--button-map: (\n\tpadding: $flat--button-padding,\n\tline-height: $flat--button-line-height,\n\ttransition: $flat--transition,\n);\n\n$flat--pagination-map: (\n\tbar-size: $flat--pagination-bar-size,\n\tdot-size: $flat--pagination-dot-size,\n\tborder-width: $flat--pagination-border-width,\n\tborder-style: $flat--pagination-border-style,\n\tline-height: $flat--pagination-line-height,\n);\n\n$flat--poll-question: (\n\tfont-size: $flat--question-font-size,\n\tline-height: $flat--question-line-height,\n\tfont-weight: $flat--question-font-weight,\n);\n\n$flat--poll-description: (\n\tfont-size: $flat--description-font-size,\n\tline-height: $flat--description-line-height,\n\tfont-weight: $flat--description-font-weight,\n);\n\n$flat--poll-actions: (\n\tpadding: $flat--button-padding,\n\tfont-size: $flat--actions-font-size,\n\tline-height: $flat--actions-line-height,\n\tfont-weight: $flat--actions-font-weight,\n);\n\n$flat--quiz-answer: (\n\tpadding: $flat--answer-padding,\n\ttransition: $flat--transition,\n);\n\n$flat--quiz-result: (\n\tpadding: $flat--result-padding,\n\tbutton-padding: $flat--button-padding,\n\tbutton-line-height: $flat--button-line-height,\n\tbutton-icon: $flat--button-icon-size,\n\ttransition: $flat--transition,\n);\n\n// ******************************************\n// 5.3. Forminator UI\n\n$default--icon-size: 12px !default;\n$default--padding: 10px !default;\n$default--border-width: 1px !default;\n$default--border-style: solid !default;\n$default--border-radius: 2px !default;\n$default--line-height: 20px !default;\n\n$default--label-line-height: $default--line-height !default;\n$default--validation-line-height: 18px !default;\n\n$default--input-padding: $default--padding !default;\n$default--input-border-width: $default--border-width !default;\n$default--input-border-style: $default--border-style !default;\n$default--input-border-radius: $default--border-radius !default;\n$default--input-line-height: $default--line-height !default;\n\n$default--option-size: 20px !default;\n$default--option-icon: 12px !default;\n$default--option-border-width: $default--border-width !default;\n$default--option-border-style: $default--border-style !default;\n$default--option-border-radius: $default--border-radius !default;\n$default--option-line-height: $default--line-height !default;\n\n$default--select-icon: 20px !default;\n$default--select-icon-size: 12px !default;\n$default--select-padding: $default--padding !default;\n$default--select-border-width: $default--border-width !default;\n$default--select-border-style: $default--border-style !default;\n$default--select-border-radius: $default--border-radius !default;\n$default--select-line-height: $default--line-height !default;\n\n$default--dropdown-padding: $default--padding !default;\n$default--dropdown-border-width: $default--border-width !default;\n$default--dropdown-border-style: $default--border-style !default;\n$default--dropdown-border-radius: $default--border-radius !default;\n$default--dropdown-line-height: $default--line-height !default;\n\n$default--multiselect-padding: $default--padding !default;\n$default--multiselect-border-width: $default--border-width !default;\n$default--multiselect-border-style: $default--border-style !default;\n$default--multiselect-border-radius: $default--border-radius !default;\n$default--multiselect-line-height: $default--line-height !default;\n\n$default--date-icon: 16px !default;\n$default--date-icon-size: 20px !default;\n$default--date-padding: $default--padding !default;\n\n$default--calendar-icon: 26px !default;\n$default--calendar-icon-size: 12px !default;\n$default--calendar-cell-size: 36px !default;\n$default--calendar-padding: 5px !default;\n$default--calendar-border-width: $default--border-width !default;\n$default--calendar-border-style: $default--border-style !default;\n$default--calendar-border-radius: $default--border-radius !default;\n\n$default--button-padding: $default--padding !default;\n$default--button-border-radius: $default--border-radius !default;\n$default--button-line-height: $default--line-height !default;\n$default--button-icon-size: $default--icon-size !default;\n\n$default--pagination-bar-size: 16px !default;\n$default--pagination-dot-size: 14px !default;\n$default--pagination-border-width: $default--border-width !default;\n$default--pagination-border-style: $default--border-style !default;\n$default--pagination-line-height: $default--line-height !default;\n\n$default--question-font-size: 15px !default;\n$default--question-line-height: 20px !default;\n$default--question-font-weight: bold !default;\n\n$default--description-font-size: 13px !default;\n$default--description-line-height: 18px !default;\n$default--description-font-weight: normal !default;\n\n$default--actions-font-size: 14px !default;\n$default--actions-line-height: $default--line-height !default;\n$default--actions-font-weight: normal !default;\n\n$default--answer-padding: $default--padding !default;\n$default--answer-border-width: $default--border-width !default;\n$default--answer-border-style: $default--border-style !default;\n$default--answer-border-radius: $default--border-radius !default;\n\n$default--result-padding: $default--padding !default;\n$default--result-border-width: $default--border-width !default;\n$default--result-border-style: $default--border-style !default;\n$default--result-border-radius: $default--border-radius !default;\n\n$default--quiz-spacing: 5px !default;\n\n$default--transition: 0.3s ease !default;\n\n$default--input-map: (\n\tpadding: $default--input-padding,\n\tborder-width: $default--input-border-width,\n\tborder-style: $default--input-border-style,\n\tborder-radius: $default--input-border-radius,\n\tline-height: $default--input-line-height,\n\ttransition: $default--transition,\n);\n\n$default--option-map: (\n\tsize: $default--option-size,\n\ticon-size: $default--option-icon,\n\tborder-width: $default--option-border-width,\n\tborder-style: $default--option-border-style,\n\tborder-radius: $default--option-border-radius,\n\tline-height: $default--option-line-height,\n\ttransition: $default--transition,\n);\n\n$default--select-map: (\n\ticon: $default--select-icon,\n\ticon-size: $default--select-icon-size,\n\tpadding: $default--select-padding,\n\tborder-width: $default--select-border-width,\n\tborder-style: $default--select-border-style,\n\tborder-radius: $default--select-border-radius,\n\tline-height: $default--select-line-height,\n\ttransition: $default--transition,\n);\n\n$default--dropdown-map: (\n\tpadding: $default--dropdown-padding,\n\tborder-width: $default--dropdown-border-width,\n\tborder-style: $default--dropdown-border-style,\n\tborder-radius: $default--dropdown-border-radius,\n\tline-height: $default--dropdown-line-height,\n\ttransition: $default--transition,\n);\n\n$default--multiselect-map: (\n\tpadding: $default--multiselect-padding,\n\tborder-width: $default--multiselect-border-width,\n\tborder-style: $default--multiselect-border-style,\n\tborder-radius: $default--multiselect-border-radius,\n\tline-height: $default--multiselect-line-height,\n\ttransition: $default--transition,\n);\n\n$default--date-map: (\n\ticon-size: $default--date-icon,\n\ticon-height: $default--date-icon-size,\n\tpadding: $default--date-padding,\n);\n\n$default--calendar-map: (\n\ticon: $default--calendar-icon,\n\ticon-size: $default--calendar-icon-size,\n\tcell-size: $default--calendar-cell-size,\n\tpadding: $default--calendar-padding,\n\tborder-width: $default--calendar-border-width,\n\tborder-style: $default--calendar-border-style,\n\tborder-radius: $default--calendar-border-radius,\n\ttransition: $default--transition,\n);\n\n$default--button-map: (\n\tpadding: $default--button-padding,\n\tborder-radius: $default--button-border-radius,\n\tline-height: $default--button-line-height,\n\ttransition: $default--transition,\n);\n\n$default--pagination-map: (\n\tbar-size: $default--pagination-bar-size,\n\tdot-size: $default--pagination-dot-size,\n\tborder-width: $default--pagination-border-width,\n\tborder-style: $default--pagination-border-style,\n\tline-height: $default--pagination-line-height,\n);\n\n$default--poll-question: (\n\tfont-size: $default--question-font-size,\n\tline-height: $default--question-line-height,\n\tfont-weight: $default--question-font-weight,\n);\n\n$default--poll-description: (\n\tfont-size: $default--description-font-size,\n\tline-height: $default--description-line-height,\n\tfont-weight: $default--description-font-weight,\n);\n\n$default--poll-actions: (\n\tpadding: $default--button-padding,\n\tfont-size: $default--actions-font-size,\n\tline-height: $default--actions-line-height,\n\tfont-weight: $default--actions-font-weight,\n);\n\n$default--quiz-answer: (\n\tpadding: $default--answer-padding,\n\tborder-width: $default--answer-border-width,\n\tborder-style: $default--answer-border-style,\n\tborder-radius: $default--answer-border-radius,\n\ttransition: $default--transition,\n);\n\n$default--quiz-result: (\n\tpadding: $default--result-padding,\n\tborder-width: $default--result-border-width,\n\tborder-style: $default--result-border-style,\n\tborder-radius: $default--result-border-radius,\n\tbutton-padding: $default--button-padding,\n\tbutton-line-height: $default--button-line-height,\n\tbutton-border-radius: $default--button-border-radius,\n\tbutton-icon: $default--button-icon-size,\n\ttransition: $default--transition,\n);\n\n// ******************************************\n// 5.4. Material Design\n\n$material--icon-size: 10px !default;\n\n$material--padding: 10px !default;\n$material--border-width: 1px !default;\n$material--border-style: solid !default;\n$material--border-radius: 2px !default;\n$material--line-height: 20px !default;\n\n$material--input-padding: $material--padding !default;\n$material--input-border-width: $material--border-width !default;\n$material--input-border-style: $material--border-style !default;\n$material--input-border-radius: $material--border-radius !default;\n$material--input-line-height: $material--line-height !default;\n\n$material--option-size: 20px !default;\n$material--option-icon: 10px !default;\n$material--option-border-width: 2px !default;\n$material--option-border-style: $material--border-style !default;\n$material--option-border-radius: $material--border-radius !default;\n$material--option-line-height: $material--line-height !default;\n\n$material--select-icon: 20px !default;\n$material--select-icon-size: 12px !default;\n$material--select-padding: $material--padding !default;\n$material--select-border-width: $material--border-width !default;\n$material--select-border-style: $material--border-style !default;\n$material--select-line-height: $material--line-height !default;\n\n$material--dropdown-padding: $material--padding !default;\n$material--dropdown-border-width: $material--border-width !default;\n$material--dropdown-border-style: $material--border-style !default;\n$material--dropdown-line-height: $material--line-height !default;\n\n$material--multiselect-padding: $material--padding !default;\n$material--multiselect-border-width: $material--border-width !default;\n$material--multiselect-border-style: $material--border-style !default;\n$material--multiselect-border-radius: $material--border-radius !default;\n$material--multiselect-line-height: $material--line-height !default;\n\n$material--date-icon: 16px !default;\n$material--date-icon-size: 16px !default;\n$material--date-padding: $material--padding !default;\n\n$material--calendar-icon: 26px !default;\n$material--calendar-icon-size: 16px !default;\n$material--calendar-cell-size: 50px !default;\n$material--calendar-padding: 5px !default;\n$material--calendar-padding-head: 20px !default;\n$material--calendar-shadow: 0 6px 10px $material--shadow-color !default;\n\n$material--button-padding: $material--padding !default;\n$material--button-border-radius: $material--border-radius !default;\n$material--button-line-height: $material--line-height !default;\n\n$material--pagination-bar-size: 8px !default;\n$material--pagination-dot-size: 21px !default;\n$material--pagination-border-width: $material--border-width !default;\n$material--pagination-border-style: $material--border-style !default;\n$material--pagination-line-height: $material--line-height !default;\n\n$material--question-font-size: 15px !default;\n$material--question-line-height: 20px !default;\n$material--question-font-weight: bold !default;\n\n$material--description-font-size: 13px !default;\n$material--description-line-height: 18px !default;\n$material--description-font-weight: normal !default;\n\n$material--actions-font-size: 14px !default;\n$material--actions-line-height: $material--line-height !default;\n$material--actions-font-weight: normal !default;\n\n$material--card-shadow: 0 1px 1px $material--shadow-color !default;\n$material--card-shadow-hover: 0 3px 8px $material--shadow-color !default;\n\n$material--answer-padding: $material--padding !default;\n$material--answer-border-width: 2px !default;\n$material--answer-border-style: $material--border-style !default;\n$material--answer-border-radius: $material--border-radius !default;\n$material--answer-box-shadow: $material--shadow-color !default;\n\n$material--result-padding: $material--padding !default;\n$material--result-border-radius: $material--border-radius !default;\n$material--result-box-shadow: 0 1px 1px $material--shadow-color !default;\n\n$material--transition: 0.25s ease !default;\n$material--transition-alt: 0.25s linear !default;\n\n$material--input-map: (\n\tpadding: $material--input-padding,\n\tborder-width: $material--input-border-width,\n\tborder-style: $material--input-border-style,\n\tborder-radius: $material--input-border-radius,\n\tline-height: $material--input-line-height,\n\ttransition: $material--transition,\n);\n\n$material--option-map: (\n\tsize: $material--option-size,\n\ticon-size: $material--option-icon,\n\tborder-width: $material--option-border-width,\n\tborder-style: $material--option-border-style,\n\tborder-radius: $material--option-border-radius,\n\tline-height: $material--option-line-height,\n\ttransition: $material--transition,\n);\n\n$material--select-map: (\n\ticon: $material--select-icon,\n\ticon-size: $material--select-icon-size,\n\tpadding: $material--select-padding,\n\tborder-width: $material--select-border-width,\n\tborder-style: $material--select-border-style,\n\tline-height: $material--select-line-height,\n\ttransition: $material--transition,\n);\n\n$material--dropdown-map: (\n\tpadding: $material--dropdown-padding,\n\tline-height: $material--dropdown-line-height,\n\ttransition: $material--transition,\n);\n\n$material--multiselect-map: (\n\tpadding: $material--multiselect-padding,\n\tborder-width: $material--multiselect-border-width,\n\tborder-style: $material--multiselect-border-style,\n\tborder-radius: $material--multiselect-border-radius,\n\tline-height: $material--multiselect-line-height,\n\ttransition: $material--transition,\n);\n\n$material--date-map: (\n\ticon-size: $material--date-icon,\n\ticon-height: $material--date-icon-size,\n\tpadding: $material--date-padding,\n);\n\n$material--calendar-map: (\n\ticon: $material--calendar-icon,\n\ticon-size: $material--calendar-icon-size,\n\tcell-size: $material--calendar-cell-size,\n\tpadding: $material--calendar-padding,\n\tpadding-head: $material--calendar-padding-head,\n\tshadow: $material--calendar-shadow,\n\ttransition: $material--transition,\n);\n\n$material--button-map: (\n\tpadding: $material--button-padding,\n\tborder-radius: $material--button-border-radius,\n\tline-height: $material--button-line-height,\n\ttransition: $material--transition,\n);\n\n$material--pagination-map: (\n\tbar-size: $material--pagination-bar-size,\n\tdot-size: $material--pagination-dot-size,\n\tborder-width: $material--pagination-border-width,\n\tborder-style: $material--pagination-border-style,\n\tline-height: $material--pagination-line-height,\n);\n\n$material--poll-question: (\n\tfont-size: $material--question-font-size,\n\tline-height: $material--question-line-height,\n\tfont-weight: $material--question-font-weight,\n);\n\n$material--poll-description: (\n\tfont-size: $material--description-font-size,\n\tline-height: $material--description-line-height,\n\tfont-weight: $material--description-font-weight,\n);\n\n$material--poll-actions: (\n\tpadding: $material--button-padding,\n\tfont-size: $material--actions-font-size,\n\tline-height: $material--actions-line-height,\n\tfont-weight: $material--actions-font-weight,\n);\n\n$material--quiz-answer: (\n\tpadding: $material--answer-padding,\n\tborder-width: $material--answer-border-width,\n\tborder-style: $material--answer-border-style,\n\tborder-radius: $material--answer-border-radius,\n\tbox-shadow: $material--answer-box-shadow,\n\ttransition: $material--transition,\n);\n\n$material--quiz-result: (\n\tbreak: true,\n\tpadding: $material--result-padding,\n\tborder-radius: $material--result-border-radius,\n\tbox-shadow: $material--result-box-shadow,\n);","// =============================================\n// FORMINATOR UI â MIXIN: BREAKPOINTS\n// \n// Author: Leighton Sapir (WPMU DEV)\n// Date: July 3, 2018\n// =============================================\n\n// =============================================\n// You can get breakpoints based on minimum width\n// or based on maximium width. For both cases, do\n// the following:\n//\n// A) Display styles based on min-width:\n// @include media(min-width, small);\n//\n// B) Display styles based on max-width:\n// @include media(max-width, small);\n// =============================================\n\n@mixin media($bp-type, $bp-name-1, $bp-name-2: null) {\n\n\t@if ($bp-type == min-width) {\n\n\t\t$min-breakpoint-width: map-get($fui-breakpoints, $bp-name-1);\n\n\t\t@media (min-width: $min-breakpoint-width) {\n\t\t\t@content;\n\t\t}\n\t}\n\n\t@else if ($bp-type == max-width) {\n\n\t\t$max-breakpoint-width: #{map-get($fui-breakpoints, $bp-name-1) - 1px};\n\n\t\t@media (max-width: $max-breakpoint-width) {\n\t\t\t@content;\n\t\t}\n\t}\n\n\t@else if ($bp-type == between) {\n\t\t\n\t\t$min-breakpoint-width: map-get($fui-breakpoints, $bp-name-1);\n\t\t$max-breakpoint-width: #{map-get($fui-breakpoints, $bp-name-1) - 1px};\n\n\t\t@media (min-width: $min-breakpoint-width) and (max-width: $max-breakpoint-width) {\n\t\t\t@content;\n\t\t}\n\t}\n\n\t@else {\n\n\t\t@warn \"Unfortunately, no type could be retrieved from `#{$bp-type}`. \"\n\t\t+ \"Use either `min-width`, `max-width`, or `between`.\";\n\t}\n}","@include body-class('custom-form', '') {\n\n\t.forminator-hidden {\n\t\tdisplay: none !important;\n\t}\n\n\t.forminator-hidden-mobile {\n\t\t\n\t\t@include media(max-width, sm) {\n\t\t\tdisplay: none !important;\n\t\t}\n\t}\n\n\t.forminator-hidden-desktop {\n\n\t\t@include media(min-width, sm) {\n\t\t\tdisplay: none !important;\n\t\t}\n\t}\n}","// =============================================\n// FORMINATOR UI â MIXIN: NOTIFICATIONS\n// \n// Author: Leighton Sapir (WPMU DEV)\n// Date: July 3, 2018\n// =============================================\n\n@mixin notice($notice: default, $notice-padding: $notice--padding, $notice-radius: $border-radius) {\n\theight: auto;\n\tcursor: default;\n\tdisplay: block;\n\tposition: relative;\n\tmargin: $gutter-sm 0;\n\tpadding: $notice-padding;\n\tborder-radius: $notice-radius;\n\ttransition: height 0.3s linear, opacity 0.3s ease;\n\n\t&:before {\n\t\twidth: $notice--icon-size;\n\t\theight: $notice--icon-size;\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\ttop: #{$notice-padding + ( ($notice--line-height - $notice--icon-size) / 2)};\n\t\tleft: $notice-padding;\n\t\tfont-size: $notice--icon-size;\n\t\ttext-align: center;\n\t}\n\n\t@if ($notice == info) {\n\t\tbackground-color: $notice--info-background;\n\t\tcolor: $notice--info-color;\n\n\t\t@include icon(before, $notice--icon-info, true) {\n\t\t\tcolor: $notice--info-color;\n\t\t}\n\t}\n\n\t@else if ($notice == error) {\n\t\tbackground-color: $notice--error-background;\n\t\tcolor: $notice--error-color;\n\n\t\t@include icon(before, $notice--icon-error, true) {\n\t\t\tcolor: $notice--error-color;\n\t\t}\n\t}\n\n\t@else if ($notice == default) {\n\t\tbackground-color: $notice--default-background;\n\t\tcolor: $notice--default-color;\n\n\t\t@include icon(before, $notice--icon-default, true) {\n\t\t\tcolor: $notice--default-color;\n\t\t}\n\t}\n\t\n\t@else if ($notice == success) {\n\t\tbackground-color: $notice--success-background;\n\t\tcolor: $notice--success-color;\n\n\t\t@include icon(before, $notice--icon-success, true) {\n\t\t\tcolor: $notice--success-color;\n\t\t}\n\t}\n\n\t@else if ($notice == loading) {\n\t\tbackground-color: $notice--loading-background;\n\t\tcolor: $notice--loading-color;\n\n\t\t&:before {\n\t\t\twidth: 18px;\n\t\t\theight: 18px;\n\t\t\tborder: 2px solid $notice--loading-icon-color;\n\t\t\tborder-bottom-color: transparent;\n\t\t\tborder-radius: 100%;\n\t\t\tbox-sizing: border-box;\n\t\t\tanimation: spin .75s 0s linear infinite;\n\t\t}\n\t}\n\n\t@else {\n\n\t\t@warn \"Unfortunately, no type could be retrieved from `#{$notice}`. \"\n\t\t+ \"Use either `info`, `error`, `default`, `success`, or `loading`.\";\n\t}\n\n\t* {\n\t\tcolor: inherit;\n\t}\n\n\t> span,\n\t> div {\n\t\tcursor: initial;\n\t\tdisplay: block;\n\t\tpadding-left: #{$notice--icon-size + $notice-padding};\n\t}\n\n\t&, p {\n\t\tfont-size: 13px;\n\t\tline-height: $notice--line-height;\n\t\tfont-family: $font;\n\t\tfont-weight: 400;\n\t\tletter-spacing: $letter-spacing;\n\n\t\tstrong {\n\t\t\tfont-weight: bold;\n\t\t}\n\t}\n\n\tp {\n\t\t@extend %basic-reset;\n\t}\n\n\t&:first-child {\n\t\tmargin-top: 0;\n\t}\n\n\t&:last-child {\n\t\tmargin-bottom: 0;\n\t}\n\n\t@include media(min-width, sm) {\n\t\tmargin: $gutter 0;\n\t}\n\n\t@content;\n}","// =============================================\n// FORMINATOR UI â COLORS PALETTE\n// \n// Author: Leighton Sapir (WPMU DEV)\n// Date: June 19, 2018\n// \n// Last Update: June 20, 2018\n// =============================================\n\n$palettes: (\n\tmono: (\n\t\tdefault:\t#000000,\n\t\tblack:\t\t#000000,\n\t\twhite:\t\t#FFFFFF,\n\t),\n\tgray: (\n\t\tdefault:\t#666666,\n\t\tlight:\t\t#888888,\n\t\tdark:\t\t#333333,\n\t),\n\tsilver: (\n\t\tdefault:\t#F2F2F2,\n\t\tsoft:\t\t#AAAAAA,\n\t\tlight:\t\t#F8F8F8,\n\t\tdark:\t\t#E6E6E6,\n\t),\n\tblue: (\n\t\tdefault:\t#17A8E3,\n\t\tlight:\t\t#D4EEF9,\n\t\tdark:\t\t#008FCA,\n\t),\n\tred: (\n\t\tdefault:\t#FF7F83,\n\t\tdark:\t\t#CB4B57,\n\t),\n\tgreen: (\n\t\tdefault: #1ABC9C,\n\t),\n\tyellow: (\n\t\tdefault:\t#F8D247,\n\t\tlight:\t\t#FFF4D2,\n\t)\n) !default;\n\n// =============================================\n// COLORS MENU\n//\n// 1. MAIN COLORS\n// 2. NOTICES COLORS\n// 3. MATERIAL COLORS\n// =============================================\n\n// =============================================\n// 1. MAIN COLORS\n\n$white:\t\t\tpalette(mono, white)\t\t!default;\n$black:\t\t\tpalette(mono, black)\t\t!default;\n\n$silver:\t\tpalette(silver, default)\t!default;\n$silver-light:\tpalette(silver, light)\t\t!default;\n$silver-dark:\tpalette(silver, dark)\t\t!default;\n\n$gray:\t\t\tpalette(gray, default)\t\t!default;\n$gray-soft:\t\tpalette(gray, soft)\t\t\t!default;\n$gray-light:\tpalette(gray, light)\t\t!default;\n$gray-dark:\t\tpalette(gray, dark)\t\t\t!default;\n\n$blue:\t\t\tpalette(blue, default)\t\t!default;\n$blue-light:\tpalette(blue, light)\t\t!default;\n$blue-dark:\t\tpalette(blue, dark)\t\t\t!default;\n\n$red:\t\t\tpalette(red, default)\t\t!default;\n$red-dark:\t\tpalette(red, dark)\t\t\t!default;\n\n$green:\t\t\tpalette(green, default)\t\t!default;\n\n$yellow:\t\tpalette(yellow, default)\t!default;\n$yellow-light:\tpalette(yellow, light)\t\t!default;\n\n// =============================================\n// 3. NOTICES COLORS\n\n$notice--default-background:\t\t$yellow-light\t!default;\n$notice--default-color:\t\t\t\t$gray-dark\t\t!default;\n$notice--default-icon-color:\t\t$yellow\t\t\t!default;\n\n$notice--info-background:\t\t\t$silver-light\t!default;\n$notice--info-color:\t\t\t\t$gray-light\t\t!default;\n$notice--info-icon-color:\t\t\t$blue\t\t\t!default;\n\n$notice--error-background:\t\t\t$red-dark\t\t!default;\n$notice--error-color:\t\t\t\t$white\t\t\t!default;\n$notice--error-icon-color:\t\t\t$white\t\t\t!default;\n\n$notice--success-background:\t\t$green\t\t\t!default;\n$notice--success-color:\t\t\t\t$white\t\t\t!default;\n$notice--success-icon-color:\t\t$white\t\t\t!default;\n\n$notice--loading-background:\t\t$blue-light\t\t!default;\n$notice--loading-color:\t\t\t\t$gray-light\t\t!default;\n$notice--loading-icon-color:\t\t$white\t\t\t!default;\n\n// =============================================\n// 3. MATERIAL COLORS\n\n$material--shadow-color:\trgba(0,0,0,0.3)\t\t!default;\n$material--image-mask:\t\trgba(0,0,0,0.6)\t\t!default;\n$material--card-border:\t\trgba(0,0,0,0.1)\t\t!default;","// =============================================\n// FORMINATOR UI â MIXIN: WYSIWYG\n// \n// Author: Leighton Sapir (WPMU DEV)\n// Date: July 3, 2018\n// =============================================\n\n@mixin wysiwyg($wysiwyg-map: null) {\n\n\t.wp-editor-wrap {\n\n\t\t.wp-switch-editor {\n\t\t\theight: auto;\n\t\t\tmargin-top: 0;\n\t\t\tpadding-top: 4px;\n\t\t\tfont-size: 12px;\n\t\t\tline-height: 20px;\n\t\t\tfont-weight: normal;\n\t\t}\n\n\t\t@content;\n\t}\n}","// =============================================\n// FORMINATOR UI â FORM BOLD STYLES\n// \n// Author: Leighton Sapir (WPMU DEV)\n// Date: June 27, 2018\n//\n// Last Update: June 28, 2018\n// =============================================\n\n// =============================================\n// FORM BOLD STYLES MENU\n//\n// 1. LABELS\n// 2. SECTION BORDER\n// 3. INPUT & TEXTAREA\n// 4. RADIO & CHECKBOX\n// 5. SELECT\n// 6. SELECT DROPDOWN\n// 7. MULTI SELECT\n// 8. DATE FIELD\n// 9. CALENDAR\n// 10. BUTTON\n// 11. PAGINATION\n// =============================================\n\n// =============================================\n// 1. LABELS\n\n@include body-class(custom-form, bold) {\n\t\n\t.forminator-label,\n\t.forminator-label--limit,\n\t.forminator-label--helper {\n\t\tline-height: $bold--line-height;\n\t}\n\n\t.forminator-label--validation {\n\t\tmargin-top: #{$bold--padding / 2};\n\t\tpadding: #{$bold--padding / 2} $bold--padding;\n\t\tline-height: $bold--line-height;\n\t}\n}\n\n// =============================================\n// 2. SECTION BORDER\n\n@include body-class(custom-form, bold) {\n\n\t@include section-border();\n}\n\n// =============================================\n// 3. INPUT & TEXTAREA\n\n@include body-class(custom-form, bold) {\n\n\t@include input($bold--input-map);\n}\n\n// =============================================\n// 4. RADIO & CHECKBOX\n\n@include body-class(custom-form, bold) {\n\n\t@include options(radio, $bold--option-map);\n\n\t@include options(checkbox, $bold--option-map);\n}\n\n// =============================================\n// 5. SELECT\n\n@include body-class(custom-form, bold) {\n\n\t@include select($bold--select-map);\n}\n\n// =============================================\n// 6. SELECT DROPDOWN\n\n@include dropdown(bold, $bold--dropdown-map);\n\n// =============================================\n// 7. MULTI SELECT\n\n@include body-class(custom-form, bold) {\n\t\n\t@include multiselect($bold--multiselect-map);\n}\n\n// =============================================\n// 8. DATE FIELD\n\n@include body-class(custom-form, bold) {\n\n\t@include date($bold--date-map);\n}\n\n// =============================================\n// 9. CALENDAR\n\n@include calendar(bold, $bold--calendar-map);\n\n// =============================================\n// 10. BUTTON\n\n@include body-class(custom-form, bold) {\n\n\t@include button($bold--button-map);\n}\n\n// =============================================\n// 11. PAGINATION\n\n@include body-class(custom-form, bold) {\n\n\t@include pagination($bold--pagination-map);\n}","// =============================================\n// FORMINATOR UI â MIXIN: SECTION BORDER\n// \n// Author: Leighton Sapir (WPMU DEV)\n// Date: July 3, 2018\n// =============================================\n\n@mixin section-border() {\n\t\n\t.forminator-break .forminator-border {\n\t\twidth: 100%;\n\t\theight: 0;\n\t\tdisplay: block;\n\t\tmargin-right: 0;\n\t\tmargin-bottom: 0;\n\t\tmargin-left: 0;\n\t\tpadding: 0;\n\t\tborder-style: none;\n\n\t\t@content;\n\n\t\t&.solid {\n\t\t\tborder-style: solid;\n\t\t}\n\n\t\t&.dashed {\n\t\t\tborder-style: dashed;\n\t\t}\n\t}\n}","// =============================================\n// FORMINATOR UI â MIXIN: INPUT & TEXTAREA\n// \n// Author: Leighton Sapir (WPMU DEV)\n// Date: July 3, 2018\n// =============================================\n\n@mixin input($input-map: null, $input-theme: default) {\n\n\t.forminator-input,\n\t.forminator-textarea {\n\t\twidth: 100%;\n\t\tmax-width: 100%;\n\t\tdisplay: block;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tborder: 0;\n\t\tbackground-image: unset;\n\n\t\t@if $input-theme == material {\n\t\t\tbackground-color: transparent;\n\t\t}\n\n\t\t&,\n\t\t&:hover,\n\t\t&:focus,\n\t\t&:active,\n\t\t&:disabled {\n\t\t\toutline: none;\n\t\t\tbox-shadow: none;\n\t\t}\n\n\t\t&,\n\t\t&:hover,\n\t\t&:focus,\n\t\t&:active {\n\t\t\t@include opacity(1);\n\t\t}\n\n\t\t&:disabled {\n\t\t\tpointer-events: none;\n\t\t\tborder-style: dotted;\n\n\t\t\t&:-moz-placeholder {\n\t\t\t\t@include opacity(0.4);\n\t\t\t}\n\t\t\n\t\t\t&::-moz-placeholder {\n\t\t\t\t@include opacity(0.4);\n\t\t\t}\n\n\t\t\t&:-ms-input-placeholder {\n\t\t\t\t@include opacity(0.4);\n\t\t\t}\n\n\t\t\t&::-webkit-input-placeholder {\n\t\t\t\t@include opacity(0.4);\n\t\t\t}\n\t\t}\n\t}\n\n\t.forminator-textarea {\n\t\theight: auto;\n\t\tmin-height: 140px;\n\t\tresize: vertical;\n\t}\n\n\t.intl-tel-input {\n\t\tdisplay: block;\n\t}\n\n\t@if $input-map != null {\n\n\t\t$has-padding: map-has-key($input-map, padding);\n\t\t$has-border-width: map-has-key($input-map, border-width);\n\t\t$has-border-style: map-has-key($input-map, border-style);\n\t\t$has-border-radius: map-has-key($input-map, border-radius);\n\t\t$has-line-height: map-has-key($input-map, line-height);\n\t\t$has-transition: map-has-key($input-map, transition);\n\n\t\t$padding: map-get($input-map, padding);\n\t\t$border-width: map-get($input-map, border-width);\n\t\t$border-style: map-get($input-map, border-style);\n\t\t$border-radius: map-get($input-map, border-radius);\n\t\t$line-height: map-get($input-map, line-height);\n\t\t$transition: map-get($input-map, transition);\n\n\t\t.forminator-input,\n\t\t.forminator-textarea {\n\n\t\t\t@if $has-line-height {\n\t\t\t\tline-height: $line-height;\n\t\t\t}\n\n\t\t\t@if $has-transition {\n\t\t\t\ttransition: $transition;\n\t\t\t}\n\t\t}\n\n\t\t.forminator-input {\n\n\t\t\t@if $input-theme == material {\n\t\t\t\tborder-radius: 0;\n\n\t\t\t\t@if $has-padding {\n\t\t\t\t\tpadding-top: $padding;\n\t\t\t\t}\n\t\n\t\t\t\t@if $has-padding and $has-border-width {\n\t\t\t\t\tpadding-bottom: #{$padding - $border-width};\n\t\t\t\t}\n\t\n\t\t\t\t@if $has-padding and not $has-border-width {\n\t\t\t\t\tpadding-bottom: $padding;\n\t\t\t\t}\n\t\n\t\t\t\t@if $has-border-width and $has-border-style {\n\t\t\t\t\tborder-top: 0;\n\t\t\t\t\tborder-right: 0;\n\t\t\t\t\tborder-left: 0;\n\t\t\t\t\tborder-bottom-width: $border-width;\n\t\t\t\t\tborder-bottom-style: $border-style;\n\t\t\t\t}\n\t\n\t\t\t\t@else {\n\t\t\t\t\tborder: 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@else {\n\n\t\t\t\t@if $has-padding and $has-border-width {\n\t\t\t\t\tpadding: #{$padding - $border-width};\n\t\t\t\t}\n\n\t\t\t\t@if $has-padding and not $has-border-width {\n\t\t\t\t\tpadding: $padding;\n\t\t\t\t}\n\n\t\t\t\t@if $has-border-width and $has-border-style {\n\t\t\t\t\tborder-width: $border-width;\n\t\t\t\t\tborder-style: $border-style;\n\t\t\t\t}\n\n\t\t\t\t@else {\n\t\t\t\t\tborder: 0;\n\t\t\t\t}\n\n\t\t\t\t@if $has-border-radius {\n\t\t\t\t\tborder-radius: $border-radius;\n\t\t\t\t}\n\t\n\t\t\t\t@else {\n\t\t\t\t\tborder-radius: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.forminator-textarea {\n\n\t\t\t@if $has-padding and $has-border-width {\n\t\t\t\tpadding: #{$padding - $border-width};\n\t\t\t}\n\n\t\t\t@if $has-padding and not $has-border-width {\n\t\t\t\tpadding: $padding;\n\t\t\t}\n\n\t\t\t@if $has-border-width and $has-border-style {\n\t\t\t\tborder-width: $border-width;\n\t\t\t\tborder-style: $border-style;\n\t\t\t}\n\n\t\t\t@if $has-border-radius {\n\t\t\t\tborder-radius: $border-radius;\n\t\t\t}\n\n\t\t\t@else {\n\t\t\t\tborder-radius: 0;\n\t\t\t}\n\t\t}\n\n\t\t.forminator-input {\n\n\t\t\t@if $has-line-height and $has-padding {\n\t\t\t\theight: #{$line-height + ($padding * 2)};\n\t\t\t}\n\n\t\t\t@else {\n\t\t\t\theight: auto;\n\t\t\t}\n\t\t}\n\n\t\t@content;\n\t}\n}","// =============================================\n// FORMINATOR UI â MIXIN: OPTIONS (FOR RADIO OR\n// CHECKBOX)\n// \n// Author: Leighton Sapir (WPMU DEV)\n// Date: July 3, 2018\n// =============================================\n\n@mixin options($options-type: checkbox, $options-map: unset, $options-theme: null) {\n\n\t@if ($options-type == checkbox) or ($options-type == radio) {\n\n\t\t.forminator-#{$options-type} {\n\t\t\tdisplay: flex;\n\t\t\tposition: relative;\n\t\t\tmargin: 5px 0;\n\n\t\t\tinput {\n\t\t\t\t@extend %screen-reader-only;\n\n\t\t\t\t&:checked + .forminator-#{$options-type}--design {\n\n\t\t\t\t\t&:before {\n\t\t\t\t\t\t@include opacity(1);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t@if $options-theme == material {\n\n\t\t\t\t\t&:focus + .forminator-#{$options-type}--design:after {\n\t\t\t\t\t\t@include opacity(1);\n\t\t\t\t\t\tanimation-name: click-animation;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.forminator-#{$options-type}--design {\n\t\t\t\tcursor: pointer;\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-direction: column;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\t\t\t\tmargin: 0;\n\t\t\t\tpadding: 0;\n\n\t\t\t\t&:before {\n\t\t\t\t\t@include opacity(0);\n\t\t\t\t\tdisplay: block;\n\t\t\t\t}\n\n\t\t\t\t+ .forminator-#{$options-type}--label {\n\t\t\t\t\tmargin-left: 10px;\n\t\t\t\t}\n\n\t\t\t\t@if $options-theme == material {\n\t\t\t\t\tposition: relative;\n\n\t\t\t\t\t&:after {\n\t\t\t\t\t\tcontent: \" \";\n\t\t\t\t\t\t@include opacity(0);\n\t\t\t\t\t\tposition: absolute;\n\t\t\t\t\t\tborder-radius: 50%;\n\t\t\t\t\t\ttransform: scale(0);\n\t\t\t\t\t\ttransform-origin: center;\n\t\t\t\t\t\ttransform-style: preserve-3d;\n\t\t\t\t\t\tanimation-duration: 0.6s;\n\t\t\t\t\t\tanimation-fill-mode: both;\n\n\t\t\t\t\t\t@if $options-map != null {\n\n\t\t\t\t\t\t\t$has-size: map-has-key($options-map, size);\n\t\t\t\t\t\t\t$size: map-get($options-map, size);\n\n\t\t\t\t\t\t\t@if $has-size {\n\t\t\t\t\t\t\t\twidth: $size;\n\t\t\t\t\t\t\t\theight: $size;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.forminator-#{$options-type}--label {\n\t\t\t\tcursor: default;\n\t\t\t\tdisplay: block;\n\t\t\t\tmargin: 0;\n\t\t\t\tpadding: 0;\n\t\t\t\tborder: 0;\n\t\t\t\tletter-spacing: 0;\n\n\t\t\t\t&[for] {\n\t\t\t\t\tcursor: pointer;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@content;\n\t\t}\n\n\t\t@if $options-map != null {\n\n\t\t\t$has-size: map-has-key($options-map, size);\n\t\t\t$has-icon-size: map-has-key($options-map, icon-size);\n\t\t\t$has-border-width: map-has-key($options-map, border-width);\n\t\t\t$has-border-style: map-has-key($options-map, border-style);\n\t\t\t$has-border-radius: map-has-key($options-map, border-radius);\n\t\t\t$has-line-height: map-has-key($options-map, line-height);\n\t\t\t$has-transition: map-has-key($options-map, transition);\n\n\t\t\t$size: map-get($options-map, size);\n\t\t\t$icon-size: map-get($options-map, icon-size);\n\t\t\t$border-width: map-get($options-map, border-width);\n\t\t\t$border-style: map-get($options-map, border-style);\n\t\t\t$border-radius: map-get($options-map, border-radius);\n\t\t\t$line-height: map-get($options-map, line-height);\n\t\t\t$transition: map-get($options-map, transition);\n\n\t\t\t.forminator-#{$options-type} .forminator-#{$options-type}--design {\n\n\t\t\t\t@if $has-size {\n\t\t\t\t\twidth: $size;\n\t\t\t\t\theight: $size;\n\t\t\t\t\tflex: 0 0 $size;\n\t\t\t\t}\n\n\t\t\t\t@if $has-border-width and $has-border-style {\n\t\t\t\t\tborder-width: $border-width;\n\t\t\t\t\tborder-style: $border-style;\n\t\t\t\t}\n\t\n\t\t\t\t@else {\n\t\t\t\t\tborder: 0;\n\t\t\t\t}\n\n\t\t\t\t@if $has-border-radius {\n\t\t\t\t\tborder-radius: $border-radius;\n\t\t\t\t}\n\n\t\t\t\t@if $has-transition {\n\t\t\t\t\ttransition: $transition;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@if $has-line-height {\n\t\t\t\t\n\t\t\t\t.forminator-#{$options-type} .forminator-#{$options-type}--label {\n\t\t\t\t\tline-height: $line-height;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@if $has-icon-size {\n\n\t\t\t\t@if $options-type == checkbox {\n\t\t\t\t\t\n\t\t\t\t\t.forminator-#{$options-type} .forminator-#{$options-type}--design:before {\n\t\t\t\t\t\tfont-size: $icon-size;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t@if $options-type == radio {\n\t\t\t\t\t\n\t\t\t\t\t.forminator-#{$options-type} .forminator-#{$options-type}--design:before {\n\t\t\t\t\t\twidth: $icon-size;\n\t\t\t\t\t\theight: $icon-size;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t@if ($options-type == radio) {\n\n\t\t\t.forminator-#{$options-type} {\n\t\n\t\t\t\t.forminator-#{$options-type}--design {\n\t\t\t\t\tborder-radius: 100%;\n\n\t\t\t\t\t&:before {\n\t\t\t\t\t\tcontent: \" \";\n\t\t\t\t\t\tborder-radius: 100%;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t@else {\n\n\t\t@warn \"Unfortunately, no type could be retrieved from `#{$options-type}`. \"\n\t\t+ \"Use either `radio` or `checkbox`.\";\n\t}\n}","// =============================================\n// FORMINATOR UI â MIXIN: SELECT\n// \n// Author: Leighton Sapir (WPMU DEV)\n// Date: July 3, 2018\n// =============================================\n\n@mixin select($select-map: unset, $select-theme: null) {\n\n\t.forminator-time + .select2,\n\t.forminator-select + .select2 {\n\t\twidth: 100% !important;\n\n\t\t* {\n\t\t\tdisplay: block;\n\t\t}\n\n\t\t.forminator-select2 {\n\t\t\theight: auto;\n\n\t\t\t&.select2-selection--single {\n\n\t\t\t\t@if $select-theme == material {\n\t\t\t\t\tbackground-color: transparent;\n\t\t\t\t}\n\n\t\t\t\t.select2-selection__rendered {\n\t\t\t\t\tpadding-left: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t@if $select-map != null {\n\n\t\t$has-icon: map-has-key($select-map, icon);\n\t\t$has-icon-size: map-has-key($select-map, icon-size);\n\t\t$has-padding: map-has-key($select-map, padding);\n\t\t$has-border-width: map-has-key($select-map, border-width);\n\t\t$has-border-style: map-has-key($select-map, border-style);\n\t\t$has-border-radius: map-has-key($select-map, border-radius);\n\t\t$has-line-height: map-has-key($select-map, line-height);\n\t\t$has-transition: map-has-key($select-map, transition);\n\n\t\t$icon: map-get($select-map, icon);\n\t\t$icon-size: map-get($select-map, icon-size);\n\t\t$padding: map-get($select-map, padding);\n\t\t$border-width: map-get($select-map, border-width);\n\t\t$border-style: map-get($select-map, border-style);\n\t\t$border-radius: map-get($select-map, border-radius);\n\t\t$line-height: map-get($select-map, line-height);\n\t\t$transition: map-get($select-map, transition);\n\n\t\t.forminator-time + .select2,\n\t\t.forminator-select + .select2 {\n\n\t\t\t.forminator-select2 {\n\n\t\t\t\t@if $select-theme == material {\n\n\t\t\t\t\t&:after {\n content: \" \";\n display: block;\n position: absolute;\n right: 50%;\n\t\t\t\t\t\tleft: 50%;\n\t\t\t\t\t\t\n\t\t\t\t\t\t@if $has-border-width {\n\t\t\t\t\t\t\theight: #{$border-width * 2};\n\t\t\t\t\t\t\tbottom: -#{$border-width};\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\t@if $has-transition {\n\t\t\t\t\t\t\ttransition: $transition;\n\t\t\t\t\t\t}\n }\n\n\t\t\t\t\t@if $has-padding and $has-border-width {\n\t\t\t\t\t\tpadding: $padding 0 #{$padding - $border-width};\n\t\t\t\t\t}\n\t\n\t\t\t\t\t@else if $has-padding and not $has-border-width {\n\t\t\t\t\t\tpadding: $padding 0;\n\t\t\t\t\t}\n\n\t\t\t\t\t@else {\n\t\t\t\t\t\tpadding: 0;\n\t\t\t\t\t}\n\n\t\t\t\t\t@if $has-border-width and $has-border-style {\n\t\t\t\t\t\tborder: 0;\n\t\t\t\t\t\tborder-bottom-width: $border-width;\n\t\t\t\t\t\tborder-bottom-style: $border-style;\n\t\t\t\t\t}\n\n\t\t\t\t\t@else {\n\t\t\t\t\t\tborder: 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t@else {\n\n\t\t\t\t\t@if $has-padding and $has-border-width {\n\t\t\t\t\t\tpadding: #{$padding - $border-width};\n\t\t\t\t\t}\n\t\n\t\t\t\t\t@else if $has-padding and not $has-border-width {\n\t\t\t\t\t\tpadding: $padding;\n\t\t\t\t\t}\n\n\t\t\t\t\t@else {\n\t\t\t\t\t\tpadding: 0;\n\t\t\t\t\t}\n\n\t\t\t\t\t@if $has-border-width and $has-border-style {\n\t\t\t\t\t\tborder-width: $border-width;\n\t\t\t\t\t\tborder-style: $border-style;\n\t\t\t\t\t}\n\t\n\t\t\t\t\t@else {\n\t\t\t\t\t\tborder: 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t@if $has-border-radius {\n\t\t\t\t\tborder-radius: $border-radius;\n\t\t\t\t}\n\n\t\t\t\t@else {\n\t\t\t\t\tborder-radius: 0;\n\t\t\t\t}\n\n\t\t\t\t@if $has-transition {\n\t\t\t\t\ttransition: $transition;\n\t\t\t\t}\n\n\t\t\t\t@if $has-line-height or $has-transition {\n\n\t\t\t\t\t&.select2-selection--single {\n\t\t\t\t\t\n\t\t\t\t\t\t.select2-selection__rendered {\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t@if $has-line-height {\n\t\t\t\t\t\t\t\tline-height: $line-height;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@if $has-transition {\n\t\t\t\t\t\t\t\ttransition: $transition;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t@if $select-theme == material {\n\n\t\t\t.forminator-time + .select2,\n\t\t\t.forminator-select + .select2 {\n\n\t\t\t\t&.select2-container--open {\n\t\t\t\t\n\t\t\t\t\t.forminator-select2:after {\n\t\t\t\t\t\tright: 0;\n\t\t\t\t\t\tleft: 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.forminator-is_hover {\n\n\t\t\t\t.forminator-time + .select2,\n\t\t\t\t.forminator-select + .select2 {\n\n\t\t\t\t\t.forminator-select2:after {\n\t\t\t\t\t\tright: 0;\n\t\t\t\t\t\tleft: 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t@if $has-icon {\n\n\t\t\t.forminator-time + .select2,\n\t\t\t.forminator-select + .select2 {\n\n\t\t\t\t.forminator-select2.select2-selection--single {\n\t\t\t\t\tposition: relative;\n\n\t\t\t\t\t.select2-selection__rendered {\n\n\t\t\t\t\t\t@if $select-theme == material {\n\n\t\t\t\t\t\t\t@if $has-padding {\n\t\t\t\t\t\t\t\tpadding-right: #{$icon + $padding};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t@else {\n\t\n\t\t\t\t\t\t\t@if $has-padding and $has-border-width {\n\t\t\t\t\t\t\t\tpadding-right: #{$icon + ($padding * 2) - $border-width};\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t@if $has-padding and not $has-border-width {\n\t\t\t\t\t\t\t\tpadding-right: #{$icon + ($padding * 2)};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t.select2-selection__arrow {\n\t\t\t\t\t\twidth: $icon;\n\t\t\t\t\t\theight: $icon;\n\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\tflex-direction: column;\n\t\t\t\t\t\talign-items: center;\n\t\t\t\t\t\tjustify-content: center;\n\t\t\t\t\t\tposition: absolute;\n\n\t\t\t\t\t\t@if $select-theme == material {\n\t\t\t\t\t\t\tright: 0;\n\n\t\t\t\t\t\t\t@if $has-padding {\n\t\t\t\t\t\t\t\ttop: $padding;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t@else {\n\n\t\t\t\t\t\t\t@if $has-padding and $has-border-width {\n\t\t\t\t\t\t\t\ttop: #{$padding - $border-width};\n\t\t\t\t\t\t\t\tright: #{$padding - $border-width};\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t@if $has-padding and not $has-border-width {\n\t\t\t\t\t\t\t\ttop: $padding;\n\t\t\t\t\t\t\t\tright: $padding;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t@if $has-transition {\n\n\t\t\t\t\t\t\t@include icon(before, chevron-down) {\n\t\t\t\t\t\t\t\ttransition: transform 0.2s linear, $transition;\n\n\t\t\t\t\t\t\t\t@if $has-icon-size {\n\t\t\t\t\t\t\t\t\tfont-size: $icon-size;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t@else {\n\n\t\t\t\t\t\t\t@include icon(before, chevron-down) {\n\t\t\t\t\t\t\t\ttransition: transform 0.2s linear;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tb {\n\t\t\t\t\t\t\tdisplay: none;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t&.select2-container--open {\n\n\t\t\t\t\t.forminator-select2.select2-selection--single {\n\n\t\t\t\t\t\t.select2-selection__arrow:before {\n\t\t\t\t\t\t\ttransform: rotate(180deg);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}","// =============================================\n// FORMINATOR UI â MIXIN: SELECT DROPDOWN\n// \n// Author: Leighton Sapir (WPMU DEV)\n// Date: July 3, 2018\n// =============================================\n\n@mixin dropdown($dropdown-theme: default, $dropdown-map: null) {\n\n\t@if $dropdown-theme != null {\n\n\t\tbody > .select2-container {\n\n\t\t\t.forminator-droptime--#{$dropdown-theme},\n\t\t\t.forminator-dropdown--#{$dropdown-theme} {\n\t\t\t\tdisplay: block;\n\t\t\t\tposition: relative;\n\t\t\t\tbox-sizing: border-box;\n\t\n\t\t\t\t* {\n\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t@extend %text-reset;\n\t\t\t\t}\n\n\t\t\t\t.select2-search,\n\t\t\t\t.select2-search--dropdown {\n\t\t\t\t\t\n\t\t\t\t\t&,\n\t\t\t\t\t&:hover,\n\t\t\t\t\t&:focus,\n\t\t\t\t\t&:active {\n\t\t\t\t\t\toutline: none;\n\t\t\t\t\t\tbox-shadow: none;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\n\t\t\t\t.select2-results {\n\t\n\t\t\t\t\t.select2-results__option {\n\t\t\t\t\t\tmargin: 0;\n\t\t\t\t\t\tpadding: 0;\n\t\t\t\t\t\tborder: 0;\n\t\t\t\t\t\tlist-style: none;\n\n\t\t\t\t\t\t.select2-results__option {\n\t\t\t\t\t\t\tmargin: 0;\n\t\t\t\t\t\t\tlist-style: none;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t&.select2-dropdown--above {\n\t\t\t\t\tbottom: 2px;\n\t\t\t\t}\n\n\t\t\t\t&.select2-dropdown--below {\n\t\t\t\t\tmargin-top: 2px;\n\t\t\t\t}\n\n\t\t\t\t@if $dropdown-map != null {\n\n\t\t\t\t\t$has-padding: map-has-key($dropdown-map, padding);\n\t\t\t\t\t$has-border-width: map-has-key($dropdown-map, border-width);\n\t\t\t\t\t$has-border-style: map-has-key($dropdown-map, border-style);\n\t\t\t\t\t$has-border-radius: map-has-key($dropdown-map, border-radius);\n\t\t\t\t\t$has-line-height: map-has-key($dropdown-map, line-height);\n\t\t\t\t\t$has-transition: map-has-key($dropdown-map, transition);\n\t\n\t\t\t\t\t$padding: map-get($dropdown-map, padding);\n\t\t\t\t\t$border-width: map-get($dropdown-map, border-width);\n\t\t\t\t\t$border-style: map-get($dropdown-map, border-style);\n\t\t\t\t\t$border-radius: map-get($dropdown-map, border-radius);\n\t\t\t\t\t$line-height: map-get($dropdown-map, line-height);\n\t\t\t\t\t$transition: map-get($dropdown-map, transition);\n\t\t\t\t\t\n\t\t\t\t\t@if $has-border-width and $has-border-style {\n\t\t\t\t\t\tborder-width: $border-width;\n\t\t\t\t\t\tborder-style: $border-style;\n\t\t\t\t\t}\n\n\t\t\t\t\t@else {\n\t\t\t\t\t\tborder: 0;\n\t\t\t\t\t}\n\n\t\t\t\t\t@if $has-border-radius {\n\t\t\t\t\t\tborder-radius: $border-radius;\n\t\t\t\t\t\toverflow: hidden;\n\t\t\t\t\t}\n\n\t\t\t\t\t@else {\n\t\t\t\t\t\tborder-radius: 0;\n\t\t\t\t\t}\n\n\t\t\t\t\t.select2-search,\n\t\t\t\t\t.select2-search--dropdown {\n\n\t\t\t\t\t\t@if $has-padding and $has-border-width {\n\t\t\t\t\t\t\tpadding: #{$padding - $border-width};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t@if $has-padding and not $has-border-width {\n\t\t\t\t\t\t\tpadding: $padding;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t.select2-search__field {\n\n\t\t\t\t\t\t\t@if $has-padding and $has-border-width {\n\t\t\t\t\t\t\t\tpadding: #{$padding - $border-width};\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@if $has-padding and not $has-border-width {\n\t\t\t\t\t\t\t\tpadding: $padding;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@if $has-border-width and $has-border-style {\n\t\t\t\t\t\t\t\tborder-width: $border-width;\n\t\t\t\t\t\t\t\tborder-style: $border-style;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@else {\n\t\t\t\t\t\t\t\tborder: 0;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@if $has-border-radius {\n\t\t\t\t\t\t\t\tborder-radius: $border-radius;\n\t\t\t\t\t\t\t}\n\t\t\n\t\t\t\t\t\t\t@else {\n\t\t\t\t\t\t\t\tborder-radius: 0;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@if $has-line-height {\n\t\t\t\t\t\t\t\tline-height: $line-height;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t.select2-results {\n\n\t\t\t\t\t\t.select2-results__option {\n\n\t\t\t\t\t\t\t@if $has-padding and $has-border-width {\n\t\t\t\t\t\t\t\tpadding: #{$padding - $border-width};\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@if $has-padding and not $has-border-width {\n\t\t\t\t\t\t\t\tpadding: $padding;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@if $has-line-height {\n\t\t\t\t\t\t\t\tline-height: $line-height;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@if $has-transition {\n\t\t\t\t\t\t\t\ttransition: $transition;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t@if $dropdown-theme == material {\n\n\t\t\t\t\t&:after {\n\t\t\t\t\t\tcontent: \" \";\n\t\t\t\t\t\tposition: absolute;\n\t\t\t\t\t\tz-index: -1;\n\t\t\t\t\t\ttop: 0;\n\t\t\t\t\t\tright: 0;\n\t\t\t\t\t\tbottom: 0;\n\t\t\t\t\t\tleft: 0;\n\t\t\t\t\t\tbox-shadow: $material--card-shadow-hover;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\t.forminator-droptime--#{$dropdown-theme} {\n\t\t\t\t\n\t\t\t\t.select2-search,\n\t\t\t\t.select2-search--dropdown {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t@else {\n\n\t\t@warn \"Unfortunately, no type could be retrieved from `#{$dropdown-theme}`. \"\n\t\t+ \"Use either `bold`, `flat`, `default` or `material`.\";\n\t}\n}","// =============================================\n// FORMINATOR UI â MIXIN: MULTI SELECT\n// \n// Author: Leighton Sapir (WPMU DEV)\n// Date: July 3, 2018\n// =============================================\n\n@mixin multiselect($multiselect-map: null, $multiselect-theme: unset) {\n\n\t.forminator-multiselect {\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tborder: 0;\n\n\t\t&, li, label {\n\t\t\tdisplay: block;\n\t\t\t@extend %basic-reset;\n\t\t}\n\n\t\t&, li {\n\t\t\tlist-style: none;\n\t\t}\n\n\t\tli {\n\n\t\t\tinput {\n\t\t\t\t@extend %screen-reader-only;\n\t\t\t}\n\n\t\t\tlabel {\n\t\t\t\tcursor: pointer;\n\t\t\t}\n\t\t}\n\t}\n\n\t@if $multiselect-map != null {\n\n\t\t$has-padding: map-has-key($multiselect-map, padding);\n\t\t$has-border-width: map-has-key($multiselect-map, border-width);\n\t\t$has-border-style: map-has-key($multiselect-map, border-style);\n\t\t$has-border-radius: map-has-key($multiselect-map, border-radius);\n\t\t$has-line-height: map-has-key($multiselect-map, line-height);\n\t\t$has-transition: map-has-key($multiselect-map, transition);\n\n\t\t$padding: map-get($multiselect-map, padding);\n\t\t$border-width: map-get($multiselect-map, border-width);\n\t\t$border-style: map-get($multiselect-map, border-style);\n\t\t$border-radius: map-get($multiselect-map, border-radius);\n\t\t$line-height: map-get($multiselect-map, line-height);\n\t\t$transition: map-get($multiselect-map, transition);\n\n\t\t.forminator-multiselect {\n\n\t\t\tli label {\n\n\t\t\t\t@if $has-padding and $has-border-width {\n\t\t\t\t\tpadding: $padding #{$padding - $border-width};\n\t\t\t\t}\n\n\t\t\t\t@if $has-padding and not $has-border-width {\n\t\t\t\t\tpadding: $padding;\n\t\t\t\t}\n\n\t\t\t\t@if $has-line-height {\n\t\t\t\t\tline-height: $line-height;\n\t\t\t\t}\n\n\t\t\t\t@if $has-transition {\n\t\t\t\t\ttransition: $transition;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t@if $multiselect-theme != material {\n\n\t\t\t.forminator-multiselect {\n\t\t\t\tmax-height: 120px;\n\t\t\t\toverflow-x: hidden;\n\t\t\t\toverflow-y: auto;\n\n\t\t\t\t@if $has-border-width and $has-border-style {\n\t\t\t\t\tborder-width: $border-width;\n\t\t\t\t\tborder-style: $border-style;\n\t\t\t\t}\n\n\t\t\t\t@if $has-border-radius {\n\t\t\t\t\tborder-radius: $border-radius;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t@else {\n\n\t\t\t.forminator-multiselect {\n\n\t\t\t\tli {\n\t\t\t\t\tmargin: #{$gutter-sm / 2} 0;\n\n\t\t\t\t\tlabel {\n\t\t\t\t\t\tposition: relative;\n\n\t\t\t\t\t\t@if $has-border-width and $has-border-style {\n\t\t\t\t\t\t\tborder-width: $border-width;\n\t\t\t\t\t\t\tborder-style: $border-style;\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t@if $has-border-radius {\n\t\t\t\t\t\t\tborder-radius: $border-radius;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t&:after {\n\t\t\t\t\t\t\tcontent: \" \";\n\t\t\t\t\t\t\tpointer-events: none;\n\t\t\t\t\t\t\tposition: absolute;\n\n\t\t\t\t\t\t\t@if $has-border-width {\n\t\t\t\t\t\t\t\ttop: -#{$border-width};\n\t\t\t\t\t\t\t\tright: -#{$border-width};\n\t\t\t\t\t\t\t\tbottom: -#{$border-width};\n\t\t\t\t\t\t\t\tleft: -#{$border-width};\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@if $has-border-radius {\n\t\t\t\t\t\t\t\tborder-radius: $border-radius;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@if $has-transition {\n\t\t\t\t\t\t\t\ttransition: $transition;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t&:first-child {\n\t\t\t\t\t\tmargin-top: 0;\n\t\t\t\t\t}\n\n\t\t\t\t\t&:last-child {\n\t\t\t\t\t\tmargin-bottom: 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&:not(.forminator-size--small) .forminator-multiselect {\n\n\t\t\t\tli {\n\n\t\t\t\t\t&:first-child {\n\t\t\t\t\t\t\n\t\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\t\tmargin-top: 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t&:last-child {\n\t\t\t\t\t\t\n\t\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\t\tmargin-bottom: 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\tmargin: #{$gutter / 2} 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}","// =============================================\n// FORMINATOR UI â MIXIN: DATE FIELD\n// \n// Author: Leighton Sapir (WPMU DEV)\n// Date: July 3, 2018\n// =============================================\n\n@mixin date($date-map: null, $date-theme: default) {\n\n\t.forminator-date {\n\t\tposition: relative;\n\n\t\t&.forminator-has_icon {\n\n\t\t\t@if $date-theme == material {\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\t@include icon(before, calendar) {\n\t\t\t\t\tflex: 0 0 auto;\n\t\t\t\t\tmargin-right: #{$gutter-sm / 2};\n\t\t\t\t}\n\n\t\t\t\t.forminator-input,\n\t\t\t\t.forminator-input--wrap {\n\t\t\t\t\tflex: 1;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@else {\n\n\t\t\t\t@include icon(after, calendar) {\n\t\t\t\t\tposition: absolute;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@if $date-map != null {\n\n\t\t\t\t$has-padding: map-has-key($date-map, padding);\n\t\t\t\t$has-icon-size: map-has-key($date-map, icon-size);\n\t\t\t\t$has-icon-height: map-has-key($date-map, icon-height);\n\n\t\t\t\t$padding: map-get($date-map, padding);\n\t\t\t\t$icon-size: map-get($date-map, icon-size);\n\t\t\t\t$icon-height: map-get($date-map, icon-height);\n\n\t\t\t\t@if $date-theme == material {\n\n\t\t\t\t\t&:before {\n\t\n\t\t\t\t\t\t@if $has-icon-size {\n\t\t\t\t\t\t\tfont-size: $icon-size;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t@if $has-icon-height {\n\t\t\t\t\t\t\tmin-width: $icon-height;\n\t\t\t\t\t\t\tflex: 0 0 $icon-height;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t@else {\n\n\t\t\t\t\t@if $has-icon-height and $has-padding {\n\n\t\t\t\t\t\t.forminator-input {\n\t\t\t\t\t\t\tpadding-right: #{$icon-height + ($padding * 2)};\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t&:after {\n\n\t\t\t\t\t\t@if $has-padding {\n\t\t\t\t\t\t\ttop: $padding;\n\t\t\t\t\t\t\tright: $padding;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t@else {\n\t\t\t\t\t\t\ttop: 0;\n\t\t\t\t\t\t\tright: 0;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t@if $has-icon-size {\n\t\t\t\t\t\t\tfont-size: $icon-size;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t@if $has-icon-height {\n\t\t\t\t\t\t\twidth: $icon-height;\n\t\t\t\t\t\t\tline-height: $icon-height;\n\t\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t@if $date-theme == material {\n\n\t\t&:not(.forminator-size--small) {\n\n\t\t\t.forminator-date {\n\n\t\t\t\t&.forminator-has_icon:before {\n\t\t\t\t\tmargin-right: #{$gutter / 2};\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}","// =============================================\n// FORMINATOR UI â MIXIN: CALENDAR\n// \n// Author: Leighton Sapir (WPMU DEV)\n// Date: July 3, 2018\n// =============================================\n\n@mixin calendar($calendar-theme: default, $calendar-map: null) {\n\n\t.forminator-calendar--#{$calendar-theme} {\n\t\tpadding: 2px 0;\n\n\t\t* {\n\t\t\t@extend %text-reset;\n\t\t}\n\n\t\t.ui-datepicker-header,\n\t\t.ui-datepicker-calendar {\n\t\t\tmargin: 0;\n\t\t}\n\n\t\t.ui-datepicker-header {\n\t\t\tdisplay: block;\n\t\t\tposition: relative;\n\n\t\t\t.ui-datepicker-prev,\n\t\t\t.ui-datepicker-next {\n\t\t\t\tcursor: pointer;\n\t\t\t\tdisplay: block;\n\t\t\t\tposition: absolute;\n\t\t\t\ttext-align: center;\n\n\t\t\t\t&:before {\n\t\t\t\t\tdisplay: block;\n\t\t\t\t}\n\n\t\t\t\tspan {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.ui-datepicker-prev {\n\t\t\t\t@include icon(before, chevron-left);\n\t\t\t}\n\n\t\t\t.ui-datepicker-next {\n\t\t\t\t@include icon(before, chevron-right);\n\t\t\t}\n\n\t\t\t.ui-datepicker-title {\n\t\t\t\tdisplay: flex;\n\n\t\t\t\tselect {\n\t\t\t\t\tdisplay: block;\n\t\t\t\t\tflex: 1;\n\t\t\t\t\tmargin: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.ui-datepicker-calendar {\n\t\t\tpadding: 0;\n\t\t\tborder-collapse: unset;\n\t\t\tborder-spacing: unset;\n\n\t\t\tthead tr,\n\t\t\ttbody tr {\n\t\t\t\tborder: 0;\n\t\t\t}\n\n\t\t\tthead tr th,\n\t\t\ttbody tr td {\n\t\t\t\tborder: 0;\n\t\t\t\ttext-align: center;\n\n\t\t\t\ta, span {\n\t\t\t\t\tdisplay: block;\n\t\t\t\t\t@extend %basic-reset;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthead tr th {\n\t\t\t\tfont-weight: bold;\n\t\t\t}\n\n\t\t\ttbody tr td {\n\n\t\t\t\t&.ui-state-disabled,\n\t\t\t\t&.ui-datepicker-unselectable {\n\t\t\t\t\tpointer-events: none;\n\n\t\t\t\t\ta, span {\n\t\t\t\t\t\t@include opacity(0.4);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t@if $calendar-map != null {\n\n\t\t\t$has-padding: map-has-key($calendar-map, padding);\n\t\t\t$has-padding-head: map-has-key($calendar-map, padding-head);\n\t\t\t$has-border-width: map-has-key($calendar-map, border-width);\n\t\t\t$has-border-style: map-has-key($calendar-map, border-style);\n\t\t\t$has-border-radius: map-has-key($calendar-map, border-radius);\n\t\t\t$has-cell-size: map-has-key($calendar-map, cell-size);\n\t\t\t$has-icon: map-has-key($calendar-map, icon);\n\t\t\t$has-icon-size: map-has-key($calendar-map, icon-size);\n\t\t\t$has-shadow: map-has-key($calendar-map, shadow);\n\t\t\t$has-transition: map-has-key($calendar-map, transition);\n\n\t\t\t$padding: map-get($calendar-map, padding);\n\t\t\t$padding-head: map-get($calendar-map, padding-head);\n\t\t\t$border-width: map-get($calendar-map, border-width);\n\t\t\t$border-style: map-get($calendar-map, border-style);\n\t\t\t$border-radius: map-get($calendar-map, border-radius);\n\t\t\t$cell-size: map-get($calendar-map, cell-size);\n\t\t\t$icon: map-get($calendar-map, icon);\n\t\t\t$icon-size: map-get($calendar-map, icon-size);\n\t\t\t$shadow: map-get($calendar-map, shadow);\n\t\t\t$transition: map-get($calendar-map, transition);\n\n\t\t\t@if $has-shadow {\n\t\t\t\t\n\t\t\t\t&:before {\n\t\t\t\t\tcontent: \" \";\n\t\t\t\t\tposition: absolute;\n\t\t\t\t\ttop: 0;\n\t\t\t\t\tright: 0;\n\t\t\t\t\tbottom: 0;\n\t\t\t\t\tleft: 0;\n\t\t\t\t\tbox-shadow: $shadow;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.ui-datepicker-header,\n\t\t\t.ui-datepicker-calendar {\n\n\t\t\t\t@if $has-shadow {\n\t\t\t\t\tposition: relative;\n\t\t\t\t\tz-index: 1;\n\t\t\t\t}\n\n\t\t\t\t@if $has-border-width {\n\t\t\t\t\tborder-width: $border-width;\n\t\t\t\t}\n\n\t\t\t\t@else {\n\t\t\t\t\tborder-width: 0;\n\t\t\t\t}\n\n\t\t\t\t@if $has-border-style {\n\t\t\t\t\tborder-style: $border-style;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.ui-datepicker-header {\n\n\t\t\t\t@if $calendar-theme == material {\n\n\t\t\t\t\t@if $has-padding-head {\n\t\t\t\t\t\tpadding-top: $padding-head;\n\t\t\t\t\t\tpadding-bottom: $padding-head;\n\n\t\t\t\t\t\t.ui-datepicker-prev,\n\t\t\t\t\t\t.ui-datepicker-next {\n\t\t\t\t\t\t\ttop: $padding-head;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t@else {\n\n\t\t\t\t\t@if $has-padding {\n\t\t\t\t\t\tpadding-top: $padding;\n\t\t\t\t\t\tpadding-bottom: $padding;\n\t\n\t\t\t\t\t\t.ui-datepicker-prev,\n\t\t\t\t\t\t.ui-datepicker-next {\n\t\t\t\t\t\t\ttop: $padding;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t@if $has-padding {\n\n\t\t\t\t\t.ui-datepicker-prev {\n\t\t\t\t\t\tleft: $padding;\n\t\t\t\t\t}\n\n\t\t\t\t\t.ui-datepicker-next {\n\t\t\t\t\t\tright: $padding;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t@if $has-border-width {\n\t\t\t\t\tborder-bottom: 0;\n\t\t\t\t}\n\n\t\t\t\t@if $has-border-radius {\n\t\t\t\t\tborder-radius: $border-radius $border-radius 0 0;\n\t\t\t\t}\n\n\t\t\t\t@if $has-icon {\n\n\t\t\t\t\t.ui-datepicker-prev,\n\t\t\t\t\t.ui-datepicker-next {\n\t\t\t\t\t\twidth: $icon;\n\t\t\t\t\t\theight: $icon;\n\t\t\t\t\t\t\n\t\t\t\t\t\t&:before {\n\t\t\t\t\t\t\tline-height: $icon;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t@if $has-icon-size {\n\n\t\t\t\t\t.ui-datepicker-prev,\n\t\t\t\t\t.ui-datepicker-next {\n\t\t\t\t\t\t\n\t\t\t\t\t\t&:before {\n\t\t\t\t\t\t\tfont-size: $icon-size;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t.ui-datepicker-title {\n\t\t\t\t\t\n\t\t\t\t\t@if $has-padding {\n\t\t\t\t\t\tmargin: 0 $padding;\n\n\t\t\t\t\t\tselect + select {\n\t\t\t\t\t\t\tmargin-left: $padding;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t@else {\n\t\t\t\t\t\tmargin: 0;\n\t\t\t\t\t}\n\n\t\t\t\t\t@if $has-icon and $has-padding {\n\t\t\t\t\t\tpadding: 0 #{$icon + $padding};\n\t\t\t\t\t}\n\n\t\t\t\t\t@if $has-icon and not $has-padding {\n\t\t\t\t\t\tpadding: 0 $icon;\n\t\t\t\t\t}\n\n\t\t\t\t\t@if $has-icon {\n\n\t\t\t\t\t\tselect {\n\t\t\t\t\t\t\theight: $icon;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.ui-datepicker-calendar {\n\n\t\t\t\t@if $has-border-width {\n\t\t\t\t\tborder-top: 0;\n\t\t\t\t}\n\n\t\t\t\t@if $has-border-radius {\n\t\t\t\t\tborder-radius: 0 0 $border-radius $border-radius;\n\t\t\t\t}\n\n\t\t\t\tthead tr th,\n\t\t\t\ttbody tr td {\n\t\t\t\t\t\n\t\t\t\t\t@if $has-padding {\n\t\t\t\t\t\tpadding: $padding;\n\t\t\t\t\t}\n\n\t\t\t\t\t@if $has-cell-size and $has-padding {\n\t\t\t\t\t\twidth: $cell-size;\n\t\t\t\t\t\theight: $cell-size;\n\t\t\t\t\t\tline-height: #{$cell-size - ($padding * 2)};\n\n\t\t\t\t\t\ta, span {\n\t\t\t\t\t\t\twidth: #{$cell-size - ($padding * 2)};\n\t\t\t\t\t\t\theight: #{$cell-size - ($padding * 2)};\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t@if $has-cell-size and not $has-padding {\n\t\t\t\t\t\twidth: $cell-size;\n\t\t\t\t\t\theight: $cell-size;\n\t\t\t\t\t\tline-height: $cell-size;\n\n\t\t\t\t\t\ta, span {\n\t\t\t\t\t\t\twidth: $cell-size;\n\t\t\t\t\t\t\theight: $cell-size;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t@if $calendar-theme == material {\n\n\t\t\t\t\t\ta, span {\n\t\t\t\t\t\t\tborder-radius: 50%;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t@else {\n\n\t\t\t\t\t\t@if $has-border-radius {\n\n\t\t\t\t\t\t\ta, span {\n\t\t\t\t\t\t\t\tborder-radius: $border-radius;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t@if $has-transition {\n\n\t\t\t\t\t\ta {\n\t\t\t\t\t\t\ttransition: $transition;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}","// =============================================\n// FORMINATOR UI â MIXIN: BUTTON\n// \n// Author: Leighton Sapir (WPMU DEV)\n// Date: July 3, 2018\n// =============================================\n\n@mixin button($button-map: null, $button-theme: null) {\n\n\ta.forminator-button,\n\tbutton.forminator-button {\n\t\twidth: 100%;\n\t\tcursor: pointer;\n\t\tdisplay: block;\n\t\tmargin: $gutter-sm 0;\n\t\tborder: 0;\n\t\ttext-align: center;\n\t\ttext-transform: none;\n\n\t\t&,\n\t\t&:hover,\n\t\t&:active,\n\t\t&:visited,\n\t\t&:disabled {\n\t\t\toutline: none;\n\t\t\tbox-shadow: none;\n\t\t\ttext-decoration: none;\n\t\t}\n\n\t\t&,\n\t\t&:hover,\n\t\t&:active,\n\t\t&:visited {\n\t\t\t@include opacity(1);\n\t\t}\n\n\t\t&:disabled {\n\t\t\t@include opacity(0.25);\n\t\t}\n\t\n\t\t&:first-child {\n\t\t\tmargin-top: 0;\n\t\t}\n\t\n\t\t&:last-child {\n\t\t\tmargin-bottom: 0;\n\t\t}\n\n\t\t@if $button-theme == material {\n\t\t\toverflow: hidden;\n\t\t\tposition: relative;\n\t\t\t\n\t\t\t.forminator-button--mask,\n\t\t\t.forminator-button--text {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\n\t\t\t.forminator-button--mask {\n width: 0;\n position: absolute;\n top: 50%;\n left: 50%;\n padding: 0;\n border-radius: 100%;\n background-color: rgba(0,0,0,0.12);\n transform: translate(-50%, -50%);\n transition: width 450ms cubic-bezier(0.23, 1, 0.32, 1), .2s ease-out;\n\t\t\t}\n\n\t\t\t&:active {\n box-shadow: 0 1px 4px 0 rgba(0,0,0,0.6);\n\n .forminator-button--mask {\n width: 120%;\n padding: 120% 0 0;\n }\n }\n\t\t}\n\n\t\t@if $button-map != null {\n\n\t\t\t$has-padding: map-has-key($button-map, padding);\n\t\t\t$has-border-radius: map-has-key($button-map, border-radius);\n\t\t\t$has-line-height: map-has-key($button-map, line-height);\n\t\t\t$has-transition: map-has-key($button-map, transition);\n\n\t\t\t$padding: map-get($button-map, padding);\n\t\t\t$border-radius: map-get($button-map, border-radius);\n\t\t\t$line-height: map-get($button-map, line-height);\n\t\t\t$transition: map-get($button-map, transition);\n\n\t\t\t@if $has-padding {\n\t\t\t\tpadding: $padding;\n\t\t\t}\n\n\t\t\t@if $has-border-radius {\n\t\t\t\tborder-radius: $border-radius;\n\t\t\t}\n\n\t\t\t@else {\n\t\t\t\tborder-radius: 0;\n\t\t\t}\n\n\t\t\t@if $has-line-height {\n\t\t\t\tline-height: $line-height;\n\t\t\t}\n\n\t\t\t@if $has-transition {\n\t\t\t\ttransition: $transition;\n\t\t\t}\n\t\t}\n\t}\n\n\t&:not(.forminator-size--small) {\n\n\t\ta.forminator-button,\n\t\tbutton.forminator-button {\n\n\t\t\t&:first-child {\n\n\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\tmargin-left: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\n\t\t\t&:last-child {\n\t\t\n\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\tmargin-right: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\n\t\t\t@include media(min-width, sm) {\n\t\t\t\twidth: auto;\n\t\t\t\tmin-width: 100px;\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tmargin: 0 #{$gutter / 2};\n\t\t\t}\n\t\t}\n\t}\n}","// =============================================\n// FORMINATOR UI â MIXIN: PAGINATION\n// \n// Author: Leighton Sapir (WPMU DEV)\n// Date: July 3, 2018\n// =============================================\n\n@mixin pagination($pagination-map: null, $pagination-theme: default) {\n\n\t.forminator-pagination--bar {\n\t\twidth: 100%;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tmargin-bottom: $gutter-sm;\n\n\t\t.forminator-bar--text {\n\t\t\tflex: 0 0 auto;\n\t\t\tmargin: 0 #{$gutter-sm / 2};\n\n\t\t\t@if $pagination-map != null {\n\t\t\t\t\n\t\t\t\t$has-bar-size: map-has-key($pagination-map, bar-size);\n\t\t\t\t$bar-size: map-get($pagination-map, bar-size);\n\n\t\t\t\t@if $has-bar-size {\n\t\t\t\t\tline-height: $bar-size;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&:first-child {\n\t\t\t\tmargin-left: 0;\n\t\t\t}\n\n\t\t\t&:last-child {\n\t\t\t\tmargin-right: 0;\n\t\t\t}\n\t\t}\n\n\t\t.forminator-bar--progress {\n\t\t\toverflow: hidden;\n\t\t\tflex: 1;\n\t\t\tposition: relative;\n\t\t\tmargin: 0;\n\n\t\t\t@if $pagination-map != null {\n\t\t\t\t\n\t\t\t\t$has-bar-size: map-has-key($pagination-map, bar-size);\n\t\t\t\t$has-border-width: map-has-key($pagination-map, border-width);\n\t\t\t\t$has-border-style: map-has-key($pagination-map, border-style);\n\n\t\t\t\t$bar-size: map-get($pagination-map, bar-size);\n\t\t\t\t$border-width: map-get($pagination-map, border-width);\n\t\t\t\t$border-style: map-get($pagination-map, border-style);\n\n\t\t\t\t@if $has-bar-size {\n\t\t\t\t\theight: $bar-size;\n\n\t\t\t\t\t@if $pagination-theme != material {\n\n\t\t\t\t\t\t&, span {\n\t\t\t\t\t\t\tborder-radius: #{$bar-size / 2};\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t@if ($pagination-theme == bold) and ($pagination-theme == default) {\n\n\t\t\t\t\t@if $has-border-width and $has-border-style {\n\t\t\t\t\t\tborder-width: $border-width;\n\t\t\t\t\t\tborder-style: $border-style;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tspan {\n\t\t\t\tdisplay: block;\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 0;\n\t\t\t\tbottom: 0;\n\t\t\t\tleft: 0;\n\t\t\t}\n\t\t}\n\t}\n\n\t.forminator-pagination--nav {\n\t\tmargin: 0 0 $gutter-sm;\n\n\t\t&, li {\n\t\t\tdisplay: block;\n\t\t\tposition: relative;\n\t\t\tpadding: 0;\n\t\t\tborder: 0;\n\t\t\tlist-style: none;\n\t\t}\n\n\t\t&:before {\n\t\t\tcontent: \" \";\n\t\t\theight: auto;\n\t\t\tposition: absolute;\n\n\t\t\t@if $pagination-map != null {\n\t\t\t\t\t\n\t\t\t\t$has-dot-size: map-has-key($pagination-map, dot-size);\n\t\t\t\t$has-border-width: map-has-key($pagination-map, border-width);\n\t\t\t\t$has-line-height: map-has-key($pagination-map, line-height);\n\n\t\t\t\t$dot-size: map-get($pagination-map, dot-size);\n\t\t\t\t$border-width: map-get($pagination-map, border-width);\n\t\t\t\t$line-height: map-get($pagination-map, line-height);\n\n\t\t\t\t@if $has-border-width {\n\t\t\t\t\twidth: $border-width;\n\t\t\t\t}\n\n\t\t\t\t@if $has-dot-size and $has-border-width {\n\t\t\t\t\ttop: #{($dot-size - $border-width) / 2};\n\t\t\t\t\tbottom: #{($dot-size - $border-width) / 2};\n\t\t\t\t\tleft: #{($dot-size - $border-width) / 2};\n\t\t\t\t}\n\n\t\t\t\t@if $has-dot-size and not $has-border-width {\n\t\t\t\t\ttop: $dot-size;\n\t\t\t\t\tbottom: $dot-size;\n\t\t\t\t\tleft: $dot-size;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tli {\n\t\t\tmargin: #{$gutter-sm / 2} 0;\n\n\t\t\t&:first-child {\n\t\t\t\tmargin-top: 0;\n\t\t\t}\n\n\t\t\t&:last-child {\n\t\t\t\tmargin-bottom: 0;\n\t\t\t}\n\t\t}\n\t}\n\n\t.forminator-pagination--footer {\n\t\tmargin-top: $gutter-sm;\n\n\t\t@if $pagination-map != null {\n\t\t\t\n\t\t\t$has-border-width: map-has-key($pagination-map, border-width);\n\t\t\t$has-border-style: map-has-key($pagination-map, border-style);\n\n\t\t\t$border-width: map-get($pagination-map, border-width);\n\t\t\t$border-style: map-get($pagination-map, border-style);\n\n\t\t\t@if ($pagination-theme == bold or $pagination-theme == default ) and ($has-border-width and $has-border-style) {\n\t\t\t\tpadding-top: $gutter-sm;\n\t\t\t\tborder-top-width: $border-width;\n\t\t\t\tborder-top-style: $border-style;\n\t\t\t}\n\t\t}\n\t}\n\n\t&:not(.forminator-size--small) {\n\n\t\t.forminator-pagination--bar {\n\n\t\t\t.forminator-bar--text {\n\n\t\t\t\t&:first-child {\n\t\t\t\t\t\n\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\tmargin-left: 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\n\t\t\t\t&:last-child {\n\t\t\t\t\t\n\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\tmargin-right: 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\tmargin: 0 #{$gutter / 2};\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t@include media(min-width, sm) {\n\t\t\t\tmargin-bottom: $gutter;\n\t\t\t}\n\t\t}\n\n\t\t.forminator-pagination--nav {\n\n\t\t\t&:before {\n\n\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\tcontent: unset;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@include media(min-width, sm) {\n\t\t\t\tmargin: 0 0 $gutter;\n\t\t\t}\n\t\t}\n\n\t\t.forminator-pagination--footer {\n\t\t\t\n\t\t\t@include media(min-width, sm) {\n\t\t\t\tdisplay: flex;\n\t\t\t\tjustify-content: space-between;\n\t\t\t\tmargin-top: $gutter;\n\n\t\t\t\t@if $pagination-map != null {\n\t\t\t\n\t\t\t\t\t$has-border-width: map-has-key($pagination-map, border-width);\n\t\t\t\t\t$has-border-style: map-has-key($pagination-map, border-style);\n\t\t\n\t\t\t\t\t$border-width: map-get($pagination-map, border-width);\n\t\t\t\t\t$border-style: map-get($pagination-map, border-style);\n\t\t\n\t\t\t\t\t@if ($pagination-theme == bold or $pagination-theme == default ) and ($has-border-width and $has-border-style) {\n\t\t\t\t\t\tpadding-top: $gutter;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t@if $pagination-theme != material {\n\n\t\t.forminator-pagination--nav {\n\t\n\t\t\tli {\n\t\n\t\t\t\t&:before {\n\t\t\t\t\tright: 50%;\n\t\t\t\t\tleft: 0;\n\t\t\t\t}\n\t\n\t\t\t\t&:after {\n\t\t\t\t\tright: 0;\n\t\t\t\t\tleft: 50%;\n\t\t\t\t}\n\n\t\t\t\t.forminator-step-text {\n\t\t\t\t\tdisplay: block;\n\t\n\t\t\t\t\t@if $pagination-map != null {\n\t\n\t\t\t\t\t\t$has-dot-size: map-has-key($pagination-map, dot-size);\n\t\t\t\t\t\t$has-line-height: map-has-key($pagination-map, line-height);\n\t\n\t\t\t\t\t\t$dot-size: map-get($pagination-map, dot-size);\n\t\t\t\t\t\t$line-height: map-get($pagination-map, line-height);\n\t\n\t\t\t\t\t\t@if $has-dot-size {\n\t\t\t\t\t\t\tpadding-left: #{map-get($pagination-map, dot-size) + ($gutter-sm / 2)};\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t@if $has-line-height {\n\t\t\t\t\t\t\tline-height: $line-height;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t.forminator-step-dot {\n\t\t\t\t\tdisplay: block;\n\t\t\t\t\tposition: absolute;\n\t\t\t\t\tleft: 0;\n\n\t\t\t\t\t@if $pagination-map != null {\n\n\t\t\t\t\t\t$has-dot-size: map-has-key($pagination-map, dot-size);\n\t\t\t\t\t\t$has-border-width: map-has-key($pagination-map, border-width);\n\t\t\t\t\t\t$has-border-style: map-has-key($pagination-map, border-style);\n\t\t\t\t\t\t$has-line-height: map-has-key($pagination-map, line-height);\n\t\t\t\t\t\t$has-transition: map-has-key($pagination-map, transition);\n\n\t\t\t\t\t\t$dot-size: map-get($pagination-map, dot-size);\n\t\t\t\t\t\t$border-width: map-get($pagination-map, border-width);\n\t\t\t\t\t\t$border-style: map-get($pagination-map, border-style);\n\t\t\t\t\t\t$line-height: map-get($pagination-map, line-height);\n\t\t\t\t\t\t$transition: map-get($pagination-map, transition);\n\n\t\t\t\t\t\t@if $has-dot-size {\n\t\t\t\t\t\t\twidth: $dot-size;\n\t\t\t\t\t\t\theight: $dot-size;\n\t\t\t\t\t\t\tborder-radius: 100%;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t@if $pagination-theme != flat and ($has-border-width and $has-border-style) {\n\t\t\t\t\t\t\tborder-width: $border-width;\n\t\t\t\t\t\t\tborder-style: $border-style;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t@else {\n\t\t\t\t\t\t\tborder: 0;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t@if $has-dot-size and $has-line-height {\n\n\t\t\t\t\t\t\t@if $line-height > $dot-size {\n\t\t\t\t\t\t\t\ttop: #{($line-height - $dot-size) / 2};\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@else if $line-height < $dot-size {\n\t\t\t\t\t\t\t\ttop: -#{($dot-size - $line-height) / 2};\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@else {\n\t\t\t\t\t\t\t\ttop: 0;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t@if $has-transition {\n\t\t\t\t\t\t\ttransition: $transition;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t@if $pagination-theme == flat {\n\t\t\t\t\t\ttransform: scale(0.7);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t@if $pagination-theme == flat {\n\n\t\t\t\t\t&.forminator-step-current {\n\n\t\t\t\t\t\t.forminator-step-dot {\n\t\t\t\t\t\t\ttransform: scale(1);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&:not(.forminator-size--small) {\n\n\t\t\t.forminator-pagination--nav {\n\n\t\t\t\tli {\n\n\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\tmin-width: 33.33%;\n\t\t\t\t\t\tflex: 1 0 33.33%;\n\t\t\t\t\t\tmargin: 0;\n\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tli:before,\n\t\t\t\tli:after {\n\n\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\tcontent: \" \";\n\t\t\t\t\t\twidth: auto;\n\t\t\t\t\t\tdisplay: block;\n\t\t\t\t\t\tposition: absolute;\n\n\t\t\t\t\t\t@if $pagination-map != null {\n\n\t\t\t\t\t\t\t$has-dot-size: map-has-key($pagination-map, dot-size);\n\t\t\t\t\t\t\t$has-border-width: map-has-key($pagination-map, border-width);\n\n\t\t\t\t\t\t\t$dot-size: map-get($pagination-map, dot-size);\n\t\t\t\t\t\t\t$border-width: map-get($pagination-map, border-width);\n\n\t\t\t\t\t\t\t@if $has-border-width {\n\t\t\t\t\t\t\t\theight: $border-width;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@if $has-dot-size and $has-border-width {\n\t\t\t\t\t\t\t\tbottom: #{($dot-size - $border-width) / 2};\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@if $has-dot-size and not $has-border-width {\n\t\t\t\t\t\t\t\tbottom: #{$dot-size / 2};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tli .forminator-step-dot {\n\n\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\tposition: relative;\n\t\t\t\t\t\tz-index: 1;\n\t\t\t\t\t\ttop: auto;\n\t\t\t\t\t\tleft: auto;\n\t\t\t\t\t\tmargin: 5px auto 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tli .forminator-step-text {\n\n\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\tpadding-left: 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\tflex-wrap: wrap;\n\t\t\t\t\talign-items: flex-end;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t@else {\n\n\t\t.forminator-pagination--nav {\n\t\t\tposition: relative;\n\t\t\tcounter-reset: pagination-steps;\n\n\t\t\tli {\n\t\t\t\tdisplay: flex;\n\n\t\t\t\t@include icon(before, check) {\n\t\t\t\t\tcounter-increment: pagination-steps;\n\t\t\t\t\tmargin-right: #{$gutter-sm / 2};\n\t\t\t\t\tborder-radius: 50%;\n\t\t\t\t\ttext-align: center;\n\n\t\t\t\t\t@if $pagination-map != null {\n\n\t\t\t\t\t\t$has-dot-size: map-has-key($pagination-map, dot-size);\n\t\t\t\t\t\t$dot-size: map-get($pagination-map, dot-size);\n\n\t\t\t\t\t\t@if $has-dot-size {\n\t\t\t\t\t\t\twidth: $dot-size;\n\t\t\t\t\t\t\theight: $dot-size;\n\t\t\t\t\t\t\tfont-size: #{$dot-size / 2};\n\t\t\t\t\t\t\tline-height: $dot-size;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t.forminator-step-text {\n\t\t\t\t\talign-self: center;\n\t\t\t\t}\n\n\t\t\t\t&.forminator-step-current {\n\n\t\t\t\t\t&:before {\n\t\t\t\t\t\tcontent: counter(pagination-steps);\n\t\t\t\t\t\tfont-family: inherit !important;\n\t\t\t\t\t}\n\n\t\t\t\t\t~ li:before {\n\t\t\t\t\t\tcontent: counter(pagination-steps);\n\t\t\t\t\t\tfont-family: inherit !important;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&:not(.forminator-size--small) {\n\n\t\t\t.forminator-pagination--nav {\n\n\t\t\t\tli {\n\n\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\tflex: 0 0 auto;\n\t\t\t\t\t\tmargin: 0;\n\t\t\t\t\t\tpadding: 0 #{$gutter / 2};\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t.forminator-nav-border:not(:last-child) {\n\n\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\tflex: 1;\n\n\t\t\t\t\t\t@if $pagination-map != null {\n\n\t\t\t\t\t\t\t$has-border-width: map-has-key($pagination-map, border-width);\n\t\t\t\t\t\t\t$border-width: map-get($pagination-map, border-width);\n\t\n\t\t\t\t\t\t\t@if $has-border-width {\n\t\t\t\t\t\t\t\theight: $border-width;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\tflex-wrap: wrap;\n\t\t\t\t\talign-items: center;\n\t\t\t\t\tmargin: 0 -#{$gutter / 2} $gutter;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// REMOVE LATER WHEN SETTINGS FOR THIS\n\t// ARE ADDED TO APPEARANCE SETTINGS.\n\t.forminator-pagination--bar {\n\t\t\n\t\t.forminator-bar--progress {\n\t\t\tbackground-color: #EDEDED;\n\n\t\t\tspan {\n\t\t\t\tbackground-color: palette(blue, default);\n\t\t\t}\n\t\t}\n\t}\n}","// =============================================\n// FORMINATOR UI â FORM FLAT STYLES\n// \n// Author: Leighton Sapir (WPMU DEV)\n// Date: June 27, 2018\n//\n// Last Update: June 28, 2018\n// =============================================\n\n// =============================================\n// FORM FLAT STYLES MENU\n//\n// 1. LABELS\n// 2. SECTION BORDER\n// 3. INPUT & TEXTAREA\n// 4. RADIO & CHECKBOX\n// 5. SELECT\n// 6. SELECT DROPDOWN\n// 7. MULTI SELECT\n// 8. DATE FIELD\n// 9. CALENDAR\n// 10. BUTTON\n// 11. PAGINATION\n// =============================================\n\n// =============================================\n// 1. LABELS\n\n@include body-class(custom-form, flat) {\n\t\n\t.forminator-label,\n\t.forminator-label--limit,\n\t.forminator-label--helper {\n\t\tline-height: $flat--line-height;\n\t}\n\n\t.forminator-label--validation {\n\t\tmargin-top: #{$flat--padding / 2};\n\t\tpadding: #{$flat--padding / 2} $flat--padding;\n\t\tline-height: $flat--line-height;\n\t}\n}\n\n// =============================================\n// 2. SECTION BORDER\n\n@include body-class(custom-form, flat) {\n\n\t@include section-border();\n}\n\n// =============================================\n// 3. INPUT & TEXTAREA\n\n@include body-class(custom-form, flat) {\n\n\t@include input($flat--input-map);\n}\n\n// =============================================\n// 4. RADIO & CHECKBOX\n\n@include body-class(custom-form, flat) {\n\n\t@include options(radio, $flat--option-map);\n\n\t@include options(checkbox, $flat--option-map);\n}\n\n// =============================================\n// 5. SELECT\n\n@include body-class(custom-form, flat) {\n\n\t@include select($flat--select-map);\n}\n\n// =============================================\n// 6. SELECT DROPDOWN\n\n@include dropdown(flat, $flat--dropdown-map);\n\n// =============================================\n// 7. MULTI SELECT\n\n@include body-class(custom-form, flat) {\n\t\n\t@include multiselect($flat--multiselect-map);\n}\n\n// =============================================\n// 8. DATE FIELD\n\n@include body-class(custom-form, flat) {\n\n\t@include date($flat--date-map);\n}\n\n// =============================================\n// 9. CALENDAR\n\n@include calendar(flat, $flat--calendar-map);\n\n// =============================================\n// 10. BUTTON\n\n@include body-class(custom-form, flat) {\n\n\t@include button($flat--button-map);\n}\n\n// =============================================\n// 11. PAGINATION\n\n@include body-class(custom-form, flat) {\n\n\t@include pagination($flat--pagination-map, flat);\n}","// =============================================\n// FORMINATOR UI â FORM DEFAULT STYLES\n// \n// Author: Leighton Sapir (WPMU DEV)\n// Date: June 19, 2018\n//\n// Last Update: June 28, 2018\n// =============================================\n\n// =============================================\n// FORM DEFAULT STYLES MENU\n//\n// 1. LABELS\n// 2. SECTION BORDER\n// 3. INPUT & TEXTAREA\n// 4. RADIO & CHECKBOX\n// 5. SELECT\n// 6. SELECT DROPDOWN\n// 7. MULTI SELECT\n// 8. DATE FIELD\n// 9. CALENDAR\n// 10. BUTTON\n// 11. PAGINATION\n// =============================================\n\n// =============================================\n// 1. LABELS\n\n@include body-class(custom-form, default) {\n\t\n\t.forminator-label,\n\t.forminator-label--limit,\n\t.forminator-label--helper {\n\t\tline-height: $default--label-line-height;\n\t}\n\n\t.forminator-label--validation {\n\t\tmargin-top: #{$default--padding / 2};\n\t\tpadding: #{$default--padding / 2} $default--padding;\n\t\tborder-radius: $default--border-radius;\n\t\tline-height: $default--validation-line-height;\n\t}\n}\n\n// =============================================\n// 2. SECTION BORDER\n\n@include body-class(custom-form, default) {\n\n\t@include section-border();\n}\n\n// =============================================\n// 3. INPUT & TEXTAREA\n\n@include body-class(custom-form, default) {\n\n\t@include input($default--input-map);\n}\n\n// =============================================\n// 4. RADIO & CHECKBOX\n\n@include body-class(custom-form, default) {\n\n\t@include options(radio, $default--option-map);\n\n\t@include options(checkbox, $default--option-map);\n}\n\n// =============================================\n// 5. SELECT\n\n@include body-class(custom-form, default) {\n\n\t@include select($default--select-map);\n}\n\n// =============================================\n// 6. SELECT DROPDOWN\n\n@include dropdown(default, $default--dropdown-map);\n\n// =============================================\n// 7. MULTI SELECT\n\n@include body-class(custom-form, default) {\n\n\t@include multiselect($default--multiselect-map);\n}\n\n// =============================================\n// 8. DATE FIELD\n\n@include body-class(custom-form, default) {\n\n\t@include date($default--date-map);\n}\n\n// =============================================\n// 9. CALENDAR\n\n@include calendar(default, $default--calendar-map);\n\n// =============================================\n// 10. BUTTON\n\n@include body-class(custom-form, default) {\n\n\t@include button($default--button-map);\n}\n\n// =============================================\n// 11. PAGINATION\n\n@include body-class(custom-form, default) {\n\n\t@include pagination($default--pagination-map);\n}","// =============================================\n// FORMINATOR UI â FORM MATERIAL STYLES\n// \n// Author: Leighton Sapir (WPMU DEV)\n// Date: June 29, 2018\n//\n// Last Update: June 30, 2018\n// =============================================\n\n// =============================================\n// FORM MATERIAL STYLES MENU\n//\n// 1. LABELS\n// 2. SECTION BORDER\n// 3. INPUT & TEXTAREA\n// 4. RADIO & CHECKBOX\n// 5. SELECT\n// 6. SELECT DROPDOWN\n// 7. MULTI SELECT\n// 8. DATE FIELD\n// 9. CALENDAR\n// 10. BUTTON\n// 11. PAGINATION\n// =============================================\n\n// =============================================\n// 1. LABELS\n\n@include body-class(custom-form, material) {\n\t\n\t.forminator-label,\n\t.forminator-label--limit,\n\t.forminator-label--helper {\n\t\tline-height: $material--line-height;\n\t}\n\n\t.forminator-label--validation {\n\t\tmargin-top: #{$material--padding / 2};\n\t\tpadding: #{$material--padding / 2} $material--padding;\n\t\tline-height: $material--line-height;\n\t}\n}\n\n// =============================================\n// 2. SECTION BORDER\n\n@include body-class(custom-form, material) {\n\n\t@include section-border();\n}\n\n// =============================================\n// 3. INPUT & TEXTAREA\n\n@include body-class(custom-form, material) {\n\n\t@include input($material--input-map, material) {\n\n\t\t.forminator-input--wrap {\n\t\t\tposition: relative;\n\n\t\t\t&:after {\n content: \" \";\n height: 2px;\n display: block;\n position: absolute;\n right: 50%;\n bottom: 0;\n left: 50%;\n\t\t\t\ttransition: $material--transition-alt;\n }\n\t\t}\n\n\t\t.forminator-textarea--wrap {\n\t\t\tposition: relative;\n\n\t\t\t&:after {\n\t\t\t\tcontent: \" \";\n\t\t\t\tpointer-events: none;\n\t\t\t\tposition: absolute;\n\t\t\t\tz-index: 1;\n\t\t\t\ttop: 0;\n\t\t\t\tright: 0;\n\t\t\t\tbottom: 0;\n\t\t\t\tleft: 0;\n\t\t\t\tborder-radius: $material--input-border-radius;\n\t\t\t\ttransition: $material--transition;\n\t\t\t}\n\t\t}\n\n\t\t.forminator-floating--date,\n\t\t.forminator-floating--input,\n\t\t.forminator-floating--textarea {\n\t\t\tposition: relative;\n\t\t\tz-index: 1;\n\n\t\t\t.forminator-label {\n\t\t\t\toverflow: hidden;\n\t\t\t\tpointer-events: none;\n\t\t\t\ttransform-origin: 0;\n\t\t\t\ttransition: transform $material--transition-alt, $material--transition;\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t\twhite-space: nowrap;\n\t\t\t}\n\t\t}\n\n\t\t.forminator-floating--date,\n\t\t.forminator-floating--input {\n\t\t\t\n\t\t\t.forminator-label {\n\t\t\t\ttransform: translateY(#{$material--input-padding + $material--input-line-height});\n\t\t\t}\n\t\t}\n\n\t\t.forminator-floating--date {\n\t\t\tpadding-left: #{$material--date-icon-size + ($gutter-sm / 2)};\n\t\t}\n\n\t\t.forminator-floating--textarea {\n\t\t\theight: 0;\n\n\t\t\t.forminator-label {\n\t\t\t\tpadding-right: #{$material--input-padding * 2};\n\t\t\t\ttransform: translate($material--input-padding, #{$material--input-padding + $material--input-line-height});\n\t\t\t}\n\n\t\t\t~ .forminator-textarea--wrap {\n\n\t\t\t\t.forminator-textarea {\n\t\t\t\t\tpadding-top: #{($material--input-padding - $material--input-border-width) + $material--input-line-height};\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.forminator-floating--date,\n\t\t.forminator-floating--input,\n\t\t.forminator-floating--textarea {\n\n\t\t\t+ .forminator-input,\n\t\t\t+ .forminator-date .forminator-input,\n\t\t\t+ .forminator-input--wrap .forminator-input,\n\t\t\t~ .forminator-textarea--wrap .forminator-textarea,\n\t\t\t+ .forminator-phone-intl .forminator-input--wrap .forminator-input {\n\n\t\t\t\t&:-moz-placeholder {\n @include opacity(0);\n }\n \n &::-moz-placeholder {\n @include opacity(0);\n }\n\t\t\t\t\n &:-ms-input-placeholder {\n @include opacity(0);\n }\n\t\t\t\t\n &::-webkit-input-placeholder {\n @include opacity(0);\n }\n\t\t\t}\n\t\t}\n\n\t\t.forminator-is_hover,\n\t\t.forminator-is_active,\n\t\t.forminator-has_error {\n\n\t\t\t.forminator-input--wrap {\n\n\t\t\t\t&:after {\n\t\t\t\t\tright: 0;\n\t\t\t\t\tleft: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.forminator-is_active,\n\t\t.forminator-is_filled {\n\n\t\t\t.forminator-floating--date,\n\t\t\t.forminator-floating--input {\n\t\t\t\t\n\t\t\t\t.forminator-label {\n\t\t\t\t\ttransform: translateY(0);\n }\n\t\t\t}\n\n\t\t\t.forminator-floating--textarea {\n \n\t\t\t\t.forminator-label {\n\t\t\t\t\ttransform: translate($material--input-padding, #{($material--input-padding / 2) - $material--input-border-width});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.forminator-is_active {\n\n\t\t\t.forminator-floating--date,\n\t\t\t.forminator-floating--input,\n\t\t\t.forminator-floating--textarea {\n\n\t\t\t\t+ .forminator-input,\n\t\t\t\t+ .forminator-date .forminator-input,\n\t\t\t\t+ .forminator-input--wrap .forminator-input,\n\t\t\t\t~ .forminator-textarea--wrap .forminator-textarea,\n\t\t\t\t+ .forminator-phone-intl .forminator-input--wrap .forminator-input {\n\n\t\t\t\t\t&:-moz-placeholder {\n\t\t\t\t\t\t@include opacity(1);\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t&::-moz-placeholder {\n\t\t\t\t\t\t@include opacity(1);\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t&:-ms-input-placeholder {\n\t\t\t\t\t\t@include opacity(1);\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t&::-webkit-input-placeholder {\n\t\t\t\t\t\t@include opacity(1);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Input with international validation\n\t\t.forminator-phone-intl {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\n\t\t\t.flag-container {\n\t\t\t\tcursor: pointer;\n\t\t\t\tflex: 0 0 auto;\n\t\t\t\tmargin: 0 #{$gutter-sm / 2} 0 0;\n\t\t\t\tposition: relative;\n\t\t\t\tpadding: 0;\n\n\t\t\t\t.selected-flag {\n\t\t\t\t\twidth: auto;\n\t\t\t\t\theight: auto;\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\talign-items: center;\n\t\t\t\t\tpadding: 0;\n\n\t\t\t\t\t.iti-flag,\n\t\t\t\t\t.iti-arrow {\n\t\t\t\t\t\tflex: 0 0 auto;\n\t\t\t\t\t\tposition: unset;\n\t\t\t\t\t}\n\n\t\t\t\t\t.iti-flag {\n\t\t\t\t\t\tmargin-right: 5px;\n\t\t\t\t\t}\n\n\t\t\t\t\t.iti-arrow {\n\t\t\t\t\t\tmargin-top: 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.forminator-input--wrap {\n\t\t\t\tflex: 1;\n\n\t\t\t\t.forminator-input {\n\t\t\t\t\tpadding-right: 0;\n\t\t\t\t\tpadding-left: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.intl-tel-input .forminator-floating--input {\n\t\t\tpadding-left: #{31px + ($gutter-sm / 2)};\n\t\t}\n\t}\n\n\t&:not(.forminator-size--small) {\n\n\t\t.forminator-floating--date {\n\t\t\tpadding-left: #{$material--date-icon-size + ($gutter / 2)};\n\t\t}\n\t}\n}\n\n// =============================================\n// 4. RADIO & CHECKBOX\n\n@include body-class(custom-form, material) {\n\n\t@include options(radio, $material--option-map, material);\n\n\t@include options(checkbox, $material--option-map, material);\n}\n\n// =============================================\n// 5. SELECT\n\n@include body-class(custom-form, material) {\n\n\t@include select($material--select-map, material);\n}\n\n// =============================================\n// 6. SELECT DROPDOWN\n\n@include dropdown(material, $material--dropdown-map);\n\n// =============================================\n// 7. MULTI SELECT\n\n@include body-class(custom-form, material) {\n\n\t@include multiselect($material--multiselect-map, material);\n}\n\n// =============================================\n// 8. DATE FIELD\n\n@include body-class(custom-form, material) {\n\n\t@include date($material--date-map, material);\n}\n\n// =============================================\n// 9. CALENDAR\n\n@include calendar(material, $material--calendar-map);\n\n// =============================================\n// 10. BUTTON\n\n@include body-class(custom-form, material) {\n\n\t@include button($material--button-map, material);\n}\n\n// =============================================\n// 11. PAGINATION\n\n@include body-class(custom-form, material) {\n\n\t@include pagination($material--pagination-map, material);\n}","// =============================================\n// FORMINATOR UI â MIXIN: POLL QUESTION\n// \n// Author: Leighton Sapir (WPMU DEV)\n// Date: July 3, 2018\n// =============================================\n\n@mixin poll-question($question-map: null) {\n\n\t.forminator-poll--question {\n\t\tmargin: 0 0 #{$gutter-sm / 2};\n\t\tpadding: 0;\n\t\tborder: 0;\n\n\t\t@if $question-map != null {\n\n\t\t\t$has-font-size: map-has-key($question-map, font-size);\n\t\t\t$has-line-height: map-has-key($question-map, line-height);\n\t\t\t$has-font-weight: map-has-key($question-map, font-weight);\n\t\n\t\t\t$font-size: map-get($question-map, font-size);\n\t\t\t$line-height: map-get($question-map, line-height);\n\t\t\t$font-weight: map-get($question-map, font-weight);\n\t\n\t\t\t@if $has-font-size {\n\t\t\t\tfont-size: $font-size;\n\t\t\t}\n\n\t\t\t@if $has-line-height {\n\t\t\t\tline-height: $line-height;\n\t\t\t}\n\n\t\t\t@if $has-font-weight {\n\t\t\t\tfont-weight: $font-weight;\n\t\t\t}\n\t\t}\n\t}\n\n\t&:not(.forminator-size--small) {\n\n\t\t.forminator-poll--question {\n\n\t\t\t@include media(min-width, sm) {\n\t\t\t\tmargin: 0 0 #{$gutter / 2};\n\t\t\t}\n\t\t}\n\t}\n}","// =============================================\n// FORMINATOR UI â MIXIN: POLL DESCRIPTION\n// \n// Author: Leighton Sapir (WPMU DEV)\n// Date: July 3, 2018\n// =============================================\n\n@mixin poll-description($description-map: null) {\n\n\t.forminator-poll--description {\n\t\tmargin: 0 0 #{$gutter-sm / 2};\n\t\tpadding: 0;\n\t\tborder: 0;\n\n\t\t@if $description-map != null {\n\n\t\t\t$has-font-size: map-has-key($description-map, font-size);\n\t\t\t$has-line-height: map-has-key($description-map, line-height);\n\t\t\t$has-font-weight: map-has-key($description-map, font-weight);\n\t\n\t\t\t$font-size: map-get($description-map, font-size);\n\t\t\t$line-height: map-get($description-map, line-height);\n\t\t\t$font-weight: map-get($description-map, font-weight);\n\t\n\t\t\t@if $has-font-size {\n\t\t\t\tfont-size: $font-size;\n\t\t\t}\n\n\t\t\t@if $has-line-height {\n\t\t\t\tline-height: $line-height;\n\t\t\t}\n\n\t\t\t@if $has-font-weight {\n\t\t\t\tfont-weight: $font-weight;\n\t\t\t}\n\t\t}\n\t}\n\n\t&:not(.forminator-size--small) {\n\n\t\t.forminator-poll--description {\n\n\t\t\t@include media(min-width, sm) {\n\t\t\t\tmargin: 0 0 #{$gutter / 2};\n\t\t\t}\n\t\t}\n\t}\n}","// =============================================\n// FORMINATOR UI â MIXIN: POLL ANSWERS\n// \n// Author: Leighton Sapir (WPMU DEV)\n// Date: July 3, 2018\n// =============================================\n\n@mixin poll-answers() {\n\n\t.forminator-poll--answers {\n\t\tmargin: 0;\n\n\t\t&, li {\n\t\t\tpadding: 0;\n\t\t\tborder: 0;\n\t\t\tlist-style: none;\n\t\t}\n\n\t\tli {\n\t\t\tmargin: #{$gutter-sm / 2} 0;\n\n\t\t\t&:first-child {\n\t\t\t\tmargin-top: 0;\n\t\t\t}\n\n\t\t\t&:last-child {\n\t\t\t\tmargin-bottom: 0;\n\t\t\t}\n\t\t}\n\t}\n}","// =============================================\n// FORMINATOR UI â MIXIN: POLL ACTIONS\n// \n// Author: Leighton Sapir (WPMU DEV)\n// Date: July 3, 2018\n// =============================================\n\n@mixin poll-actions($actions-map: null) {\n\n\t.forminator-poll--actions {\n\t\tmargin: $gutter-sm 0 0;\n\t\ttext-align: center;\n\n\t\ta:not(.forminator-button) {\n\t\t\tmargin: 0;\n\n\t\t\t@if $actions-map != null {\n\n\t\t\t\t$has-font-size: map-has-key($actions-map, font-size);\n\t\t\t\t$has-line-height: map-has-key($actions-map, line-height);\n\t\t\t\t$has-font-weight: map-has-key($actions-map, font-weight);\n\t\t\n\t\t\t\t$font-size: map-get($actions-map, font-size);\n\t\t\t\t$line-height: map-get($actions-map, line-height);\n\t\t\t\t$font-weight: map-get($actions-map, font-weight);\n\t\t\n\t\t\t\t@if $has-font-size {\n\t\t\t\t\tfont-size: $font-size;\n\t\t\t\t}\n\t\n\t\t\t\t@if $has-line-height {\n\t\t\t\t\tline-height: $line-height;\n\t\t\t\t}\n\t\n\t\t\t\t@if $has-font-weight {\n\t\t\t\t\tfont-weight: $font-weight;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&,\n\t\t\t&:hover,\n\t\t\t&:active,\n\t\t\t&:visited {\n\t\t\t\toutline: none;\n\t\t\t\tbox-shadow: none;\n\t\t\t\ttext-decoration: none;\n\t\t\t}\n\t\t}\n\n\t\t@if $actions-map != null {\n\n\t\t\t$has-padding: map-has-key($actions-map, padding);\n\t\t\t$has-border-radius: map-has-key($actions-map, border-radius);\n\t\t\t$has-font-size: map-has-key($actions-map, font-size);\n\t\t\t$has-line-height: map-has-key($actions-map, line-height);\n\t\t\t$has-font-weight: map-has-key($actions-map, font-weight);\n\t\n\t\t\t$padding: map-get($actions-map, padding);\n\t\t\t$border-radius: map-get($actions-map, border-radius);\n\t\t\t$font-size: map-get($actions-map, font-size);\n\t\t\t$line-height: map-get($actions-map, line-height);\n\t\t\t$font-weight: map-get($actions-map, font-weight);\n\n\t\t\ta.forminator-button,\n\t\t\tbutton.forminator-button {\n\n\t\t\t\t@if $has-padding {\n\t\t\t\t\tpadding: $padding;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@if $has-border-radius {\n\t\t\t\t\tborder-radius: $border-radius;\n\t\t\t\t}\n\n\t\t\t\t@else {\n\t\t\t\t\tborder-radius: 0;\n\t\t\t\t}\n\n\t\t\t\t@if $has-font-size {\n\t\t\t\t\tfont-size: $font-size;\n\t\t\t\t}\n\n\t\t\t\t@if $has-line-height {\n\t\t\t\t\tline-height: $line-height;\n\t\t\t\t}\n\n\t\t\t\t@if $has-font-weight {\n\t\t\t\t\tfont-weight: $font-weight;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t&:not(.forminator-size--small) {\n\n\t\t.forminator-poll--actions {\n\n\t\t\ta:not(.forminator-button) {\n\n\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\tflex: 0 0 auto;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@include media(min-width, sm) {\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-wrap: wrap;\n\t\t\t\talign-items: center;\n\t\t\t\tmargin: $gutter 0 0;\n\t\t\t}\n\t\t}\n\t}\n}","// =============================================\n// FORMINATOR UI â POLL MATERIAL STYLES\n// \n// Author: Leighton Sapir (WPMU DEV)\n// Date: June 30, 2018\n// =============================================\n\n// =============================================\n// POLL MATERIAL STYLES MENU\n//\n// 1. POLL QUESTION\n// 2. POLL DESCRIPTION\n// 3. POLL ANSWERS\n// 4. POLL ANSWER\n// 5. CUSTOM ANSWER\n// 6. POLL ACTIONS\n// 7. BUTTON\n// =============================================\n\n// =============================================\n// 1. POLL QUESTION\n\n@include body-class(poll, material) {\n\n\t@include poll-question($material--poll-question);\n}\n\n// =============================================\n// 2. POLL DESCRIPTION\n\n@include body-class(poll, material) {\n\n\t@include poll-description($material--poll-description);\n}\n\n// =============================================\n// 3. POLL ANSWERS\n\n@include body-class(poll, material) {\n\n\t@include poll-answers();\n}\n\n// =============================================\n// 4. POLL ANSWER\n\n@include body-class(poll, material) {\n\n\t@include options(radio, $material--option-map, material);\n}\n\n// =============================================\n// 5. CUSTOM ANSWER\n\n@include body-class(poll, material) {\n\n\t@include input($material--input-map, material) {\n\n\t\t.forminator-input--wrap {\n\t\t\tposition: relative;\n\n\t\t\t&:after {\n content: \" \";\n height: 2px;\n display: block;\n position: absolute;\n right: 50%;\n bottom: 0;\n left: 50%;\n\t\t\t\ttransition: $material--transition-alt;\n }\n\t\t}\n\n\t\t.forminator-floating--input {\n\t\t\tposition: relative;\n\t\t\tz-index: 1;\n\n\t\t\t.forminator-label {\n\t\t\t\tpointer-events: none;\n\t\t\t\ttransform-origin: 0;\n\t\t\t\ttransition: transform $material--transition-alt, $material--transition;\n\t\t\t}\n\t\t}\n\n\t\t.forminator-floating--input {\n\t\t\t\n\t\t\t.forminator-label {\n\t\t\t\ttransform: translateY(#{$material--input-padding + $material--input-line-height});\n\t\t\t}\n\t\t}\n\n\t\t.forminator-floating--input {\n\n\t\t\t+ .forminator-input,\n\t\t\t+ .forminator-input--wrap .forminator-input {\n\n\t\t\t\t&:-moz-placeholder {\n @include opacity(0);\n }\n \n &::-moz-placeholder {\n @include opacity(0);\n }\n\t\t\t\t\n &:-ms-input-placeholder {\n @include opacity(0);\n }\n\t\t\t\t\n &::-webkit-input-placeholder {\n @include opacity(0);\n }\n\t\t\t}\n\t\t}\n\n\t\t.forminator-is_hover,\n\t\t.forminator-is_active,\n\t\t.forminator-has_error {\n\n\t\t\t.forminator-input--wrap {\n\n\t\t\t\t&:after {\n\t\t\t\t\tright: 0;\n\t\t\t\t\tleft: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.forminator-is_active,\n\t\t.forminator-is_filled {\n\n\t\t\t.forminator-floating--input {\n\t\t\t\t\n\t\t\t\t.forminator-label {\n\t\t\t\t\ttransform: translateY(0);\n }\n\t\t\t}\n\t\t}\n\n\t\t.forminator-is_active {\n\n\t\t\t.forminator-floating--input {\n\n\t\t\t\t+ .forminator-input,\n\t\t\t\t+ .forminator-input--wrap .forminator-input {\n\n\t\t\t\t\t&:-moz-placeholder {\n\t\t\t\t\t\t@include opacity(1);\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t&::-moz-placeholder {\n\t\t\t\t\t\t@include opacity(1);\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t&:-ms-input-placeholder {\n\t\t\t\t\t\t@include opacity(1);\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t&::-webkit-input-placeholder {\n\t\t\t\t\t\t@include opacity(1);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n// =============================================\n// 6. POLL ACTIONS\n\n@include body-class(poll, material) {\n\n\t@include poll-actions($material--poll-actions);\n}\n\n// =============================================\n// 7. BUTTON\n\n@include body-class(poll, material) {\n\n\t@include button($material--button-map, material);\n}","// =============================================\n// FORMINATOR UI â QUIZ GLOBAL STYLES\n// \n// Author: Leighton Sapir (WPMU DEV)\n// Date: June 21, 2018\n//\n// Last Update: July 3, 2018\n// =============================================\n\n@include body-class(quiz) {\n\n\t&.forminator-design--grid {\n\t\tmax-width: $quiz--width;\n\t}\n\n\t.forminator-question-has-image {\n\n\t\timg {\n\t\t\tmax-width: 100%;\n\t\t\theight: auto;\n\t\t}\n\t}\n}","// =============================================\n// FORMINATOR UI â MIXIN: QUIZ QUESTION\n// \n// Author: Leighton Sapir (WPMU DEV)\n// Date: July 3, 2018\n// =============================================\n\n@mixin quiz-question() {\n\n\t.forminator-question {\n\t\tmargin: $gutter-sm 0;\n\t\tpadding: 0;\n\t\tborder: 0;\n\n\t\tlegend {\n\t\t\tmargin: 0;\n\t\t\tline-height: 1.7em;\n\t\t\tletter-spacing: 0;\n\t\t}\n\n\t\t.forminator-question--result {\n\t\t\tpadding-bottom: $gutter-sm;\n\t\t\tborder-bottom: 1px solid rgba(0,0,0,0.12);\n\n\t\t\tspan {\n\t\t\t\tdisplay: block;\n\t\t\t\tline-height: 1.8em;\n\t\t\t}\n\t\t}\n\n\t\t.forminator-question--has-image {\n\n\t\t\timg {\n\t\t\t\twidth: auto;\n\t\t\t\tmax-width: 100%;\n\t\t\t\theight: auto;\n\t\t\t\tdisplay: block;\n\t\t\t\tmargin: 0;\n\t\t\t\tpadding: 0;\n\t\t\t\tborder: 0;\n\t\t\t}\n\t\t}\n\n\t\t@content;\n\t}\n\n\t&:not(.forminator-size--small) {\n\n\t\t.forminator-question {\n\n\t\t\t@include media(min-width, sm) {\n\t\t\t\tmargin: $gutter 0;\n\t\t\t}\n\n\t\t\t.forminator-question--result {\n\n\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\tpadding-bottom: $gutter;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&.forminator-design--grid {\n\n\t\t\t.forminator-question {\n\t\t\t\t\n\t\t\t\tlegend,\n\t\t\t\t.forminator-question--result {\n\n\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\tdisplay: block;\n\t\t\t\t\t\tflex: 0 0 100%;\n\t\t\t\t\t\tpadding: 0 #{$gutter / 2};\n\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t.forminator-question--result {\n\n\t\t\t\t\tspan {\n\n\t\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\t\tdisplay: inline-flex;\n\t\t\t\t\t\t\tpadding: 0 #{$gutter / 2} #{$gutter / 2};\n\t\t\t\t\t\t\tborder-bottom: 1px solid rgba(0,0,0,0.12);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\tpadding-bottom: 0;\n\t\t\t\t\t\tborder-bottom: 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\tflex-wrap: wrap;\n\t\t\t\t\tjustify-content: center;\n\t\t\t\t\tmargin-right: -#{$gutter / 2};\n\t\t\t\t\tmargin-left: -#{$gutter / 2};\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}","// =============================================\n// FORMINATOR UI â MIXIN: QUIZ RESULT\n// \n// Author: Leighton Sapir (WPMU DEV)\n// Date: July 5, 2018\n//\n// Last Update: July 6, 2018\n// =============================================\n\n@mixin quiz-result($result-map: null, $result-theme: null) {\n\n\t.forminator-quiz--result {\n\t\tmargin: $gutter-sm 0;\n\n\t\t&:first-child {\n\t\t\tmargin-top: 0;\n\t\t}\n\n\t\t&:last-child {\n\t\t\tmargin-bottom: 0;\n\t\t}\n\t}\n\n\t.forminator-result {\n\n\t\t@if $result-theme == material {\n\n\t\t\t@if $result-map != null {\n\t\n\t\t\t\t$has-border-radius: map-has-key($result-map, border-radius);\n\t\t\t\t$has-box-shadow: map-has-key($result-map, box-shadow);\n\t\n\t\t\t\t$border-radius: map-get($result-map, border-radius);\n\t\t\t\t$box-shadow: map-get($result-map, box-shadow);\n\t\n\t\t\t\t@if $has-border-radius {\n\t\t\t\t\tborder-radius: $border-radius;\n\t\t\t\t\toverflow: hidden;\n\t\t\t\t}\n\t\n\t\t\t\t@if $has-box-shadow {\n\t\t\t\t\tbox-shadow: $box-shadow;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\thr {\n\t\t\t\tdisplay: block;\n\t\t\t\tpadding: 0;\n\t\t\t\tborder: 0;\n\n\t\t\t\t@if $result-map != null {\n\n\t\t\t\t\t$has-padding: map-has-key($result-map, padding);\n\t\t\t\t\t$has-break: map-has-key($result-map, break);\n\n\t\t\t\t\t$break: map-get($result-map, break);\n\t\t\t\t\t$padding: map-get($result-map, padding);\n\n\t\t\t\t\t@if $has-break and ($break == true) {\n\t\t\t\t\t\tdisplay: block;\n\t\t\t\t\t\tbackground-color: $material--card-border;\n\n\t\t\t\t\t\t@if $has-padding {\n\t\t\t\t\t\t\tmargin: $padding 0;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t@else {\n\t\t\t\t\t\t\tmargin: #{$gutter-sm / 2} 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t@else {\n\t\t\t\t\t\tdisplay: none;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t@else {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t@else {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column-reverse;\n\n\t\t\t@if $result-map != null {\n\t\t\t\t\n\t\t\t\t$has-padding: map-has-key($result-map, padding);\n\t\t\t\t$has-border-width: map-has-key($result-map, border-width);\n\t\t\t\t$has-border-style: map-has-key($result-map, border-style);\n\t\t\t\t$has-border-radius: map-has-key($result-map, border-radius);\n\n\t\t\t\t$padding: map-get($result-map, padding);\n\t\t\t\t$border-width: map-get($result-map, border-width);\n\t\t\t\t$border-style: map-get($result-map, border-style);\n\t\t\t\t$border-radius: map-get($result-map, border-radius);\n\n\t\t\t\t@if $has-padding and $has-border-width {\n\t\t\t\t\tpadding: #{$padding - $border-width};\n\t\t\t\t}\n\n\t\t\t\t@else if $has-padding and not $has-border-width {\n\t\t\t\t\tpadding: $padding;\n\t\t\t\t}\n\n\t\t\t\t@if $has-border-width and $has-border-style {\n\t\t\t\t\tborder-width: $border-width;\n\t\t\t\t}\n\n\t\t\t\t@else {\n\t\t\t\t\tborder-width: 0;\n\t\t\t\t}\n\n\t\t\t\t@if $has-border-style {\n\t\t\t\t\tborder-style: $border-style;\n\t\t\t\t}\n\n\t\t\t\t@if $has-border-radius {\n\t\t\t\t\tborder-radius: $border-radius;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t+ .forminator-social--share {\n\t\t\tmargin: $gutter 0 0;\n\n\t\t\t@include media(min-width, sm) {\n\t\t\t\tmargin: $gutter 0 0;\n\t\t\t}\n\t\t}\n\t}\n\n\t.forminator-result--image {\n\t\theight: auto;\n\t\tmax-height: 150px;\n\t\tdisplay: block;\n\t\tpadding: 0;\n\t\tborder: 0;\n\n\t\t@if $result-theme == material {\n\t\t\twidth: 100%;\n\t\t\tmargin: 0;\n\t\t}\n\n\t\t@else {\n\t\t\twidth: auto;\n\t\t\tmargin: 0 auto;\n\t\t}\n\t}\n\n\t.forminator-result--title {\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tborder: 0;\n\t}\n\n\t.forminator-result--title {\n\t\tline-height: 2.3em;\n\n\t\t+ .forminator-result--description {\n\n\t\t\t@if $result-map != null {\n\n\t\t\t\t$has-padding: map-has-key($result-map, padding);\n\t\t\t\t$padding: map-get($result-map, padding);\n\n\t\t\t\t@if $has-padding {\n\t\t\t\t\tmargin-top: $padding;\n\t\t\t\t}\n\n\t\t\t\t@else {\n\t\t\t\t\tmargin-top: #{$gutter-sm / 2};\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@else {\n\t\t\t\tmargin-top: #{$gutter-sm / 2};\n\t\t\t}\n\t\t}\n\t}\n\n\t.forminator-result--description {\n\n\t\t&, p {\n\t\t\tline-height: 1.9em;\n\t\t}\n\n\t\th1, h2, h3, h4, h5, h6, p, ol, ul {\n\n\t\t\t&:first-child {\n\t\t\t\tmargin-top: 0;\n\t\t\t}\n\n\t\t\t&:last-child {\n\t\t\t\tmargin-bottom: 0;\n\t\t\t}\n\t\t}\n\t}\n\n\t.forminator-result--retake {\n\t\tmargin: 0;\n\n\t\t@if $result-theme == material {\n\t\t\tdisplay: inline-flex;\n\t\t\tpadding: 0;\n\t\t\tborder: 0;\n\t\t\tbackground-color: transparent;\n\t\t\tbackground-image: none;\n\t\t\ttext-transform: uppercase;\n\n\t\t\t@if $result-map != null {\n\n\t\t\t\t$has-button-line-height: map-has-key($result-map, button-line-height);\n\t\t\t\t$button-line-height: map-get($result-map, button-line-height);\n\n\t\t\t\t@if $has-button-line-height {\n\t\t\t\t\theight: $button-line-height;\n\t\t\t\t\tline-height: $button-line-height;\n\t\t\t\t}\n\n\t\t\t\t@else {\n\t\t\t\t\theight: auto;\n\t\t\t\t\tline-height: 1.4em;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@else {\n\t\t\t\theight: auto;\n\t\t\t\tline-height: 1.4em;\n\t\t\t}\n\t\t}\n\n\t\t@else {\n\t\t\twidth: 100%;\n\t\t\tdisplay: block;\n\n\t\t\t@if $result-map != null {\n\n\t\t\t\t$has-button-padding: map-has-key($result-map, button-padding);\n\t\t\t\t$has-button-border-radius: map-has-key($result-map, button-border-radius);\n\t\t\t\t$has-button-line-height: map-has-key($result-map, button-line-height);\n\t\t\t\t$has-button-icon: map-has-key($result-map, button-icon);\n\t\t\t\t$has-transition: map-has-key($result-map, transition);\n\n\t\t\t\t$button-padding: map-get($result-map, button-padding);\n\t\t\t\t$button-border-radius: map-get($result-map, button-border-radius);\n\t\t\t\t$button-line-height: map-get($result-map, button-line-height);\n\t\t\t\t$button-icon: map-get($result-map, button-icon);\n\t\t\t\t$transition: map-get($result-map, transition);\n\n\t\t\t\t@if $has-button-padding {\n\t\t\t\t\tpadding: $button-padding;\n\t\t\t\t}\n\n\t\t\t\t@if $has-button-border-radius {\n\t\t\t\t\tborder-radius: $button-border-radius;\n\t\t\t\t}\n\n\t\t\t\t@else {\n\t\t\t\t\tborder-radius: 0;\n\t\t\t\t}\n\n\t\t\t\t@if $has-button-line-height {\n\t\t\t\t\tline-height: $button-line-height;\n\t\t\t\t}\n\n\t\t\t\t@if $has-button-icon {\n\n\t\t\t\t\t.wpdui-icon {\n\t\t\t\t\t\tfont-size: $button-icon;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@else {\n\t\t\t\tborder-radius: 0;\n\t\t\t\tline-height: 1.4em;\n\t\t\t}\n\t\t}\n\t}\n\n\t@if $result-theme == material {\n\n\t\t.forminator-result--content {\n\n\t\t\t@if $result-map != null {\n\n\t\t\t\t$has-padding: map-has-key($result-map, padding);\n\t\t\t\t$padding: map-get($result-map, padding);\n\n\t\t\t\t@if $has-padding {\n\t\t\t\t\tpadding: $padding;\n\t\t\t\t}\n\n\t\t\t\t@else {\n\t\t\t\t\tpadding: #{$gutter-sm / 2};\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@else {\n\t\t\t\tpadding: #{$gutter-sm / 2};\n\t\t\t}\n\t\t}\n\t}\n\n\t@else {\n\n\t\t.forminator-result--info {\n\n\t\t\t@if $result-map != null {\n\t\t\t\t\n\t\t\t\t@if has-map-key($result-map, padding) {\n\t\t\t\t\tmargin-top: map-get($result-map, padding);\n\t\t\t\t}\n\n\t\t\t\t@else {\n\t\t\t\t\tmargin-top: #{$gutter-sm / 2};\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@else {\n\t\t\t\tmargin-top: #{$gutter-sm / 2};\n\t\t\t}\n\t\t}\n\n\t\t.forminator-result--quiz-name {\n\t\t\tdisplay: none;\n\t\t}\n\n\t\t.forminator-result--text {\n\n\t\t\t@if $result-map != null {\n\n\t\t\t\t@if map-has-key($result-map, padding) {\n\t\t\t\t\tpadding: map-get($result-map, padding);\n\n\t\t\t\t\t+ .forminator-result--image {\n\t\t\t\t\t\tmargin-top: map-get($result-map, padding);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t@else {\n\t\t\t\t\tpadding: #{$gutter-sm / 2};\n\n\t\t\t\t\t+ .forminator-result--image {\n\t\t\t\t\t\talign-self: flex-start;\n\t\t\t\t\t\tmargin-top: #{$gutter-sm / 2};\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@else {\n\t\t\t\tpadding: #{$gutter-sm / 2};\n\n\t\t\t\t+ .forminator-result--image {\n\t\t\t\t\tmargin-top: #{$gutter-sm / 2};\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t* {\n\t\t\t\tword-break: break-word;\n\t\t\t}\n\t\t}\n\t}\n\n\t&:not(.forminator-size--small) {\n\t\t\n\t\t.forminator-quiz--result {\n\n\t\t\t&:first-child {\n\n\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\tmargin-top: 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&:last-child {\n\n\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\tmargin-bottom: 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@include media(min-width, sm) {\n\t\t\t\tmargin: $gutter 0;\n\t\t\t}\n\t\t}\n\n\t\t.forminator-result {\n\n\t\t\t@include media(min-width, sm) {\n\n\t\t\t\t@if $result-theme == material {\n\t\n\t\t\t\t\thr {\n\t\t\n\t\t\t\t\t\t@if $result-map != null {\n\t\t\n\t\t\t\t\t\t\t$has-padding: map-has-key($result-map, padding);\n\t\t\t\t\t\t\t$has-break: map-has-key($result-map, break);\n\t\t\n\t\t\t\t\t\t\t$break: map-get($result-map, break);\n\t\t\n\t\t\t\t\t\t\t@if $has-break and ($break == true) {\n\t\t\n\t\t\t\t\t\t\t\t@if not $has-padding {\n\t\t\t\t\t\t\t\t\tmargin: #{$gutter / 2} 0;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\n\t\t\t\t@else {\n\t\t\t\t\tdisplay: block;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.forminator-result--title {\n\t\n\t\t\t+ .forminator-result--description {\n\n\t\t\t\t@include media(min-width, sm) {\n\n\t\t\t\t\t@if ($result-map != null) and not map-has-key($result-map, padding) {\n\t\t\t\t\t\tmargin-top: #{$gutter / 2};\n\t\t\t\t\t}\n\t\t\n\t\t\t\t\t@else if $result-map == null {\n\t\t\t\t\t\tmargin-top: #{$gutter / 2};\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.forminator-result--retake {\n\n\t\t\t@include media(min-width, sm) {\n\t\t\t\t\n\t\t\t\t@if $result-theme != material {\n\t\t\t\t\twidth: auto;\n\t\t\t\t\tflex: 0 0 auto;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t@if $result-theme == material {\n\n\t\t\t.forminator-result--content {\n\n\t\t\t\t@include media(min-width, sm) {\n\n\t\t\t\t\t@if ($result-map != null) and not map-has-key($result-map, padding) {\n\t\t\t\t\t\tpadding: #{$gutter / 2};\n\t\t\t\t\t}\n\t\t\n\t\t\t\t\t@else if $result-map == null {\n\t\t\t\t\t\tpadding: #{$gutter / 2};\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t@else {\n\n\t\t\t.forminator-result--info {\n\n\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\tmargin-top: 0;\n\n\t\t\t\t\t@if $result-map != null {\n\t\t\t\t\n\t\t\t\t\t\t@if has-map-key($result-map, padding) {\n\t\t\t\t\t\t\tmargin-bottom: map-get($result-map, padding);\n\t\t\t\t\t\t}\n\t\t\n\t\t\t\t\t\t@else {\n\t\t\t\t\t\t\tmargin-bottom: #{$gutter-sm / 2};\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\n\t\t\t\t\t@else {\n\t\t\t\t\t\tmargin-bottom: #{$gutter-sm / 2};\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.forminator-result--quiz-name {\n\n\t\t\t\t+ .forminator-result--retake {\n\n\t\t\t\t\t@include media(min-width, sm) {\n\n\t\t\t\t\t\t@if $result-map != null {\n\n\t\t\t\t\t\t\t@if map-has-key($result-map, padding) {\n\t\t\t\t\t\t\t\tmargin-left: map-get($result-map, padding);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@else {\n\t\t\t\t\t\t\t\tmargin-left: #{$gutter / 2};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t@else {\n\t\t\t\t\t\t\tmargin-left: #{$gutter / 2};\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\tdisplay: block;\n\t\t\t\t\tflex: 1;\n\t\t\t\t\talign-self: center;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.forminator-result--content {\n\n\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.forminator-result--text {\n\n\t\t\t\t+ .forminator-result--image {\n\n\t\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\t\tmax-width: 50%;\n\t\t\t\t\t\tmargin-top: 0;\n\n\t\t\t\t\t\t@if $result-map != null {\n\n\t\t\t\t\t\t\t@if map-has-key($result-map, padding) {\n\t\t\t\t\t\t\t\tmargin-left: map-get($result-map, padding);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@else {\n\t\t\t\t\t\t\t\tmargin-left: #{$gutter / 2};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t@else {\n\t\t\t\t\t\t\tmargin-left: #{$gutter / 2};\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t@include media(min-width, sm) {}\n\t\t\t}\n\t\t}\n\n\t\t&.forminator-design--grid {\n\n\t\t\t.forminator-quiz--result {\n\t\t\t\t\n\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\ttext-align: center;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.forminator-result {\n\t\t\t\t\n\t\t\t\t@include media(min-width, sm) {\n\t\t\t\t\ttext-align: initial;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}"],"sourceRoot":""}
|
1 |
+
{"version":3,"sources":["webpack:///./assets/sass/helpers/_icons.scss","webpack:///./assets/sass/front.scss","webpack:///./assets/sass/helpers/_keyframes.scss","webpack:///./assets/sass/helpers/mixins/_opacity.scss","webpack:///./assets/sass/helpers/mixins/_body-class.scss","webpack:///./assets/sass/poll/_global.scss","webpack:///./assets/sass/helpers/_extensions.scss","webpack:///./assets/sass/helpers/mixins/_quiz-answer.scss","webpack:///./assets/sass/form/_global.scss","webpack:///./assets/sass/_grid.scss","webpack:///./assets/sass/helpers/_variables.scss","webpack:///./assets/sass/helpers/mixins/_breakpoints.scss","webpack:///./assets/sass/_utilities.scss","webpack:///./assets/sass/helpers/mixins/_notifications.scss","webpack:///./assets/sass/helpers/_colors.scss","webpack:///./assets/sass/helpers/mixins/_wysiwyg.scss","webpack:///./assets/sass/form/_bold.scss","webpack:///./assets/sass/helpers/mixins/_section-border.scss","webpack:///./assets/sass/helpers/mixins/_input.scss","webpack:///./assets/sass/helpers/mixins/_options.scss","webpack:///./assets/sass/helpers/mixins/_select.scss","webpack:///./assets/sass/helpers/mixins/_dropdown.scss","webpack:///./assets/sass/helpers/mixins/_multi-select.scss","webpack:///./assets/sass/helpers/mixins/_date.scss","webpack:///./assets/sass/helpers/mixins/_calendar.scss","webpack:///./assets/sass/helpers/mixins/_button.scss","webpack:///./assets/sass/helpers/mixins/_pagination.scss","webpack:///./assets/sass/form/_flat.scss","webpack:///./assets/sass/form/_default.scss","webpack:///./assets/sass/form/_material.scss","webpack:///./assets/sass/helpers/mixins/_poll-question.scss","webpack:///./assets/sass/helpers/mixins/_poll-description.scss","webpack:///./assets/sass/helpers/mixins/_poll-answers.scss","webpack:///./assets/sass/helpers/mixins/_poll-actions.scss","webpack:///./assets/sass/poll/_material.scss","webpack:///./assets/sass/quiz/_global.scss","webpack:///./assets/sass/helpers/mixins/_quiz-question.scss","webpack:///./assets/sass/helpers/mixins/_quiz-result.scss"],"names":[],"mappings":"AAoTC,2+GAnTA,WACA,qBACA,cACA,iCACA,kBACA,gBACA,oBAGA,kCACA,oBACA,mCACA,kCCqCA,WDqPG,uBACA,kCACA,sPAKA,gBACA,kBCrPH,mCDgQC,gBCxPD,sCDwPC,gBChPD,oCD+O4B,gBCvO5B,kCDuO0B,gBC/N1B,oCD+N4B,gBCvN5B,gCDuNwB,gBC/MxB,wBD+MgB,gBCvMhB,oCDuM4B,gBC/L5B,wCD+LgC,gBCvLhC,sBDuLc,gBC/Kd,mCD+KA,gBCvKA,0EDuKA,gBCvJA,8BDuJA,gBC/IA,qCD+IA,gBCvIA,kCDuIA,gBC/HA,mCD+HA,gBCvHA,kCDuHA,gBC/GA,+DD+GA,gBC/FA,6DD+FA,gBC/EA,mCD+EA,gBCvEA,+BDuEA,gBC/DA,gCD+DA,gBCvDA,gCDuDA,gBC/CA,sCD+CA,gBCvCA,oEDuCA,gBCvBA,mEDuBA,gBCPA,6BDGsB,cCKtB,sCDDA,gBCSA,mCDTA,cCiBA,kCDjBA,cCyBA,8BD7BsB,cCqCtB,yBDrCU,YC6CV,gCDzCA,YCiDA,iCDjDA,YCyDA,8BD7DsB,YCqEtB,+BDjEA,YCyEA,4BD7EU,cCqFV,4BDrFU,cC6FV,+BDzFA,cCiGA,8BDrGsB,cC6GtB,8BD7GsB,gBCqHtB,wBDrHU,gBC6HV,yBD7HU,YCqIV,wBDrIU,YC6IV,iEDzIA,eCyJA,qEDzJA,eCyKA,qEDzKA,cCyLA,uEDzLA,eCyMA,mCDzMA,gBCiNA,iCDrNsB,cC6NtB,6BD7NU,gBCqOV,8BDrOU,eC6OV,yBD7OU,YCqPV,yBDrPU,YC6PV,2BD7PU,YCqQV,4BDrQU,gBC6QV,0BD7QU,cCqRV,mCDrRsB,cC6RtB,yBD7RU,YCqSV,yBDrSU,gBC6SV,kCD7SU,cCqTV,gCDrTU,cC6TV,2BD7TU,cCqUV,4BDrUU,cC6UV,0DD7UU,cC6VV,2BD7VU,eCqWV,+BDrWU,YC6WV,wBD7WU,YCqXV,yBDrXU,cC6XV,0BD7XU,YCqYV,wBDrYU,YC6YV,6BD7YU,YCqZV,8BDrZU,cC6ZV,8BD7ZU,YCqaV,2BDraU,YC6aV,yBD7aU,YCqbV,6BDrbU,YC6bV,+BD7bU,gBCqcV,+BDrcU,gBC6cV,+BD7cU,YCqdV,+BDrdU,YC6dV,wBD7dC,YCqeD,wBDreC,YC6eD,0BD7eU,YCqfV,yCDjfA,cCyfA,8BD7fU,YCqgBV,0BDrgBU,cC6gBV,2BD7gBU,YCqhBV,wBDrhBC,YC6hBD,0BD7hBU,YCqiBV,4BDriBU,gBC6iBV,uBD7iBC,YCqjBD,4BDrjBU,YC6jBV,qCD7jBU,YCqkBV,6BDrkBU,gBC6kBV,0BD7kBC,eCqlBD,uBDrlBC,YC6lBD,6BD7lBU,cCqmBV,8DDrmBU,eCqnBV,yBDrnBC,YC6nBD,wBD7nBC,YCqoBD,wBDroBC,YC6oBD,uBD7oBC,gBCqpBD,0BDrpBC,cC6pBD,6BD7pBU,YCqqBV,4BDrqBQ,YC6qBR,wBD7qBC,YCqrBD,0BDrrBC,YC6rBD,wBD7rBC,YCqsBD,mCDrsBU,YC6sBV,oCD7sBU,gBCqtBV,iCDrtBU,gBC6tBV,0BD7tBC,gBCquBD,2BDruBC,m9BAKA,+BALA,gBCqvBD,gCDrvBC,gBC6vBD,8BD9vBC,gBCswBD,yBDtwBQ,gBC8wBR,kCD7wBC,YCqxBD,gCDtxBqB,YC8xBrB,gCD9xBqB,YCsyBrB,kCDryBC,YC6yBD,mCD7yBC,YCqzBD,iCDtzBuB,YC8zBvB,sCD7zBC,YCq0BD,mCDr0BC,YC60BD,kCD70BC,YCq1BD,mCDr1BC,YC61BD,kCD71BC,YCq2BD,qCDr2BC,YC62BD,wBD92BQ,YCs3BR,oCDr3BC,YC63BD,mCD73BC,YCq4BD,8BDt4BQ,YC84BR,0BD94BQ,gBCs5BR,gCDt5BQ,cC85BR,kCD95BuB,eCs6BvB,oCDr6BC,gBC66BD,yBD96BQ,YCs7BR,gCDt7BQ,YC87BR,2CD77BQ,YCq8BR,6BDt8BQ,cC88BR,wBD98BQ,YCs9BR,6BDt9BQ,gBC89BR,iCD99BQ,cCs+BR,yBDt+BQ,YC8+BR,gCD9+BQ,YCs/BR,mCDt/BqB,YC8/BrB,0CD7/BC,YCqgCD,+BDtgCQ,gBC8gCR,2CD7gCC,eCqhCD,0BDthCQ,YC8hCR,yBD9hCQ,YCsiCR,gCDtiCQ,gBC8iCR,gCD9iCQ,gBCsjCR,gCDtjCQ,cC8jCR,4BD9jCQ,YCskCR,yBDtkCQ,YC8kCR,0BD9kCQ,YCslCR,2BDtlCQ,YC8lCR,4BD9lCQ,YCsmCR,iCDtmCQ,YC8mCR,8BD9mCQ,YCsnCR,+BDtnCQ,YC8nCR,0CD7nCC,YCqoCD,sCDtoCC,YC8oCD,0BD9oCQ,gBCspCR,4BDtpCQ,cC8pCR,uBD9pCA,gBCsqCA,+BDtqCQ,cC8qCR,0BD9qCC,gBCsrCD,+BDtrCQ,gBC8rCR,yBD9rCA,gBCssCA,4BDtsCC,gBC8sCD,2BD9sCA,gBCstCA,0BDttCA,cC8tCA,yBD9tCA,gBCsuCA,4BDtuCA,eC8uCA,2BD9uCA,eCsvCA,6BDtvCA,YC8vCA,4BD9vCA,YCswCA,+BDtwCC,gBC8wCD,2BD9wCA,cCsxCA,oCDtxCQ,cC8xCR,4BD9xCA,gBCsyCA,6BDtyCA,gBC8yCA,8BD9yCA,cCszCA,yCDtzCQ,gBC8zCR,2BD31CuB,YCm2CvB,uBDh0CC,eCw0CD,kCD90CA,YCs1CA,wCDt1CQ,YC81CR,wBDx1CQ,YCg2CR,8BDt2CA,gBC82CA,kCD92CA,cCs3CA,0BD54CgB,cCo5ChB,uCD93CQ,cCs4CR,0BD15CqB,gBCk6CrB,iCD94CA,gBCs5CA,qBDr5CU,qBCy5CV,0BDp5CQ,gBCw5CR,4BD75CC,GAAS,sDCk6CR,GD95CF,wDCk6CE,CACF,oBDv6CC,GAAS,sDCk6CR,GD95CF,wDCk6CE,CACF,wBCvsDD,GAAU,sDAEG,GAAY,wDD8sDtB,CACF,gBCjtDD,GAAU,sDAEG,GAAY,wDD8sDtB,CC3sDU,4BAWZ,GACC,UAAW,wEAGA,aAOb,sCDisDG,CCvtDU,oBAWZ,GACC,UAAW,wEAGA,aAOb,sCDisDG,CChsDC,+BAEa,GAAE,uBAGX,wEDssDL,CC3sDC,uBAEa,GAAE,uBAGX,wEDssDL,CC9rDH,mCAEiB,GAEb,8CAEI,yBAAW,2DC/CT,6BACA,2EACR,sEAFQ,kBACA,yEACR,oEAFQ,iBFiwDP,CCxtDH,2BAEiB,GAEb,8CAEI,yBAAW,2DC/CT,6BACA,2EACR,sEAFQ,kBACA,yEACR,oEAFQ,iBFiwDP,CEhwDO,8vFCGR,SC0BD,mBAA0B,isCDrBT,4BA0Bf,sEErBF,kCACA,2BACgB,mCAChB,oCACgB,+7CC5BE,qBHmBjB,gBAAgB,4BGnBjB,qBD+CA,UAAW,2BAED,kDACV,2BAGA,mME8CA,oDJrFC,CIsFD,uNADA,eFhCC,uRAID,+FE6BA,cAA6B,mTJtF5B,sDEyDD,iCAMW,wDG5ED,mBLaT,sHKPE,gBACA,4EAKe,aLCjB,wIMgBsB,kBNhBC,8JKmBpB,gBLnBH,yBAAuB,qFAAvB,mEK6BK,mBAEL,kBRi6DC,CQ/5DA,yBAIE,uFLrCH,cAAuB,2CHu8DtB,CQ16DI,yBAEL,uFL/BA,iBK6BK,iDRi7DJ,CQj7DI,yBAsBJ,uFLnDD,cAAuB,2CHq9DtB,CQx7DI,yBAEL,wFL/BA,eAAuB,eK6BlB,6CRg8DJ,CQ97DD,yBAoCC,kRApCD,gBRq8DC,CQv5DA,yBAEC,4PAlDG,mBAEU,gBA8Cd,eRg6DA,CQ95DC,yBAYG,gwBA9DuB,eR29D3B,CQz9DD,yBAgDE,4NAlDG,6BAEL,cRk+DC,CQp7DA,yBAEC,gFL/EF,gBHugEC,CGvgED,yBK6BK,qEE7BY,wEPAM,mBK6BlB,kBRm/DJ,CQj/DD,yBA4FE,2HA9FG,aRy/DJ,CQr5DD,yBAEC,yGAtGI,cR+/DJ,CQ//DI,yBAoGL,2EEjIwB,8DVkiEvB,CGliED,yBK6BK,4IR4gEJ,CQh5DA,yBAIC,0TAFD,gBRq5DA,CQ14DC,yBAEC,oSAfF,mBR85DA,CQj5DC,yBAEC,oGLxKoB,gBH6jEtB,CQhiEI,yBA4HJ,yFLzJD,kBK6BK,oCRwiEJ,CQ56DA,4CA0CE,iBACA,UAAa,uCL/LhB,sBAAuB,wDAItB,aAAY,yBA0PZ,wDOnQD,aVslEC,CUtlEkB,uDPWjB,gBAIC,yBAIF,uDOnBD,gBVgmEC,CUhmEkB,yBPmBlB,4CAIE,iBH+kEF,CUtmEO,8CPKe,oDMQb,+DNoBR,uBACA,yBA7BqB,sEOIJ,uBV2mElB,CG/mED,yBQxBD,uEDmBoB,uBV0nElB,CWtoEF,kDAGW,oDRSV,2CAEC,uBIDW,gDAGb,YACQ,eAAE,gCASV,2BK/BQ,kBAER,oGAGA,mCH8BiB,CG5BjB,uDAcC,WACA,0BAbD,2BLsBA,UKtBC,eAEA,8BAMA,WACA,kDATA,cZgrED,yGO1pEA,2CJdC,mGSuED,gCLzDA,oDK0DU,wBAET,gHL5DD,gBKgEC,4DACC,aAAa,2DAQd,gBACY,yBL1Eb,gDK8Ec,cZ8mEZ,CU1sEO,iDHcT,YAAuB,eAEtB,gCAED,2BKnCQ,kBAER,oGAGA,mCH8BiB,CG5BjB,wDAuBC,WACA,0BAtBD,2BL0BA,UK1BC,eAEA,8BAMA,WACA,mDATA,cZovED,2GO1tEA,2CJlBC,CAAuB,mHIkBxB,qEKsDU,wBAET,kHLxDD,gBK4DC,6DACC,aAAa,4DAQd,gBACa,yBLtEd,iDK0EgB,cZkrEd,CU9wEO,kDHkBT,YK8EC,6BL1ED,6CKvCQ,kBAER,oGAGA,mCH8BiB,CG5BjB,yDAgCiB,WAChB,0BA/BD,2BL8BA,UK9BC,eAEA,8BAMU,WACV,oDATA,cAkCC,6GLJF,2CJtBC,CIsBD,0LKkDU,wBAET,oHLpDD,gBKwDO,8DACL,aAAa,6DAQd,gBTvFA,yBIsBD,kDKsEiB,cZsvEf,CUl1EO,mDHsBT,YK0EC,6BThGA,kBI0BD,2BK3CQ,kBAER,oGAGA,mCH8BiB,CG5BjB,0DCqBU,uBDqBT,cAxCD,2BLkCA,UKlCC,eAEA,8BAMY,WACZ,qDATO,cA2CN,+GLTF,2CJ1BC,CI0BD,4LK8CU,wBAET,sHLhDD,gBJ1BC,+DS+EC,aAAiB,8DAQlB,gBAID,yBLjEA,mDKmEC,cZyzEC,CUt5EO,mDH0BT,YKsEC,6BThGA,kBI8BD,2BK/CQ,kBAER,oGAGA,mCH8BiB,CG5BjB,0DCaS,uBDsCR,cAjDD,2BLsCA,UKtCC,eAEA,6BAMU,YACV,sDA2CC,mBACQ,oDCzDD,sFD4DP,qDAEW,6HLpBb,2CJ9BC,CI8BD,4LK0CU,wBAET,sHL5CD,gBJ9BC,+DS+EC,aAAiB,8DAQlB,gBAID,yBL7DA,mDG9BC,cV+9EC,CU/9EO,uFPAR,mBIkCD,2GJlCwB,kBI2CvB,6ICdK,mBRg9EJ,COx7ED,yBAAkC,wIAUjC,mBPo7EA,COl7EA,mGJjED,YI0FD,kDACA,oEJ3FC,4EIiGe,qCJjGf,qGI+FD,4FAQe,mEJvGd,CI+FD,sFJ/FC,2GIgHE,SJhHF,yHIuHA,yCAGC,kIAWD,iBPu5EC,COv5ED,iKJrIA,4EI+JsB,mBJ/JtB,iKIwKE,kBJxKF,yMAAuB,wCIsLtB,2NCzJI,gBR4hFJ,CQ5hF2B,yBDuK3B,kQAWA,gBPi3EA,COj3EA,0DAOI,YAGU,aOvOf,gEX0CkB,qNYtBnB,iBZDC,8GAAuB,iBAuBL,qFa5CnB,kCbqBwB,earBxB,gBAAkB,cACjB,UACA,kBACS,2FAgBT,mBbEuB,4FaLvB,oBb4BkB,uIc5CnB,0BdqBC,cAAuB,mBcpBxB,gCAEC,2tBdkBA,qDAAuB,kkBcIhB,sFdJgB,UDTf,iBACA,yJCQR,wCDRQ,wXCQR,yBAAuB,sEDTf,kBACA,qMCQe,yBcpBxB,sEfWS,kBACA,+MCQe,yBcpBxB,sEfWS,kBACA,qEAER,YeqCD,iCd/BwB,gEckCvB,cAGD,uIA1DA,6CdqBC,oBcqEA,uIAsDG,YAGF,mDd9HsB,Cc+BxB,kEAqHG,Yd7HgB,kEAKJ,qDe9Cd,+BfkBuB,2IelBvB,sEhBSQ,iBACA,4FgBcP,mCfNsB,0IelBN,kEAwBhB,oEAEC,SAAS,UACT,mGAyCA,kFflDqB,UDTf,iBACA,mICQe,iBelBvB,2FAsEC,6BfpDsB,SelBvB,mBAsEC,iHAWC,ef/DqB,4Fe8DpB,uBf9DoB,mDelBvB,iBAwBC,mEAoFQ,2FAoBP,iBf9GqB,mGeoHpB,oBfpHoB,6FeqInB,mBfrImB,mGeqJpB,8BfrJoB,CelBvB,qEAqKI,qDACA,8BfpJmB,kJelBH,sEhBSZ,iBACA,kGgBcP,mCfNsB,iCelBvB,yGAwBC,sIAEC,SAAS,UACT,yGfTqB,wBelBvB,oEhBSQ,iBACA,4IgBVR,kHAsEC,6BAtED,mBAAoB,SAsEnB,uHfpDsB,iHe8DpB,uBf9DoB,mDelBvB,iBAwBC,mEAoFQ,iGAoBP,iBf9GqB,uHAuBL,sJgB5CQ,qBhBqB1B,kXAAuB,4SgBpBH,eAOpB,8LhBaA,YAAuB,iBgBpBxB,mBAAqB,gBAOpB,gDAsFY,4SA7FQ,iBAOpB,gDAGE,kPhBUqB,kBgB2JtB,4SA/KmB,mBAOpB,sSAwKsB,WAEpB,iEAAmB,yGAwBlB,kEACC,oEAEA,kBACA,kBACA,oTA7BF,wOAwBC,eAAyB,0SA1BN,aAEpB,oWAgFC,0DAAmB,sGC9PrB,8DAFM,sBAGN,oCACe,gBACJ,0GAHX,oDAMC,4sCARK,qDAGN,0LAHM,SAGN,mCAsBC,4OAtBD,SAA0B,gBAsBzB,sJAeC,WAxCI,sJA4CJ,eA5CI,gSAAP,YAAO,4XAAkB,YAGxB,iBAgFE,mCAUC,iBAGE,0LAhGC,YAGN,iEAsBC,gJAzBF,ajB0CkB,wEAKJ,SkBjDf,mBlBqBwB,iOAAvB,iKkBrBD,gBlBqBC,iFkBDC,eAEC,8DlBDqB,oBkBrBxB,wEZ6JqC,iBYhGlC,kClBxCqB,iBkBrBxB,mBlB4CmB,iEAKN,kBmBjDb,2FAqFC,iCnBhEuB,sNmBoClB,mCAzDN,4BAGE,kBA4DO,2Bb8BuB,cAFA,oGc+N/B,SAnTA,iDACA,gCAIA,0IAIC,6BAhBF,kBAYC,kBAKC,wJAME,cAvBJ,oJA2BG,aA3BH,4EA4Ba,cACT,4ExBIO,ewBjCX,sExBiCE,qDwBOA,6EACc,cAOb,8CApCF,mDAgCG,UAAc,sBAOjB,qBAnDyB,wHAmDzB,SAKC,8HALD,SAUO,kBA7DR,0QA8DE,cA9DF,+DAkEU,gBAMR,2KAxEF,oBAmDC,oWAnDD,yBAmDC,sErBvCQ,kBACA,oGqBuEJ,mCA7EJ,CAPD,iDAuII,gBAQA,mBAED,0JAjID,QAAmB,qEACA,SAjBrB,qEAkLK,UAGD,0IArKF,sBAhBF,yJAuBI,gCAvBJ,sEAqNM,aACA,mGAgCF,6Fd3H+B,YcsG7B,mDAzLJ,aAGC,8HAQF,YAUU,uBA7DX,iBAmDC,0QAWC,sBA9DF,mIAmQG,gDpBvNgB,6IqB5ClB,0BrBqBA,cAAuB,cqBpBxB,SAAM,kBACL,oBACQ,aACC,gBACU,iBAEnB,gDACA,6vBrBaA,qDAAuB,qBqBpBlB,8lBrBoBL,0BAAuB,sEDTf,iBACA,+JCQR,yBAAuB,uEDTf,mBACA,qKCQR,yNqBpBD,+NrBoBwB,cHolHtB,CwBjgHI,yBAGL,6NrBtFuB,eH2lHtB,CwBxgHI,yBAGL,uMrBtFuB,2BqBmFlB,kChB3DA,CR6kHJ,CwB/gHK,gDAmBJ,iBACA,UAAU,uCrB1GZ,sBAAuB,4DAItB,aAAY,yBA0PZ,4DOnQO,aV2nHP,CU3nHkB,2DPWjB,gBAIa,yBAVQ,2DOLjB,gBVqoHL,CUroHuB,yBPKD,gDAkBP,iBHonHf,CU3oHO,kDPKe,oDAuBL,4EAKJ,WsBjDf,yItBqBwB,CsBrBxB,kGAyEC,iEAzED,+HtBqBwB,qSAAwB,kBsBrBhD,qBA6BC,iNtBRuB,kBAAwB,2GAAxB,gCsBrBxB,eA6BC,mFAyCQ,gBAKT,2JtBtDC,gCAAuB,mBsBsDxB,mGAWC,0CtBjE+C,UsBsDhD,mBAWE,SACA,+EAgCD,yGAUC,atB5GsB,0FsByGtB,gBtBzGsB,+EsB+GxB,6EAA+B,yBAY5B,2IjBnGG,cR4sHJ,CQ5sH2B,yBiB4G5B,0IjB5GK,eRktHJ,CQltH2B,yBiB4G5B,+HAFA,czB8mHC,CQxtHI,yBiB4GL,yGtBpIuB,mBHsvHtB,CyBpnHD,yBjB1GK,gHLxBkB,cH4vHtB,CyB1nHD,yBjB1G4B,yGLxBL,gBHkwHtB,CGlwHsB,yBKwBlB,4GLxBkB,kIKwBlB,gBiBsJL,iBzB6lHC,CyB7lH6B,sFA6B5B,iBtB3MqB,qFsBgNrB,iBtBhNqB,qIsBuMvB,qHAmCE,gCAnCF,8BAmCE,mBACC,iBACA,mBAkBE,QhB/I0B,yBgBiJ1B,4GtBhQkB,iBAAwB,uDKwB1C,2BRwxHJ,CyB7/GA,yBAKY,qOtBxTU,YsBiTtB,yBjBzRI,kBiB2RJ,sBzBygHA,CyBz/GG,yBAEA,iIApBE,4BAEL,qCzBmhHA,CyBv+GI,yBAGS,kIjB1UT,eRozHJ,CQpzHI,yBiB2RJ,yGtBnTsB,uFKwBlB,8DR4zHJ,CyBprHD,sGtBhKuB,yBsBrBxB,2GtBqBwB,yBAuBL,qNuBtBnB,iBvBDC,8GAAuB,iBAuBL,qFa5CnB,kCbqBwB,earBxB,gBAAkB,cACjB,UACA,kBACS,2FAgBT,mBbEuB,4FaLvB,oBb4BkB,uIc5CnB,0BdqBC,cAAuB,mBcpBxB,gCAEC,2tBdkBA,qDAAuB,kkBcItB,sFdJsB,UDTf,iBACA,yJCQR,wCDRQ,wXCQR,yBAAuB,sEDTf,kBACA,qMCQR,yBAA+C,sEDTvC,kBACA,+MCQe,yBcpBxB,sEfWS,kBACA,qEAER,YeqCD,iCd/BwB,gEckCvB,cACA,uIAxDD,8CdqBC,qBAAuB,kEciEX,aAIZ,yBdrEuB,qEc2HpB,aAGF,kFAsBC,Yd7HgB,kEAKN,qDe9CZ,+BfkBuB,2IelBvB,sEhBSQ,iBACA,4FgBcP,mCfNsB,0IelBvB,kEAwBC,oEACgB,SACN,UACT,mGAyCA,kFflDqB,UDTf,iBACA,mICQe,iBelBvB,2FAsEC,6BfpDsB,SelBvB,mBAsEC,iHAWC,ef/DqB,4Fe8DpB,uBf9DoB,mDelBvB,2DAwBC,2FAwGC,iBf9GqB,mGeoHpB,sBfpHoB,6FeqInB,mBfrImB,mGeqJpB,8BfrJoB,CelBvB,qEAqKI,qDACA,+BfpJmB,iJelBvB,sEhBSQ,iBACA,kGgBcP,mCfNsB,iCelBvB,yGAwBC,sIACgB,SACN,UACT,yGfTqB,wBelBvB,oEhBSQ,iBACA,4IgBVR,kHAsEC,6BAtED,4BAsEC,uHfpDsB,iHe8DpB,uBf9DoB,mDelBvB,2DAwBC,iGAwGC,iBf9GqB,wHAuBL,sJgB5CA,qBhBqBlB,kXAAuB,4SgBpBH,eAOpB,8LhBaA,aAAuB,yBgBpBxB,kDAOC,4SAPoB,iBAOpB,kDAGE,kPhBUqB,kBgB2JtB,4SA/KmB,mBAOpB,sSAwKsB,WAEpB,iEAAmB,yGAwBlB,kEAA0B,sFAIzB,oBACA,oTA7BF,4OAwBC,eAAyB,0SA1BN,aAEpB,oWAgFC,0DAAmB,sGC9PrB,8DAFM,sBAGN,yBACC,0GAFD,oDAA0B,4sCAFpB,qDAGN,0LAHM,SAGN,mCAsBC,4OAtBD,yBAsBC,sJAeC,WAxCI,sJA4CJ,eA5CI,gSAkFW,aAlFX,yYAGN,yBAgFE,iBAUC,0LA7FG,aAGN,mEAsBiB,gJA6ID,ajB5HC,wEAKJ,SkBjDf,oPlBqBC,iKkBrBD,gBlBqBC,iFkBDC,eAEC,2DlBDqB,qBkBrBxB,wEZsUoC,iBYzQjC,iClBxCqB,CAuBL,iEAKhB,kBmBjDH,2FAqFC,iCnBhEuB,sNmBoClB,mCnBpC0C,WmBrBhD,iBAGE,kBA4DI,2BAUS,cb2MgB,oGcsC9B,SAnTA,iDACA,gCAIA,0IAIC,6BAhBF,kBAYC,kBAKC,wJAME,cAvBJ,oJA2BG,aA3BH,4EA4Ba,cACT,4ExBIO,ewBjCX,sExBiCE,qDwBOA,6EACU,cAOT,8CApCF,mDAgCG,UAAS,sBAOZ,sJAAuB,8HAAvB,SAUM,kBA7DP,0QA8DE,cA9DF,+DAkEM,gBAMJ,2KAxEF,oBAmDC,oWAnDD,yBAmDC,sErBvCQ,kBACA,oGqBuEJ,eA7EJ,iDACA,iBAmIG,oBAMD,0IAjID,SAAmB,qEAyJI,UAEnB,qEAOD,WAGD,0IArKF,sBAhBF,yJAuBI,gCAvBJ,sEAqNM,cACA,mGAgCF,8Fd6B2B,YclDzB,8HA9KL,aAUU,uBA7DX,iBAmDC,0QAWC,sBA9DF,mIAmQG,kDdtOY,6Ie7Bd,0BrBqBA,cAAuB,cqBpBxB,SAAM,kBACL,oBACQ,aACC,iCAGT,kDACA,6vBrBaA,qDAAuB,qBqBpBxB,8lBrBoBC,0BAAuB,sEDTf,iBACA,+JCQR,yBAAuB,uEDTf,mBACA,qKCQR,yNAA+C,+NAAxB,cH41JtB,CwBzwJD,yBhB3D4B,6NLxBL,eHm2JtB,CwBhxJD,yBhB3D4B,uMLxBL,2BqBmFvB,kChB3DK,CRq1JJ,CwBvxJK,gDAmBJ,iBACA,UAAU,uCrB1GZ,sBAAuB,4DAItB,aAAY,yBA0PZ,4DOnQK,aVm4JL,CUn4JkB,2DPWjB,gBAIW,yBAIZ,2DOnBK,gBV64JL,CU74JkB,yBPKI,gDAkBpB,iBH43JF,CUn5JO,kDPKe,oDMQT,4ENoBA,WsBjDf,yItBqBwB,CsBrBxB,kGAyEC,iEtBpD+C,iBsBrBhD,8GtBqBwB,uTsBrBxB,qBA6BC,iNtBRuB,6JsBrBxB,eAA2B,OA6B1B,4EAyCM,gBAKP,2JtBtDC,gCAAuB,mBsBsDxB,mGAWC,0CtBjEuB,UsBsDxB,mBAA2B,SAYzB,+EAgCD,yGAUC,atB5GsB,0FsByGtB,gBtBzGsB,+EsB2GrB,gBAIH,yBtB/GwB,2IKwBlB,cRi9JJ,CQj9J2B,yBiB4G5B,0IjB5GK,eRu9JJ,CQv9J2B,yBiB4G5B,+HAFA,czBm3JC,CQ79JI,yBiB4GL,yGtBpIuB,mBH2/JtB,CG3/JsB,yBKwBlB,gHLxBkB,cHigKtB,CyB/3JD,yBjB1GK,yGLxBkB,gBHugKtB,CGvgKsB,yBKwBlB,4GLxBkB,kIKwBlB,gBRu/JJ,CyBj2JD,sFA6BE,iBtB3MqB,qFsBgNrB,iBtBhNqB,qGsBqNrB,gCAdF,qHAmCE,gCAnCF,8BAmCE,mBACC,SAAS,QACT,gDAkBE,4HtB9PkB,8CsBuMvB,yBAgGI,4GtBvSmB,wEKwBlB,2BRgiKJ,CyBrwJA,yBAKG,qOtBxTmB,YAAwB,WKwB1C,gCiB2RJ,sBzBixJA,CyBpwJS,yBAKN,iIApBH,4BAEA,qCzB2xJA,CyB/uJI,yBAGS,kIAjDR,ezBmyJL,CQ5jKI,yBiB2RJ,yGtBnTsB,uFKwBlB,8DRokKJ,CQpkK2B,sGLxBL,yBsBrBxB,2GtBqBwB,yBAuBL,8NwBtBnB,iBxBDC,iHAAuB,kBwBMxB,iBxBiBmB,wFa5CnB,kCbqBwB,earBxB,gBAAkB,cACjB,UAAW,kBAEF,8FAgBT,mBbEuB,+FaLvB,oBb4BkB,6Ic5CnB,0BdqBC,cAAuB,mBcpBxB,gCAEC,yvBdkBA,qDAAuB,0lBAAvB,0BAAuB,sEDTf,iBACA,+JCQR,wCDRQ,oYCQR,yBAAuB,sEDTf,kBACA,2MCQe,+FDTf,kBACA,qNCQe,yBcpBxB,sEfWS,kBACA,wEAER,YeqCD,iCd/BwB,mEckCvB,cAGD,6IA1DA,6CdqBC,oBcqEA,6IAkDG,YAOF,qDd9HsB,Cc+BxB,qEAiHG,YdzHgB,qEAKJ,qDe9Cd,+BfkBuB,8IelBvB,sEhBSQ,iBACA,+FgBcP,mCfNsB,0IelBvB,kEAwBC,oEACS,SACD,UACP,sGfTqB,4FDTf,iBACF,cAAE,wHCQe,iBelBvB,8FAsEC,6BfpDsB,SelBvB,mBAsEC,oHAWC,ef/DqB,+Fe8DpB,uBf9DoB,mDelBvB,iBAwBC,qCAoFE,gDTyUgC,8FSrTjC,iBf9GqB,4NeqInB,mBfrImB,qIelBvB,wEAqKI,qDACA,8BfpJmB,qJelBvB,sEhBSQ,iBACA,qGgBcP,mCfNsB,iCAA2B,yGeMjD,sIACS,SACD,UACP,4GfTqB,wBelBvB,oEhBSQ,iBACF,cAAE,iICQ0C,iBelBlD,oGAsEC,6BfpDiD,SelBlD,mBAsEC,0HfpDsB,oHe8DpB,uBf9DoB,mDelBvB,iBAwBC,qCAoFE,gDTyUgC,oGSrTjC,iBf9GqB,2HAuBL,4JAvBlB,mZAAuB,kTgBpBH,eAOpB,oMhBaA,YAAuB,oCgBpBxB,kBAOC,gDAsFY,kTA7FQ,iBAOpB,gDAGE,wPhBUqB,kBgB2JtB,kTA/KmB,mBAOpB,4SAwKsB,WAEpB,iEAAmB,yGAwBlB,wJAIC,kBAAsB,0TA5BxB,wOAwBC,+TA1BmB,aAEpB,0WAgFC,0DAAmB,4GC9PrB,8DAFM,sBAGN,oCACU,kBACC,gBACE,gHAJb,oDAME,4vCARI,qDAGN,gMAHM,SAGN,mCAsBC,kPAtBD,yBAsBC,4JAeyB,WAxCpB,4JA4CoB,eA5CpB,4SAAP,YAAO,wYAGN,6BAA6B,mBAgF3B,kBAUC,iBAGE,gMAhGC,YAGN,iEAsBC,sJAzBF,ajB0CkB,2EAKJ,SkBjDf,mBlBqBwB,0OAAvB,uKkBrBsB,gBlBqBtB,oFkBDC,eAEC,8DlBDqB,oBkBrBxB,2EZkgByC,iBYrctC,kClBxCqB,iBkBrBxB,mBAmEG,kBlBvBgB,oEAKJ,kBmBjDf,8FAqFC,iCnBhEuB,4NmBoClB,oBnBpCkB,0BmBrBxB,iBAGE,kBA4DI,8BboZ8B,cACI,0Gc1JvC,SAnTA,oDACA,gCAIA,gJAIC,6BAhBF,kBAYC,kBAKC,8JAMS,cAvBX,0JA2BG,aA3BH,+EA4BiB,cACb,+ExBIkC,ewBjCtC,yExBiCE,qDwBOA,gFAxCF,cAgDG,8CApCF,sDAgCG,UACA,sBAMH,4JAKC,oIALD,SAUO,kBA7DR,sRA8DO,cA9DP,kEAmEI,gBAKF,iLAxEF,oBAmDC,gXAnDD,yBAmDC,sErBvCQ,kBACA,0GqBuEJ,mCA7EJ,CAPD,oDAuII,gBAQA,mBAED,0CArIF,gJAIC,QAhBF,wEA0KM,SAOF,wEACC,UAGD,gJArKF,sBAhBF,+JAuBW,gCAvBX,yEAqNM,aACA,sGAgCF,gGAtPJ,YAiOM,sDAzLJ,aA0MU,0BAEN,oIAjML,YAUU,uBA7DX,iBAmDC,sRAWM,yCA9DP,wIAmQG,gDpBvNgB,mJqB5ClB,0BrBqBA,cAAuB,cAA2B,SqBpB7C,kBACL,oBACQ,aACC,kBACU,iBAEnB,gDACA,2xBrBaA,qDAAuB,qBqBpBxB,snBrBoBC,0BAAuB,sEDTf,iBACA,qKCQR,yBAAuB,uEDTf,mBACA,2KCQR,sMAAuB,4QHkoMtB,CwB/iMD,yBhB3D4B,mOLxBL,eHyoMtB,CwBtjMD,yBhB3D4B,6MLxBL,2BqBmFvB,kChB3DK,CR2nMJ,CwB7jMK,mDAmBG,iBACP,UAAwB,uCrB1G1B,sBAAuB,+DAItB,aAAY,yBA0PZ,+DOnQO,aVyqMP,CUzqMkB,8DPWjB,gBAIc,yBAVO,8DOLf,gBVmrMP,CUnrMuB,yBPKD,mDAkBL,iBHkqMjB,CUzrMO,qDPKe,oDAuBL,+EAKM,WsBjDzB,8EtBqBwB,4DsBrBxB,qGAyEC,iEtBpDuB,iBsBrBxB,iHtBqBwB,6TsBrBxB,qBA6BC,uNtBRuB,gKsBrBxB,sBA6BC,+EAyCS,gBAKV,iKtBtDC,gCAAuB,mBsBsDxB,sGAWC,0CtBjEuB,UsBsDxB,uBAWE,WACA,kFAgCD,4GAUC,atB5GsB,6FsByGtB,gBtBzGsB,kFsB+GxB,sGAYG,8IjBnGG,cR0vMJ,CQ1vMI,yBiB4GL,6IjB5GK,eRgwMJ,CQhwMI,yBiB4GL,kIAFA,czB4pMC,CQtwMI,yBiB4GL,4GtBpIuB,mBHoyMtB,CGpyMsB,yBKwBlB,mHLxBkB,cH0yMtB,CyBxqMD,yBjB1GK,4GLxBkB,gBHgzMtB,CGhzMsB,yBKwBlB,+GLxBkB,kIKwBlB,gBiBsJL,iBzB2oMC,CyB3oMD,yFA6BE,iBtB3MqB,wFsBgNrB,iBtBhNqB,wIsBuMvB,wHtBvMuB,gCsBuMvB,8BAmCE,mBACC,iBACA,mBACM,QhBmO0B,yBgBhN9B,+GtBhQkB,wEKwBlB,2BRs0MJ,CyB3iMA,yBAKG,2OtBxTmB,uBKwBlB,gCiB2RJ,wBzBujMA,CyBviMG,yBAEA,oIApBH,4BAEA,qCzBikMA,CyBrhMI,yBAGS,qIAjDb,ezBykMA,CQl2MI,yBiB2RJ,4GtBnTsB,uFKwBlB,8DR02MJ,CQ12M2B,yGLxBL,yBAA2B,8GAA3B,yBAuBL,iOyBtBnB,iBzBDC,kHAAuB,iBAuBL,yFa5CnB,kCbqBwB,earBxB,gBAAkB,cAAkB,UAC5B,kBAEA,+FAgBP,mBbEuB,gGaLvB,oBb4BkB,+Ic5CnB,0BdqBC,cAAuB,mBcpBxB,gCAEC,6BAEA,mwBdgBA,qDAAuB,kmBAAvB,0BAAuB,sEDTf,iBACA,iKCQR,wCDRQ,wYCQR,yBAAuB,sEDTf,kBACA,6MCQe,+FDTf,kBACA,uNCQe,yBcpBxB,sEfWS,kBACA,yEAER,YeqCD,iCd/BwB,oEckCvB,cAGD,+IA1DA,8CdqBC,qBAAuB,sEM8rBa,gBQznBpC,oCdrEuB,acqEvB,eAGE,cAAe,wBAOd,0BAQa,yEAIM,YAmCrB,qDd9HsB,Cc+BxB,sEAiHG,YAMD,4EAKQ,kBAMR,kFdjKD,uBAAuB,gCyB4BvB,mBAGE,SACY,sDAEA,+EnB6pBkC,kBN/rBhD,qHAAuB,kByB2CvB,wBAGE,SACA,OAAS,kBACO,kDAEhB,kPzBlDF,4BAAuB,wSAAvB,gBAAuB,oByB8DvB,gRAME,uBACA,mBACA,mMzBtEF,8DAAuB,+EyBgF4D,kBzBhFnF,oNAAuB,sEyBwFvB,oJ1BhGA,imI0BwHG,wBAAuB,oE1BzHlB,iBACR,onE0BwHG,wBAAuB,oE1BzHlB,iBACR,+rE0BwHG,wBAAuB,oE1BzHlB,iBACR,uTCQuB,qiByBkJvB,sPzBlJuB,oEDRf,qvJ0BsLJ,0BAAuB,sE1BvLnB,iBACA,87E0BsLJ,0BAAuB,sE1BvLnB,iBACA,ygF0BsLJ,0BAAuB,sE1BvLnB,iBACA,2EAER,qDCMA,kEAAuB,2FAAvB,eAAuB,qEyBoMvB,kBAIC,oHzBxMsB,4EyBoMvB,kEAIC,UAOC,yOzB/MqB,mDAA4B,eyBoMnD,oHzBpMuB,iByBoMvB,qHzBpMuB,gHAAvB,qCAAuB,qIyBoMvB,+GzBpMA,kBAAuB,8HAuBL,sEAKJ,qDe9Cd,+BfkBuB,+IelBvB,sEhBSQ,iBACA,kHCQe,0BelBvB,sEhBSQ,iBACA,sKgBcP,mCfNsB,0IelBvB,kEAwBC,oEACS,SACR,UACA,kBAAsB,uGfTD,4FDTf,iBACR,cAAQ,yHCQe,iBelBvB,sGA6CG,oCA7CH,oEhBSQ,iBACR,kBAAQ,gEACR,wDgBoCsB,gEAElB,sDACW,0DACO,WAClB,YAAiB,+FAkBpB,6BfpDsB,SelBvB,mBAsEC,qHAWC,ef/DqB,gGe8DpB,uBf9DoB,mDelBvB,iBAwBC,qCAoFE,kDT6hBiC,+FSzgBlC,iBf9GqB,8NeqInB,mBfrImB,sIelBvB,yEAqKI,qDACA,8BfpJmB,sJelBvB,sEhBSQ,iBACA,wHCQe,0BelBvB,sEhBSQ,iBACA,4KgBcP,mCfNsB,0IelBH,kEAwBnB,oEACS,SACR,UACA,kBAAsB,6GfTD,wBelBvB,oEhBSQ,iBACR,cAAQ,kICQe,iBelBvB,4GfkBuB,oCelBvB,oEhBSQ,iBACR,kBAAQ,gEACR,wDgBoCsB,gEAElB,sDACW,0DACO,WAClB,YAAiB,qGAkBpB,6BfpDsB,SelBvB,mBAsEC,2HfpDsB,qHe8DpB,uBf9DoB,mDelBvB,iBAwBC,qCAoFE,kDT6hBiC,qGSzgBlC,iBf9GqB,4HAuBL,8JAvBlB,uZAAuB,uRgBpBH,mUAOpB,sMhBaA,mBAAuB,iCgBpBH,0BAOpB,gBA6DuB,kDAanB,kNhB7DmB,0BgBwBvB,kBAAkB,UAEjB,oBAIG,YACkB,kDAEA,oTArDF,iBAOpB,kDA6IC,8fhBhIsB,QgB2ItB,iQhB3IsB,kBgBpBxB,oTAAqB,mBAOpB,8SAwKsB,WAEpB,iEAAmB,yGAwBlB,wJAIC,iBAAgB,4TA9BU,eAE5B,6NAwBC,iUA1BmB,aAEpB,4WA8EyB,0DAEL,8GC9PrB,8DAFM,sBAGN,yBAAyC,kHADzC,oDAME,4wCARI,qDAGN,kMAHM,SAGN,mCAsBC,oPAtBD,yBAsBC,8JAeyB,WAxCpB,8JA4CoB,eA5CpB,gTAAP,aAAO,4YAGN,sCAgFE,mNAnFI,aAGN,mEAsBC,0HAvBD,YAA8B,6BAFxB,MAGN,wGAsJa,wJAzJd,ajB0CkB,4EAKJ,SkBjDf,mBlBqBwB,6OAAvB,yKkBrBsB,gBlBqBtB,qFkBDC,eAEC,+DlBDqB,qBkBrBxB,+EZmtB+C,cY7nB5C,qFA4CC,mClB7GoB,mBkBrBxB,kBAcC,2FA2GI,gClBpGmB,kBkB+DtB,oBAKE,YAaE,UACA,kBAAgB,kDAIf,2FAgBH,alBtGoB,0FkB0GpB,gBlB1GoB,yBkB+DtB,wHlB/DsB,aHggPtB,CqBh5OC,yBbxF0B,uHLxBL,gBHsgPtB,CQ9+OI,yBawF2B,4GlBhHT,cH4gPtB,CGr/OiB,qEAKJ,kBmBjDf,yFAqFC,uHnBhEuB,gGmB+DtB,kCnB/DsB,gCmBrBxB,4NnBqBwB,qImBLpB,8BnBKoB,mDmBrBxB,6HnBqBwB,kBKwBlB,+Bc8CJ,cAEE,4GC6NH,SAnTA,qDACA,gCAIA,kJAIC,6BAhBF,kBAYC,kBAKC,gKAMS,cAvBX,4JA2BG,aA3BH,gFA4BiB,cACb,gFxBIkC,ewBjCtC,0ExBiCE,qDwBOA,iFAxCF,cAgDG,8CAhD2B,uDA4C1B,UACA,sBAMH,8JAKC,sIALD,SAUO,kBA7DR,0RA8DO,cA9DP,mEAmEI,gBAKF,mLAxEF,oBAmDC,oXAnDD,yBAmDC,sErBvCQ,kBACA,oEAER,cqBoGE,kGAEC,4GAMA,4BApHH,cAPD,sDAkIc,iBASV,oBAMD,kJAjID,SAhBF,yEA6JM,SAoBF,yEACC,UAGD,kJArKF,sBAhBF,iKAuBW,gCAvBX,0EAqNM,aACA,uGAgCF,iGArBE,kJA9KL,YAUU,uBA7DX,iBAmDC,0RAWM,yCA9DP,0IAmQG,kDpBvNgB,qJqB5ClB,0BrBqBA,cAAuB,uBqBpBlB,kBACL,oBACQ,gBACC,kBAET,aACA,kBACA,iBAgCC,kDACA,qyBrBpBD,qDAAuB,qBqBpBxB,8nBrBoBC,0BAAuB,sEDTf,iBACF,uKCQN,yBAAuB,uEDTf,mBACA,6KCQR,wMAAuB,8YAAvB,cAAuB,uMAAvB,QAAuB,0BqBpBxB,SAAM,6BA+CJ,iCAE+B,sEAIlB,kIAEW,mKrBnCzB,oFAAuB,iPqBpBxB,yBA2DG,uOrBvCqB,cHm5PtB,CwBh0PD,yBhB3DK,qOLxBkB,eH05PtB,CwBv0PD,yBhB3DK,+MLxBkB,2BqBmFvB,kChB3DK,CR44PJ,CwB90PK,oDAmBG,iBACP,UAAwB,uCrB1G1B,sBAAuB,gEAItB,aAAY,yBA0PZ,gEOnQO,aV07PP,CU17PkB,+DPWjB,gBAIc,yBAVO,+DOLf,gBVo8PP,CUp8PuB,yBPKD,oDAkBL,iBHm7PjB,CU18PO,sDPKe,oDAuBL,gFAKM,WsBjDzB,8EtBqBwB,4DsBrBxB,sGAyEC,iEtBpDuB,gBsBrBxB,kHtBqBwB,+TsBrBxB,oBA6BC,+GtBRuB,gCsBrBxB,sBA6BC,gFAyCS,gBAKV,mKtBtDC,gCAAuB,mBsBsDxB,uGAWC,0CtBjEuB,UsBsDxB,qBAA2B,UAYzB,mFAgCD,6GAUC,atB5GsB,8FsByGtB,gBtBzGsB,mFsB+GxB,yCtB/GwB,+IKwBlB,cRmgQJ,CQngQI,yBiB4GL,8IjB5GK,eRygQJ,CQzgQI,yBiB4GL,mItBpIuB,cHuiQtB,CQ/gQI,yBiB4GL,6GtBpIuB,mBH6iQtB,CG7iQsB,yBKwBlB,oHLxBkB,cHmjQtB,CGnjQsB,yBKwBlB,6GLxBkB,gBHyjQtB,CGzjQsB,yBKwBlB,gHLxBkB,kIKwBlB,gBRyiQJ,CyBn5PD,gFAoBC,gDA5IF,CtBtDwB,mFsBwatB,+IADC,iEA3CF,oCAQG,WAAmB,6BACN,iBACb,yGtBtYoB,6CsB2ZpB,uOtB3ZoB,kCsB4XvB,8BA+BG,yBAQU,gHtBnaU,4DsB0atB,ezBksPA,CQplQI,yBiBoZJ,qJjBpZI,gDR2lQJ,CyBvsPA,yBAWC,6GtBvbqB,uFKwBlB,sFRomQJ,CyB59PD,0GtBhKuB,iKsBQvB,oCAkdE,oDZ7dc,yCTJjB,0BDEiB,CCAhB,yCAGD,YAAuB,eACP,cAUhB,6CQ/BA,kBACQ,oGAGY,yBAEpB,WACA,gDAcC,uBACA,gCRWA,SAFD,UAAuB,eKmBH,kBGlCnB,sBHkCmB,CGjCnB,2CRcD,cQtBQ,2FAwER,0BRlDA,kBDdC,oFSuED,gCRzDA,oDQ0DC,wBHzCoB,kGLjBrB,kFQiEE,oDRjEF,gBQ0EC,yBAGD,yCACC,cZ8nQC,CY7nQD,0CR/ED,2BQkFC,gCR9ED,2BQnCA,kBACQ,oGAGY,yBAEpB,WACA,iDAuBC,uBACA,gCRMA,SAFD,UAAwB,eKeJ,kBGlCnB,sBHkCmB,CGjCnB,4CRkBD,cJ0uQA,6FY5rQA,0BR9CwB,kBDlBvB,sFSuED,gCRrDA,oDQsDC,wBHzCoB,oGLbrB,sEAAwB,aQ6DtB,qDR7DF,gBQsEC,yBAGD,0CACC,cZksQC,CYjsQD,2CR3ED,2BQ8EC,gCR1ED,2BQvCA,kBACQ,oGAGY,yBAEpB,WACA,kDAgCC,WAAgB,YAChB,gCRCA,SAFD,UAAyB,eKWL,kBGlCnB,sBHkCuB,CGjCb,6CRsBX,cJ0yQA,+FYhwQA,0BAAE,kBThED,wFSuED,gCRjDA,oDQkDC,wBHzCoB,sGLTrB,uEQiDG,aAQD,sDRzDF,gBQkEC,yBAGD,2CACC,cZswQC,CYrwQD,4CRvED,2BQ0EC,gCRtED,2BQ3CA,kBACQ,oGAGY,yBAEpB,WACA,mDAyCC,WCpBS,0BDqBT,kBRJA,SAFD,UAA0B,eKON,kBGlCnB,YACA,WAAY,8CR0Bb,cJ02QA,iGGp4QiB,YC0BjB,cQsCE,kBThED,0FSuED,gCR7CA,oDQ8CC,wBHzCoB,wGLLrB,wEQ6CI,aAQF,uDAQD,gBACA,yBTxFgB,4CS4FhB,cZ00QC,CYz0QD,4CRnED,2BQsEC,gCRlED,2BQ/CA,kBACQ,oGAGY,yBAEpB,WACA,mDAkDC,WCrCQ,0BDsCR,kBRTA,SAFD,UAA0B,eKGN,kBGlCnB,uBACY,sBACZ,mDA4CC,oDACY,sFACoB,8CAGhC,cAAW,iGTlDI,YC8BjB,cQkCE,kBThED,0FSuED,gCRzCA,oDQ0CC,wBHzCoB,wGLDrB,wEQyCI,aAQF,uDRjDwB,gBQ0DzB,yBTxFgB,4CS4FhB,cZm5QC,CYl5QD,yCR/DD,2BQkEC,cTpEE,oEAKA,gB0BjDH,kC1BqBiB,iB0BrBjB,gBACC,yBAEA,iG1BkBgB,gBHoiRf,CG7gRC,uEAKY,gB2BjDf,mB3BqBiB,eAAwB,iB2BrBzC,gBACC,yBAEA,oG3BkBgB,gBHwlRf,CGjkRC,mEAKA,SAAY,yI4BjDf,UAAyB,wB5BqBxB,CAAgB,sE4Bff,cAGD,kFAUC,8F5BED,gBAuBE,2DAKA,qDAAY,kBe9Cd,afkBgB,oIelBhB,sEhBSQ,iBACF,qFgBcL,mCfNe,0IelBhB,kEAwBC,oEACS,SACR,UACA,4FAyCA,kFflDc,UDTR,iBACR,cAAQ,8GCQQ,iBelBhB,oFAsEC,6BfpDe,SelBhB,mBAsEC,0GAWC,ef/Dc,qFe8Db,0Cf9Da,gCelBhB,iBAAiB,mBAwBhB,gDAoFE,oFAoBD,iBf9Gc,4FeoHb,oBfpHa,sFeqIZ,mBfrIY,4FeqJb,8BfrJa,CAuBd,yHAvBsC,WcrBzC,6BdqBiB,mBAAwB,ScpBzC,uBACY,qpBADZ,qCdoBC,gBAAgB,0gBcpBjB,sFdoBC,UDTQ,iBACF,2IebU,uCdqBhB,CDRQ,4VCQR,yBAAgB,sEDTR,kBACA,uLCQR,yBAAgB,sEDTR,kBACA,iMCQQ,yBcpBjB,sEfWS,kBACA,8DekCc,6BAKvB,gBd/BiB,yDciChB,cACM,yHdlCkC,iBcrBzC,gDA0FC,yHRA+B,YQsD5B,iBAGF,kCd9He,Cc+BjB,2DRsCgC,YN9C7B,mEAKA,gB6BjDH,kB7BqBiB,6F6B6DhB,wB7B7DgB,iB6BrBjB,gBAIE,yY7BiBe,qD6BrBjB,qBAIE,mL7BiBD,aAAgB,gBAAwB,e6BrBzC,iBAuDE,gBAAM,yBAWJ,0HAkBH,mDhCk6RC,CQz8RI,yBwByCL,wK7BjEgB,e6B+DhB,iFxBvCK,CRk9RJ,CgCz6RD,yCAWa,iBACE,UACb,SAAiB,oD7B9EH,qDAGf,aACA,yBA0PA,qDAvPa,aHo/Rb,CUhgSO,oDPKQ,gBAUb,yBAIF,oDACc,gBHs/Rd,CU1gSO,yBPmBP,yCAIE,iBHy/RF,CUhhSD,2CPKgB,oDAuBd,+HqB5CF,wCrBqBgB,uBqBpBX,kBACL,oBACQ,aACD,iCAGP,gDACA,urBAKC,qCrBQD,gBAAgB,qBqBpBjB,siBAqBE,sFrBDe,UDTR,iBACF,iJsBcL,oFrBNe,YDTR,mBACA,uJsBkBP,arBVD,qJqBcC,gBrBdD,yBAAgB,+NHolSf,CwBjgSD,yBhB3DK,+MLxBW,eH2lSf,CwBxgSD,yBhB3DK,yLLxBL,WAAgB,gBqBmFhB,kChB3DK,CR6kSJ,CG9kSC,oEAKA,gB0BjDH,kC1BqBiB,iB0BrBjB,gBACC,yBAEA,iG1BkBgB,gBHypSf,CGloSC,uEAKY,gB2BjDf,mB3BqBiB,eAAwB,iB2BrBzC,gBACC,yBAEA,oG3BkBgB,gBH6sSf,CGtrSC,mEAKA,SAAY,yI4BjDf,UAAyB,wB5BqBxB,CAAgB,sE4Bff,cAGD,kFAUC,8FALC,gB5B8BA,2DAKA,qDAAY,kBe9Cd,afkBgB,oIelBhB,sEhBSQ,iBACF,qFgBcL,mCfNe,0IelBhB,kEAwBC,oEACS,SACR,UACA,4FAyCA,kFflDc,UDTR,iBACR,cAAQ,8GCQQ,iBelBhB,oFAsEC,6BfpDe,SelBhB,mBAsEC,0GAWC,ef/Dc,qFe8Db,0Cf9Da,gCelBhB,2DAwBC,oFAwGC,iBf9Gc,4FeoHb,sBfpHa,sFeqIZ,mBfrIY,4FeqJb,8BfrJa,CAuBd,yHAvBsC,WcrBzC,6BdqBiB,mBAAwB,ScpBzC,uBACY,qpBADZ,qCdoBC,gBAAgB,0gBcpBjB,sFdoBC,UDTQ,iBACF,2IebU,uCdqBhB,CDRQ,4VCQR,yBAAgB,sEDTR,kBACA,uLCQR,yBAAgB,sEDTR,kBACA,iMCQQ,yBcpBjB,sEfWS,kBACA,8DekCc,6BAKvB,gBd/BiB,yDciChB,cACM,yHdlCkC,iBcrBzC,kDdqBiB,2DciEd,sBAIF,gBdrEgB,8DcmHP,aAQN,gBAGF,2DASQ,YdhHP,mEAKA,gB6BjDH,kB7BqBiB,6F6B6DhB,wB7B7DgB,iB6BrBjB,gBAIE,yY7BiBe,qD6BrBjB,qBAIE,mL7BiBD,aAAgB,gBAAwB,e6BrBzC,iBAuDE,gBAAM,yBAWJ,0HAkBH,mDhCmhTC,CQ1jTI,yBwByCL,wK7BjEgB,e6B+DhB,iFxBvCK,CRmkTJ,CgC1hTD,yCAWa,iBACE,UACb,SAAiB,oD7B9EH,qDAGf,aACA,yBA0PA,qDAvPa,aHqmTb,CUjnTO,oDPKQ,gBAUb,yBAIF,oDACc,gBHumTd,CU3nTO,yBPmBP,yCAIE,iBH0mTF,CUjoTD,2CPKgB,oDAuBd,+HqB5CF,wCrBqBgB,uBqBpBX,kBACL,oBACQ,aACD,iCAGP,kDACA,urBAKC,qCrBQD,gBAAgB,qBqBpBjB,siBAqBE,sFrBDe,UDTR,iBACF,iJsBcL,oFrBNe,YDTR,mBACA,uJsBkBP,arBVD,qJqBcC,gBrBdD,yBAAgB,+NHqsTf,CwBlnTD,yBhB3DK,+MLxBW,eH4sTf,CwBznTD,yBhB3DK,yLLxBL,WAAgB,gBqBmFhB,kChB3DK,CR8rTJ,CG/rTC,uEAKY,gB0BjDf,mB1BqBiB,gC0BrBjB,gBACC,yBAEA,oG1BkBgB,gBH0wTf,CGnvTC,0EAKY,gB2BjDf,mB3BqBiB,eAA2B,iB2BrB5C,gBACC,yBAEA,uG3BkBgB,gBH8zTf,CGvyTC,sEAKY,wJ4BjDf,mB5BqBC,gBAAgB,yE4Bff,cAGD,qFAUC,a5BEe,oF4BLf,gB5B4BC,8DAKA,qDAAY,kBe9Cd,afkBgB,uIelBhB,sEhBSQ,iBACF,wFgBcL,mCfNe,0IelBhB,kEAwBC,oEACS,SACR,UACA,+FAyCA,kFflDc,UDTR,iBACR,cAAQ,iHCQQ,iBelBhB,uFAsEC,6BfpDe,SelBhB,mBAsEC,6GAWC,ef/Dc,wFe8Db,uBf9Da,mDelBhB,iBAAiB,mBAwBhB,8CT6ZsC,oBSxU3B,uFAmBV,iBf9Gc,+FeoHb,sBfpHa,yFeqIZ,mBfrIY,+FeqJb,8BfrJa,CAuBd,+Hc5CH,wCdqBiB,mBAA2B,ScpB5C,uBACY,mrBAeV,qCdID,gBAAgB,kiBcpBjB,sFdoBiB,UDTR,iBACF,iJeiBL,uCdTD,CDRQ,wWCQR,yBAAgB,sEDTR,kBACA,6LCQR,yBAAgB,sEDTR,kBACA,uMCQQ,yBcpBjB,sEfWS,kBACA,iEAER,YAAc,iBeqCf,gBd/BiB,4DciCJ,cACJ,+HAvDT,6CdqBC,oBcqEA,+HAkDG,6BAOF,oCd9He,Cc+BjB,8DRuXyC,YN/XtC,sEAKY,gB6BjDf,kB7BqBiB,gG6B6DhB,wB7B7DgB,iB6BrBjB,gBAIO,qZ7BiBU,qD6BrBjB,qBAIE,yL7BiBD,aAAgB,gBAA2B,e6BrB5C,iBAuDE,gBAAwB,yBAWtB,6HAkBH,mDhCyoUC,CQhrUI,yBwByCL,mG7BjEgB,uF6B+DhB,iFxBvCK,CRyrUJ,CgChpUD,4CAWiB,iBACF,mBAGd,oD7BhFe,wDAGT,aACI,yBA0PV,wDOnQD,aVuuUC,CUvuUO,uDPWN,gBAIC,yBAVa,uDOLhB,gBVivUC,CUjvUgB,yBPKD,4CAkBb,iBHguUF,CUvvUK,8CPKU,oDAuBd,qIqB5CF,WAAkB,6BrBqBF,uBqBpBX,kBACL,oBACQ,aACD,mCAGP,gDACA,qtBAKC,qCrBQD,gBAAgB,qBqBpBjB,8jBAqBE,sFrBDe,UDTR,iBACF,uJsBcL,oFrBNe,YDTR,mBACA,6JCQR,wKqBcY,gBrBdZ,yBAAgB,qOH2zUf,CwBxuUD,yBhB3DK,qNLxBW,eHk0Uf,CwB/uUD,yBhB3DK,+LLxBW,2BqBmFhB,kChB3DK,CRozUJ,CGrzUO,wEAKM,gB0BjDf,mB1BqBiB,gC0BrBjB,gBACC,yBAEA,qG1BkBgB,gBHg4Uf,CGz2UO,2EAKM,gB2BjDf,mB3BqBiB,eAA4B,iB2BrB7C,gBACC,yBAEA,wG3BkBgB,gBHo7Uf,CG75UO,uEAKM,SAAU,iJ4BjDzB,mB5BqBC,gBAAgB,0E4Bff,cAGD,sFAUC,a5BEe,qF4BLf,gB5B4BO,+DAKN,qDAAY,kBe9Cd,ahBUM,yNCQU,0BelBhB,sEhBSQ,iBACF,iLAAE,yFgBcP,mCfNe,0IelBhB,kEAwBC,oEACS,SACR,UACA,kBAAgB,gGAyChB,kFflDc,UDTR,iBACR,cAAQ,kHCQQ,iBelBhB,+FA6CG,oCA7CH,oEhBSQ,iBACR,kBAAQ,gEACR,wDgBoCqB,gEAEjB,sDACW,0DACO,WAClB,YAAiB,wFAkBpB,6BfpDe,SelBhB,mBAsEC,8GAWC,ef/Dc,yFe8Db,uBf9Da,mDelBhB,iBAAiB,mBAwBhB,+CTinBuC,qBAAJ,wFSzgBlC,iBf9Gc,gGeoHb,sBfpHa,0FeqIZ,mBfrIY,gGeqJb,8BfrJa,CAuBR,iIc5CT,wCdqBiB,mBAA4B,ScpB7C,uBACY,6BAEG,6rBAab,qCdID,gBAAgB,0iBcpBjB,sFdoBiB,UDTR,iBACF,mJeiBL,uCdTD,CDRQ,4WCQR,yBAAgB,sEDTR,kBACA,+LCQQ,+FDTR,kBACA,yMCQQ,yBcpBjB,sEfWS,kBACA,kEAER,YegCmB,iBAKpB,gBd/BiB,6DciCJ,cACJ,iIAvDT,8CdqBC,qBAAgB,+DciEd,iCAIF,+CAAiB,cAGF,wBAOZ,0BAQY,kEAIZ,6BAmCF,oCd9He,Cc+BjB,+DAiHG,iFAWA,kBgB/HF,2EACW,YAYV,yB9BzCe,kB8B4BhB,mBAAuB,SAIT,sDAEA,yExB6pB2B,kBwBppBzC,U9B3CgB,2F8BoDf,+C9BpDe,mB8B2ChB,kOAQE,8D/B3DF,ke+BqEA,wBAGG,oE/BzEK,iBACR,0P+BqEA,wBAGG,oE/BzEK,iBACR,oQ+BqEA,wBAGG,oE/BzEK,iBACR,kSCQgB,ySDRV,0jB+BsHL,0BAGG,sE/B1HI,iBACF,sS+BsHL,0BAGG,sE/B1HI,iBACF,gT+BsHL,0BAGG,sE/B1HI,iBCgCA,uEAKM,gB6BjDf,kB7BqBiB,0I6BrBjB,gBAIO,yZ7BiBU,qD6BrBjB,qBAIE,2L7BiBD,aAAgB,gBAA4B,e6BrB7C,iBAuDE,gBAAyB,yBAWvB,8HAkBH,mDhCw4VC,CQ/6VI,yBwByCL,oG7BjEgB,uF6B+DhB,iFxBvCK,CRw7VJ,CgC/4VD,6CAYE,iBAAa,mBvBrEL,8BNRV,sBAAgB,yDAGP,aACI,yBA0PZ,yDOnQD,aVs+VC,CUt+VO,wDPWN,gBAIC,yBAVa,wDOLhB,gBVg/VC,CUh/VgB,yBPKD,6CAkBb,iBH+9VF,CUt/VO,+CPKQ,oDAuBR,uIqB5CR,0BrBqBA,cAAgB,uBqBpBX,kBACL,oBACQ,gBACC,kBAET,aACA,kBACA,iBAgCC,kDACA,+tBA5BA,qCrBQD,gBAAgB,qBqBpBjB,skBAqBE,sFrBDe,UDTR,iBACF,yJsBcL,oFrBNe,YDTR,mBACA,+JCQR,0LAAgB,kXAAhB,cAAgB,yLAAhB,QAAgB,0BqBpBjB,SAAM,6BA+CJ,iCAE+B,sEAIlB,kIAEW,qJAIvB,oFrBvCc,mOqBpBjB,yBA2DG,yNrBvCc,cH2lWf,CwBxgWD,yBhB3DK,uNLxBW,eHkmWf,CwB/gWD,yBhB3DK,iMLxBW,2BqBmFhB,kChB3DK,CRolWJ,CwBthWK,yCAkBO,gBACF,oDU5HX,eACA,YzBgE8B,yCyB7D/B,iBAGE,UAAe,SACP,oD/BWO,qDAGf,aACA,yBA0PA,qDAvPa,aH+nWb,CU3oWO,oDPKQ,gBAUb,yBAIF,oDACc,gBHioWd,CUrpWO,yBPmBP,yCAIE,iBHooWF,CU3pWD,2CPKgB,oDAuBd,yMAWA,gBAlCF,0OAsCI,gBAtCJ,wIA2CE,mBA3CF,iBAAgB,oBA4Cd,sFAKC,kBAGD,uEACC,kBAGD,iEACC,WMR2B,uBNW5B,UA5Dc,8EAgEN,eAUP,4BA1Ea,SAAwB,UA4DtC,mEAWE,cAEA,yeAGF,UAGqB,kBA/EP,6jBAAhB,mkBAuFgB,gBAvFhB,oaA4EE,kCA5EF,CAAgB,qEA8FZ,gBAGD,mBAjGa,+EAmGG,aAGhB,8EACW,gBAGX,mEACC,kBAIF,gBA/Gc,sEAiHb,qBAiBA,wBAlIa,SA+Gd,+FASc,aAGb,8EACW,gBAGX,kEACC,cAAgB,oEAKjB,cA+BA,mBApKa,qSA8IX,sBA9IW,6DAoId,sOApIc,UDTR,iBACF,qJCmKD,oFA3JW,WDTR,kBACA,2EAER,cCsKI,yBAhKY,iVHs0Wf,CGhqWE,yBK9IE,gSLxBL,gBH80WC,CG90We,yBKwBX,4GLxBW,aHo1Wf,CG9qWE,yBK9IE,2GLxBW,gBH01Wf,CGprWE,yBK9IyB,gGLgKzB,cHwqWF,CGh2We,yBKwBX,mGLxBW,eHs2Wf,CGt2We,yBKwBX,4GLxBW,aH42Wf,CGtsWE,yBK9IE,2GLxBW,gBHk3Wf,CG5sWE,yBK9IyB,gGLqLzB,kBH2qWF,CGx3We,yBKwBX,kPL8IF,kBHytWF,CQv2WI,yBLiND,0HAnED,cH+tWF,CQ72WI,8DL2NuB,cAGd,UgC3Qf,8EAEQ,SACD,kBAgCN,iBhCdgB,2FgCVhB,2DhCUgB,CgCVhB,gGAQC,+BhCEe,CgCrBjB,kGhCqBiB,0BgCrBjB,0BAqBC,4BAEI,yBAEa,2FAcjB,cnCy5WC,CG36We,yBKwBX,wHLxBW,oBHi7Wf,CQz5WI,yB2BNL,0Q3BMK,c2BQJ,kEAEA,kBnCy5WA,CmCt5WC,yBAGS,qJ3BhBiB,0E2BQ3B,oBAEA,wCnCi6WA,CmC/4WI,yBACO,gJ3B7BP,iB2BQJ,gBnC06WA,CmCx6WA,yBAaC,mHhC/Cc,qDKwBX,sG2BQJ,mBAEA,kBnCk7WA,CmCn5WW,4DAGK,cACD,oB7BxFjB,0NAKW,oBHcM,yPGnBjB,sEJUS,iBACF,iOCQU,sEGXhB,oLHWgB,2GG+BhB,0BH/BgB,oBGnBjB,qDAkDC,kBAA2B,YAE1B,iBACA,mBAAgB,gDAEhB,sFAwDD,uBH5FgB,6BGnBjB,4BA+G0B,sBGvCK,wBH0CX,iOH/FH,gBGnBjB,iBA+GC,6KH5FA,WAAgB,iEGnBjB,yGAwKC,sIG7F8B,oCHiGb,gDACG,+NH1JJ,iBGnBjB,4FA+MK,YJpMI,yLCQQ,wBGnBjB,oEJUS,iBACR,cAAQ,oGI2OR,kFHnOgB,wEGqOf,aAGD,uEACC,gBAGD,mHH5OgB,YGnBjB,qHHmBiB,YGnBjB,gKHmBC,gBAAgB,wKGnBjB,yGAuTE,kEAEA,oEACQ,aACE,yIA3TZ,gBAsWQ,2NHnVS,aGnBjB,yBA6WG,qGH1Vc,aHsmXf,CGtmXe,yBKwBX,oGLxBW,gBH4mXf,CG5mXe,yBKwBX,yFF+WL,cN2uWC,CGlnXe,yBKwBX,qKFoYJ,CN6tWA,CM7tWA,yBAEkB,2UAFlB,cAEA,UNmuWA,CMnuWA,yBAUC,2IEhZG,uBFoYJ,CN4uWA,CM5uWA,yBAEA,mSEtYI,eRunXJ,CMnvWA,yBAEA,yUAFA,iBN0vWA,CMxvWA,yBA4EC,uREldG,uBFoYJ,kBAEA,aNkwWA,CMtrWC,yBAgDE,0IElgBC,gFR+oXJ,CM3wWA,yBAEA,iYA8IE,gBNkoWF,CM31WM,yBA4NJ,6JAnJF,kENyxWA,CMvxWA,yBAiLmB,sLAjLnB,mBN8xWA,CM7mWE,yBAUA,kKA7LF,qDNsyWA,CMpyWA,yBAkOE,iHHhoBa,iBKwBX,mFFoYJ,CN+yWA,CM7yWA,+HkBnbD,wCrBqBgB,uBqBpBX,kBACL,oBACQ,aACD,iCAGP,gDACA,urBAKC,qCrBQD,gBAAgB,qBqBpBjB,siBAqBE,sFrBDe,UDTR,iBACF,iJsBcL,oFrBNe,YDTR,mBACA,uJsBkBP,arBVD,qJqBcC,gBrBdD,yBAAgB,+NHgxXf,CwB7rXD,yBhB3DK,+MLxBW,eHuxXf,CwBpsXD,yBhB3DK,yLLxBL,WAAgB,gBqBmFhB,kChB3DK,CRywXJ,CwB3sXK,kEAoBJ,cAED,8EfnGgB,a2BlBjB,6EANC,gBAGD,4DAAC,qDACA,sIjCWe,iBiCPjB,mBA4DW,sFAgDV,gBjCrGgB,yBiCPjB,sFAqGC,gBpCiuXC,CG/zXe,mEiCkGd,YAAmB,iBAKtB,wBjCvGiB,SiCuGjB,yBACO,mEAaL,SAAQ,UAIV,SAEC,kBAEA,mGjC7HgB,oKiCwJjB,kBjCxJC,oyBAAgB,8wBAAhB,gBAAgB,oEiCqKd,oBAKH,2BjC1KiB,gBiC0KjB,iBAA2B,gF3BpGS,e2BoLnC,kEAVI,gBAsCJ,uEAKG,aAaH,+EACU,4FAoCT,gBjC7Ue,oEiCoTZ,sBAsBH,yBjC1Ue,wHH25Xf,CG35XuC,yBKwBnC,0GLxBW,gBHi6Xf,CoCjlXD,yB5BxT4B,+F4B0T5B,cpCqlXC,CGv6Xe,yBKwBX,yF4B+UL,cpCskXC,CG76Xe,yBKwBX,iGLxBW,8DHo7Xf,CoCpmXD,yB5BxT4B,+F4B6Z3B,kEArGD,mBpC4mXC,CQp6XI,yB4B6ZJ,+H5B7ZI,iBR06XJ,CQ16XI,yB4BobJ,oGjC5ce,mDiCgVhB,6CpC0nXC,CQl7XI,yB4BobJ,kGjC5ce,qDHg9Xf,CGh9Xe,yBKwBX,yHLxBmC,cKwBnC,8BRg8XJ,CoCv+WA,yBAEG,uHjCnfY,kBH89Xf,CQt8XI,yB4BsfJ,iHjC9gBe,mBHo+Xf,CQ58XI,yC4BsfoB,iBASxB,UAGE,SAAY,oDjC1hBC,qDAGf,aACA,yBA0PA,qDAvPa,aH8+Xb,CU1/XO,oDPKQ,gBAUb,yBAIF,oDACc,gBHg/Xd,CUpgYO,yBPmBP,yCAIE,iBHm/XF,CU1gYD,2CPKgB,oDAuBd,yMAWA,gBAlCF,0OAsCI,gBAtCJ,wIA2CE,mBA3CF,iBAAgB,oBA4Cd,sFAKC,kBAGD,uEACC,kBAGD,iEACC,WMR2B,uBNW5B,UA5Dc,8EAgEN,eAUP,4BA1Ea,SAAwB,UA4DtC,mEAWE,cAvEJ,yeA4EE,UAGqB,kBA/EP,6jBAAhB,mkBAuFgB,gBAvFhB,oaA4EE,kCA5EF,CAAgB,qEA8FZ,gBAGD,mBAjGa,+EAmGG,aAGhB,8EACW,gBAGX,mEACC,kBAIF,gBA/Gc,sEAiHb,qBAiBA,wBAlIa,SA+Gd,+FASc,aAGb,8EACW,gBAGX,kEACC,cAAgB,oEAKjB,cA+BA,mBApKa,qSA8IX,sBA9IW,6DAoId,sOApIc,UDTR,iBACF,qJCmKD,oFA3JW,WDTR,kBACA,2EAER,cCsKI,yBAhKY,iVHqrYf,CG/gYE,yBK9IE,gSLxBL,gBH6rYC,CG7rYe,yBKwBX,4GLxBW,aHmsYf,CG7hYE,yBK9IE,2GLxBW,gBHysYf,CGniYE,yBK9IyB,gGLgKzB,cHuhYF,CG/sYe,yBKwBX,mGLxBW,eHqtYf,CGrtYe,yBKwBX,4GLxBW,aH2tYf,CGrjYE,yBK9IE,2GLxBW,gBHiuYf,CG3jYE,yBK9IyB,gGLqLzB,kBH0hYF,CGvuYe,yBKwBX,kPL8IF,kBHwkYF,CQttYI,yBLiND,0HAnED,cH8kYF,CQ5tYI,8DL2NuB,cAGd,UgC3Qf,8EAEQ,SACD,kBAgCN,iBhCdgB,2FgCVhB,2DhCUgB,CgCVhB,gGAQC,+BhCEe,CgCrBjB,kGhCqBiB,0BgCrBjB,0BAqBC,4BAEK,yBAEY,2FAcjB,cnCwwYC,CG1xYe,yBKwBX,wHLxBW,oBHgyYf,CQxwYI,yB2BNL,0Q3BMK,c2BQJ,kEAEA,kBnCwwYA,CmCrwYC,yBAGS,qJ3BhBiB,0E2BQ3B,oBAEA,wCnCgxYA,CmC9vYI,yBACO,gJ3B7BP,iB2BQJ,gBnCyxYA,CmCvxYA,yBAaC,mHhC/Cc,qDKwBX,sG2BQJ,mBAEA,kBnCiyYA,CmClwYW,4DAGK,cACD,oB7BxFjB,0NAKW,oBHcM,yPGnBjB,sEJUS,iBACF,iOCQU,sEGXhB,oLHWgB,2GG+BhB,0BH/BgB,oBGnBjB,qDAkDC,kBAA0B,aAEzB,kDACA,sFA0DD,uBH5FgB,6BGnBjB,4BA+G2B,sBGvCI,wBH0CX,iOH/FH,gBGnBjB,iBA+GC,6KH5FA,WAAgB,iEGnBjB,yGAwKC,sIG7F8B,kDHiG7B,+NHzJe,iBGnBjB,4FA+MK,YJpMI,yLCQQ,wBGnBjB,oEJUS,iBACR,cAAQ,oGI2OR,kFHnOgB,wEGqOf,aAGD,uEACC,gBAGD,mHH5OgB,YGnBjB,qHHmBiB,YGnBjB,gKHmBC,gBAAgB,wKGnBjB,yGAuTE,kEAEA,oEACQ,aACE,yIA3TZ,gBAsWQ,2NHnVS,aGnBjB,yBA6WG,qGH1Vc,aHi9Yf,CGj9Ye,yBKwBX,oGLxBW,gBHu9Yf,CGv9Ye,yBKwBX,yFF+WL,cNslYC,CG79Ye,yBKwBX,qKFoYJ,CNwkYA,CMxkYA,yBAEkB,2UAFlB,cAEA,UN8kYA,CM9kYA,yBAUC,2IEhZG,uBFoYJ,CNulYA,CMvlYA,yBAEA,mSEtYI,eRk+YJ,CM9lYA,yBAEA,yUAFA,iBNqmYA,CMnmYA,yBA4EC,uREldG,uBFoYJ,kBAEA,aN6mYA,CMjiYC,yBAgDE,0IElgBC,gFR0/YJ,CMtnYA,yBAEA,iYAAkB,gBN2nYlB,CMtsYM,yBA4NJ,6JAnJF,kENooYA,CMloYA,yBAiLmB,sLAjLnB,oBNyoYA,CMx9XE,yBAUA,kKA7LF,qDNipYA,CM/oYA,yBAkOE,iHHhoBa,iBKwBX,mFFoYJ,CN0pYA,CMxpYA,+HkBnbD,wCrBqBgB,uBqBpBX,kBACL,oBACQ,aACD,iCAGP,kDACA,urBAKC,qCrBQD,gBAAgB,qBqBpBjB,siBAqBE,sFrBDe,UDTR,iBACF,iJsBcL,oFrBNe,YDTR,mBACA,uJsBkBP,arBVD,qJqBcC,gBrBdD,yBAAgB,+NH2nZf,CwBxiZD,yBhB3DK,+MLxBW,eHkoZf,CwB/iZD,yBhB3DK,yLLxBL,WAAgB,gBqBmFhB,kChB3DK,CRonZJ,CwBtjZK,kEAoBJ,cAED,8EfnGgB,a2BlBjB,6EANC,gBAGD,4DAAC,qDACA,uIjCWe,eiCPjB,sFA4GC,gBjCrGgB,yBiCPjB,sFAqGC,gBpC2kZC,CGzqZe,mEiCkGd,YAAmB,iBAKtB,wBjCvGiB,SiCuGjB,yBACO,mEAaL,SAAQ,UAIV,SAEC,kBAEA,mGjC7HgB,oKiCwJjB,kBjCxJC,oyBAAgB,8wBAAhB,gBAAgB,oEiCqKd,oBAKH,2BjC1KiB,gBiC0KjB,iBAA0B,gF3BqFS,e2BLlC,kEAVI,gBAsCJ,uEAKG,aAaH,+EACU,4FAoCT,gBjC7Ue,oEiCoTZ,sBAsBH,yBjC1Ue,wHHqwZf,CoCr7YD,yB5BxTK,0GLxBW,gBH2wZf,CoC37YD,yB5BxT4B,+F4B0T5B,cpC+7YC,CGjxZe,yBKwBX,yF4B+UL,cpCg7YC,CGvxZe,yBKwBX,iGLxBW,8DH8xZf,CoC98YD,yB5BxT4B,+F4B6Z3B,kEjCrbuC,mBHsyZvC,CQ9wZI,yB4B6ZJ,+H5B7ZI,iBRoxZJ,CQpxZI,yB4BobJ,oGjC5ce,mDiCgVhB,6CpCo+YC,CQ5xZI,yB4BobJ,kGjC5ce,qDH0zZf,CG1zZe,yBKwBX,yH4BwTL,2B5BxTK,iBR0yZJ,CoCj1YA,yBAEG,uHjCnfY,kBHw0Zf,CQhzZI,yB4BsfJ,iHjC9gBe,mBH80Zf,CQtzZI,4C4B+fJ,iBAGE,UAAU,SAEX,oDjC5hBc,wDAGT,aACI,yBA0PV,wDOnQD,aVo2ZC,CUp2ZO,uDPWN,gBAIC,yBAVa,uDOLhB,gBV82ZC,CU92ZgB,yBPKD,4CAkBb,iBH61ZF,CUp3ZK,8CPKU,oDAuBd,kNAWA,gBAlCF,mPAsCI,gBAtCJ,8IA2CE,mBA3CF,iBAAgB,oBA4Cd,yFAKC,kBAGD,0EACY,kBAGZ,oEACC,WMR2B,uBNW5B,UA5Dc,iFAiEb,eASA,4BA1Ea,SAA2B,UA4DzC,sEAWW,cAKX,yhBA5EF,CAAgB,klBAAhB,aAAgB,2kBAAhB,gBAAgB,sbA4Ed,kCA5EF,CAAgB,wEA8FZ,gBAGD,mBAjGa,kFAsGb,8FAtGH,gBAAgB,sEA2GZ,kBAIF,gBA/Gc,yEAiHb,qBAiBA,wBAlIa,SA+Gd,kGAYC,8FA3HH,gBAAgB,qEAgIZ,cAIF,uEACC,cA+BA,mBApKa,iTA8IX,sBA9IW,6DAoId,sJAGC,sFAvIa,UDTR,iBACF,2JCmKD,oFA3JW,WDTR,kBACA,8ECqKc,cAGlB,yBAhKY,0VH+haf,CGz3ZE,yBK9IE,ySLxBW,gBHuiaf,CGviae,yBKwBX,+GLxBW,aH6iaf,CGv4ZE,yBK9IE,8GLxBW,gBHmjaf,CG74ZE,yBK9IyB,mGLxBZ,cHyjaf,CGzjae,yBKwBX,sGLxBW,eH+jaf,CG/jae,yBKwBX,+GLxBW,aHqkaf,CG/5ZE,yBK9IE,8GLxBW,gBH2kaf,CGr6ZE,yBK9IyB,mGLxBZ,kBHilaf,CGjlae,yBKwBX,wPL8IF,kBHk7ZF,CQhkaI,yBLiND,6HAnED,cHw7ZF,CQtkaI,iEL2N2B,cAGZ,UgC3QrB,ShCqBiB,wEgClBhB,2BhCkBgB,+GgCVhB,2DhCUgB,CgCVhB,mGhCUgB,gCgCrBjB,qGhCqBiB,0BgCrBjB,0BAqBC,4BAEI,yBAEa,8FAcjB,cnCknaC,CGpoae,yBKwBX,2HLxBW,oBH0oaf,CQlnaI,yB2BNL,gR3BMK,c2BQJ,kEAEA,kBnCknaA,CmC/maC,yBAGS,wJ3BhBiB,0E2BQ3B,oBAEA,wCnC0naA,CmCxmaI,yBACO,mJ3B7BP,iB2BQJ,gBnCmoaA,CmCjoaA,yBAaC,sHhC/Cc,qDKwBX,sG2BQJ,mBAEA,kBnC2oaA,CmC5maW,+DAIT,cAAa,oBhCrEA,mIGnBjB,cHmBC,kFGRC,oBHQe,+PGnBjB,sEJUS,iBACF,uOCQU,sEGXhB,0LHWgB,8GG+BhB,0BH/BgB,oBGnBjB,qDAkDC,kBAA2B,YAE1B,iBACA,mBAAgB,kBAEhB,gDAqBG,yFAmCJ,uBH5FgB,6BGnBjB,4BA+G0B,sBGvCK,wBH0CX,uOH/FH,gBGnBjB,iBA+GC,mLH5FA,WAAgB,iEGnBjB,yGAwKC,sIG7F8B,oCHiGb,kBACH,gDACI,qOH3JF,iBGnBjB,+FA+MK,YJpMI,+LCQQ,wBGnBjB,oEJUS,iBACR,cAAQ,uGI2OR,kFHnOgB,2EGqOH,aAGb,0EACC,gBAGD,sHH5OgB,YGnBjB,wHHmBiB,YGnBjB,sKHmBC,gBAAgB,2KGnBjB,yGAuTE,kEAEA,oEACQ,aACE,4IA3TZ,gBAsWQ,iOHnVS,aGnBjB,yBA6WG,wGH1Vc,aHi0af,CGj0ae,yBKwBX,uGLxBW,gBHu0af,CGv0ae,yBKwBX,4FF+WL,cNs8ZC,CG70ae,yBKwBX,wKFoYJ,CNw7ZA,CMx7ZA,yBAEkB,iVAFlB,cAEA,UN87ZA,CM97ZA,yBAUC,8IEhZG,uBFoYJ,CNu8ZA,CMv8ZA,yBAEA,ySEtYI,eRk1aJ,CM98ZA,yBAEA,+UAFA,iBNq9ZA,CMn9ZA,yBA4EC,6REldG,uBFoYJ,kBAEA,aN69ZA,CMj5ZC,yBAgDE,6IElgBC,gFR02aJ,CMt+ZA,yBAEA,uYAAkB,gBN2+ZlB,CMtjaM,yBA4NJ,gKAnJF,kENo/ZA,CMl/ZA,yBAiLmB,yLAjLnB,mBNy/ZA,CMx0ZE,yBAUA,qKA7LF,qDNigaA,CM//ZA,yBAkOE,oHHhoBa,iBKwBX,mFFoYJ,CN0gaA,CMxgaA,qIkBnbD,WAAkB,6BrBqBF,uBqBpBX,kBACL,oBACQ,aACD,mCAGP,gDACA,qtBAKC,qCrBQD,gBAAgB,qBqBpBjB,8jBAqBE,sFrBDe,UDTR,iBACF,uJsBcL,oFrBNe,YDTR,mBACA,6JCQR,wKqBcY,gBrBdZ,yBAAgB,qOH2+af,CwBx5aD,yBhB3DK,qNLxBW,eHk/af,CwB/5aD,yBhB3DK,+LLxBW,2BqBmFhB,kChB3DK,CRo+aJ,CwBt6aK,qEAoBJ,cY7HH,iFAGC,aAOA,gFANc,gBAGd,+DAAC,qDACA,sIjCWe,iBiCPjB,mBA4DW,kBACO,yFA+CjB,gBjCrGgB,yBiCPjB,yFAqGC,gBpC67aC,CG3hbe,sEiCkGR,YAKT,+BjCvGiB,mBiCuGjB,yBACO,sEAaL,SAAQ,UAIV,SAEU,kBAET,sGjC7HgB,0KiCwJjB,kBjCxJC,+zBAAgB,yyBAAhB,gBAAgB,uEiCqKd,SAAgB,WAKnB,2BjC1KiB,kBiC0KjB,iBACC,mFA+EA,ejC1PgB,qEiCgPZ,gBAsCJ,0EAKG,aAaH,qEACC,aAGD,+FAiCC,gBjC7Ue,uEiCoTZ,sBAsBH,yBjC1Ue,2HHunbf,CGvnb0C,yBKwBtC,6GLxBW,gBH6nbf,CoC7yaD,yB5BxT4B,kGLxBZ,cHmobf,CGnobe,yBKwBX,4F4B+UL,cpCkyaC,CGzobe,yBKwBX,oGLxBW,8DHgpbf,CoCh0aD,yB5BxT4B,kGLxBZ,kEAA2B,mBHwpb1C,CQhobI,yB4B6ZJ,kI5B7ZI,iBRsobJ,CQtobI,yB4BobJ,uGjC5ce,mDAA2B,6CHsqb1C,CQ9obI,yB4BobJ,qGjC5ce,qDH4qbf,CG5qbe,yBKwBX,4HLxBsC,cKwBtC,8BR4pbJ,CoCnsaA,yBAEG,0HjCnfY,kBH0rbf,CQlqbI,yB4BsfJ,oHjC9gBe,mBHgsbf,CQxqbI,6C4B+fJ,iBAGE,UAAY,uCjC1hBf,sBAAgB,yDAGP,aACI,yBA0PZ,yDOnQD,aVstbC,CUttbO,wDPWN,gBAIC,yBAVa,wDOLhB,gBVgubC,CUhubgB,yBPKD,6CAkBb,iBH+sbF,CUtubO,+CPKQ,oDAuBR,qNAWN,gBAlCF,sPAsCe,gBAtCf,gJA2CE,mBA3CF,iBAAgB,oBA4Cd,0FAKC,kBAGD,2EMJ4B,kBNQ5B,qEACC,WMRgC,uBNWjC,UA5Dc,kFAiEb,eASA,4BA1Ea,SAA4B,UA4D1C,uEAYE,cAIF,giBA5EF,CAAgB,ylBAAhB,aAAgB,klBAAhB,gBAAgB,4bA4Ed,kCA5EF,CAAgB,yEA8FZ,gBAGD,mBAjGa,mFAsGb,+FAIA,gBA1Ga,uEA2GZ,kBAIF,gBA/Gc,0EAiHb,qBAiBA,wBAlIa,SA+Gd,mGAYC,+FAIA,gBA/Ha,sEAgIZ,cAIF,wEACC,cA+BA,mBApKa,qTA8IJ,sBA9II,6DAoId,wJAGE,sFAvIY,UDTR,iBACF,6JCmKD,oFA3JW,WDTR,kBACA,+ECqKc,cAGlB,yBAhKY,6VHi5bf,CG3ubE,yBK9IE,4SLxBW,gBHy5bf,CGz5be,yBKwBX,gHLxBW,aH+5bf,CGzvbE,yBK9IE,+GLxBW,gBHq6bf,CG/vbE,yBK9IyB,oGLxBZ,cH26bf,CG36be,yBKwBX,uGLxBW,eHi7bf,CGj7be,yBKwBX,gHLxBW,aHu7bf,CGjxbE,yBK9IE,+GLxBW,gBH67bf,CGvxbE,yBK9IyB,oGLxBZ,kBHm8bf,CGn8be,yBKwBX,0PL8IF,kBHoybF,CQl7bI,yBLiND,8HAnED,cH0ybF,CQx7bI,kEL8NC,cAED,UgC7QN,ShCqBiB,yEgClBhB,SAgCA,kChCdgB,gGgCVhB,2DhCUgB,CgCVhB,oGhCUgB,gCgCrBjB,sGhCqBiB,0BgCrBjB,0BAqBC,4BAEI,yBAEa,+FAcjB,cnCo+bC,CGt/be,yBKwBX,4HLxBW,oBH4/bf,CQp+bI,yB2BNL,kR3BMK,c2BQJ,kEAEA,kBnCo+bA,CmCj+bC,yBAGS,yJ3BhBiB,0E2BQ3B,oBAEA,wCnC4+bA,CmC19bI,yBACO,oJ3B7BP,iB2BQJ,gBnCq/bA,CmCn/bA,yBAaC,uHhC/Cc,qDKwBX,sG2BQJ,mBAEA,kBnC6/bA,CmC99bW,gEAIT,cAAa,oBhCrEA,qIGnBjB,cHmBC,mFGRC,gEHQe,oCGnBjB,uOHmBiB,0BGnBjB,sEJUS,iBACF,yOCQU,sEGXhB,oHHWgB,0BGnBjB,sEJUS,iBACF,4LCQU,+GG+BhB,0BH/BgB,oBGnBjB,qDAkDC,kBAA2B,kBAEpB,gFAEN,kDACU,gBAmCR,iGHvEa,gFGnBjB,0FA+GC,uBH5FgB,6BGnBjB,4BA+G2B,sBGvCI,yCH0CX,CAClB,iGHhGe,oCGnBjB,oEJUS,iBACR,kBAAQ,8DIkHL,kDACK,yOH3GQ,kBGnBjB,SAAkB,UA+GjB,qLH5FA,WAAgB,iEGnBjB,yGAwKC,sIG7F8B,oCHiGb,kBACH,kDACI,uOH3JF,iBGnBjB,mMHmBiB,mCGnBjB,kBAwKC,gEA8CY,wDG3IkB,8FH+I3B,sBACW,0DACO,gGAIlB,YJrNK,iMCQQ,wBGnBjB,oEJUS,iBACR,cAAQ,wGI2OR,kFHnOgB,4EGqOH,aAGb,2EACC,gBAGD,uHH5OgB,YGnBjB,yHHmBiB,YGnBjB,wKHmBC,eAAgB,4KGnBjB,yGAuTE,kEAEA,oEACQ,YACE,iHHxSK,aGnBjB,qHHmBiB,yBGnBjB,yBAsWQ,yGHnVS,aH4tcf,CG5tce,yBKwBX,wGLxBW,gBHkucf,CGluce,yBKwBX,6FF+WL,cNi2bC,CGxuce,yBKwBX,yKFoYJ,CNm1bA,CMn1bA,yBAEkB,mVAFlB,cAEA,mBAUC,WNi1bD,CMj1bC,yBAGG,+IEnZA,uBFoYJ,CNo2bA,CMp2bA,yBAEA,2SEtYI,eR+ucJ,CM32bA,yBAEA,iVAFA,iBNk3bA,CMh3bA,yBA4EC,+REldG,sBFoYJ,CN03bA,CM13bA,yBAEA,8IEtYI,gFRqwcJ,CMj4bA,yBAEA,yYA8IE,6BAzNI,CNk9bN,CMtvbE,yBAEG,iKArJL,kENg5bA,CM94bA,yBAiLmB,0LAjLnB,mBNq5bA,CMpubE,yBAUA,sKA7LF,qDN65bA,CM35bA,yBAkOE,qHHhoBa,iBKwBX,mFFoYJ,CNs6bA,CMp6bA,uIkBnbD,0BrBqBA,cAAgB,uBqBpBX,kBACL,oBACQ,gBACC,kBAET,aACA,kBACA,iBAgCC,kDACA,+tBA5BA,qCrBQD,gBAAgB,qBqBpBjB,skBAqBE,sFrBDe,UDTR,iBACF,yJsBcL,oFrBNe,YDTR,mBACA,+JCQR,0LAAgB,kXAAhB,cAAgB,yLAAhB,QAAgB,0BqBpBjB,SAAM,6BA+CJ,iCAE+B,sEAIlB,kIAEW,qJAIvB,oFrBvCc,mOqBpBjB,yBA2DG,yNrBvCc,cHw6cf,CwBr1cD,yBhB3DK,uNLxBW,eH+6cf,CwB51cD,yBhB3DK,iMLxBW,2BqBmFhB,kChB3DK,CRi6cJ,CwBn2cK,sEAoBJ,cY7HH,kFAUC,8FALC,gBjCce,gEiCZJ,kBAKb,4DjCOiB,oCiCPjB,mEAsBE,UAsFD,uBjCrGgB,gCiCeb,cACa,0FA8EhB,gBjC9FgB,yBiCPjB,0FAqGC,gBpCg4cC,CG99ce,uEMQN,Y2B+FX,+BjCvGiB,mBiCuGjB,oBACC,uEAOY,SACF,UASX,SAEW,kBAEV,uGjC7HgB,4KiCwJjB,kBjCxJiB,2zBAAhB,aAAgB,kzBAAhB,gBAAgB,wEiCqKd,oCjCrKF,+CAAgB,gDiC0KjB,sBAIW,yBAET,YACA,kBAAkB,yEAgBhB,aA6DH,yBjC9PgB,4HHyidf,CoCztcD,yB5BxTK,8GLxBW,gBH+idf,CoC/tcD,yB5BxT4B,mGLxBZ,cHqjdf,CGrjde,yBKwBX,2HLxBW,kBH2jdf,CQnidI,yB4BsfJ,qHjC9gBe","file":"../css/front.min.css","sourcesContent":["%icon-font {\n\tspeak: none;\n\tdisplay: inline-block;\n\tline-height: 1;\n\tfont-family: $font--icon !important;\n\tfont-style: normal;\n\tfont-weight: normal;\n\tfont-variant: normal;\n\n\t// Better Font Rendering\n\ttext-rendering: optimizeLegibility;\n\ttext-transform: none;\n\t-webkit-font-smoothing: antialiased;\n\t-moz-osx-font-smoothing: grayscale;\n}\n\n%icon-font--alt {\n\tspeak: none;\n\tdisplay: inline-flex;\n\tflex-direction: column;\n\talign-items: center;\n\tjustify-content: center;\n\tfont-family: $font--icon !important;\n\tline-height: 1;\n\n\t// Better Font Rendering\n\ttext-rendering: optimizeLegibility;\n\ttext-transform: none;\n\t-webkit-font-smoothing: antialiased;\n\t-moz-osx-font-smoothing: grayscale;\n}\n\n@mixin icon($position: before, $icon: false, $styles: true) {\n\t\n\t@if $position == both {\n\t\t$position: 'before, &:after';\n\t}\n\n\t// Either a :before or :after pseudo-element, or both, defaulting to :before.\n\t&:#{$position} {\n\n\t\t@if $icon {\n\t\t\tcontent: \"#{map-get($icons, $icon)}\";\n\t\t}\n\n\t\t@if $styles == true {\n\t\t\t@extend %icon-font;\n\t\t}\n\n\t\t@if $styles == alt {\n\t\t\t@extend %icon-font--alt;\n\t\t}\n\n\t\t@content;\n\t}\n}\n\n// List of mapped icons\n$icons: (\n\tarrow-skip-back: \"\\e916\",\n\tarrow-skip-forward: \"\\e917\",\n\tarrow-skip-start: \"\\e918\",\n\tarrow-skip-end: \"\\e919\",\n\taccounts-billing: \"\\e914\",\n\ttech-support: \"\\e915\",\n\tblog: \"\\e90d\",\n\tjobs-pros-search: \"\\e90e\",\n\tsecurity-thumb-print: \"\\e90f\",\n\tip: \"\\e910\",\n\ttimed-countdown: \"\\e911\",\n\t2FA: \"\\e912\",\n\t2factor-authentication-security: \"\\e912\",\n\tbuddypress: \"\\e90c\",\n\tplug-disconnected: \"\\e90a\",\n\tplug-connected: \"\\e90b\",\n\topen-new-window: \"\\e909\",\n\tshipper-anchor: \"\\e906\",\n\tforminator-2: \"\\e907\",\n\tforminator2: \"\\e907\",\n\tforminator: \"\\e908\",\n\tforminator1: \"\\e908\",\n\tcloud-migration: \"\\e905\",\n\tperformance: \"\\e903\",\n\tpower-on-off: \"\\e904\",\n\tupdate-arrow: \"\\e902\",\n\tdashboard-settings: \"\\e901\",\n\twpmudev-logo-2: \"\\203a\",\n\twpmu-logo-line: \"\\203a\",\n\twpmudev-logo: \"\\2039\",\n\twpmu-logo-solid: \"\\2039\",\n\tstar-line: \"\\cf\",\n\tnotification-count: \"\\e900\",\n\t24-hour-support: \"\\c1\",\n\tspeed-optimize: \"\\f8\",\n\tcloudflare: \"\\d0\",\n\talert: \"\\58\",\n\talign-center: \"\\5e\",\n\talign-justify: \"\\23\",\n\talign-left: \"\\25\",\n\talign-right: \"\\26\",\n\tannotate: \"\\b4\",\n\tarrow-up: \"\\d4\",\n\tarrow-right: \"\\af\",\n\tarrow-down: \"\\c2\",\n\tarrow-left: \"\\f8ff\",\n\tmore: \"\\2026\",\n\tminus: \"\\2d\",\n\tplus: \"\\3d\",\n\tchevron-up: \"\\2dd\",\n\tarrow-up-carats: \"\\2dd\",\n\tchevron-down: \"\\131\",\n\tarrow-down-carats: \"\\131\",\n\tchevron-left: \"\\d3\",\n\tarrow-left-carats: \"\\d3\",\n\tchevron-right: \"\\2dc\",\n\tarrow-right-carats: \"\\2dc\",\n\tarrows-compress: \"\\2265\",\n\tarrows-expand: \"\\ac\",\n\tarrows-in: \"\\2264\",\n\tarrows-out: \"\\2da\",\n\tcheck: \"\\28\",\n\tclose: \"\\29\",\n\tat-sign: \"\\40\",\n\tcalendar: \"\\220f\",\n\tcamera: \"\\d8\",\n\tclipboard-notes: \"\\bf\",\n\tclock: \"\\2c\",\n\tcloud: \"\\2122\",\n\tdownload-cloud: \"\\a3\",\n\tupload-cloud: \"\\a2\",\n\tcomment: \"\\a7\",\n\tcomments: \"\\b6\",\n\tcomment-2: \"\\aa\",\n\tcomment-3: \"\\aa\",\n\tcompass: \"\\2c6\",\n\tcredit-card: \"\\63\",\n\tcrop: \"\\43\",\n\tcrown: \"\\a1\",\n\titalic: \"\\7b\",\n\tbold: \"\\42\",\n\tunderline: \"\\55\",\n\ttext-color: \"\\a8\",\n\tstyle-type: \"\\3c\",\n\tquote-2: \"\\27\",\n\tquote: \"\\3b\",\n\tpaperclip: \"\\41\",\n\tindent-less: \"\\201d\",\n\tindent-more: \"\\2019\",\n\tlist-bullet: \"\\38\",\n\tlist-number: \"\\37\",\n\tlist: \"\\60\",\n\tlink: \"\\35\",\n\tunlink: \"\\36\",\n\tcolor-pick-eyedropper: \"\\a5\",\n\twand-magic: \"\\5a\",\n\tlayers: \"\\e6\",\n\tdislike: \"\\6b\",\n\tlike: \"\\6a\",\n\tdollar: \"\\24\",\n\tdownload: \"\\e93b\",\n\teye: \"\\65\",\n\teye-hide: \"\\71\",\n\tarrow-return-back: \"\\52\",\n\tfirst-aid: \"\\e93f\",\n\tfolder: \"\\2d8\",\n\tmap: \"\\34\",\n\tgraph-bar: \"\\c7\",\n\tgraph-bar-2: \"\\2db\",\n\tgraph-bar_1: \"\\2db\",\n\theart: \"\\4b\",\n\thome: \"\\4a\",\n\tinfo: \"\\49\",\n\tkey: \"\\25ca\",\n\tlaptop: \"\\ab\",\n\tlightbulb: \"\\4c\",\n\tasterisk: \"\\2a\",\n\tlock: \"\\39\",\n\tunlock: \"\\30\",\n\tmail: \"\\6d\",\n\tlocation-marker: \"\\6c\",\n\tmicrophone-audio: \"\\2030\",\n\tmobile-signal: \"\\201b\",\n\tmobile: \"\\201c\",\n\tmonitor: \"\\5c\",\n\tmagnifying-glass-search: \"\\ba\",\n\tzoom-in: \"\\2260\",\n\tzoom-out: \"\\2013\",\n\tmagnifying-search-glass-love: \"\\2022\",\n\tprice-tag: \"\\2c7\",\n\tbookmark: \"\\221a\",\n\tbook-bookmark: \"\\2d9\",\n\tbook: \"\\2206\",\n\tpage-multiple: \"\\e7\",\n\tpage-pdf: \"\\c6\",\n\tpage-search: \"\\da\",\n\tpage: \"\\d2\",\n\tpaint-bucket: \"\\222b\",\n\tpaypal: \"\\59\",\n\tpencil: \"\\2f\",\n\tphoto-picture: \"\\44\",\n\tplay: \"\\70\",\n\tpause: \"\\6f\",\n\tfast-forward: \"\\3e\",\n\trefresh: \"\\45\",\n\tupdate: \"\\ae\",\n\tpuzzle: \"\\7d\",\n\tlayout-grid: \"\\221e\",\n\tsheild-badge: \"\\e96a\",\n\tcoffee-cup: \"\\e96b\",\n\tskull: \"\\e96c\",\n\tsocial-android: \"\\2e\",\n\tsocial-apple: \"\\61\",\n\tsocial-drive: \"\\76\",\n\tsocial-dropbox: \"\\64\",\n\tsocial-facebook: \"\\66\",\n\tsocial-github: \"\\68\",\n\tsocial-google-plus: \"\\67\",\n\tsocial-linkedin: \"\\69\",\n\tsocial-twitter: \"\\74\",\n\tanimation-video: \"\\46\",\n\tsocial-youtube: \"\\79\",\n\twhite-label-video: \"\\75\",\n\tstar: \"\\53\",\n\ttablet-landscape: \"\\5b\",\n\ttablet-portrait: \"\\5d\",\n\tthumbnails: \"\\47\",\n\tticket: \"\\e97d\",\n\tprofile-male: \"\\b5\",\n\tprofile-female: \"\\192\",\n\tcommunity-people: \"\\2018\",\n\ttrash: \"\\51\",\n\tnotification: \"\\6e\",\n\tuser-hero-points-trophy: \"\\31\",\n\tmegaphone: \"\\c5\",\n\tflag: \"\\7c\",\n\tstopwatch: \"\\e986\",\n\tshopping-cart: \"\\cd\",\n\tshare: \"\\73\",\n\thelp-support: \"\\48\",\n\tweb-globe-world: \"\\57\",\n\twidget-settings-config: \"\\78\",\n\twrench-tool: \"\\2044\",\n\tsettings-slider-control: \"\\153\",\n\tfilter: \"\\7a\",\n\treply: \"\\72\",\n\tfinger-point: \"\\2248\",\n\tfinger-swipe: \"\\2203\",\n\tmouse-scroll: \"\\df\",\n\tplugin-2: \"\\4f\",\n\tbrush: \"\\7e\",\n\tthemes: \"\\54\",\n\tplugins: \"\\50\",\n\tquestion: \"\\3f\",\n\twarning-alert: \"\\21\",\n\tcheck-tick: \"\\5f\",\n\tcross-close: \"\\2b\",\n\tuser-reputation-points: \"\\32\",\n\tuser-star-level-up: \"\\33\",\n\tdevman: \"\\20ac\",\n\tdefender: \"\\b7\",\n\thub: \"\\fb02\",\n\thummingbird: \"\\b0\",\n\thustle: \"\\2014\",\n\tsmart-crawl: \"\\2202\",\n\tsmush: \"\\2021\",\n\tsnapshot: \"\\fb01\",\n\tupfront: \"\\201a\",\n\tuptime: \"\\b1\",\n\tpulse: \"\\201e\",\n\tautomate: \"\\152\",\n\tacademy: \"\\3c0\",\n\twordpress: \"\\77\",\n\tinfinity: \"\\56\",\n\taudio-sound: \"\\e9ae\",\n\tsitemap: \"\\b8\",\n\tgoogle-analytics: \"\\e5\",\n\tprogress: \"\\e9b1\",\n\tdashboard: \"\\e9b2\",\n\tab-testing: \"\\bb\",\n\ttesting-bottle-beaker: \"\\e9b4\",\n\tarchive: \"\\62\",\n\tzip: \"\\3a9\",\n\tarrow-location: \"\\4d\",\n\tarrow-pointer-cursor: \"\\4e\",\n\tcode: \"\\3a\",\n\tnews-paper: \"\\2211\",\n\tgallery-slider: \"\\f7\",\n\tlayout: \"\\a9\",\n\tstorage-server-data: \"\\ce\",\n\tloader: \"\\e9be\",\n\trocket-launch: \"\\e9bf\",\n\ttarget: \"\\2020\"\n);\n\n@font-face {\n font-family: \"wpdui-icon\";\n src: url(\"../fonts/wpdui-icon.eot?n9b1n0\");\n src: url(\"../fonts/wpdui-icon.eot?n9b1n0#iefix\") format(\"embedded-opentype\"),\n url(\"../fonts/wpdui-icon.woff2?n9b1n0\") format(\"woff2\"),\n url(\"../fonts/wpdui-icon.ttf?n9b1n0\") format(\"truetype\"),\n url(\"../fonts/wpdui-icon.woff?n9b1n0\") format(\"woff\"),\n url(\"../fonts/wpdui-icon.svg?n9b1n0\") format(\"svg\");\n font-weight: normal;\n font-style: normal;\n}\n\n@each $name, $char in $icons {\n\n\t[class*=\"wpdui-icon-\"] {\n\t\tdisplay: inline-block;\n\t\t@include icon(both);\n\t}\n\t\n\t.wpdui-icon-#{$name}:before {\n\t\tcontent: $char;\n\t}\n}","[class*=\"wpdui-icon-\"]:before,\n[class*=\"wpdui-icon-\"]:after,\n.forminator-custom-form .forminator-label--info:before,\n.forminator-custom-form .forminator-label--error:before,\n.forminator-custom-form .forminator-label--notice:before,\n.forminator-custom-form .forminator-label--success:before,\n.forminator-custom-form.forminator-design--bold .forminator-time+.select2 .forminator-select2.select2-selection--single .select2-selection__arrow:before,\n.forminator-custom-form.forminator-design--bold .forminator-select+.select2 .forminator-select2.select2-selection--single .select2-selection__arrow:before,\n.forminator-custom-form.forminator-design--bold .forminator-date.forminator-has_icon:after,\n.forminator-calendar--bold .ui-datepicker-header .ui-datepicker-prev:before,\n.forminator-calendar--bold .ui-datepicker-header .ui-datepicker-next:before,\n.forminator-custom-form.forminator-design--flat .forminator-time+.select2 .forminator-select2.select2-selection--single .select2-selection__arrow:before,\n.forminator-custom-form.forminator-design--flat .forminator-select+.select2 .forminator-select2.select2-selection--single .select2-selection__arrow:before,\n.forminator-custom-form.forminator-design--flat .forminator-date.forminator-has_icon:after,\n.forminator-calendar--flat .ui-datepicker-header .ui-datepicker-prev:before,\n.forminator-calendar--flat .ui-datepicker-header .ui-datepicker-next:before,\n.forminator-custom-form.forminator-design--default .forminator-time+.select2 .forminator-select2.select2-selection--single .select2-selection__arrow:before,\n.forminator-custom-form.forminator-design--default .forminator-select+.select2 .forminator-select2.select2-selection--single .select2-selection__arrow:before,\n.forminator-custom-form.forminator-design--default .forminator-date.forminator-has_icon:after,\n.forminator-calendar--default .ui-datepicker-header .ui-datepicker-prev:before,\n.forminator-calendar--default .ui-datepicker-header .ui-datepicker-next:before,\n.forminator-custom-form.forminator-design--material .forminator-time+.select2 .forminator-select2.select2-selection--single .select2-selection__arrow:before,\n.forminator-custom-form.forminator-design--material .forminator-select+.select2 .forminator-select2.select2-selection--single .select2-selection__arrow:before,\n.forminator-custom-form.forminator-design--material .forminator-date.forminator-has_icon:before,\n.forminator-calendar--material .ui-datepicker-header .ui-datepicker-prev:before,\n.forminator-calendar--material .ui-datepicker-header .ui-datepicker-next:before,\n.forminator-custom-form.forminator-design--material .forminator-pagination--nav li:before,\n.forminator-poll .forminator-label--info:before,\n.forminator-poll .forminator-label--error:before,\n.forminator-poll .forminator-label--notice:before,\n.forminator-poll .forminator-label--success:before,\n.forminator-quiz.forminator-design--bold .forminator-answer .forminator-answer--check:after,\n.forminator-quiz.forminator-design--bold .forminator-answer .forminator-answer--status:after,\n.forminator-quiz.forminator-design--flat .forminator-answer .forminator-answer--check:after,\n.forminator-quiz.forminator-design--flat .forminator-answer .forminator-answer--status:after,\n.forminator-quiz.forminator-design--default .forminator-answer .forminator-answer--check:after,\n.forminator-quiz.forminator-design--default .forminator-answer .forminator-answer--status:after,\n.forminator-quiz.forminator-design--material .forminator-answer .forminator-answer--check:after,\n.forminator-quiz.forminator-design--material .forminator-answer .forminator-answer--status:after {\n speak: none;\n display: inline-block;\n line-height: 1;\n font-family: \"wpdui-icon\" !important;\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n text-rendering: optimizeLegibility;\n text-transform: none;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n@font-face {\n font-family: \"wpdui-icon\";\n src: url(\"../fonts/wpdui-icon.eot\");\n src: url(\"../fonts/wpdui-icon.eot\") format(\"embedded-opentype\"),url(\"../fonts/wpdui-icon.woff2\") format(\"woff2\"),url(\"../fonts/wpdui-icon.ttf\") format(\"truetype\"),url(\"../fonts/wpdui-icon.woff\") format(\"woff\"),url(\"../fonts/wpdui-icon.svg\") format(\"svg\");\n font-weight: normal;\n font-style: normal;\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-arrow-skip-back:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-arrow-skip-forward:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-arrow-skip-start:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-arrow-skip-end:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-accounts-billing:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-tech-support:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-blog:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-jobs-pros-search:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-security-thumb-print:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-ip:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-timed-countdown:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-2FA:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-2factor-authentication-security:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-buddypress:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-plug-disconnected:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-plug-connected:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-open-new-window:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-shipper-anchor:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-forminator-2:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-forminator2:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-forminator:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-forminator1:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-cloud-migration:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-performance:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-power-on-off:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-update-arrow:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-dashboard-settings:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-wpmudev-logo-2:before {\n content: \"›\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-wpmu-logo-line:before {\n content: \"›\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-wpmudev-logo:before {\n content: \"‹\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-wpmu-logo-solid:before {\n content: \"‹\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-star-line:before {\n content: \"Ï\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-notification-count:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-24-hour-support:before {\n content: \"Á\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-speed-optimize:before {\n content: \"ø\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-cloudflare:before {\n content: \"Ð\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-alert:before {\n content: \"X\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-align-center:before {\n content: \"^\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-align-justify:before {\n content: \"#\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-align-left:before {\n content: \"%\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-align-right:before {\n content: \"&\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-annotate:before {\n content: \"´\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-arrow-up:before {\n content: \"Ô\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-arrow-right:before {\n content: \"¯\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-arrow-down:before {\n content: \"Â\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-arrow-left:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-more:before {\n content: \"…\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-minus:before {\n content: \"-\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-plus:before {\n content: \"=\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-chevron-up:before {\n content: \"˝\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-arrow-up-carats:before {\n content: \"˝\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-chevron-down:before {\n content: \"ı\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-arrow-down-carats:before {\n content: \"ı\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-chevron-left:before {\n content: \"Ó\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-arrow-left-carats:before {\n content: \"Ó\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-chevron-right:before {\n content: \"˜\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-arrow-right-carats:before {\n content: \"˜\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-arrows-compress:before {\n content: \"≥\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-arrows-expand:before {\n content: \"¬\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-arrows-in:before {\n content: \"≤\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-arrows-out:before {\n content: \"˚\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-check:before {\n content: \"(\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-close:before {\n content: \")\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-at-sign:before {\n content: \"@\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-calendar:before {\n content: \"∏\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-camera:before {\n content: \"Ø\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-clipboard-notes:before {\n content: \"¿\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-clock:before {\n content: \",\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-cloud:before {\n content: \"™\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-download-cloud:before {\n content: \"£\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-upload-cloud:before {\n content: \"¢\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-comment:before {\n content: \"§\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-comments:before {\n content: \"¶\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-comment-2:before {\n content: \"ª\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-comment-3:before {\n content: \"ª\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-compass:before {\n content: \"ˆ\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-credit-card:before {\n content: \"c\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-crop:before {\n content: \"C\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-crown:before {\n content: \"¡\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-italic:before {\n content: \"{\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-bold:before {\n content: \"B\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-underline:before {\n content: \"U\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-text-color:before {\n content: \"¨\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-style-type:before {\n content: \"<\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-quote-2:before {\n content: \"'\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-quote:before {\n content: \";\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-paperclip:before {\n content: \"A\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-indent-less:before {\n content: \"”\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-indent-more:before {\n content: \"’\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-list-bullet:before {\n content: \"8\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-list-number:before {\n content: \"7\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-list:before {\n content: \"`\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-link:before {\n content: \"5\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-unlink:before {\n content: \"6\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-color-pick-eyedropper:before {\n content: \"¥\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-wand-magic:before {\n content: \"Z\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-layers:before {\n content: \"æ\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-dislike:before {\n content: \"k\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-like:before {\n content: \"j\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-dollar:before {\n content: \"$\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-download:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-eye:before {\n content: \"e\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-eye-hide:before {\n content: \"q\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-arrow-return-back:before {\n content: \"R\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-first-aid:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-folder:before {\n content: \"˘\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-map:before {\n content: \"4\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-graph-bar:before {\n content: \"Ç\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-graph-bar-2:before {\n content: \"˛\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-graph-bar_1:before {\n content: \"˛\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-heart:before {\n content: \"K\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-home:before {\n content: \"J\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-info:before {\n content: \"I\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-key:before {\n content: \"◊\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-laptop:before {\n content: \"«\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-lightbulb:before {\n content: \"L\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-asterisk:before {\n content: \"*\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-lock:before {\n content: \"9\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-unlock:before {\n content: \"0\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-mail:before {\n content: \"m\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-location-marker:before {\n content: \"l\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-microphone-audio:before {\n content: \"‰\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-mobile-signal:before {\n content: \"‛\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-mobile:before {\n content: \"“\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-monitor:before {\n content: \"\\\\\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-magnifying-glass-search:before{content:\"º\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-zoom-in:before{content:\"≠\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-zoom-out:before{content:\"–\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-magnifying-search-glass-love:before{content:\"•\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-price-tag:before{content:\"ˇ\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-bookmark:before{content:\"√\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-book-bookmark:before{content:\"˙\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-book:before{content:\"∆\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-page-multiple:before{content:\"ç\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-page-pdf:before{content:\"Æ\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-page-search:before{content:\"Ú\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-page:before{content:\"Ò\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-paint-bucket:before{content:\"∫\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-paypal:before{content:\"Y\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-pencil:before{content:\"/\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-photo-picture:before{content:\"D\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-play:before{content:\"p\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-pause:before{content:\"o\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-fast-forward:before{content:\">\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-refresh:before{content:\"E\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-update:before{content:\"®\"}[class*=\"wpdui-icon-\"]{display:inline-block}.wpdui-icon-puzzle:before{content:\";\n}\n\n\"}[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-layout-grid:before {\n content: \"∞\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-sheild-badge:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-coffee-cup:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-skull:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-social-android:before {\n content: \".\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-social-apple:before {\n content: \"a\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-social-drive:before {\n content: \"v\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-social-dropbox:before {\n content: \"d\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-social-facebook:before {\n content: \"f\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-social-github:before {\n content: \"h\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-social-google-plus:before {\n content: \"g\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-social-linkedin:before {\n content: \"i\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-social-twitter:before {\n content: \"t\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-animation-video:before {\n content: \"F\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-social-youtube:before {\n content: \"y\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-white-label-video:before {\n content: \"u\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-star:before {\n content: \"S\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-tablet-landscape:before {\n content: \"[\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-tablet-portrait:before {\n content: \"]\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-thumbnails:before {\n content: \"G\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-ticket:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-profile-male:before {\n content: \"µ\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-profile-female:before {\n content: \"ƒ\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-community-people:before {\n content: \"‘\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-trash:before {\n content: \"Q\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-notification:before {\n content: \"n\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-user-hero-points-trophy:before {\n content: \"1\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-megaphone:before {\n content: \"Å\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-flag:before {\n content: \"|\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-stopwatch:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-shopping-cart:before {\n content: \"Í\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-share:before {\n content: \"s\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-help-support:before {\n content: \"H\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-web-globe-world:before {\n content: \"W\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-widget-settings-config:before {\n content: \"x\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-wrench-tool:before {\n content: \"⁄\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-settings-slider-control:before {\n content: \"œ\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-filter:before {\n content: \"z\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-reply:before {\n content: \"r\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-finger-point:before {\n content: \"≈\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-finger-swipe:before {\n content: \"∃\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-mouse-scroll:before {\n content: \"ß\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-plugin-2:before {\n content: \"O\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-brush:before {\n content: \"~\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-themes:before {\n content: \"T\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-plugins:before {\n content: \"P\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-question:before {\n content: \"?\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-warning-alert:before {\n content: \"!\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-check-tick:before {\n content: \"_\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-cross-close:before {\n content: \"+\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-user-reputation-points:before {\n content: \"2\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-user-star-level-up:before {\n content: \"3\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-devman:before {\n content: \"€\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-defender:before {\n content: \"·\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-hub:before {\n content: \"fl\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-hummingbird:before {\n content: \"°\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-hustle:before {\n content: \"—\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-smart-crawl:before {\n content: \"∂\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-smush:before {\n content: \"‡\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-snapshot:before {\n content: \"fi\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-upfront:before {\n content: \"‚\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-uptime:before {\n content: \"±\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-pulse:before {\n content: \"„\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-automate:before {\n content: \"Œ\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-academy:before {\n content: \"π\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-wordpress:before {\n content: \"w\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-infinity:before {\n content: \"V\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-audio-sound:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-sitemap:before {\n content: \"¸\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-google-analytics:before {\n content: \"å\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-progress:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-dashboard:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-ab-testing:before {\n content: \"»\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-testing-bottle-beaker:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-archive:before {\n content: \"b\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-zip:before {\n content: \"Ω\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-arrow-location:before {\n content: \"M\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-arrow-pointer-cursor:before {\n content: \"N\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-code:before {\n content: \":\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-news-paper:before {\n content: \"∑\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-gallery-slider:before {\n content: \"÷\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-layout:before {\n content: \"©\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-storage-server-data:before {\n content: \"Î\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-loader:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-rocket-launch:before {\n content: \"\";\n}\n\n[class*=\"wpdui-icon-\"] {\n display: inline-block;\n}\n\n.wpdui-icon-target:before {\n content: \"†\";\n}\n\n@keyframes updating {\n from {\n transform: rotate(0deg);\n }\n\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n}\n\n@keyframes fadeInUp {\n from {\n opacity: 0;\n transform: translate3d(0, 100%, 0);\n }\n\n to {\n opacity: 1;\n transform: none;\n }\n}\n\n@keyframes fadeOutDown {\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n transform: translate3d(0, 100%, 0);\n }\n}\n\n@keyframes click-animation {\n 0% {\n transform: scale(1);\n filter: alpha(opacity=20);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=20);\n opacity: .2;\n -khtml-opacity: .2;\n }\n\n 50% {\n transform: scale(2);\n filter: alpha(opacity=10);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=10);\n opacity: .1;\n -khtml-opacity: .1;\n }\n\n 100% {\n transform: scale(0);\n filter: alpha(opacity=0);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);\n opacity: 0;\n -khtml-opacity: 0;\n }\n}\n\n.forminator-custom-form .forminator-label,\n.forminator-custom-form .forminator-label--limit,\n.forminator-custom-form .forminator-label--helper,\n.forminator-custom-form .forminator-label--validation,\n.forminator-custom-form .forminator-label--info p,\n.forminator-custom-form .forminator-label--error p,\n.forminator-custom-form .forminator-label--notice p,\n.forminator-custom-form .forminator-label--success p,\n.forminator-custom-form .forminator-label--loading p,\n.forminator-custom-form .forminator-break .forminator-title,\n.forminator-custom-form .forminator-break .forminator-subtitle,\n.forminator-custom-form.forminator-design--bold .forminator-multiselect,\n.forminator-custom-form.forminator-design--bold .forminator-multiselect li,\n.forminator-custom-form.forminator-design--bold .forminator-multiselect label,\n.forminator-calendar--bold .ui-datepicker-calendar thead tr th a,\n.forminator-calendar--bold .ui-datepicker-calendar thead tr th span,\n.forminator-calendar--bold .ui-datepicker-calendar tbody tr td a,\n.forminator-calendar--bold .ui-datepicker-calendar tbody tr td span,\n.forminator-custom-form.forminator-design--flat .forminator-multiselect,\n.forminator-custom-form.forminator-design--flat .forminator-multiselect li,\n.forminator-custom-form.forminator-design--flat .forminator-multiselect label,\n.forminator-calendar--flat .ui-datepicker-calendar thead tr th a,\n.forminator-calendar--flat .ui-datepicker-calendar thead tr th span,\n.forminator-calendar--flat .ui-datepicker-calendar tbody tr td a,\n.forminator-calendar--flat .ui-datepicker-calendar tbody tr td span,\n.forminator-custom-form.forminator-design--default .forminator-multiselect,\n.forminator-custom-form.forminator-design--default .forminator-multiselect li,\n.forminator-custom-form.forminator-design--default .forminator-multiselect label,\n.forminator-calendar--default .ui-datepicker-calendar thead tr th a,\n.forminator-calendar--default .ui-datepicker-calendar thead tr th span,\n.forminator-calendar--default .ui-datepicker-calendar tbody tr td a,\n.forminator-calendar--default .ui-datepicker-calendar tbody tr td span,\n.forminator-custom-form.forminator-design--material .forminator-multiselect,\n.forminator-custom-form.forminator-design--material .forminator-multiselect li,\n.forminator-custom-form.forminator-design--material .forminator-multiselect label,\n.forminator-calendar--material .ui-datepicker-calendar thead tr th a,\n.forminator-calendar--material .ui-datepicker-calendar thead tr th span,\n.forminator-calendar--material .ui-datepicker-calendar tbody tr td a,\n.forminator-calendar--material .ui-datepicker-calendar tbody tr td span,\n.forminator-poll .forminator-label--info p,\n.forminator-poll .forminator-label--error p,\n.forminator-poll .forminator-label--notice p,\n.forminator-poll .forminator-label--success p,\n.forminator-poll .forminator-label--loading p {\n margin: 0;\n padding: 0;\n border: 0;\n}\n\n.forminator-custom-form.forminator-design-- *,\n.forminator-custom-form *,\n.forminator-custom-form.forminator-design--bold *,\nbody>.select2-container .forminator-droptime--bold *,\nbody>.select2-container .forminator-dropdown--bold *,\n.forminator-calendar--bold *,\n.forminator-custom-form.forminator-design--flat *,\nbody>.select2-container .forminator-droptime--flat *,\nbody>.select2-container .forminator-dropdown--flat *,\n.forminator-calendar--flat *,\n.forminator-custom-form.forminator-design--default *,\nbody>.select2-container .forminator-droptime--default *,\nbody>.select2-container .forminator-dropdown--default *,\n.forminator-calendar--default *,\n.forminator-custom-form.forminator-design--material *,\nbody>.select2-container .forminator-droptime--material *,\nbody>.select2-container .forminator-dropdown--material *,\n.forminator-calendar--material *,\n.forminator-poll *,\n.forminator-poll.forminator-design--bold *,\n.forminator-poll.forminator-design--flat *,\n.forminator-poll.forminator-design--default *,\n.forminator-poll.forminator-design--material *,\n.forminator-quiz.forminator-design--bold *,\n.forminator-quiz.forminator-design--flat *,\n.forminator-quiz.forminator-design--default *,\n.forminator-quiz.forminator-design--material * {\n font-variant-ligatures: none;\n -webkit-font-variant-ligatures: none;\n text-rendering: optimizeLegibility;\n -moz-osx-font-smoothing: grayscale;\n font-smoothing: antialiased;\n -webkit-font-smoothing: antialiased;\n text-shadow: rgba(0,0,0,0.01) 0 0 1px;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-radio input,\n.forminator-custom-form.forminator-design--bold .forminator-checkbox input,\n.forminator-custom-form.forminator-design--bold .forminator-multiselect li input,\n.forminator-custom-form.forminator-design--flat .forminator-radio input,\n.forminator-custom-form.forminator-design--flat .forminator-checkbox input,\n.forminator-custom-form.forminator-design--flat .forminator-multiselect li input,\n.forminator-custom-form.forminator-design--default .forminator-radio input,\n.forminator-custom-form.forminator-design--default .forminator-checkbox input,\n.forminator-custom-form.forminator-design--default .forminator-multiselect li input,\n.forminator-custom-form.forminator-design--material .forminator-radio input,\n.forminator-custom-form.forminator-design--material .forminator-checkbox input,\n.forminator-custom-form.forminator-design--material .forminator-multiselect li input,\n.forminator-poll.forminator-design--bold .forminator-radio input,\n.forminator-poll.forminator-design--flat .forminator-radio input,\n.forminator-poll.forminator-design--default .forminator-radio input,\n.forminator-poll.forminator-design--material .forminator-radio input,\n.forminator-quiz.forminator-design--bold .forminator-answer input,\n.forminator-quiz.forminator-design--flat .forminator-answer input,\n.forminator-quiz.forminator-design--default .forminator-answer input,\n.forminator-quiz.forminator-design--material .forminator-answer input {\n width: 1px;\n height: 1px;\n overflow: hidden;\n position: absolute !important;\n margin: -1px;\n border: 0;\n padding: 0;\n clip: rect(1px, 1px, 1px, 1px);\n clip-path: inset(50%);\n word-wrap: normal !important;\n}\n\n.forminator-custom-form .forminator-label,\n.forminator-custom-form .forminator-label--limit,\n.forminator-custom-form .forminator-label--helper,\n.forminator-custom-form .forminator-label--validation {\n cursor: default;\n display: block;\n letter-spacing: -.0025em;\n}\n\n.forminator-custom-form .forminator-label[for],\n.forminator-custom-form .forminator-label--limit[for],\n.forminator-custom-form .forminator-label--helper[for],\n.forminator-custom-form .forminator-label--validation[for] {\n cursor: pointer;\n}\n\n.forminator-custom-form .forminator-label .wpdui-icon-asterisk,\n.forminator-custom-form .forminator-label--limit .wpdui-icon-asterisk,\n.forminator-custom-form .forminator-label--helper .wpdui-icon-asterisk,\n.forminator-custom-form .forminator-label--validation .wpdui-icon-asterisk {\n display: inline-flex;\n vertical-align: super;\n font-size: 6px;\n}\n\n.forminator-custom-form .forminator-label .wpdui-icon-asterisk:before,\n.forminator-custom-form .forminator-label--limit .wpdui-icon-asterisk:before,\n.forminator-custom-form .forminator-label--helper .wpdui-icon-asterisk:before,\n.forminator-custom-form .forminator-label--validation .wpdui-icon-asterisk:before {\n display: block;\n}\n\n.forminator-custom-form .forminator-row {\n display: block;\n margin-bottom: 20px;\n}\n\n.forminator-custom-form .forminator-row .forminator-col {\n margin-bottom: 20px;\n}\n\n.forminator-custom-form .forminator-row .forminator-col:last-child {\n margin-bottom: 0;\n}\n\n.forminator-custom-form .forminator-row:last-child {\n margin-bottom: 0;\n}\n\n.forminator-custom-form .forminator-row--time+.forminator-label--validation {\n display: none;\n}\n\n.forminator-custom-form.forminator-enclosed .forminator-row {\n margin-bottom: 8px;\n}\n\n.forminator-custom-form.forminator-enclosed .forminator-row .forminator-col {\n margin-bottom: 8px;\n}\n\n.forminator-custom-form.forminator-enclosed .forminator-row .forminator-col:last-child {\n margin-bottom: 0;\n}\n\n.forminator-custom-form.forminator-enclosed .forminator-row:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small) .forminator-row .forminator-col {\n flex: 0 0 auto;\n margin-bottom: 0;\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small) .forminator-row .forminator-col-3 {\n max-width: 25%;\n flex-basis: 25%;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small) .forminator-row .forminator-col-4 {\n max-width: 33.33%;\n flex-basis: 33.33%;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small) .forminator-row .forminator-col-6 {\n max-width: 50%;\n flex-basis: 50%;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small) .forminator-row .forminator-col-12 {\n min-width: 100%;\n max-width: 100%;\n flex-basis: 100%;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small) .forminator-row .forminator-col-3 .forminator-row--inner .forminator-col:last-child,\n .forminator-custom-form:not(.forminator-size--small) .forminator-row .forminator-col-4 .forminator-row--inner .forminator-col:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small) .forminator-row .forminator-col-3 .forminator-row--inner .forminator-col,\n .forminator-custom-form:not(.forminator-size--small) .forminator-row .forminator-col-4 .forminator-row--inner .forminator-col {\n margin-bottom: 30px;\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small) .forminator-row .forminator-col-3 .forminator-row--inner .forminator-col-3,\n .forminator-custom-form:not(.forminator-size--small) .forminator-row .forminator-col-3 .forminator-row--inner .forminator-col-4,\n .forminator-custom-form:not(.forminator-size--small) .forminator-row .forminator-col-3 .forminator-row--inner .forminator-col-6,\n .forminator-custom-form:not(.forminator-size--small) .forminator-row .forminator-col-4 .forminator-row--inner .forminator-col-3,\n .forminator-custom-form:not(.forminator-size--small) .forminator-row .forminator-col-4 .forminator-row--inner .forminator-col-4,\n .forminator-custom-form:not(.forminator-size--small) .forminator-row .forminator-col-4 .forminator-row--inner .forminator-col-6 {\n max-width: 100%;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small) .forminator-row .forminator-col-3 .forminator-row--inner,\n .forminator-custom-form:not(.forminator-size--small) .forminator-row .forminator-col-4 .forminator-row--inner {\n display: block;\n margin-right: 0;\n margin-left: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small) .forminator-row:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small) .forminator-row {\n display: flex;\n margin-right: -15px;\n margin-bottom: 30px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small) .forminator-row--time .forminator-field .forminator-label--validation {\n display: none;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small) .forminator-row--time+.forminator-label--validation {\n display: block;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small) .forminator-row--time {\n align-items: flex-end;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small).forminator-enclosed .forminator-row .forminator-col {\n padding-right: 7px;\n padding-left: 7px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small).forminator-enclosed .forminator-row .forminator-col-3 .forminator-row--inner .forminator-col:last-child,\n .forminator-custom-form:not(.forminator-size--small).forminator-enclosed .forminator-row .forminator-col-4 .forminator-row--inner .forminator-col:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small).forminator-enclosed .forminator-row .forminator-col-3 .forminator-row--inner .forminator-col,\n .forminator-custom-form:not(.forminator-size--small).forminator-enclosed .forminator-row .forminator-col-4 .forminator-row--inner .forminator-col {\n margin-bottom: 14px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small).forminator-enclosed .forminator-row:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small).forminator-enclosed .forminator-row {\n margin-right: -7px;\n margin-bottom: 14px;\n margin-left: -7px;\n }\n}\n\n.forminator-custom-form.forminator-design-- {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-custom-form.forminator-design--:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design-- {\n margin: 30px auto;\n }\n}\n\n.forminator-custom-form.forminator-design-- * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design-- .forminator-hidden {\n display: none !important;\n}\n\n@media (max-width: 782px) {\n .forminator-custom-form.forminator-design-- .forminator-hidden-mobile {\n display: none !important;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design-- .forminator-hidden-desktop {\n display: none !important;\n }\n}\n\n.forminator-custom-form {\n box-sizing: border-box;\n}\n\n.forminator-custom-form * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form .forminator-hidden {\n display: none !important;\n}\n\n.forminator-custom-form .forminator-label--info {\n height: auto;\n cursor: default;\n display: block;\n position: relative;\n margin: 20px 0;\n padding: 14px;\n border-radius: 4px;\n transition: height 0.3s linear, opacity 0.3s ease;\n background-color: #F8F8F8;\n color: #888;\n}\n\n.forminator-custom-form .forminator-label--info:before {\n width: 16px;\n height: 16px;\n display: block;\n position: absolute;\n top: 16px;\n left: 14px;\n font-size: 16px;\n text-align: center;\n}\n\n.forminator-custom-form .forminator-label--info:before {\n content: \"I\";\n color: #888;\n}\n\n.forminator-custom-form .forminator-label--info * {\n color: inherit;\n}\n\n.forminator-custom-form .forminator-label--info>span,\n.forminator-custom-form .forminator-label--info>div {\n cursor: initial;\n display: block;\n padding-left: 30px;\n}\n\n.forminator-custom-form .forminator-label--info,\n.forminator-custom-form .forminator-label--info p {\n font-size: 13px;\n line-height: 20px;\n font-family: \"Roboto\",Arial,sans-serif;\n font-weight: 400;\n letter-spacing: -.0025em;\n}\n\n.forminator-custom-form .forminator-label--info strong,\n.forminator-custom-form .forminator-label--info p strong {\n font-weight: bold;\n}\n\n.forminator-custom-form .forminator-label--info:first-child {\n margin-top: 0;\n}\n\n.forminator-custom-form .forminator-label--info:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form .forminator-label--info {\n margin: 30px 0;\n }\n}\n\n.forminator-custom-form .forminator-label--error {\n height: auto;\n cursor: default;\n display: block;\n position: relative;\n margin: 20px 0;\n padding: 14px;\n border-radius: 4px;\n transition: height 0.3s linear, opacity 0.3s ease;\n background-color: #CB4B57;\n color: #fff;\n}\n\n.forminator-custom-form .forminator-label--error:before {\n width: 16px;\n height: 16px;\n display: block;\n position: absolute;\n top: 16px;\n left: 14px;\n font-size: 16px;\n text-align: center;\n}\n\n.forminator-custom-form .forminator-label--error:before {\n content: \"!\";\n color: #fff;\n}\n\n.forminator-custom-form .forminator-label--error * {\n color: inherit;\n}\n\n.forminator-custom-form .forminator-label--error>span,\n.forminator-custom-form .forminator-label--error>div {\n cursor: initial;\n display: block;\n padding-left: 30px;\n}\n\n.forminator-custom-form .forminator-label--error,\n.forminator-custom-form .forminator-label--error p {\n font-size: 13px;\n line-height: 20px;\n font-family: \"Roboto\",Arial,sans-serif;\n font-weight: 400;\n letter-spacing: -.0025em;\n}\n\n.forminator-custom-form .forminator-label--error strong,\n.forminator-custom-form .forminator-label--error p strong {\n font-weight: bold;\n}\n\n.forminator-custom-form .forminator-label--error:first-child {\n margin-top: 0;\n}\n\n.forminator-custom-form .forminator-label--error:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form .forminator-label--error {\n margin: 30px 0;\n }\n}\n\n.forminator-custom-form .forminator-label--notice {\n height: auto;\n cursor: default;\n display: block;\n position: relative;\n margin: 20px 0;\n padding: 14px;\n border-radius: 4px;\n transition: height 0.3s linear, opacity 0.3s ease;\n background-color: #FFF4D2;\n color: #333;\n}\n\n.forminator-custom-form .forminator-label--notice:before {\n width: 16px;\n height: 16px;\n display: block;\n position: absolute;\n top: 16px;\n left: 14px;\n font-size: 16px;\n text-align: center;\n}\n\n.forminator-custom-form .forminator-label--notice:before {\n content: \"I\";\n color: #333;\n}\n\n.forminator-custom-form .forminator-label--notice * {\n color: inherit;\n}\n\n.forminator-custom-form .forminator-label--notice>span,\n.forminator-custom-form .forminator-label--notice>div {\n cursor: initial;\n display: block;\n padding-left: 30px;\n}\n\n.forminator-custom-form .forminator-label--notice,\n.forminator-custom-form .forminator-label--notice p {\n font-size: 13px;\n line-height: 20px;\n font-family: \"Roboto\",Arial,sans-serif;\n font-weight: 400;\n letter-spacing: -.0025em;\n}\n\n.forminator-custom-form .forminator-label--notice strong,\n.forminator-custom-form .forminator-label--notice p strong {\n font-weight: bold;\n}\n\n.forminator-custom-form .forminator-label--notice:first-child {\n margin-top: 0;\n}\n\n.forminator-custom-form .forminator-label--notice:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form .forminator-label--notice {\n margin: 30px 0;\n }\n}\n\n.forminator-custom-form .forminator-label--success {\n height: auto;\n cursor: default;\n display: block;\n position: relative;\n margin: 20px 0;\n padding: 14px;\n border-radius: 4px;\n transition: height 0.3s linear, opacity 0.3s ease;\n background-color: #1ABC9C;\n color: #fff;\n}\n\n.forminator-custom-form .forminator-label--success:before {\n width: 16px;\n height: 16px;\n display: block;\n position: absolute;\n top: 16px;\n left: 14px;\n font-size: 16px;\n text-align: center;\n}\n\n.forminator-custom-form .forminator-label--success:before {\n content: \"(\";\n color: #fff;\n}\n\n.forminator-custom-form .forminator-label--success * {\n color: inherit;\n}\n\n.forminator-custom-form .forminator-label--success>span,\n.forminator-custom-form .forminator-label--success>div {\n cursor: initial;\n display: block;\n padding-left: 30px;\n}\n\n.forminator-custom-form .forminator-label--success,\n.forminator-custom-form .forminator-label--success p {\n font-size: 13px;\n line-height: 20px;\n font-family: \"Roboto\",Arial,sans-serif;\n font-weight: 400;\n letter-spacing: -.0025em;\n}\n\n.forminator-custom-form .forminator-label--success strong,\n.forminator-custom-form .forminator-label--success p strong {\n font-weight: bold;\n}\n\n.forminator-custom-form .forminator-label--success:first-child {\n margin-top: 0;\n}\n\n.forminator-custom-form .forminator-label--success:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form .forminator-label--success {\n margin: 30px 0;\n }\n}\n\n.forminator-custom-form .forminator-label--loading {\n height: auto;\n cursor: default;\n display: block;\n position: relative;\n margin: 20px 0;\n padding: 14px;\n border-radius: 4px;\n transition: height 0.3s linear, opacity 0.3s ease;\n background-color: #D4EEF9;\n color: #888;\n}\n\n.forminator-custom-form .forminator-label--loading:before {\n width: 16px;\n height: 16px;\n display: block;\n position: absolute;\n top: 16px;\n left: 14px;\n font-size: 16px;\n text-align: center;\n}\n\n.forminator-custom-form .forminator-label--loading:before {\n width: 18px;\n height: 18px;\n border: 2px solid #fff;\n border-bottom-color: transparent;\n border-radius: 100%;\n box-sizing: border-box;\n animation: spin .75s 0s linear infinite;\n}\n\n.forminator-custom-form .forminator-label--loading * {\n color: inherit;\n}\n\n.forminator-custom-form .forminator-label--loading>span,\n.forminator-custom-form .forminator-label--loading>div {\n cursor: initial;\n display: block;\n padding-left: 30px;\n}\n\n.forminator-custom-form .forminator-label--loading,\n.forminator-custom-form .forminator-label--loading p {\n font-size: 13px;\n line-height: 20px;\n font-family: \"Roboto\",Arial,sans-serif;\n font-weight: 400;\n letter-spacing: -.0025em;\n}\n\n.forminator-custom-form .forminator-label--loading strong,\n.forminator-custom-form .forminator-label--loading p strong {\n font-weight: bold;\n}\n\n.forminator-custom-form .forminator-label--loading:first-child {\n margin-top: 0;\n}\n\n.forminator-custom-form .forminator-label--loading:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form .forminator-label--loading {\n margin: 30px 0;\n }\n}\n\n.forminator-custom-form .forminator-cform-response-message [class^='forminator-label--'] {\n margin-bottom: 20px;\n}\n\n.forminator-custom-form.forminator-enclosed .forminator-cform-response-message [class^='forminator-label--'] {\n margin-bottom: 8px;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small) .forminator-cform-response-message [class^='forminator-label--'] {\n margin-bottom: 30px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small).forminator-enclosed .forminator-cform-response-message [class^='forminator-label--'] {\n margin-bottom: 14px;\n }\n}\n\n.forminator-custom-form .forminator-label--limit,\n.forminator-custom-form .forminator-label--helper {\n cursor: text;\n}\n\n.forminator-custom-form .forminator-field--helper {\n display: flex;\n margin: 5px 0 0;\n}\n\n.forminator-custom-form .forminator-field--helper .forminator-label--helper {\n flex: 1;\n}\n\n.forminator-custom-form .forminator-field--helper .forminator-label--helper+.forminator-label--limit {\n margin-left: 10px;\n}\n\n.forminator-custom-form .forminator-field--helper .forminator-label--limit {\n flex: 0 0 auto;\n text-align: right;\n}\n\n.forminator-custom-form .forminator-field--helper .forminator-label--limit:only-child {\n flex: 1;\n}\n\n.forminator-custom-form.forminator-enclosed .forminator-field--helper {\n margin: 0;\n}\n\n.forminator-custom-form.forminator-enclosed .forminator-field--helper .forminator-label--helper+.forminator-label--limit {\n margin-left: 4px;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small) .forminator-field--helper .forminator-label--helper+.forminator-label--limit {\n margin-left: 15px;\n }\n}\n\n.forminator-custom-form .forminator-break .forminator-title+.forminator-border,\n.forminator-custom-form .forminator-break .forminator-subtitle+.forminator-border {\n margin-top: 20px;\n}\n\n.forminator-custom-form .forminator-break .forminator-title {\n line-height: 1.34em;\n}\n\n.forminator-custom-form .forminator-break .forminator-title+.forminator-subtitle {\n margin-top: 0.56em;\n}\n\n.forminator-custom-form .forminator-break .forminator-subtitle {\n line-height: 1.2em;\n}\n\n.forminator-custom-form.forminator-enclosed .forminator-break .forminator-title+.forminator-border,\n.forminator-custom-form.forminator-enclosed .forminator-break .forminator-subtitle+.forminator-border {\n margin-top: 8px;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small) .forminator-break .forminator-title+.forminator-border,\n .forminator-custom-form:not(.forminator-size--small) .forminator-break .forminator-subtitle+.forminator-border {\n margin-top: 30px;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form:not(.forminator-size--small).forminator-enclosed .forminator-break .forinator-title+.forminator-border,\n .forminator-custom-form:not(.forminator-size--small).forminator-enclosed .forminator-break .forminator-subtitle+.forminator-border {\n margin-top: 14px;\n }\n}\n\n.forminator-custom-form .wp-editor-wrap .wp-switch-editor {\n height: auto;\n margin-top: 0;\n padding-top: 4px;\n font-size: 12px;\n line-height: 20px;\n font-weight: normal;\n}\n\n.forminator-custom-form.forminator-design--bold {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--bold:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-custom-form.forminator-design--bold:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold {\n margin: 30px auto;\n }\n}\n\n.forminator-custom-form.forminator-design--bold * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-label,\n.forminator-custom-form.forminator-design--bold .forminator-label--limit,\n.forminator-custom-form.forminator-design--bold .forminator-label--helper {\n line-height: 20px;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-label--validation {\n margin-top: 5px;\n padding: 5px 10px;\n line-height: 20px;\n}\n\n.forminator-custom-form.forminator-design--bold {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--bold:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-custom-form.forminator-design--bold:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold {\n margin: 30px auto;\n }\n}\n\n.forminator-custom-form.forminator-design--bold * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-break .forminator-border {\n width: 100%;\n height: 0;\n display: block;\n margin-right: 0;\n margin-bottom: 0;\n margin-left: 0;\n padding: 0;\n border-style: none;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-break .forminator-border.solid {\n border-style: solid;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-break .forminator-border.dashed {\n border-style: dashed;\n}\n\n.forminator-custom-form.forminator-design--bold {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--bold:first-child {\n margin-top: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold:first-child {\n margin-top: 0;\n }\n}\n\n.forminator-custom-form.forminator-design--bold:last-child {\n margin-bottom: 0;\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold:last-child {\n margin-bottom: 0;\n }\n}\n\n@media (min-width: 783px) {\n .forminator-custom-form.forminator-design--bold {\n margin: 30px auto;\n }\n}\n\n.forminator-custom-form.forminator-design--bold * {\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-input,\n.forminator-custom-form.forminator-design--bold .forminator-textarea {\n width: 100%;\n max-width: 100%;\n display: block;\n margin: 0;\n padding: 0;\n border: 0;\n background-image: unset;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-input,\n.forminator-custom-form.forminator-design--bold .forminator-input:hover,\n.forminator-custom-form.forminator-design--bold .forminator-input:focus,\n.forminator-custom-form.forminator-design--bold .forminator-input:active,\n.forminator-custom-form.forminator-design--bold .forminator-input:disabled,\n.forminator-custom-form.forminator-design--bold .forminator-textarea,\n.forminator-custom-form.forminator-design--bold .forminator-textarea:hover,\n.forminator-custom-form.forminator-design--bold .forminator-textarea:focus,\n.forminator-custom-form.forminator-design--bold .forminator-textarea:active,\n.forminator-custom-form.forminator-design--bold .forminator-textarea:disabled {\n outline: none;\n box-shadow: none;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-input,\n.forminator-custom-form.forminator-design--bold .forminator-input:hover,\n.forminator-custom-form.forminator-design--bold .forminator-input:focus,\n.forminator-custom-form.forminator-design--bold .forminator-input:active,\n.forminator-custom-form.forminator-design--bold .forminator-textarea,\n.forminator-custom-form.forminator-design--bold .forminator-textarea:hover,\n.forminator-custom-form.forminator-design--bold .forminator-textarea:focus,\n.forminator-custom-form.forminator-design--bold .forminator-textarea:active {\n filter: alpha(opacity=100);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);\n opacity: 1;\n -khtml-opacity: 1;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-input:disabled,\n.forminator-custom-form.forminator-design--bold .forminator-textarea:disabled {\n pointer-events: none;\n border-style: dotted;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-input:disabled:-moz-placeholder,\n.forminator-custom-form.forminator-design--bold .forminator-textarea:disabled:-moz-placeholder {\n filter: alpha(opacity=40);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);\n opacity: .4;\n -khtml-opacity: .4;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-input:disabled::-moz-placeholder,\n.forminator-custom-form.forminator-design--bold .forminator-textarea:disabled::-moz-placeholder {\n filter: alpha(opacity=40);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);\n opacity: .4;\n -khtml-opacity: .4;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-input:disabled:-ms-input-placeholder,\n.forminator-custom-form.forminator-design--bold .forminator-textarea:disabled:-ms-input-placeholder {\n filter: alpha(opacity=40);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);\n opacity: .4;\n -khtml-opacity: .4;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-input:disabled::-webkit-input-placeholder,\n.forminator-custom-form.forminator-design--bold .forminator-textarea:disabled::-webkit-input-placeholder {\n filter: alpha(opacity=40);\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);\n opacity: .4;\n -khtml-opacity: .4;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-textarea {\n height: auto;\n min-height: 140px;\n resize: vertical;\n}\n\n.forminator-custom-form.forminator-design--bold .intl-tel-input {\n display: block;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-input,\n.forminator-custom-form.forminator-design--bold .forminator-textarea {\n line-height: 20px;\n transition: 0.3s ease;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-input {\n padding: 7px;\n border-width: 3px;\n border-style: solid;\n border-radius: 0;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-textarea {\n padding: 7px;\n border-width: 3px;\n border-style: solid;\n border-radius: 0;\n}\n\n.forminator-custom-form.forminator-design--bold .forminator-input {\n height: 40px;\n}\n\n.forminator-custom-form.forminator-design--bold {\n margin: 20px auto;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n}\n\n.forminator-custom-form.forminator-design--bold:first-child {\n ma
|