Version Description
- 2020-07-30 =
- New: Introduced working in Draft
- New: Links to Support and Docs in left sidebar
- New: Brizy Sync functionality for blocks and layouts
- New: You can Clear or Save an entire layout
- New: Absolute and Fixed positions for elements
- Improved: Increased the size limit of Image population to 5000px
- Improved: Enabled shape option on responsive for all Sections
- Improved: Updated Google Fonts list
- Improved: Added Animation options on all elements
- Improved: Re-written =
Download this release
Release Info
Developer | themefusecom |
Plugin | Brizy – Page Builder |
Version | 1.0.127 |
Comparing to | |
See all releases |
Code changes from version 1.0.126 to 1.0.127
- README.md +33 -6
- admin/abstract-widget.php +2 -2
- admin/blocks/api.php +407 -113
- admin/blocks/main.php +17 -16
- admin/blocks/manager.php +202 -0
- admin/cloud-deprecated.php +237 -0
- admin/cloud.php +371 -0
- admin/cloud/abstract-bridge.php +21 -0
- admin/cloud/api.php +213 -0
- admin/cloud/block-bridge.php +135 -0
- admin/cloud/bridge-interface.php +26 -0
- admin/cloud/client.php +733 -0
- admin/cloud/cron.php +61 -0
- admin/cloud/font-bridge.php +103 -0
- admin/cloud/layout-bridge.php +137 -0
- admin/cloud/media-bridge.php +78 -0
- admin/cloud/popup-bridge.php +96 -0
- admin/cloud/proxy.php +59 -0
- admin/cloud/screenshot-bridge.php +47 -0
- admin/cloud/sync-aware.php +130 -0
- admin/dashboard-widget.php +1 -1
- admin/entity/abstract-manager.php +124 -0
- admin/entity/manager-interface.php +11 -0
- admin/fonts/api.php +7 -6
- admin/fonts/handler.php +5 -4
- admin/fonts/manager.php +76 -4
- admin/form-entries.php +98 -4
- admin/layouts/api.php +285 -0
- admin/layouts/main.php +77 -0
- admin/layouts/manager.php +199 -0
- admin/main.php +56 -21
- admin/migrations.php +1 -1
- admin/migrations/global-blocks-to-custom-post-migration.php +0 -1
- admin/migrations/globals-to-data-migration.php +5 -2
- admin/migrations/screenshot-migration.php +86 -0
- admin/migrations/shortcodes-mobile-one-migration.php +5 -0
- admin/optimize-images.php +43 -26
- admin/popups/main.php +12 -13
- admin/post/brizy-posts-monitor.php +1 -0
- admin/post/revision-manager.php +24 -12
- admin/rule.php +53 -18
- admin/rules/api.php +418 -23
- admin/rules/manager.php +1 -1
- admin/rules/template-rule-validator.php +4 -3
- admin/settings.php +5 -5
- admin/static/css/style.css +81 -11
- admin/static/js/cloud.js +36 -0
- admin/static/js/featured-image.js +34 -5
- admin/static/js/rules.js +359 -176
- admin/templates.php +215 -80
- admin/views/cloud/cloud-base.html.twig +6 -0
- admin/views/cloud/cloud-login.html.twig +32 -0
- admin/views/cloud/cloud-projects.html.twig +40 -0
- admin/views/cloud/cloud.html.twig +7 -0
- admin/views/featured-image.html.twig +58 -41
- admin/views/optimizer/optimizer-settings.html.twig +1 -1
- brizy.php +25 -9
- compatibilities/autoptimize.php +1 -1
- compatibilities/fast-velocity-minify.php +3 -2
- compatibilities/gutenberg.php +1 -17
- compatibilities/init.php +8 -4
- compatibilities/lite-speed.php +7 -10
- compatibilities/phastpress.php +1 -1
- compatibilities/seo-press.php +2 -9
- compatibilities/sg-optimizer.php +1 -1
- compatibilities/tp-add-on-language-by-get-parameter.php +21 -0
- compatibilities/webcraftic-clearfy.php +1 -1
- compatibilities/wordpress-mu-domain-mapping.php +1 -1
- compatibilities/wpml.php +10 -24
- compatibilities/yoast-seo.php +45 -1
- config.php +19 -1
- content/placeholder-extractor.php +1 -1
- content/placeholders/permalink.php +1 -3
- editor.php +88 -32
- editor/accounts/api.php +11 -10
- editor/api.php +222 -263
- editor/api/client.php +5 -4
- editor/asset/attachment-aware.php +32 -0
- editor/asset/cleaner.php +46 -0
- editor/asset/media-asset-processor.php +12 -9
- editor/asset/optimize/bunny-cdn-optimizer.php +132 -0
- editor/asset/optimize/optimizer.php +7 -5
- editor/asset/optimize/shortpixel-optimizer.php +11 -0
- editor/asset/static-file.php +1 -1
- editor/asset/svg-asset-processor.php +4 -3
- editor/block-position.php +50 -18
- editor/block-screenshot-api.php +24 -156
- editor/block.php +239 -39
- editor/constants.php +1 -4
- editor/crop-cache-media.php +7 -31
- editor/editor/editor.php +887 -804
- editor/entity.php +44 -2
- editor/forms/abstract-integration.php +4 -1
- editor/forms/api.php +31 -30
- editor/forms/form.php +7 -6
- editor/forms/smtp-integration.php +11 -9
- editor/forms/wordpress-integration.php +4 -3
- editor/layout.php +248 -0
- editor/popup.php +267 -0
- editor/post.php +91 -47
- editor/post3.php +1 -1
- editor/project.php +91 -19
- editor/rest-extend.php +26 -1
- editor/screenshot/manager.php +144 -0
- editor/synchronizable.php +139 -0
- editor/url-builder.php +33 -2
- editor/user.php +45 -117
- maintenance-mode.php +29 -8
- public/asset-proxy.php +11 -11
- public/attachment-proxy.php +5 -5
- public/block-screenshot-proxy.php +24 -46
- public/crop-proxy.php +22 -13
- public/editor-build/144-wp/editor/css/editor.css +0 -5927
README.md
CHANGED
@@ -1,9 +1,9 @@
|
|
1 |
# Brizy - Page Builder
|
2 |
Contributors: themefuse<br>
|
3 |
Requires at least: 4.5<br>
|
4 |
-
Tested up to: 5.
|
5 |
Requires PHP: 5.6<br>
|
6 |
-
Stable tag: 1.0.
|
7 |
License: GPLv3<br>
|
8 |
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
9 |
|
@@ -118,11 +118,38 @@ $bodyHtml = apply_filters( 'brizy_content', $html->get_body(), Brizy_Editor_Proj
|
|
118 |
|
119 |
## Changelog
|
120 |
|
121 |
-
### 1.0.
|
122 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
123 |
|
124 |
### 1.0.125 - 2020-06-02 ###
|
125 |
-
*
|
126 |
|
127 |
### 1.0.124 - 2020-04-25 ###
|
128 |
* New: Switched Nucleo icons for Font Awesome
|
@@ -146,7 +173,7 @@ $bodyHtml = apply_filters( 'brizy_content', $html->get_body(), Brizy_Editor_Proj
|
|
146 |
* Fixed: Added backward compatibility with old PRO plugins
|
147 |
|
148 |
### 1.0.120 - 2020-03-26 ###
|
149 |
-
*
|
150 |
|
151 |
### 1.0.119 - 2020-03-25 ###
|
152 |
* Fixed: Tooltip position
|
1 |
# Brizy - Page Builder
|
2 |
Contributors: themefuse<br>
|
3 |
Requires at least: 4.5<br>
|
4 |
+
Tested up to: 5.4.2<br>
|
5 |
Requires PHP: 5.6<br>
|
6 |
+
Stable tag: 1.0.127<br>
|
7 |
License: GPLv3<br>
|
8 |
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
9 |
|
118 |
|
119 |
## Changelog
|
120 |
|
121 |
+
### 1.0.127 - 2020-07-30 ###
|
122 |
+
* New: Introduced working in Draft
|
123 |
+
* New: Links to Support and Docs in left sidebar
|
124 |
+
* New: Brizy Sync functionality for blocks and layouts
|
125 |
+
* New: You can Clear or Save an entire layout
|
126 |
+
* New: Absolute and Fixed positions for elements
|
127 |
+
* Improved: Increased the size limit of Image population to 5000px
|
128 |
+
* Improved: Enabled shape option on responsive for all Sections
|
129 |
+
* Improved: Updated Google Fonts list
|
130 |
+
* Improved: Added Animation options on all elements
|
131 |
+
* Improved: Re-written ## Changelog extended the Image element (added fixed px size)
|
132 |
+
* Improved: Plugin loading
|
133 |
+
* Improved: Sent post directly in the get_the_content post content element
|
134 |
+
* Improved: Increased the size limit of Image population to 5000px
|
135 |
+
* Improved: Enabled shape option on responsive for all Sections
|
136 |
+
* Fixed: Section tag name
|
137 |
+
* Fixed: Global block toolbar icon
|
138 |
+
* Fixed: Removed content editable attribute on texts at preview
|
139 |
+
* Fixed: Toolbar positioning inside popups
|
140 |
+
* Fixed: TextEditor at undo / redo
|
141 |
+
* Fixed: Background video loop
|
142 |
+
* Fixed: Form select responsive width at preview
|
143 |
+
* Fixed: Section padding resize width
|
144 |
+
* Fixed: Ignore empty data values when updating global blocks
|
145 |
+
* Fixed: Changed the update global blocks to allow to update blocks without sending the data
|
146 |
+
* Fixed: Revision for compile page on preview
|
147 |
+
* Fixed: Compatibility with TranslatePress (Language by GET parameter)
|
148 |
+
* Fixed: Compatibility with LiteSpeed plugin
|
149 |
+
* Fixed: Missing translation ready strings
|
150 |
|
151 |
### 1.0.125 - 2020-06-02 ###
|
152 |
+
* Fixed: Security fixes
|
153 |
|
154 |
### 1.0.124 - 2020-04-25 ###
|
155 |
* New: Switched Nucleo icons for Font Awesome
|
173 |
* Fixed: Added backward compatibility with old PRO plugins
|
174 |
|
175 |
### 1.0.120 - 2020-03-26 ###
|
176 |
+
* Fixed: Failed to enqueue script Select2
|
177 |
|
178 |
### 1.0.119 - 2020-03-25 ###
|
179 |
* Fixed: Tooltip position
|
admin/abstract-widget.php
CHANGED
@@ -27,6 +27,6 @@ abstract class Brizy_Admin_AbstractWidget {
|
|
27 |
throw new Exception( 'You should return an Id for the widget' );
|
28 |
}
|
29 |
|
30 |
-
return Brizy_Editor::
|
31 |
}
|
32 |
-
}
|
27 |
throw new Exception( 'You should return an Id for the widget' );
|
28 |
}
|
29 |
|
30 |
+
return Brizy_Editor::get_slug() . '_' . $id;
|
31 |
}
|
32 |
+
}
|
admin/blocks/api.php
CHANGED
@@ -11,18 +11,18 @@ class Brizy_Admin_Blocks_Api extends Brizy_Admin_AbstractApi {
|
|
11 |
|
12 |
const nonce = 'brizy-api';
|
13 |
|
14 |
-
const
|
15 |
-
const
|
16 |
-
|
17 |
-
const CREATE_GLOBAL_BLOCK_ACTION = '
|
18 |
-
const
|
19 |
-
|
20 |
-
const UPDATE_GLOBAL_BLOCK_ACTION = '
|
21 |
-
const
|
22 |
-
const
|
23 |
-
|
24 |
-
const DELETE_SAVED_BLOCK_ACTION = '
|
25 |
-
const
|
26 |
|
27 |
/**
|
28 |
* @var Brizy_Admin_Rules_Manager
|
@@ -58,38 +58,30 @@ class Brizy_Admin_Blocks_Api extends Brizy_Admin_AbstractApi {
|
|
58 |
}
|
59 |
|
60 |
protected function initializeApiActions() {
|
61 |
-
|
62 |
-
add_action(
|
63 |
-
add_action(
|
64 |
-
add_action(
|
65 |
-
add_action(
|
66 |
-
add_action(
|
67 |
-
add_action(
|
68 |
-
|
69 |
-
add_action(
|
|
|
|
|
|
|
|
|
|
|
70 |
}
|
71 |
|
72 |
public function actionGetGlobalBlocks() {
|
73 |
$this->verifyNonce( self::nonce );
|
74 |
|
75 |
try {
|
76 |
-
$
|
77 |
-
|
78 |
-
$
|
79 |
-
|
80 |
-
} catch ( Exception $exception ) {
|
81 |
-
$this->error( 400, $exception->getMessage() );
|
82 |
-
}
|
83 |
-
}
|
84 |
-
|
85 |
-
public function actionGetSavedBlocks() {
|
86 |
-
$this->verifyNonce( self::nonce );
|
87 |
-
|
88 |
-
try {
|
89 |
-
$blocks = Brizy_Editor_Block::getBlocksByType( Brizy_Admin_Blocks_Main::CP_SAVED );
|
90 |
-
|
91 |
-
$this->success( $blocks );
|
92 |
-
|
93 |
} catch ( Exception $exception ) {
|
94 |
$this->error( 400, $exception->getMessage() );
|
95 |
}
|
@@ -105,12 +97,25 @@ class Brizy_Admin_Blocks_Api extends Brizy_Admin_AbstractApi {
|
|
105 |
if ( ! $this->param( 'data' ) ) {
|
106 |
$this->error( 400, 'Invalid data' );
|
107 |
}
|
|
|
|
|
|
|
|
|
108 |
|
109 |
try {
|
110 |
$editorData = stripslashes( $this->param( 'data' ) );
|
111 |
$position = stripslashes( $this->param( 'position' ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
112 |
|
113 |
-
$
|
|
|
|
|
|
|
114 |
$block->set_editor_data( $editorData );
|
115 |
$block->set_needs_compile( true );
|
116 |
|
@@ -119,13 +124,14 @@ class Brizy_Admin_Blocks_Api extends Brizy_Admin_AbstractApi {
|
|
119 |
}
|
120 |
|
121 |
// rules
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
|
127 |
$block->save();
|
128 |
|
|
|
129 |
do_action( 'brizy_global_data_updated' );
|
130 |
|
131 |
$this->success( $block->createResponse() );
|
@@ -135,32 +141,73 @@ class Brizy_Admin_Blocks_Api extends Brizy_Admin_AbstractApi {
|
|
135 |
}
|
136 |
}
|
137 |
|
138 |
-
public function
|
139 |
$this->verifyNonce( self::nonce );
|
140 |
|
141 |
-
|
142 |
-
$this->error( 400, 'Invalid uid' );
|
143 |
-
}
|
144 |
|
145 |
-
|
146 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
147 |
}
|
148 |
|
|
|
|
|
|
|
|
|
|
|
|
|
149 |
|
150 |
-
|
151 |
-
$data = stripslashes( $this->param( 'data' ) );
|
152 |
-
$block = $this->createBlock( $this->param( 'uid' ), 'publish', Brizy_Admin_Blocks_Main::CP_SAVED );
|
153 |
-
$block->set_editor_data( $data );
|
154 |
-
$block->set_needs_compile( true );
|
155 |
-
$block->save();
|
156 |
|
157 |
-
|
|
|
|
|
|
|
158 |
|
159 |
-
|
|
|
|
|
160 |
|
161 |
-
|
162 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
163 |
}
|
|
|
164 |
}
|
165 |
|
166 |
public function actionUpdateGlobalBlock() {
|
@@ -176,37 +223,252 @@ class Brizy_Admin_Blocks_Api extends Brizy_Admin_AbstractApi {
|
|
176 |
$this->error( '400', 'Invalid data' );
|
177 |
}
|
178 |
|
|
|
|
|
|
|
|
|
179 |
if ( $this->param( 'dataVersion' ) === null ) {
|
180 |
$this->error( '400', 'Invalid data version' );
|
181 |
}
|
182 |
|
|
|
183 |
|
184 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
185 |
/**
|
186 |
* @var Brizy_Editor_Block $block ;
|
187 |
*/
|
|
|
188 |
$block->set_editor_data( stripslashes( $this->param( 'data' ) ) );
|
189 |
-
$block->setDataVersion( $this->param( 'dataVersion' ) );
|
190 |
-
$position = stripslashes( $this->param( 'position' ) );
|
191 |
-
|
192 |
-
if ( $position ) {
|
193 |
-
$block->setPosition( Brizy_Editor_BlockPosition::createFromSerializedData( get_object_vars( json_decode( $position ) ) ) );
|
194 |
-
}
|
195 |
-
|
196 |
-
// rules
|
197 |
-
$rulesData = stripslashes( $this->param( 'rules' ) );
|
198 |
-
$rules = $this->ruleManager->createRulesFromJson( $rulesData, Brizy_Admin_Blocks_Main::CP_GLOBAL );
|
199 |
-
|
200 |
-
$this->ruleManager->setRules( $block->getWpPostId(), $rules );
|
201 |
|
202 |
if ( (int) $this->param( 'is_autosave' ) ) {
|
203 |
$block->save( 1 );
|
204 |
} else {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
205 |
$block->save( 0 );
|
|
|
|
|
206 |
do_action( 'brizy_global_data_updated' );
|
207 |
}
|
208 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
209 |
$this->success( $block->createResponse() );
|
|
|
210 |
} catch ( Exception $exception ) {
|
211 |
$this->error( 400, $exception->getMessage() );
|
212 |
}
|
@@ -228,7 +490,16 @@ class Brizy_Admin_Blocks_Api extends Brizy_Admin_AbstractApi {
|
|
228 |
$this->error( '400', 'Invalid data version' );
|
229 |
}
|
230 |
|
231 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
232 |
|
233 |
if ( ! $block instanceof Brizy_Editor_Block ) {
|
234 |
$this->error( '404', 'Block not found' );
|
@@ -236,48 +507,49 @@ class Brizy_Admin_Blocks_Api extends Brizy_Admin_AbstractApi {
|
|
236 |
|
237 |
$block->set_editor_data( stripslashes( $this->param( 'data' ) ) );
|
238 |
$block->setDataVersion( $this->param( 'dataVersion' ) );
|
|
|
|
|
239 |
|
240 |
if ( (int) $this->param( 'is_autosave' ) ) {
|
241 |
$block->save( 1 );
|
242 |
} else {
|
243 |
$block->save();
|
|
|
244 |
do_action( 'brizy_global_data_updated' );
|
245 |
}
|
246 |
|
247 |
-
|
|
|
|
|
248 |
} catch ( Exception $exception ) {
|
249 |
$this->error( 400, $exception->getMessage() );
|
250 |
}
|
251 |
}
|
252 |
|
253 |
-
public function
|
254 |
$this->verifyNonce( self::nonce );
|
255 |
|
256 |
if ( ! $this->param( 'uid' ) ) {
|
257 |
$this->error( '400', 'Invalid uid' );
|
258 |
}
|
259 |
|
260 |
-
|
261 |
-
|
262 |
-
$this->
|
263 |
-
}
|
264 |
-
|
265 |
-
$this->error( '404', 'Block not found' );
|
266 |
-
}
|
267 |
-
|
268 |
-
public function actionDeleteSavedBlock() {
|
269 |
-
$this->verifyNonce( self::nonce );
|
270 |
|
271 |
-
|
272 |
-
$this->error( '400', 'Invalid uid' );
|
273 |
-
}
|
274 |
|
275 |
-
|
276 |
-
|
277 |
-
|
|
|
|
|
|
|
|
|
|
|
278 |
}
|
279 |
|
280 |
-
$this->
|
281 |
}
|
282 |
|
283 |
public function actionUpdateBlockPositions() {
|
@@ -286,24 +558,44 @@ class Brizy_Admin_Blocks_Api extends Brizy_Admin_AbstractApi {
|
|
286 |
|
287 |
$this->verifyNonce( self::nonce );
|
288 |
|
289 |
-
|
290 |
-
$this->error( '400', 'Invalid data version' );
|
291 |
-
}
|
292 |
|
293 |
-
$
|
294 |
-
|
|
|
|
|
|
|
295 |
|
296 |
-
$wpdb->query( 'START TRANSACTION
|
297 |
|
298 |
try {
|
299 |
|
300 |
-
foreach ( get_object_vars( $
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
301 |
|
302 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
303 |
|
304 |
-
$block = $this->getBlock( $uid, Brizy_Admin_Blocks_Main::CP_GLOBAL );
|
305 |
$block->setPosition( $positionObj );
|
306 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
307 |
}
|
308 |
|
309 |
do_action( 'brizy_global_data_updated' );
|
@@ -312,11 +604,10 @@ class Brizy_Admin_Blocks_Api extends Brizy_Admin_AbstractApi {
|
|
312 |
|
313 |
} catch ( Exception $e ) {
|
314 |
$wpdb->query( 'ROLLBACK' );
|
315 |
-
|
316 |
$this->error( '400', 'Unable to save block positions' );
|
317 |
}
|
318 |
|
319 |
-
$this->success( json_encode( $
|
320 |
}
|
321 |
|
322 |
|
@@ -371,7 +662,11 @@ class Brizy_Admin_Blocks_Api extends Brizy_Admin_AbstractApi {
|
|
371 |
private function getBlock( $id, $postType ) {
|
372 |
$postId = $this->getBlockIdByUidAndBlockType( $id, $postType );
|
373 |
|
374 |
-
|
|
|
|
|
|
|
|
|
375 |
}
|
376 |
|
377 |
/**
|
@@ -379,7 +674,7 @@ class Brizy_Admin_Blocks_Api extends Brizy_Admin_AbstractApi {
|
|
379 |
* @param $status
|
380 |
* @param $type
|
381 |
*
|
382 |
-
* @return Brizy_Editor_Block
|
383 |
* @throws Brizy_Editor_Exceptions_NotFound
|
384 |
*/
|
385 |
private function createBlock( $uid, $status, $type ) {
|
@@ -403,19 +698,18 @@ class Brizy_Admin_Blocks_Api extends Brizy_Admin_AbstractApi {
|
|
403 |
throw new Exception( 'Unable to create block' );
|
404 |
}
|
405 |
|
406 |
-
|
407 |
/**
|
408 |
* @param $postUid
|
409 |
* @param $postType
|
410 |
*
|
411 |
* @return false|WP_Post|null
|
412 |
*/
|
413 |
-
private function deleteBlock( $
|
414 |
|
415 |
-
|
416 |
-
|
417 |
-
return wp_delete_post( $postId );
|
418 |
-
}
|
419 |
|
|
|
420 |
|
421 |
-
|
|
|
|
11 |
|
12 |
const nonce = 'brizy-api';
|
13 |
|
14 |
+
const GET_SAVED_BLOCK_ACTION = '-get-saved-block';
|
15 |
+
const GET_GLOBAL_BLOCKS_ACTION = '-get-global-blocks';
|
16 |
+
const GET_SAVED_BLOCKS_ACTION = '-get-saved-blocks';
|
17 |
+
const CREATE_GLOBAL_BLOCK_ACTION = '-create-global-block';
|
18 |
+
const CREATE_GLOBAL_BLOCKS_ACTION = '-create-global-blocks';
|
19 |
+
const CREATE_SAVED_BLOCK_ACTION = '-create-saved-block';
|
20 |
+
const UPDATE_GLOBAL_BLOCK_ACTION = '-update-global-block';
|
21 |
+
const UPDATE_GLOBAL_BLOCKS_ACTION = '-update-global-blocks';
|
22 |
+
const UPDATE_SAVED_BLOCK_ACTION = '-saved-global-block';
|
23 |
+
const DELETE_GLOBAL_BLOCK_ACTION = '-delete-global-block';
|
24 |
+
const DELETE_SAVED_BLOCK_ACTION = '-delete-saved-block';
|
25 |
+
const UPDATE_POSITIONS_ACTION = '-update-block-positions';
|
26 |
|
27 |
/**
|
28 |
* @var Brizy_Admin_Rules_Manager
|
58 |
}
|
59 |
|
60 |
protected function initializeApiActions() {
|
61 |
+
$pref = 'wp_ajax_' . Brizy_Editor::prefix();
|
62 |
+
add_action( $pref . self::GET_GLOBAL_BLOCKS_ACTION, array( $this, 'actionGetGlobalBlocks' ) );
|
63 |
+
add_action( $pref . self::CREATE_GLOBAL_BLOCK_ACTION, array( $this, 'actionCreateGlobalBlock' ) );
|
64 |
+
add_action( $pref . self::CREATE_GLOBAL_BLOCKS_ACTION, array( $this, 'actionCreateGlobalBlocks' ) );
|
65 |
+
add_action( $pref . self::UPDATE_GLOBAL_BLOCK_ACTION, array( $this, 'actionUpdateGlobalBlock' ) );
|
66 |
+
add_action( $pref . self::UPDATE_GLOBAL_BLOCKS_ACTION, array( $this, 'actionUpdateGlobalBlocks' ) );
|
67 |
+
add_action( $pref . self::DELETE_GLOBAL_BLOCK_ACTION, array( $this, 'actionDeleteGlobalBlock' ) );
|
68 |
+
|
69 |
+
add_action( $pref . self::GET_SAVED_BLOCKS_ACTION, array( $this, 'actionGetSavedBlocks' ) );
|
70 |
+
add_action( $pref . self::GET_SAVED_BLOCK_ACTION, array( $this, 'actionGetSavedBlockByUid' ) );
|
71 |
+
add_action( $pref . self::UPDATE_SAVED_BLOCK_ACTION, array( $this, 'actionUpdateSavedBlock' ) );
|
72 |
+
add_action( $pref . self::CREATE_SAVED_BLOCK_ACTION, array( $this, 'actionCreateSavedBlock' ) );
|
73 |
+
add_action( $pref . self::DELETE_SAVED_BLOCK_ACTION, array( $this, 'actionDeleteSavedBlock' ) );
|
74 |
+
add_action( $pref . self::UPDATE_POSITIONS_ACTION, array( $this, 'actionUpdateBlockPositions' ) );
|
75 |
}
|
76 |
|
77 |
public function actionGetGlobalBlocks() {
|
78 |
$this->verifyNonce( self::nonce );
|
79 |
|
80 |
try {
|
81 |
+
$fields = $this->param( 'fields' ) ? $this->param( 'fields' ) : [];
|
82 |
+
$bockManager = new Brizy_Admin_Blocks_Manager( Brizy_Admin_Blocks_Main::CP_GLOBAL );
|
83 |
+
$blocks = $bockManager->getEntities( [] );
|
84 |
+
$this->success( $bockManager->createResponseForEntities( $blocks, $fields ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
85 |
} catch ( Exception $exception ) {
|
86 |
$this->error( 400, $exception->getMessage() );
|
87 |
}
|
97 |
if ( ! $this->param( 'data' ) ) {
|
98 |
$this->error( 400, 'Invalid data' );
|
99 |
}
|
100 |
+
if ( ! $this->param( 'meta' ) ) {
|
101 |
+
$this->error( 400, 'Invalid meta data' );
|
102 |
+
}
|
103 |
+
|
104 |
|
105 |
try {
|
106 |
$editorData = stripslashes( $this->param( 'data' ) );
|
107 |
$position = stripslashes( $this->param( 'position' ) );
|
108 |
+
$status = stripslashes( $this->param( 'status' ) );
|
109 |
+
$rulesData = stripslashes( $this->param( 'rules' ) );
|
110 |
+
|
111 |
+
if ( ! in_array( $status, [ 'publish', 'draft' ] ) ) {
|
112 |
+
$this->error( 400, "Invalid status" );
|
113 |
+
}
|
114 |
|
115 |
+
$bockManager = new Brizy_Admin_Blocks_Manager( Brizy_Admin_Blocks_Main::CP_GLOBAL );
|
116 |
+
|
117 |
+
$block = $bockManager->createEntity( $this->param( 'uid' ), $status );
|
118 |
+
$block->setMeta( stripslashes( $this->param( 'meta' ) ) );
|
119 |
$block->set_editor_data( $editorData );
|
120 |
$block->set_needs_compile( true );
|
121 |
|
124 |
}
|
125 |
|
126 |
// rules
|
127 |
+
if ( $rulesData ) {
|
128 |
+
$rules = $this->ruleManager->createRulesFromJson( $rulesData, Brizy_Admin_Blocks_Main::CP_GLOBAL );
|
129 |
+
$this->ruleManager->addRules( $block->getWpPostId(), $rules );
|
130 |
+
}
|
131 |
|
132 |
$block->save();
|
133 |
|
134 |
+
do_action( 'brizy_global_block_created', $block );
|
135 |
do_action( 'brizy_global_data_updated' );
|
136 |
|
137 |
$this->success( $block->createResponse() );
|
141 |
}
|
142 |
}
|
143 |
|
144 |
+
public function actionCreateGlobalBlocks() {
|
145 |
$this->verifyNonce( self::nonce );
|
146 |
|
147 |
+
$blocks = [];
|
|
|
|
|
148 |
|
149 |
+
// validation sections
|
150 |
+
foreach ( $this->param( 'uid' ) as $i => $uid ) {
|
151 |
+
$status = stripslashes( $this->param( 'status' )[ $i ] );
|
152 |
+
|
153 |
+
if ( ! $this->param( 'uid' )[ $i ] ) {
|
154 |
+
$this->error( 400, 'Invalid uid' );
|
155 |
+
}
|
156 |
+
|
157 |
+
if ( ! $this->param( 'data' )[ $i ] ) {
|
158 |
+
$this->error( 400, 'Invalid data' );
|
159 |
+
}
|
160 |
+
if ( ! $this->param( 'meta' )[ $i ] ) {
|
161 |
+
$this->error( 400, 'Invalid meta data' );
|
162 |
+
}
|
163 |
+
|
164 |
+
if ( ! in_array( $status, [ 'publish', 'draft' ] ) ) {
|
165 |
+
$this->error( 400, "Invalid status for block" );
|
166 |
+
}
|
167 |
}
|
168 |
|
169 |
+
foreach ( $this->param( 'uid' ) as $i => $uid ) {
|
170 |
+
try {
|
171 |
+
$editorData = stripslashes( $this->param( 'data' )[ $i ] );
|
172 |
+
$position = stripslashes( $this->param( 'position' )[ $i ] );
|
173 |
+
$status = stripslashes( $this->param( 'status' )[ $i ] );
|
174 |
+
$rulesData = stripslashes( $this->param( 'rules' )[ $i ] );
|
175 |
|
176 |
+
$bockManager = new Brizy_Admin_Blocks_Manager( Brizy_Admin_Blocks_Main::CP_GLOBAL );
|
|
|
|
|
|
|
|
|
|
|
177 |
|
178 |
+
$block = $bockManager->createEntity( $this->param( 'uid' )[ $i ], $status );
|
179 |
+
$block->setMeta( stripslashes( $this->param( 'meta' )[ $i ] ) );
|
180 |
+
$block->set_editor_data( $editorData );
|
181 |
+
$block->set_needs_compile( true );
|
182 |
|
183 |
+
if ( $position ) {
|
184 |
+
$block->setPosition( Brizy_Editor_BlockPosition::createFromSerializedData( get_object_vars( json_decode( $position ) ) ) );
|
185 |
+
}
|
186 |
|
187 |
+
// rules
|
188 |
+
if ( $rulesData ) {
|
189 |
+
$rules = $this->ruleManager->createRulesFromJson( $rulesData, Brizy_Admin_Blocks_Main::CP_GLOBAL );
|
190 |
+
$this->ruleManager->addRules( $block->getWpPostId(), $rules );
|
191 |
+
}
|
192 |
+
|
193 |
+
$block->save();
|
194 |
+
|
195 |
+
$blocks[] = $block;
|
196 |
+
|
197 |
+
do_action( 'brizy_global_block_created', $block );
|
198 |
+
|
199 |
+
} catch ( Exception $exception ) {
|
200 |
+
$this->error( 400, $exception->getMessage() );
|
201 |
+
}
|
202 |
+
}
|
203 |
+
|
204 |
+
do_action( 'brizy_global_data_updated' );
|
205 |
+
|
206 |
+
$response = [];
|
207 |
+
foreach ( $blocks as $block ) {
|
208 |
+
$response[] = $block->createResponse();
|
209 |
}
|
210 |
+
$this->success( $response );
|
211 |
}
|
212 |
|
213 |
public function actionUpdateGlobalBlock() {
|
223 |
$this->error( '400', 'Invalid data' );
|
224 |
}
|
225 |
|
226 |
+
if ( ! $this->param( 'meta' ) ) {
|
227 |
+
$this->error( 400, 'Invalid meta data' );
|
228 |
+
}
|
229 |
+
|
230 |
if ( $this->param( 'dataVersion' ) === null ) {
|
231 |
$this->error( '400', 'Invalid data version' );
|
232 |
}
|
233 |
|
234 |
+
$status = stripslashes( $this->param( 'status' ) );
|
235 |
|
236 |
+
if ( ! in_array( $status, [ 'publish', 'draft' ] ) ) {
|
237 |
+
$this->error( 400, "Invalid post type" );
|
238 |
+
}
|
239 |
+
|
240 |
+
$bockManager = new Brizy_Admin_Blocks_Manager( Brizy_Admin_Blocks_Main::CP_GLOBAL );
|
241 |
+
$block = $bockManager->getEntity( $this->param( 'uid' ) );
|
242 |
+
|
243 |
+
if ( ! $block ) {
|
244 |
+
$this->error( 400, "Global block not found" );
|
245 |
+
}
|
246 |
/**
|
247 |
* @var Brizy_Editor_Block $block ;
|
248 |
*/
|
249 |
+
$block->setMeta( stripslashes( $this->param( 'meta' ) ) );
|
250 |
$block->set_editor_data( stripslashes( $this->param( 'data' ) ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
251 |
|
252 |
if ( (int) $this->param( 'is_autosave' ) ) {
|
253 |
$block->save( 1 );
|
254 |
} else {
|
255 |
+
|
256 |
+
$block->setDataVersion( $this->param( 'dataVersion' ) );
|
257 |
+
$block->getWpPost()->post_status = $status;
|
258 |
+
|
259 |
+
// position
|
260 |
+
$position = stripslashes( $this->param( 'position' ) );
|
261 |
+
if ( $position ) {
|
262 |
+
$block->setPosition( Brizy_Editor_BlockPosition::createFromSerializedData( get_object_vars( json_decode( $position ) ) ) );
|
263 |
+
}
|
264 |
+
|
265 |
+
// rules
|
266 |
+
$rulesData = stripslashes( $this->param( 'rules' ) );
|
267 |
+
if ( $rulesData ) {
|
268 |
+
$rules = $this->ruleManager->createRulesFromJson( $rulesData, Brizy_Admin_Blocks_Main::CP_GLOBAL );
|
269 |
+
$this->ruleManager->setRules( $block->getWpPostId(), $rules );
|
270 |
+
}
|
271 |
+
|
272 |
$block->save( 0 );
|
273 |
+
|
274 |
+
do_action( 'brizy_global_block_updated', $block );
|
275 |
do_action( 'brizy_global_data_updated' );
|
276 |
}
|
277 |
|
278 |
+
Brizy_Editor_Block::cleanClassCache();
|
279 |
+
|
280 |
+
$this->success( Brizy_Editor_Block::get( $block->getWpPostId() )->createResponse() );
|
281 |
+
} catch ( Exception $exception ) {
|
282 |
+
$this->error( 400, $exception->getMessage() );
|
283 |
+
}
|
284 |
+
}
|
285 |
+
|
286 |
+
public function actionUpdateGlobalBlocks() {
|
287 |
+
//$this->verifyNonce( self::nonce );
|
288 |
+
try {
|
289 |
+
|
290 |
+
foreach ( $this->param( 'uid' ) as $i => $uid ) {
|
291 |
+
|
292 |
+
if ( ! $this->param( 'uid' )[ $i ] ) {
|
293 |
+
$this->error( '400', 'Invalid uid' );
|
294 |
+
}
|
295 |
+
|
296 |
+
// if ( ! $this->param( 'data' )[ $i ] ) {
|
297 |
+
// $this->error( '400', 'Invalid data' );
|
298 |
+
// }
|
299 |
+
|
300 |
+
if ( ! $this->param( 'meta' )[ $i ] ) {
|
301 |
+
$this->error( 400, 'Invalid meta data' );
|
302 |
+
}
|
303 |
+
|
304 |
+
if ( $this->param( 'dataVersion' )[ $i ] === null ) {
|
305 |
+
$this->error( '400', 'Invalid data version' );
|
306 |
+
}
|
307 |
+
|
308 |
+
$status = stripslashes( $this->param( 'status' )[ $i ] );
|
309 |
+
|
310 |
+
if ( ! in_array( $status, [ 'publish', 'draft' ] ) ) {
|
311 |
+
$this->error( 400, "Invalid post type" );
|
312 |
+
}
|
313 |
+
}
|
314 |
+
|
315 |
+
|
316 |
+
$blocks = [];
|
317 |
+
|
318 |
+
foreach ( $this->param( 'uid' ) as $i => $uid ) {
|
319 |
+
$status = stripslashes( $this->param( 'status' )[ $i ] );
|
320 |
+
|
321 |
+
$bockManager = new Brizy_Admin_Blocks_Manager( Brizy_Admin_Blocks_Main::CP_GLOBAL );
|
322 |
+
$block = $bockManager->getEntity( $this->param( 'uid' )[ $i ] );
|
323 |
+
|
324 |
+
if ( ! $block ) {
|
325 |
+
$this->error( 400, "Global block not found" );
|
326 |
+
}
|
327 |
+
/**
|
328 |
+
* @var Brizy_Editor_Block $block ;
|
329 |
+
*/
|
330 |
+
$block->setMeta( stripslashes( $this->param( 'meta' )[ $i ] ) );
|
331 |
+
|
332 |
+
if(isset($this->param( 'data' )[ $i ]) && !empty($this->param( 'data' )[ $i ]))
|
333 |
+
{
|
334 |
+
$block->set_editor_data( stripslashes( $this->param( 'data' )[ $i ] ) );
|
335 |
+
}
|
336 |
+
|
337 |
+
if ( (int) $this->param( 'is_autosave' )[ $i ] ) {
|
338 |
+
$block->save( 1 );
|
339 |
+
} else {
|
340 |
+
|
341 |
+
$block->setDataVersion( $this->param( 'dataVersion' )[ $i ] );
|
342 |
+
$block->getWpPost()->post_status = $status;
|
343 |
+
|
344 |
+
// position
|
345 |
+
$position = stripslashes( $this->param( 'position' )[ $i ] );
|
346 |
+
if ( $position ) {
|
347 |
+
$block->setPosition( Brizy_Editor_BlockPosition::createFromSerializedData( get_object_vars( json_decode( $position ) ) ) );
|
348 |
+
}
|
349 |
+
|
350 |
+
// rules
|
351 |
+
$rulesData = stripslashes( $this->param( 'rules' )[ $i ] );
|
352 |
+
if ( $rulesData ) {
|
353 |
+
$rules = $this->ruleManager->createRulesFromJson( $rulesData, Brizy_Admin_Blocks_Main::CP_GLOBAL );
|
354 |
+
$this->ruleManager->setRules( $block->getWpPostId(), $rules );
|
355 |
+
}
|
356 |
+
|
357 |
+
$block->save( 0 );
|
358 |
+
|
359 |
+
do_action( 'brizy_global_block_updated', $block );
|
360 |
+
$blocks[] = $block;
|
361 |
+
}
|
362 |
+
|
363 |
+
}
|
364 |
+
do_action( 'brizy_global_data_updated' );
|
365 |
+
Brizy_Editor_Block::cleanClassCache();
|
366 |
+
|
367 |
+
$response = [];
|
368 |
+
foreach ( $blocks as $block ) {
|
369 |
+
$response[] = Brizy_Editor_Block::get( $block->getWpPostId() )->createResponse();
|
370 |
+
}
|
371 |
+
$this->success( $response );
|
372 |
+
|
373 |
+
|
374 |
+
} catch ( Exception $exception ) {
|
375 |
+
$this->error( 400, $exception->getMessage() );
|
376 |
+
}
|
377 |
+
}
|
378 |
+
|
379 |
+
public function actionDeleteGlobalBlock() {
|
380 |
+
$this->verifyNonce( self::nonce );
|
381 |
+
|
382 |
+
if ( ! $this->param( 'uid' ) ) {
|
383 |
+
$this->error( '400', 'Invalid uid' );
|
384 |
+
}
|
385 |
+
|
386 |
+
$block = $this->getBlock( $this->param( 'uid' ), Brizy_Admin_Blocks_Main::CP_GLOBAL );
|
387 |
+
|
388 |
+
if ( $block ) {
|
389 |
+
do_action( 'brizy_global_block_deleted', $block );
|
390 |
+
do_action( 'brizy_global_data_deleted' );
|
391 |
+
$this->deleteBlock( $block, Brizy_Admin_Blocks_Main::CP_GLOBAL );
|
392 |
+
$this->success( null );
|
393 |
+
}
|
394 |
+
|
395 |
+
$this->error( '404', 'Block not found' );
|
396 |
+
}
|
397 |
+
|
398 |
+
public function actionGetSavedBlocks() {
|
399 |
+
$this->verifyNonce( self::nonce );
|
400 |
+
|
401 |
+
try {
|
402 |
+
$fields = $this->param( 'fields' ) ? $this->param( 'fields' ) : [];
|
403 |
+
$bockManager = new Brizy_Admin_Blocks_Manager( Brizy_Admin_Blocks_Main::CP_SAVED );
|
404 |
+
$blocks = $bockManager->getEntities( [] );
|
405 |
+
$blocks = apply_filters( 'brizy_get_saved_blocks', $bockManager->createResponseForEntities( $blocks, $fields ), $fields, $bockManager );
|
406 |
+
$this->success( $blocks );
|
407 |
+
} catch ( Exception $exception ) {
|
408 |
+
$this->error( 400, $exception->getMessage() );
|
409 |
+
}
|
410 |
+
}
|
411 |
+
|
412 |
+
public function actionGetSavedBlockByUid() {
|
413 |
+
$this->verifyNonce( self::nonce );
|
414 |
+
|
415 |
+
if ( ! $this->param( 'uid' ) ) {
|
416 |
+
$this->error( 400, 'Invalid uid' );
|
417 |
+
}
|
418 |
+
|
419 |
+
$fields = $this->param( 'fields' ) ? $this->param( 'fields' ) : [];
|
420 |
+
|
421 |
+
try {
|
422 |
+
|
423 |
+
$bockManager = new Brizy_Admin_Blocks_Manager( Brizy_Admin_Blocks_Main::CP_SAVED );
|
424 |
+
$block = $bockManager->getEntity( $this->param( 'uid' ) );
|
425 |
+
|
426 |
+
$block = apply_filters( 'brizy_get_saved_block', $block, $this->param( 'uid' ), $bockManager );
|
427 |
+
|
428 |
+
if ( ! $block ) {
|
429 |
+
$this->error( 404, 'Block not found' );
|
430 |
+
}
|
431 |
+
|
432 |
+
$this->success( $block->createResponse( $fields ) );
|
433 |
+
} catch ( Exception $exception ) {
|
434 |
+
$this->error( 400, $exception->getMessage() );
|
435 |
+
}
|
436 |
+
}
|
437 |
+
|
438 |
+
public function actionCreateSavedBlock() {
|
439 |
+
$this->verifyNonce( self::nonce );
|
440 |
+
|
441 |
+
if ( ! $this->param( 'uid' ) ) {
|
442 |
+
$this->error( 400, 'Invalid uid' );
|
443 |
+
}
|
444 |
+
|
445 |
+
if ( ! $this->param( 'data' ) ) {
|
446 |
+
$this->error( 400, 'Invalid data' );
|
447 |
+
}
|
448 |
+
|
449 |
+
if ( ! $this->param( 'meta' ) ) {
|
450 |
+
$this->error( 400, 'Invalid meta data' );
|
451 |
+
}
|
452 |
+
|
453 |
+
if ( ! $this->param( 'media' ) ) {
|
454 |
+
$this->error( 400, 'Invalid media data provided' );
|
455 |
+
}
|
456 |
+
|
457 |
+
try {
|
458 |
+
$bockManager = new Brizy_Admin_Blocks_Manager( Brizy_Admin_Blocks_Main::CP_SAVED );
|
459 |
+
$block = $bockManager->createEntity( $this->param( 'uid' ) );
|
460 |
+
$block->setMedia( stripslashes( $this->param( 'media' ) ) );
|
461 |
+
$block->setMeta( stripslashes( $this->param( 'meta' ) ) );
|
462 |
+
$block->set_editor_data( stripslashes( $this->param( 'data' ) ) );
|
463 |
+
$block->set_needs_compile( true );
|
464 |
+
$block->setCloudUpdateRequired( true );
|
465 |
+
$block->save();
|
466 |
+
|
467 |
+
do_action( 'brizy_saved_block_created', $block );
|
468 |
+
do_action( 'brizy_global_data_updated' );
|
469 |
+
|
470 |
$this->success( $block->createResponse() );
|
471 |
+
|
472 |
} catch ( Exception $exception ) {
|
473 |
$this->error( 400, $exception->getMessage() );
|
474 |
}
|
490 |
$this->error( '400', 'Invalid data version' );
|
491 |
}
|
492 |
|
493 |
+
if ( ! $this->param( 'meta' ) ) {
|
494 |
+
$this->error( 400, 'Invalid meta data' );
|
495 |
+
}
|
496 |
+
|
497 |
+
if ( ! $this->param( 'media' ) ) {
|
498 |
+
$this->error( 400, 'Invalid media data provided' );
|
499 |
+
}
|
500 |
+
|
501 |
+
$bockManager = new Brizy_Admin_Blocks_Manager( Brizy_Admin_Blocks_Main::CP_SAVED );
|
502 |
+
$block = $bockManager->getEntity( $this->param( 'uid' ) );
|
503 |
|
504 |
if ( ! $block instanceof Brizy_Editor_Block ) {
|
505 |
$this->error( '404', 'Block not found' );
|
507 |
|
508 |
$block->set_editor_data( stripslashes( $this->param( 'data' ) ) );
|
509 |
$block->setDataVersion( $this->param( 'dataVersion' ) );
|
510 |
+
$block->setMedia( stripslashes( $this->param( 'media' ) ) );
|
511 |
+
$block->setMeta( stripslashes( $this->param( 'meta' ) ) );
|
512 |
|
513 |
if ( (int) $this->param( 'is_autosave' ) ) {
|
514 |
$block->save( 1 );
|
515 |
} else {
|
516 |
$block->save();
|
517 |
+
do_action( 'brizy_saved_block_updated', $block );
|
518 |
do_action( 'brizy_global_data_updated' );
|
519 |
}
|
520 |
|
521 |
+
Brizy_Editor_Block::cleanClassCache();
|
522 |
+
|
523 |
+
$this->success( Brizy_Editor_Block::get( $block->getWpPostId() )->createResponse() );
|
524 |
} catch ( Exception $exception ) {
|
525 |
$this->error( 400, $exception->getMessage() );
|
526 |
}
|
527 |
}
|
528 |
|
529 |
+
public function actionDeleteSavedBlock() {
|
530 |
$this->verifyNonce( self::nonce );
|
531 |
|
532 |
if ( ! $this->param( 'uid' ) ) {
|
533 |
$this->error( '400', 'Invalid uid' );
|
534 |
}
|
535 |
|
536 |
+
try {
|
537 |
+
$bockManager = new Brizy_Admin_Blocks_Manager( Brizy_Admin_Blocks_Main::CP_SAVED );
|
538 |
+
$block = $bockManager->getEntity( $this->param( 'uid' ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
539 |
|
540 |
+
do_action( 'brizy_saved_block_delete', $this->param( 'uid' ) );
|
|
|
|
|
541 |
|
542 |
+
if ( $block ) {
|
543 |
+
do_action( 'brizy_global_data_deleted' );
|
544 |
+
$bockManager->deleteEntity( $block );
|
545 |
+
} else {
|
546 |
+
$this->error( '404', 'Block not found' );
|
547 |
+
}
|
548 |
+
} catch ( Exception $e ) {
|
549 |
+
$this->error( '500', 'Unable to delete block' );
|
550 |
}
|
551 |
|
552 |
+
$this->success( null );
|
553 |
}
|
554 |
|
555 |
public function actionUpdateBlockPositions() {
|
558 |
|
559 |
$this->verifyNonce( self::nonce );
|
560 |
|
561 |
+
$data = file_get_contents( "php://input" );
|
|
|
|
|
562 |
|
563 |
+
$dataObject = json_decode( $data );
|
564 |
+
|
565 |
+
if ( ! $dataObject ) {
|
566 |
+
$this->error( 400, 'Invalid position data provided' );
|
567 |
+
}
|
568 |
|
569 |
+
$wpdb->query( 'START TRANSACTION' );
|
570 |
|
571 |
try {
|
572 |
|
573 |
+
foreach ( get_object_vars( $dataObject ) as $uid => $position ) {
|
574 |
+
|
575 |
+
if ( ! ( isset( $position->top ) && isset( $position->bottom ) && isset( $position->align ) ) ) {
|
576 |
+
throw new Exception();
|
577 |
+
}
|
578 |
+
|
579 |
+
$positionObj = new Brizy_Editor_BlockPosition( $position->top, $position->bottom, $position->align );
|
580 |
+
|
581 |
|
582 |
+
$bockManager = new Brizy_Admin_Blocks_Manager( Brizy_Admin_Blocks_Main::CP_GLOBAL );
|
583 |
+
|
584 |
+
$block = $bockManager->getEntity( $uid );
|
585 |
+
|
586 |
+
if ( ! $block ) {
|
587 |
+
throw new Exception();
|
588 |
+
}
|
589 |
|
|
|
590 |
$block->setPosition( $positionObj );
|
591 |
+
|
592 |
+
if ( $this->param( 'is_autosave' ) == 1 ) {
|
593 |
+
$block->save( 1 );
|
594 |
+
} else {
|
595 |
+
$block->saveStorage();
|
596 |
+
}
|
597 |
+
|
598 |
+
do_action( 'brizy_global_block_updated', $block );
|
599 |
}
|
600 |
|
601 |
do_action( 'brizy_global_data_updated' );
|
604 |
|
605 |
} catch ( Exception $e ) {
|
606 |
$wpdb->query( 'ROLLBACK' );
|
|
|
607 |
$this->error( '400', 'Unable to save block positions' );
|
608 |
}
|
609 |
|
610 |
+
$this->success( json_encode( $dataObject ) );
|
611 |
}
|
612 |
|
613 |
|
662 |
private function getBlock( $id, $postType ) {
|
663 |
$postId = $this->getBlockIdByUidAndBlockType( $id, $postType );
|
664 |
|
665 |
+
if ( $postId ) {
|
666 |
+
return Brizy_Editor_Block::get( $postId );
|
667 |
+
}
|
668 |
+
|
669 |
+
return null;
|
670 |
}
|
671 |
|
672 |
/**
|
674 |
* @param $status
|
675 |
* @param $type
|
676 |
*
|
677 |
+
* @return Brizy_Editor_Block
|
678 |
* @throws Brizy_Editor_Exceptions_NotFound
|
679 |
*/
|
680 |
private function createBlock( $uid, $status, $type ) {
|
698 |
throw new Exception( 'Unable to create block' );
|
699 |
}
|
700 |
|
|
|
701 |
/**
|
702 |
* @param $postUid
|
703 |
* @param $postType
|
704 |
*
|
705 |
* @return false|WP_Post|null
|
706 |
*/
|
707 |
+
private function deleteBlock( Brizy_Editor_Entity $block, $postType ) {
|
708 |
|
709 |
+
if ( $postType === Brizy_Admin_Blocks_Main::CP_SAVED ) {
|
|
|
|
|
|
|
710 |
|
711 |
+
}
|
712 |
|
713 |
+
return wp_delete_post( $block->getWpPostId() );
|
714 |
+
}
|
715 |
+
}
|
admin/blocks/main.php
CHANGED
@@ -37,15 +37,6 @@ class Brizy_Admin_Blocks_Main {
|
|
37 |
add_filter( 'brizy_global_data', array( $this, 'populateGlobalData' ) );
|
38 |
}
|
39 |
|
40 |
-
static public function registerSupportedPostType() {
|
41 |
-
add_filter( 'brizy_supported_post_types', function ( $posts ) {
|
42 |
-
$posts[] = self::CP_SAVED;
|
43 |
-
$posts[] = self::CP_GLOBAL;
|
44 |
-
|
45 |
-
return $posts;
|
46 |
-
} );
|
47 |
-
}
|
48 |
-
|
49 |
/**
|
50 |
* Populated the global data for compiler
|
51 |
*
|
@@ -71,7 +62,12 @@ class Brizy_Admin_Blocks_Main {
|
|
71 |
foreach ( $blocks as $block ) {
|
72 |
$brizy_editor_block = Brizy_Editor_Block::get( $block );
|
73 |
$uid = $brizy_editor_block->getUid();
|
74 |
-
$
|
|
|
|
|
|
|
|
|
|
|
75 |
}
|
76 |
|
77 |
$blocks = get_posts( array(
|
@@ -84,20 +80,20 @@ class Brizy_Admin_Blocks_Main {
|
|
84 |
|
85 |
foreach ( $blocks as $block ) {
|
86 |
$brizy_editor_block = Brizy_Editor_Block::get( $block );
|
87 |
-
$
|
|
|
|
|
|
|
|
|
88 |
}
|
89 |
|
90 |
return $globalData;
|
91 |
}
|
92 |
|
93 |
-
/**
|
94 |
-
*
|
95 |
-
*/
|
96 |
public function initializeActions() {
|
97 |
Brizy_Admin_Blocks_Api::_init();
|
98 |
}
|
99 |
|
100 |
-
|
101 |
static public function registerCustomPosts() {
|
102 |
|
103 |
$labels = array(
|
@@ -143,7 +139,12 @@ class Brizy_Admin_Blocks_Main {
|
|
143 |
'supports' => array( 'title', 'revisions', 'page-attributes' )
|
144 |
)
|
145 |
);
|
146 |
-
}
|
147 |
|
|
|
|
|
|
|
148 |
|
|
|
|
|
|
|
149 |
}
|
37 |
add_filter( 'brizy_global_data', array( $this, 'populateGlobalData' ) );
|
38 |
}
|
39 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
40 |
/**
|
41 |
* Populated the global data for compiler
|
42 |
*
|
62 |
foreach ( $blocks as $block ) {
|
63 |
$brizy_editor_block = Brizy_Editor_Block::get( $block );
|
64 |
$uid = $brizy_editor_block->getUid();
|
65 |
+
$block_data = $brizy_editor_block->convertToOptionValue();
|
66 |
+
$globalData->globalBlocks[ $uid ] = array(
|
67 |
+
'data' => json_decode( $brizy_editor_block->get_editor_data() ),
|
68 |
+
'position' => $block_data['position'],
|
69 |
+
'rules' => $block_data['rules']
|
70 |
+
);
|
71 |
}
|
72 |
|
73 |
$blocks = get_posts( array(
|
80 |
|
81 |
foreach ( $blocks as $block ) {
|
82 |
$brizy_editor_block = Brizy_Editor_Block::get( $block );
|
83 |
+
$block_data = $brizy_editor_block->convertToOptionValue();
|
84 |
+
$globalData->savedBlocks[] = array(
|
85 |
+
'data' => json_decode( $brizy_editor_block->get_editor_data() ),
|
86 |
+
'rules' => $block_data['rules']
|
87 |
+
);
|
88 |
}
|
89 |
|
90 |
return $globalData;
|
91 |
}
|
92 |
|
|
|
|
|
|
|
93 |
public function initializeActions() {
|
94 |
Brizy_Admin_Blocks_Api::_init();
|
95 |
}
|
96 |
|
|
|
97 |
static public function registerCustomPosts() {
|
98 |
|
99 |
$labels = array(
|
139 |
'supports' => array( 'title', 'revisions', 'page-attributes' )
|
140 |
)
|
141 |
);
|
|
|
142 |
|
143 |
+
add_filter( 'brizy_supported_post_types', function ( $posts ) {
|
144 |
+
$posts[] = self::CP_SAVED;
|
145 |
+
$posts[] = self::CP_GLOBAL;
|
146 |
|
147 |
+
return $posts;
|
148 |
+
} );
|
149 |
+
}
|
150 |
}
|
admin/blocks/manager.php
ADDED
@@ -0,0 +1,202 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
|
4 |
+
class Brizy_Admin_Blocks_Manager extends Brizy_Admin_Entity_AbstractManager {
|
5 |
+
|
6 |
+
/**
|
7 |
+
* @var
|
8 |
+
*/
|
9 |
+
private $blockType;
|
10 |
+
|
11 |
+
/**
|
12 |
+
* Brizy_Admin_Blocks_Manager constructor.
|
13 |
+
*
|
14 |
+
* @param $type
|
15 |
+
*
|
16 |
+
* @throws Exception
|
17 |
+
*/
|
18 |
+
public function __construct( $type ) {
|
19 |
+
if ( ! in_array( $type, [ Brizy_Admin_Blocks_Main::CP_GLOBAL, Brizy_Admin_Blocks_Main::CP_SAVED ] ) ) {
|
20 |
+
throw new Exception();
|
21 |
+
}
|
22 |
+
|
23 |
+
$this->blockType = $type;
|
24 |
+
}
|
25 |
+
|
26 |
+
/**
|
27 |
+
* @param $args
|
28 |
+
*
|
29 |
+
* @return Brizy_Editor_Block[]
|
30 |
+
* @throws Exception
|
31 |
+
*/
|
32 |
+
public function getEntities( $args ) {
|
33 |
+
return $this->getEntitiesByType( $this->blockType, $args );
|
34 |
+
}
|
35 |
+
|
36 |
+
/**
|
37 |
+
* @param $uid
|
38 |
+
*
|
39 |
+
* @return Brizy_Editor_Block
|
40 |
+
* @throws Exception
|
41 |
+
*/
|
42 |
+
public function getEntity( $uid ) {
|
43 |
+
return $this->getEntityUidAndType( $uid, $this->blockType );
|
44 |
+
}
|
45 |
+
|
46 |
+
/**
|
47 |
+
* @param $uid
|
48 |
+
* @param string $status
|
49 |
+
*
|
50 |
+
* @return mixed|null+
|
51 |
+
*/
|
52 |
+
public function createEntity( $uid, $status = 'publish' ) {
|
53 |
+
return $this->createEntityByType( $uid, $this->blockType, $status );
|
54 |
+
}
|
55 |
+
|
56 |
+
/**
|
57 |
+
* @param $post
|
58 |
+
* @param null $uid
|
59 |
+
*
|
60 |
+
* @return Brizy_Editor_Block|Brizy_Editor_Post|mixed$uid
|
61 |
+
* @throws Exception
|
62 |
+
*/
|
63 |
+
protected function convertWpPostToEntity( $post, $uid = null ) {
|
64 |
+
return Brizy_Editor_Block::get( $post, $uid );
|
65 |
+
}
|
66 |
+
|
67 |
+
//=====================================================================
|
68 |
+
//=====================================================================
|
69 |
+
//=====================================================================
|
70 |
+
//=====================================================================
|
71 |
+
//=====================================================================
|
72 |
+
//=====================================================================
|
73 |
+
|
74 |
+
|
75 |
+
/**
|
76 |
+
* @param $type
|
77 |
+
* @param $arags
|
78 |
+
* @param array $fields
|
79 |
+
*
|
80 |
+
* @return array
|
81 |
+
* @throws Brizy_Editor_Exceptions_NotFound
|
82 |
+
*/
|
83 |
+
public function getAllBlocks( $type, $arags, $fields = array() ) {
|
84 |
+
|
85 |
+
$blocks = $this->getLocalBlocks( $type, $arags, $fields );
|
86 |
+
|
87 |
+
try {
|
88 |
+
$versions = $this->cloud->getCloudEditorVersions();
|
89 |
+
|
90 |
+
if ( $this->cloud && $type == Brizy_Admin_Blocks_Main::CP_SAVED && $versions['sync'] == BRIZY_SYNC_VERSION ) {
|
91 |
+
|
92 |
+
$cloudBlocks = $this->cloud->getBlocks( array( 'fields' => $fields ) );
|
93 |
+
|
94 |
+
foreach ( (array) $cloudBlocks as $cblock ) {
|
95 |
+
$existingBlock = false;
|
96 |
+
foreach ( $blocks as $block ) {
|
97 |
+
if ( $cblock->uid == $block['uid'] ) {
|
98 |
+
$existingBlock = true;
|
99 |
+
}
|
100 |
+
}
|
101 |
+
|
102 |
+
if ( ! $existingBlock ) {
|
103 |
+
|
104 |
+
$localBlock = $this->getLocalBlock( Brizy_Admin_Blocks_Main::CP_SAVED, $cblock->uid );
|
105 |
+
|
106 |
+
if ( in_array( 'synchronized', $fields ) ) {
|
107 |
+
if ( $localBlock ) {
|
108 |
+
$cblock->synchronized = $localBlock->isSynchronized( $this->cloud->getBrizyProject()->getCloudAccountId() );
|
109 |
+
} else {
|
110 |
+
$cblock->synchronized = false;
|
111 |
+
}
|
112 |
+
}
|
113 |
+
|
114 |
+
if ( in_array( 'isCloudEntity', $fields ) ) {
|
115 |
+
$cblock->isCloudEntity = true;
|
116 |
+
}
|
117 |
+
|
118 |
+
if ( in_array( 'synchronizable', $fields ) ) {
|
119 |
+
$cblock->synchronizable = true;
|
120 |
+
}
|
121 |
+
|
122 |
+
$blocks[] = (array) $cblock;
|
123 |
+
}
|
124 |
+
}
|
125 |
+
|
126 |
+
}
|
127 |
+
} catch ( Exception $e ) {
|
128 |
+
// do nothing...
|
129 |
+
}
|
130 |
+
|
131 |
+
return $blocks;
|
132 |
+
}
|
133 |
+
|
134 |
+
public function getBlockByUid( $type, $uid ) {
|
135 |
+
$block = $this->getLocalBlock( $type, $uid );
|
136 |
+
$versions = $this->cloud->getCloudEditorVersions();
|
137 |
+
|
138 |
+
if ( ! $block && $this->cloud && $type == Brizy_Admin_Blocks_Main::CP_SAVED && $versions['sync'] == BRIZY_SYNC_VERSION ) {
|
139 |
+
$bridge = new Brizy_Admin_Cloud_BlockBridge( $this->cloud );
|
140 |
+
$bridge->import( $uid );
|
141 |
+
|
142 |
+
$block = $this->getLocalBlock( $type, $uid );
|
143 |
+
}
|
144 |
+
|
145 |
+
return $block;
|
146 |
+
}
|
147 |
+
|
148 |
+
/**
|
149 |
+
* @param $type
|
150 |
+
* @param array $arags
|
151 |
+
* @param array $fields
|
152 |
+
*
|
153 |
+
* @return array
|
154 |
+
* @throws Brizy_Editor_Exceptions_NotFound
|
155 |
+
*/
|
156 |
+
public function getLocalBlocks( $type, $arags = array(), $fields = array() ) {
|
157 |
+
$filterArgs = array(
|
158 |
+
'post_type' => $type,
|
159 |
+
'posts_per_page' => - 1,
|
160 |
+
'post_status' => 'any',
|
161 |
+
'orderby' => 'ID',
|
162 |
+
'order' => 'ASC',
|
163 |
+
);
|
164 |
+
$filterArgs = array_merge( $filterArgs, $arags );
|
165 |
+
|
166 |
+
$wpBlocks = get_posts( $filterArgs );
|
167 |
+
$blocks = array();
|
168 |
+
|
169 |
+
foreach ( $wpBlocks as $wpPost ) {
|
170 |
+
$blocks[] = Brizy_Editor_Block::get( $wpPost )->createResponse( $fields );
|
171 |
+
}
|
172 |
+
|
173 |
+
return $blocks;
|
174 |
+
}
|
175 |
+
|
176 |
+
/**
|
177 |
+
* @param $type
|
178 |
+
* @param $uid
|
179 |
+
*
|
180 |
+
* @return array|null
|
181 |
+
* @throws Brizy_Editor_Exceptions_NotFound
|
182 |
+
*/
|
183 |
+
public function getLocalBlock( $type, $uid ) {
|
184 |
+
$blocks = get_posts( array(
|
185 |
+
'post_type' => $type,
|
186 |
+
'post_status' => 'publish',
|
187 |
+
'meta_key' => 'brizy_post_uid',
|
188 |
+
'meta_value' => $uid,
|
189 |
+
'numberposts' => - 1,
|
190 |
+
'orderby' => 'ID',
|
191 |
+
'order' => 'DESC',
|
192 |
+
) );
|
193 |
+
|
194 |
+
if ( isset( $blocks[0] ) ) {
|
195 |
+
$block = \Brizy_Editor_Block::get( $blocks[0] )->createResponse();
|
196 |
+
} else {
|
197 |
+
$block = null;
|
198 |
+
}
|
199 |
+
|
200 |
+
return $block;
|
201 |
+
}
|
202 |
+
}
|
admin/cloud-deprecated.php
ADDED
@@ -0,0 +1,237 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Brizy_Admin_Cloud {
|
4 |
+
|
5 |
+
// const PAGE_KEY = 'brizy-cloud';
|
6 |
+
// const GET_CLOUD_PROJECTS_ACTION = 'brizy-cloud-projects';
|
7 |
+
//
|
8 |
+
// static private $subpageId = null;
|
9 |
+
//
|
10 |
+
// /**
|
11 |
+
// * @var Brizy_TwigEngine
|
12 |
+
// */
|
13 |
+
// private $twig;
|
14 |
+
|
15 |
+
/**
|
16 |
+
* @var Brizy_Editor_Project
|
17 |
+
*/
|
18 |
+
private $project;
|
19 |
+
|
20 |
+
/**
|
21 |
+
* @var Brizy_Admin_Cloud_Client
|
22 |
+
*/
|
23 |
+
private $cloudClient;
|
24 |
+
|
25 |
+
|
26 |
+
/**
|
27 |
+
* @return Brizy_Admin_Cloud
|
28 |
+
* @throws Exception
|
29 |
+
*/
|
30 |
+
public static function _init() {
|
31 |
+
|
32 |
+
static $instance;
|
33 |
+
|
34 |
+
return $instance ? $instance : $instance = new self( Brizy_Editor_Project::get() );
|
35 |
+
}
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Brizy_Admin_Cloud constructor.
|
39 |
+
*
|
40 |
+
* @param Brizy_Editor_Project $project
|
41 |
+
*
|
42 |
+
* @throws Exception
|
43 |
+
*/
|
44 |
+
private function __construct( Brizy_Editor_Project $project ) {
|
45 |
+
|
46 |
+
$this->project = $project;
|
47 |
+
$this->cloudClient = new Brizy_Admin_Cloud_Client( $project, new WP_Http() );
|
48 |
+
|
49 |
+
add_action( 'wp_loaded', array( $this, 'initializeActions' ) );
|
50 |
+
// add_action( 'wp_ajax_' . self::GET_CLOUD_PROJECTS_ACTION, array( $this, 'actionGetProjects' ) );
|
51 |
+
// add_action( 'admin_enqueue_scripts', array( $this, 'registersCloudAssets' ) );
|
52 |
+
// add_action( 'admin_menu', array( $this, 'actionRegisterCloutLoginPage' ), 11 );
|
53 |
+
//
|
54 |
+
// if ( isset( $_SERVER['REQUEST_METHOD'] ) && $_SERVER['REQUEST_METHOD'] === 'POST' ) {
|
55 |
+
// add_action( 'admin_init', array( $this, 'handleSubmit' ), 10 );
|
56 |
+
// }
|
57 |
+
//
|
58 |
+
// if ( isset( $_REQUEST['brizy-cloud-logout'] ) ) {
|
59 |
+
// add_action( 'admin_init', array( $this, 'handleLogout' ), 10 );
|
60 |
+
// }
|
61 |
+
//
|
62 |
+
// $this->twig = Brizy_TwigEngine::instance( BRIZY_PLUGIN_PATH . "/admin/views/cloud/" );
|
63 |
+
}
|
64 |
+
|
65 |
+
public function initializeActions() {
|
66 |
+
Brizy_Admin_Cloud_Api::_init( $this->project );
|
67 |
+
}
|
68 |
+
|
69 |
+
// public function registersCloudAssets() {
|
70 |
+
// $current_screen = get_current_screen();
|
71 |
+
// if ( $current_screen->id == self::$subpageId ) {
|
72 |
+
// wp_enqueue_script(
|
73 |
+
// Brizy_Editor::get()->get_slug() . '-cloud-js',
|
74 |
+
// Brizy_Editor::get()->get_url( 'admin/static/js/cloud.js' ),
|
75 |
+
// array( 'jquery' ),
|
76 |
+
// true
|
77 |
+
// );
|
78 |
+
// }
|
79 |
+
// }
|
80 |
+
//
|
81 |
+
// public function actionGetProjects() {
|
82 |
+
// $projects = $this->cloudClient->getProjects( array( 'container' => isset( $_REQUEST['container'] ) ? (int) $_REQUEST['container'] : null ) );
|
83 |
+
// wp_send_json_success( $projects );
|
84 |
+
// exit;
|
85 |
+
// }
|
86 |
+
//
|
87 |
+
// public function actionRegisterCloutLoginPage() {
|
88 |
+
// self::$subpageId = add_submenu_page( Brizy_Admin_Settings::menu_slug(),
|
89 |
+
// __( 'Cloud' ),
|
90 |
+
// __( 'Cloud' ),
|
91 |
+
// 'manage_options',
|
92 |
+
// self::menu_slug(),
|
93 |
+
// array( $this, 'render' )
|
94 |
+
// );
|
95 |
+
// }
|
96 |
+
|
97 |
+
// public function render() {
|
98 |
+
//
|
99 |
+
// $token = $this->project->getMetaValue( 'brizy-cloud-token' );
|
100 |
+
//
|
101 |
+
// if ( ! $token ) {
|
102 |
+
// $this->handleLoginPage();
|
103 |
+
// } else {
|
104 |
+
// $this->handleProjectPage();
|
105 |
+
// }
|
106 |
+
// }
|
107 |
+
|
108 |
+
// private function handleLoginPage() {
|
109 |
+
// $context = array(
|
110 |
+
// 'nonce' => wp_nonce_field( 'validate-cloud', '_wpnonce', true, false ),
|
111 |
+
// 'username' => '',
|
112 |
+
// 'password' => ''
|
113 |
+
// );
|
114 |
+
//
|
115 |
+
// echo $this->twig->render( 'cloud-login.html.twig', $context );
|
116 |
+
// }
|
117 |
+
|
118 |
+
// private function handleProjectPage() {
|
119 |
+
// $pageUrl = menu_page_url( self::menu_slug(), false );
|
120 |
+
// $containers = $this->cloudClient->getContainers();
|
121 |
+
// $project = $this->cloudClient->getProject( $this->project->getMetaValue( 'brizy-cloud-project' ) );
|
122 |
+
// $usedContainer = isset( $_REQUEST['container'] ) ? (int) $_REQUEST['container'] : ( isset( $containers[0] ) ? $containers[0]->id : null );
|
123 |
+
// $projects = $this->cloudClient->getProjects( array( 'container' => $usedContainer ) );
|
124 |
+
// $context = array(
|
125 |
+
// 'nonce' => wp_nonce_field( 'validate-cloud', '_wpnonce', true, false ),
|
126 |
+
// 'logoutUrl' => add_query_arg( array( 'brizy-cloud-logout' => 1 ), menu_page_url( self::menu_slug(), false ) ),
|
127 |
+
// 'containers' => $containers,
|
128 |
+
// 'selectedContainer' => is_object( $project ) ? $project->container : ( isset( $containers[0] ) ? array( 'container' => $containers[0]->id ) : null ),
|
129 |
+
// 'projects' => $projects,
|
130 |
+
// 'pageUrl' => $pageUrl,
|
131 |
+
// 'projectObject' => $project
|
132 |
+
// );
|
133 |
+
//
|
134 |
+
// echo $this->twig->render( 'cloud-projects.html.twig', $context );
|
135 |
+
// }
|
136 |
+
|
137 |
+
// public function handleSubmit() {
|
138 |
+
// if ( ! isset( $_POST['_wpnonce'] ) || ! wp_verify_nonce( $_POST['_wpnonce'], 'validate-cloud' ) ) {
|
139 |
+
// return;
|
140 |
+
// }
|
141 |
+
// $pageUrl = menu_page_url( self::menu_slug(), false );
|
142 |
+
//
|
143 |
+
// if ( isset( $_REQUEST['brizy-cloud-login'] ) ) {
|
144 |
+
// $this->handleLogin();
|
145 |
+
// }
|
146 |
+
//
|
147 |
+
// if ( isset( $_REQUEST['brizy-cloud-logout'] ) ) {
|
148 |
+
// $this->handleLogout();
|
149 |
+
// }
|
150 |
+
//
|
151 |
+
// if ( isset( $_REQUEST['brizy-cloud-use-container'] ) ) {
|
152 |
+
// $this->handleUseContainer();
|
153 |
+
// }
|
154 |
+
//
|
155 |
+
// wp_redirect( $pageUrl );
|
156 |
+
// exit;
|
157 |
+
// }
|
158 |
+
//
|
159 |
+
// public function handleLogin() {
|
160 |
+
// if ( ! isset( $_REQUEST['cloud-username'] ) || ! isset( $_REQUEST['cloud-password'] ) ) {
|
161 |
+
// Brizy_Admin_Flash::instance()->add_error( __( 'Please provide the username and password.' ) );
|
162 |
+
//
|
163 |
+
// return;
|
164 |
+
// }
|
165 |
+
//
|
166 |
+
// try {
|
167 |
+
// $token = $this->cloudClient->signIn( $_REQUEST['cloud-username'], $_REQUEST['cloud-password'] );
|
168 |
+
//
|
169 |
+
// if ( ! $token ) {
|
170 |
+
// Brizy_Admin_Flash::instance()->add_error( __( 'Unable to obtain authorization data. Please check your credentials.' ) );
|
171 |
+
// } else {
|
172 |
+
// $this->project->setCloudToken( $token );
|
173 |
+
//
|
174 |
+
// $containers = $this->cloudClient->getContainers();
|
175 |
+
//
|
176 |
+
// if ( isset( $containers[0] ) ) {
|
177 |
+
// $this->project->setCloudContainer( $containers[0]->id );
|
178 |
+
// }
|
179 |
+
//
|
180 |
+
// $this->project->save();
|
181 |
+
//
|
182 |
+
//
|
183 |
+
// }
|
184 |
+
//
|
185 |
+
// } catch ( Exception $e ) {
|
186 |
+
// Brizy_Logger::instance()->error( 'Unable to obtain cloud token', $e );
|
187 |
+
// Brizy_Admin_Flash::instance()->add_error( __( 'Unable to obtain authorization data. Please check your credentials.' ) );
|
188 |
+
// }
|
189 |
+
//
|
190 |
+
// $pageUrl = menu_page_url( self::menu_slug(), false );
|
191 |
+
// wp_redirect( $pageUrl );
|
192 |
+
// exit;
|
193 |
+
// }
|
194 |
+
//
|
195 |
+
// public function handleLogout() {
|
196 |
+
// $this->project->setCloudToken( null );
|
197 |
+
// $this->project->setCloudContainer( null );
|
198 |
+
// $this->project->save();
|
199 |
+
// }
|
200 |
+
//
|
201 |
+
// public function handleUseContainer() {
|
202 |
+
// if ( ! isset( $_REQUEST['brizy-cloud-use-container'] ) || $_REQUEST['brizy-cloud-use-container'] == '' ) {
|
203 |
+
// Brizy_Admin_Flash::instance()->add_error( __( 'Please provide the container id' ) );
|
204 |
+
//
|
205 |
+
// return;
|
206 |
+
// }
|
207 |
+
//
|
208 |
+
// $projectId = $_REQUEST['brizy-cloud-use-container'];
|
209 |
+
//
|
210 |
+
// if ( $projectId ) {
|
211 |
+
// $this->project->setCloudContainer( $projectId );
|
212 |
+
// Brizy_Admin_Flash::instance()->add_success( __( 'Success' ) );
|
213 |
+
// } else {
|
214 |
+
// $this->project->removeMetaValue( 'cloudContainer' );
|
215 |
+
// }
|
216 |
+
//
|
217 |
+
// $this->project->save();
|
218 |
+
//
|
219 |
+
// $pageUrl = menu_page_url( self::menu_slug(), false );
|
220 |
+
// wp_redirect( $pageUrl );
|
221 |
+
// exit;
|
222 |
+
// }
|
223 |
+
//
|
224 |
+
// /**
|
225 |
+
// * @return string
|
226 |
+
// */
|
227 |
+
// public function menu_slug() {
|
228 |
+
// return self::PAGE_KEY;
|
229 |
+
// }
|
230 |
+
//
|
231 |
+
// /**
|
232 |
+
// * @return bool
|
233 |
+
// */
|
234 |
+
// public function isLoggedIn() {
|
235 |
+
// return ! ! $this->project->getCloudToken();
|
236 |
+
// }
|
237 |
+
}
|
admin/cloud.php
ADDED
@@ -0,0 +1,371 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Brizy_Admin_Cloud {
|
4 |
+
|
5 |
+
/**
|
6 |
+
* @var self
|
7 |
+
*/
|
8 |
+
static $instance;
|
9 |
+
|
10 |
+
/**
|
11 |
+
* @var Brizy_Editor_Project
|
12 |
+
*/
|
13 |
+
private $project;
|
14 |
+
|
15 |
+
/**
|
16 |
+
* @var Brizy_Admin_Cloud_Client
|
17 |
+
*/
|
18 |
+
private $cloudClient;
|
19 |
+
|
20 |
+
/**
|
21 |
+
* @var Brizy_Admin_Cloud_BlockBridge
|
22 |
+
*/
|
23 |
+
private $blockBridge;
|
24 |
+
|
25 |
+
/**
|
26 |
+
* @var Brizy_Admin_Cloud_LayoutBridge
|
27 |
+
*/
|
28 |
+
private $layoutBridge;
|
29 |
+
|
30 |
+
/**
|
31 |
+
* @param Brizy_Editor_Project|null $project
|
32 |
+
* @param Brizy_Admin_Cloud_Client|null $cloudClient
|
33 |
+
*
|
34 |
+
* @return Brizy_Admin_Cloud
|
35 |
+
* @throws Exception
|
36 |
+
*/
|
37 |
+
public static function _init( Brizy_Editor_Project $project = null, Brizy_Admin_Cloud_Client $cloudClient = null ) {
|
38 |
+
|
39 |
+
if ( ! $project ) {
|
40 |
+
$project = Brizy_Editor_Project::get();
|
41 |
+
}
|
42 |
+
|
43 |
+
if ( ! $cloudClient ) {
|
44 |
+
$cloudClient = new Brizy_Admin_Cloud_Client( Brizy_Editor_Project::get(), new WP_Http() );
|
45 |
+
}
|
46 |
+
|
47 |
+
|
48 |
+
return self::$instance ? self::$instance : ( self::$instance = new self( $project, $cloudClient ) );
|
49 |
+
}
|
50 |
+
|
51 |
+
/**
|
52 |
+
* Brizy_Admin_Cloud constructor.
|
53 |
+
*
|
54 |
+
* @param Brizy_Editor_Project $project
|
55 |
+
* @param Brizy_Admin_Cloud_Client $client
|
56 |
+
*/
|
57 |
+
private function __construct( Brizy_Editor_Project $project, Brizy_Admin_Cloud_Client $client ) {
|
58 |
+
|
59 |
+
$this->setProject( $project );
|
60 |
+
$this->setCloudClient( $client );
|
61 |
+
|
62 |
+
$this->blockBridge = new Brizy_Admin_Cloud_BlockBridge( $client );
|
63 |
+
$this->layoutBridge = new Brizy_Admin_Cloud_LayoutBridge( $client );
|
64 |
+
|
65 |
+
add_action( 'wp_loaded', array( $this, 'initializeActions' ) );
|
66 |
+
}
|
67 |
+
|
68 |
+
/**
|
69 |
+
* @param Brizy_Editor_Project $project
|
70 |
+
*
|
71 |
+
* @return Brizy_Admin_Cloud
|
72 |
+
*/
|
73 |
+
public function setProject( Brizy_Editor_Project $project ): Brizy_Admin_Cloud {
|
74 |
+
$this->project = $project;
|
75 |
+
|
76 |
+
return $this;
|
77 |
+
}
|
78 |
+
|
79 |
+
/**
|
80 |
+
* @param Brizy_Admin_Cloud_Client $cloudClient
|
81 |
+
*
|
82 |
+
* @return Brizy_Admin_Cloud
|
83 |
+
*/
|
84 |
+
public function setCloudClient( Brizy_Admin_Cloud_Client $cloudClient ): Brizy_Admin_Cloud {
|
85 |
+
$this->cloudClient = $cloudClient;
|
86 |
+
|
87 |
+
return $this;
|
88 |
+
}
|
89 |
+
|
90 |
+
/**
|
91 |
+
* @param Brizy_Admin_Cloud_BlockBridge $blockBridge
|
92 |
+
*
|
93 |
+
* @return Brizy_Admin_Cloud
|
94 |
+
*/
|
95 |
+
public function setBlockBridge( Brizy_Admin_Cloud_BlockBridge $blockBridge ): Brizy_Admin_Cloud {
|
96 |
+
$this->blockBridge = $blockBridge;
|
97 |
+
|
98 |
+
return $this;
|
99 |
+
}
|
100 |
+
|
101 |
+
/**
|
102 |
+
* @param Brizy_Admin_Cloud_LayoutBridge $layoutBridge
|
103 |
+
*
|
104 |
+
* @return Brizy_Admin_Cloud
|
105 |
+
*/
|
106 |
+
public function setLayoutBridge( Brizy_Admin_Cloud_LayoutBridge $layoutBridge ): Brizy_Admin_Cloud {
|
107 |
+
$this->layoutBridge = $layoutBridge;
|
108 |
+
|
109 |
+
return $this;
|
110 |
+
}
|
111 |
+
|
112 |
+
public function initializeActions() {
|
113 |
+
Brizy_Admin_Cloud_Api::_init( $this->project );
|
114 |
+
|
115 |
+
if ( wp_doing_ajax() && $this->project->getCloudToken() && $this->project->getCloudContainer() ) {
|
116 |
+
$versions = $this->cloudClient->getCloudEditorVersions();
|
117 |
+
if ( $versions['sync'] == BRIZY_SYNC_VERSION ) {
|
118 |
+
self::registerCloudFilters();
|
119 |
+
}
|
120 |
+
}
|
121 |
+
}
|
122 |
+
|
123 |
+
static public function registerCloudFilters() {
|
124 |
+
add_filter( 'brizy_get_saved_block', [ self::$instance, 'onGetSavedBlock' ], 10, 3 );
|
125 |
+
add_filter( 'brizy_get_saved_blocks', [ self::$instance, 'onGetSavedBlocks' ], 10, 3 );
|
126 |
+
add_action( 'brizy_saved_block_delete', [ self::$instance, 'onDeleteSavedBlock' ] );
|
127 |
+
|
128 |
+
add_filter( 'brizy_get_layout', [ self::$instance, 'onGetLayout' ], 10, 3 );
|
129 |
+
add_filter( 'brizy_get_layouts', [ self::$instance, 'onGetLayouts' ], 10, 3 );
|
130 |
+
add_action( 'brizy_layout_delete', [ self::$instance, 'onDeleteLayout' ] );
|
131 |
+
}
|
132 |
+
|
133 |
+
static public function unRegisterCloudFilters() {
|
134 |
+
remove_filter( 'brizy_get_saved_block', [ self::$instance, 'onGetSavedBlock' ] );
|
135 |
+
remove_filter( 'brizy_get_saved_blocks', [ self::$instance, 'onGetSavedBlocks' ] );
|
136 |
+
remove_action( 'brizy_saved_block_delete', [ self::$instance, 'onDeleteSavedBlock' ] );
|
137 |
+
|
138 |
+
remove_filter( 'brizy_get_layout', [ self::$instance, 'onGetLayout' ] );
|
139 |
+
remove_filter( 'brizy_get_layouts', [ self::$instance, 'onGetLayouts' ] );
|
140 |
+
remove_action( 'brizy_layout_delete', [ self::$instance, 'onDeleteLayout' ] );
|
141 |
+
}
|
142 |
+
|
143 |
+
/**
|
144 |
+
* @param Brizy_Editor_Entity[] $blocks
|
145 |
+
* @param string[] $fields
|
146 |
+
* @param Brizy_Admin_Blocks_Manager $manager
|
147 |
+
*/
|
148 |
+
public function onGetSavedBlocks( $blocks, $fields, $manager ) {
|
149 |
+
|
150 |
+
if ( ! is_array( $blocks ) ) {
|
151 |
+
$blocks = [];
|
152 |
+
}
|
153 |
+
|
154 |
+
try {
|
155 |
+
$cloudBlocks = $this->cloudClient->getBlocks( array( 'fields' => $fields ) );
|
156 |
+
|
157 |
+
// remove all local block that came from cloud and are deleted from cloud
|
158 |
+
foreach ( $blocks as $i => $block ) {
|
159 |
+
$existingBlock = false;
|
160 |
+
foreach ( (array) $cloudBlocks as $cblock ) {
|
161 |
+
if ( $cblock->uid == $block['uid'] ) {
|
162 |
+
$existingBlock = true;
|
163 |
+
break;
|
164 |
+
}
|
165 |
+
}
|
166 |
+
|
167 |
+
if ( ! $existingBlock &&
|
168 |
+
( $localBlock = $manager->getEntity( $block['uid'] ) ) &&
|
169 |
+
$localBlock->isSynchronized( $this->cloudClient->getBrizyProject()->getCloudAccountId() ) ) {
|
170 |
+
// delete this block as this block does not exist anymore in cloud
|
171 |
+
$manager->trashEntity( $localBlock );
|
172 |
+
|
173 |
+
unset( $blocks[ $i ] );
|
174 |
+
}
|
175 |
+
}
|
176 |
+
|
177 |
+
$blocks = array_values( $blocks );
|
178 |
+
|
179 |
+
// remove cloud blocks that are already saved localy
|
180 |
+
foreach ( (array) $cloudBlocks as $cblock ) {
|
181 |
+
$existingBlock = false;
|
182 |
+
foreach ( $blocks as $block ) {
|
183 |
+
if ( $cblock->uid == $block['uid'] ) {
|
184 |
+
$existingBlock = true;
|
185 |
+
break;
|
186 |
+
}
|
187 |
+
}
|
188 |
+
|
189 |
+
if ( ! $existingBlock ) {
|
190 |
+
|
191 |
+
if ( in_array( 'synchronized', $fields ) ) {
|
192 |
+
$localBlock = $manager->getEntity( $cblock->uid );
|
193 |
+
if ( $localBlock ) {
|
194 |
+
$cblock->synchronized = $localBlock->isSynchronized( $this->cloudClient->getBrizyProject()->getCloudAccountId() );
|
195 |
+
} else {
|
196 |
+
$cblock->synchronized = false;
|
197 |
+
}
|
198 |
+
}
|
199 |
+
|
200 |
+
if ( in_array( 'isCloudEntity', $fields ) ) {
|
201 |
+
$cblock->isCloudEntity = true;
|
202 |
+
}
|
203 |
+
|
204 |
+
if ( in_array( 'synchronizable', $fields ) ) {
|
205 |
+
$cblock->synchronizable = true;
|
206 |
+
}
|
207 |
+
|
208 |
+
$blocks[] = (array) $cblock;
|
209 |
+
}
|
210 |
+
}
|
211 |
+
|
212 |
+
} catch ( Exception $e ) {
|
213 |
+
// do nothing...
|
214 |
+
}
|
215 |
+
|
216 |
+
return $blocks;
|
217 |
+
}
|
218 |
+
|
219 |
+
/**
|
220 |
+
* @param Brizy_Editor_Entity $block
|
221 |
+
* @param string $uid
|
222 |
+
* @param Brizy_Admin_Blocks_Manager $manager
|
223 |
+
*
|
224 |
+
* @throws Exception
|
225 |
+
*/
|
226 |
+
public function onGetSavedBlock( $block, $uid, $manager ) {
|
227 |
+
try {
|
228 |
+
if ( ! $block ) {
|
229 |
+
$this->blockBridge->import( $uid );
|
230 |
+
$block = $manager->getEntity( $uid );
|
231 |
+
}
|
232 |
+
} catch ( Exception $e ) {
|
233 |
+
|
234 |
+
}
|
235 |
+
|
236 |
+
return $block;
|
237 |
+
}
|
238 |
+
|
239 |
+
/**
|
240 |
+
* @param $blockUid
|
241 |
+
*/
|
242 |
+
public function onDeleteSavedBlock( $blockUid ) {
|
243 |
+
try {
|
244 |
+
$blocks = $this->cloudClient->getBlocks( [ 'uid' => $blockUid ] );
|
245 |
+
|
246 |
+
if ( isset( $blocks[0] ) ) {
|
247 |
+
$block = (array) $blocks[0];
|
248 |
+
$this->cloudClient->deleteBlock( $block['id'] );
|
249 |
+
}
|
250 |
+
|
251 |
+
} catch ( Exception $e ) {
|
252 |
+
|
253 |
+
}
|
254 |
+
}
|
255 |
+
|
256 |
+
/**
|
257 |
+
* @param Brizy_Editor_Entity[] $layouts
|
258 |
+
* @param string[] $fields
|
259 |
+
* @param Brizy_Admin_Layouts_Manager $manager
|
260 |
+
*/
|
261 |
+
public function onGetLayouts( $layouts, $fields, $manager ) {
|
262 |
+
|
263 |
+
if ( ! is_array( $layouts ) ) {
|
264 |
+
$layouts = [];
|
265 |
+
}
|
266 |
+
|
267 |
+
try {
|
268 |
+
$cloudLayouts = $this->cloudClient->getLayouts( array( 'fields' => $fields ) );
|
269 |
+
|
270 |
+
// remove all local block that came from cloud and are deleted from cloud
|
271 |
+
foreach ( $layouts as $i => $block ) {
|
272 |
+
$existingBlock = false;
|
273 |
+
foreach ( (array) $cloudLayouts as $cblock ) {
|
274 |
+
if ( $cblock->uid == $block['uid'] ) {
|
275 |
+
$existingBlock = true;
|
276 |
+
break;
|
277 |
+
}
|
278 |
+
}
|
279 |
+
|
280 |
+
if ( ! $existingBlock &&
|
281 |
+
( $localLayout = $manager->getEntity( $block['uid'] ) ) &&
|
282 |
+
$localLayout->isSynchronized( $this->cloudClient->getBrizyProject()->getCloudAccountId() ) ) {
|
283 |
+
// delete this block as this block does not exist anymore in cloud
|
284 |
+
$manager->deleteEntity( $localLayout );
|
285 |
+
|
286 |
+
unset( $layouts[ $i ] );
|
287 |
+
}
|
288 |
+
}
|
289 |
+
|
290 |
+
$layouts = array_values( $layouts );
|
291 |
+
|
292 |
+
foreach ( (array) $cloudLayouts as $aLayout ) {
|
293 |
+
$existingLayout = false;
|
294 |
+
foreach ( $layouts as $block ) {
|
295 |
+
if ( $aLayout->uid == $block['uid'] ) {
|
296 |
+
$existingLayout = true;
|
297 |
+
break;
|
298 |
+
}
|
299 |
+
}
|
300 |
+
|
301 |
+
if ( ! $existingLayout ) {
|
302 |
+
|
303 |
+
$localLayout = $manager->getEntity( $aLayout->uid );
|
304 |
+
|
305 |
+
if ( in_array( 'synchronized', $fields ) ) {
|
306 |
+
if ( $localLayout ) {
|
307 |
+
$aLayout->synchronized = $localLayout->isSynchronized( $this->cloudClient->getBrizyProject()->getCloudAccountId() );
|
308 |
+
} else {
|
309 |
+
$aLayout->synchronized = false;
|
310 |
+
}
|
311 |
+
}
|
312 |
+
|
313 |
+
if ( in_array( 'isCloudEntity', $fields ) ) {
|
314 |
+
$aLayout->isCloudEntity = true;
|
315 |
+
}
|
316 |
+
|
317 |
+
if ( in_array( 'synchronizable', $fields ) ) {
|
318 |
+
$aLayout->synchronizable = true;
|
319 |
+
}
|
320 |
+
|
321 |
+
$layouts[] = (array) $aLayout;
|
322 |
+
}
|
323 |
+
}
|
324 |
+
|
325 |
+
} catch ( Exception $e ) {
|
326 |
+
// do nothing...
|
327 |
+
}
|
328 |
+
|
329 |
+
return $layouts;
|
330 |
+
}
|
331 |
+
|
332 |
+
|
333 |
+
/**
|
334 |
+
* @param Brizy_Editor_Entity $block
|
335 |
+
* @param string $uid
|
336 |
+
* @param Brizy_Admin_Layouts_Manager $manager
|
337 |
+
*
|
338 |
+
* @throws Exception
|
339 |
+
*/
|
340 |
+
public function onGetLayout( $block, $uid, $manager ) {
|
341 |
+
try {
|
342 |
+
if ( ! $block ) {
|
343 |
+
$this->layoutBridge->import( $uid );
|
344 |
+
$block = $manager->getEntity( $uid );
|
345 |
+
}
|
346 |
+
} catch ( Exception $e ) {
|
347 |
+
|
348 |
+
}
|
349 |
+
|
350 |
+
return $block;
|
351 |
+
}
|
352 |
+
|
353 |
+
/**
|
354 |
+
* @param $blockUid
|
355 |
+
*/
|
356 |
+
public function onDeleteLayout( $blockUid ) {
|
357 |
+
try {
|
358 |
+
$blocks = $this->cloudClient->getLayouts( [ 'uid' => $blockUid ] );
|
359 |
+
|
360 |
+
if ( isset( $blocks[0] ) ) {
|
361 |
+
$block = (array) $blocks[0];
|
362 |
+
$this->cloudClient->deleteLayout( $block['id'] );
|
363 |
+
}
|
364 |
+
|
365 |
+
} catch ( Exception $e ) {
|
366 |
+
|
367 |
+
}
|
368 |
+
}
|
369 |
+
|
370 |
+
|
371 |
+
}
|
admin/cloud/abstract-bridge.php
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Class Brizy_Admin_Cloud_AbstractUploader
|
5 |
+
*/
|
6 |
+
abstract class Brizy_Admin_Cloud_AbstractBridge implements Brizy_Admin_Cloud_BridgeInterface {
|
7 |
+
|
8 |
+
/**
|
9 |
+
* @var Brizy_Admin_Cloud_Client
|
10 |
+
*/
|
11 |
+
protected $client;
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Brizy_Admin_Cloud_AbstractUploader constructor.
|
15 |
+
*
|
16 |
+
* @param Brizy_Admin_Cloud_Client $client
|
17 |
+
*/
|
18 |
+
public function __construct( Brizy_Admin_Cloud_Client $client ) {
|
19 |
+
$this->client = $client;
|
20 |
+
}
|
21 |
+
}
|
admin/cloud/api.php
ADDED
@@ -0,0 +1,213 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: alex
|
5 |
+
* Date: 7/18/18
|
6 |
+
* Time: 10:48 AM
|
7 |
+
*/
|
8 |
+
|
9 |
+
|
10 |
+
class Brizy_Admin_Cloud_Api extends Brizy_Admin_AbstractApi {
|
11 |
+
|
12 |
+
use Brizy_Admin_Cloud_SyncAware;
|
13 |
+
|
14 |
+
const nonce = 'brizy-api';
|
15 |
+
|
16 |
+
const AJAX_SIGNIN_ACTION = '-cloud-signin';
|
17 |
+
const AJAX_SIGNUP_ACTION = '-cloud-signup';
|
18 |
+
const AJAX_SIGNOUT_ACTION = '-cloud-signout';
|
19 |
+
const AJAX_RESET_PASSWORD_ACTION = '-cloud-resetpassword';
|
20 |
+
const AJAX_TRIGGER_SYNC_ACTION = '-cloud-sync';
|
21 |
+
const AJAX_SYNC_ALLOWED = '-cloud-sync-allowed';
|
22 |
+
|
23 |
+
/**
|
24 |
+
* @var Brizy_Editor_Project
|
25 |
+
*/
|
26 |
+
private $project;
|
27 |
+
|
28 |
+
/**
|
29 |
+
* @var Brizy_Admin_Cloud_Client
|
30 |
+
*/
|
31 |
+
private $cloudClient;
|
32 |
+
|
33 |
+
/**
|
34 |
+
* Brizy_Admin_Cloud_Api constructor.
|
35 |
+
*
|
36 |
+
* @param Brizy_Editor_Project $project
|
37 |
+
*/
|
38 |
+
public function __construct( Brizy_Editor_Project $project ) {
|
39 |
+
|
40 |
+
$this->project = $project;
|
41 |
+
$this->setClient( new Brizy_Admin_Cloud_Client( $project, new WP_Http() ) );
|
42 |
+
parent::__construct();
|
43 |
+
}
|
44 |
+
|
45 |
+
/**
|
46 |
+
* @param Brizy_Editor_Project $project
|
47 |
+
*
|
48 |
+
* @return Brizy_Admin_Cloud_Api
|
49 |
+
* @throws Exception
|
50 |
+
*/
|
51 |
+
public static function _init( Brizy_Editor_Project $project ) {
|
52 |
+
static $instance;
|
53 |
+
|
54 |
+
if ( ! $instance ) {
|
55 |
+
$instance = new self( $project );
|
56 |
+
}
|
57 |
+
|
58 |
+
return $instance;
|
59 |
+
}
|
60 |
+
|
61 |
+
|
62 |
+
protected function initializeApiActions() {
|
63 |
+
$pref = 'wp_ajax_' . Brizy_Editor::prefix();
|
64 |
+
add_action( $pref . self::AJAX_SIGNIN_ACTION, array( $this, 'actionSignIn' ) );
|
65 |
+
add_action( $pref . self::AJAX_SIGNUP_ACTION, array( $this, 'actionSignUp' ) );
|
66 |
+
add_action( $pref . self::AJAX_SIGNOUT_ACTION, array( $this, 'actionSignOut' ) );
|
67 |
+
add_action( $pref . self::AJAX_RESET_PASSWORD_ACTION, array( $this, 'actionResetPassword' ) );
|
68 |
+
add_action( $pref . self::AJAX_TRIGGER_SYNC_ACTION, array( $this, 'actionSync' ) );
|
69 |
+
add_action( $pref . self::AJAX_SYNC_ALLOWED, array( $this, 'actionSyncAllowed' ) );
|
70 |
+
}
|
71 |
+
|
72 |
+
public function actionSignIn() {
|
73 |
+
|
74 |
+
$this->verifyNonce( self::nonce );
|
75 |
+
|
76 |
+
$data = file_get_contents( "php://input" );
|
77 |
+
|
78 |
+
if ( ( $data = json_decode( $data ) ) === false ) {
|
79 |
+
$this->error( 400, 'Bad request' );
|
80 |
+
}
|
81 |
+
|
82 |
+
if ( $token = $this->getClient()->signIn( $data->email, $data->password ) ) {
|
83 |
+
|
84 |
+
// this is important when you delete block from cloud the local blocks
|
85 |
+
// will be deleted based on this valued
|
86 |
+
$this->project->setCloudAccountId( $token );
|
87 |
+
$this->project->setCloudToken( $token );
|
88 |
+
|
89 |
+
$containers = $this->getClient()->getContainers();
|
90 |
+
|
91 |
+
if ( isset( $containers[0] ) ) {
|
92 |
+
$this->project->setCloudContainer( $containers[0]->id );
|
93 |
+
} else {
|
94 |
+
$this->error( 400, 'SingIn failed. Invalid container.' );
|
95 |
+
}
|
96 |
+
|
97 |
+
$this->project->saveStorage();
|
98 |
+
|
99 |
+
$this->success( [] );
|
100 |
+
} else {
|
101 |
+
$this->error( 400, 'SingIn failed' );
|
102 |
+
}
|
103 |
+
}
|
104 |
+
|
105 |
+
public function actionSignUp() {
|
106 |
+
|
107 |
+
$this->verifyNonce( self::nonce );
|
108 |
+
|
109 |
+
$data = file_get_contents( "php://input" );
|
110 |
+
|
111 |
+
if ( ( $data = json_decode( $data ) ) === false ) {
|
112 |
+
$this->error( 400, 'Bad request' );
|
113 |
+
}
|
114 |
+
|
115 |
+
if ( $token = $this->getClient()->signUp( $data->firstName, $data->lastName, $data->email, $data->password, $data->confirmPassword ) ) {
|
116 |
+
|
117 |
+
// this is important when you delete block from cloud the local blocks
|
118 |
+
// will be deleted based on this valued
|
119 |
+
$this->project->setCloudAccountId( $token );
|
120 |
+
$this->project->setCloudToken( $token );
|
121 |
+
|
122 |
+
$containers = $this->getClient()->getContainers();
|
123 |
+
|
124 |
+
if ( isset( $containers[0] ) ) {
|
125 |
+
$this->project->setCloudContainer( $containers[0]->id );
|
126 |
+
} else {
|
127 |
+
$this->error( 400, 'Unable to obtain the container.' );
|
128 |
+
}
|
129 |
+
|
130 |
+
$this->project->saveStorage();
|
131 |
+
$this->success( [] );
|
132 |
+
} else {
|
133 |
+
$this->error( 400, 'Sing Up failed' );
|
134 |
+
}
|
135 |
+
}
|
136 |
+
|
137 |
+
public function actionSignOut() {
|
138 |
+
|
139 |
+
$this->verifyNonce( self::nonce );
|
140 |
+
|
141 |
+
// clear version in case something gets wonrg.
|
142 |
+
Brizy_Admin_Cloud_Client::clearVersionCache();
|
143 |
+
|
144 |
+
// this is important when you delete block from cloud the local blocks
|
145 |
+
// will be deleted based on this valued
|
146 |
+
$this->project->setCloudAccountId( null );
|
147 |
+
$this->project->setCloudToken( null );
|
148 |
+
$this->project->saveStorage();
|
149 |
+
|
150 |
+
wp_clear_scheduled_hook( Brizy_Admin_Cloud_Cron::BRIZY_CLOUD_CRON_KEY );
|
151 |
+
|
152 |
+
$this->success( [] );
|
153 |
+
}
|
154 |
+
|
155 |
+
public function actionResetPassword() {
|
156 |
+
|
157 |
+
$this->verifyNonce( self::nonce );
|
158 |
+
|
159 |
+
$data = file_get_contents( "php://input" );
|
160 |
+
|
161 |
+
if ( ( $data = json_decode( $data ) ) === false ) {
|
162 |
+
$this->error( 400, 'Bad request' );
|
163 |
+
}
|
164 |
+
|
165 |
+
if ( ! $data->email ) {
|
166 |
+
$this->error( 400, 'Invalid email' );
|
167 |
+
}
|
168 |
+
|
169 |
+
if ( $token = $this->getClient()->resetPassword( $data->email ) ) {
|
170 |
+
$this->success( [] );
|
171 |
+
} else {
|
172 |
+
$this->error( 400, 'Reset password failed' );
|
173 |
+
}
|
174 |
+
}
|
175 |
+
|
176 |
+
public function actionSync() {
|
177 |
+
try {
|
178 |
+
|
179 |
+
if ( ! $this->project->getCloudToken() ) {
|
180 |
+
$this->error( 400, 'Unauthorized' );
|
181 |
+
}
|
182 |
+
|
183 |
+
$merged = array_merge( $this->syncLayouts( true ), $this->syncBlocks( true ) );
|
184 |
+
|
185 |
+
return $this->success( [ 'synchronized' => count( $merged ) ] );
|
186 |
+
} catch ( Exception $e ) {
|
187 |
+
Brizy_Logger::instance()->critical( 'Sync failed', [ $e ] );
|
188 |
+
$this->error( 500, 'Sync failed' );
|
189 |
+
|
190 |
+
}
|
191 |
+
}
|
192 |
+
|
193 |
+
public function actionSyncAllowed() {
|
194 |
+
|
195 |
+
try {
|
196 |
+
$versions = $this->getClient()->getCloudEditorVersions();
|
197 |
+
$response = [];
|
198 |
+
$response['isSyncAllowed'] = $versions['sync'] == BRIZY_SYNC_VERSION;
|
199 |
+
|
200 |
+
return $this->success( $response );
|
201 |
+
} catch ( Exception $e ) {
|
202 |
+
Brizy_Logger::instance()->critical( 'Sync failed', [ $e ] );
|
203 |
+
$this->error( 400, 'Sync unauthorized.' );
|
204 |
+
}
|
205 |
+
}
|
206 |
+
|
207 |
+
/**
|
208 |
+
* @return null
|
209 |
+
*/
|
210 |
+
protected function getRequestNonce() {
|
211 |
+
return $this->param( 'hash' );
|
212 |
+
}
|
213 |
+
}
|
admin/cloud/block-bridge.php
ADDED
@@ -0,0 +1,135 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Class Brizy_Admin_Cloud_BlockUploader
|
5 |
+
*/
|
6 |
+
class Brizy_Admin_Cloud_BlockBridge extends Brizy_Admin_Cloud_AbstractBridge {
|
7 |
+
|
8 |
+
use Brizy_Editor_Asset_AttachmentAware;
|
9 |
+
|
10 |
+
/**
|
11 |
+
* @param Brizy_Editor_Block $block
|
12 |
+
*
|
13 |
+
* @return mixed|void
|
14 |
+
* @throws Exception
|
15 |
+
*/
|
16 |
+
public function export( $block ) {
|
17 |
+
|
18 |
+
$media = json_decode( $block->getMedia() );
|
19 |
+
|
20 |
+
if ( ! $media || ! isset( $media->fonts ) ) {
|
21 |
+
throw new Exception( 'No fonts property in media object' );
|
22 |
+
}
|
23 |
+
|
24 |
+
if ( ! $media || ! isset( $media->images ) ) {
|
25 |
+
throw new Exception( 'No images property in media object' );
|
26 |
+
}
|
27 |
+
|
28 |
+
$bridge = new Brizy_Admin_Cloud_MediaBridge( $this->client );
|
29 |
+
foreach ( $media->images as $uid ) {
|
30 |
+
$bridge->export( $uid );
|
31 |
+
}
|
32 |
+
|
33 |
+
$bridge = new Brizy_Admin_Cloud_FontBridge( $this->client );
|
34 |
+
foreach ( $media->fonts as $fontUid ) {
|
35 |
+
$bridge->export( $fontUid );
|
36 |
+
}
|
37 |
+
|
38 |
+
$bridge = new Brizy_Admin_Cloud_ScreenshotBridge( $this->client );
|
39 |
+
$bridge->export( $block );
|
40 |
+
|
41 |
+
$cloudBlockObject = $this->client->createOrUpdateBlock( $block );
|
42 |
+
|
43 |
+
if ( $cloudBlockObject ) {
|
44 |
+
$block->setSynchronized( $this->client->getBrizyProject()->getCloudAccountId(), $cloudBlockObject->uid );
|
45 |
+
}
|
46 |
+
|
47 |
+
$block->saveStorage();
|
48 |
+
}
|
49 |
+
|
50 |
+
/**
|
51 |
+
* @param $blockId
|
52 |
+
*
|
53 |
+
* @return mixed|void
|
54 |
+
* @throws Exception
|
55 |
+
*/
|
56 |
+
public function import( $blockId ) {
|
57 |
+
global $wpdb;
|
58 |
+
|
59 |
+
$blocks = $this->client->getBlocks( [ 'uid' => $blockId ] );
|
60 |
+
|
61 |
+
if ( ! isset( $blocks[0] ) ) {
|
62 |
+
return;
|
63 |
+
}
|
64 |
+
|
65 |
+
$block = (array) $blocks[0];
|
66 |
+
|
67 |
+
try {
|
68 |
+
|
69 |
+
// create local block
|
70 |
+
$wpdb->query( 'START TRANSACTION ' );
|
71 |
+
$name = md5( time() );
|
72 |
+
$post = wp_insert_post( array(
|
73 |
+
'post_title' => $name,
|
74 |
+
'post_name' => $name,
|
75 |
+
'post_status' => 'publish',
|
76 |
+
'post_type' => Brizy_Admin_Blocks_Main::CP_SAVED
|
77 |
+
) );
|
78 |
+
|
79 |
+
if ( $post ) {
|
80 |
+
$brizyPost = Brizy_Editor_Block::get( $post, $block['uid'] );
|
81 |
+
if ( isset( $block['media'] ) ) {
|
82 |
+
$brizyPost->setMedia( $block['media'] );
|
83 |
+
}
|
84 |
+
if ( isset( $block['meta'] ) ) {
|
85 |
+
$brizyPost->setMeta( $block['meta'] );
|
86 |
+
}
|
87 |
+
$brizyPost->set_editor_data( $block['data'] );
|
88 |
+
$brizyPost->set_uses_editor( true );
|
89 |
+
$brizyPost->set_needs_compile( true );
|
90 |
+
$brizyPost->setDataVersion( 1 );
|
91 |
+
$brizyPost->setSynchronized( $this->client->getBrizyProject()->getCloudAccountId(), $block['id'] );
|
92 |
+
$brizyPost->save();
|
93 |
+
|
94 |
+
|
95 |
+
// import fonts
|
96 |
+
if ( isset( $block['media'] ) ) {
|
97 |
+
$blockMedia = json_decode( $block['media'] );
|
98 |
+
|
99 |
+
$fontBridge = new Brizy_Admin_Cloud_FontBridge( $this->client );
|
100 |
+
if ( isset( $blockMedia->fonts ) ) {
|
101 |
+
foreach ( $blockMedia->fonts as $cloudFontUid ) {
|
102 |
+
$fontBridge->import( $cloudFontUid );
|
103 |
+
}
|
104 |
+
}
|
105 |
+
|
106 |
+
$mediaBridge = new Brizy_Admin_Cloud_MediaBridge( $this->client );
|
107 |
+
$mediaBridge->setBlockId( $post );
|
108 |
+
if ( isset( $blockMedia->images ) ) {
|
109 |
+
foreach ( $blockMedia->images as $mediaUid ) {
|
110 |
+
$mediaBridge->import( $mediaUid );
|
111 |
+
}
|
112 |
+
}
|
113 |
+
}
|
114 |
+
}
|
115 |
+
|
116 |
+
|
117 |
+
$wpdb->query( 'COMMIT' );
|
118 |
+
} catch ( Exception $e ) {
|
119 |
+
$wpdb->query( 'ROLLBACK' );
|
120 |
+
Brizy_Logger::instance()->critical( 'Importing block ' . $blockId . ' failed', [ $e ] );
|
121 |
+
}
|
122 |
+
}
|
123 |
+
|
124 |
+
/**
|
125 |
+
* @param Brizy_Editor_Block $block
|
126 |
+
*
|
127 |
+
* @return mixed|void
|
128 |
+
* @throws Exception
|
129 |
+
*/
|
130 |
+
public function delete( $block ) {
|
131 |
+
if ( $block->getCloudId() ) {
|
132 |
+
$this->client->deleteBlock( $block->getCloudId() );
|
133 |
+
}
|
134 |
+
}
|
135 |
+
}
|
admin/cloud/bridge-interface.php
ADDED
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Interface Brizy_Admin_Cloud_UploaderInterface
|
5 |
+
*/
|
6 |
+
interface Brizy_Admin_Cloud_BridgeInterface {
|
7 |
+
|
8 |
+
/**
|
9 |
+
* @return mixed
|
10 |
+
*/
|
11 |
+
public function export( $entity );
|
12 |
+
|
13 |
+
/**
|
14 |
+
* @param $entity
|
15 |
+
*
|
16 |
+
* @return mixed
|
17 |
+
*/
|
18 |
+
public function import( $entity );
|
19 |
+
|
20 |
+
/**
|
21 |
+
* @param $entity
|
22 |
+
*
|
23 |
+
* @return mixed
|
24 |
+
*/
|
25 |
+
public function delete( $entity );
|
26 |
+
}
|
admin/cloud/client.php
ADDED
@@ -0,0 +1,733 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
|
4 |
+
class Brizy_Admin_Cloud_Client extends WP_Http {
|
5 |
+
|
6 |
+
use Brizy_Editor_Asset_AttachmentAware;
|
7 |
+
|
8 |
+
const TRANSIENT_KEY = 'brizy_cloud_editor_versions';
|
9 |
+
|
10 |
+
/**
|
11 |
+
* @var Brizy_Editor_Project
|
12 |
+
*/
|
13 |
+
private $brizyProject;
|
14 |
+
|
15 |
+
/**
|
16 |
+
* @var WP_Http
|
17 |
+
*/
|
18 |
+
private $http;
|
19 |
+
|
20 |
+
|
21 |
+
/**
|
22 |
+
* @var integer
|
23 |
+
*/
|
24 |
+
private $library;
|
25 |
+
|
26 |
+
/**
|
27 |
+
* Brizy_Admin_Cloud_Client constructor.
|
28 |
+
*
|
29 |
+
* @param Brizy_Editor_Project $project
|
30 |
+
* @param WP_Http $http
|
31 |
+
*/
|
32 |
+
public function __construct( Brizy_Editor_Project $project, WP_Http $http ) {
|
33 |
+
$this->brizyProject = $project;
|
34 |
+
$this->http = $http;
|
35 |
+
|
36 |
+
add_action( 'brizy-updated', [ 'Brizy_Admin_Cloud_Client', 'clearVersionCache' ] );
|
37 |
+
do_action( 'brizy-activated', [ 'Brizy_Admin_Cloud_Client', 'clearVersionCache' ] );
|
38 |
+
}
|
39 |
+
|
40 |
+
public static function clearVersionCache() {
|
41 |
+
delete_transient( self::TRANSIENT_KEY );
|
42 |
+
}
|
43 |
+
|
44 |
+
/**
|
45 |
+
* @return Brizy_Editor_Project
|
46 |
+
*/
|
47 |
+
public function getBrizyProject() {
|
48 |
+
return $this->brizyProject;
|
49 |
+
}
|
50 |
+
|
51 |
+
/**
|
52 |
+
* @param Brizy_Editor_Project $brizyProject
|
53 |
+
*
|
54 |
+
* @return Brizy_Admin_Cloud_Client
|
55 |
+
*/
|
56 |
+
public function setBrizyProject( $brizyProject ) {
|
57 |
+
$this->brizyProject = $brizyProject;
|
58 |
+
|
59 |
+
return $this;
|
60 |
+
}
|
61 |
+
|
62 |
+
/**
|
63 |
+
* @return WP_Http
|
64 |
+
*/
|
65 |
+
public function getHttp() {
|
66 |
+
return $this->http;
|
67 |
+
}
|
68 |
+
|
69 |
+
/**
|
70 |
+
* @param WP_Http $http
|
71 |
+
*
|
72 |
+
* @return Brizy_Admin_Cloud_Client
|
73 |
+
*/
|
74 |
+
public function setHttp( $http ) {
|
75 |
+
$this->http = $http;
|
76 |
+
|
77 |
+
return $this;
|
78 |
+
}
|
79 |
+
|
80 |
+
/**
|
81 |
+
* @param $uid
|
82 |
+
*
|
83 |
+
* @return string
|
84 |
+
*/
|
85 |
+
public function getScreenshotUrl( $uid ) {
|
86 |
+
$url = Brizy_Config::getEditorBaseUrls() . Brizy_Config::CLOUD_SCREENSHOT;
|
87 |
+
|
88 |
+
return sprintf( $url, $uid );
|
89 |
+
}
|
90 |
+
|
91 |
+
/**
|
92 |
+
* @param $screenUid
|
93 |
+
* @param $filePath
|
94 |
+
*
|
95 |
+
* @return bool
|
96 |
+
*/
|
97 |
+
public function createScreenshot( $screenUid, $filePath ) {
|
98 |
+
$data = array(
|
99 |
+
'uid' => $screenUid,
|
100 |
+
'attachment' => base64_encode( file_get_contents( $filePath ) )
|
101 |
+
);
|
102 |
+
$response = $this->http->post( Brizy_Config::CLOUD_ENDPOINT . Brizy_Config::CLOUD_SCREENSHOTS, array(
|
103 |
+
'headers' => $this->getHeaders(),
|
104 |
+
'body' => $data
|
105 |
+
) );
|
106 |
+
|
107 |
+
$code = wp_remote_retrieve_response_code( $response );
|
108 |
+
|
109 |
+
if ( $code >= 200 && $code <= 300 ) {
|
110 |
+
return true;
|
111 |
+
}
|
112 |
+
|
113 |
+
return false;
|
114 |
+
}
|
115 |
+
|
116 |
+
private function getHeaders( $aditional = null ) {
|
117 |
+
|
118 |
+
$values = $this->getCloudEditorVersions();
|
119 |
+
|
120 |
+
return array_merge( array(
|
121 |
+
//'X-AUTH-APP-TOKEN' => Brizy_Config::CLOUD_APP_KEY,
|
122 |
+
'X-AUTH-USER-TOKEN' => $this->brizyProject->getMetaValue( 'brizy-cloud-token' ),
|
123 |
+
'X-EDITOR-VERSION' => $values['editor'],
|
124 |
+
'X-SYNC-VERSION' => BRIZY_SYNC_VERSION
|
125 |
+
), is_array( $aditional ) ? $aditional : array() );
|
126 |
+
}
|
127 |
+
|
128 |
+
private function getHeadersWithoutAuthorization( $aditional = null ) {
|
129 |
+
return array_merge( array(
|
130 |
+
//'X-AUTH-APP-TOKEN' => Brizy_Config::CLOUD_APP_KEY,
|
131 |
+
'X-SYNC-VERSION' => BRIZY_SYNC_VERSION
|
132 |
+
), is_array( $aditional ) ? $aditional : array() );
|
133 |
+
}
|
134 |
+
|
135 |
+
public function getLibraries() {
|
136 |
+
$response = $this->http->get( Brizy_Config::CLOUD_ENDPOINT . Brizy_Config::CLOUD_LIBRARY, array( 'headers' => $this->getHeaders() ) );
|
137 |
+
|
138 |
+
$code = wp_remote_retrieve_response_code( $response );
|
139 |
+
|
140 |
+
if ( $code == 200 ) {
|
141 |
+
|
142 |
+
$body = wp_remote_retrieve_body( $response );
|
143 |
+
|
144 |
+
$libraries = json_decode( $body );
|
145 |
+
|
146 |
+
if ( count( $libraries ) == 0 ) {
|
147 |
+
throw new Exception( 'No libraries provided' );
|
148 |
+
}
|
149 |
+
|
150 |
+
|
151 |
+
return $libraries;
|
152 |
+
}
|
153 |
+
|
154 |
+
return null;
|
155 |
+
}
|
156 |
+
|
157 |
+
/**
|
158 |
+
* @param $email
|
159 |
+
* @param $password
|
160 |
+
*
|
161 |
+
* @return array|bool|WP_Error
|
162 |
+
*/
|
163 |
+
public function signIn( $email, $password ) {
|
164 |
+
|
165 |
+
$response = $this->http->post( Brizy_Config::CLOUD_ENDPOINT . Brizy_Config::CLOUD_SIGNIN, array(
|
166 |
+
'headers' => $this->getHeadersWithoutAuthorization( array(
|
167 |
+
'Content-type' => 'application/x-www-form-urlencoded'
|
168 |
+
) ),
|
169 |
+
'body' => array(
|
170 |
+
'email' => $email,
|
171 |
+
'password' => $password
|
172 |
+
),
|
173 |
+
'timeout'=>30
|
174 |
+
) );
|
175 |
+
|
176 |
+
$code = wp_remote_retrieve_response_code( $response );
|
177 |
+
|
178 |
+
if ( $code == 200 ) {
|
179 |
+
|
180 |
+
$jsonResponse = json_decode( $response['body'] );
|
181 |
+
|
182 |
+
// update cloud editor versions
|
183 |
+
$this->getCloudEditorVersions( true );
|
184 |
+
|
185 |
+
return $jsonResponse->token;
|
186 |
+
}
|
187 |
+
|
188 |
+
return false;
|
189 |
+
}
|
190 |
+
|
191 |
+
|
192 |
+
/**
|
193 |
+
* @param string $firstName
|
194 |
+
* @param string $lastName
|
195 |
+
* @param string $email
|
196 |
+
* @param string $password
|
197 |
+
* @param string $confirmPassword
|
198 |
+
*
|
199 |
+
* @return bool
|
200 |
+
*/
|
201 |
+
public function signUp( $firstName, $lastName, $email, $password, $confirmPassword ) {
|
202 |
+
|
203 |
+
$response = $this->http->post( Brizy_Config::CLOUD_ENDPOINT . Brizy_Config::CLOUD_SIGNUP, array(
|
204 |
+
'headers' => $this->getHeadersWithoutAuthorization( array(
|
205 |
+
'Content-type' => 'application/x-www-form-urlencoded'
|
206 |
+
) ),
|
207 |
+
'body' => array(
|
208 |
+
'first_name' => $firstName,
|
209 |
+
'last_name' => $lastName,
|
210 |
+
'email' => $email,
|
211 |
+
'new_password' => $password,
|
212 |
+
'confirm_password' => $confirmPassword,
|
213 |
+
)
|
214 |
+
) );
|
215 |
+
|
216 |
+
$code = wp_remote_retrieve_response_code( $response );
|
217 |
+
|
218 |
+
if ( $code == 200 ) {
|
219 |
+
|
220 |
+
$jsonResponse = json_decode( $response['body'] );
|
221 |
+
|
222 |
+
return $jsonResponse->token;
|
223 |
+
}
|
224 |
+
|
225 |
+
return false;
|
226 |
+
}
|
227 |
+
|
228 |
+
/**
|
229 |
+
* @param $email
|
230 |
+
*
|
231 |
+
* @return bool
|
232 |
+
*/
|
233 |
+
public function resetPassword( $email ) {
|
234 |
+
|
235 |
+
$response = $this->http->post( Brizy_Config::CLOUD_ENDPOINT . Brizy_Config::CLOUD_RESET_PASSWORD, array(
|
236 |
+
'headers' => $this->getHeaders( array(
|
237 |
+
'Content-type' => 'application/x-www-form-urlencoded'
|
238 |
+
) ),
|
239 |
+
'body' => array(
|
240 |
+
'email' => $email,
|
241 |
+
)
|
242 |
+
) );
|
243 |
+
|
244 |
+
$code = wp_remote_retrieve_response_code( $response );
|
245 |
+
|
246 |
+
return $code >= 200 && $code < 300;
|
247 |
+
}
|
248 |
+
|
249 |
+
public function getCloudEditorVersions( $ignoreCache = false ) {
|
250 |
+
|
251 |
+
$value = get_transient( 'brizy_cloud_editor_versions' );
|
252 |
+
|
253 |
+
if ( $value && ! $ignoreCache ) {
|
254 |
+
return $value;
|
255 |
+
}
|
256 |
+
|
257 |
+
$url = Brizy_Config::CLOUD_ENDPOINT . Brizy_Config::CLOUD_EDITOR_VERSIONS;
|
258 |
+
|
259 |
+
$response = $this->http->get( $url );
|
260 |
+
|
261 |
+
$code = wp_remote_retrieve_response_code( $response );
|
262 |
+
|
263 |
+
if ( $code == 200 ) {
|
264 |
+
$value = (array) json_decode( $response['body'] );
|
265 |
+
set_transient( 'brizy_cloud_editor_versions', $value, 3600 );
|
266 |
+
} else {
|
267 |
+
throw new Exception( wp_remote_retrieve_response_message( $response ) );
|
268 |
+
}
|
269 |
+
|
270 |
+
return $value;
|
271 |
+
}
|
272 |
+
|
273 |
+
public function getContainers() {
|
274 |
+
return $this->getCloudEntity( Brizy_Config::CLOUD_ENDPOINT . Brizy_Config::CLOUD_CONTAINERS, [] );
|
275 |
+
}
|
276 |
+
|
277 |
+
public function getProjects( $filters ) {
|
278 |
+
return $this->getCloudEntity( Brizy_Config::CLOUD_ENDPOINT . Brizy_Config::CLOUD_PROJECTS, $filters );
|
279 |
+
}
|
280 |
+
|
281 |
+
public function getProject( $id ) {
|
282 |
+
|
283 |
+
$url = sprintf( Brizy_Config::CLOUD_ENDPOINT . Brizy_Config::CLOUD_PROJECTS . "/%d", (int) $id );
|
284 |
+
$response = $this->http->get( $url, array( 'headers' => $this->getHeaders() ) );
|
285 |
+
|
286 |
+
$code = wp_remote_retrieve_response_code( $response );
|
287 |
+
if ( $code == 200 ) {
|
288 |
+
return json_decode( $response['body'] );
|
289 |
+
}
|
290 |
+
|
291 |
+
return null;
|
292 |
+
}
|
293 |
+
|
294 |
+
public function createProject( $container, $name ) {
|
295 |
+
|
296 |
+
$response = $this->http->post( Brizy_Config::CLOUD_ENDPOINT . Brizy_Config::CLOUD_PROJECTS, array(
|
297 |
+
'headers' => $this->getHeaders(),
|
298 |
+
'body' => array(
|
299 |
+
'name' => $name,
|
300 |
+
'container' => $container,
|
301 |
+
'globals' => null,
|
302 |
+
'site_id' => null
|
303 |
+
)
|
304 |
+
) );
|
305 |
+
|
306 |
+
$code = wp_remote_retrieve_response_code( $response );
|
307 |
+
if ( $code == 200 ) {
|
308 |
+
return json_decode( $response['body'] );
|
309 |
+
}
|
310 |
+
|
311 |
+
return false;
|
312 |
+
}
|
313 |
+
|
314 |
+
public function getBlocks( $filters = array() ) {
|
315 |
+
return $this->getCloudEntityByContainer( Brizy_Config::CLOUD_ENDPOINT . Brizy_Config::CLOUD_SAVEDBLOCKS, $filters );
|
316 |
+
}
|
317 |
+
|
318 |
+
/**
|
319 |
+
* @param Brizy_Editor_Block $block
|
320 |
+
*
|
321 |
+
* @return bool
|
322 |
+
* @throws Exception
|
323 |
+
*/
|
324 |
+
public function createOrUpdateBlock( Brizy_Editor_Block $block ) {
|
325 |
+
|
326 |
+
$cloudBlockData = array(
|
327 |
+
'container' => $this->brizyProject->getCloudContainer(),
|
328 |
+
'meta' => $block->getMeta(),
|
329 |
+
'media' => $block->getMedia(),
|
330 |
+
'data' => $block->get_editor_data(),
|
331 |
+
'uid' => $block->getUid(),
|
332 |
+
'dataVersion' => 1
|
333 |
+
);
|
334 |
+
|
335 |
+
$url = Brizy_Config::CLOUD_ENDPOINT . Brizy_Config::CLOUD_SAVEDBLOCKS;
|
336 |
+
|
337 |
+
if ( ! $block->getCloudId() ) {
|
338 |
+
$response = $this->http->post( $url, array(
|
339 |
+
'headers' => $this->getHeaders(),
|
340 |
+
'body' => $cloudBlockData
|
341 |
+
) );
|
342 |
+
} else {
|
343 |
+
$response = $this->http->request( $url, array(
|
344 |
+
'method' => 'PUT',
|
345 |
+
'headers' => $this->getHeaders(),
|
346 |
+
'body' => $cloudBlockData,
|
347 |
+
) );
|
348 |
+
}
|
349 |
+
|
350 |
+
$code = wp_remote_retrieve_response_code( $response );
|
351 |
+
|
352 |
+
if ( $code >= 400 ) {
|
353 |
+
// update cloud editor versions
|
354 |
+
$this->getCloudEditorVersions( true );
|
355 |
+
Brizy_Logger::instance()->critical( 'Cloud api exception', [ $response ] );
|
356 |
+
throw new Exception( wp_remote_retrieve_response_message( $response ) );
|
357 |
+
}
|
358 |
+
|
359 |
+
return json_decode( wp_remote_retrieve_body( $response ) );
|
360 |
+
}
|
361 |
+
|
362 |
+
/**
|
363 |
+
* @param $blockId
|
364 |
+
*
|
365 |
+
* @return bool
|
366 |
+
* @throws Exception
|
367 |
+
*/
|
368 |
+
public function deleteBlock( $blockId ) {
|
369 |
+
$query = http_build_query( [ 'container' => $this->brizyProject->getCloudContainer() ] );
|
370 |
+
$url = Brizy_Config::CLOUD_ENDPOINT . Brizy_Config::CLOUD_SAVEDBLOCKS . "/" . $blockId . "?" . $query;
|
371 |
+
$response = $this->http->request( $url, array( 'method' => 'DELETE', 'headers' => $this->getHeaders() ) );
|
372 |
+
$code = wp_remote_retrieve_response_code( $response );
|
373 |
+
|
374 |
+
if ( $code >= 400 ) {
|
375 |
+
throw new Exception( 'Invalid code return by cloud api' );
|
376 |
+
}
|
377 |
+
|
378 |
+
return $code == 200;
|
379 |
+
}
|
380 |
+
|
381 |
+
|
382 |
+
/**
|
383 |
+
* @param $filters
|
384 |
+
*
|
385 |
+
* @return array|mixed|object|null
|
386 |
+
*/
|
387 |
+
public function getPopups( $filters = array() ) {
|
388 |
+
return $this->getCloudEntityByContainer( Brizy_Config::CLOUD_ENDPOINT . Brizy_Config::CLOUD_POPUPS, $filters );
|
389 |
+
}
|
390 |
+
|
391 |
+
/**
|
392 |
+
* @param Brizy_Editor_Popup $popup
|
393 |
+
*
|
394 |
+
* @return bool
|
395 |
+
* @throws Exception
|
396 |
+
*/
|
397 |
+
public function createOrUpdatePopup( Brizy_Editor_Popup $popup ) {
|
398 |
+
|
399 |
+
$cloudBlockData = array(
|
400 |
+
'container' => $this->brizyProject->getCloudContainer(),
|
401 |
+
'meta' => $popup->getMeta(),
|
402 |
+
'data' => $popup->get_editor_data(),
|
403 |
+
'is_autosave' => 0,
|
404 |
+
'uid' => $popup->getUid(),
|
405 |
+
'dataVersion' => 1
|
406 |
+
|
407 |
+
);
|
408 |
+
|
409 |
+
$url = Brizy_Config::CLOUD_ENDPOINT . Brizy_Config::CLOUD_POPUPS;
|
410 |
+
|
411 |
+
if ( $popup->getCloudId() ) {
|
412 |
+
$response = $this->http->request( $url, array(
|
413 |
+
'method' => 'PUT',
|
414 |
+
'headers' => $this->getHeaders(),
|
415 |
+
'body' => $cloudBlockData
|
416 |
+
) );
|
417 |
+
} else {
|
418 |
+
$response = $this->http->post( $url, array( 'headers' => $this->getHeaders(), 'body' => $cloudBlockData ) );
|
419 |
+
}
|
420 |
+
|
421 |
+
$code = wp_remote_retrieve_response_code( $response );
|
422 |
+
|
423 |
+
if ( $code >= 400 ) {
|
424 |
+
$this->getCloudEditorVersions( true );
|
425 |
+
Brizy_Logger::instance()->critical( 'Cloud api exception', [ $response ] );
|
426 |
+
throw new Exception( 'Invalid code return by cloud api' );
|
427 |
+
}
|
428 |
+
|
429 |
+
return json_decode( wp_remote_retrieve_body( $response ) );
|
430 |
+
}
|
431 |
+
|
432 |
+
/**
|
433 |
+
* @param $popupId
|
434 |
+
*
|
435 |
+
* @return bool
|
436 |
+
* @throws Exception
|
437 |
+
*/
|
438 |
+
public function deletePopup( $popupId ) {
|
439 |
+
$query = http_build_query( [ 'container' => $this->brizyProject->getCloudContainer() ] );
|
440 |
+
$url = Brizy_Config::CLOUD_ENDPOINT . Brizy_Config::CLOUD_POPUPS . "/" . $popupId . "?" . $query;
|
441 |
+
$response = $this->http->request( $url, array( 'method' => 'DELETE', 'headers' => $this->getHeaders() ) );
|
442 |
+
$code = wp_remote_retrieve_response_code( $response );
|
443 |
+
|
444 |
+
if ( $code >= 400 ) {
|
445 |
+
throw new Exception( 'Invalid code return by cloud api' );
|
446 |
+
}
|
447 |
+
|
448 |
+
return $code == 200;
|
449 |
+
}
|
450 |
+
|
451 |
+
|
452 |
+
/**
|
453 |
+
* @param $filters
|
454 |
+
*
|
455 |
+
* @return array|mixed|object|null
|
456 |
+
*/
|
457 |
+
public function getLayouts( $filters = array() ) {
|
458 |
+
return $this->getCloudEntityByContainer( Brizy_Config::CLOUD_ENDPOINT . Brizy_Config::CLOUD_LAYOUTS, $filters );
|
459 |
+
}
|
460 |
+
|
461 |
+
|
462 |
+
/**
|
463 |
+
* @param Brizy_Editor_Layout $layout
|
464 |
+
*
|
465 |
+
* @return bool
|
466 |
+
* @throws Exception
|
467 |
+
*/
|
468 |
+
public function createOrUpdateLayout( Brizy_Editor_Layout $layout ) {
|
469 |
+
|
470 |
+
$cloudBlockData = array(
|
471 |
+
'container' => $this->brizyProject->getCloudContainer(),
|
472 |
+
'meta' => $layout->getMeta(),
|
473 |
+
'media' => $layout->getMedia(),
|
474 |
+
'data' => $layout->get_editor_data(),
|
475 |
+
'uid' => $layout->getUid(),
|
476 |
+
'dataVersion' => 1
|
477 |
+
);
|
478 |
+
|
479 |
+
$url = Brizy_Config::CLOUD_ENDPOINT . Brizy_Config::CLOUD_LAYOUTS;
|
480 |
+
|
481 |
+
|
482 |
+
if ( ! $layout->getCloudId() ) {
|
483 |
+
$response = $this->http->post( $url, array(
|
484 |
+
'headers' => $this->getHeaders(),
|
485 |
+
'body' => $cloudBlockData
|
486 |
+
) );
|
487 |
+
} else {
|
488 |
+
$response = $this->http->request( $url, array(
|
489 |
+
'method' => 'PUT',
|
490 |
+
'headers' => $this->getHeaders(),
|
491 |
+
'body' => $cloudBlockData,
|
492 |
+
) );
|
493 |
+
}
|
494 |
+
|
495 |
+
$code = wp_remote_retrieve_response_code( $response );
|
496 |
+
|
497 |
+
if ( $code >= 400 ) {
|
498 |
+
$this->getCloudEditorVersions( true );
|
499 |
+
Brizy_Logger::instance()->critical( 'Cloud api exception', [ $response ] );
|
500 |
+
throw new Exception( 'Invalid code return by cloud api' );
|
501 |
+
}
|
502 |
+
|
503 |
+
return json_decode( wp_remote_retrieve_body( $response ) );
|
504 |
+
}
|
505 |
+
|
506 |
+
/**
|
507 |
+
* @param $layoutId
|
508 |
+
*
|
509 |
+
* @return bool
|
510 |
+
* @throws Exception
|
511 |
+
*/
|
512 |
+
public function deleteLayout( $layoutId ) {
|
513 |
+
$query = http_build_query( [ 'container' => $this->brizyProject->getCloudContainer() ] );
|
514 |
+
$url = Brizy_Config::CLOUD_ENDPOINT . Brizy_Config::CLOUD_LAYOUTS . "/" . $layoutId . "?" . $query;
|
515 |
+
$response = $this->http->request( $url, array( 'method' => 'DELETE', 'headers' => $this->getHeaders() ) );
|
516 |
+
$code = wp_remote_retrieve_response_code( $response );
|
517 |
+
|
518 |
+
if ( $code >= 400 ) {
|
519 |
+
throw new Exception( 'Invalid code return by cloud api' );
|
520 |
+
}
|
521 |
+
|
522 |
+
return $code == 200;
|
523 |
+
}
|
524 |
+
|
525 |
+
|
526 |
+
/**
|
527 |
+
* @param $uid
|
528 |
+
*
|
529 |
+
* @return bool
|
530 |
+
* @throws Exception
|
531 |
+
*/
|
532 |
+
public function isMediaUploaded( $uid ) {
|
533 |
+
$cloud_entity_by_container = $this->getCloudEntity( Brizy_Config::CLOUD_ENDPOINT . Brizy_Config::CLOUD_MEDIA, [ 'name' => $uid ] );
|
534 |
+
|
535 |
+
return is_array( $cloud_entity_by_container ) && count( $cloud_entity_by_container ) > 0;
|
536 |
+
}
|
537 |
+
|
538 |
+
/**
|
539 |
+
* @param $file
|
540 |
+
*
|
541 |
+
* @return bool
|
542 |
+
* @throws Exception
|
543 |
+
*/
|
544 |
+
public function uploadMedia( $uid, $file ) {
|
545 |
+
|
546 |
+
$response = $this->http->post( Brizy_Config::CLOUD_ENDPOINT . Brizy_Config::CLOUD_MEDIA, array(
|
547 |
+
'headers' => $this->getHeaders(),
|
548 |
+
'body' => array(
|
549 |
+
'attachment' => base64_encode( file_get_contents( $file ) ),
|
550 |
+
'name' => $uid,
|
551 |
+
'filename' => basename( $file )
|
552 |
+
)
|
553 |
+
) );
|
554 |
+
|
555 |
+
$code = wp_remote_retrieve_response_code( $response );
|
556 |
+
|
557 |
+
if ( $code >= 400 ) {
|
558 |
+
throw new Exception( 'Invalid code return by cloud api' );
|
559 |
+
}
|
560 |
+
|
561 |
+
return true;
|
562 |
+
}
|
563 |
+
|
564 |
+
|
565 |
+
/**
|
566 |
+
* @param $font
|
567 |
+
*
|
568 |
+
* Ex:
|
569 |
+
* [
|
570 |
+
* 'id' => 'askdalskdlaksd',
|
571 |
+
* 'family' => 'proxima-nova',
|
572 |
+
* 'type' => 'uploaded',
|
573 |
+
* 'weights' => [
|
574 |
+
* '400' => [
|
575 |
+
* 'ttf' => codecept_data_dir( 'fonts/pn-regular-webfont.ttf' ),
|
576 |
+
* 'eot' => codecept_data_dir( 'fonts/pn-regular-webfont.eot' ),
|
577 |
+
* 'woff' => codecept_data_dir( 'fonts/pn-regular-webfont.woff' ),
|
578 |
+
* 'woff2' => codecept_data_dir( 'fonts/pn-regular-webfont.woff2' ),
|
579 |
+
* ],
|
580 |
+
* '500' => [
|
581 |
+
* 'eot' => codecept_data_dir( 'fonts/pn-medium-webfont.eot' ),
|
582 |
+
* 'woff' => codecept_data_dir( 'fonts/pn-medium-webfont.woff' ),
|
583 |
+
* 'woff2' => codecept_data_dir( 'fonts/pn-medium-webfont.woff2' ),
|
584 |
+
* ],
|
585 |
+
* '700' => [
|
586 |
+
* 'eot' => codecept_data_dir( 'fonts/pn-bold-webfont.eot' ),
|
587 |
+
* 'woff' => codecept_data_dir( 'fonts/pn-bold-webfont.woff' ),
|
588 |
+
* 'woff2' => codecept_data_dir( 'fonts/pn-bold-webfont.woff2' ),
|
589 |
+
* ],
|
590 |
+
* ]
|
591 |
+
* ];
|
592 |
+
*
|
593 |
+
* @return bool
|
594 |
+
* @throws Exception
|
595 |
+
*/
|
596 |
+
public function createFont( $font ) {
|
597 |
+
|
598 |
+
$params = array(
|
599 |
+
'container' => $this->brizyProject->getCloudContainer(),
|
600 |
+
'uid' => $font['id'],
|
601 |
+
'family' => $font['family'],
|
602 |
+
);
|
603 |
+
|
604 |
+
// prepare font data
|
605 |
+
foreach ( $font['weights'] as $weigth => $files ) {
|
606 |
+
foreach ( $files as $type => $file ) {
|
607 |
+
$params["files[$weigth][$type]"] = new CURLFile( $file );
|
608 |
+
}
|
609 |
+
}
|
610 |
+
unset( $font['weights'] );
|
611 |
+
|
612 |
+
$file_upload_request = function ( $handle_or_parameters, $request = '', $url = '' ) use ( $params ) {
|
613 |
+
$this->updateWPHTTPRequest( $handle_or_parameters, $params );
|
614 |
+
};
|
615 |
+
// handle cURL requests
|
616 |
+
add_action( 'http_api_curl', $file_upload_request, 10 );
|
617 |
+
// handle fsockopen
|
618 |
+
add_action( 'requests-fsockopen.before_send', $file_upload_request, 10, 3 );
|
619 |
+
|
620 |
+
$response = $this->http->post( Brizy_Config::CLOUD_ENDPOINT . Brizy_Config::CLOUD_FONTS, array(
|
621 |
+
'headers' => $this->getHeaders( [ 'Content-Type' => 'multipart/form-data' ] ),
|
622 |
+
'body' => $params,
|
623 |
+
'timeout' => 40
|
624 |
+
) );
|
625 |
+
|
626 |
+
remove_action( 'http_api_curl', $file_upload_request );
|
627 |
+
remove_action( 'requests-fsockopen.before_send', $file_upload_request );
|
628 |
+
|
629 |
+
$code = wp_remote_retrieve_response_code( $response );
|
630 |
+
|
631 |
+
if ( $code >= 400 ) {
|
632 |
+
throw new Exception( 'Invalid code return by cloud api' );
|
633 |
+
}
|
634 |
+
|
635 |
+
return json_decode( wp_remote_retrieve_body( $response ) );
|
636 |
+
}
|
637 |
+
|
638 |
+
public function getFont( $uid ) {
|
639 |
+
$response = $this->getCloudEntity( Brizy_Config::CLOUD_ENDPOINT . Brizy_Config::CLOUD_FONTS . "/{$uid}" );
|
640 |
+
|
641 |
+
if ( is_array( $response ) ) {
|
642 |
+
return $response;
|
643 |
+
}
|
644 |
+
|
645 |
+
return null;
|
646 |
+
}
|
647 |
+
|
648 |
+
|
649 |
+
/**
|
650 |
+
* @param $endpoint
|
651 |
+
* @param $filters
|
652 |
+
*
|
653 |
+
* @return array|mixed|object|null
|
654 |
+
*/
|
655 |
+
private function getCloudEntity( $endpoint, $filters = array() ) {
|
656 |
+
|
657 |
+
$http_build_query = http_build_query( $filters );
|
658 |
+
|
659 |
+
if ( $http_build_query ) {
|
660 |
+
$http_build_query = '?' . $http_build_query;
|
661 |
+
}
|
662 |
+
|
663 |
+
$url = $endpoint . $http_build_query;
|
664 |
+
$response = $this->http->get( $url, array( 'headers' => $this->getHeaders() ) );
|
665 |
+
|
666 |
+
$code = wp_remote_retrieve_response_code( $response );
|
667 |
+
if ( $code == 200 ) {
|
668 |
+
return (array) json_decode( $response['body'] );
|
669 |
+
}
|
670 |
+
|
671 |
+
return null;
|
672 |
+
}
|
673 |
+
|
674 |
+
/**
|
675 |
+
* @param $endpoint
|
676 |
+
* @param $filters
|
677 |
+
*
|
678 |
+
* @return array|mixed|object|null
|
679 |
+
*/
|
680 |
+
private function getCloudEntityByContainer( $endpoint, $filters = array() ) {
|
681 |
+
|
682 |
+
$filters = array_merge( $filters, [ 'container' => $this->brizyProject->getCloudContainer() ] );
|
683 |
+
|
684 |
+
return $this->getCloudEntity( $endpoint, $filters );
|
685 |
+
}
|
686 |
+
|
687 |
+
private function updateWPHTTPRequest( &$handle_or_parameters, $form_body_arguments ) {
|
688 |
+
if ( function_exists( 'curl_init' ) && function_exists( 'curl_exec' ) ) {
|
689 |
+
curl_setopt( $handle_or_parameters, CURLOPT_POSTFIELDS, $form_body_arguments );
|
690 |
+
} elseif ( function_exists( 'fsockopen' ) ) {
|
691 |
+
$form_fields = [];
|
692 |
+
$form_files = [];
|
693 |
+
foreach ( $form_body_arguments as $name => $value ) {
|
694 |
+
if ( file_exists( $value ) ) {
|
695 |
+
// Not great for large files since it dumps into memory but works well for small files
|
696 |
+
$form_files[ $name ] = file_get_contents( $value );
|
697 |
+
} else {
|
698 |
+
$form_fields[ $name ] = $value;
|
699 |
+
}
|
700 |
+
}
|
701 |
+
|
702 |
+
function build_data_files( $boundary, $fields, $files ) {
|
703 |
+
$data = '';
|
704 |
+
$eol = "\r\n";
|
705 |
+
|
706 |
+
$delimiter = '-------------' . $boundary;
|
707 |
+
|
708 |
+
foreach ( $fields as $name => $content ) {
|
709 |
+
$data .= "--" . $delimiter . $eol
|
710 |
+
. 'Content-Disposition: form-data; name="' . $name . "\"" . $eol . $eol
|
711 |
+
. $content . $eol;
|
712 |
+
}
|
713 |
+
|
714 |
+
foreach ( $files as $name => $content ) {
|
715 |
+
$data .= "--" . $delimiter . $eol
|
716 |
+
. 'Content-Disposition: form-data; name="' . $name . '"; filename="' . $name . '"' . $eol
|
717 |
+
//. 'Content-Type: image/png'.$eol
|
718 |
+
. 'Content-Transfer-Encoding: binary' . $eol;
|
719 |
+
|
720 |
+
$data .= $eol;
|
721 |
+
$data .= $content . $eol;
|
722 |
+
}
|
723 |
+
$data .= "--" . $delimiter . "--" . $eol;
|
724 |
+
|
725 |
+
return $data;
|
726 |
+
}
|
727 |
+
|
728 |
+
$boundary = uniqid();
|
729 |
+
$handle_or_parameters = build_data_files( $boundary, $form_fields, $form_files );
|
730 |
+
}
|
731 |
+
}
|
732 |
+
|
733 |
+
}
|
admin/cloud/cron.php
ADDED
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Brizy_Admin_Cloud_Cron {
|
4 |
+
|
5 |
+
use Brizy_Admin_Cloud_SyncAware;
|
6 |
+
|
7 |
+
const BRIZY_CLOUD_CRON_KEY = 'brizy-cloud-synchronize';
|
8 |
+
|
9 |
+
|
10 |
+
public static function _init() {
|
11 |
+
static $instance;
|
12 |
+
|
13 |
+
if ( ! $instance ) {
|
14 |
+
$instance = new self( new Brizy_Admin_Cloud_Client( Brizy_Editor_Project::get(), new WP_Http() ) );
|
15 |
+
}
|
16 |
+
|
17 |
+
return $instance;
|
18 |
+
}
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Brizy_Admin_Cloud_Cron constructor.
|
22 |
+
*/
|
23 |
+
public function __construct( Brizy_Admin_Cloud_Client $client ) {
|
24 |
+
|
25 |
+
$this->setClient( $client );
|
26 |
+
|
27 |
+
add_action( self::BRIZY_CLOUD_CRON_KEY, array( $this, 'syncBlocksAction' ) );
|
28 |
+
add_action( self::BRIZY_CLOUD_CRON_KEY, array( $this, 'syncLayoutsAction' ) );
|
29 |
+
|
30 |
+
add_filter( 'cron_schedules', array( $this, 'addBrizyCloudCronSchedules' ) );
|
31 |
+
|
32 |
+
|
33 |
+
if ( ! wp_next_scheduled( self::BRIZY_CLOUD_CRON_KEY ) ) {
|
34 |
+
$interval = is_user_logged_in() ? '5minute' : 'hourly';
|
35 |
+
|
36 |
+
if ( is_user_logged_in() ) {
|
37 |
+
wp_schedule_event( time(), $interval, self::BRIZY_CLOUD_CRON_KEY );
|
38 |
+
}
|
39 |
+
}
|
40 |
+
}
|
41 |
+
|
42 |
+
public function syncLayoutsAction() {
|
43 |
+
Brizy_Logger::instance()->debug('Sync layouts cron called');
|
44 |
+
return $this->syncLayouts();
|
45 |
+
}
|
46 |
+
|
47 |
+
public function syncBlocksAction() {
|
48 |
+
Brizy_Logger::instance()->debug('Sync blocks cron called');
|
49 |
+
return $this->syncBlocks();
|
50 |
+
}
|
51 |
+
|
52 |
+
public function addBrizyCloudCronSchedules( $schedules ) {
|
53 |
+
// Adds once weekly to the existing schedules.
|
54 |
+
$schedules['5minute'] = array(
|
55 |
+
'interval' => 300,
|
56 |
+
'display' => __( 'Once in 5 minutes' )
|
57 |
+
);
|
58 |
+
|
59 |
+
return $schedules;
|
60 |
+
}
|
61 |
+
}
|
admin/cloud/font-bridge.php
ADDED
@@ -0,0 +1,103 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Class Brizy_Admin_Cloud_FontBridge
|
5 |
+
*/
|
6 |
+
class Brizy_Admin_Cloud_FontBridge extends Brizy_Admin_Cloud_AbstractBridge {
|
7 |
+
|
8 |
+
/**
|
9 |
+
* @var Brizy_Admin_Fonts_Manager
|
10 |
+
*/
|
11 |
+
private $fontManager;
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Brizy_Admin_Cloud_FontBridge constructor.
|
15 |
+
*
|
16 |
+
* @param Brizy_Admin_Cloud_Client $client
|
17 |
+
*/
|
18 |
+
public function __construct( Brizy_Admin_Cloud_Client $client ) {
|
19 |
+
parent::__construct( $client );
|
20 |
+
|
21 |
+
$this->fontManager = new Brizy_Admin_Fonts_Manager();
|
22 |
+
}
|
23 |
+
|
24 |
+
/**
|
25 |
+
* @param $fontUid
|
26 |
+
*
|
27 |
+
* @return mixed|void
|
28 |
+
* @throws Exception
|
29 |
+
*/
|
30 |
+
public function export( $fontUid ) {
|
31 |
+
|
32 |
+
$fontData = $this->fontManager->getFontForExport( $fontUid );
|
33 |
+
|
34 |
+
if ( ! $fontData ) {
|
35 |
+
throw new \Exception( "Unable to find font {$fontUid}" );
|
36 |
+
}
|
37 |
+
|
38 |
+
if ( ! $this->client->getFont( $fontUid ) ) {
|
39 |
+
$this->client->createFont( $fontData );
|
40 |
+
}
|
41 |
+
}
|
42 |
+
|
43 |
+
/**
|
44 |
+
* @param $fontUid
|
45 |
+
*
|
46 |
+
* @return mixed|void
|
47 |
+
* @throws Exception
|
48 |
+
*/
|
49 |
+
public function import( $fontUid ) {
|
50 |
+
|
51 |
+
if ( $font = $this->fontManager->getFont( $fontUid ) ) {
|
52 |
+
return $font;
|
53 |
+
}
|
54 |
+
|
55 |
+
$font = $this->client->getFont( $fontUid );
|
56 |
+
|
57 |
+
$family = $font['family'];
|
58 |
+
$weights = $font['files'];
|
59 |
+
|
60 |
+
$newWeights = array();
|
61 |
+
|
62 |
+
foreach ( $weights as $weight => $weightType ) {
|
63 |
+
foreach ( $weightType as $type => $fileUrl ) {
|
64 |
+
$newWeights[ $weight ][ $type ] = $this->downloadFileToTemporaryFile( $fileUrl );
|
65 |
+
}
|
66 |
+
}
|
67 |
+
|
68 |
+
return $this->fontManager->createFont( $fontUid, $family, $newWeights, 'uploaded' );
|
69 |
+
}
|
70 |
+
|
71 |
+
private function downloadFileToTemporaryFile( $url ) {
|
72 |
+
$filePath = tempnam( sys_get_temp_dir(), basename( $url ) );
|
73 |
+
$content = file_get_contents( $url );
|
74 |
+
$result = file_put_contents( $filePath, $content );
|
75 |
+
|
76 |
+
if ( $result === false ) {
|
77 |
+
Brizy_Logger::instance()->critical( 'Filed to write font content',
|
78 |
+
[
|
79 |
+
'url' => $url,
|
80 |
+
'filePath' => $filePath
|
81 |
+
] );
|
82 |
+
throw new Exception( 'Filed to write font content' );
|
83 |
+
}
|
84 |
+
|
85 |
+
return array(
|
86 |
+
'name' => basename( $url ),
|
87 |
+
'type' => mime_content_type( $filePath ),
|
88 |
+
'tmp_name' => $filePath,
|
89 |
+
'error' => 0,
|
90 |
+
'size' => filesize( $filePath )
|
91 |
+
);
|
92 |
+
}
|
93 |
+
|
94 |
+
/**
|
95 |
+
* @param $fontUid
|
96 |
+
*
|
97 |
+
* @return mixed|void
|
98 |
+
* @throws Exception
|
99 |
+
*/
|
100 |
+
public function delete( $fontUid ) {
|
101 |
+
throw new Exception( 'Not implemented' );
|
102 |
+
}
|
103 |
+
}
|
admin/cloud/layout-bridge.php
ADDED
@@ -0,0 +1,137 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Class Brizy_Admin_Cloud_BlockUploader
|
5 |
+
*/
|
6 |
+
class Brizy_Admin_Cloud_LayoutBridge extends Brizy_Admin_Cloud_AbstractBridge {
|
7 |
+
|
8 |
+
|
9 |
+
/**
|
10 |
+
* @param Brizy_Editor_Block $layout
|
11 |
+
*
|
12 |
+
* @return mixed|void
|
13 |
+
* @throws Exception
|
14 |
+
*/
|
15 |
+
public function export( $layout ) {
|
16 |
+
|
17 |
+
// check if the assets are uploaded in cloud
|
18 |
+
// upload them if needed
|
19 |
+
// create the block in cloud
|
20 |
+
|
21 |
+
$media = json_decode( $layout->getMedia() );
|
22 |
+
|
23 |
+
if ( ! $media || ! isset( $media->fonts ) ) {
|
24 |
+
throw new Exception( 'No fonts property in media object' );
|
25 |
+
}
|
26 |
+
|
27 |
+
if ( ! $media || ! isset( $media->images ) ) {
|
28 |
+
throw new Exception( 'No images property in media object' );
|
29 |
+
}
|
30 |
+
|
31 |
+
$bridge = new Brizy_Admin_Cloud_MediaBridge( $this->client );
|
32 |
+
foreach ( $media->images as $uid ) {
|
33 |
+
$bridge->export( $uid );
|
34 |
+
}
|
35 |
+
|
36 |
+
$bridge = new Brizy_Admin_Cloud_FontBridge( $this->client );
|
37 |
+
foreach ( $media->fonts as $fontUid ) {
|
38 |
+
$bridge->export( $fontUid );
|
39 |
+
}
|
40 |
+
|
41 |
+
$bridge = new Brizy_Admin_Cloud_ScreenshotBridge( $this->client );
|
42 |
+
$bridge->export( $layout );
|
43 |
+
|
44 |
+
$layoutObject = $this->client->createOrUpdateLayout( $layout );
|
45 |
+
|
46 |
+
$layout->setSynchronized( $this->client->getBrizyProject()->getCloudAccountId(), $layoutObject->uid );
|
47 |
+
|
48 |
+
$layout->saveStorage();
|
49 |
+
}
|
50 |
+
|
51 |
+
/**
|
52 |
+
* @param $layoutId
|
53 |
+
*
|
54 |
+
* @return mixed|void
|
55 |
+
* @throws Exception
|
56 |
+
*/
|
57 |
+
public function import( $layoutId ) {
|
58 |
+
global $wpdb;
|
59 |
+
|
60 |
+
$layouts = $this->client->getLayouts( [ 'uid' => $layoutId ] );
|
61 |
+
|
62 |
+
if ( ! isset( $layouts[0] ) ) {
|
63 |
+
return;
|
64 |
+
}
|
65 |
+
|
66 |
+
try {
|
67 |
+
$wpdb->query( 'START TRANSACTION ' );
|
68 |
+
|
69 |
+
$layout = (array) $layouts[0];
|
70 |
+
|
71 |
+
$name = md5( time() );
|
72 |
+
$post = wp_insert_post( array(
|
73 |
+
'post_title' => $name,
|
74 |
+
'post_name' => $name,
|
75 |
+
'post_status' => 'publish',
|
76 |
+
'post_type' => Brizy_Admin_Layouts_Main::CP_LAYOUT
|
77 |
+
) );
|
78 |
+
|
79 |
+
if ( $post ) {
|
80 |
+
$brizyPost = Brizy_Editor_Layout::get( $post, $layout['uid'] );
|
81 |
+
|
82 |
+
if ( isset( $layout['media'] ) ) {
|
83 |
+
$brizyPost->setMedia( $layout['media'] );
|
84 |
+
}
|
85 |
+
if ( isset( $layout['meta'] ) ) {
|
86 |
+
$brizyPost->setMeta( $layout['meta'] );
|
87 |
+
}
|
88 |
+
$brizyPost->set_editor_data( $layout['data'] );
|
89 |
+
$brizyPost->set_uses_editor( true );
|
90 |
+
$brizyPost->set_needs_compile( true );
|
91 |
+
$brizyPost->saveStorage();
|
92 |
+
$brizyPost->setDataVersion( 1 );
|
93 |
+
$brizyPost->setSynchronized( $this->client->getBrizyProject()->getCloudAccountId(), $layout['uid'] );
|
94 |
+
$brizyPost->save();
|
95 |
+
|
96 |
+
|
97 |
+
// import fonts
|
98 |
+
if ( isset( $layout['media'] ) ) {
|
99 |
+
$blockMedia = json_decode( $layout['media'] );
|
100 |
+
|
101 |
+
$fontBridge = new Brizy_Admin_Cloud_FontBridge( $this->client );
|
102 |
+
if ( isset( $blockMedia->fonts ) ) {
|
103 |
+
foreach ( $blockMedia->fonts as $cloudFontUid ) {
|
104 |
+
$fontBridge->import( $cloudFontUid );
|
105 |
+
}
|
106 |
+
}
|
107 |
+
|
108 |
+
$mediaBridge = new Brizy_Admin_Cloud_MediaBridge( $this->client );
|
109 |
+
$mediaBridge->setBlockId( $post );
|
110 |
+
if ( isset( $blockMedia->images ) ) {
|
111 |
+
foreach ( $blockMedia->images as $mediaUid ) {
|
112 |
+
$mediaBridge->import( $mediaUid );
|
113 |
+
}
|
114 |
+
}
|
115 |
+
}
|
116 |
+
|
117 |
+
}
|
118 |
+
$wpdb->query( 'COMMIT' );
|
119 |
+
} catch ( Exception $e ) {
|
120 |
+
$wpdb->query( 'ROLLBACK' );
|
121 |
+
Brizy_Logger::instance()->critical( 'Importing layout ' . $layoutId . ' failed', [ $e ] );
|
122 |
+
}
|
123 |
+
}
|
124 |
+
|
125 |
+
/**
|
126 |
+
* @param Brizy_Editor_Block $layout
|
127 |
+
*
|
128 |
+
* @return mixed|void
|
129 |
+
* @throws Exception
|
130 |
+
*/
|
131 |
+
public function delete( $layout ) {
|
132 |
+
|
133 |
+
if ( $layout->getCloudId() ) {
|
134 |
+
$this->client->deleteLayout( $layout->getCloudId() );
|
135 |
+
}
|
136 |
+
}
|
137 |
+
}
|
admin/cloud/media-bridge.php
ADDED
@@ -0,0 +1,78 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Class Brizy_Admin_Cloud_BlockUploader
|
5 |
+
*/
|
6 |
+
class Brizy_Admin_Cloud_MediaBridge extends Brizy_Admin_Cloud_AbstractBridge {
|
7 |
+
|
8 |
+
use Brizy_Editor_Asset_AttachmentAware;
|
9 |
+
|
10 |
+
/**
|
11 |
+
* This is the block id for which we are importing the media
|
12 |
+
* If this is not set the import will fail.
|
13 |
+
*
|
14 |
+
* @var int
|
15 |
+
*/
|
16 |
+
private $blockId;
|
17 |
+
|
18 |
+
/**
|
19 |
+
* @param $mediaUid
|
20 |
+
*
|
21 |
+
* @return mixed|void
|
22 |
+
* @throws Exception
|
23 |
+
*/
|
24 |
+
public function export( $mediaUid ) {
|
25 |
+
|
26 |
+
$mediaId = (int) $this->getAttachmentByMediaName( $mediaUid );
|
27 |
+
|
28 |
+
if ( ! $mediaId ) {
|
29 |
+
throw new Exception( "Unable to find media {$mediaUid}" );
|
30 |
+
}
|
31 |
+
|
32 |
+
if ( $this->client->isMediaUploaded( $mediaUid ) ) {
|
33 |
+
return true;
|
34 |
+
}
|
35 |
+
|
36 |
+
$filePath = get_attached_file( $mediaId );
|
37 |
+
$this->client->uploadMedia( $mediaUid, $filePath );
|
38 |
+
}
|
39 |
+
|
40 |
+
/**
|
41 |
+
* @param $mediaUid
|
42 |
+
*
|
43 |
+
* @return mixed|void
|
44 |
+
* @throws Exception
|
45 |
+
*/
|
46 |
+
public function import( $mediaUid ) {
|
47 |
+
|
48 |
+
if ( ! $this->blockId ) {
|
49 |
+
throw new Exception( 'The block id is not set.' );
|
50 |
+
}
|
51 |
+
|
52 |
+
$media_cacher = new Brizy_Editor_CropCacheMedia( $this->client->getBrizyProject(), $this->blockId );
|
53 |
+
$media_cacher->download_original_image( $mediaUid, false );
|
54 |
+
}
|
55 |
+
|
56 |
+
/**
|
57 |
+
* @param $layoutId
|
58 |
+
*
|
59 |
+
* @return mixed|void
|
60 |
+
* @throws Exception
|
61 |
+
*/
|
62 |
+
public function delete( $layoutId ) {
|
63 |
+
throw new Exception( 'Not implemented' );
|
64 |
+
}
|
65 |
+
|
66 |
+
/**
|
67 |
+
* @param int $blockId
|
68 |
+
*
|
69 |
+
* @return Brizy_Admin_Cloud_MediaBridge
|
70 |
+
*/
|
71 |
+
public function setBlockId( $blockId ): Brizy_Admin_Cloud_MediaBridge {
|
72 |
+
$this->blockId = (int) $blockId;
|
73 |
+
|
74 |
+
return $this;
|
75 |
+
}
|
76 |
+
|
77 |
+
|
78 |
+
}
|
admin/cloud/popup-bridge.php
ADDED
@@ -0,0 +1,96 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Class Brizy_Admin_Cloud_BlockUploader
|
5 |
+
*/
|
6 |
+
class Brizy_Admin_Cloud_PopupBridge extends Brizy_Admin_Cloud_AbstractBridge {
|
7 |
+
|
8 |
+
|
9 |
+
/**
|
10 |
+
* @param Brizy_Editor_Block $layout
|
11 |
+
*
|
12 |
+
* @return mixed|void
|
13 |
+
* @throws Exception
|
14 |
+
*/
|
15 |
+
public function export( $layout ) {
|
16 |
+
|
17 |
+
// check if the assets are uploaded in cloud
|
18 |
+
// upload them if needed
|
19 |
+
// create the block in cloud
|
20 |
+
|
21 |
+
$media = json_decode( $layout->getMedia() );
|
22 |
+
|
23 |
+
if ( ! $media || ! isset( $media->fonts ) ) {
|
24 |
+
throw new Exception( 'No fonts property in media object' );
|
25 |
+
}
|
26 |
+
|
27 |
+
if ( ! $media || ! isset( $media->images ) ) {
|
28 |
+
throw new Exception( 'No images property in media object' );
|
29 |
+
}
|
30 |
+
|
31 |
+
$bridge = new Brizy_Admin_Cloud_MediaBridge( $this->client );
|
32 |
+
foreach ( $media->images as $uid ) {
|
33 |
+
$bridge->export( $uid );
|
34 |
+
}
|
35 |
+
|
36 |
+
$bridge = new Brizy_Admin_Cloud_FontBridge( $this->client );
|
37 |
+
foreach ( $media->fonts as $fontUid ) {
|
38 |
+
$bridge->export( $fontUid );
|
39 |
+
}
|
40 |
+
|
41 |
+
$this->client->createOrUpdatePopup( $layout );
|
42 |
+
}
|
43 |
+
|
44 |
+
/**
|
45 |
+
* @param $popupId
|
46 |
+
*
|
47 |
+
* @return mixed|void
|
48 |
+
* @throws Exception
|
49 |
+
*/
|
50 |
+
public function import( $popupId ) {
|
51 |
+
global $wpdb;
|
52 |
+
|
53 |
+
$popups = $this->client->getPopups( [ 'uid' => $popupId ] );
|
54 |
+
|
55 |
+
if ( ! isset( $popups[0] ) ) {
|
56 |
+
return;
|
57 |
+
}
|
58 |
+
|
59 |
+
$popup = $popups[0];
|
60 |
+
try {
|
61 |
+
$wpdb->query( 'START TRANSACTION ' );
|
62 |
+
$name = md5( time() );
|
63 |
+
$post = wp_insert_post( array(
|
64 |
+
'post_title' => $name,
|
65 |
+
'post_name' => $name,
|
66 |
+
'post_status' => 'publish',
|
67 |
+
'post_type' => Brizy_Admin_Popups_Main::CP_POPUP
|
68 |
+
) );
|
69 |
+
|
70 |
+
if ( $post ) {
|
71 |
+
$brizyPost = Brizy_Editor_Popup::get( $post, $popup['uid'] );
|
72 |
+
$brizyPost->setMeta( $popup['meta'] );
|
73 |
+
$brizyPost->setCloudId( $popup['id'] );
|
74 |
+
$brizyPost->set_editor_data( $popup['data'] );
|
75 |
+
$brizyPost->set_uses_editor( true );
|
76 |
+
$brizyPost->set_needs_compile( true );
|
77 |
+
$brizyPost->setDataVersion( 1 );
|
78 |
+
$brizyPost->save();
|
79 |
+
}
|
80 |
+
$wpdb->query( 'COMMIT' );
|
81 |
+
} catch ( Exception $e ) {
|
82 |
+
$wpdb->query( 'ROLLBACK' );
|
83 |
+
Brizy_Logger::instance()->critical( 'Importing layout ' . $popupId . ' failed', [ $e ] );
|
84 |
+
}
|
85 |
+
}
|
86 |
+
|
87 |
+
/**
|
88 |
+
* @param Brizy_Editor_Block $layout
|
89 |
+
*
|
90 |
+
* @return mixed|void
|
91 |
+
* @throws Exception
|
92 |
+
*/
|
93 |
+
public function delete( $layout ) {
|
94 |
+
$this->client->deletePopup( $layout->getCloudId() );
|
95 |
+
}
|
96 |
+
}
|
admin/cloud/proxy.php
ADDED
@@ -0,0 +1,59 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
|
4 |
+
class Brizy_Admin_Cloud_Proxy {
|
5 |
+
|
6 |
+
const ACTION = 'brizy_cloud_proxy';
|
7 |
+
|
8 |
+
/**
|
9 |
+
* Brizy_Admin_Cloud_Proxy constructor.
|
10 |
+
*/
|
11 |
+
public function __construct() {
|
12 |
+
add_action( 'wp_ajax_' . self::ACTION, array( $this, 'handleRequest' ) );
|
13 |
+
}
|
14 |
+
|
15 |
+
/**
|
16 |
+
* @throws Exception
|
17 |
+
*/
|
18 |
+
public function handleRequest() {
|
19 |
+
|
20 |
+
$vars = $_GET;
|
21 |
+
|
22 |
+
$project = Brizy_Editor_Project::get();
|
23 |
+
|
24 |
+
// redirect the request
|
25 |
+
$token = $project->getMetaValue( 'brizy-cloud-token' );
|
26 |
+
$cloudProjectId = $project->getMetaValue( 'brizy-cloud-project' );
|
27 |
+
|
28 |
+
if ( ! isset( $vars['endpoint'] ) ) {
|
29 |
+
wp_send_json_error( null, 400 );
|
30 |
+
exit;
|
31 |
+
}
|
32 |
+
|
33 |
+
if ( ! $token || ! $cloudProjectId || ! isset( $vars['endpoint'] ) ) {
|
34 |
+
wp_send_json_error( null, 401 );
|
35 |
+
exit;
|
36 |
+
}
|
37 |
+
|
38 |
+
$http = new WP_Http();
|
39 |
+
$url = Brizy_Config::CLOUD_ENDPOINT . "/api/" . $vars['endpoint'];
|
40 |
+
$response = $http->request( $url, array(
|
41 |
+
'headers' => array(
|
42 |
+
'X-AUTH-APP-TOKEN' => Brizy_Config::CLOUD_APP_KEY,
|
43 |
+
'X-AUTH-USER-TOKEN' => $token
|
44 |
+
),
|
45 |
+
'body' => $_REQUEST['request'],
|
46 |
+
'method' => $_SERVER['REQUEST_METHOD'],
|
47 |
+
) );
|
48 |
+
|
49 |
+
$status = wp_remote_retrieve_response_code( $response );
|
50 |
+
|
51 |
+
if ( $response instanceof WP_Error ) {
|
52 |
+
wp_send_json_error( wp_remote_retrieve_response_message( $response ), $status );
|
53 |
+
exit;
|
54 |
+
}
|
55 |
+
|
56 |
+
wp_send_json_success( wp_remote_retrieve_body( $response ), $status );
|
57 |
+
exit;
|
58 |
+
}
|
59 |
+
}
|
admin/cloud/screenshot-bridge.php
ADDED
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Class Brizy_Admin_Cloud_BlockUploader
|
5 |
+
*/
|
6 |
+
class Brizy_Admin_Cloud_ScreenshotBridge extends Brizy_Admin_Cloud_AbstractBridge {
|
7 |
+
|
8 |
+
use Brizy_Editor_Asset_AttachmentAware;
|
9 |
+
|
10 |
+
/**
|
11 |
+
* @param Brizy_Editor_Block $block
|
12 |
+
*
|
13 |
+
* @return mixed|void
|
14 |
+
* @throws Exception
|
15 |
+
*/
|
16 |
+
public function export( $block ) {
|
17 |
+
$meta = json_decode( $block->getMeta() );
|
18 |
+
$screenUid = $meta->_thumbnailSrc;
|
19 |
+
|
20 |
+
$manager = new Brizy_Editor_Screenshot_Manager( new Brizy_Editor_UrlBuilder( $this->client->getBrizyProject() ) );
|
21 |
+
$screenPath = $manager->getScreenshot( $screenUid );
|
22 |
+
|
23 |
+
if ( $screenPath ) {
|
24 |
+
$this->client->createScreenshot( $screenUid, $screenPath );
|
25 |
+
}
|
26 |
+
}
|
27 |
+
|
28 |
+
/**
|
29 |
+
* @param Brizy_Editor_Block $block
|
30 |
+
*
|
31 |
+
* @return mixed|void
|
32 |
+
* @throws Exception
|
33 |
+
*/
|
34 |
+
public function import( $block ) {
|
35 |
+
throw new Exception('Import screenshots not implemented yet');
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* @param Brizy_Editor_Block $layout
|
40 |
+
*
|
41 |
+
* @return mixed|void
|
42 |
+
* @throws Exception
|
43 |
+
*/
|
44 |
+
public function delete( $layout ) {
|
45 |
+
$this->client->deleteBlock( $layout->getCloudId() );
|
46 |
+
}
|
47 |
+
}
|
admin/cloud/sync-aware.php
ADDED
@@ -0,0 +1,130 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
|
4 |
+
trait Brizy_Admin_Cloud_SyncAware {
|
5 |
+
|
6 |
+
/**
|
7 |
+
* @var Brizy_Admin_Cloud_Client
|
8 |
+
*/
|
9 |
+
protected $client;
|
10 |
+
|
11 |
+
/**
|
12 |
+
* @return Brizy_Admin_Cloud_Client
|
13 |
+
*/
|
14 |
+
public function getClient() {
|
15 |
+
return $this->client;
|
16 |
+
}
|
17 |
+
|
18 |
+
/**
|
19 |
+
* @param Brizy_Admin_Cloud_Client $client
|
20 |
+
*
|
21 |
+
* @return Brizy_Admin_Cloud_SyncAware
|
22 |
+
*/
|
23 |
+
public function setClient( $client ) {
|
24 |
+
$this->client = $client;
|
25 |
+
|
26 |
+
return $this;
|
27 |
+
}
|
28 |
+
|
29 |
+
protected function syncLayouts( $throwException = false ) {
|
30 |
+
$layoutIds = $this->getLayoutsForSync();
|
31 |
+
$synchronized = [];
|
32 |
+
foreach ( $layoutIds as $lId ) {
|
33 |
+
try {
|
34 |
+
if ( $this->syncLayout( $lId->ID ) ) {
|
35 |
+
$synchronized[] = $lId->ID;
|
36 |
+
}
|
37 |
+
} catch ( Exception $e ) {
|
38 |
+
Brizy_Logger::instance()->critical( 'Failed to sync layout',
|
39 |
+
[
|
40 |
+
'blockId' => $lId->ID
|
41 |
+
] );
|
42 |
+
|
43 |
+
if ( $throwException ) {
|
44 |
+
throw $e;
|
45 |
+
}
|
46 |
+
}
|
47 |
+
}
|
48 |
+
|
49 |
+
return $synchronized;
|
50 |
+
}
|
51 |
+
|
52 |
+
protected function syncBlocks( $throwException = false ) {
|
53 |
+
$postIds = $this->getBlocksForSync();
|
54 |
+
$synchronized = [];
|
55 |
+
foreach ( $postIds as $block ) {
|
56 |
+
try {
|
57 |
+
if ( $this->syncBlock( $block->ID ) ) {
|
58 |
+
$synchronized[] = $block->ID;
|
59 |
+
}
|
60 |
+
} catch ( Exception $e ) {
|
61 |
+
Brizy_Logger::instance()->critical( 'Failed to sync block',
|
62 |
+
[
|
63 |
+
'blockId' => $block->ID
|
64 |
+
] );
|
65 |
+
|
66 |
+
if ( $throwException ) {
|
67 |
+
throw $e;
|
68 |
+
}
|
69 |
+
}
|
70 |
+
}
|
71 |
+
|
72 |
+
return $synchronized;
|
73 |
+
}
|
74 |
+
|
75 |
+
protected function syncBlock( $blockId ) {
|
76 |
+
|
77 |
+
$brizyBlock = Brizy_Editor_Block::get( $blockId );
|
78 |
+
|
79 |
+
if ( $brizyBlock && $brizyBlock->isSavedBlock() ) {
|
80 |
+
$updater = new Brizy_Admin_Cloud_BlockBridge( $this->client );
|
81 |
+
$updater->export( $brizyBlock );
|
82 |
+
return true;
|
83 |
+
}
|
84 |
+
|
85 |
+
}
|
86 |
+
|
87 |
+
protected function syncLayout( $layoutId ) {
|
88 |
+
|
89 |
+
$brizyLayout = Brizy_Editor_Layout::get( $layoutId );
|
90 |
+
|
91 |
+
if ( $brizyLayout ) {
|
92 |
+
$updater = new Brizy_Admin_Cloud_LayoutBridge( $this->client );
|
93 |
+
$updater->export( $brizyLayout );
|
94 |
+
return true;
|
95 |
+
}
|
96 |
+
}
|
97 |
+
|
98 |
+
protected function getLayoutsForSync() {
|
99 |
+
global $wpdb;
|
100 |
+
|
101 |
+
$meta_key = 'brizy-cloud-update-required';
|
102 |
+
$savedBlockType = Brizy_Admin_Layouts_Main::CP_LAYOUT;
|
103 |
+
|
104 |
+
$postIds = $wpdb->get_results(
|
105 |
+
"SELECT ID FROM {$wpdb->posts} p
|
106 |
+
JOIN {$wpdb->postmeta} pm ON pm.post_id=p.ID and pm.meta_key='{$meta_key}' and pm.meta_value=1
|
107 |
+
WHERE p.post_type='{$savedBlockType}'
|
108 |
+
LIMIT 1" );
|
109 |
+
|
110 |
+
return $postIds;
|
111 |
+
}
|
112 |
+
|
113 |
+
|
114 |
+
protected function getBlocksForSync() {
|
115 |
+
global $wpdb;
|
116 |
+
|
117 |
+
$meta_key = 'brizy-cloud-update-required';
|
118 |
+
$savedBlockType = Brizy_Admin_Blocks_Main::CP_SAVED;
|
119 |
+
|
120 |
+
$postIds = $wpdb->get_results(
|
121 |
+
"SELECT ID FROM {$wpdb->posts} p
|
122 |
+
JOIN {$wpdb->postmeta} pm ON pm.post_id=p.ID and pm.meta_key='{$meta_key}' and pm.meta_value=1
|
123 |
+
WHERE p.post_type='{$savedBlockType}'
|
124 |
+
LIMIT 1
|
125 |
+
"
|
126 |
+
);
|
127 |
+
|
128 |
+
return $postIds;
|
129 |
+
}
|
130 |
+
}
|
admin/dashboard-widget.php
CHANGED
@@ -128,7 +128,7 @@ class Brizy_Admin_DashboardWidget extends Brizy_Admin_AbstractWidget {
|
|
128 |
}
|
129 |
|
130 |
$brizy_posts[] = [
|
131 |
-
'edit_url' => add_query_arg( [
|
132 |
'title' => get_the_title( $apost ),
|
133 |
'date' => get_the_modified_date( '', $apost )
|
134 |
];
|
128 |
}
|
129 |
|
130 |
$brizy_posts[] = [
|
131 |
+
'edit_url' => add_query_arg( [ Brizy_Editor::prefix('-edit') => '' ], get_permalink( $apost ) ),
|
132 |
'title' => get_the_title( $apost ),
|
133 |
'date' => get_the_modified_date( '', $apost )
|
134 |
];
|
admin/entity/abstract-manager.php
ADDED
@@ -0,0 +1,124 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
abstract class Brizy_Admin_Entity_AbstractManager implements Brizy_Admin_Entity_ManagerInterface {
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Convert WP_Post to a Block/Layout or something else
|
7 |
+
*
|
8 |
+
* @param $post
|
9 |
+
*
|
10 |
+
* @param null $uid
|
11 |
+
*
|
12 |
+
* @return mixed
|
13 |
+
*/
|
14 |
+
abstract protected function convertWpPostToEntity( $post, $uid = null );
|
15 |
+
|
16 |
+
/**
|
17 |
+
* @param $type
|
18 |
+
* @param $uid
|
19 |
+
*
|
20 |
+
* @return Brizy_Editor_Block|Brizy_Editor_Post|mixed|null
|
21 |
+
* @throws Exception
|
22 |
+
* @todo: refactor this as a single sql query
|
23 |
+
*
|
24 |
+
*/
|
25 |
+
protected function getEntityUidAndType( $uid, $type ) {
|
26 |
+
$entities = get_posts( array(
|
27 |
+
'post_type' => $type,
|
28 |
+
'post_status' => 'any',
|
29 |
+
'meta_key' => 'brizy_post_uid',
|
30 |
+
'meta_value' => $uid,
|
31 |
+
'numberposts' => - 1,
|
32 |
+
'orderby' => 'ID',
|
33 |
+
'order' => 'DESC',
|
34 |
+
) );
|
35 |
+
|
36 |
+
if ( isset( $entities[0] ) ) {
|
37 |
+
$block = $this->convertWpPostToEntity( $entities[0] );
|
38 |
+
} else {
|
39 |
+
$block = null;
|
40 |
+
}
|
41 |
+
|
42 |
+
return $block;
|
43 |
+
}
|
44 |
+
|
45 |
+
/**
|
46 |
+
* @param $type
|
47 |
+
* @param array $args
|
48 |
+
*
|
49 |
+
* @return Brizy_Editor_Block|Brizy_Editor_Post|mixed|null
|
50 |
+
* @todo: refactor this as a single sql query
|
51 |
+
*/
|
52 |
+
protected function getEntitiesByType( $type, $args = array() ) {
|
53 |
+
|
54 |
+
$filterArgs = array(
|
55 |
+
'post_type' => $type,
|
56 |
+
'posts_per_page' => - 1,
|
57 |
+
'post_status' => 'publish',
|
58 |
+
'orderby' => 'ID',
|
59 |
+
'order' => 'ASC',
|
60 |
+
);
|
61 |
+
$filterArgs = array_merge( $filterArgs, $args );
|
62 |
+
|
63 |
+
$posts = get_posts( $filterArgs );
|
64 |
+
|
65 |
+
$entities = [];
|
66 |
+
foreach ( $posts as $apost ) {
|
67 |
+
$entities[] = $this->convertWpPostToEntity( $apost );
|
68 |
+
}
|
69 |
+
|
70 |
+
return $entities;
|
71 |
+
}
|
72 |
+
|
73 |
+
protected function createEntityByType( $uid, $type, $status = 'publish' ) {
|
74 |
+
$name = md5( time() );
|
75 |
+
$apost = wp_insert_post( array(
|
76 |
+
'post_title' => $name,
|
77 |
+
'post_name' => $name,
|
78 |
+
'post_status' => $status,
|
79 |
+
'post_type' => $type
|
80 |
+
) );
|
81 |
+
|
82 |
+
if ( $apost ) {
|
83 |
+
$brizyPost = $this->convertWpPostToEntity( $apost, $uid );
|
84 |
+
$brizyPost->set_uses_editor( true );
|
85 |
+
$brizyPost->set_needs_compile( true );
|
86 |
+
$brizyPost->setDataVersion( 1 );
|
87 |
+
|
88 |
+
return $brizyPost;
|
89 |
+
}
|
90 |
+
|
91 |
+
return null;
|
92 |
+
}
|
93 |
+
|
94 |
+
/**
|
95 |
+
* @param Brizy_Editor_Entity $entity
|
96 |
+
*/
|
97 |
+
public function deleteEntity( Brizy_Editor_Entity $entity ) {
|
98 |
+
do_action( 'brizy_before_entity_delete', $entity );
|
99 |
+
wp_delete_post( $entity->getWpPostId() );
|
100 |
+
}
|
101 |
+
|
102 |
+
/**
|
103 |
+
* @param Brizy_Editor_Entity $entity
|
104 |
+
*/
|
105 |
+
public function trashEntity( Brizy_Editor_Entity $entity ) {
|
106 |
+
do_action( 'brizy_before_entity_delete', $entity );
|
107 |
+
wp_trash_post( $entity->getWpPostId() );
|
108 |
+
}
|
109 |
+
|
110 |
+
/**
|
111 |
+
* @param Brizy_Editor_Entity[] $entities
|
112 |
+
* @param array $fields
|
113 |
+
*
|
114 |
+
* @return array
|
115 |
+
*/
|
116 |
+
public function createResponseForEntities( $entities, $fields = [] ) {
|
117 |
+
$response = [];
|
118 |
+
foreach ( $entities as $entity ) {
|
119 |
+
$response[] = $entity->createResponse( $fields );
|
120 |
+
}
|
121 |
+
return $response;
|
122 |
+
}
|
123 |
+
|
124 |
+
}
|
admin/entity/manager-interface.php
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
interface Brizy_Admin_Entity_ManagerInterface {
|
4 |
+
public function getEntities( $args );
|
5 |
+
|
6 |
+
public function getEntity( $args );
|
7 |
+
|
8 |
+
public function createEntity( $uid, $status='publish' );
|
9 |
+
|
10 |
+
public function deleteEntity( Brizy_Editor_Entity $entity );
|
11 |
+
}
|
admin/fonts/api.php
CHANGED
@@ -11,9 +11,9 @@ class Brizy_Admin_Fonts_Api extends Brizy_Admin_AbstractApi {
|
|
11 |
|
12 |
const nonce = 'brizy-api';
|
13 |
|
14 |
-
const AJAX_CREATE_FONT_ACTION = '
|
15 |
-
const AJAX_DELETE_FONT_ACTION = '
|
16 |
-
const AJAX_GET_FONTS_ACTION = '
|
17 |
|
18 |
/**
|
19 |
* @var Brizy_Admin_Fonts_Manager
|
@@ -50,9 +50,10 @@ class Brizy_Admin_Fonts_Api extends Brizy_Admin_AbstractApi {
|
|
50 |
}
|
51 |
|
52 |
protected function initializeApiActions() {
|
53 |
-
|
54 |
-
add_action(
|
55 |
-
add_action(
|
|
|
56 |
}
|
57 |
|
58 |
public function actionGetFonts() {
|
11 |
|
12 |
const nonce = 'brizy-api';
|
13 |
|
14 |
+
const AJAX_CREATE_FONT_ACTION = '-create-font';
|
15 |
+
const AJAX_DELETE_FONT_ACTION = '-delete-font';
|
16 |
+
const AJAX_GET_FONTS_ACTION = '-get-fonts';
|
17 |
|
18 |
/**
|
19 |
* @var Brizy_Admin_Fonts_Manager
|
50 |
}
|
51 |
|
52 |
protected function initializeApiActions() {
|
53 |
+
$pref = 'wp_ajax_' . Brizy_Editor::prefix();
|
54 |
+
add_action( $pref . self::AJAX_CREATE_FONT_ACTION, array( $this, 'actionCreateFont' ) );
|
55 |
+
add_action( $pref . self::AJAX_DELETE_FONT_ACTION, array( $this, 'actionDeleteFont' ) );
|
56 |
+
add_action( $pref . self::AJAX_GET_FONTS_ACTION, array( $this, 'actionGetFonts' ) );
|
57 |
}
|
58 |
|
59 |
public function actionGetFonts() {
|
admin/fonts/handler.php
CHANGED
@@ -2,13 +2,13 @@
|
|
2 |
|
3 |
|
4 |
class Brizy_Admin_Fonts_Handler extends Brizy_Public_AbstractProxy {
|
5 |
-
const ENDPOINT = '
|
6 |
|
7 |
/**
|
8 |
* @return array
|
9 |
*/
|
10 |
protected function get_endpoint_keys() {
|
11 |
-
return array( self::ENDPOINT );
|
12 |
}
|
13 |
|
14 |
/**
|
@@ -23,13 +23,14 @@ class Brizy_Admin_Fonts_Handler extends Brizy_Public_AbstractProxy {
|
|
23 |
|
24 |
|
25 |
// Check if user is not querying API
|
26 |
-
|
|
|
27 |
return;
|
28 |
}
|
29 |
|
30 |
session_write_close();
|
31 |
|
32 |
-
$fontQueries = $this->explodeFont( $vars[
|
33 |
|
34 |
if ( count( $fontQueries ) == 0 ) {
|
35 |
return;
|
2 |
|
3 |
|
4 |
class Brizy_Admin_Fonts_Handler extends Brizy_Public_AbstractProxy {
|
5 |
+
const ENDPOINT = '-font';
|
6 |
|
7 |
/**
|
8 |
* @return array
|
9 |
*/
|
10 |
protected function get_endpoint_keys() {
|
11 |
+
return array( Brizy_Editor::prefix( self::ENDPOINT ) );
|
12 |
}
|
13 |
|
14 |
/**
|
23 |
|
24 |
|
25 |
// Check if user is not querying API
|
26 |
+
$ENDPOINT = Brizy_Editor::prefix( self::ENDPOINT );
|
27 |
+
if ( ! isset( $vars[ $ENDPOINT ] ) || ! is_string( $vars[ $ENDPOINT ] ) ) {
|
28 |
return;
|
29 |
}
|
30 |
|
31 |
session_write_close();
|
32 |
|
33 |
+
$fontQueries = $this->explodeFont( $vars[ $ENDPOINT ] );
|
34 |
|
35 |
if ( count( $fontQueries ) == 0 ) {
|
36 |
return;
|
admin/fonts/manager.php
CHANGED
@@ -36,9 +36,9 @@ class Brizy_Admin_Fonts_Manager {
|
|
36 |
'id' => get_post_meta( $font->ID, 'brizy_post_uid', true ),
|
37 |
'family' => $font->post_title,
|
38 |
'type' => get_post_meta( $font->ID, 'brizy-font-type', true ),
|
39 |
-
'weights' => array_map( function ( $v ) {
|
40 |
return $v['meta_value'];
|
41 |
-
}, $weights )
|
42 |
);
|
43 |
}
|
44 |
|
@@ -73,6 +73,51 @@ class Brizy_Admin_Fonts_Manager {
|
|
73 |
return $this->getFontReturnData( $font );
|
74 |
}
|
75 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
76 |
public function getFontByFamily( $uid, $family, $type ) {
|
77 |
|
78 |
$fonts = get_posts( array(
|
@@ -91,7 +136,6 @@ class Brizy_Admin_Fonts_Manager {
|
|
91 |
if ( $uid == get_post_meta( $font->ID, 'brizy_post_uid', true ) ) {
|
92 |
return $this->getFontReturnData( $font );
|
93 |
}
|
94 |
-
|
95 |
}
|
96 |
|
97 |
return null;
|
@@ -168,7 +212,7 @@ class Brizy_Admin_Fonts_Manager {
|
|
168 |
|
169 |
if ( ! $id || is_wp_error( $id ) ) {
|
170 |
Brizy_Logger::instance()->critical( 'Unable to handle font sideload', [ $id ] );
|
171 |
-
throw new Exception( 'Unable to handle font
|
172 |
}
|
173 |
|
174 |
update_post_meta( $id, 'brizy-font-weight', $weight );
|
@@ -265,6 +309,34 @@ class Brizy_Admin_Fonts_Manager {
|
|
265 |
);
|
266 |
|
267 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
268 |
return array(
|
269 |
'id' => get_post_meta( $font->ID, 'brizy_post_uid', true ),
|
270 |
'family' => $font->post_title,
|
36 |
'id' => get_post_meta( $font->ID, 'brizy_post_uid', true ),
|
37 |
'family' => $font->post_title,
|
38 |
'type' => get_post_meta( $font->ID, 'brizy-font-type', true ),
|
39 |
+
'weights' => array_values( array_unique( array_map( function ( $v ) {
|
40 |
return $v['meta_value'];
|
41 |
+
}, $weights ) ) )
|
42 |
);
|
43 |
}
|
44 |
|
73 |
return $this->getFontReturnData( $font );
|
74 |
}
|
75 |
|
76 |
+
|
77 |
+
/**
|
78 |
+
* @param $uid
|
79 |
+
*
|
80 |
+
* @return array|null
|
81 |
+
*/
|
82 |
+
public function getFontForExport( $uid ) {
|
83 |
+
|
84 |
+
global $wpdb;
|
85 |
+
|
86 |
+
$fonts = get_posts( array(
|
87 |
+
'post_type' => Brizy_Admin_Fonts_Main::CP_FONT,
|
88 |
+
'post_status' => 'publish',
|
89 |
+
'meta_key' => 'brizy_post_uid',
|
90 |
+
'meta_value' => $uid,
|
91 |
+
'numberposts' => - 1,
|
92 |
+
'orderby' => 'ID',
|
93 |
+
'order' => 'DESC',
|
94 |
+
) );
|
95 |
+
|
96 |
+
if ( isset( $fonts[0] ) ) {
|
97 |
+
$font = $fonts[0];
|
98 |
+
} else {
|
99 |
+
return null;
|
100 |
+
}
|
101 |
+
|
102 |
+
$fontData = $this->getFontReturnData( $font );
|
103 |
+
|
104 |
+
$files = $wpdb->get_results(
|
105 |
+
$wpdb->prepare( "SELECT p.ID FROM {$wpdb->posts} p WHERE p.post_parent=%d", array( $font->ID ) ),
|
106 |
+
ARRAY_A );
|
107 |
+
|
108 |
+
$weightFiles = array();
|
109 |
+
foreach ( $files as $fileId ) {
|
110 |
+
$weight = get_post_meta( $fileId['ID'], 'brizy-font-weight', true );
|
111 |
+
$type = get_post_meta( $fileId['ID'], 'brizy-font-file-type', true );
|
112 |
+
|
113 |
+
$weightFiles[ $weight ][ $type ] = get_attached_file( $fileId['ID'] );
|
114 |
+
}
|
115 |
+
$fontData['weights'] = $weightFiles;
|
116 |
+
|
117 |
+
return $fontData;
|
118 |
+
|
119 |
+
}
|
120 |
+
|
121 |
public function getFontByFamily( $uid, $family, $type ) {
|
122 |
|
123 |
$fonts = get_posts( array(
|
136 |
if ( $uid == get_post_meta( $font->ID, 'brizy_post_uid', true ) ) {
|
137 |
return $this->getFontReturnData( $font );
|
138 |
}
|
|
|
139 |
}
|
140 |
|
141 |
return null;
|
212 |
|
213 |
if ( ! $id || is_wp_error( $id ) ) {
|
214 |
Brizy_Logger::instance()->critical( 'Unable to handle font sideload', [ $id ] );
|
215 |
+
throw new Exception( 'Unable to handle font side load' );
|
216 |
}
|
217 |
|
218 |
update_post_meta( $id, 'brizy-font-weight', $weight );
|
309 |
);
|
310 |
|
311 |
|
312 |
+
return array(
|
313 |
+
'id' => get_post_meta( $font->ID, 'brizy_post_uid', true ),
|
314 |
+
'family' => $font->post_title,
|
315 |
+
'type' => get_post_meta( $font->ID, 'brizy-font-type', true ),
|
316 |
+
'weights' => array_map( function ( $v ) {
|
317 |
+
return $v['meta_value'];
|
318 |
+
}, $weights )
|
319 |
+
);
|
320 |
+
}
|
321 |
+
|
322 |
+
|
323 |
+
/**
|
324 |
+
* @param wpdb $wpdb
|
325 |
+
* @param $font
|
326 |
+
*
|
327 |
+
* @return array
|
328 |
+
*/
|
329 |
+
private function getFontReturnDataForExport( $font ) {
|
330 |
+
global $wpdb;
|
331 |
+
|
332 |
+
$weights = $wpdb->get_results( $wpdb->prepare(
|
333 |
+
"SELECT DISTINCT m.meta_value FROM {$wpdb->posts} p
|
334 |
+
JOIN {$wpdb->postmeta} m ON m.post_id=p.ID && p.post_parent=%d && m.meta_key='brizy-font-weight'
|
335 |
+
",
|
336 |
+
array( $font->ID ) ), ARRAY_A
|
337 |
+
);
|
338 |
+
|
339 |
+
|
340 |
return array(
|
341 |
'id' => get_post_meta( $font->ID, 'brizy_post_uid', true ),
|
342 |
'family' => $font->post_title,
|
admin/form-entries.php
CHANGED
@@ -32,6 +32,7 @@ class Brizy_Admin_FormEntries {
|
|
32 |
//add_action( 'admin_init', array( $this, 'handleEnableButton' ) );
|
33 |
//add_action( 'admin_footer', array( $this, 'addOnOffOption' ) );
|
34 |
add_action( 'admin_footer', array( $this, 'customStylesForList' ) );
|
|
|
35 |
|
36 |
add_filter( 'post_row_actions', array( $this, 'filterRowActions' ), 10, 2 );
|
37 |
add_filter( 'manage_' . self::CP_FORM_ENTRY . '_posts_columns', array( $this, 'replaceTitleColumn' ) );
|
@@ -70,6 +71,15 @@ class Brizy_Admin_FormEntries {
|
|
70 |
$post = get_post( $post_ID );
|
71 |
$data = json_decode( $post->post_content );
|
72 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
73 |
echo Brizy_TwigEngine::instance( path_join( BRIZY_PLUGIN_PATH, "admin/views" ) )
|
74 |
->render( 'form-data.html.twig', array( 'data' => $data ) );
|
75 |
}
|
@@ -89,7 +99,7 @@ class Brizy_Admin_FormEntries {
|
|
89 |
*/
|
90 |
public function filterRowActions( $actions, $post ) {
|
91 |
|
92 |
-
$is_allowed =
|
93 |
|
94 |
if ( ! $is_allowed ) {
|
95 |
return $actions;
|
@@ -170,16 +180,93 @@ class Brizy_Admin_FormEntries {
|
|
170 |
$screen = get_current_screen();
|
171 |
|
172 |
if ( self::CP_FORM_ENTRY == $screen->post_type ) {
|
|
|
|
|
|
|
|
|
173 |
?>
|
174 |
<style>
|
175 |
.subsubsub {
|
176 |
display: none;
|
177 |
}
|
178 |
</style>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
179 |
<?php
|
180 |
}
|
181 |
}
|
182 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
183 |
/**
|
184 |
* @param $fields
|
185 |
* @param Brizy_Editor_Forms_Form $form
|
@@ -199,13 +286,20 @@ class Brizy_Admin_FormEntries {
|
|
199 |
unset( $fields[ $i ] );
|
200 |
$fields = array_values( $fields );
|
201 |
}
|
|
|
|
|
|
|
|
|
|
|
202 |
}
|
203 |
|
204 |
$params = array(
|
205 |
'post_title' => $title,
|
206 |
'post_type' => self::CP_FORM_ENTRY,
|
207 |
'post_status' => 'publish',
|
208 |
-
'post_content' => json_encode( array( 'formId'
|
|
|
|
|
209 |
);
|
210 |
|
211 |
wp_insert_post( $params );
|
@@ -238,7 +332,7 @@ class Brizy_Admin_FormEntries {
|
|
238 |
'public' => false,
|
239 |
'has_archive' => false,
|
240 |
'description' => __( 'Leads', 'brizy' ),
|
241 |
-
'publicly_queryable' =>
|
242 |
'show_ui' => true,
|
243 |
'show_in_menu' => false, //Brizy_Admin_Settings::menu_slug(),
|
244 |
'query_var' => false,
|
@@ -257,4 +351,4 @@ class Brizy_Admin_FormEntries {
|
|
257 |
)
|
258 |
);
|
259 |
}
|
260 |
-
}
|
32 |
//add_action( 'admin_init', array( $this, 'handleEnableButton' ) );
|
33 |
//add_action( 'admin_footer', array( $this, 'addOnOffOption' ) );
|
34 |
add_action( 'admin_footer', array( $this, 'customStylesForList' ) );
|
35 |
+
add_action( 'admin_init', [ $this, 'export_leads' ] );
|
36 |
|
37 |
add_filter( 'post_row_actions', array( $this, 'filterRowActions' ), 10, 2 );
|
38 |
add_filter( 'manage_' . self::CP_FORM_ENTRY . '_posts_columns', array( $this, 'replaceTitleColumn' ) );
|
71 |
$post = get_post( $post_ID );
|
72 |
$data = json_decode( $post->post_content );
|
73 |
|
74 |
+
// We use html_entity_decode the user can insert text in some languages like German, Hindi, etc.
|
75 |
+
// and the function json_encode broke the json or encode the characters like this ud83dude00.
|
76 |
+
if ( isset( $data->formData ) ) {
|
77 |
+
foreach ( $data->formData as $i => $field ) {
|
78 |
+
$data->formData[ $i ]->name = html_entity_decode( $field->name );
|
79 |
+
$data->formData[ $i ]->value = html_entity_decode( $field->value );
|
80 |
+
}
|
81 |
+
}
|
82 |
+
|
83 |
echo Brizy_TwigEngine::instance( path_join( BRIZY_PLUGIN_PATH, "admin/views" ) )
|
84 |
->render( 'form-data.html.twig', array( 'data' => $data ) );
|
85 |
}
|
99 |
*/
|
100 |
public function filterRowActions( $actions, $post ) {
|
101 |
|
102 |
+
$is_allowed = Brizy_Editor_User::is_user_allowed();
|
103 |
|
104 |
if ( ! $is_allowed ) {
|
105 |
return $actions;
|
180 |
$screen = get_current_screen();
|
181 |
|
182 |
if ( self::CP_FORM_ENTRY == $screen->post_type ) {
|
183 |
+
|
184 |
+
$disable = get_posts( [ 'post_type' => self::CP_FORM_ENTRY,
|
185 |
+
'posts_per_page' => 1
|
186 |
+
] ) ? '' : ' brz-leads-export-disable';
|
187 |
?>
|
188 |
<style>
|
189 |
.subsubsub {
|
190 |
display: none;
|
191 |
}
|
192 |
</style>
|
193 |
+
<script type="text/javascript">
|
194 |
+
jQuery(document).ready(function ($) {
|
195 |
+
$($(".wrap h1")[0]).append($('#brz-leads-export-tpl-buttons').html());
|
196 |
+
});
|
197 |
+
</script>
|
198 |
+
<template id="brz-leads-export-tpl-buttons">
|
199 |
+
<a class="brz-leads-export add-new-h2<?php echo $disable; ?>"
|
200 |
+
href="<?php echo admin_url( 'edit.php?post_type=' . self::CP_FORM_ENTRY . '&brizy-export-leads=' . wp_create_nonce( 'brizy-admin-export-leads' ) ); ?>">
|
201 |
+
<?php esc_html_e( 'Export to .csv', 'brizy' ); ?>
|
202 |
+
</a>
|
203 |
+
</template>
|
204 |
+
|
205 |
<?php
|
206 |
}
|
207 |
}
|
208 |
|
209 |
+
public function export_leads() {
|
210 |
+
|
211 |
+
if ( ! current_user_can( 'manage_options' ) || ! isset( $_GET['brizy-export-leads'] ) || ! wp_verify_nonce( $_GET['brizy-export-leads'], 'brizy-admin-export-leads' ) ) {
|
212 |
+
return;
|
213 |
+
}
|
214 |
+
|
215 |
+
$leads = get_posts( [ 'post_type' => self::CP_FORM_ENTRY, 'posts_per_page' => - 1 ] );
|
216 |
+
|
217 |
+
if ( ! $leads ) {
|
218 |
+
return;
|
219 |
+
}
|
220 |
+
|
221 |
+
$cols = [];
|
222 |
+
$data = [];
|
223 |
+
|
224 |
+
foreach ( $leads as $lead ) {
|
225 |
+
$lead_fields = json_decode( $lead->post_content, true );
|
226 |
+
if ( empty( $lead_fields['formData'] ) ) {
|
227 |
+
continue;
|
228 |
+
}
|
229 |
+
|
230 |
+
$data[] = $lead_fields['formData'];
|
231 |
+
|
232 |
+
foreach ( $lead_fields['formData'] as $field ) {
|
233 |
+
if ( ! in_array( $field['label'], $cols ) ) {
|
234 |
+
$cols[] = $field['label'];
|
235 |
+
}
|
236 |
+
}
|
237 |
+
}
|
238 |
+
|
239 |
+
if ( empty( $data ) || empty( $cols ) ) {
|
240 |
+
return;
|
241 |
+
}
|
242 |
+
|
243 |
+
header( 'Content-Type: text/csv; charset=utf-8' );
|
244 |
+
header( 'Content-Disposition: attachment; filename=leads.csv' );
|
245 |
+
header( 'Pragma: no-cache' );
|
246 |
+
header( 'Expires: 0' );
|
247 |
+
|
248 |
+
$fp = fopen( 'php://output', 'wb' );
|
249 |
+
fputcsv( $fp, $cols );
|
250 |
+
|
251 |
+
$cols = array_flip( $cols );
|
252 |
+
$range = count( $cols );
|
253 |
+
|
254 |
+
foreach ( $data as $lines ) {
|
255 |
+
|
256 |
+
$val = array_fill( 0, $range, '' );
|
257 |
+
|
258 |
+
foreach ( $lines as $line ) {
|
259 |
+
$val[ $cols[ $line['label'] ] ] = $line['value'];
|
260 |
+
}
|
261 |
+
|
262 |
+
fputcsv( $fp, $val );
|
263 |
+
}
|
264 |
+
|
265 |
+
fclose( $fp );
|
266 |
+
|
267 |
+
die();
|
268 |
+
}
|
269 |
+
|
270 |
/**
|
271 |
* @param $fields
|
272 |
* @param Brizy_Editor_Forms_Form $form
|
286 |
unset( $fields[ $i ] );
|
287 |
$fields = array_values( $fields );
|
288 |
}
|
289 |
+
|
290 |
+
// We use htmlentities the user can insert text in some languages like German, Hindi, etc.
|
291 |
+
// and the function json_encode broke the json or encode the characters.
|
292 |
+
$fields[ $i ]->name = htmlentities( $field->name );
|
293 |
+
$fields[ $i ]->value = htmlentities( $field->value );
|
294 |
}
|
295 |
|
296 |
$params = array(
|
297 |
'post_title' => $title,
|
298 |
'post_type' => self::CP_FORM_ENTRY,
|
299 |
'post_status' => 'publish',
|
300 |
+
'post_content' => json_encode( array( 'formId' => $form->getId(),
|
301 |
+
'formData' => $fields
|
302 |
+
), JSON_UNESCAPED_UNICODE )
|
303 |
);
|
304 |
|
305 |
wp_insert_post( $params );
|
332 |
'public' => false,
|
333 |
'has_archive' => false,
|
334 |
'description' => __( 'Leads', 'brizy' ),
|
335 |
+
'publicly_queryable' => false,
|
336 |
'show_ui' => true,
|
337 |
'show_in_menu' => false, //Brizy_Admin_Settings::menu_slug(),
|
338 |
'query_var' => false,
|
351 |
)
|
352 |
);
|
353 |
}
|
354 |
+
}
|
admin/layouts/api.php
ADDED
@@ -0,0 +1,285 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: alex
|
5 |
+
* Date: 7/18/18
|
6 |
+
* Time: 10:48 AM
|
7 |
+
*/
|
8 |
+
|
9 |
+
|
10 |
+
class Brizy_Admin_Layouts_Api extends Brizy_Admin_AbstractApi {
|
11 |
+
|
12 |
+
const nonce = 'brizy-api';
|
13 |
+
|
14 |
+
const GET_LAYOUT_BY_UID_ACTION = '-get-layout-by-uid';
|
15 |
+
const GET_LAYOUTS_ACTION = '-get-layouts';
|
16 |
+
const CREATE_LAYOUT_ACTION = '-create-layout';
|
17 |
+
const UPDATE_LAYOUT_ACTION = '-update-layout';
|
18 |
+
const DELETE_LAYOUT_ACTION = '-delete-layout';
|
19 |
+
|
20 |
+
/**
|
21 |
+
* @return Brizy_Admin_Layouts_Api
|
22 |
+
*/
|
23 |
+
public static function _init() {
|
24 |
+
static $instance;
|
25 |
+
|
26 |
+
if ( ! $instance ) {
|
27 |
+
$instance = new self();
|
28 |
+
}
|
29 |
+
|
30 |
+
return $instance;
|
31 |
+
}
|
32 |
+
|
33 |
+
protected function getRequestNonce() {
|
34 |
+
return $this->param( 'hash' );
|
35 |
+
}
|
36 |
+
|
37 |
+
protected function initializeApiActions() {
|
38 |
+
$pref = 'wp_ajax_' . Brizy_Editor::prefix();
|
39 |
+
add_action( $pref . self::GET_LAYOUT_BY_UID_ACTION, array( $this, 'actionGetLayoutByUid' ) );
|
40 |
+
add_action( $pref . self::GET_LAYOUTS_ACTION, array( $this, 'actionGetLayouts' ) );
|
41 |
+
add_action( $pref . self::CREATE_LAYOUT_ACTION, array( $this, 'actionCreateLayout' ) );
|
42 |
+
add_action( $pref . self::UPDATE_LAYOUT_ACTION, array( $this, 'actionUpdateLayout' ) );
|
43 |
+
add_action( $pref . self::DELETE_LAYOUT_ACTION, array( $this, 'actionDeleteLayout' ) );
|
44 |
+
}
|
45 |
+
|
46 |
+
public function actionGetLayoutByUid() {
|
47 |
+
$this->verifyNonce( self::nonce );
|
48 |
+
|
49 |
+
try {
|
50 |
+
$uid = $this->param( 'uid' );
|
51 |
+
if ( ! $uid ) {
|
52 |
+
$this->error( 400, 'Invalid layout id' );
|
53 |
+
}
|
54 |
+
|
55 |
+
$fields = $this->param( 'fields' ) ? $this->param( 'fields' ) : [];
|
56 |
+
|
57 |
+
$layoutManager = new Brizy_Admin_Layouts_Manager();
|
58 |
+
|
59 |
+
$layout = $layoutManager->getEntity( $this->param( 'uid' ) );
|
60 |
+
|
61 |
+
$layout = apply_filters( 'brizy_get_layout', $layout, $this->param( 'uid' ), $layoutManager );
|
62 |
+
|
63 |
+
if ( ! $layout ) {
|
64 |
+
$this->error( 404, 'Block not found' );
|
65 |
+
}
|
66 |
+
|
67 |
+
$this->success( $layout->createResponse( $fields ) );
|
68 |
+
|
69 |
+
} catch ( Exception $exception ) {
|
70 |
+
$this->error( 400, $exception->getMessage() );
|
71 |
+
}
|
72 |
+
}
|
73 |
+
|
74 |
+
public function actionGetLayouts() {
|
75 |
+
$this->verifyNonce( self::nonce );
|
76 |
+
|
77 |
+
try {
|
78 |
+
$layoutManager = new Brizy_Admin_Layouts_Manager();
|
79 |
+
|
80 |
+
$fields = $this->param( 'fields' ) ? $this->param( 'fields' ) : [];
|
81 |
+
|
82 |
+
$layouts = $layoutManager->getEntities( array() );
|
83 |
+
$layouts = apply_filters( 'brizy_get_layouts', $layoutManager->createResponseForEntities( $layouts, $fields ), $fields, $layoutManager );
|
84 |
+
$this->success( $layouts );
|
85 |
+
|
86 |
+
} catch ( Exception $exception ) {
|
87 |
+
$this->error( 400, $exception->getMessage() );
|
88 |
+
}
|
89 |
+
}
|
90 |
+
|
91 |
+
public function actionCreateLayout() {
|
92 |
+
$this->verifyNonce( self::nonce );
|
93 |
+
|
94 |
+
if ( ! $this->param( 'uid' ) ) {
|
95 |
+
$this->error( 400, 'Invalid uid' );
|
96 |
+
}
|
97 |
+
|
98 |
+
if ( ! $this->param( 'data' ) ) {
|
99 |
+
$this->error( 400, 'Invalid data' );
|
100 |
+
}
|
101 |
+
|
102 |
+
if ( ! $this->param( 'meta' ) ) {
|
103 |
+
$this->error( 400, 'Invalid meta data' );
|
104 |
+
}
|
105 |
+
|
106 |
+
if ( ! $this->param( 'media' ) ) {
|
107 |
+
$this->error( 400, 'Invalid media data provided' );
|
108 |
+
}
|
109 |
+
|
110 |
+
try {
|
111 |
+
$editorData = stripslashes( $this->param( 'data' ) );
|
112 |
+
$layoutManager = new Brizy_Admin_Layouts_Manager();
|
113 |
+
$layout = $layoutManager->createEntity( $this->param( 'uid' ), 'publish' );
|
114 |
+
|
115 |
+
$layout->setMedia( stripslashes( $this->param( 'media' ) ) );
|
116 |
+
$layout->setMeta( stripslashes( $this->param( 'meta' ) ) );
|
117 |
+
$layout->set_editor_data( $editorData );
|
118 |
+
$layout->set_needs_compile( true );
|
119 |
+
$layout->setCloudUpdateRequired( true );
|
120 |
+
$layout->setDataVersion( 1 );
|
121 |
+
$layout->save();
|
122 |
+
|
123 |
+
do_action( 'brizy_layout_created', $layout );
|
124 |
+
do_action( 'brizy_global_data_updated' );
|
125 |
+
|
126 |
+
$this->success( $layout->createResponse() );
|
127 |
+
|
128 |
+
} catch ( Exception $exception ) {
|
129 |
+
$this->error( 400, $exception->getMessage() );
|
130 |
+
}
|
131 |
+
}
|
132 |
+
|
133 |
+
public function actionUpdateLayout() {
|
134 |
+
$this->verifyNonce( self::nonce );
|
135 |
+
|
136 |
+
try {
|
137 |
+
|
138 |
+
if ( ! $this->param( 'uid' ) ) {
|
139 |
+
$this->error( '400', 'Invalid uid' );
|
140 |
+
}
|
141 |
+
|
142 |
+
if ( ! $this->param( 'data' ) ) {
|
143 |
+
$this->error( '400', 'Invalid data' );
|
144 |
+
}
|
145 |
+
|
146 |
+
if ( ! $this->param( 'meta' ) ) {
|
147 |
+
$this->error( 400, 'Invalid meta data' );
|
148 |
+
}
|
149 |
+
|
150 |
+
if ( ! $this->param( 'dataVersion' ) ) {
|
151 |
+
$this->error( 400, 'Invalid data version' );
|
152 |
+
}
|
153 |
+
$layoutManager = new Brizy_Admin_Layouts_Manager();
|
154 |
+
$layout = $layoutManager->getEntity( $this->param( 'uid' ) );
|
155 |
+
|
156 |
+
if ( ! $layout ) {
|
157 |
+
$this->error( 400, 'Layout not found' );
|
158 |
+
}
|
159 |
+
|
160 |
+
/**
|
161 |
+
* @var Brizy_Editor_Layout $layout ;
|
162 |
+
*/
|
163 |
+
$layout->setMeta( stripslashes( $this->param( 'meta' ) ) );
|
164 |
+
$layout->set_editor_data( stripslashes( $this->param( 'data' ) ) );
|
165 |
+
$layout->setDataVersion( $this->param( 'dataVersion' ) );
|
166 |
+
|
167 |
+
if ( (int) $this->param( 'is_autosave' ) ) {
|
168 |
+
$layout->save( 1 );
|
169 |
+
} else {
|
170 |
+
$layout->save();
|
171 |
+
do_action( 'brizy_layout_updated', $layout );
|
172 |
+
do_action( 'brizy_global_data_updated' );
|
173 |
+
}
|
174 |
+
|
175 |
+
$this->success( $layout->createResponse() );
|
176 |
+
} catch ( Exception $exception ) {
|
177 |
+
$this->error( 400, $exception->getMessage() );
|
178 |
+
}
|
179 |
+
}
|
180 |
+
|
181 |
+
public function actionDeleteLayout() {
|
182 |
+
$this->verifyNonce( self::nonce );
|
183 |
+
|
184 |
+
if ( ! $this->param( 'uid' ) ) {
|
185 |
+
$this->error( '400', 'Invalid uid' );
|
186 |
+
}
|
187 |
+
$layoutManager = new Brizy_Admin_Layouts_Manager();
|
188 |
+
$layout = $layoutManager->getEntity( $this->param( 'uid' ) );
|
189 |
+
|
190 |
+
do_action( 'brizy_layout_delete', $this->param( 'uid' ) );
|
191 |
+
|
192 |
+
if ( $layout ) {
|
193 |
+
do_action( 'brizy_layout_deleted', $layout );
|
194 |
+
do_action( 'brizy_global_data_deleted' );
|
195 |
+
|
196 |
+
$layoutManager->deleteEntity( $layout );
|
197 |
+
$this->success( null );
|
198 |
+
}
|
199 |
+
|
200 |
+
$this->error( '404', 'Layout not found' );
|
201 |
+
}
|
202 |
+
|
203 |
+
// /**
|
204 |
+
// * @param $uid
|
205 |
+
// * @param $postType
|
206 |
+
// *
|
207 |
+
// * @return string|null
|
208 |
+
// */
|
209 |
+
// private function getLayoutIdByUid( $uid ) {
|
210 |
+
// global $wpdb;
|
211 |
+
//
|
212 |
+
// $prepare = $wpdb->prepare( "SELECT ID FROM {$wpdb->posts} p
|
213 |
+
// JOIN {$wpdb->postmeta} pm ON
|
214 |
+
// pm.post_id=p.ID and
|
215 |
+
// meta_key='brizy_post_uid' and
|
216 |
+
// meta_value='%s'
|
217 |
+
// ORDER BY p.ID DESC
|
218 |
+
// LIMIT 1", array( $uid, ) );
|
219 |
+
//
|
220 |
+
// return $wpdb->get_var( $prepare );
|
221 |
+
// }
|
222 |
+
//
|
223 |
+
// /**
|
224 |
+
// * @param $id
|
225 |
+
// * @param $postType
|
226 |
+
// *
|
227 |
+
// * @return Brizy_Editor_Layout|null
|
228 |
+
// * @throws Brizy_Editor_Exceptions_NotFound
|
229 |
+
// */
|
230 |
+
// private function getLayout( $uid ) {
|
231 |
+
//
|
232 |
+
// $postId = $this->getLayoutIdByUid( $uid );
|
233 |
+
//
|
234 |
+
// if ( $postId ) {
|
235 |
+
// return Brizy_Editor_Layout::get( $postId );
|
236 |
+
// }
|
237 |
+
//
|
238 |
+
// return null;
|
239 |
+
//
|
240 |
+
// }
|
241 |
+
//
|
242 |
+
// /**
|
243 |
+
// * @param $uid
|
244 |
+
// * @param $status
|
245 |
+
// * @param $type
|
246 |
+
// *
|
247 |
+
// * @return Brizy_Editor_Layout|null
|
248 |
+
// * @throws Brizy_Editor_Exceptions_NotFound
|
249 |
+
// */
|
250 |
+
// private function createLayout( $uid, $status, $type ) {
|
251 |
+
// $name = md5( time() );
|
252 |
+
// $post = wp_insert_post( array(
|
253 |
+
// 'post_title' => $name,
|
254 |
+
// 'post_name' => $name,
|
255 |
+
// 'post_status' => $status,
|
256 |
+
// 'post_type' => $type
|
257 |
+
// ) );
|
258 |
+
//
|
259 |
+
// if ( $post ) {
|
260 |
+
// $brizyPost = Brizy_Editor_Layout::get( $post, $uid );
|
261 |
+
// $brizyPost->set_uses_editor( true );
|
262 |
+
// $brizyPost->set_needs_compile( true );
|
263 |
+
// $brizyPost->setDataVersion( 1 );
|
264 |
+
//
|
265 |
+
// return $brizyPost;
|
266 |
+
// }
|
267 |
+
//
|
268 |
+
// throw new Exception( 'Unable to create layout' );
|
269 |
+
// }
|
270 |
+
//
|
271 |
+
//
|
272 |
+
// /***
|
273 |
+
// * @param $postUid
|
274 |
+
// *
|
275 |
+
// * @return false|WP_Post|null
|
276 |
+
// */
|
277 |
+
// private function deleteLayout( $postUid ) {
|
278 |
+
//
|
279 |
+
// $postId = $this->getLayoutIdByUid( $postUid );
|
280 |
+
//
|
281 |
+
// return wp_delete_post( $postId );
|
282 |
+
// }
|
283 |
+
|
284 |
+
|
285 |
+
}
|
admin/layouts/main.php
ADDED
@@ -0,0 +1,77 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Created by PhpStorm.
|
5 |
+
* User: alex
|
6 |
+
* Date: 1/11/19
|
7 |
+
* Time: 10:59 AM
|
8 |
+
*/
|
9 |
+
class Brizy_Admin_Layouts_Main {
|
10 |
+
|
11 |
+
const CP_LAYOUT = 'brizy-layout';
|
12 |
+
|
13 |
+
/**
|
14 |
+
* @return Brizy_Admin_Layouts_Main
|
15 |
+
*/
|
16 |
+
public static function _init() {
|
17 |
+
static $instance;
|
18 |
+
|
19 |
+
if ( ! $instance ) {
|
20 |
+
$instance = new self();
|
21 |
+
$instance->initialize();
|
22 |
+
}
|
23 |
+
|
24 |
+
return $instance;
|
25 |
+
}
|
26 |
+
|
27 |
+
public function initialize() {
|
28 |
+
add_action( 'wp_loaded', array( $this, 'initializeActions' ) );
|
29 |
+
add_filter( 'brizy_supported_post_types', array( $this, 'populateSupportedPosts' ) );
|
30 |
+
}
|
31 |
+
|
32 |
+
static public function registerCustomPosts() {
|
33 |
+
|
34 |
+
$labels = array(
|
35 |
+
'name' => _x( 'Layouts', 'post type general name' ),
|
36 |
+
);
|
37 |
+
|
38 |
+
register_post_type( self::CP_LAYOUT,
|
39 |
+
array(
|
40 |
+
'labels' => $labels,
|
41 |
+
'public' => false,
|
42 |
+
'has_archive' => false,
|
43 |
+
'description' => __( 'Layout.', 'brizy' ),
|
44 |
+
'publicly_queryable' => false,
|
45 |
+
'show_ui' => false,
|
46 |
+
'show_in_menu' => false,
|
47 |
+
'query_var' => false,
|
48 |
+
'capability_type' => 'page',
|
49 |
+
'hierarchical' => false,
|
50 |
+
'show_in_rest' => false,
|
51 |
+
'exclude_from_search' => true,
|
52 |
+
'supports' => array( 'title', 'revisions', 'page-attributes' )
|
53 |
+
)
|
54 |
+
);
|
55 |
+
|
56 |
+
$labels = array(
|
57 |
+
'name' => _x( 'Layouts', 'brizy' ),
|
58 |
+
);
|
59 |
+
|
60 |
+
|
61 |
+
}
|
62 |
+
|
63 |
+
/**
|
64 |
+
* @param $types
|
65 |
+
*
|
66 |
+
* @return array
|
67 |
+
*/
|
68 |
+
public function populateSupportedPosts( $types ) {
|
69 |
+
$types[] = self::CP_LAYOUT;
|
70 |
+
|
71 |
+
return $types;
|
72 |
+
}
|
73 |
+
|
74 |
+
public function initializeActions() {
|
75 |
+
Brizy_Admin_Layouts_Api::_init();
|
76 |
+
}
|
77 |
+
}
|
admin/layouts/manager.php
ADDED
@@ -0,0 +1,199 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Brizy_Admin_Layouts_Manager extends Brizy_Admin_Entity_AbstractManager {
|
4 |
+
|
5 |
+
/**
|
6 |
+
* @var string
|
7 |
+
*/
|
8 |
+
private $blockType;
|
9 |
+
|
10 |
+
/**
|
11 |
+
* Brizy_Admin_Layouts_Manager constructor.
|
12 |
+
*
|
13 |
+
* @throws Exception
|
14 |
+
*/
|
15 |
+
public function __construct() {
|
16 |
+
$this->blockType = Brizy_Admin_Layouts_Main::CP_LAYOUT;
|
17 |
+
}
|
18 |
+
|
19 |
+
/**
|
20 |
+
* @param $args
|
21 |
+
*
|
22 |
+
* @return Brizy_Editor_Layout[]
|
23 |
+
* @throws Exception
|
24 |
+
*/
|
25 |
+
public function getEntities( $args ) {
|
26 |
+
return $this->getEntitiesByType( $this->blockType, $args );
|
27 |
+
}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* @param $uid
|
31 |
+
*
|
32 |
+
* @return Brizy_Editor_Layout
|
33 |
+
* @throws Exception
|
34 |
+
*/
|
35 |
+
public function getEntity( $uid ) {
|
36 |
+
return $this->getEntityUidAndType( $uid, $this->blockType );
|
37 |
+
}
|
38 |
+
|
39 |
+
/**
|
40 |
+
* @param $uid
|
41 |
+
* @param string $status
|
42 |
+
*
|
43 |
+
* @return mixed|null+
|
44 |
+
*/
|
45 |
+
public function createEntity( $uid, $status = 'publish' ) {
|
46 |
+
return $this->createEntityByType( $uid, $this->blockType, $status );
|
47 |
+
}
|
48 |
+
|
49 |
+
/**
|
50 |
+
* @param $post
|
51 |
+
* @param null $uid
|
52 |
+
*
|
53 |
+
* @return Brizy_Editor_Layout|Brizy_Editor_Post|mixed$uid
|
54 |
+
* @throws Exception
|
55 |
+
*/
|
56 |
+
protected function convertWpPostToEntity( $post, $uid = null ) {
|
57 |
+
return Brizy_Editor_Layout::get( $post, $uid );
|
58 |
+
}
|
59 |
+
|
60 |
+
//=====================================================================
|
61 |
+
//=====================================================================
|
62 |
+
//=====================================================================
|
63 |
+
//=====================================================================
|
64 |
+
//=====================================================================
|
65 |
+
//=====================================================================
|
66 |
+
|
67 |
+
|
68 |
+
// /**
|
69 |
+
// * @param $type
|
70 |
+
// * @param $arags
|
71 |
+
// * @param array $fields
|
72 |
+
// *
|
73 |
+
// * @return array
|
74 |
+
// * @throws Brizy_Editor_Exceptions_NotFound
|
75 |
+
// */
|
76 |
+
// public function getAllLayouts( $arags, $fields = array() ) {
|
77 |
+
// $layouts = [];
|
78 |
+
// try {
|
79 |
+
// $layouts = $this->getLocalLayouts( $arags, $fields );
|
80 |
+
//
|
81 |
+
// $versions = $this->cloud->getCloudEditorVersions();
|
82 |
+
// $cloudBlocks = $this->cloud->getLayouts( array( 'fields' => array( 'uid', 'meta' ) ) );
|
83 |
+
//
|
84 |
+
// if ( $this->cloud && $versions['sync'] == BRIZY_SYNC_VERSION ) {
|
85 |
+
//
|
86 |
+
// foreach ( (array) $cloudBlocks as $cblock ) {
|
87 |
+
// $existingBlock = false;
|
88 |
+
// foreach ( $layouts as $block ) {
|
89 |
+
// if ( $cblock->uid == $block['uid'] ) {
|
90 |
+
// $existingBlock = true;
|
91 |
+
// }
|
92 |
+
// }
|
93 |
+
//
|
94 |
+
// if ( ! $existingBlock ) {
|
95 |
+
// $localLayout = $this->getLayoutByUid( $cblock->uid );
|
96 |
+
//
|
97 |
+
// if ( $localLayout ) {
|
98 |
+
// $cblock->synchronized = $localLayout->isSynchronized( $this->cloud->getBrizyProject()->getCloudAccountId() );
|
99 |
+
// } else {
|
100 |
+
// $cblock->synchronized = false;
|
101 |
+
// }
|
102 |
+
//
|
103 |
+
// if ( in_array( 'isCloudEntity', $fields ) ) {
|
104 |
+
// $cblock->isCloudEntity = true;
|
105 |
+
// }
|
106 |
+
//
|
107 |
+
// if ( in_array( 'synchronizable', $fields ) ) {
|
108 |
+
// $cblock->synchronizable = true;
|
109 |
+
// }
|
110 |
+
//
|
111 |
+
// $cblock->synchronizable = true;
|
112 |
+
// $layouts[] = (array) $cblock;
|
113 |
+
// }
|
114 |
+
// }
|
115 |
+
// }
|
116 |
+
// } catch ( Exception $e ) {
|
117 |
+
//
|
118 |
+
// }
|
119 |
+
//
|
120 |
+
// return $layouts;
|
121 |
+
// }
|
122 |
+
|
123 |
+
// /**
|
124 |
+
// * @param $uid
|
125 |
+
// * @param array $fields
|
126 |
+
// *
|
127 |
+
// * @return array|mixed|null
|
128 |
+
// * @throws Exception
|
129 |
+
// */
|
130 |
+
// public function getLayoutByUid( $uid, $fields = array() ) {
|
131 |
+
//
|
132 |
+
// $layout = $this->getLocalLayout( $uid, $fields );
|
133 |
+
// $versions = $this->cloud->getCloudEditorVersions();
|
134 |
+
//
|
135 |
+
// if ( ! $layout && $this->cloud && $versions['sync'] == BRIZY_SYNC_VERSION ) {
|
136 |
+
// $bridge = new Brizy_Admin_Cloud_LayoutBridge( $this->cloud );
|
137 |
+
// $bridge->import( $uid );
|
138 |
+
//
|
139 |
+
// $layout = $this->getLocalLayout( $uid, $fields );
|
140 |
+
// }
|
141 |
+
//
|
142 |
+
// return $layout;
|
143 |
+
// }
|
144 |
+
//
|
145 |
+
//
|
146 |
+
// /**
|
147 |
+
// * @param array $arags
|
148 |
+
// * @param array $fields
|
149 |
+
// *
|
150 |
+
// * @return array
|
151 |
+
// * @throws Exception
|
152 |
+
// */
|
153 |
+
// public function getLocalLayouts( $arags = array(), $fields = array() ) {
|
154 |
+
// $filterArgs = array(
|
155 |
+
// 'post_type' => Brizy_Admin_Layouts_Main::CP_LAYOUT,
|
156 |
+
// 'posts_per_page' => - 1,
|
157 |
+
// 'post_status' => 'any',
|
158 |
+
// 'orderby' => 'ID',
|
159 |
+
// 'order' => 'ASC',
|
160 |
+
// );
|
161 |
+
// $filterArgs = array_merge( $filterArgs, $arags );
|
162 |
+
//
|
163 |
+
// $wpBlocks = get_posts( $filterArgs );
|
164 |
+
// $layouts = array();
|
165 |
+
//
|
166 |
+
// foreach ( $wpBlocks as $wpPost ) {
|
167 |
+
// $layouts[] = \Brizy_Editor_Layout::get( $wpPost )->createResponse( $fields );
|
168 |
+
// }
|
169 |
+
//
|
170 |
+
// return $layouts;
|
171 |
+
// }
|
172 |
+
|
173 |
+
// /**
|
174 |
+
// * @param $uid
|
175 |
+
// * @param array $fields
|
176 |
+
// *
|
177 |
+
// * @return array|mixed|null
|
178 |
+
// * @throws Exception
|
179 |
+
// */
|
180 |
+
// public function getLocalLayout( $uid, $fields = array() ) {
|
181 |
+
// $blocks = get_posts( array(
|
182 |
+
// 'post_type' => Brizy_Admin_Layouts_Main::CP_LAYOUT,
|
183 |
+
// 'post_status' => 'publish',
|
184 |
+
// 'meta_key' => 'brizy_post_uid',
|
185 |
+
// 'meta_value' => $uid,
|
186 |
+
// 'numberposts' => - 1,
|
187 |
+
// 'orderby' => 'ID',
|
188 |
+
// 'order' => 'DESC',
|
189 |
+
// ) );
|
190 |
+
//
|
191 |
+
// if ( isset( $blocks[0] ) ) {
|
192 |
+
// $block = \Brizy_Editor_Layout::get( $blocks[0] )->createResponse( $fields );
|
193 |
+
// } else {
|
194 |
+
// $block = null;
|
195 |
+
// }
|
196 |
+
//
|
197 |
+
// return $block;
|
198 |
+
// }
|
199 |
+
}
|
admin/main.php
CHANGED
@@ -21,19 +21,14 @@ class Brizy_Admin_Main {
|
|
21 |
*/
|
22 |
protected function __construct() {
|
23 |
|
24 |
-
if ( !
|
25 |
return;
|
26 |
}
|
27 |
|
28 |
-
// watch all supported posts and create meta revisions
|
29 |
-
$metaManager = new Brizy_Admin_Post_RevisionManager();
|
30 |
-
$metaManager->addMonitor( new Brizy_Admin_Post_BrizyPostsMonitor() );
|
31 |
-
$metaManager->addMonitor( new Brizy_Admin_Post_ProjectPostMonitor() );
|
32 |
-
|
33 |
// enqueue admin scripts
|
34 |
add_action( 'admin_enqueue_scripts', array( $this, 'action_register_static' ) );
|
35 |
|
36 |
-
if ( current_user_can( Brizy_Admin_Capabilities::CAP_EDIT_WHOLE_PAGE ) ||
|
37 |
add_action( 'admin_post__brizy_admin_editor_enable', array(
|
38 |
$this,
|
39 |
'action_request_enable'
|
@@ -74,8 +69,39 @@ class Brizy_Admin_Main {
|
|
74 |
add_filter( 'save_post', array( $this, 'save_focal_point' ), 10, 2 );
|
75 |
|
76 |
add_filter( 'admin_post_thumbnail_html', array( $this, 'addFocalPoint' ), 10, 3 );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
77 |
}
|
78 |
|
|
|
79 |
public function addFocalPoint( $content, $postId, $thumbId ) {
|
80 |
|
81 |
if ( ! $thumbId ) {
|
@@ -177,7 +203,6 @@ class Brizy_Admin_Main {
|
|
177 |
// }
|
178 |
// }
|
179 |
|
180 |
-
|
181 |
/**
|
182 |
* @param $post_id
|
183 |
* @param $post
|
@@ -251,33 +276,35 @@ class Brizy_Admin_Main {
|
|
251 |
*/
|
252 |
public function action_register_static() {
|
253 |
|
|
|
|
|
254 |
wp_enqueue_style(
|
255 |
-
Brizy_Editor::
|
256 |
-
|
257 |
array(),
|
258 |
-
|
259 |
);
|
260 |
|
261 |
wp_enqueue_script(
|
262 |
-
Brizy_Editor::
|
263 |
-
|
264 |
array( 'jquery', 'underscore' ),
|
265 |
-
|
266 |
true
|
267 |
);
|
268 |
|
269 |
wp_enqueue_script(
|
270 |
-
Brizy_Editor::
|
271 |
-
|
272 |
array( 'jquery', 'underscore' ),
|
273 |
-
|
274 |
true
|
275 |
);
|
276 |
|
277 |
$get_post_focal = get_post_meta( get_the_ID(), 'brizy_attachment_focal_point', true );
|
278 |
|
279 |
wp_localize_script(
|
280 |
-
Brizy_Editor::
|
281 |
'Brizy_Admin_Data',
|
282 |
array(
|
283 |
'url' => admin_url( 'admin-ajax.php' ),
|
@@ -366,7 +393,6 @@ class Brizy_Admin_Main {
|
|
366 |
}
|
367 |
|
368 |
|
369 |
-
|
370 |
/**
|
371 |
* @internal
|
372 |
**/
|
@@ -387,7 +413,7 @@ class Brizy_Admin_Main {
|
|
387 |
'post' => $p,
|
388 |
'is_using_brizy' => $is_using_brizy,
|
389 |
'url' => add_query_arg(
|
390 |
-
array(
|
391 |
get_permalink( get_the_ID() )
|
392 |
)
|
393 |
) );
|
@@ -404,7 +430,7 @@ class Brizy_Admin_Main {
|
|
404 |
*/
|
405 |
public function filter_add_brizy_edit_row_actions( $actions, $post ) {
|
406 |
|
407 |
-
$is_allowed =
|
408 |
|
409 |
if ( ! $is_allowed || ! in_array( get_post_type(), Brizy_Editor::get()->supported_post_types() ) ) {
|
410 |
return $actions;
|
@@ -467,6 +493,8 @@ class Brizy_Admin_Main {
|
|
467 |
wp_redirect( $_SERVER['HTTP_REFERER'] );
|
468 |
}
|
469 |
|
|
|
|
|
470 |
try {
|
471 |
|
472 |
$update_post = false;
|
@@ -581,6 +609,13 @@ class Brizy_Admin_Main {
|
|
581 |
return $existing;
|
582 |
}
|
583 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
584 |
public function handleNewProjectMetaImport( $postMeta, $post_id, $post ) {
|
585 |
if ( $post['post_type'] == Brizy_Editor_Project::BRIZY_PROJECT ) {
|
586 |
return null;
|
21 |
*/
|
22 |
protected function __construct() {
|
23 |
|
24 |
+
if ( ! Brizy_Editor_User::is_user_allowed() ) {
|
25 |
return;
|
26 |
}
|
27 |
|
|
|
|
|
|
|
|
|
|
|
28 |
// enqueue admin scripts
|
29 |
add_action( 'admin_enqueue_scripts', array( $this, 'action_register_static' ) );
|
30 |
|
31 |
+
if ( current_user_can( Brizy_Admin_Capabilities::CAP_EDIT_WHOLE_PAGE ) || Brizy_Editor_User::is_administrator() ) {
|
32 |
add_action( 'admin_post__brizy_admin_editor_enable', array(
|
33 |
$this,
|
34 |
'action_request_enable'
|
69 |
add_filter( 'save_post', array( $this, 'save_focal_point' ), 10, 2 );
|
70 |
|
71 |
add_filter( 'admin_post_thumbnail_html', array( $this, 'addFocalPoint' ), 10, 3 );
|
72 |
+
add_filter( 'content_edit_pre', array( $this, 'fixContentForPastBrizyPosts' ), 10, 2 );
|
73 |
+
}
|
74 |
+
|
75 |
+
/**
|
76 |
+
* @param $content
|
77 |
+
*
|
78 |
+
* @return null|string|string[]
|
79 |
+
* @throws Exception
|
80 |
+
*/
|
81 |
+
public function fixContentForPastBrizyPosts( $content, $postId ) {
|
82 |
+
|
83 |
+
$post = get_post( $postId );
|
84 |
+
|
85 |
+
// do not fix anything for popups/blocksand templates
|
86 |
+
if ( in_array( $post->post_type, [
|
87 |
+
Brizy_Admin_Templates::CP_TEMPLATE,
|
88 |
+
Brizy_Admin_Blocks_Main::CP_GLOBAL,
|
89 |
+
Brizy_Admin_Blocks_Main::CP_SAVED,
|
90 |
+
Brizy_Admin_Popups_Main::CP_POPUP
|
91 |
+
] ) ) {
|
92 |
+
return $content;
|
93 |
+
}
|
94 |
+
|
95 |
+
|
96 |
+
$brizyPost = get_post_meta( $postId, Brizy_Editor_Storage_Post::META_KEY, false );
|
97 |
+
if ( $brizyPost ) {
|
98 |
+
return apply_filters( 'brizy_content', $content, Brizy_Editor_Project::get(), $post, 'body' );
|
99 |
+
}
|
100 |
+
|
101 |
+
return $content;
|
102 |
}
|
103 |
|
104 |
+
|
105 |
public function addFocalPoint( $content, $postId, $thumbId ) {
|
106 |
|
107 |
if ( ! $thumbId ) {
|
203 |
// }
|
204 |
// }
|
205 |
|
|
|
206 |
/**
|
207 |
* @param $post_id
|
208 |
* @param $post
|
276 |
*/
|
277 |
public function action_register_static() {
|
278 |
|
279 |
+
$urlBuilder = new Brizy_Editor_UrlBuilder();
|
280 |
+
|
281 |
wp_enqueue_style(
|
282 |
+
Brizy_Editor::get_slug() . '-admin-css',
|
283 |
+
$urlBuilder->plugin_url( 'admin/static/css/style.css' ),
|
284 |
array(),
|
285 |
+
BRIZY_VERSION
|
286 |
);
|
287 |
|
288 |
wp_enqueue_script(
|
289 |
+
Brizy_Editor::get_slug() . '-admin-js',
|
290 |
+
$urlBuilder->plugin_url( 'admin/static/js/script.js' ),
|
291 |
array( 'jquery', 'underscore' ),
|
292 |
+
BRIZY_VERSION,
|
293 |
true
|
294 |
);
|
295 |
|
296 |
wp_enqueue_script(
|
297 |
+
Brizy_Editor::get_slug() . '-admin-featured-image-js',
|
298 |
+
$urlBuilder->plugin_url( 'admin/static/js/featured-image.js' ),
|
299 |
array( 'jquery', 'underscore' ),
|
300 |
+
BRIZY_VERSION,
|
301 |
true
|
302 |
);
|
303 |
|
304 |
$get_post_focal = get_post_meta( get_the_ID(), 'brizy_attachment_focal_point', true );
|
305 |
|
306 |
wp_localize_script(
|
307 |
+
Brizy_Editor::get_slug() . '-admin-js',
|
308 |
'Brizy_Admin_Data',
|
309 |
array(
|
310 |
'url' => admin_url( 'admin-ajax.php' ),
|
393 |
}
|
394 |
|
395 |
|
|
|
396 |
/**
|
397 |
* @internal
|
398 |
**/
|
413 |
'post' => $p,
|
414 |
'is_using_brizy' => $is_using_brizy,
|
415 |
'url' => add_query_arg(
|
416 |
+
array( Brizy_Editor::prefix('-edit') => '' ),
|
417 |
get_permalink( get_the_ID() )
|
418 |
)
|
419 |
) );
|
430 |
*/
|
431 |
public function filter_add_brizy_edit_row_actions( $actions, $post ) {
|
432 |
|
433 |
+
$is_allowed = Brizy_Editor_User::is_user_allowed();
|
434 |
|
435 |
if ( ! $is_allowed || ! in_array( get_post_type(), Brizy_Editor::get()->supported_post_types() ) ) {
|
436 |
return $actions;
|
493 |
wp_redirect( $_SERVER['HTTP_REFERER'] );
|
494 |
}
|
495 |
|
496 |
+
|
497 |
+
|
498 |
try {
|
499 |
|
500 |
$update_post = false;
|
609 |
return $existing;
|
610 |
}
|
611 |
|
612 |
+
/**
|
613 |
+
* @param $postMeta
|
614 |
+
* @param $post_id
|
615 |
+
* @param $post
|
616 |
+
*
|
617 |
+
* @return null
|
618 |
+
*/
|
619 |
public function handleNewProjectMetaImport( $postMeta, $post_id, $post ) {
|
620 |
if ( $post['post_type'] == Brizy_Editor_Project::BRIZY_PROJECT ) {
|
621 |
return null;
|
admin/migrations.php
CHANGED
@@ -63,6 +63,7 @@ class Brizy_Admin_Migrations {
|
|
63 |
new Brizy_Admin_Migrations_RulesMigration,
|
64 |
new Brizy_Admin_Migrations_ShortcodesMobileOneMigration,
|
65 |
new Brizy_Admin_Migrations_FixGlobalsToDataMigration,
|
|
|
66 |
);
|
67 |
|
68 |
usort( $migrations, function ( $a, $b ) {
|
@@ -173,7 +174,6 @@ class Brizy_Admin_Migrations {
|
|
173 |
}
|
174 |
}
|
175 |
|
176 |
-
|
177 |
Brizy_Logger::instance()->debug( 'Migration process successful' );
|
178 |
}
|
179 |
}
|
63 |
new Brizy_Admin_Migrations_RulesMigration,
|
64 |
new Brizy_Admin_Migrations_ShortcodesMobileOneMigration,
|
65 |
new Brizy_Admin_Migrations_FixGlobalsToDataMigration,
|
66 |
+
new Brizy_Admin_Migrations_ScreenshotMigration,
|
67 |
);
|
68 |
|
69 |
usort( $migrations, function ( $a, $b ) {
|
174 |
}
|
175 |
}
|
176 |
|
|
|
177 |
Brizy_Logger::instance()->debug( 'Migration process successful' );
|
178 |
}
|
179 |
}
|
admin/migrations/global-blocks-to-custom-post-migration.php
CHANGED
@@ -62,7 +62,6 @@ class Brizy_Admin_Migrations_GlobalBlocksToCustomPostMigration implements Brizy_
|
|
62 |
$brizyPost->set_needs_compile( true );
|
63 |
$brizyPost->saveStorage();
|
64 |
}
|
65 |
-
|
66 |
}
|
67 |
}
|
68 |
|
62 |
$brizyPost->set_needs_compile( true );
|
63 |
$brizyPost->saveStorage();
|
64 |
}
|
|
|
65 |
}
|
66 |
}
|
67 |
|
admin/migrations/globals-to-data-migration.php
CHANGED
@@ -1,5 +1,8 @@
|
|
1 |
<?php
|
2 |
|
|
|
|
|
|
|
3 |
class Brizy_Admin_Migrations_GlobalsToDataMigration implements Brizy_Admin_Migrations_MigrationInterface {
|
4 |
|
5 |
use Brizy_Admin_Migrations_PostsTrait;
|
@@ -36,8 +39,8 @@ class Brizy_Admin_Migrations_GlobalsToDataMigration implements Brizy_Admin_Migra
|
|
36 |
$beforeMergeGlobals = json_decode( base64_decode( $globals ) );
|
37 |
$editorBuildPath = Brizy_Editor_UrlBuilder::editor_build_path();
|
38 |
|
39 |
-
$context = new
|
40 |
-
$projectMigration = new
|
41 |
$mergedGlobals = $projectMigration->execute( $context );
|
42 |
$storage->set( 'data', base64_encode( json_encode( $mergedGlobals ) ) );
|
43 |
$storage->delete( 'globals' );
|
1 |
<?php
|
2 |
|
3 |
+
use \Brizy\DataToProjectContext;
|
4 |
+
use \Brizy\DataToProjectTransformer;
|
5 |
+
|
6 |
class Brizy_Admin_Migrations_GlobalsToDataMigration implements Brizy_Admin_Migrations_MigrationInterface {
|
7 |
|
8 |
use Brizy_Admin_Migrations_PostsTrait;
|
39 |
$beforeMergeGlobals = json_decode( base64_decode( $globals ) );
|
40 |
$editorBuildPath = Brizy_Editor_UrlBuilder::editor_build_path();
|
41 |
|
42 |
+
$context = new DataToProjectContext( $beforeMergeGlobals, $editorBuildPath );
|
43 |
+
$projectMigration = new DataToProjectTransformer();
|
44 |
$mergedGlobals = $projectMigration->execute( $context );
|
45 |
$storage->set( 'data', base64_encode( json_encode( $mergedGlobals ) ) );
|
46 |
$storage->delete( 'globals' );
|
admin/migrations/screenshot-migration.php
ADDED
@@ -0,0 +1,86 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
|
4 |
+
class Brizy_Admin_Migrations_ScreenshotMigration implements Brizy_Admin_Migrations_MigrationInterface {
|
5 |
+
|
6 |
+
/**
|
7 |
+
* @return int|mixed
|
8 |
+
*/
|
9 |
+
public function getPriority() {
|
10 |
+
return 0;
|
11 |
+
}
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Return the version
|
15 |
+
*
|
16 |
+
* @return mixed
|
17 |
+
*/
|
18 |
+
public function getVersion() {
|
19 |
+
return '1.0.123';
|
20 |
+
}
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Run this method when upgrading.
|
24 |
+
*
|
25 |
+
* @return mixed
|
26 |
+
*/
|
27 |
+
public function execute() {
|
28 |
+
// this is a null migration
|
29 |
+
|
30 |
+
global $wpdb;
|
31 |
+
|
32 |
+
try {
|
33 |
+
|
34 |
+
if ( ! class_exists( 'Brizy\BlockScreenshotContext' ) || ! class_exists( 'Brizy\BlockScreenshotTransformer' ) ) {
|
35 |
+
throw new Exception();
|
36 |
+
}
|
37 |
+
|
38 |
+
$entities = $wpdb->get_results(
|
39 |
+
"SELECT
|
40 |
+
p.id as ID
|
41 |
+
FROM {$wpdb->posts} p
|
42 |
+
LEFT JOIN {$wpdb->posts} pp ON pp.id=p.post_parent
|
43 |
+
WHERE IF(pp.post_type IS NOT NULL,pp.post_type,p.post_type) in ('brizy-global-block','brizy-saved-block')
|
44 |
+
|
45 |
+
" );
|
46 |
+
|
47 |
+
foreach ( $entities as $row ) {
|
48 |
+
if ( metadata_exists( 'post', $row->ID, Brizy_Editor_Block::BRIZY_META ) ) {
|
49 |
+
continue;
|
50 |
+
}
|
51 |
+
$this->migrateEntity( $row->ID );
|
52 |
+
}
|
53 |
+
|
54 |
+
|
55 |
+
} catch ( Exception $e ) {
|
56 |
+
Brizy_Logger::instance()->critical( 'Filed migration Brizy_Admin_Migrations_ScreenshotMigration', [ $e ] );
|
57 |
+
throw new $e;
|
58 |
+
}
|
59 |
+
}
|
60 |
+
|
61 |
+
/**
|
62 |
+
* @param $postId
|
63 |
+
*/
|
64 |
+
private function migrateEntity( $postId ) {
|
65 |
+
$storage = Brizy_Editor_Storage_Post::instance( $postId );
|
66 |
+
$storage_post = $storage->get( Brizy_Editor_Post::BRIZY_POST, true );
|
67 |
+
|
68 |
+
if ( ! isset( $storage_post['editor_data'] ) ) {
|
69 |
+
throw new Exception( 'editor_data not found on block: ' . $postId );
|
70 |
+
}
|
71 |
+
|
72 |
+
if ( ( $dataJson = base64_decode( $storage_post['editor_data'], true ) ) === false ) {
|
73 |
+
$dataJson = $storage_post['editor_data'];
|
74 |
+
}
|
75 |
+
|
76 |
+
$dataObject = json_decode( $dataJson );
|
77 |
+
|
78 |
+
$transformerContext = new \Brizy\BlockScreenshotContext( $dataObject );
|
79 |
+
$transformer = new \Brizy\BlockScreenshotTransformer();
|
80 |
+
$transformer->execute( $transformerContext );
|
81 |
+
|
82 |
+
|
83 |
+
$metaJson = json_encode( $transformerContext->getMeta() );
|
84 |
+
update_metadata( 'post', $postId, Brizy_Editor_Block::BRIZY_META, $metaJson );
|
85 |
+
}
|
86 |
+
}
|
admin/migrations/shortcodes-mobile-one-migration.php
CHANGED
@@ -90,6 +90,11 @@ class Brizy_Admin_Migrations_ShortcodesMobileOneMigration implements Brizy_Admin
|
|
90 |
|
91 |
$instance = Brizy_Editor_Storage_Project::instance( $item->ID );
|
92 |
$storage = $instance->get_storage();
|
|
|
|
|
|
|
|
|
|
|
93 |
$json_value = base64_decode($storage['globals']);
|
94 |
|
95 |
if( !is_null($json_value) ) {
|
90 |
|
91 |
$instance = Brizy_Editor_Storage_Project::instance( $item->ID );
|
92 |
$storage = $instance->get_storage();
|
93 |
+
|
94 |
+
if ( ! isset( $storage['globals'] ) ) {
|
95 |
+
continue;
|
96 |
+
}
|
97 |
+
|
98 |
$json_value = base64_decode($storage['globals']);
|
99 |
|
100 |
if( !is_null($json_value) ) {
|
admin/optimize-images.php
CHANGED
@@ -139,8 +139,24 @@ class Brizy_Admin_OptimizeImages {
|
|
139 |
|
140 |
$content = Brizy_SiteUrlReplacer::restoreSiteUrl( $content );
|
141 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
142 |
$content = apply_filters( 'brizy_content', $content, $project, get_post( $postId ) );
|
143 |
|
|
|
|
|
144 |
return $this->extract_media_urls( $urls, $content, $filesystem );
|
145 |
}
|
146 |
|
@@ -193,6 +209,7 @@ class Brizy_Admin_OptimizeImages {
|
|
193 |
private function get_settings_tab( $context ) {
|
194 |
$settings = Brizy_Editor_Project::get()->getImageOptimizerSettings();
|
195 |
$context['submit_label'] = __( 'Save' );
|
|
|
196 |
$context['settings'] = isset( $settings['shortpixel'] ) ? $settings['shortpixel'] : array(
|
197 |
'API_KEY' => '',
|
198 |
"lossy" => 1
|
@@ -217,7 +234,8 @@ class Brizy_Admin_OptimizeImages {
|
|
217 |
$site_url = str_replace( array( 'http://', 'https://', '/', '.' ), array( '', '', '\/', '\.' ), home_url() );
|
218 |
|
219 |
//preg_match_all( '/' . $site_url . '\/?(\?' . Brizy_Public_CropProxy::ENDPOINT . '=(.[^"\',\s)]*))/im', $content, $matches );
|
220 |
-
|
|
|
221 |
|
222 |
if ( ! isset( $matches[0] ) || count( $matches[0] ) == 0 ) {
|
223 |
return $urls;
|
@@ -226,9 +244,10 @@ class Brizy_Admin_OptimizeImages {
|
|
226 |
$time = time();
|
227 |
$t = null;
|
228 |
$attachmentUids = array();
|
229 |
-
|
|
|
230 |
|
231 |
-
$parsed_url = parse_url( html_entity_decode( $
|
232 |
|
233 |
if ( ! isset( $parsed_url['query'] ) ) {
|
234 |
continue;
|
@@ -236,20 +255,21 @@ class Brizy_Admin_OptimizeImages {
|
|
236 |
|
237 |
parse_str( $parsed_url['query'], $params );
|
238 |
|
239 |
-
if ( ! isset( $params[
|
240 |
continue;
|
241 |
}
|
242 |
|
243 |
-
$mediaUid = $params[
|
244 |
-
|
245 |
-
if ( strpos( $mediaUid, 'wp-' ) !== false ) {
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
|
|
253 |
}
|
254 |
|
255 |
if ( count( $attachmentUids ) === 0 ) {
|
@@ -273,12 +293,13 @@ class Brizy_Admin_OptimizeImages {
|
|
273 |
|
274 |
$attachmentUids = array_map( function ( $o ) use ( $attachmentIds ) {
|
275 |
foreach ( $attachmentIds as $row ) {
|
276 |
-
if ( $row->UID
|
277 |
-
$o['
|
|
|
278 |
}
|
279 |
-
|
280 |
-
return $o;
|
281 |
}
|
|
|
|
|
282 |
}, $attachmentUids );
|
283 |
|
284 |
|
@@ -286,20 +307,17 @@ class Brizy_Admin_OptimizeImages {
|
|
286 |
|
287 |
$parsed_url = $uidRes['parsed_url'];
|
288 |
|
289 |
-
if ( ! isset( $parsed_url['query'] ) || !isset($uidRes['
|
290 |
continue;
|
291 |
}
|
292 |
|
293 |
-
|
294 |
|
295 |
-
if ( ! isset( $params[ Brizy_Public_CropProxy::ENDPOINT ] ) ) {
|
296 |
-
continue;
|
297 |
-
}
|
298 |
|
299 |
-
$media_url = get_attached_file( $uidRes['
|
300 |
$brizy_media = basename( $media_url );
|
301 |
|
302 |
-
$wp_imageFullName = sprintf( "%s/assets/images/%s/optimized/%s", $params['
|
303 |
|
304 |
if ( ! $filesystem->has( $wp_imageFullName ) ) {
|
305 |
$urls[] = $uidRes['url'] . "&brizy_optimize=1&t=" . $time;
|
@@ -351,5 +369,4 @@ class Brizy_Admin_OptimizeImages {
|
|
351 |
return apply_filters( 'brizy_optimizer_tabs', $tabs );
|
352 |
}
|
353 |
|
354 |
-
|
355 |
}
|
139 |
|
140 |
$content = Brizy_SiteUrlReplacer::restoreSiteUrl( $content );
|
141 |
|
142 |
+
$closure = function ( $processors ) {
|
143 |
+
foreach ( $processors as $i => $processor ) {
|
144 |
+
if ( $processor instanceof Brizy_Editor_Asset_MediaAssetProcessor ) {
|
145 |
+
unset( $processors[ $i ] );
|
146 |
+
|
147 |
+
return $processors;
|
148 |
+
}
|
149 |
+
}
|
150 |
+
|
151 |
+
return $processors;
|
152 |
+
};
|
153 |
+
|
154 |
+
add_filter( 'brizy_content_processors', $closure );
|
155 |
+
|
156 |
$content = apply_filters( 'brizy_content', $content, $project, get_post( $postId ) );
|
157 |
|
158 |
+
remove_filter( 'brizy_content_processors', $closure );
|
159 |
+
|
160 |
return $this->extract_media_urls( $urls, $content, $filesystem );
|
161 |
}
|
162 |
|
209 |
private function get_settings_tab( $context ) {
|
210 |
$settings = Brizy_Editor_Project::get()->getImageOptimizerSettings();
|
211 |
$context['submit_label'] = __( 'Save' );
|
212 |
+
$context['shortpixel_link'] = apply_filters('brizy_shortpixel_api_key_link','https://shortpixel.com/otp/af/QDDDRHB707903');
|
213 |
$context['settings'] = isset( $settings['shortpixel'] ) ? $settings['shortpixel'] : array(
|
214 |
'API_KEY' => '',
|
215 |
"lossy" => 1
|
234 |
$site_url = str_replace( array( 'http://', 'https://', '/', '.' ), array( '', '', '\/', '\.' ), home_url() );
|
235 |
|
236 |
//preg_match_all( '/' . $site_url . '\/?(\?' . Brizy_Public_CropProxy::ENDPOINT . '=(.[^"\',\s)]*))/im', $content, $matches );
|
237 |
+
$endpoint = Brizy_Editor::prefix( Brizy_Public_CropProxy::ENDPOINT );
|
238 |
+
preg_match_all( '/(http|https):\/\/' . $site_url . '\/?(\?' . $endpoint . '=(.[^"\',\s)]*))/im', $content, $matches );
|
239 |
|
240 |
if ( ! isset( $matches[0] ) || count( $matches[0] ) == 0 ) {
|
241 |
return $urls;
|
244 |
$time = time();
|
245 |
$t = null;
|
246 |
$attachmentUids = array();
|
247 |
+
$uniqueUrls = array_unique($matches[0]);
|
248 |
+
foreach ( $uniqueUrls as $i => $url ) {
|
249 |
|
250 |
+
$parsed_url = parse_url( html_entity_decode( $url ) );
|
251 |
|
252 |
if ( ! isset( $parsed_url['query'] ) ) {
|
253 |
continue;
|
255 |
|
256 |
parse_str( $parsed_url['query'], $params );
|
257 |
|
258 |
+
if ( ! isset( $params[ $endpoint ] ) ) {
|
259 |
continue;
|
260 |
}
|
261 |
|
262 |
+
$mediaUid = $params[ $endpoint ];
|
263 |
+
|
264 |
+
//if ( strpos( $mediaUid, 'wp-' ) !== false ) {
|
265 |
+
$attachmentUids[] = array(
|
266 |
+
'url' => $url,
|
267 |
+
'parsed_url' => $parsed_url,
|
268 |
+
'parsed_query' => $params,
|
269 |
+
'uid' => $mediaUid,
|
270 |
+
'uidQuery' => "'{$mediaUid}'"
|
271 |
+
);
|
272 |
+
//}
|
273 |
}
|
274 |
|
275 |
if ( count( $attachmentUids ) === 0 ) {
|
293 |
|
294 |
$attachmentUids = array_map( function ( $o ) use ( $attachmentIds ) {
|
295 |
foreach ( $attachmentIds as $row ) {
|
296 |
+
if ( $row->UID == $o['uid'] ) {
|
297 |
+
$o['attachmentID'] = $row->ID;
|
298 |
+
return $o;
|
299 |
}
|
|
|
|
|
300 |
}
|
301 |
+
|
302 |
+
return $o;
|
303 |
}, $attachmentUids );
|
304 |
|
305 |
|
307 |
|
308 |
$parsed_url = $uidRes['parsed_url'];
|
309 |
|
310 |
+
if ( ! isset( $parsed_url['query'] ) || ! isset( $uidRes['attachmentID'] ) ) {
|
311 |
continue;
|
312 |
}
|
313 |
|
314 |
+
$params = $uidRes['parsed_query'];
|
315 |
|
|
|
|
|
|
|
316 |
|
317 |
+
$media_url = get_attached_file( $uidRes['attachmentID'] );
|
318 |
$brizy_media = basename( $media_url );
|
319 |
|
320 |
+
$wp_imageFullName = sprintf( "%s/assets/images/%s/optimized/%s", $params[ Brizy_Editor::prefix( '_post' ) ], $params[ Brizy_Editor::prefix( '_crop' ) ], $brizy_media );
|
321 |
|
322 |
if ( ! $filesystem->has( $wp_imageFullName ) ) {
|
323 |
$urls[] = $uidRes['url'] . "&brizy_optimize=1&t=" . $time;
|
369 |
return apply_filters( 'brizy_optimizer_tabs', $tabs );
|
370 |
}
|
371 |
|
|
|
372 |
}
|
admin/popups/main.php
CHANGED
@@ -26,6 +26,7 @@ class Brizy_Admin_Popups_Main {
|
|
26 |
}
|
27 |
|
28 |
public function initialize() {
|
|
|
29 |
add_filter( 'brizy_content', array( $this, 'insertPopupsHtml' ), - 999999, 4 );
|
30 |
add_action( 'brizy_after_enabled_for_post', array( $this, 'afterBrizyEnabledForPopup' ) );
|
31 |
|
@@ -38,14 +39,6 @@ class Brizy_Admin_Popups_Main {
|
|
38 |
remove_meta_box( 'pageparentdiv', self::CP_POPUP, 'side' );
|
39 |
}
|
40 |
|
41 |
-
static public function registerSupportedPostType() {
|
42 |
-
add_filter( 'brizy_supported_post_types', function ( $posts ) {
|
43 |
-
$posts[] = self::CP_POPUP;
|
44 |
-
|
45 |
-
return $posts;
|
46 |
-
} );
|
47 |
-
}
|
48 |
-
|
49 |
static public function registerCustomPosts() {
|
50 |
|
51 |
$labels = array(
|
@@ -72,7 +65,7 @@ class Brizy_Admin_Popups_Main {
|
|
72 |
'public' => false,
|
73 |
'has_archive' => false,
|
74 |
'description' => __( 'Popups', 'brizy' ),
|
75 |
-
'publicly_queryable' =>
|
76 |
'show_ui' => defined( 'BRIZY_PRO_VERSION' ),
|
77 |
'show_in_menu' => Brizy_Admin_Settings::menu_slug(),
|
78 |
'query_var' => false,
|
@@ -87,6 +80,12 @@ class Brizy_Admin_Popups_Main {
|
|
87 |
);
|
88 |
|
89 |
remove_post_type_support( self::CP_POPUP, 'page-attributes' );
|
|
|
|
|
|
|
|
|
|
|
|
|
90 |
}
|
91 |
|
92 |
/**
|
@@ -109,10 +108,11 @@ class Brizy_Admin_Popups_Main {
|
|
109 |
* @param $content
|
110 |
* @param $project
|
111 |
* @param $wpPost
|
112 |
-
* @param $context
|
113 |
*
|
114 |
-
* @return
|
115 |
* @throws Brizy_Editor_Exceptions_NotFound
|
|
|
116 |
*/
|
117 |
public function insertPopupsHtml( $content, $project, $wpPost, $context = 'document' ) {
|
118 |
$popups = $this->getMatchingBrizyPopups();
|
@@ -214,6 +214,5 @@ class Brizy_Admin_Popups_Main {
|
|
214 |
|
215 |
return $resultPopups;
|
216 |
}
|
|
|
217 |
|
218 |
-
|
219 |
-
}
|
26 |
}
|
27 |
|
28 |
public function initialize() {
|
29 |
+
|
30 |
add_filter( 'brizy_content', array( $this, 'insertPopupsHtml' ), - 999999, 4 );
|
31 |
add_action( 'brizy_after_enabled_for_post', array( $this, 'afterBrizyEnabledForPopup' ) );
|
32 |
|
39 |
remove_meta_box( 'pageparentdiv', self::CP_POPUP, 'side' );
|
40 |
}
|
41 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
static public function registerCustomPosts() {
|
43 |
|
44 |
$labels = array(
|
65 |
'public' => false,
|
66 |
'has_archive' => false,
|
67 |
'description' => __( 'Popups', 'brizy' ),
|
68 |
+
'publicly_queryable' => Brizy_Editor_User::is_user_allowed(),
|
69 |
'show_ui' => defined( 'BRIZY_PRO_VERSION' ),
|
70 |
'show_in_menu' => Brizy_Admin_Settings::menu_slug(),
|
71 |
'query_var' => false,
|
80 |
);
|
81 |
|
82 |
remove_post_type_support( self::CP_POPUP, 'page-attributes' );
|
83 |
+
|
84 |
+
|
85 |
+
add_filter( 'brizy_supported_post_types', function ( $posts ) {
|
86 |
+
$posts[] = self::CP_POPUP;
|
87 |
+
return $posts;
|
88 |
+
} );
|
89 |
}
|
90 |
|
91 |
/**
|
108 |
* @param $content
|
109 |
* @param $project
|
110 |
* @param $wpPost
|
111 |
+
* @param string $context
|
112 |
*
|
113 |
+
* @return string|string[]|null
|
114 |
* @throws Brizy_Editor_Exceptions_NotFound
|
115 |
+
* @throws Brizy_Editor_Exceptions_ServiceUnavailable
|
116 |
*/
|
117 |
public function insertPopupsHtml( $content, $project, $wpPost, $context = 'document' ) {
|
118 |
$popups = $this->getMatchingBrizyPopups();
|
214 |
|
215 |
return $resultPopups;
|
216 |
}
|
217 |
+
}
|
218 |
|
|
|
|
admin/post/brizy-posts-monitor.php
CHANGED
@@ -11,6 +11,7 @@ class Brizy_Admin_Post_BrizyPostsMonitor extends Brizy_Admin_Post_AbstractMonito
|
|
11 |
'brizy-post-compiler-version',
|
12 |
'brizy-post-editor-version',
|
13 |
'brizy_post_uid',
|
|
|
14 |
'brizy_data_version'
|
15 |
) );
|
16 |
}
|
11 |
'brizy-post-compiler-version',
|
12 |
'brizy-post-editor-version',
|
13 |
'brizy_post_uid',
|
14 |
+
'brizy-rules',
|
15 |
'brizy_data_version'
|
16 |
) );
|
17 |
}
|
admin/post/revision-manager.php
CHANGED
@@ -16,8 +16,14 @@ class Brizy_Admin_Post_RevisionManager {
|
|
16 |
* Brizy_Admin_Post_RevisionManager constructor.
|
17 |
*/
|
18 |
public function __construct() {
|
19 |
-
|
20 |
add_action( 'wp_restore_post_revision', array( $this, 'restorePostRevisionMeta' ), 11, 2 );
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
}
|
22 |
|
23 |
/**
|
@@ -69,7 +75,7 @@ class Brizy_Admin_Post_RevisionManager {
|
|
69 |
* @param $postId
|
70 |
* @param $post
|
71 |
*/
|
72 |
-
public function savePost( $postId, $post ) {
|
73 |
$postParentId = wp_is_post_revision( $postId );
|
74 |
$postType = get_post_type( $post->post_parent );
|
75 |
|
@@ -110,7 +116,7 @@ class Brizy_Admin_Post_RevisionManager {
|
|
110 |
$meta_keys_params = rtrim( str_repeat( '%s,', $meta_key_count ), ',' );
|
111 |
$params = array( (int) $revision, (int) $post );
|
112 |
|
113 |
-
$this->cleanMetaData($post
|
114 |
|
115 |
$query = "INSERT INTO {$tablePostMeta} (post_Id, meta_key, meta_value)
|
116 |
SELECT %d, meta_key, meta_value
|
@@ -129,12 +135,12 @@ class Brizy_Admin_Post_RevisionManager {
|
|
129 |
|
130 |
private function cleanMetaData( $post, $revision, $monitor ) {
|
131 |
global $wpdb;
|
132 |
-
$params
|
133 |
$meta_key_count = count( $monitor->getPostMetaKeys() );
|
134 |
$meta_keys_params = rtrim( str_repeat( '%s,', $meta_key_count ), ',' );
|
135 |
-
$tablePostMeta
|
136 |
-
$query
|
137 |
-
$params
|
138 |
$wpdb->query( $wpdb->prepare( $query, $params ) );
|
139 |
}
|
140 |
|
@@ -153,8 +159,6 @@ class Brizy_Admin_Post_RevisionManager {
|
|
153 |
|
154 |
$wpdb->query( "START TRANSACTION" );
|
155 |
|
156 |
-
$this->cleanMetakeys( $post, $monitor );
|
157 |
-
|
158 |
$revisionMetaValues = $this->getRevisionMetaValues( $revision, $monitor );
|
159 |
|
160 |
if ( $revisionMetaValues === false ) {
|
@@ -163,14 +167,22 @@ class Brizy_Admin_Post_RevisionManager {
|
|
163 |
|
164 |
foreach ( $revisionMetaValues as $meta ) {
|
165 |
|
166 |
-
$
|
167 |
-
$
|
168 |
-
$res = $wpdb->query( $wpdb->prepare( "REPLACE INTO {$tablePostMeta} VALUES (%d,%d,%s,%s)", $existingMetaId, $post, $meta->meta_key, $meta->meta_value ) );
|
169 |
|
170 |
if ( $res === false ) {
|
171 |
throw new Exception();
|
172 |
}
|
173 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
174 |
$wpdb->query( 'COMMIT' );
|
175 |
} catch ( Exception $e ) {
|
176 |
$wpdb->query( 'ROLLBACK' );
|
16 |
* Brizy_Admin_Post_RevisionManager constructor.
|
17 |
*/
|
18 |
public function __construct() {
|
19 |
+
|
20 |
add_action( 'wp_restore_post_revision', array( $this, 'restorePostRevisionMeta' ), 11, 2 );
|
21 |
+
|
22 |
+
if ( ! defined( 'WP_POST_REVISIONS' ) || ( defined( 'WP_POST_REVISIONS' ) && WP_POST_REVISIONS !== false ) ) {
|
23 |
+
add_action( 'save_post', array( $this, 'savePost' ), 11, 2 );
|
24 |
+
}
|
25 |
+
|
26 |
+
|
27 |
}
|
28 |
|
29 |
/**
|
75 |
* @param $postId
|
76 |
* @param $post
|
77 |
*/
|
78 |
+
public function savePost( $postId, $post, $update = false ) {
|
79 |
$postParentId = wp_is_post_revision( $postId );
|
80 |
$postType = get_post_type( $post->post_parent );
|
81 |
|
116 |
$meta_keys_params = rtrim( str_repeat( '%s,', $meta_key_count ), ',' );
|
117 |
$params = array( (int) $revision, (int) $post );
|
118 |
|
119 |
+
$this->cleanMetaData( $post, $revision, $monitor );
|
120 |
|
121 |
$query = "INSERT INTO {$tablePostMeta} (post_Id, meta_key, meta_value)
|
122 |
SELECT %d, meta_key, meta_value
|
135 |
|
136 |
private function cleanMetaData( $post, $revision, $monitor ) {
|
137 |
global $wpdb;
|
138 |
+
$params = array( (int) $revision );
|
139 |
$meta_key_count = count( $monitor->getPostMetaKeys() );
|
140 |
$meta_keys_params = rtrim( str_repeat( '%s,', $meta_key_count ), ',' );
|
141 |
+
$tablePostMeta = "{$wpdb->prefix}postmeta";
|
142 |
+
$query = "DELETE FROM {$tablePostMeta} WHERE post_id=%d and meta_key IN ({$meta_keys_params})";
|
143 |
+
$params = array_merge( $params, $monitor->getPostMetaKeys() );
|
144 |
$wpdb->query( $wpdb->prepare( $query, $params ) );
|
145 |
}
|
146 |
|
159 |
|
160 |
$wpdb->query( "START TRANSACTION" );
|
161 |
|
|
|
|
|
162 |
$revisionMetaValues = $this->getRevisionMetaValues( $revision, $monitor );
|
163 |
|
164 |
if ( $revisionMetaValues === false ) {
|
167 |
|
168 |
foreach ( $revisionMetaValues as $meta ) {
|
169 |
|
170 |
+
$wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->prefix}postmeta WHERE post_id=%d and meta_key=%s", $post, $meta->meta_key ) );
|
171 |
+
$res = $wpdb->query( $wpdb->prepare( "INSERT INTO {$tablePostMeta} (post_id,meta_key,meta_value) VALUES (%d,%s,%s)", $post, $meta->meta_key, $meta->meta_value ) );
|
|
|
172 |
|
173 |
if ( $res === false ) {
|
174 |
throw new Exception();
|
175 |
}
|
176 |
}
|
177 |
+
|
178 |
+
Brizy_Editor_Post::cleanClassCache();
|
179 |
+
$brizyPost = Brizy_Editor_Post::get( $post );
|
180 |
+
|
181 |
+
if ( $brizyPost->uses_editor() ) {
|
182 |
+
$brizyPost->set_needs_compile( true );
|
183 |
+
$brizyPost->saveStorage();
|
184 |
+
}
|
185 |
+
|
186 |
$wpdb->query( 'COMMIT' );
|
187 |
} catch ( Exception $e ) {
|
188 |
$wpdb->query( 'ROLLBACK' );
|
admin/rule.php
CHANGED
@@ -10,34 +10,37 @@ class Brizy_Admin_Rule extends Brizy_Admin_Serializable implements Brizy_Admin_R
|
|
10 |
const ARCHIVE = 4;
|
11 |
const TEMPLATE = 8;
|
12 |
const BRIZY_TEMPLATE = 16;
|
13 |
-
const
|
|
|
|
|
|
|
14 |
|
15 |
/**
|
16 |
* @var int
|
17 |
*/
|
18 |
-
|
19 |
|
20 |
/**
|
21 |
* @var int
|
22 |
*/
|
23 |
-
|
24 |
|
25 |
/**
|
26 |
* @var int
|
27 |
*/
|
28 |
-
|
29 |
|
30 |
/**
|
31 |
* @var string
|
32 |
*/
|
33 |
-
|
34 |
|
35 |
/**
|
36 |
* If null the rule will be applied on all entities
|
37 |
*
|
38 |
* @var int[]
|
39 |
*/
|
40 |
-
|
41 |
|
42 |
/**
|
43 |
* @return array|mixed
|
@@ -98,9 +101,9 @@ class Brizy_Admin_Rule extends Brizy_Admin_Serializable implements Brizy_Admin_R
|
|
98 |
$entityValues,
|
99 |
);
|
100 |
|
101 |
-
// exception for home page that has two behaviors.. as page and as a template
|
102 |
$entity_values = $this->getEntityValues();
|
103 |
|
|
|
104 |
if ( $applyFor == self::TEMPLATE &&
|
105 |
$entityType == 'front_page' &&
|
106 |
$this->getAppliedFor() == self::POSTS &&
|
@@ -111,15 +114,40 @@ class Brizy_Admin_Rule extends Brizy_Admin_Serializable implements Brizy_Admin_R
|
|
111 |
}
|
112 |
|
113 |
// check if post is in a term
|
114 |
-
if ( $
|
115 |
-
$this->getAppliedFor() == self::POSTS &&
|
116 |
-
isset( $entity_values[0] ) && is_array($values = explode( '|', $entity_values[0] )) && count( $values ) > 1
|
117 |
-
) {
|
118 |
|
119 |
-
//
|
120 |
-
|
121 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
122 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
123 |
|
124 |
foreach ( $ruleValues as $i => $value ) {
|
125 |
|
@@ -135,7 +163,6 @@ class Brizy_Admin_Rule extends Brizy_Admin_Serializable implements Brizy_Admin_R
|
|
135 |
}
|
136 |
|
137 |
} else {
|
138 |
-
|
139 |
if ( $ruleValues[ $i ] != $checkValues[ $i ] ) {
|
140 |
return false;
|
141 |
}
|
@@ -154,7 +181,8 @@ class Brizy_Admin_Rule extends Brizy_Admin_Serializable implements Brizy_Admin_R
|
|
154 |
return $this->getType() == $rule->getType() &&
|
155 |
$this->getAppliedFor() == $rule->getAppliedFor() &&
|
156 |
$this->getEntityType() == $rule->getEntityType() &&
|
157 |
-
( count( $rule->getEntityValues() ) == count( $this->getEntityValues() ) &&
|
|
|
158 |
}
|
159 |
|
160 |
/**
|
@@ -369,6 +397,13 @@ class Brizy_Admin_Rule extends Brizy_Admin_Serializable implements Brizy_Admin_R
|
|
369 |
);
|
370 |
}
|
371 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
372 |
|
373 |
/**
|
374 |
* @param string $delimited
|
@@ -383,6 +418,6 @@ class Brizy_Admin_Rule extends Brizy_Admin_Serializable implements Brizy_Admin_R
|
|
383 |
* @return string
|
384 |
*/
|
385 |
private function generateId() {
|
386 |
-
return md5( implode( '', func_get_args() ) . time() );
|
387 |
}
|
388 |
-
}
|
10 |
const ARCHIVE = 4;
|
11 |
const TEMPLATE = 8;
|
12 |
const BRIZY_TEMPLATE = 16;
|
13 |
+
const POSTS_FROM_TAXONOMY = 32;
|
14 |
+
const POSTS_FROM_CHILD_TAXONOMY = 64;
|
15 |
+
|
16 |
+
const ANY_CHILD_TAXONOMY = 128;
|
17 |
|
18 |
/**
|
19 |
* @var int
|
20 |
*/
|
21 |
+
protected $id;
|
22 |
|
23 |
/**
|
24 |
* @var int
|
25 |
*/
|
26 |
+
protected $type;
|
27 |
|
28 |
/**
|
29 |
* @var int
|
30 |
*/
|
31 |
+
protected $appliedFor;
|
32 |
|
33 |
/**
|
34 |
* @var string
|
35 |
*/
|
36 |
+
protected $entityType;
|
37 |
|
38 |
/**
|
39 |
* If null the rule will be applied on all entities
|
40 |
*
|
41 |
* @var int[]
|
42 |
*/
|
43 |
+
protected $entityValues = array();
|
44 |
|
45 |
/**
|
46 |
* @return array|mixed
|
101 |
$entityValues,
|
102 |
);
|
103 |
|
|
|
104 |
$entity_values = $this->getEntityValues();
|
105 |
|
106 |
+
// exception for home page that has two behaviors.. as page and as a template
|
107 |
if ( $applyFor == self::TEMPLATE &&
|
108 |
$entityType == 'front_page' &&
|
109 |
$this->getAppliedFor() == self::POSTS &&
|
114 |
}
|
115 |
|
116 |
// check if post is in a term
|
117 |
+
if ( isset($entity_values[0]) && ( $values = explode( '|', $entity_values[0] ) ) && count( $values ) == 3 ) {
|
|
|
|
|
|
|
118 |
|
119 |
+
// POSTS
|
120 |
+
if ( $applyFor == self::POSTS && $this->getAppliedFor() == self::POSTS && $values[0] === 'in' ) {
|
121 |
+
// check if the post is in taxonomy with name $values[0] and with id $values[1]
|
122 |
+
return has_term( $values[2], $values[1], $entityValues[0] );
|
123 |
+
}
|
124 |
+
|
125 |
+
// check if post is in a term
|
126 |
+
if ( $applyFor == self::POSTS && $this->getAppliedFor() == self::POSTS && $values[0] === 'child' ) {
|
127 |
+
// check if the post is in taxonomy with name $values[0] and with id $values[1]
|
128 |
+
$tax = get_term_children( $values[2], $values[1] );
|
129 |
+
|
130 |
+
foreach ( $tax as $t ) {
|
131 |
+
if ( has_term( $t, $values[1], $entityValues[0] ) ) {
|
132 |
+
return true;
|
133 |
+
}
|
134 |
+
}
|
135 |
+
|
136 |
+
return false;
|
137 |
+
}
|
138 |
|
139 |
+
// TAXONOMY
|
140 |
+
if ( $applyFor == self::TAXONOMY && $this->getAppliedFor() == self::TAXONOMY && $values[0] === 'in' ) {
|
141 |
+
return $entityValues[0] == $values[2];
|
142 |
+
}
|
143 |
+
|
144 |
+
// check if terms is child of a term
|
145 |
+
if ( $applyFor == self::TAXONOMY && $this->getAppliedFor() == self::TAXONOMY && $values[0] === 'child' ) {
|
146 |
+
$tax = get_term_children( $values[2], $values[1] );
|
147 |
+
|
148 |
+
return in_array( $entityValues[0], $tax );
|
149 |
+
}
|
150 |
+
}
|
151 |
|
152 |
foreach ( $ruleValues as $i => $value ) {
|
153 |
|
163 |
}
|
164 |
|
165 |
} else {
|
|
|
166 |
if ( $ruleValues[ $i ] != $checkValues[ $i ] ) {
|
167 |
return false;
|
168 |
}
|
181 |
return $this->getType() == $rule->getType() &&
|
182 |
$this->getAppliedFor() == $rule->getAppliedFor() &&
|
183 |
$this->getEntityType() == $rule->getEntityType() &&
|
184 |
+
( count( $rule->getEntityValues() ) == count( $this->getEntityValues() ) &&
|
185 |
+
count( array_diff( $rule->getEntityValues(), $this->getEntityValues() ) ) == 0 );
|
186 |
}
|
187 |
|
188 |
/**
|
397 |
);
|
398 |
}
|
399 |
|
400 |
+
/**
|
401 |
+
* @return string
|
402 |
+
*/
|
403 |
+
public function serialize() {
|
404 |
+
return serialize( $this->convertToOptionValue() );
|
405 |
+
}
|
406 |
+
|
407 |
|
408 |
/**
|
409 |
* @param string $delimited
|
418 |
* @return string
|
419 |
*/
|
420 |
private function generateId() {
|
421 |
+
return md5( implode( '', func_get_args() ) . rand( 1, time() ) );
|
422 |
}
|
423 |
+
}
|
admin/rules/api.php
CHANGED
@@ -4,11 +4,17 @@
|
|
4 |
class Brizy_Admin_Rules_Api extends Brizy_Admin_AbstractApi {
|
5 |
|
6 |
const nonce = Brizy_Editor_API::nonce;
|
7 |
-
const CREATE_RULES_ACTION = '
|
8 |
-
const CREATE_RULE_ACTION = '
|
9 |
-
const UPDATE_RULES_ACTION = '
|
10 |
-
const DELETE_RULE_ACTION = '
|
11 |
-
const LIST_RULE_ACTION = '
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
/**
|
13 |
* @var Brizy_Admin_Rules_Manager
|
14 |
*/
|
@@ -44,11 +50,17 @@ class Brizy_Admin_Rules_Api extends Brizy_Admin_AbstractApi {
|
|
44 |
}
|
45 |
|
46 |
protected function initializeApiActions() {
|
47 |
-
|
48 |
-
|
49 |
-
add_action(
|
50 |
-
add_action(
|
51 |
-
add_action(
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
}
|
53 |
|
54 |
/**
|
@@ -76,6 +88,37 @@ class Brizy_Admin_Rules_Api extends Brizy_Admin_AbstractApi {
|
|
76 |
return null;
|
77 |
}
|
78 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
public function actionCreateRule() {
|
80 |
|
81 |
$this->verifyNonce( self::nonce );
|
@@ -90,7 +133,7 @@ class Brizy_Admin_Rules_Api extends Brizy_Admin_AbstractApi {
|
|
90 |
$this->error( 400, "Validation" . 'Invalid post' );
|
91 |
}
|
92 |
|
93 |
-
if ( ! $dataVersion && $ignoreDataVersion===0 ) {
|
94 |
$this->error( 400, "Validation" . 'Invalid data version' );
|
95 |
}
|
96 |
|
@@ -112,7 +155,7 @@ class Brizy_Admin_Rules_Api extends Brizy_Admin_AbstractApi {
|
|
112 |
|
113 |
$ruleValidator->validateRuleForPostId( $rule, $postId );
|
114 |
|
115 |
-
if (
|
116 |
$post = Brizy_Editor_Entity::get( $postId );
|
117 |
$post->setDataVersion( $dataVersion );
|
118 |
$post->save( 0 );
|
@@ -143,7 +186,7 @@ class Brizy_Admin_Rules_Api extends Brizy_Admin_AbstractApi {
|
|
143 |
$this->error( 400, 'Invalid post' );
|
144 |
}
|
145 |
|
146 |
-
if ( ! $dataVersion && $ignoreDataVersion===0) {
|
147 |
$this->error( 400, "Validation" . 'Invalid data version' );
|
148 |
}
|
149 |
|
@@ -151,6 +194,11 @@ class Brizy_Admin_Rules_Api extends Brizy_Admin_AbstractApi {
|
|
151 |
|
152 |
try {
|
153 |
$rules = $this->manager->createRulesFromJson( $rulesData, $postType );
|
|
|
|
|
|
|
|
|
|
|
154 |
} catch ( Exception $e ) {
|
155 |
$this->error( 400, $e->getMessage() );
|
156 |
}
|
@@ -165,7 +213,7 @@ class Brizy_Admin_Rules_Api extends Brizy_Admin_AbstractApi {
|
|
165 |
try {
|
166 |
$validator->validateRulesForPostId( $rules, $postId );
|
167 |
|
168 |
-
if (
|
169 |
$post = Brizy_Editor_Entity::get( $postId );
|
170 |
$post->setDataVersion( $dataVersion );
|
171 |
$post->save( 0 );
|
@@ -198,11 +246,14 @@ class Brizy_Admin_Rules_Api extends Brizy_Admin_AbstractApi {
|
|
198 |
$dataVersion = (int) $this->param( 'dataVersion' );
|
199 |
$postType = get_post_type( $postId );
|
200 |
|
201 |
-
if ( ! $postId
|
|
|
|
|
|
|
202 |
wp_send_json_error( (object) array( 'message' => 'Invalid template' ), 400 );
|
203 |
}
|
204 |
|
205 |
-
if ( ! $dataVersion && $ignoreDataVersion===0) {
|
206 |
$this->error( 400, "Validation" . 'Invalid data version' );
|
207 |
}
|
208 |
|
@@ -210,18 +261,23 @@ class Brizy_Admin_Rules_Api extends Brizy_Admin_AbstractApi {
|
|
210 |
|
211 |
try {
|
212 |
$rules = $this->manager->createRulesFromJson( $rulesData, $postType );
|
|
|
|
|
|
|
|
|
|
|
213 |
} catch ( Exception $e ) {
|
214 |
Brizy_Logger::instance()->error( $e->getMessage(), [ $e ] );
|
215 |
$this->error( 400, $e->getMessage() );
|
216 |
}
|
217 |
|
218 |
-
$validator = Brizy_Admin_Rules_ValidatorFactory::getValidator( $postId );
|
219 |
-
if ( ! $validator ) {
|
220 |
-
$this->error( 400, 'Unable to get the rule validator for this post type' );
|
221 |
-
}
|
222 |
|
223 |
try {
|
224 |
-
if (
|
225 |
$post = Brizy_Editor_Entity::get( $postId );
|
226 |
$post->setDataVersion( $dataVersion );
|
227 |
$post->save( 0 );
|
@@ -252,13 +308,13 @@ class Brizy_Admin_Rules_Api extends Brizy_Admin_AbstractApi {
|
|
252 |
$this->error( 400, 'Invalid request' );
|
253 |
}
|
254 |
|
255 |
-
if ( ! $dataVersion && $ignoreDataVersion===0 ) {
|
256 |
$this->error( 400, "Validation" . 'Invalid data version' );
|
257 |
}
|
258 |
|
259 |
try {
|
260 |
|
261 |
-
if (
|
262 |
$post = Brizy_Editor_Entity::get( $postId );
|
263 |
$post->setDataVersion( $dataVersion );
|
264 |
$post->save( 0 );
|
@@ -273,4 +329,343 @@ class Brizy_Admin_Rules_Api extends Brizy_Admin_AbstractApi {
|
|
273 |
|
274 |
$this->success( null );
|
275 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
276 |
}
|
4 |
class Brizy_Admin_Rules_Api extends Brizy_Admin_AbstractApi {
|
5 |
|
6 |
const nonce = Brizy_Editor_API::nonce;
|
7 |
+
const CREATE_RULES_ACTION = '_add_rules';
|
8 |
+
const CREATE_RULE_ACTION = '_add_rule';
|
9 |
+
const UPDATE_RULES_ACTION = '_update_rules';
|
10 |
+
const DELETE_RULE_ACTION = '_delete_rule';
|
11 |
+
const LIST_RULE_ACTION = '_list_rules';
|
12 |
+
const VALIDATE_RULE = '_validate_rule';
|
13 |
+
const RULE_GROUP_LIST = '_rule_group_list';
|
14 |
+
const RULE_POSTS_GROUP_LIST = '_rule_posts_group_list';
|
15 |
+
const RULE_ARCHIVE_GROUP_LIST = '_rule_archive_group_list';
|
16 |
+
|
17 |
+
|
18 |
/**
|
19 |
* @var Brizy_Admin_Rules_Manager
|
20 |
*/
|
50 |
}
|
51 |
|
52 |
protected function initializeApiActions() {
|
53 |
+
$pref = 'wp_ajax_' . Brizy_Editor::prefix();
|
54 |
+
|
55 |
+
add_action( $pref . self::CREATE_RULE_ACTION, array( $this, 'actionCreateRule' ) );
|
56 |
+
add_action( $pref . self::CREATE_RULES_ACTION, array( $this, 'actionCreateRules' ) );
|
57 |
+
add_action( $pref . self::UPDATE_RULES_ACTION, array( $this, 'actionUpdateRules' ) );
|
58 |
+
add_action( $pref . self::DELETE_RULE_ACTION, array( $this, 'actionDeleteRule' ) );
|
59 |
+
add_action( $pref . self::LIST_RULE_ACTION, array( $this, 'actionGetRuleList' ) );
|
60 |
+
add_action( $pref . self::VALIDATE_RULE, array( $this, 'actionValidateRule' ) );
|
61 |
+
add_action( $pref . self::RULE_GROUP_LIST, array( $this, 'getGroupList' ) );
|
62 |
+
add_action( $pref . self::RULE_POSTS_GROUP_LIST, array( $this, 'getPostsGroupsList' ) );
|
63 |
+
add_action( $pref . self::RULE_ARCHIVE_GROUP_LIST, array( $this, 'getArchiveGroupsList' ) );
|
64 |
}
|
65 |
|
66 |
/**
|
88 |
return null;
|
89 |
}
|
90 |
|
91 |
+
public function actionValidateRule() {
|
92 |
+
$this->verifyNonce( self::nonce );
|
93 |
+
|
94 |
+
$postId = (int) $this->param( 'post' );
|
95 |
+
|
96 |
+
$postType = get_post_type( $postId );
|
97 |
+
|
98 |
+
if ( ! $postId ) {
|
99 |
+
$this->error( 400, "Validation" . 'Invalid post' );
|
100 |
+
}
|
101 |
+
|
102 |
+
$ruleData = file_get_contents( "php://input" );
|
103 |
+
|
104 |
+
try {
|
105 |
+
$rule = $this->manager->createRuleFromJson( $ruleData, $postType );
|
106 |
+
$ruleValidator = Brizy_Admin_Rules_ValidatorFactory::getValidator( $postId );
|
107 |
+
|
108 |
+
if ( ! $ruleValidator ) {
|
109 |
+
$this->error( 400, 'Unable to get the rule validator for this post type' );
|
110 |
+
}
|
111 |
+
|
112 |
+
$ruleValidator->validateRuleForPostId( $rule, $postId );
|
113 |
+
|
114 |
+
wp_send_json_success( $rule, 200 );
|
115 |
+
} catch ( Brizy_Admin_Rules_ValidationException $e ) {
|
116 |
+
wp_send_json_error( array( 'message' => $e->getMessage(), 'rule' => $e->getRuleId() ), 400 );
|
117 |
+
} catch ( Exception $e ) {
|
118 |
+
$this->error( 400, "Validation" . $e->getMessage() );
|
119 |
+
}
|
120 |
+
}
|
121 |
+
|
122 |
public function actionCreateRule() {
|
123 |
|
124 |
$this->verifyNonce( self::nonce );
|
133 |
$this->error( 400, "Validation" . 'Invalid post' );
|
134 |
}
|
135 |
|
136 |
+
if ( ! $dataVersion && $ignoreDataVersion === 0 ) {
|
137 |
$this->error( 400, "Validation" . 'Invalid data version' );
|
138 |
}
|
139 |
|
155 |
|
156 |
$ruleValidator->validateRuleForPostId( $rule, $postId );
|
157 |
|
158 |
+
if ( ! $ignoreDataVersion ) {
|
159 |
$post = Brizy_Editor_Entity::get( $postId );
|
160 |
$post->setDataVersion( $dataVersion );
|
161 |
$post->save( 0 );
|
186 |
$this->error( 400, 'Invalid post' );
|
187 |
}
|
188 |
|
189 |
+
if ( ! $dataVersion && $ignoreDataVersion === 0 ) {
|
190 |
$this->error( 400, "Validation" . 'Invalid data version' );
|
191 |
}
|
192 |
|
194 |
|
195 |
try {
|
196 |
$rules = $this->manager->createRulesFromJson( $rulesData, $postType );
|
197 |
+
|
198 |
+
if ( count( $rules ) == 0 ) {
|
199 |
+
$this->error( 400, "No rules found." );
|
200 |
+
}
|
201 |
+
|
202 |
} catch ( Exception $e ) {
|
203 |
$this->error( 400, $e->getMessage() );
|
204 |
}
|
213 |
try {
|
214 |
$validator->validateRulesForPostId( $rules, $postId );
|
215 |
|
216 |
+
if ( ! $ignoreDataVersion ) {
|
217 |
$post = Brizy_Editor_Entity::get( $postId );
|
218 |
$post->setDataVersion( $dataVersion );
|
219 |
$post->save( 0 );
|
246 |
$dataVersion = (int) $this->param( 'dataVersion' );
|
247 |
$postType = get_post_type( $postId );
|
248 |
|
249 |
+
if ( ! $postId || ! in_array( $postType, [
|
250 |
+
Brizy_Admin_Templates::CP_TEMPLATE,
|
251 |
+
Brizy_Admin_Popups_Main::CP_POPUP
|
252 |
+
] ) ) {
|
253 |
wp_send_json_error( (object) array( 'message' => 'Invalid template' ), 400 );
|
254 |
}
|
255 |
|
256 |
+
if ( ! $dataVersion && $ignoreDataVersion === 0 ) {
|
257 |
$this->error( 400, "Validation" . 'Invalid data version' );
|
258 |
}
|
259 |
|
261 |
|
262 |
try {
|
263 |
$rules = $this->manager->createRulesFromJson( $rulesData, $postType );
|
264 |
+
|
265 |
+
if ( count( $rules ) == 0 ) {
|
266 |
+
$this->error( 400, "No rules found." );
|
267 |
+
}
|
268 |
+
|
269 |
} catch ( Exception $e ) {
|
270 |
Brizy_Logger::instance()->error( $e->getMessage(), [ $e ] );
|
271 |
$this->error( 400, $e->getMessage() );
|
272 |
}
|
273 |
|
274 |
+
// $validator = Brizy_Admin_Rules_ValidatorFactory::getValidator( $postId );
|
275 |
+
// if ( ! $validator ) {
|
276 |
+
// $this->error( 400, 'Unable to get the rule validator for this post type' );
|
277 |
+
// }
|
278 |
|
279 |
try {
|
280 |
+
if ( ! $ignoreDataVersion ) {
|
281 |
$post = Brizy_Editor_Entity::get( $postId );
|
282 |
$post->setDataVersion( $dataVersion );
|
283 |
$post->save( 0 );
|
308 |
$this->error( 400, 'Invalid request' );
|
309 |
}
|
310 |
|
311 |
+
if ( ! $dataVersion && $ignoreDataVersion === 0 ) {
|
312 |
$this->error( 400, "Validation" . 'Invalid data version' );
|
313 |
}
|
314 |
|
315 |
try {
|
316 |
|
317 |
+
if ( ! $ignoreDataVersion ) {
|
318 |
$post = Brizy_Editor_Entity::get( $postId );
|
319 |
$post->setDataVersion( $dataVersion );
|
320 |
$post->save( 0 );
|
329 |
|
330 |
$this->success( null );
|
331 |
}
|
332 |
+
|
333 |
+
public function getGroupList() {
|
334 |
+
|
335 |
+
$context = $this->param( 'context' );
|
336 |
+
$templateType = $this->param( 'templateType' );
|
337 |
+
|
338 |
+
$closure = function ( $v ) {
|
339 |
+
return array(
|
340 |
+
'title' => $v->label,
|
341 |
+
'value' => $v->name,
|
342 |
+
'groupValue' => $v->groupValue
|
343 |
+
);
|
344 |
+
};
|
345 |
+
|
346 |
+
$groups = [];
|
347 |
+
|
348 |
+
if ( $templateType == 'single' || $templateType == 'single_product' || $context == 'popup-rules' ) {
|
349 |
+
$groups[] = array(
|
350 |
+
'title' => 'Pages',
|
351 |
+
'value' => Brizy_Admin_Rule::POSTS,
|
352 |
+
'items' => array_map( $closure, $this->getCustomPostsList( Brizy_Admin_Rule::POSTS, $templateType ) )
|
353 |
+
);
|
354 |
+
}
|
355 |
+
|
356 |
+
if ( $templateType == 'archive' || $templateType == 'product_archive' || $context == 'popup-rules' ) {
|
357 |
+
$archiveItems = array_map( $closure, $this->getArchivesList( Brizy_Admin_Rule::ARCHIVE, $templateType ) );
|
358 |
+
$taxonomyItems = array_map( $closure, $this->getTaxonomyList( Brizy_Admin_Rule::TAXONOMY, $templateType ) );
|
359 |
+
$groups[] =
|
360 |
+
count( $taxonomyItems ) ? array(
|
361 |
+
'title' => 'Categories',
|
362 |
+
'value' => Brizy_Admin_Rule::TAXONOMY,
|
363 |
+
'items' => $taxonomyItems
|
364 |
+
) : null;
|
365 |
+
$groups[] =
|
366 |
+
count( $archiveItems ) ? array(
|
367 |
+
'title' => 'Archives',
|
368 |
+
'value' => Brizy_Admin_Rule::ARCHIVE,
|
369 |
+
'items' => $archiveItems
|
370 |
+
) : null;
|
371 |
+
}
|
372 |
+
|
373 |
+
if ( $items = $this->geTemplateList( $context, $templateType ) ) {
|
374 |
+
$groups[] = array(
|
375 |
+
'title' => 'Others',
|
376 |
+
'value' => Brizy_Admin_Rule::TEMPLATE,
|
377 |
+
'items' => $items
|
378 |
+
);
|
379 |
+
}
|
380 |
+
|
381 |
+
$groups = array_values( array_filter( $groups, function ( $o ) {
|
382 |
+
return ! is_null( $o );
|
383 |
+
} ) );
|
384 |
+
wp_send_json_success( $groups, 200 );
|
385 |
+
}
|
386 |
+
|
387 |
+
public function getPostsGroupsList() {
|
388 |
+
|
389 |
+
global $wp_post_types;
|
390 |
+
|
391 |
+
if ( ! ( $post_type = $this->param( 'postType' ) ) ) {
|
392 |
+
wp_send_json_error( 'Invalid post type', 400 );
|
393 |
+
}
|
394 |
+
|
395 |
+
if ( ! isset( $wp_post_types[ $post_type ] ) ) {
|
396 |
+
wp_send_json_error( 'Post type not found', 400 );
|
397 |
+
}
|
398 |
+
|
399 |
+
$postTypeName = $wp_post_types[ $post_type ]->labels->name;
|
400 |
+
|
401 |
+
$taxonomies = get_taxonomies( [ 'object_type' => [ $post_type ] ], 'objects' );
|
402 |
+
|
403 |
+
$groups = array();
|
404 |
+
|
405 |
+
$closureFromTerm = function ( $v ) {
|
406 |
+
return array(
|
407 |
+
'title' => $v->name,
|
408 |
+
'value' => "in|" . $v->taxonomy . "|" . $v->term_id,
|
409 |
+
'groupValue' => $v->taxonomy
|
410 |
+
);
|
411 |
+
};
|
412 |
+
$closureChildTerm = function ( $v ) {
|
413 |
+
return array(
|
414 |
+
'title' => $v->name,
|
415 |
+
'value' => "child|" . $v->taxonomy . "|" . $v->term_id,
|
416 |
+
'groupValue' => $v->taxonomy
|
417 |
+
);
|
418 |
+
};
|
419 |
+
|
420 |
+
$closureAuthor = function ( $v ) use ( $postTypeName ) {
|
421 |
+
return array(
|
422 |
+
'title' => ucfirst( $v->data->user_nicename ) . ' ' . $postTypeName,
|
423 |
+
'value' => 'author|' . $v->ID,
|
424 |
+
'groupValue' => 'author'
|
425 |
+
);
|
426 |
+
};
|
427 |
+
|
428 |
+
$closurePost = function ( $v ) {
|
429 |
+
return array(
|
430 |
+
'title' => $v->post_title,
|
431 |
+
'value' => $v->ID,
|
432 |
+
'groupValue' => $v->post_type
|
433 |
+
);
|
434 |
+
};
|
435 |
+
|
436 |
+
foreach ( $taxonomies as $tax ) {
|
437 |
+
$groups[] = array(
|
438 |
+
'title' => __( "From", 'brizy' ) . " " . $tax->labels->singular_name,
|
439 |
+
'value' => Brizy_Admin_Rule::POSTS,
|
440 |
+
'items' => array_map( $closureFromTerm, get_terms( [
|
441 |
+
'taxonomy' => $tax->name,
|
442 |
+
'hide_empty' => false
|
443 |
+
] ) )
|
444 |
+
);
|
445 |
+
|
446 |
+
if ( $tax->hierarchical ) {
|
447 |
+
$groups[] = array(
|
448 |
+
'title' => __( "From any child of", 'brizy' ) . " " . $tax->labels->singular_name,
|
449 |
+
'value' => Brizy_Admin_Rule::POSTS,
|
450 |
+
'items' => array_map( $closureChildTerm, get_terms( [
|
451 |
+
'taxonomy' => $tax->name,
|
452 |
+
'hide_empty' => false
|
453 |
+
] ) )
|
454 |
+
);
|
455 |
+
}
|
456 |
+
}
|
457 |
+
|
458 |
+
$groups[] = array(
|
459 |
+
'title' => 'Specific Post',
|
460 |
+
'value' => Brizy_Admin_Rule::POSTS,
|
461 |
+
'items' => array_map( $closurePost, Brizy_Editor_Post::get_post_list( null, $post_type ) )
|
462 |
+
);
|
463 |
+
|
464 |
+
$groups[] = array(
|
465 |
+
'title' => 'Specific Author',
|
466 |
+
'value' => Brizy_Admin_Rule::POSTS,
|
467 |
+
'items' => array_map( $closureAuthor, get_users() )
|
468 |
+
);
|
469 |
+
|
470 |
+
$groups = array_values( array_filter( $groups, function ( $o ) {
|
471 |
+
return ! is_null( $o );
|
472 |
+
} ) );
|
473 |
+
wp_send_json_success( $groups, 200 );
|
474 |
+
}
|
475 |
+
|
476 |
+
public function getArchiveGroupsList() {
|
477 |
+
|
478 |
+
if ( ! ( $taxonomy = $this->param( 'taxonomy' ) ) ) {
|
479 |
+
wp_send_json_error( 'Invalid taxonomy', 400 );
|
480 |
+
}
|
481 |
+
|
482 |
+
$groups = [];
|
483 |
+
|
484 |
+
$taxonomies = get_taxonomies( array( 'public' => true, 'show_ui' => true, 'name' => $taxonomy ), 'objects' );
|
485 |
+
|
486 |
+
$closureSingleTerm = function ( $v ) {
|
487 |
+
return array(
|
488 |
+
'title' => $v->name,
|
489 |
+
'value' => $v->term_id,
|
490 |
+
'groupValue' => $v->taxonomy
|
491 |
+
);
|
492 |
+
};
|
493 |
+
|
494 |
+
$closureTerm = function ( $v ) {
|
495 |
+
return array(
|
496 |
+
'title' => $v->name,
|
497 |
+
'value' => "child|" . $v->taxonomy . "|" . $v->term_id,
|
498 |
+
'groupValue' => $v->taxonomy
|
499 |
+
);
|
500 |
+
};
|
501 |
+
|
502 |
+
foreach ( $taxonomies as $tax ) {
|
503 |
+
$groups[] = array(
|
504 |
+
'title' => __( "Specific", 'brizy' ) . " " . $tax->labels->singular_name,
|
505 |
+
'value' => Brizy_Admin_Rule::TAXONOMY,
|
506 |
+
'items' => array_map( $closureSingleTerm, get_terms( [
|
507 |
+
'taxonomy' => $tax->name,
|
508 |
+
'hide_empty' => false
|
509 |
+
] ) )
|
510 |
+
);
|
511 |
+
|
512 |
+
if ( $tax->hierarchical ) {
|
513 |
+
$groups[] = array(
|
514 |
+
'title' => __( "Any child of", 'brizy' ) . " " . $tax->labels->singular_name,
|
515 |
+
'value' => Brizy_Admin_Rule::TAXONOMY,
|
516 |
+
'items' => array_map( $closureTerm, get_terms( [
|
517 |
+
'taxonomy' => $tax->name,
|
518 |
+
'hide_empty' => false
|
519 |
+
] ) )
|
520 |
+
);
|
521 |
+
}
|
522 |
+
}
|
523 |
+
|
524 |
+
$groups = array_values( array_filter( $groups, function ( $o ) {
|
525 |
+
return ! is_null( $o );
|
526 |
+
} ) );
|
527 |
+
wp_send_json_success( $groups, 200 );
|
528 |
+
|
529 |
+
}
|
530 |
+
|
531 |
+
private function getCustomPostsList( $groupValue, $templateType ) {
|
532 |
+
$wp_post_types = get_post_types( [ 'exclude_from_search' => false, 'show_in_nav_menus' => true ], 'objects' );
|
533 |
+
|
534 |
+
return array_values( array_filter( $wp_post_types, function ( $type ) use ( $groupValue, $templateType ) {
|
535 |
+
$type->groupValue = $groupValue;
|
536 |
+
if ( $templateType == 'single_product' ) {
|
537 |
+
return $type->name == 'product' && $type->public && $type->show_ui;
|
538 |
+
} else {
|
539 |
+
return $type->name != 'product' && $type->public && $type->show_ui;
|
540 |
+
}
|
541 |
+
} ) );
|
542 |
+
}
|
543 |
+
|
544 |
+
private function getArchivesList( $groupValue, $templateType ) {
|
545 |
+
global $wp_post_types;
|
546 |
+
|
547 |
+
return array_values( array_filter( $wp_post_types, function ( $type ) use ( $groupValue, $templateType ) {
|
548 |
+
$type->groupValue = $groupValue;
|
549 |
+
$is_product = $type->name == 'product';
|
550 |
+
|
551 |
+
if ( $templateType == 'product_archive' ) {
|
552 |
+
return $is_product && $type->public && $type->show_ui && $type->has_archive;
|
553 |
+
} else {
|
554 |
+
return ! $is_product && $type->public && $type->show_ui && $type->has_archive;
|
555 |
+
}
|
556 |
+
} ) );
|
557 |
+
}
|
558 |
+
|
559 |
+
private function getTaxonomyList( $groupValue, $templateType ) {
|
560 |
+
$terms = get_taxonomies( array( 'public' => true, 'show_ui' => true ), 'objects' );
|
561 |
+
|
562 |
+
return array_values( array_filter( $terms, function ( $term ) use ( $groupValue, $templateType ) {
|
563 |
+
$term->groupValue = $groupValue;
|
564 |
+
$is_product_term = $term->name == 'product_cat' || $term->name == 'product_tag';
|
565 |
+
|
566 |
+
if ( $templateType == 'product_archive' ) {
|
567 |
+
return $is_product_term;
|
568 |
+
} else {
|
569 |
+
return ! $is_product_term;
|
570 |
+
}
|
571 |
+
} ) );
|
572 |
+
}
|
573 |
+
|
574 |
+
public function geTemplateList( $context, $templateType ) {
|
575 |
+
|
576 |
+
$list = array(
|
577 |
+
$templateType === 'single' || $context == 'popup-rules' ? array(
|
578 |
+
'title' => 'Author page',
|
579 |
+
'value' => 'author',
|
580 |
+
'groupValue' => Brizy_Admin_Rule::TEMPLATE
|
581 |
+
) : null,
|
582 |
+
$templateType === 'archive' || $context == 'popup-rules' ? array(
|
583 |
+
'title' => 'Search page',
|
584 |
+
'value' => 'search',
|
585 |
+
'groupValue' => Brizy_Admin_Rule::TEMPLATE
|
586 |
+
) : null,
|
587 |
+
$templateType === 'single' || $context == 'popup-rules' ? array(
|
588 |
+
'title' => 'Front page',
|
589 |
+
'value' => 'front_page',
|
590 |
+
'groupValue' => Brizy_Admin_Rule::TEMPLATE
|
591 |
+
) : null,
|
592 |
+
$templateType === 'archive' || $context == 'popup-rules' ? array(
|
593 |
+
'title' => 'Blog / Posts page',
|
594 |
+
'value' => 'home_page',
|
595 |
+
'groupValue' => Brizy_Admin_Rule::TEMPLATE
|
596 |
+
) : null,
|
597 |
+
$templateType === 'single' || $context == 'popup-rules' ? array(
|
598 |
+
'title' => '404 page',
|
599 |
+
'value' => '404',
|
600 |
+
'groupValue' => Brizy_Admin_Rule::TEMPLATE
|
601 |
+
) : null,
|
602 |
+
$templateType === 'archive' || $context == 'popup-rules' ? array(
|
603 |
+
'title' => 'Archive page',
|
604 |
+
'value' => '',
|
605 |
+
'groupValue' => Brizy_Admin_Rule::ARCHIVE
|
606 |
+
) : null,
|
607 |
+
);
|
608 |
+
|
609 |
+
if ( ($context !== 'template-rules' && $templateType === 'single') || $context == 'popup-rules' ) {
|
610 |
+
|
611 |
+
$list[] = array(
|
612 |
+
'title' => 'Brizy Templates',
|
613 |
+
'value' => 'brizy_template',
|
614 |
+
'groupValue' => Brizy_Admin_Rule::BRIZY_TEMPLATE
|
615 |
+
);
|
616 |
+
}
|
617 |
+
|
618 |
+
return array_values( array_filter( $list, function ( $o ) {
|
619 |
+
return ! is_null( $o );
|
620 |
+
} ) );
|
621 |
+
}
|
622 |
+
|
623 |
+
private function get_post_list( $searchTerm, $postType, $excludePostType = array() ) {
|
624 |
+
|
625 |
+
global $wp_post_types;
|
626 |
+
|
627 |
+
add_filter( 'posts_where', array( $this, 'brizy_post_title_filter' ), 10, 2 );
|
628 |
+
|
629 |
+
$post_query = array(
|
630 |
+
'post_type' => $postType,
|
631 |
+
'posts_per_page' => - 1,
|
632 |
+
'post_status' => $postType == 'attachment' ? 'inherit' : array(
|
633 |
+
'publish',
|
634 |
+
'pending',
|
635 |
+
'draft',
|
636 |
+
'future',
|
637 |
+
'private'
|
638 |
+
),
|
639 |
+
'orderby' => 'post_title',
|
640 |
+
'order' => 'ASC'
|
641 |
+
);
|
642 |
+
|
643 |
+
if ( $searchTerm ) {
|
644 |
+
$post_query['post_title_term'] = $searchTerm;
|
645 |
+
}
|
646 |
+
|
647 |
+
$posts = new WP_Query( $post_query );
|
648 |
+
|
649 |
+
$result = array();
|
650 |
+
|
651 |
+
foreach ( $posts->posts as $post ) {
|
652 |
+
|
653 |
+
if ( in_array( $post->post_type, $excludePostType ) ) {
|
654 |
+
continue;
|
655 |
+
}
|
656 |
+
|
657 |
+
$result[] = (object) array(
|
658 |
+
'ID' => $post->ID,
|
659 |
+
'uid' => $this->create_uid( $post->ID ),
|
660 |
+
'post_type' => $post->post_type,
|
661 |
+
'post_type_label' => $wp_post_types[ $post->post_type ]->label,
|
662 |
+
'title' => apply_filters( 'the_title', $post->post_title ),
|
663 |
+
'post_title' => apply_filters( 'the_title', $post->post_title )
|
664 |
+
);
|
665 |
+
}
|
666 |
+
|
667 |
+
remove_filter( 'posts_where', 'brizy_post_title_filter', 10 );
|
668 |
+
|
669 |
+
return $result;
|
670 |
+
}
|
671 |
}
|
admin/rules/manager.php
CHANGED
@@ -197,7 +197,7 @@ class Brizy_Admin_Rules_Manager {
|
|
197 |
$arrayRules[] = $rule->convertToOptionValue();
|
198 |
}
|
199 |
|
200 |
-
|
201 |
}
|
202 |
|
203 |
/**
|
197 |
$arrayRules[] = $rule->convertToOptionValue();
|
198 |
}
|
199 |
|
200 |
+
update_metadata( 'post', (int) $postId, 'brizy-rules', $arrayRules );
|
201 |
}
|
202 |
|
203 |
/**
|
admin/rules/template-rule-validator.php
CHANGED
@@ -10,7 +10,6 @@ class Brizy_Admin_Rules_TemplateRuleValidator extends Brizy_Admin_Rules_Abstract
|
|
10 |
* @throws Brizy_Admin_Rules_ValidationException
|
11 |
*/
|
12 |
public function validateRuleForPostId( Brizy_Admin_Rule $rule, $postId ) {
|
13 |
-
// TODO: Implement validateRuleForPostId() method.
|
14 |
|
15 |
$ruleSets = $this->getRulesSetByWPQuery( [ 'post_type' => get_post_type( $postId ) ] );
|
16 |
|
@@ -25,9 +24,11 @@ class Brizy_Admin_Rules_TemplateRuleValidator extends Brizy_Admin_Rules_Abstract
|
|
25 |
* @throws Brizy_Admin_Rules_ValidationException
|
26 |
*/
|
27 |
public function validateRulesForPostId( $rules, $postId ) {
|
28 |
-
// TODO: Implement validateRulesForPostId() method.
|
29 |
|
30 |
-
$ruleSets = $this->getRulesSetByWPQuery( [
|
|
|
|
|
|
|
31 |
|
32 |
return $this->validateRules( $rules, $ruleSets );
|
33 |
}
|
10 |
* @throws Brizy_Admin_Rules_ValidationException
|
11 |
*/
|
12 |
public function validateRuleForPostId( Brizy_Admin_Rule $rule, $postId ) {
|
|
|
13 |
|
14 |
$ruleSets = $this->getRulesSetByWPQuery( [ 'post_type' => get_post_type( $postId ) ] );
|
15 |
|
24 |
* @throws Brizy_Admin_Rules_ValidationException
|
25 |
*/
|
26 |
public function validateRulesForPostId( $rules, $postId ) {
|
|
|
27 |
|
28 |
+
$ruleSets = $this->getRulesSetByWPQuery( [
|
29 |
+
'post_type' => get_post_type( $postId ),
|
30 |
+
'exclude' => [ $postId ]
|
31 |
+
] );
|
32 |
|
33 |
return $this->validateRules( $rules, $ruleSets );
|
34 |
}
|
admin/settings.php
CHANGED
@@ -81,7 +81,7 @@ class Brizy_Admin_Settings {
|
|
81 |
*/
|
82 |
function actionRegisterSettingsPage() {
|
83 |
|
84 |
-
if ( !
|
85 |
return;
|
86 |
}
|
87 |
|
@@ -92,7 +92,7 @@ class Brizy_Admin_Settings {
|
|
92 |
array( $this, 'render' ),
|
93 |
__bt( 'brizy-logo', plugins_url( 'static/img/brizy-logo.svg', __FILE__ ) ),
|
94 |
//plugins_url( '/static/img/brizy-logo.svg', __FILE__ ),
|
95 |
-
|
96 |
);
|
97 |
}
|
98 |
|
@@ -176,7 +176,7 @@ class Brizy_Admin_Settings {
|
|
176 |
]
|
177 |
];
|
178 |
|
179 |
-
return apply_filters( 'brizy_settings_tabs', $tabs );
|
180 |
}
|
181 |
|
182 |
private function get_tab_content( $tab ) {
|
@@ -350,7 +350,7 @@ class Brizy_Admin_Settings {
|
|
350 |
}
|
351 |
|
352 |
public function render_tabs() {
|
353 |
-
|
354 |
foreach ( $tabs as $tab ) {
|
355 |
$is_active_class = $tab['is_selected'] ? 'nav-tab-active' : '';
|
356 |
?>
|
@@ -363,7 +363,7 @@ class Brizy_Admin_Settings {
|
|
363 |
public function render_tab_content() {
|
364 |
$tab = $this->get_selected_tab();
|
365 |
|
366 |
-
echo apply_filters( 'brizy_settings_render_tab', $this->get_tab_content( $tab ) );
|
367 |
}
|
368 |
|
369 |
|
81 |
*/
|
82 |
function actionRegisterSettingsPage() {
|
83 |
|
84 |
+
if ( ! Brizy_Editor_User::is_user_allowed() || is_network_admin() ) {
|
85 |
return;
|
86 |
}
|
87 |
|
92 |
array( $this, 'render' ),
|
93 |
__bt( 'brizy-logo', plugins_url( 'static/img/brizy-logo.svg', __FILE__ ) ),
|
94 |
//plugins_url( '/static/img/brizy-logo.svg', __FILE__ ),
|
95 |
+
'58'
|
96 |
);
|
97 |
}
|
98 |
|
176 |
]
|
177 |
];
|
178 |
|
179 |
+
return apply_filters( 'brizy_settings_tabs', $tabs, $selected_tab );
|
180 |
}
|
181 |
|
182 |
private function get_tab_content( $tab ) {
|
350 |
}
|
351 |
|
352 |
public function render_tabs() {
|
353 |
+
$tabs = $this->get_tabs();
|
354 |
foreach ( $tabs as $tab ) {
|
355 |
$is_active_class = $tab['is_selected'] ? 'nav-tab-active' : '';
|
356 |
?>
|
363 |
public function render_tab_content() {
|
364 |
$tab = $this->get_selected_tab();
|
365 |
|
366 |
+
echo apply_filters( 'brizy_settings_render_tab', $this->get_tab_content( $tab ), $tab );
|
367 |
}
|
368 |
|
369 |
|
admin/static/css/style.css
CHANGED
@@ -133,6 +133,9 @@
|
|
133 |
/**
|
134 |
* Style Brizy Templates
|
135 |
*/
|
|
|
|
|
|
|
136 |
|
137 |
.brizy-template-rules input[type="text"],
|
138 |
.brizy-template-rules select {
|
@@ -158,6 +161,22 @@
|
|
158 |
margin-top: 10px;
|
159 |
}
|
160 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
161 |
.brizy-delete-rule {
|
162 |
border: 0;
|
163 |
padding: 0;
|
@@ -179,8 +198,6 @@
|
|
179 |
text-overflow: ellipsis;
|
180 |
white-space: nowrap;
|
181 |
line-height: 1;
|
182 |
-
-moz-appearance: none; /* Firefox */
|
183 |
-
-webkit-appearance: none; /* Safari and Chrome */
|
184 |
appearance: none;
|
185 |
}
|
186 |
|
@@ -211,14 +228,23 @@
|
|
211 |
vertical-align: middle;
|
212 |
}
|
213 |
|
|
|
|
|
|
|
|
|
214 |
.brizy-template-rules .select2-selection__arrow b {
|
215 |
-
|
216 |
}
|
217 |
|
218 |
.brizy-rule-new-condition .brizy-rule-select2::after {
|
219 |
content: none;
|
220 |
}
|
221 |
|
|
|
|
|
|
|
|
|
|
|
222 |
.brizy-featured-image {
|
223 |
|
224 |
}
|
@@ -312,7 +338,7 @@
|
|
312 |
}
|
313 |
|
314 |
.brizy-dashboard-widget-footer__go-pro {
|
315 |
-
display:inline-flex;
|
316 |
fill: #0073aa;
|
317 |
}
|
318 |
|
@@ -329,41 +355,51 @@
|
|
329 |
max-width: 1024px;
|
330 |
/*text-align: left;*/
|
331 |
}
|
|
|
332 |
.brz-maintenance-table-access-links th,
|
333 |
.brz-maintenance-table-access-links td {
|
334 |
border: 1px solid #ccd0d4;
|
335 |
}
|
|
|
336 |
.brz-maintenance-table-access-links th:first-child,
|
337 |
.brz-maintenance-table-access-links td:first-child {
|
338 |
width: 35px;
|
339 |
text-align: center;
|
340 |
}
|
|
|
341 |
.brz-maintenance-table-access-links th:not(:first-child) {
|
342 |
padding-left: 10px;
|
343 |
}
|
|
|
344 |
.brz-maintenance-delete-links {
|
345 |
padding-left: 10px !important;
|
346 |
}
|
|
|
347 |
.brz-maintenance-add-link {
|
348 |
margin-top: 15px !important;
|
349 |
}
|
|
|
350 |
/* Admin notice give us a rating */
|
351 |
.brz-review-notice-container {
|
352 |
display: flex;
|
353 |
align-items: center;
|
354 |
padding-top: 10px;
|
355 |
}
|
|
|
356 |
.brz-review-notice-container .dashicons {
|
357 |
font-size: 1.4em;
|
358 |
padding-left: 10px;
|
359 |
}
|
|
|
360 |
.brz-review-notice-container a {
|
361 |
padding-left: 5px;
|
362 |
text-decoration: none;
|
363 |
}
|
|
|
364 |
.brz-review-notice-container .dashicons:first-child {
|
365 |
padding-left: 0;
|
366 |
}
|
|
|
367 |
.brz-notice-image {
|
368 |
max-width: 100px;
|
369 |
}
|
@@ -371,9 +407,11 @@
|
|
371 |
.brz-notice-content .brz-notice-heading {
|
372 |
padding-bottom: 5px;
|
373 |
}
|
|
|
374 |
.brz-notice-content {
|
375 |
margin-left: 15px;
|
376 |
}
|
|
|
377 |
.brz-notice-container {
|
378 |
padding-top: 10px;
|
379 |
padding-bottom: 10px;
|
@@ -384,27 +422,33 @@
|
|
384 |
|
385 |
/* Admin deactivate plugin modal */
|
386 |
.brz-deactivate-modal {
|
387 |
-
border-radius:3px;
|
388 |
animation: brz-feedback-modal-fadein .5s linear;
|
389 |
}
|
|
|
390 |
.brz-deactivate-overlay {
|
391 |
animation: brz-feedback-overlay-fadein .5s linear;
|
392 |
}
|
|
|
393 |
.brz-deactivate-feedback-dialog-logo {
|
394 |
width: 40px;
|
395 |
vertical-align: middle;
|
396 |
}
|
|
|
397 |
.brz-deactivate-modal .ui-dialog-titlebar {
|
398 |
display: none;
|
399 |
}
|
|
|
400 |
.brz-deactivate-modal .ui-dialog-content {
|
401 |
padding: 0;
|
402 |
}
|
|
|
403 |
.brz-deactivate-feedback-dialog-header {
|
404 |
padding: 18px 15px;
|
405 |
-
box-shadow: 0 0 8px rgba(0,0,0
|
406 |
text-align: left;
|
407 |
}
|
|
|
408 |
.brz-deactivate-feedback-dialog-header-title {
|
409 |
font-size: 15px;
|
410 |
text-transform: uppercase;
|
@@ -412,10 +456,12 @@
|
|
412 |
padding-left: 5px;
|
413 |
color: #495157;
|
414 |
}
|
|
|
415 |
.brz-deactivate-feedback-dialog-form {
|
416 |
padding: 30px;
|
417 |
text-align: left;
|
418 |
}
|
|
|
419 |
.brz-deactivate-feedback-dialog-form-caption {
|
420 |
font-weight: 700;
|
421 |
font-size: 15px;
|
@@ -423,59 +469,70 @@
|
|
423 |
line-height: 1.4;
|
424 |
margin-bottom: 30px;
|
425 |
}
|
|
|
426 |
.brz-deactivate-feedback-dialog-input {
|
427 |
float: left;
|
428 |
margin: 0 15px 0 0;
|
429 |
box-shadow: none;
|
430 |
}
|
|
|
431 |
.brz-deactivate-feedback-dialog-label {
|
432 |
display: block;
|
433 |
font-size: 13px;
|
434 |
color: #6d7882;
|
435 |
}
|
|
|
436 |
#brz-deactivate-feedback-dialog .brz-deactivate-feedback-dialog-input {
|
437 |
float: left;
|
438 |
margin: 0 15px 0 0;
|
439 |
box-shadow: none;
|
440 |
}
|
|
|
441 |
.brz-deactivate-feedback-dialog-input-wrapper {
|
442 |
line-height: 1.3;
|
443 |
overflow: hidden;
|
444 |
margin-bottom: 15px;
|
445 |
}
|
|
|
446 |
.brz-deactivate-modal .ui-dialog-buttonpane {
|
447 |
border: none;
|
448 |
padding-bottom: 30px;
|
449 |
-
border-radius:3px;
|
450 |
}
|
|
|
451 |
.brz-deactivate-modal .ui-dialog-buttonset {
|
452 |
-
float:none;
|
453 |
}
|
|
|
454 |
.brz-feedback-submit {
|
455 |
background-color: #05b3e6;
|
456 |
color: #fff;
|
457 |
width: 180px;
|
458 |
height: 38px;
|
459 |
-
border:none;
|
460 |
}
|
|
|
461 |
.brz-feedback-submit:hover,
|
462 |
.brz-feedback-submit:focus {
|
463 |
opacity: 0.9;
|
464 |
background-color: #05b3e6;
|
465 |
color: #fff !important;
|
466 |
}
|
|
|
467 |
.brz-feedback-submit:disabled:hover {
|
468 |
color: #a4afb7 !important;
|
469 |
}
|
|
|
470 |
.brz-feedback-skip {
|
471 |
font-size: 12px;
|
472 |
color: #a4afb7;
|
473 |
background: none;
|
474 |
float: right;
|
475 |
width: auto;
|
476 |
-
border:none;
|
477 |
box-shadow: none;
|
478 |
}
|
|
|
479 |
.brz-feedback-skip:hover,
|
480 |
.brz-feedback-skip:active,
|
481 |
.brz-feedback-skip:focus {
|
@@ -484,6 +541,7 @@
|
|
484 |
background: none;
|
485 |
box-shadow: none;
|
486 |
}
|
|
|
487 |
.brz-feedback-text {
|
488 |
margin: 10px 0 0 30px;
|
489 |
padding: 5px;
|
@@ -493,11 +551,13 @@
|
|
493 |
background-color: #fff;
|
494 |
width: 92%;
|
495 |
}
|
|
|
496 |
.brz-feedback-text-alert {
|
497 |
max-width: fit-content;
|
498 |
color: #b01b1b;
|
499 |
padding: 0;
|
500 |
}
|
|
|
501 |
@-webkit-keyframes brz-feedback-modal-fadein {
|
502 |
0% {
|
503 |
opacity: 0;
|
@@ -507,6 +567,7 @@
|
|
507 |
opacity: 1;
|
508 |
}
|
509 |
}
|
|
|
510 |
@-webkit-keyframes brz-feedback-overlay-fadein {
|
511 |
0% {
|
512 |
opacity: 0;
|
@@ -516,6 +577,7 @@
|
|
516 |
opacity: 0.7;
|
517 |
}
|
518 |
}
|
|
|
519 |
@-webkit-keyframes brz-rotation {
|
520 |
0% {
|
521 |
-webkit-transform: rotate(0deg);
|
@@ -527,6 +589,7 @@
|
|
527 |
transform: rotate(359deg);
|
528 |
}
|
529 |
}
|
|
|
530 |
@keyframes brz-rotation {
|
531 |
0% {
|
532 |
-webkit-transform: rotate(0deg);
|
@@ -538,10 +601,17 @@
|
|
538 |
transform: rotate(359deg);
|
539 |
}
|
540 |
}
|
|
|
541 |
.brz-loading:before {
|
542 |
display: inline-block;
|
543 |
content: "\f463";
|
544 |
font: 18px dashicons;
|
545 |
animation: brz-rotation 2s linear infinite;
|
546 |
-
margin-top:10px;
|
547 |
}
|
|
|
|
|
|
|
|
|
|
|
|
133 |
/**
|
134 |
* Style Brizy Templates
|
135 |
*/
|
136 |
+
.brizy-template-rules .error {
|
137 |
+
color: red;
|
138 |
+
}
|
139 |
|
140 |
.brizy-template-rules input[type="text"],
|
141 |
.brizy-template-rules select {
|
161 |
margin-top: 10px;
|
162 |
}
|
163 |
|
164 |
+
.brizy-template-rules .rule {
|
165 |
+
position: relative;
|
166 |
+
}
|
167 |
+
|
168 |
+
.brizy-template-rules .rule .rule-fields {
|
169 |
+
position: relative;
|
170 |
+
}
|
171 |
+
|
172 |
+
.brizy-template-rules .rule .overlay {
|
173 |
+
position: absolute;
|
174 |
+
top: -10px;
|
175 |
+
bottom: -10px;
|
176 |
+
left: 0px;
|
177 |
+
right: 0px;
|
178 |
+
}
|
179 |
+
|
180 |
.brizy-delete-rule {
|
181 |
border: 0;
|
182 |
padding: 0;
|
198 |
text-overflow: ellipsis;
|
199 |
white-space: nowrap;
|
200 |
line-height: 1;
|
|
|
|
|
201 |
appearance: none;
|
202 |
}
|
203 |
|
228 |
vertical-align: middle;
|
229 |
}
|
230 |
|
231 |
+
.brizy-template-rules .brizy-template-type label {
|
232 |
+
margin-right: 20px;
|
233 |
+
}
|
234 |
+
|
235 |
.brizy-template-rules .select2-selection__arrow b {
|
236 |
+
display: none;
|
237 |
}
|
238 |
|
239 |
.brizy-rule-new-condition .brizy-rule-select2::after {
|
240 |
content: none;
|
241 |
}
|
242 |
|
243 |
+
.brizy-rule-list-item {
|
244 |
+
|
245 |
+
}
|
246 |
+
|
247 |
+
|
248 |
.brizy-featured-image {
|
249 |
|
250 |
}
|
338 |
}
|
339 |
|
340 |
.brizy-dashboard-widget-footer__go-pro {
|
341 |
+
display: inline-flex;
|
342 |
fill: #0073aa;
|
343 |
}
|
344 |
|
355 |
max-width: 1024px;
|
356 |
/*text-align: left;*/
|
357 |
}
|
358 |
+
|
359 |
.brz-maintenance-table-access-links th,
|
360 |
.brz-maintenance-table-access-links td {
|
361 |
border: 1px solid #ccd0d4;
|
362 |
}
|
363 |
+
|
364 |
.brz-maintenance-table-access-links th:first-child,
|
365 |
.brz-maintenance-table-access-links td:first-child {
|
366 |
width: 35px;
|
367 |
text-align: center;
|
368 |
}
|
369 |
+
|
370 |
.brz-maintenance-table-access-links th:not(:first-child) {
|
371 |
padding-left: 10px;
|
372 |
}
|
373 |
+
|
374 |
.brz-maintenance-delete-links {
|
375 |
padding-left: 10px !important;
|
376 |
}
|
377 |
+
|
378 |
.brz-maintenance-add-link {
|
379 |
margin-top: 15px !important;
|
380 |
}
|
381 |
+
|
382 |
/* Admin notice give us a rating */
|
383 |
.brz-review-notice-container {
|
384 |
display: flex;
|
385 |
align-items: center;
|
386 |
padding-top: 10px;
|
387 |
}
|
388 |
+
|
389 |
.brz-review-notice-container .dashicons {
|
390 |
font-size: 1.4em;
|
391 |
padding-left: 10px;
|
392 |
}
|
393 |
+
|
394 |
.brz-review-notice-container a {
|
395 |
padding-left: 5px;
|
396 |
text-decoration: none;
|
397 |
}
|
398 |
+
|
399 |
.brz-review-notice-container .dashicons:first-child {
|
400 |
padding-left: 0;
|
401 |
}
|
402 |
+
|
403 |
.brz-notice-image {
|
404 |
max-width: 100px;
|
405 |
}
|
407 |
.brz-notice-content .brz-notice-heading {
|
408 |
padding-bottom: 5px;
|
409 |
}
|
410 |
+
|
411 |
.brz-notice-content {
|
412 |
margin-left: 15px;
|
413 |
}
|
414 |
+
|
415 |
.brz-notice-container {
|
416 |
padding-top: 10px;
|
417 |
padding-bottom: 10px;
|
422 |
|
423 |
/* Admin deactivate plugin modal */
|
424 |
.brz-deactivate-modal {
|
425 |
+
border-radius: 3px;
|
426 |
animation: brz-feedback-modal-fadein .5s linear;
|
427 |
}
|
428 |
+
|
429 |
.brz-deactivate-overlay {
|
430 |
animation: brz-feedback-overlay-fadein .5s linear;
|
431 |
}
|
432 |
+
|
433 |
.brz-deactivate-feedback-dialog-logo {
|
434 |
width: 40px;
|
435 |
vertical-align: middle;
|
436 |
}
|
437 |
+
|
438 |
.brz-deactivate-modal .ui-dialog-titlebar {
|
439 |
display: none;
|
440 |
}
|
441 |
+
|
442 |
.brz-deactivate-modal .ui-dialog-content {
|
443 |
padding: 0;
|
444 |
}
|
445 |
+
|
446 |
.brz-deactivate-feedback-dialog-header {
|
447 |
padding: 18px 15px;
|
448 |
+
box-shadow: 0 0 8px rgba(0, 0, 0, .1);
|
449 |
text-align: left;
|
450 |
}
|
451 |
+
|
452 |
.brz-deactivate-feedback-dialog-header-title {
|
453 |
font-size: 15px;
|
454 |
text-transform: uppercase;
|
456 |
padding-left: 5px;
|
457 |
color: #495157;
|
458 |
}
|
459 |
+
|
460 |
.brz-deactivate-feedback-dialog-form {
|
461 |
padding: 30px;
|
462 |
text-align: left;
|
463 |
}
|
464 |
+
|
465 |
.brz-deactivate-feedback-dialog-form-caption {
|
466 |
font-weight: 700;
|
467 |
font-size: 15px;
|
469 |
line-height: 1.4;
|
470 |
margin-bottom: 30px;
|
471 |
}
|
472 |
+
|
473 |
.brz-deactivate-feedback-dialog-input {
|
474 |
float: left;
|
475 |
margin: 0 15px 0 0;
|
476 |
box-shadow: none;
|
477 |
}
|
478 |
+
|
479 |
.brz-deactivate-feedback-dialog-label {
|
480 |
display: block;
|
481 |
font-size: 13px;
|
482 |
color: #6d7882;
|
483 |
}
|
484 |
+
|
485 |
#brz-deactivate-feedback-dialog .brz-deactivate-feedback-dialog-input {
|
486 |
float: left;
|
487 |
margin: 0 15px 0 0;
|
488 |
box-shadow: none;
|
489 |
}
|
490 |
+
|
491 |
.brz-deactivate-feedback-dialog-input-wrapper {
|
492 |
line-height: 1.3;
|
493 |
overflow: hidden;
|
494 |
margin-bottom: 15px;
|
495 |
}
|
496 |
+
|
497 |
.brz-deactivate-modal .ui-dialog-buttonpane {
|
498 |
border: none;
|
499 |
padding-bottom: 30px;
|
500 |
+
border-radius: 3px;
|
501 |
}
|
502 |
+
|
503 |
.brz-deactivate-modal .ui-dialog-buttonset {
|
504 |
+
float: none;
|
505 |
}
|
506 |
+
|
507 |
.brz-feedback-submit {
|
508 |
background-color: #05b3e6;
|
509 |
color: #fff;
|
510 |
width: 180px;
|
511 |
height: 38px;
|
512 |
+
border: none;
|
513 |
}
|
514 |
+
|
515 |
.brz-feedback-submit:hover,
|
516 |
.brz-feedback-submit:focus {
|
517 |
opacity: 0.9;
|
518 |
background-color: #05b3e6;
|
519 |
color: #fff !important;
|
520 |
}
|
521 |
+
|
522 |
.brz-feedback-submit:disabled:hover {
|
523 |
color: #a4afb7 !important;
|
524 |
}
|
525 |
+
|
526 |
.brz-feedback-skip {
|
527 |
font-size: 12px;
|
528 |
color: #a4afb7;
|
529 |
background: none;
|
530 |
float: right;
|
531 |
width: auto;
|
532 |
+
border: none;
|
533 |
box-shadow: none;
|
534 |
}
|
535 |
+
|
536 |
.brz-feedback-skip:hover,
|
537 |
.brz-feedback-skip:active,
|
538 |
.brz-feedback-skip:focus {
|
541 |
background: none;
|
542 |
box-shadow: none;
|
543 |
}
|
544 |
+
|
545 |
.brz-feedback-text {
|
546 |
margin: 10px 0 0 30px;
|
547 |
padding: 5px;
|
551 |
background-color: #fff;
|
552 |
width: 92%;
|
553 |
}
|
554 |
+
|
555 |
.brz-feedback-text-alert {
|
556 |
max-width: fit-content;
|
557 |
color: #b01b1b;
|
558 |
padding: 0;
|
559 |
}
|
560 |
+
|
561 |
@-webkit-keyframes brz-feedback-modal-fadein {
|
562 |
0% {
|
563 |
opacity: 0;
|
567 |
opacity: 1;
|
568 |
}
|
569 |
}
|
570 |
+
|
571 |
@-webkit-keyframes brz-feedback-overlay-fadein {
|
572 |
0% {
|
573 |
opacity: 0;
|
577 |
opacity: 0.7;
|
578 |
}
|
579 |
}
|
580 |
+
|
581 |
@-webkit-keyframes brz-rotation {
|
582 |
0% {
|
583 |
-webkit-transform: rotate(0deg);
|
589 |
transform: rotate(359deg);
|
590 |
}
|
591 |
}
|
592 |
+
|
593 |
@keyframes brz-rotation {
|
594 |
0% {
|
595 |
-webkit-transform: rotate(0deg);
|
601 |
transform: rotate(359deg);
|
602 |
}
|
603 |
}
|
604 |
+
|
605 |
.brz-loading:before {
|
606 |
display: inline-block;
|
607 |
content: "\f463";
|
608 |
font: 18px dashicons;
|
609 |
animation: brz-rotation 2s linear infinite;
|
610 |
+
margin-top: 10px;
|
611 |
}
|
612 |
+
|
613 |
+
.brz-leads-export-disable {
|
614 |
+
pointer-events: none;
|
615 |
+
cursor: default;
|
616 |
+
opacity: 0.5;
|
617 |
+
}
|
admin/static/js/cloud.js
ADDED
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
jQuery(document).ready(function ($) {
|
2 |
+
|
3 |
+
var BrizyCloud = {
|
4 |
+
form: null,
|
5 |
+
pageUrl: null,
|
6 |
+
init: function (form) {
|
7 |
+
BrizyCloud.form = form;
|
8 |
+
BrizyCloud.pageUrl = form.attr('action');
|
9 |
+
form.find('select[name=brizy-cloud-use-container]').on('change', BrizyCloud.containerChange)
|
10 |
+
},
|
11 |
+
containerChange: function (e) {
|
12 |
+
var value = e.target.value;
|
13 |
+
$.ajax({
|
14 |
+
url: Brizy_Admin_Data.url,
|
15 |
+
data: {action: 'brizy-cloud-projects', container: value}
|
16 |
+
}).done(function (response) {
|
17 |
+
var select = BrizyCloud.form
|
18 |
+
.find('select[name=brizy-cloud-use-project]');
|
19 |
+
|
20 |
+
select
|
21 |
+
.find('option[value!=0]')
|
22 |
+
.remove();
|
23 |
+
|
24 |
+
for (var i = 0; i < response.data.length; i++) {
|
25 |
+
select.append('<option value="'+response.data[i].id+'">'+response.data[i].name+'</option>')
|
26 |
+
}
|
27 |
+
});
|
28 |
+
}
|
29 |
+
};
|
30 |
+
|
31 |
+
$(function () {
|
32 |
+
BrizyCloud.init($('#cloud-form'));
|
33 |
+
});
|
34 |
+
});
|
35 |
+
|
36 |
+
|
admin/static/js/featured-image.js
CHANGED
@@ -15,9 +15,11 @@ jQuery(document).ready(function ($) {
|
|
15 |
return el(originalElement, origianalProps);
|
16 |
}
|
17 |
|
18 |
-
var clickAndMouseMoveHandler = function (e) {
|
19 |
|
20 |
-
if (!isDragging && e.type !== 'click')
|
|
|
|
|
21 |
|
22 |
var $this = $(e.target);
|
23 |
var imageW = $this.width();
|
@@ -30,6 +32,12 @@ jQuery(document).ready(function ($) {
|
|
30 |
isDragging = false;
|
31 |
});
|
32 |
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
// Calculate FocusPoint coordinates
|
34 |
var offsetX = e.pageX - $this.offset().left;
|
35 |
var offsetY = e.pageY - $this.offset().top;
|
@@ -56,10 +64,28 @@ jQuery(document).ready(function ($) {
|
|
56 |
};
|
57 |
|
58 |
return el('div', {class: 'brizy-featured-image hide-if-no-js'}, [
|
59 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
el('img', {
|
61 |
id: 'featured-image-el',
|
62 |
-
src: origianalProps.media.
|
63 |
width: "100%",
|
64 |
onClick: clickAndMouseMoveHandler,
|
65 |
onMouseMove: clickAndMouseMoveHandler,
|
@@ -74,7 +100,10 @@ jQuery(document).ready(function ($) {
|
|
74 |
el('div', {
|
75 |
class: 'focal-point',
|
76 |
id: '_thumbnail_focal_point_div',
|
77 |
-
style: {left: x + "%", top: y + "%"}
|
|
|
|
|
|
|
78 |
}),
|
79 |
el('div', {class: 'deleteImage'}, [
|
80 |
el('a', {
|
15 |
return el(originalElement, origianalProps);
|
16 |
}
|
17 |
|
18 |
+
var clickAndMouseMoveHandler = function ( e ) {
|
19 |
|
20 |
+
if ( ! isDragging && e.type !== 'click' ) {
|
21 |
+
return;
|
22 |
+
}
|
23 |
|
24 |
var $this = $(e.target);
|
25 |
var imageW = $this.width();
|
32 |
isDragging = false;
|
33 |
});
|
34 |
|
35 |
+
if ( window.getSelection ) {
|
36 |
+
window.getSelection().removeAllRanges();
|
37 |
+
} else if ( document.selection ) {
|
38 |
+
document.selection.empty();
|
39 |
+
}
|
40 |
+
|
41 |
// Calculate FocusPoint coordinates
|
42 |
var offsetX = e.pageX - $this.offset().left;
|
43 |
var offsetY = e.pageY - $this.offset().top;
|
64 |
};
|
65 |
|
66 |
return el('div', {class: 'brizy-featured-image hide-if-no-js'}, [
|
67 |
+
el('input', {
|
68 |
+
id: '_thumbnail_focal_point_x',
|
69 |
+
name: '_thumbnail_focal_point_x',
|
70 |
+
type: 'hidden',
|
71 |
+
value: Brizy_Admin_Data.page.focalPoint.x
|
72 |
+
}),
|
73 |
+
el('input', {
|
74 |
+
id: '_thumbnail_focal_point_y',
|
75 |
+
name: '_thumbnail_focal_point_y',
|
76 |
+
type: 'hidden',
|
77 |
+
value: Brizy_Admin_Data.page.focalPoint.y
|
78 |
+
}),
|
79 |
+
el('div',
|
80 |
+
{
|
81 |
+
class: 'wrapper',
|
82 |
+
onMouseLeave: function () {
|
83 |
+
isDragging = false;
|
84 |
+
}
|
85 |
+
}, [
|
86 |
el('img', {
|
87 |
id: 'featured-image-el',
|
88 |
+
src: origianalProps.media.source_url,
|
89 |
width: "100%",
|
90 |
onClick: clickAndMouseMoveHandler,
|
91 |
onMouseMove: clickAndMouseMoveHandler,
|
100 |
el('div', {
|
101 |
class: 'focal-point',
|
102 |
id: '_thumbnail_focal_point_div',
|
103 |
+
style: {left: x + "%", top: y + "%"},
|
104 |
+
onMouseDown: function () {
|
105 |
+
isDragging = true;
|
106 |
+
}
|
107 |
}),
|
108 |
el('div', {class: 'deleteImage'}, [
|
109 |
el('a', {
|
admin/static/js/rules.js
CHANGED
@@ -8,75 +8,107 @@ var RULE_TAXONOMY = "2";
|
|
8 |
var RULE_ARCHIVE = "4";
|
9 |
var RULE_TEMPLATE = "8";
|
10 |
var RULE_BRIZY_TEMPLATE = "16";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
|
12 |
var defaultRule = {
|
13 |
type: RULE_TYPE_INCLUDE,
|
14 |
-
appliedFor:
|
15 |
-
entityType:
|
16 |
entityValues: []
|
17 |
};
|
18 |
|
19 |
var state = {
|
|
|
20 |
rule: defaultRule,
|
21 |
-
rules:
|
|
|
|
|
|
|
|
|
|
|
22 |
errors: "",
|
23 |
groups: [],
|
24 |
};
|
25 |
|
|
|
26 |
|
27 |
var apiCache = {
|
28 |
groupList: null,
|
29 |
postGroupListPromise: [],
|
|
|
30 |
postList: [],
|
31 |
termList: []
|
32 |
};
|
33 |
|
34 |
var api = {
|
35 |
-
getGroupList: function () {
|
36 |
|
37 |
-
if (apiCache.groupList)
|
38 |
-
|
|
|
|
|
|
|
|
|
39 |
|
40 |
-
return apiCache.groupList = jQuery.getJSON(Brizy_Admin_Rules.url, {
|
41 |
action: "brizy_rule_group_list",
|
42 |
hash: Brizy_Admin_Rules.hash,
|
43 |
version: Brizy_Admin_Data.editorVersion,
|
44 |
-
context: 'template-rules'
|
|
|
45 |
})
|
46 |
},
|
47 |
|
48 |
-
getPostsGroupList: function (postType) {
|
49 |
|
50 |
-
if (apiCache.postGroupListPromise[postType])
|
51 |
-
return apiCache.postGroupListPromise[postType];
|
52 |
|
53 |
-
return apiCache.postGroupListPromise[postType] = jQuery.getJSON(Brizy_Admin_Rules.url, {
|
54 |
action: "brizy_rule_posts_group_list",
|
55 |
postType: postType,
|
56 |
hash: Brizy_Admin_Rules.hash,
|
57 |
version: Brizy_Admin_Data.editorVersion,
|
58 |
-
context: 'template-rules'
|
|
|
59 |
})
|
60 |
},
|
61 |
|
62 |
-
|
63 |
|
64 |
-
|
65 |
-
|
66 |
-
return apiCache.postList[cachekey];
|
67 |
|
68 |
-
return jQuery.getJSON(Brizy_Admin_Rules.url, {
|
69 |
-
action: "
|
70 |
-
|
71 |
-
postType: postType,
|
72 |
-
filterTerm: filter,
|
73 |
hash: Brizy_Admin_Rules.hash,
|
74 |
-
version: Brizy_Admin_Data.editorVersion
|
75 |
-
|
76 |
-
|
77 |
-
})
|
78 |
},
|
79 |
|
|
|
80 |
getTerms: function (taxonomy) {
|
81 |
if (apiCache.termList[taxonomy])
|
82 |
return apiCache.termList[taxonomy];
|
@@ -91,10 +123,10 @@ var api = {
|
|
91 |
});
|
92 |
},
|
93 |
|
94 |
-
|
95 |
|
96 |
var url = new URL(Brizy_Admin_Rules.url);
|
97 |
-
url.searchParams.append('action', '
|
98 |
url.searchParams.append('hash', Brizy_Admin_Rules.hash);
|
99 |
url.searchParams.append('post', Brizy_Admin_Rules.id);
|
100 |
url.searchParams.append('version', Brizy_Admin_Data.editorVersion);
|
@@ -108,27 +140,6 @@ var api = {
|
|
108 |
contentType: "application/json; charset=utf-8"
|
109 |
});
|
110 |
},
|
111 |
-
|
112 |
-
deleteRule: function (ruleId) {
|
113 |
-
return jQuery.post(Brizy_Admin_Rules.url, {
|
114 |
-
action: "brizy_delete_rule",
|
115 |
-
rule: ruleId,
|
116 |
-
hash: Brizy_Admin_Rules.hash,
|
117 |
-
dataVersion: 0,
|
118 |
-
ignoreDataVersion: 1,
|
119 |
-
version: Brizy_Admin_Data.editorVersion,
|
120 |
-
post: Brizy_Admin_Rules.id
|
121 |
-
});
|
122 |
-
},
|
123 |
-
|
124 |
-
getRuleList: function () {
|
125 |
-
return jQuery.post(Brizy_Admin_Rules.url, {
|
126 |
-
action: "brizy_list_rules",
|
127 |
-
hash: Brizy_Admin_Rules.hash,
|
128 |
-
version: Brizy_Admin_Data.editorVersion,
|
129 |
-
post: Brizy_Admin_Rules.id
|
130 |
-
});
|
131 |
-
}
|
132 |
};
|
133 |
|
134 |
var actions = {
|
@@ -140,11 +151,17 @@ var actions = {
|
|
140 |
|
141 |
updateGroups: function (value) {
|
142 |
return function (state) {
|
143 |
-
return {groups: value
|
144 |
};
|
145 |
},
|
146 |
|
147 |
rule: {
|
|
|
|
|
|
|
|
|
|
|
|
|
148 |
setType: function (value) {
|
149 |
return function (state) {
|
150 |
return {type: value};
|
@@ -169,6 +186,27 @@ var actions = {
|
|
169 |
|
170 |
resetRule: function () {
|
171 |
return function (state) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
172 |
return {errors: "", rule: defaultRule};
|
173 |
};
|
174 |
},
|
@@ -177,22 +215,86 @@ var actions = {
|
|
177 |
return {errors: errors};
|
178 |
};
|
179 |
},
|
180 |
-
|
|
|
181 |
return function (state) {
|
182 |
-
return {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
183 |
};
|
184 |
}
|
185 |
};
|
186 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
187 |
var RuleTypeField = function (params) {
|
188 |
return function (state, action) {
|
189 |
return h(
|
190 |
"span",
|
191 |
-
{
|
|
|
|
|
|
|
192 |
h(
|
193 |
"select",
|
194 |
{
|
195 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
196 |
onchange: function (e) {
|
197 |
action.rule.setType(e.target.value);
|
198 |
}
|
@@ -220,15 +322,14 @@ var RuleTypeField = function (params) {
|
|
220 |
};
|
221 |
};
|
222 |
|
223 |
-
BrzSelect2 = function (params) {
|
224 |
|
225 |
var oncreate = function (element) {
|
226 |
|
227 |
var el = jQuery(element);
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
}
|
232 |
if (typeof params.optionRequest === 'function') {
|
233 |
const optionRequest = params.optionRequest();
|
234 |
|
@@ -238,24 +339,21 @@ BrzSelect2 = function (params) {
|
|
238 |
options.forEach(function (option) {
|
239 |
el.append(option);
|
240 |
});
|
|
|
241 |
});
|
242 |
} else {
|
243 |
var options = params.convertResponseToOptions(optionRequest);
|
244 |
options.forEach(function (option) {
|
245 |
el.append(option);
|
246 |
});
|
247 |
-
}
|
248 |
-
}
|
249 |
|
250 |
-
|
251 |
-
|
252 |
}
|
253 |
};
|
254 |
|
255 |
var onremove = function (element, done) {
|
256 |
-
|
257 |
-
jQuery(element).select2("destroy");
|
258 |
-
}
|
259 |
done();
|
260 |
};
|
261 |
|
@@ -265,70 +363,69 @@ BrzSelect2 = function (params) {
|
|
265 |
key: params.id + '|' + params.value,
|
266 |
akey: params.id + '|' + params.value,
|
267 |
style: params.style,
|
268 |
-
disabled: params.disabled,
|
269 |
oncreate: oncreate,
|
270 |
onremove: onremove,
|
271 |
-
onchange: params.onChange
|
|
|
272 |
},
|
273 |
[]
|
274 |
);
|
275 |
};
|
276 |
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
// });
|
284 |
-
// return options;
|
285 |
-
// };
|
286 |
-
//
|
287 |
-
// return h(
|
288 |
-
// BrzSelect2,
|
289 |
-
// {
|
290 |
-
// id: params.id,
|
291 |
-
// value: params.value,
|
292 |
-
// disabled: params.disabled,
|
293 |
-
// style: params.style ? params.style : {width: "200px"},
|
294 |
-
// optionRequest: params.optionRequest,
|
295 |
-
// convertResponseToOptions: convertResponseToOptions,
|
296 |
-
// onChange: params.onChange
|
297 |
-
// },
|
298 |
-
// []
|
299 |
-
// );
|
300 |
-
// };
|
301 |
-
|
302 |
-
var RuleTaxonomySearchField = function (params) {
|
303 |
var convertResponseToOptions = function (response) {
|
304 |
-
var
|
305 |
-
|
306 |
-
|
307 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
308 |
});
|
309 |
-
|
|
|
310 |
};
|
311 |
|
|
|
312 |
return h(
|
313 |
BrzSelect2,
|
314 |
{
|
315 |
-
id: "
|
316 |
style: params.style ? params.style : {width: "200px"},
|
|
|
317 |
optionRequest: function () {
|
318 |
-
return api.
|
319 |
},
|
320 |
convertResponseToOptions: convertResponseToOptions,
|
321 |
onChange: params.onChange,
|
322 |
-
disabled: params.disabled
|
323 |
},
|
324 |
[]
|
325 |
);
|
326 |
};
|
327 |
|
328 |
-
var
|
329 |
|
330 |
var appliedFor = params.rule.appliedFor;
|
331 |
-
var
|
332 |
var value = String(params.rule.entityValues[0] ? params.rule.entityValues[0] : '');
|
333 |
|
334 |
var convertResponseToOptions = function (response) {
|
@@ -361,14 +458,14 @@ var RulePostsGroupSelectField = function (params) {
|
|
361 |
return h(
|
362 |
BrzSelect2,
|
363 |
{
|
364 |
-
id: "
|
365 |
style: params.style ? params.style : {width: "200px"},
|
|
|
366 |
optionRequest: function () {
|
367 |
-
return api.
|
368 |
},
|
369 |
convertResponseToOptions: convertResponseToOptions,
|
370 |
onChange: params.onChange,
|
371 |
-
disabled: params.disabled
|
372 |
},
|
373 |
[]
|
374 |
);
|
@@ -376,6 +473,7 @@ var RulePostsGroupSelectField = function (params) {
|
|
376 |
|
377 |
var RuleApplyGroupField = function (params) {
|
378 |
return function (state, actions) {
|
|
|
379 |
var appliedFor = params.rule.appliedFor;
|
380 |
var entityType = params.rule.entityType;
|
381 |
var value = appliedFor + "|" + entityType;
|
@@ -401,25 +499,25 @@ var RuleApplyGroupField = function (params) {
|
|
401 |
});
|
402 |
|
403 |
const attributes = {
|
404 |
-
|
|
|
|
|
405 |
onchange: function (e) {
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
|
|
411 |
}
|
412 |
};
|
413 |
|
414 |
-
if (params.disabled) {
|
415 |
-
attributes.disabled = "disabled";
|
416 |
-
}
|
417 |
-
|
418 |
var elements = [
|
419 |
-
h("span", {class: "brizy-rule-select"},
|
|
|
|
|
420 |
];
|
421 |
|
422 |
-
|
423 |
switch (appliedFor) {
|
424 |
case RULE_POSTS:
|
425 |
elements.push(
|
@@ -427,16 +525,13 @@ var RuleApplyGroupField = function (params) {
|
|
427 |
h(RulePostsGroupSelectField, {
|
428 |
id: appliedFor + value,
|
429 |
rule: params.rule,
|
430 |
-
|
|
|
431 |
onChange: function (e) {
|
432 |
-
if (
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
} else {
|
437 |
-
actions.rule.setEntityValues([e.target.value]);
|
438 |
-
}
|
439 |
-
}
|
440 |
}
|
441 |
})
|
442 |
]));
|
@@ -444,18 +539,17 @@ var RuleApplyGroupField = function (params) {
|
|
444 |
case RULE_TAXONOMY:
|
445 |
elements.push(
|
446 |
h("span", {class: "brizy-rule-select brizy-rule-select2"}, [
|
447 |
-
h(
|
448 |
id: appliedFor + value,
|
449 |
rule: params.rule,
|
|
|
450 |
taxonomy: entityType,
|
451 |
-
|
452 |
onChange: function (e) {
|
453 |
-
if (
|
454 |
-
actions.rule.
|
455 |
-
|
456 |
-
|
457 |
-
: []
|
458 |
-
);
|
459 |
}
|
460 |
})
|
461 |
]));
|
@@ -469,7 +563,7 @@ var RuleForm = function (params) {
|
|
469 |
var elements = [
|
470 |
h("h4", {}, "Add New Condition"),
|
471 |
h(RuleTypeField, {value: String(params.rule.type)}),
|
472 |
-
h(RuleApplyGroupField, {rule: params.rule, groups: params.groups}),
|
473 |
h("input", {
|
474 |
type: "button",
|
475 |
class: "button",
|
@@ -487,12 +581,16 @@ var RuleForm = function (params) {
|
|
487 |
|
488 |
var RuleListItem = function (params) {
|
489 |
return h("div", {class: "rule", key: params.index}, [
|
490 |
-
h(
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
|
|
|
|
|
|
|
|
|
496 |
h("input", {
|
497 |
class: "brizy-delete-rule ",
|
498 |
type: "button",
|
@@ -516,7 +614,8 @@ var RuleList = function (params) {
|
|
516 |
index: index,
|
517 |
rule: rule,
|
518 |
groups: params.groups,
|
519 |
-
onDelete: params.onDelete
|
|
|
520 |
})
|
521 |
);
|
522 |
});
|
@@ -524,53 +623,137 @@ var RuleList = function (params) {
|
|
524 |
return h("div", {}, elements);
|
525 |
};
|
526 |
|
527 |
-
var
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
528 |
return h(
|
529 |
"div",
|
530 |
{
|
531 |
oncreate: function () {
|
532 |
-
|
533 |
-
|
|
|
|
|
|
|
534 |
},
|
535 |
[
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
536 |
h(RuleList, {
|
537 |
-
|
|
|
538 |
groups: state.groups,
|
539 |
onDelete: function (rule) {
|
540 |
-
|
541 |
-
api.getRuleList().done(function (response) {
|
542 |
-
actions.setRuleList(response.data);
|
543 |
-
});
|
544 |
-
});
|
545 |
}
|
546 |
}),
|
547 |
-
|
548 |
-
|
549 |
-
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
-
|
554 |
-
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
|
562 |
-
|
563 |
-
|
564 |
-
|
565 |
-
|
|
|
|
|
566 |
}
|
567 |
-
|
568 |
-
|
569 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
570 |
]
|
571 |
);
|
572 |
};
|
573 |
|
574 |
jQuery(document).ready(function ($) {
|
575 |
-
hyperapp.app(state, actions,
|
576 |
});
|
|
8 |
var RULE_ARCHIVE = "4";
|
9 |
var RULE_TEMPLATE = "8";
|
10 |
var RULE_BRIZY_TEMPLATE = "16";
|
11 |
+
var POSTS_FROM_TAXONOMY = "32";
|
12 |
+
var POSTS_FROM_CHILD_TAXONOMY = "64";
|
13 |
+
var ANY_CHILD_TAXONOMY = "128";
|
14 |
+
|
15 |
+
var defaultTemplateType = Brizy_Admin_Rules.templateType !== '' ? Brizy_Admin_Rules.templateType : 'single';
|
16 |
+
var defaultAppliedFor = null;
|
17 |
+
var defaultEntityType = null;
|
18 |
+
|
19 |
+
switch (defaultTemplateType) {
|
20 |
+
case 'archive':
|
21 |
+
defaultAppliedFor = RULE_TAXONOMY;
|
22 |
+
defaultEntityType = 'category';
|
23 |
+
break;
|
24 |
+
|
25 |
+
default:
|
26 |
+
defaultAppliedFor = RULE_POSTS;
|
27 |
+
defaultEntityType = 'post';
|
28 |
+
break;
|
29 |
+
}
|
30 |
+
|
31 |
|
32 |
var defaultRule = {
|
33 |
type: RULE_TYPE_INCLUDE,
|
34 |
+
appliedFor: defaultAppliedFor,
|
35 |
+
entityType: defaultEntityType,
|
36 |
entityValues: []
|
37 |
};
|
38 |
|
39 |
var state = {
|
40 |
+
templateType: defaultTemplateType,
|
41 |
rule: defaultRule,
|
42 |
+
rules: {
|
43 |
+
single: [],
|
44 |
+
archive: [],
|
45 |
+
single_product: [],
|
46 |
+
product_archive: [],
|
47 |
+
},
|
48 |
errors: "",
|
49 |
groups: [],
|
50 |
};
|
51 |
|
52 |
+
state.rules[state.templateType] = Brizy_Admin_Rules.rules;
|
53 |
|
54 |
var apiCache = {
|
55 |
groupList: null,
|
56 |
postGroupListPromise: [],
|
57 |
+
archiveGroupListPromise: [],
|
58 |
postList: [],
|
59 |
termList: []
|
60 |
};
|
61 |
|
62 |
var api = {
|
63 |
+
getGroupList: function (templateType) {
|
64 |
|
65 |
+
if (!apiCache.groupList) {
|
66 |
+
apiCache.groupList = [];
|
67 |
+
}
|
68 |
+
|
69 |
+
if (apiCache.groupList && apiCache.groupList[templateType])
|
70 |
+
return apiCache.groupList[templateType];
|
71 |
|
72 |
+
return apiCache.groupList[templateType] = jQuery.getJSON(Brizy_Admin_Rules.url, {
|
73 |
action: "brizy_rule_group_list",
|
74 |
hash: Brizy_Admin_Rules.hash,
|
75 |
version: Brizy_Admin_Data.editorVersion,
|
76 |
+
context: 'template-rules',
|
77 |
+
templateType: templateType
|
78 |
})
|
79 |
},
|
80 |
|
81 |
+
getPostsGroupList: function (postType, templateType) {
|
82 |
|
83 |
+
if (apiCache.postGroupListPromise[postType + templateType])
|
84 |
+
return apiCache.postGroupListPromise[postType + templateType];
|
85 |
|
86 |
+
return apiCache.postGroupListPromise[postType + templateType] = jQuery.getJSON(Brizy_Admin_Rules.url, {
|
87 |
action: "brizy_rule_posts_group_list",
|
88 |
postType: postType,
|
89 |
hash: Brizy_Admin_Rules.hash,
|
90 |
version: Brizy_Admin_Data.editorVersion,
|
91 |
+
context: 'template-rules',
|
92 |
+
templateType: templateType
|
93 |
})
|
94 |
},
|
95 |
|
96 |
+
getArchiveGroupList: function (taxonomy, templateType) {
|
97 |
|
98 |
+
if (apiCache.archiveGroupListPromise[taxonomy + templateType])
|
99 |
+
return apiCache.archiveGroupListPromise[taxonomy + templateType];
|
|
|
100 |
|
101 |
+
return apiCache.archiveGroupListPromise[taxonomy + templateType] = jQuery.getJSON(Brizy_Admin_Rules.url, {
|
102 |
+
action: "brizy_rule_archive_group_list",
|
103 |
+
taxonomy: taxonomy,
|
|
|
|
|
104 |
hash: Brizy_Admin_Rules.hash,
|
105 |
+
version: Brizy_Admin_Data.editorVersion,
|
106 |
+
context: 'template-rules',
|
107 |
+
templateType: templateType
|
108 |
+
})
|
109 |
},
|
110 |
|
111 |
+
|
112 |
getTerms: function (taxonomy) {
|
113 |
if (apiCache.termList[taxonomy])
|
114 |
return apiCache.termList[taxonomy];
|
123 |
});
|
124 |
},
|
125 |
|
126 |
+
validateRule: function (rule) {
|
127 |
|
128 |
var url = new URL(Brizy_Admin_Rules.url);
|
129 |
+
url.searchParams.append('action', 'brizy_validate_rule');
|
130 |
url.searchParams.append('hash', Brizy_Admin_Rules.hash);
|
131 |
url.searchParams.append('post', Brizy_Admin_Rules.id);
|
132 |
url.searchParams.append('version', Brizy_Admin_Data.editorVersion);
|
140 |
contentType: "application/json; charset=utf-8"
|
141 |
});
|
142 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
143 |
};
|
144 |
|
145 |
var actions = {
|
151 |
|
152 |
updateGroups: function (value) {
|
153 |
return function (state) {
|
154 |
+
return {groups: value};
|
155 |
};
|
156 |
},
|
157 |
|
158 |
rule: {
|
159 |
+
update: function (rule) {
|
160 |
+
return function (state) {
|
161 |
+
return rule;
|
162 |
+
};
|
163 |
+
},
|
164 |
+
|
165 |
setType: function (value) {
|
166 |
return function (state) {
|
167 |
return {type: value};
|
186 |
|
187 |
resetRule: function () {
|
188 |
return function (state) {
|
189 |
+
|
190 |
+
switch (state.templateType) {
|
191 |
+
case 'archive':
|
192 |
+
defaultAppliedFor = RULE_TAXONOMY;
|
193 |
+
defaultEntityType = 'category';
|
194 |
+
break;
|
195 |
+
|
196 |
+
default:
|
197 |
+
defaultAppliedFor = RULE_POSTS;
|
198 |
+
defaultEntityType = 'post';
|
199 |
+
break;
|
200 |
+
}
|
201 |
+
|
202 |
+
var defaultRule = {
|
203 |
+
type: RULE_TYPE_INCLUDE,
|
204 |
+
appliedFor: defaultAppliedFor,
|
205 |
+
entityType: defaultEntityType,
|
206 |
+
entityValues: []
|
207 |
+
};
|
208 |
+
|
209 |
+
|
210 |
return {errors: "", rule: defaultRule};
|
211 |
};
|
212 |
},
|
215 |
return {errors: errors};
|
216 |
};
|
217 |
},
|
218 |
+
|
219 |
+
addRule: function (rule) {
|
220 |
return function (state) {
|
221 |
+
return {
|
222 |
+
rules: {[state.templateType]: [...state.rules[state.templateType], rule]}
|
223 |
+
};
|
224 |
+
};
|
225 |
+
},
|
226 |
+
removeRule: function (rule) {
|
227 |
+
return function (state) {
|
228 |
+
return {
|
229 |
+
rules: {
|
230 |
+
[state.templateType]: state.rules[state.templateType].filter(function (arule) {
|
231 |
+
return arule != rule;
|
232 |
+
})
|
233 |
+
}
|
234 |
+
};
|
235 |
+
};
|
236 |
+
},
|
237 |
+
setTemplateType: function (type) {
|
238 |
+
return function (state) {
|
239 |
+
return {
|
240 |
+
templateType: type,
|
241 |
+
// rules: {
|
242 |
+
// single: [],
|
243 |
+
// archive: [],
|
244 |
+
// single_product: [],
|
245 |
+
// product_archive: [],
|
246 |
+
// }
|
247 |
+
};
|
248 |
};
|
249 |
}
|
250 |
};
|
251 |
|
252 |
+
function arr_diff(a1, a2) {
|
253 |
+
|
254 |
+
var a = [], diff = [];
|
255 |
+
|
256 |
+
for (var i = 0; i < a1.length; i++) {
|
257 |
+
a[a1[i]] = true;
|
258 |
+
}
|
259 |
+
|
260 |
+
for (var i = 0; i < a2.length; i++) {
|
261 |
+
if (a[a2[i]]) {
|
262 |
+
delete a[a2[i]];
|
263 |
+
} else {
|
264 |
+
a[a2[i]] = true;
|
265 |
+
}
|
266 |
+
}
|
267 |
+
|
268 |
+
for (var k in a) {
|
269 |
+
diff.push(k);
|
270 |
+
}
|
271 |
+
|
272 |
+
return diff;
|
273 |
+
}
|
274 |
+
|
275 |
+
|
276 |
var RuleTypeField = function (params) {
|
277 |
return function (state, action) {
|
278 |
return h(
|
279 |
"span",
|
280 |
+
{
|
281 |
+
class: "brizy-rule-select",
|
282 |
+
},
|
283 |
+
|
284 |
h(
|
285 |
"select",
|
286 |
{
|
287 |
+
name: params.name,
|
288 |
+
style: {width: "100px"},
|
289 |
+
oncreate: function (element) {
|
290 |
+
var el = jQuery(element);
|
291 |
+
el.on("change", params.onChange);
|
292 |
+
el.select2();
|
293 |
+
},
|
294 |
+
onremove: function (element, done) {
|
295 |
+
jQuery(element).select2("destroy");
|
296 |
+
done();
|
297 |
+
},
|
298 |
onchange: function (e) {
|
299 |
action.rule.setType(e.target.value);
|
300 |
}
|
322 |
};
|
323 |
};
|
324 |
|
325 |
+
var BrzSelect2 = function (params) {
|
326 |
|
327 |
var oncreate = function (element) {
|
328 |
|
329 |
var el = jQuery(element);
|
330 |
+
el.on("change", params.onChange);
|
331 |
+
el.select2();
|
332 |
+
|
|
|
333 |
if (typeof params.optionRequest === 'function') {
|
334 |
const optionRequest = params.optionRequest();
|
335 |
|
339 |
options.forEach(function (option) {
|
340 |
el.append(option);
|
341 |
});
|
342 |
+
el.trigger("change");
|
343 |
});
|
344 |
} else {
|
345 |
var options = params.convertResponseToOptions(optionRequest);
|
346 |
options.forEach(function (option) {
|
347 |
el.append(option);
|
348 |
});
|
|
|
|
|
349 |
|
350 |
+
el.trigger("change");
|
351 |
+
}
|
352 |
}
|
353 |
};
|
354 |
|
355 |
var onremove = function (element, done) {
|
356 |
+
jQuery(element).select2("destroy");
|
|
|
|
|
357 |
done();
|
358 |
};
|
359 |
|
363 |
key: params.id + '|' + params.value,
|
364 |
akey: params.id + '|' + params.value,
|
365 |
style: params.style,
|
|
|
366 |
oncreate: oncreate,
|
367 |
onremove: onremove,
|
368 |
+
onchange: params.onChange,
|
369 |
+
name: params.name,
|
370 |
},
|
371 |
[]
|
372 |
);
|
373 |
};
|
374 |
|
375 |
+
var RulePostsGroupSelectField = function (params) {
|
376 |
+
|
377 |
+
var appliedFor = params.rule.appliedFor;
|
378 |
+
var entityType = params.rule.entityType;
|
379 |
+
var value = String(params.rule.entityValues[0] ? params.rule.entityValues[0] : '');
|
380 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
381 |
var convertResponseToOptions = function (response) {
|
382 |
+
var groups = [];
|
383 |
+
groups.push(new Option("All", '', false, value === ''));
|
384 |
+
response.data.forEach(function (group) {
|
385 |
+
|
386 |
+
if (group.title === "") {
|
387 |
+
group.items.forEach(function (option) {
|
388 |
+
var optionValue = String(option.value);
|
389 |
+
groups.push(new Option(option.title, optionValue, false, params.rule.entityValues.includes(optionValue)));
|
390 |
+
});
|
391 |
+
} else {
|
392 |
+
var groupElement = document.createElement("OPTGROUP");
|
393 |
+
groupElement.label = group.title;
|
394 |
+
|
395 |
+
if (group.items.length > 0) {
|
396 |
+
group.items.forEach(function (option) {
|
397 |
+
var optionValue = String(option.value);
|
398 |
+
groupElement.appendChild(new Option(option.title, optionValue, false, params.rule.entityValues.includes(optionValue)))
|
399 |
+
});
|
400 |
+
groups.push(groupElement);
|
401 |
+
}
|
402 |
+
}
|
403 |
});
|
404 |
+
|
405 |
+
return groups;
|
406 |
};
|
407 |
|
408 |
+
|
409 |
return h(
|
410 |
BrzSelect2,
|
411 |
{
|
412 |
+
id: "post-groups-" + entityType,
|
413 |
style: params.style ? params.style : {width: "200px"},
|
414 |
+
name: params.name,
|
415 |
optionRequest: function () {
|
416 |
+
return api.getPostsGroupList(entityType, params.type);
|
417 |
},
|
418 |
convertResponseToOptions: convertResponseToOptions,
|
419 |
onChange: params.onChange,
|
|
|
420 |
},
|
421 |
[]
|
422 |
);
|
423 |
};
|
424 |
|
425 |
+
var RuleArchiveGroupSelectField = function (params) {
|
426 |
|
427 |
var appliedFor = params.rule.appliedFor;
|
428 |
+
var taxonomy = params.rule.entityType;
|
429 |
var value = String(params.rule.entityValues[0] ? params.rule.entityValues[0] : '');
|
430 |
|
431 |
var convertResponseToOptions = function (response) {
|
458 |
return h(
|
459 |
BrzSelect2,
|
460 |
{
|
461 |
+
id: "archive-groups-" + params.taxonomy,
|
462 |
style: params.style ? params.style : {width: "200px"},
|
463 |
+
name: params.name,
|
464 |
optionRequest: function () {
|
465 |
+
return api.getArchiveGroupList(taxonomy, params.type);
|
466 |
},
|
467 |
convertResponseToOptions: convertResponseToOptions,
|
468 |
onChange: params.onChange,
|
|
|
469 |
},
|
470 |
[]
|
471 |
);
|
473 |
|
474 |
var RuleApplyGroupField = function (params) {
|
475 |
return function (state, actions) {
|
476 |
+
|
477 |
var appliedFor = params.rule.appliedFor;
|
478 |
var entityType = params.rule.entityType;
|
479 |
var value = appliedFor + "|" + entityType;
|
499 |
});
|
500 |
|
501 |
const attributes = {
|
502 |
+
name: params.name,
|
503 |
+
style: {width: "200px"},
|
504 |
+
class: "brizy-rule-select--options[] ",
|
505 |
onchange: function (e) {
|
506 |
+
var values = e.target.value.split("|");
|
507 |
+
actions.rule.update({
|
508 |
+
appliedFor: values[0],
|
509 |
+
entityType: values[1],
|
510 |
+
entityValues: []
|
511 |
+
});
|
512 |
}
|
513 |
};
|
514 |
|
|
|
|
|
|
|
|
|
515 |
var elements = [
|
516 |
+
h("span", {class: "brizy-rule-select brizy-rule-select2"},
|
517 |
+
h("select", attributes, groups)
|
518 |
+
)
|
519 |
];
|
520 |
|
|
|
521 |
switch (appliedFor) {
|
522 |
case RULE_POSTS:
|
523 |
elements.push(
|
525 |
h(RulePostsGroupSelectField, {
|
526 |
id: appliedFor + value,
|
527 |
rule: params.rule,
|
528 |
+
type: params.type,
|
529 |
+
name: params.type ? 'brizy-' + params.type + '-rule-entity-values[]' : '',
|
530 |
onChange: function (e) {
|
531 |
+
if (e.target.value)
|
532 |
+
actions.rule.update({
|
533 |
+
entityValues: [e.target.value],
|
534 |
+
});
|
|
|
|
|
|
|
|
|
535 |
}
|
536 |
})
|
537 |
]));
|
539 |
case RULE_TAXONOMY:
|
540 |
elements.push(
|
541 |
h("span", {class: "brizy-rule-select brizy-rule-select2"}, [
|
542 |
+
h(RuleArchiveGroupSelectField, {
|
543 |
id: appliedFor + value,
|
544 |
rule: params.rule,
|
545 |
+
type: params.type,
|
546 |
taxonomy: entityType,
|
547 |
+
name: params.type ? 'brizy-' + params.type + '-rule-entity-values[]' : '',
|
548 |
onChange: function (e) {
|
549 |
+
if (e.target.value)
|
550 |
+
actions.rule.update({
|
551 |
+
entityValues: [e.target.value],
|
552 |
+
});
|
|
|
|
|
553 |
}
|
554 |
})
|
555 |
]));
|
563 |
var elements = [
|
564 |
h("h4", {}, "Add New Condition"),
|
565 |
h(RuleTypeField, {value: String(params.rule.type)}),
|
566 |
+
h(RuleApplyGroupField, {rule: params.rule, groups: params.groups, type: params.type}),
|
567 |
h("input", {
|
568 |
type: "button",
|
569 |
class: "button",
|
581 |
|
582 |
var RuleListItem = function (params) {
|
583 |
return h("div", {class: "rule", key: params.index}, [
|
584 |
+
h("span", {class: 'rule-fields'}, [
|
585 |
+
h(RuleTypeField, {value: String(params.rule.type), name: 'brizy-' + params.type + '-rule-type[]'}),
|
586 |
+
h(RuleApplyGroupField, {
|
587 |
+
rule: params.rule,
|
588 |
+
groups: params.groups,
|
589 |
+
type: params.type,
|
590 |
+
name: 'brizy-' + params.type + '-rule-group[]'
|
591 |
+
}),
|
592 |
+
h('div', {class: 'overlay'}, [])
|
593 |
+
]),
|
594 |
h("input", {
|
595 |
class: "brizy-delete-rule ",
|
596 |
type: "button",
|
614 |
index: index,
|
615 |
rule: rule,
|
616 |
groups: params.groups,
|
617 |
+
onDelete: params.onDelete,
|
618 |
+
type: params.type
|
619 |
})
|
620 |
);
|
621 |
});
|
623 |
return h("div", {}, elements);
|
624 |
};
|
625 |
|
626 |
+
var TemplateTypeSelect = function (params) {
|
627 |
+
return h(
|
628 |
+
"fieldset", {class: 'brizy-template-type'}, [
|
629 |
+
h('h4', {}, 'Template Type'),
|
630 |
+
h('label', {}, [
|
631 |
+
h('input', {
|
632 |
+
type: 'radio',
|
633 |
+
name: 'brizy-template-type',
|
634 |
+
onchange: params.onChange,
|
635 |
+
value: 'single',
|
636 |
+
checked: 'single' === params.value
|
637 |
+
}),
|
638 |
+
h('span', {class: "date-time-text format-i18n"}, Brizy_Admin_Rules.labels.single),
|
639 |
+
]),
|
640 |
+
h('label', {}, [
|
641 |
+
h('input', {
|
642 |
+
type: 'radio',
|
643 |
+
name: 'brizy-template-type',
|
644 |
+
onchange: params.onChange,
|
645 |
+
value: 'archive',
|
646 |
+
checked: 'archive' === params.value
|
647 |
+
}),
|
648 |
+
h('span', {class: "date-time-text format-i18n"}, Brizy_Admin_Rules.labels.archive),
|
649 |
+
]),
|
650 |
+
...(Brizy_Admin_Rules.labels.single_product ?
|
651 |
+
[h('label', {}, [
|
652 |
+
h('input', {
|
653 |
+
type: 'radio',
|
654 |
+
name: 'brizy-template-type',
|
655 |
+
onchange: params.onChange,
|
656 |
+
value: 'single_product',
|
657 |
+
checked: 'single_product' === params.value
|
658 |
+
}),
|
659 |
+
h('span', {class: "date-time-text format-i18n"}, Brizy_Admin_Rules.labels.single_product),
|
660 |
+
]), h('label', {}, [
|
661 |
+
h('input', {
|
662 |
+
type: 'radio',
|
663 |
+
name: 'brizy-template-type',
|
664 |
+
onchange: params.onChange,
|
665 |
+
value: 'product_archive',
|
666 |
+
checked: 'product_archive' === params.value
|
667 |
+
}),
|
668 |
+
h('span', {class: "date-time-text format-i18n"}, Brizy_Admin_Rules.labels.product_archive),
|
669 |
+
])] : []),
|
670 |
+
]
|
671 |
+
);
|
672 |
+
};
|
673 |
+
|
674 |
+
var ruleView = function (state, actions) {
|
675 |
+
|
676 |
return h(
|
677 |
"div",
|
678 |
{
|
679 |
oncreate: function () {
|
680 |
+
if (state.templateType != '')
|
681 |
+
api.getGroupList(state.templateType).done(function (response) {
|
682 |
+
actions.updateGroups(response.data)
|
683 |
+
});
|
684 |
+
},
|
685 |
},
|
686 |
[
|
687 |
+
h(
|
688 |
+
TemplateTypeSelect, {
|
689 |
+
value: state.templateType,
|
690 |
+
onChange: function (e) {
|
691 |
+
const type = e.target.value && e.target.value != "null"
|
692 |
+
? e.target.value
|
693 |
+
: null;
|
694 |
+
|
695 |
+
actions.setTemplateType(type);
|
696 |
+
api.getGroupList(type).done(function (response) {
|
697 |
+
actions.updateGroups(response.data);
|
698 |
+
actions.rule.setAppliedFor(String(response.data[0].value));
|
699 |
+
actions.rule.setEntityType(String(response.data[0].items[0].value));
|
700 |
+
});
|
701 |
+
}
|
702 |
+
}, []
|
703 |
+
),
|
704 |
h(RuleList, {
|
705 |
+
type: state.templateType,
|
706 |
+
rules: state.rules[state.templateType] || [],
|
707 |
groups: state.groups,
|
708 |
onDelete: function (rule) {
|
709 |
+
actions.removeRule(rule);
|
|
|
|
|
|
|
|
|
710 |
}
|
711 |
}),
|
712 |
+
state.templateType ? [
|
713 |
+
h(RuleForm, {
|
714 |
+
type: state.templateType,
|
715 |
+
rule: state.rule,
|
716 |
+
groups: state.groups,
|
717 |
+
errors: state.errors,
|
718 |
+
onSubmit: function () {
|
719 |
+
var rules = state.rules[state.templateType] || [];
|
720 |
+
|
721 |
+
try {
|
722 |
+
rules.forEach(rule => {
|
723 |
+
if (rule.type !== state.rule.type) return;
|
724 |
+
if (rule.appliedFor !== state.rule.appliedFor) return;
|
725 |
+
if (rule.entityType !== state.rule.entityType) return;
|
726 |
+
if (arr_diff(rule.entityValues, state.rule.entityValues).length > 0) return;
|
727 |
+
throw 'This rule already exist';
|
728 |
+
|
729 |
+
});
|
730 |
+
} catch (error) {
|
731 |
+
actions.addFormErrors('This rule already exist');
|
732 |
+
return;
|
733 |
}
|
734 |
+
|
735 |
+
api
|
736 |
+
.validateRule(state.rule)
|
737 |
+
.done(function () {
|
738 |
+
actions.addRule(state.rule);
|
739 |
+
actions.resetRule();
|
740 |
+
})
|
741 |
+
.fail(function (response) {
|
742 |
+
if (response.responseJSON && response.responseJSON.data) {
|
743 |
+
if (response.responseJSON.data.message)
|
744 |
+
actions.addFormErrors(response.responseJSON.data.message);
|
745 |
+
else
|
746 |
+
actions.addFormErrors("Failed to add the rule");
|
747 |
+
}
|
748 |
+
});
|
749 |
+
}
|
750 |
+
})] :
|
751 |
+
[],
|
752 |
]
|
753 |
);
|
754 |
};
|
755 |
|
756 |
jQuery(document).ready(function ($) {
|
757 |
+
hyperapp.app(state, actions, ruleView, document.getElementById("rules"));
|
758 |
});
|
759 |
+
|
admin/templates.php
CHANGED
@@ -3,11 +3,17 @@
|
|
3 |
class Brizy_Admin_Templates {
|
4 |
|
5 |
const CP_TEMPLATE = 'brizy_template';
|
|
|
6 |
const CP_TEMPLATES = 'brizy_templates';
|
7 |
const RULE_LIST_VEIW = 'brizy_rule_list_view';
|
8 |
const RULE_TAXONOMY_LIST = 'brizy_taxonomy_list';
|
9 |
const RULE_CREATE = 'brizy_create';
|
10 |
|
|
|
|
|
|
|
|
|
|
|
11 |
/**
|
12 |
* @var Brizy_Editor_Post
|
13 |
*/
|
@@ -45,7 +51,15 @@ class Brizy_Admin_Templates {
|
|
45 |
add_filter( 'post_row_actions', array( $this, 'removeRowActions' ), 10, 1 );
|
46 |
add_action( 'admin_init', array( $this, 'addTemplateRoleCaps' ), 10000 );
|
47 |
add_action( 'admin_enqueue_scripts', array( $this, 'action_register_static' ) );
|
48 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
add_action( 'wp', array( $this, 'templateFrontEnd' ) );
|
50 |
add_action( 'template_include', array( $this, 'templateInclude' ), 20000 );
|
51 |
}
|
@@ -70,43 +84,59 @@ class Brizy_Admin_Templates {
|
|
70 |
return;
|
71 |
}
|
72 |
|
|
|
|
|
73 |
// hyperapp.js is also used in PRO
|
74 |
wp_enqueue_script(
|
75 |
-
Brizy_Editor::
|
76 |
-
|
77 |
array( 'jquery', 'underscore' ),
|
78 |
-
|
79 |
true
|
80 |
);
|
81 |
|
82 |
wp_enqueue_style(
|
83 |
-
Brizy_Editor::
|
84 |
-
|
85 |
array(),
|
86 |
true
|
87 |
);
|
88 |
|
89 |
wp_enqueue_script(
|
90 |
-
Brizy_Editor::
|
91 |
-
|
92 |
array( 'jquery' )
|
93 |
);
|
94 |
|
95 |
wp_enqueue_script(
|
96 |
-
Brizy_Editor::
|
97 |
-
|
98 |
-
array( Brizy_Editor::
|
99 |
-
|
100 |
true
|
101 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
102 |
wp_localize_script(
|
103 |
-
Brizy_Editor::
|
104 |
'Brizy_Admin_Rules',
|
105 |
array(
|
106 |
-
'url'
|
107 |
-
'rules'
|
108 |
-
'hash'
|
109 |
-
'id'
|
|
|
|
|
110 |
)
|
111 |
);
|
112 |
}
|
@@ -189,14 +219,6 @@ class Brizy_Admin_Templates {
|
|
189 |
}
|
190 |
}
|
191 |
|
192 |
-
static public function registerSupportedPostType() {
|
193 |
-
add_filter( 'brizy_supported_post_types', function ( $posts ) {
|
194 |
-
$posts[] = Brizy_Admin_Templates::CP_TEMPLATE;
|
195 |
-
|
196 |
-
return $posts;
|
197 |
-
} );
|
198 |
-
}
|
199 |
-
|
200 |
static public function registerCustomPostTemplate() {
|
201 |
|
202 |
$labels = array(
|
@@ -222,7 +244,7 @@ class Brizy_Admin_Templates {
|
|
222 |
'public' => false,
|
223 |
'has_archive' => false,
|
224 |
'description' => __bt( 'brizy', 'Brizy' ) . ' ' . __( 'templates', 'brizy' ) . '.',
|
225 |
-
'publicly_queryable' =>
|
226 |
'show_ui' => true,
|
227 |
'show_in_menu' => Brizy_Admin_Settings::menu_slug(),
|
228 |
'query_var' => false,
|
@@ -236,10 +258,16 @@ class Brizy_Admin_Templates {
|
|
236 |
'supports' => array( 'title', 'revisions', 'page-attributes' )
|
237 |
)
|
238 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
239 |
}
|
240 |
|
241 |
public function registerTemplateMetaBox() {
|
242 |
-
add_meta_box( 'template-rules', __( 'Display Conditions' ), array(
|
243 |
$this,
|
244 |
'templateRulesBox'
|
245 |
), self::CP_TEMPLATE, 'normal', 'high' );
|
@@ -289,50 +317,10 @@ class Brizy_Admin_Templates {
|
|
289 |
exit;
|
290 |
}
|
291 |
|
292 |
-
// private function get_post_list( $postType, $excludePostType = array() ) {
|
293 |
-
//
|
294 |
-
// global $wp_post_types;
|
295 |
-
//
|
296 |
-
// $post_query = array(
|
297 |
-
// 'post_type' => $postType,
|
298 |
-
// 'posts_per_page' => - 1,
|
299 |
-
// 'post_status' => $postType == 'attachment' ? 'inherit' : array(
|
300 |
-
// 'publish',
|
301 |
-
// 'pending',
|
302 |
-
// 'draft',
|
303 |
-
// 'future',
|
304 |
-
// 'private'
|
305 |
-
// ),
|
306 |
-
// 'orderby' => 'post_title',
|
307 |
-
// 'order' => 'ASC'
|
308 |
-
// );
|
309 |
-
//
|
310 |
-
// $posts = new WP_Query( $post_query );
|
311 |
-
//
|
312 |
-
// $result = array();
|
313 |
-
//
|
314 |
-
// foreach ( $posts->posts as $post ) {
|
315 |
-
//
|
316 |
-
// if ( in_array( $post->post_type, $excludePostType ) ) {
|
317 |
-
// continue;
|
318 |
-
// }
|
319 |
-
//
|
320 |
-
// $result[] = (object) array(
|
321 |
-
// 'ID' => $post->ID,
|
322 |
-
// 'uid' => $this->create_uid( $post->ID ),
|
323 |
-
// 'post_type' => $post->post_type,
|
324 |
-
// 'post_type_label' => $wp_post_types[ $post->post_type ]->label,
|
325 |
-
// 'title' => apply_filters( 'the_title', $post->post_title )
|
326 |
-
// );
|
327 |
-
// }
|
328 |
-
//
|
329 |
-
// return $result;
|
330 |
-
// }
|
331 |
-
|
332 |
|
333 |
/**
|
334 |
-
* @return Brizy_Editor_Post|null
|
335 |
-
* @throws
|
336 |
*/
|
337 |
public function getTemplateForCurrentPage() {
|
338 |
|
@@ -374,16 +362,18 @@ class Brizy_Admin_Templates {
|
|
374 |
}
|
375 |
|
376 |
$templateName = self::getTemplate()->get_template();
|
|
|
377 |
|
378 |
if ( ! $templateName || $templateName == 'default' ) {
|
379 |
-
return
|
380 |
}
|
381 |
|
382 |
if ( in_array( $templateName, array(
|
383 |
Brizy_Config::BRIZY_BLANK_TEMPLATE_FILE_NAME,
|
384 |
Brizy_Config::BRIZY_TEMPLATE_FILE_NAME
|
385 |
) ) ) {
|
386 |
-
|
|
|
387 |
}
|
388 |
|
389 |
return $template;
|
@@ -620,31 +610,77 @@ class Brizy_Admin_Templates {
|
|
620 |
}
|
621 |
|
622 |
if ( $rule ) {
|
623 |
-
|
624 |
switch ( $rule->getAppliedFor() ) {
|
625 |
case Brizy_Admin_Rule::POSTS :
|
626 |
$args = array(
|
627 |
'post_type' => $rule->getEntityType(),
|
628 |
);
|
629 |
|
630 |
-
|
|
|
|
|
|
|
631 |
$args['post__in'] = $rule->getEntityValues();
|
632 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
633 |
$array = get_posts( $args );
|
634 |
|
635 |
return array_pop( $array );
|
636 |
break;
|
637 |
case Brizy_Admin_Rule::TAXONOMY :
|
638 |
-
$args
|
639 |
'taxonomy' => $rule->getEntityType(),
|
640 |
'hide_empty' => false,
|
641 |
);
|
642 |
-
|
643 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
644 |
}
|
645 |
|
646 |
$array = get_terms( $args );
|
647 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
648 |
return array_pop( $array );
|
649 |
break;
|
650 |
case Brizy_Admin_Rule::ARCHIVE :
|
@@ -658,7 +694,6 @@ class Brizy_Admin_Templates {
|
|
658 |
|
659 |
return array_pop( $authors );
|
660 |
break;
|
661 |
-
|
662 |
case '404':
|
663 |
case 'search':
|
664 |
return null;
|
@@ -667,22 +702,122 @@ class Brizy_Admin_Templates {
|
|
667 |
$get_option = get_option( 'page_for_posts' );
|
668 |
|
669 |
if ( $get_option ) {
|
670 |
-
|
|
|
|
|
671 |
}
|
672 |
break;
|
673 |
case 'front_page':
|
674 |
$get_option = get_option( 'page_on_front' );
|
675 |
|
676 |
if ( $get_option ) {
|
677 |
-
|
|
|
|
|
|
|
678 |
}
|
679 |
break;
|
680 |
}
|
681 |
-
|
682 |
break;
|
683 |
}
|
|
|
|
|
684 |
|
|
|
|
|
|
|
685 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
686 |
}
|
687 |
}
|
688 |
|
3 |
class Brizy_Admin_Templates {
|
4 |
|
5 |
const CP_TEMPLATE = 'brizy_template';
|
6 |
+
const TEMPLATE_TYPE_KEY = 'brizy_template_type';
|
7 |
const CP_TEMPLATES = 'brizy_templates';
|
8 |
const RULE_LIST_VEIW = 'brizy_rule_list_view';
|
9 |
const RULE_TAXONOMY_LIST = 'brizy_taxonomy_list';
|
10 |
const RULE_CREATE = 'brizy_create';
|
11 |
|
12 |
+
const TYPE_SINGLE = 'single';
|
13 |
+
const TYPE_ARCHIVE = 'archive';
|
14 |
+
const TYPE_SINGLE_PRODUCT = 'single_product';
|
15 |
+
const TYPE_PRODUCT_ARCHIVE = 'product_archive';
|
16 |
+
|
17 |
/**
|
18 |
* @var Brizy_Editor_Post
|
19 |
*/
|
51 |
add_filter( 'post_row_actions', array( $this, 'removeRowActions' ), 10, 1 );
|
52 |
add_action( 'admin_init', array( $this, 'addTemplateRoleCaps' ), 10000 );
|
53 |
add_action( 'admin_enqueue_scripts', array( $this, 'action_register_static' ) );
|
54 |
+
add_filter( 'save_post', array( $this, 'save_template_rules' ), 10, 2 );
|
55 |
+
add_action( 'admin_notices', array( $this, 'save_template_rules_notices' ) );
|
56 |
+
} elseif ( ! defined( 'DOING_AJAX' ) &&
|
57 |
+
! is_admin() &&
|
58 |
+
! isset( $_REQUEST[ Brizy_Editor::prefix( '_media' ) ] ) &&
|
59 |
+
! isset( $_REQUEST[ Brizy_Editor::prefix( '_file' ) ] ) &&
|
60 |
+
! isset( $_REQUEST[ Brizy_Editor::prefix( '_attachment' ) ] ) &&
|
61 |
+
! isset( $_REQUEST[ Brizy_Editor::prefix( '_block_screenshot' ) ] ) &&
|
62 |
+
! isset( $_REQUEST[ Brizy_Editor::prefix( '' ) ] ) ) {
|
63 |
add_action( 'wp', array( $this, 'templateFrontEnd' ) );
|
64 |
add_action( 'template_include', array( $this, 'templateInclude' ), 20000 );
|
65 |
}
|
84 |
return;
|
85 |
}
|
86 |
|
87 |
+
$urlBuilder = new Brizy_Editor_UrlBuilder();
|
88 |
+
|
89 |
// hyperapp.js is also used in PRO
|
90 |
wp_enqueue_script(
|
91 |
+
Brizy_Editor::get_slug() . '-hyperapp-js',
|
92 |
+
$urlBuilder->plugin_url( 'admin/static/js/hyperapp.js' ),
|
93 |
array( 'jquery', 'underscore' ),
|
94 |
+
BRIZY_VERSION,
|
95 |
true
|
96 |
);
|
97 |
|
98 |
wp_enqueue_style(
|
99 |
+
Brizy_Editor::get_slug() . '-select2',
|
100 |
+
$urlBuilder->plugin_url( 'vendor/select2/select2/dist/css/select2.min.css' ),
|
101 |
array(),
|
102 |
true
|
103 |
);
|
104 |
|
105 |
wp_enqueue_script(
|
106 |
+
Brizy_Editor::get_slug() . '-select2',
|
107 |
+
$urlBuilder->plugin_url( 'vendor/select2/select2/dist/js/select2.full.min.js' ),
|
108 |
array( 'jquery' )
|
109 |
);
|
110 |
|
111 |
wp_enqueue_script(
|
112 |
+
Brizy_Editor::get_slug() . '-rules',
|
113 |
+
$urlBuilder->plugin_url( 'admin/static/js/rules.js' ),
|
114 |
+
array( Brizy_Editor::get_slug() . '-hyperapp-js' ),
|
115 |
+
BRIZY_VERSION,
|
116 |
true
|
117 |
);
|
118 |
+
|
119 |
+
$templateGroups = [
|
120 |
+
'single' => __( 'Single', 'brizy' ),
|
121 |
+
'archive' => __( 'Archive', 'brizy' ),
|
122 |
+
|
123 |
+
];
|
124 |
+
|
125 |
+
if ( class_exists( 'WooCommerce' ) ) {
|
126 |
+
$templateGroups['single_product'] = __( 'Product', 'brizy' );
|
127 |
+
$templateGroups['product_archive'] = __( 'Product Archive', 'brizy' );
|
128 |
+
}
|
129 |
+
|
130 |
wp_localize_script(
|
131 |
+
Brizy_Editor::get_slug() . '-rules',
|
132 |
'Brizy_Admin_Rules',
|
133 |
array(
|
134 |
+
'url' => set_url_scheme( admin_url( 'admin-ajax.php' ) ),
|
135 |
+
'rules' => $this->ruleManager->getRules( get_the_ID() ),
|
136 |
+
'hash' => wp_create_nonce( Brizy_Admin_Rules_Api::nonce ),
|
137 |
+
'id' => get_the_ID(),
|
138 |
+
'templateType' => Brizy_Admin_Templates::getTemplateType( get_the_ID() ),
|
139 |
+
'labels' => $templateGroups,
|
140 |
)
|
141 |
);
|
142 |
}
|
219 |
}
|
220 |
}
|
221 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
222 |
static public function registerCustomPostTemplate() {
|
223 |
|
224 |
$labels = array(
|
244 |
'public' => false,
|
245 |
'has_archive' => false,
|
246 |
'description' => __bt( 'brizy', 'Brizy' ) . ' ' . __( 'templates', 'brizy' ) . '.',
|
247 |
+
'publicly_queryable' => Brizy_Editor_User::is_user_allowed(),
|
248 |
'show_ui' => true,
|
249 |
'show_in_menu' => Brizy_Admin_Settings::menu_slug(),
|
250 |
'query_var' => false,
|
258 |
'supports' => array( 'title', 'revisions', 'page-attributes' )
|
259 |
)
|
260 |
);
|
261 |
+
|
262 |
+
add_filter( 'brizy_supported_post_types', function ( $posts ) {
|
263 |
+
$posts[] = self::CP_TEMPLATE;
|
264 |
+
|
265 |
+
return $posts;
|
266 |
+
} );
|
267 |
}
|
268 |
|
269 |
public function registerTemplateMetaBox() {
|
270 |
+
add_meta_box( 'template-rules', __( 'Display Conditions', 'brizy' ), array(
|
271 |
$this,
|
272 |
'templateRulesBox'
|
273 |
), self::CP_TEMPLATE, 'normal', 'high' );
|
317 |
exit;
|
318 |
}
|
319 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
320 |
|
321 |
/**
|
322 |
+
* @return Brizy_Editor_Post|mixed|null
|
323 |
+
* @throws Exception
|
324 |
*/
|
325 |
public function getTemplateForCurrentPage() {
|
326 |
|
362 |
}
|
363 |
|
364 |
$templateName = self::getTemplate()->get_template();
|
365 |
+
$urlBuilder = new Brizy_Editor_UrlBuilder();
|
366 |
|
367 |
if ( ! $templateName || $templateName == 'default' ) {
|
368 |
+
return $urlBuilder->plugin_path( 'public/views/templates/' . Brizy_Config::BRIZY_TEMPLATE_FILE_NAME );
|
369 |
}
|
370 |
|
371 |
if ( in_array( $templateName, array(
|
372 |
Brizy_Config::BRIZY_BLANK_TEMPLATE_FILE_NAME,
|
373 |
Brizy_Config::BRIZY_TEMPLATE_FILE_NAME
|
374 |
) ) ) {
|
375 |
+
|
376 |
+
return $urlBuilder->plugin_path( '/public/views/templates/' . $templateName );
|
377 |
}
|
378 |
|
379 |
return $template;
|
610 |
}
|
611 |
|
612 |
if ( $rule ) {
|
|
|
613 |
switch ( $rule->getAppliedFor() ) {
|
614 |
case Brizy_Admin_Rule::POSTS :
|
615 |
$args = array(
|
616 |
'post_type' => $rule->getEntityType(),
|
617 |
);
|
618 |
|
619 |
+
$entities = $rule->getEntityValues();
|
620 |
+
|
621 |
+
// if this is an array with more that one items
|
622 |
+
if ( count( $rule->getEntityValues() ) > 1 ) {
|
623 |
$args['post__in'] = $rule->getEntityValues();
|
624 |
}
|
625 |
+
|
626 |
+
// check if there are complex rules like in category or child of category
|
627 |
+
if ( count( $rule->getEntityValues() ) == 1 ) {
|
628 |
+
|
629 |
+
if ( is_numeric( $entities[0] ) ) {
|
630 |
+
$args['post__in'] = $rule->getEntityValues();
|
631 |
+
} else {
|
632 |
+
$parts = explode( '|', $entities[0] );
|
633 |
+
|
634 |
+
if ( count( $parts ) > 1 ) {
|
635 |
+
$args[ $parts[1] ] = [ $parts[2] ];
|
636 |
+
}
|
637 |
+
}
|
638 |
+
}
|
639 |
+
|
640 |
+
$args["meta_query"] = array(
|
641 |
+
array(
|
642 |
+
"key" => "brizy",
|
643 |
+
'compare' => 'NOT EXISTS'
|
644 |
+
)
|
645 |
+
);
|
646 |
+
|
647 |
$array = get_posts( $args );
|
648 |
|
649 |
return array_pop( $array );
|
650 |
break;
|
651 |
case Brizy_Admin_Rule::TAXONOMY :
|
652 |
+
$args = array(
|
653 |
'taxonomy' => $rule->getEntityType(),
|
654 |
'hide_empty' => false,
|
655 |
);
|
656 |
+
$entities = $rule->getEntityValues();
|
657 |
+
foreach ( $entities as $val ) {
|
658 |
+
if ( is_numeric( $val ) ) {
|
659 |
+
$args['term_taxonomy_id'][] = $val;
|
660 |
+
} else {
|
661 |
+
$parts = explode( '|', $entities[0] );
|
662 |
+
|
663 |
+
if ( count( $parts ) > 1 ) {
|
664 |
+
$args['term_taxonomy_id'][] = $parts[2];
|
665 |
+
}
|
666 |
+
}
|
667 |
}
|
668 |
|
669 |
$array = get_terms( $args );
|
670 |
|
671 |
+
$term = array_pop( $array );
|
672 |
+
|
673 |
+
$array = get_posts( [
|
674 |
+
'post_status' => 'publish',
|
675 |
+
'tax_query' => array(
|
676 |
+
array(
|
677 |
+
'taxonomy' => $term->taxonomy,
|
678 |
+
'field' => 'term_id',
|
679 |
+
'terms' => $term->term_id,
|
680 |
+
)
|
681 |
+
)
|
682 |
+
] );
|
683 |
+
|
684 |
return array_pop( $array );
|
685 |
break;
|
686 |
case Brizy_Admin_Rule::ARCHIVE :
|
694 |
|
695 |
return array_pop( $authors );
|
696 |
break;
|
|
|
697 |
case '404':
|
698 |
case 'search':
|
699 |
return null;
|
702 |
$get_option = get_option( 'page_for_posts' );
|
703 |
|
704 |
if ( $get_option ) {
|
705 |
+
$post = Brizy_Editor_Post::get( $get_option );
|
706 |
+
|
707 |
+
return $post->uses_editor() ? null : get_post( $get_option );
|
708 |
}
|
709 |
break;
|
710 |
case 'front_page':
|
711 |
$get_option = get_option( 'page_on_front' );
|
712 |
|
713 |
if ( $get_option ) {
|
714 |
+
|
715 |
+
$post = Brizy_Editor_Post::get( $get_option );
|
716 |
+
|
717 |
+
return $post->uses_editor() ? null : get_post( $get_option );
|
718 |
}
|
719 |
break;
|
720 |
}
|
|
|
721 |
break;
|
722 |
}
|
723 |
+
}
|
724 |
+
}
|
725 |
|
726 |
+
public function save_template_rules_notices() {
|
727 |
+
if ( ! empty( $_SESSION['brizy_rules_admin_notices'] ) ) {
|
728 |
+
print $_SESSION['brizy_rules_admin_notices'];
|
729 |
}
|
730 |
+
unset ( $_SESSION['brizy_rules_admin_notices'] );
|
731 |
+
}
|
732 |
+
|
733 |
+
public function save_template_rules( $post_id ) {
|
734 |
+
|
735 |
+
|
736 |
+
if ( $parent_id = wp_is_post_revision( $post_id ) ) {
|
737 |
+
$post_id = $parent_id;
|
738 |
+
}
|
739 |
+
|
740 |
+
// set template type from $_POST
|
741 |
+
$type = null;
|
742 |
+
if ( isset( $_POST['brizy-template-type'] ) ) {
|
743 |
+
$type = strtolower( $_POST['brizy-template-type'] );
|
744 |
+
if ( in_array( $type, [
|
745 |
+
self::TYPE_SINGLE,
|
746 |
+
self::TYPE_ARCHIVE,
|
747 |
+
self::TYPE_PRODUCT_ARCHIVE,
|
748 |
+
self::TYPE_SINGLE_PRODUCT
|
749 |
+
] ) ) {
|
750 |
+
self::setTemplateType( $post_id, $type );
|
751 |
+
}
|
752 |
+
} else {
|
753 |
+
return;
|
754 |
+
}
|
755 |
+
|
756 |
+
// get rules from $_POST
|
757 |
+
$rules = [];
|
758 |
+
if ( $type && isset( $_POST[ 'brizy-' . $type . '-rule-type' ] ) && is_array( $_POST[ 'brizy-' . $type . '-rule-type' ] ) ) {
|
759 |
+
foreach ( $_POST[ 'brizy-' . $type . '-rule-type' ] as $i => $ruleType ) {
|
760 |
+
|
761 |
+
// ignore this rule if type is invalid
|
762 |
+
if ( ! in_array( (int) $ruleType, [
|
763 |
+
Brizy_Admin_Rule::TYPE_EXCLUDE,
|
764 |
+
Brizy_Admin_Rule::TYPE_INCLUDE
|
765 |
+
] ) ) {
|
766 |
+
continue;
|
767 |
+
}
|
768 |
+
|
769 |
+
$values = explode( "|", $_POST[ 'brizy-' . $type . '-rule-group' ][ $i ] );
|
770 |
+
list( $appliedFor, $entityType ) = $values;
|
771 |
+
|
772 |
+
// ingnore invalid group value
|
773 |
+
if ( ! $appliedFor || ! $entityType ) {
|
774 |
+
continue;
|
775 |
+
}
|
776 |
+
|
777 |
+
$entityValues = [];
|
778 |
+
if ( isset( $_POST[ 'brizy-' . $type . '-rule-entity-values' ][ $i ] ) ) {
|
779 |
+
$entityValues = (array) $_POST[ 'brizy-' . $type . '-rule-entity-values' ][ $i ];
|
780 |
+
}
|
781 |
+
|
782 |
+
$rules[] = new Brizy_Admin_Rule( null, $ruleType, $appliedFor, $entityType, $entityValues );
|
783 |
+
}
|
784 |
+
}
|
785 |
+
|
786 |
+
try {
|
787 |
+
// validate rule
|
788 |
+
$ruleValidator = Brizy_Admin_Rules_ValidatorFactory::getValidator( $post_id );
|
789 |
+
|
790 |
+
if ( ! $ruleValidator ) {
|
791 |
+
$_SESSION['brizy_rules_admin_notices'] = '<div class="error"><p>Brizy: Unable to get the rule validator for this post type.</p></div>';
|
792 |
+
}
|
793 |
+
|
794 |
+
$ruleValidator->validateRulesForPostId( $rules, $post_id );
|
795 |
+
|
796 |
+
$ruleManager = new Brizy_Admin_Rules_Manager();
|
797 |
+
$ruleManager->setRules( $post_id, $rules );
|
798 |
+
|
799 |
+
} catch ( Brizy_Editor_Exceptions_DataVersionMismatch $e ) {
|
800 |
+
$_SESSION['brizy_rules_admin_notices'] = '<div class="error"><p>Brizy:Invalid data version.</p></div>';
|
801 |
+
} catch ( Exception $e ) {
|
802 |
+
$_SESSION['brizy_rules_admin_notices'] = '<div class="error"><p>' . $e->getMessage() . '.</p></div>';
|
803 |
+
}
|
804 |
+
}
|
805 |
+
|
806 |
+
/**
|
807 |
+
* @param $id
|
808 |
+
*
|
809 |
+
* @return mixed
|
810 |
+
*/
|
811 |
+
public static function getTemplateType( $id ) {
|
812 |
+
return get_post_meta( $id, self::TEMPLATE_TYPE_KEY, true );
|
813 |
+
}
|
814 |
+
|
815 |
+
/**
|
816 |
+
* @param $id
|
817 |
+
* @param $type
|
818 |
+
*/
|
819 |
+
public static function setTemplateType( $id, $type ) {
|
820 |
+
update_post_meta( $id, self::TEMPLATE_TYPE_KEY, $type );
|
821 |
}
|
822 |
}
|
823 |
|
admin/views/cloud/cloud-base.html.twig
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="cloud-form">
|
2 |
+
<h2>Cloud</h2>
|
3 |
+
{% block content %}
|
4 |
+
|
5 |
+
{% endblock %}
|
6 |
+
</div>
|
admin/views/cloud/cloud-login.html.twig
ADDED
@@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{% extends "cloud-base.html.twig" %}
|
2 |
+
|
3 |
+
{% block content %}
|
4 |
+
<form method="post">
|
5 |
+
{{ nonce | raw }}
|
6 |
+
|
7 |
+
<table class="form-table">
|
8 |
+
<tr>
|
9 |
+
<th scope="row">
|
10 |
+
<label for="cloud-username">User name</label>
|
11 |
+
</th>
|
12 |
+
<td>
|
13 |
+
<input name="cloud-username" type="text" value="{{ username }}" class="regular-text"
|
14 |
+
id="cloud-username"/>
|
15 |
+
</td>
|
16 |
+
</tr>
|
17 |
+
<tr>
|
18 |
+
<th scope="row">
|
19 |
+
<label for="cloud-password">Password</label>
|
20 |
+
</th>
|
21 |
+
<td>
|
22 |
+
<input name="cloud-password" type="password" value="{{ password }}" class="regular-text"
|
23 |
+
id="cloud-password"/>
|
24 |
+
</td>
|
25 |
+
</tr>
|
26 |
+
</table>
|
27 |
+
<p class="submit">
|
28 |
+
<input type="submit" name="brizy-cloud-login" id="submit" class="button button-primary"
|
29 |
+
value="Login">
|
30 |
+
</p>
|
31 |
+
</form>
|
32 |
+
{% endblock %}
|
admin/views/cloud/cloud-projects.html.twig
ADDED
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{% extends "cloud-base.html.twig" %}
|
2 |
+
|
3 |
+
{% block content %}
|
4 |
+
|
5 |
+
<p>
|
6 |
+
<a href="{{ logoutUrl }}">Logout</a>
|
7 |
+
</p>
|
8 |
+
<br>
|
9 |
+
|
10 |
+
<h3>Project</h3>
|
11 |
+
{% if containers|length > 0 %}
|
12 |
+
<div class="projects">
|
13 |
+
<form method="post" id="cloud-form" action="{{ pageUrl }}">
|
14 |
+
{{ nonce | raw }}
|
15 |
+
<table class="form-table">
|
16 |
+
<tr>
|
17 |
+
<th scope="row">
|
18 |
+
<label for="project-account">Select Account</label>
|
19 |
+
</th>
|
20 |
+
<td>
|
21 |
+
<select name="brizy-cloud-use-container" id="project-account" class="regular-text">
|
22 |
+
{% for container in containers %}
|
23 |
+
<option value="{{ container.id }}" {{ container.id==projectObject.container?'selected':'' }}>{{ container.name }}</option>
|
24 |
+
{% endfor %}
|
25 |
+
</select>
|
26 |
+
</td>
|
27 |
+
</tr>
|
28 |
+
</table>
|
29 |
+
<p class="submit">
|
30 |
+
<input type="submit" name="brizy-cloud-use-project-submit" id="submit" class="button button-primary"
|
31 |
+
value="Save">
|
32 |
+
</p>
|
33 |
+
</form>
|
34 |
+
</div>
|
35 |
+
{% else %}
|
36 |
+
<div class="no-projects">
|
37 |
+
You do not have an account yet.
|
38 |
+
</div>
|
39 |
+
{% endif %}
|
40 |
+
{% endblock %}
|
admin/views/cloud/cloud.html.twig
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="wrap">
|
2 |
+
<h1>Cloud settings</h1>
|
3 |
+
|
4 |
+
|
5 |
+
</div>
|
6 |
+
|
7 |
+
|
admin/views/featured-image.html.twig
CHANGED
@@ -16,45 +16,62 @@
|
|
16 |
</div>
|
17 |
|
18 |
<script>
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
</script>
|
16 |
</div>
|
17 |
|
18 |
<script>
|
19 |
+
jQuery(document).ready(function ($) {
|
20 |
+
(function () {
|
21 |
+
var $focalPointDiv = $('.focal-point');
|
22 |
+
var $focalPointX = $('#_thumbnail_focal_point_x');
|
23 |
+
var $focalPointY = $('#_thumbnail_focal_point_y');
|
24 |
+
var $featuredImageEl = $('#featured-image-el');
|
25 |
+
var isDragging = false;
|
26 |
+
|
27 |
+
$('.brizy-featured-image .wrapper').on('mouseleave', function () {
|
28 |
+
isDragging = false;
|
29 |
+
});
|
30 |
+
|
31 |
+
$featuredImageEl.on('mousedown', function () {
|
32 |
+
isDragging = true;
|
33 |
+
});
|
34 |
+
|
35 |
+
$featuredImageEl.on('mouseup', function () {
|
36 |
+
isDragging = false;
|
37 |
+
});
|
38 |
+
|
39 |
+
$focalPointDiv.on('mouseup', function () {
|
40 |
+
isDragging = false;
|
41 |
+
});
|
42 |
+
|
43 |
+
$focalPointDiv.on('mousedown', function () {
|
44 |
+
isDragging = true;
|
45 |
+
});
|
46 |
+
|
47 |
+
$featuredImageEl.on( 'click mousemove', function ( e ) {
|
48 |
+
if ( ! isDragging && e.type!=='click' ) {
|
49 |
+
return;
|
50 |
+
}
|
51 |
+
|
52 |
+
if ( window.getSelection ) {
|
53 |
+
window.getSelection().removeAllRanges();
|
54 |
+
} else if ( document.selection ) {
|
55 |
+
document.selection.empty();
|
56 |
+
}
|
57 |
+
|
58 |
+
var $this = $(this);
|
59 |
+
var imageW = $this.width();
|
60 |
+
var imageH = $this.height();
|
61 |
+
|
62 |
+
//Calculate FocusPoint coordinates
|
63 |
+
var offsetX = e.pageX - $this.offset().left;
|
64 |
+
var offsetY = e.pageY - $this.offset().top;
|
65 |
+
|
66 |
+
//Calculate CSS Percentages
|
67 |
+
var percentageX = (offsetX / imageW) * 100;
|
68 |
+
var percentageY = (offsetY / imageH) * 100;
|
69 |
+
|
70 |
+
// Set positioning
|
71 |
+
$focalPointDiv.css({left: percentageX.toFixed(0) + '% ', top: percentageY.toFixed(0) + '%'});
|
72 |
+
$focalPointX.val(percentageX.toFixed(0));
|
73 |
+
$focalPointY.val(percentageY.toFixed(0));
|
74 |
+
});
|
75 |
+
})();
|
76 |
+
});
|
77 |
</script>
|
admin/views/optimizer/optimizer-settings.html.twig
CHANGED
@@ -13,7 +13,7 @@
|
|
13 |
<input type="text" name="api_key" value="{{ settings['API_KEY'] }}"
|
14 |
style="width: 230px;">
|
15 |
|
16 |
-
<a href="
|
17 |
target="_blank">{{ __('Get an API key','brizy') }}</a>
|
18 |
</td>
|
19 |
</tr>
|
13 |
<input type="text" name="api_key" value="{{ settings['API_KEY'] }}"
|
14 |
style="width: 230px;">
|
15 |
|
16 |
+
<a href="{{ shortpixel_link }}"
|
17 |
target="_blank">{{ __('Get an API key','brizy') }}</a>
|
18 |
</td>
|
19 |
</tr>
|
brizy.php
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
* Plugin URI: https://brizy.io/
|
6 |
* Author: Brizy.io
|
7 |
* Author URI: https://brizy.io/
|
8 |
-
* Version: 1.0.
|
9 |
* Text Domain: brizy
|
10 |
* License: GPLv3
|
11 |
* Domain Path: /languages
|
@@ -17,10 +17,12 @@ if ( isset( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) && stripos( $_SERVER['HTTP_X_FO
|
|
17 |
$_SERVER['HTTPS'] = 'on';
|
18 |
}
|
19 |
|
|
|
20 |
define( 'BRIZY_DEVELOPMENT', false );
|
21 |
define( 'BRIZY_LOG', false );
|
22 |
-
define( 'BRIZY_VERSION', '1.0.
|
23 |
-
define( 'BRIZY_EDITOR_VERSION', '
|
|
|
24 |
define( 'BRIZY_FILE', __FILE__ );
|
25 |
define( 'BRIZY_PLUGIN_BASE', plugin_basename( BRIZY_FILE ) );
|
26 |
define( 'BRIZY_PLUGIN_PATH', dirname( BRIZY_FILE ) );
|
@@ -44,16 +46,26 @@ function brizy_load() {
|
|
44 |
return;
|
45 |
}
|
46 |
|
|
|
|
|
|
|
47 |
$instance = Brizy_Editor::get();
|
|
|
|
|
48 |
}
|
49 |
|
50 |
function brizy_notices() {
|
51 |
?>
|
52 |
<div class="notice notice-error is-dismissible">
|
53 |
<p>
|
54 |
-
|
55 |
-
|
56 |
-
|
|
|
|
|
|
|
|
|
|
|
57 |
</p>
|
58 |
</div>
|
59 |
<?php
|
@@ -63,7 +75,8 @@ function brizy_upgrade_completed( $upgrader_object, $options ) {
|
|
63 |
if ( $options['action'] == 'update' && $options['type'] == 'plugin' && isset( $options['plugins'] ) ) {
|
64 |
foreach ( $options['plugins'] as $plugin ) {
|
65 |
if ( $plugin == BRIZY_PLUGIN_BASE ) {
|
66 |
-
add_option('brizy-regenerate-permalinks',1 );
|
|
|
67 |
}
|
68 |
}
|
69 |
}
|
@@ -71,12 +84,15 @@ function brizy_upgrade_completed( $upgrader_object, $options ) {
|
|
71 |
|
72 |
function brizy_install() {
|
73 |
Brizy_Logger::install();
|
74 |
-
add_option('brizy-regenerate-permalinks',1 );
|
|
|
75 |
}
|
76 |
|
77 |
function brizy_clean() {
|
78 |
Brizy_Logger::clean();
|
79 |
-
add_option('brizy-regenerate-permalinks',1 );
|
|
|
80 |
}
|
81 |
|
82 |
new Brizy_Compatibilities_Init();
|
|
5 |
* Plugin URI: https://brizy.io/
|
6 |
* Author: Brizy.io
|
7 |
* Author URI: https://brizy.io/
|
8 |
+
* Version: 1.0.127
|
9 |
* Text Domain: brizy
|
10 |
* License: GPLv3
|
11 |
* Domain Path: /languages
|
17 |
$_SERVER['HTTPS'] = 'on';
|
18 |
}
|
19 |
|
20 |
+
|
21 |
define( 'BRIZY_DEVELOPMENT', false );
|
22 |
define( 'BRIZY_LOG', false );
|
23 |
+
define( 'BRIZY_VERSION', '1.0.127' );
|
24 |
+
define( 'BRIZY_EDITOR_VERSION', '149-wp' );
|
25 |
+
define( 'BRIZY_SYNC_VERSION', '149' );
|
26 |
define( 'BRIZY_FILE', __FILE__ );
|
27 |
define( 'BRIZY_PLUGIN_BASE', plugin_basename( BRIZY_FILE ) );
|
28 |
define( 'BRIZY_PLUGIN_PATH', dirname( BRIZY_FILE ) );
|
46 |
return;
|
47 |
}
|
48 |
|
49 |
+
if (!session_id())
|
50 |
+
session_start();
|
51 |
+
|
52 |
$instance = Brizy_Editor::get();
|
53 |
+
|
54 |
+
do_action( 'brizy_plugin_included' );
|
55 |
}
|
56 |
|
57 |
function brizy_notices() {
|
58 |
?>
|
59 |
<div class="notice notice-error is-dismissible">
|
60 |
<p>
|
61 |
+
<?php
|
62 |
+
printf(
|
63 |
+
__( '%1$s requires PHP version 5.6+, you currently running PHP %2$s. <b>%3$s IS NOT RUNNING.</b>', 'brizy' ),
|
64 |
+
__bt( 'brizy', 'Brizy' ),
|
65 |
+
PHP_VERSION,
|
66 |
+
strtoupper( __bt( 'brizy', 'Brizy' ) )
|
67 |
+
);
|
68 |
+
?>
|
69 |
</p>
|
70 |
</div>
|
71 |
<?php
|
75 |
if ( $options['action'] == 'update' && $options['type'] == 'plugin' && isset( $options['plugins'] ) ) {
|
76 |
foreach ( $options['plugins'] as $plugin ) {
|
77 |
if ( $plugin == BRIZY_PLUGIN_BASE ) {
|
78 |
+
add_option( 'brizy-regenerate-permalinks', 1 );
|
79 |
+
do_action('brizy-updated');
|
80 |
}
|
81 |
}
|
82 |
}
|
84 |
|
85 |
function brizy_install() {
|
86 |
Brizy_Logger::install();
|
87 |
+
add_option( 'brizy-regenerate-permalinks', 1 );
|
88 |
+
do_action('brizy-activated');
|
89 |
}
|
90 |
|
91 |
function brizy_clean() {
|
92 |
Brizy_Logger::clean();
|
93 |
+
add_option( 'brizy-regenerate-permalinks', 1 );
|
94 |
+
do_action('brizy-deactivated');
|
95 |
}
|
96 |
|
97 |
new Brizy_Compatibilities_Init();
|
98 |
+
|
compatibilities/autoptimize.php
CHANGED
@@ -12,7 +12,7 @@ class Brizy_Compatibilities_Autoptimize {
|
|
12 |
* When we are in post build mode with brizy we disable it.
|
13 |
*/
|
14 |
public function disable_js_optimize() {
|
15 |
-
if ( isset( $_GET[
|
16 |
add_filter( 'autoptimize_filter_js_noptimize', '__return_true' );
|
17 |
add_filter( 'autoptimize_filter_css_noptimize', '__return_true' );
|
18 |
}
|
12 |
* When we are in post build mode with brizy we disable it.
|
13 |
*/
|
14 |
public function disable_js_optimize() {
|
15 |
+
if ( isset( $_GET[ Brizy_Editor::prefix('-edit-iframe') ] ) ) {
|
16 |
add_filter( 'autoptimize_filter_js_noptimize', '__return_true' );
|
17 |
add_filter( 'autoptimize_filter_css_noptimize', '__return_true' );
|
18 |
}
|
compatibilities/fast-velocity-minify.php
CHANGED
@@ -1,16 +1,17 @@
|
|
1 |
<?php
|
|
|
2 |
/**
|
3 |
* Compatibility with Fast Velocity Minify plugin: https://wordpress.org/plugins/fast-velocity-minify/
|
4 |
*/
|
5 |
class Brizy_Compatibilities_FastVelocityMinify {
|
6 |
|
7 |
public function __construct() {
|
8 |
-
add_action( 'init',
|
9 |
}
|
10 |
|
11 |
public function remove_actions() {
|
12 |
|
13 |
-
if (
|
14 |
return;
|
15 |
}
|
16 |
|
1 |
<?php
|
2 |
+
|
3 |
/**
|
4 |
* Compatibility with Fast Velocity Minify plugin: https://wordpress.org/plugins/fast-velocity-minify/
|
5 |
*/
|
6 |
class Brizy_Compatibilities_FastVelocityMinify {
|
7 |
|
8 |
public function __construct() {
|
9 |
+
add_action( 'init', array( $this, 'remove_actions' ), 9 );
|
10 |
}
|
11 |
|
12 |
public function remove_actions() {
|
13 |
|
14 |
+
if ( ! isset( $_GET[ Brizy_Editor::prefix( '-edit' ) ] ) && ! isset( $_GET[ Brizy_Editor::prefix( '-edit-iframe' ) ] ) ) {
|
15 |
return;
|
16 |
}
|
17 |
|
compatibilities/gutenberg.php
CHANGED
@@ -7,8 +7,6 @@ class Brizy_Compatibilities_Gutenberg {
|
|
7 |
add_action( 'admin_print_scripts-edit.php', array( $this, 'add_edit_button_to_gutenberg' ), 12 );
|
8 |
add_action( 'admin_init', array( $this, 'action_disable_gutenberg' ) );
|
9 |
add_action( 'admin_footer', array( $this, 'print_admin_footer_tpls' ) );
|
10 |
-
add_action( 'rest_api_init', array( $this, 'create_feature_image_focal_point_field' ) );
|
11 |
-
|
12 |
}
|
13 |
|
14 |
|
@@ -77,7 +75,7 @@ class Brizy_Compatibilities_Gutenberg {
|
|
77 |
}
|
78 |
|
79 |
$continueUrl = add_query_arg(
|
80 |
-
array(
|
81 |
get_permalink( get_the_ID() )
|
82 |
);
|
83 |
|
@@ -125,18 +123,4 @@ class Brizy_Compatibilities_Gutenberg {
|
|
125 |
|
126 |
}
|
127 |
}
|
128 |
-
|
129 |
-
|
130 |
-
public function create_feature_image_focal_point_field() {
|
131 |
-
register_rest_field( 'page', 'brizy_attachment_focal_point', array(
|
132 |
-
'get_callback' => function ( $post, $field_name, $request ) {
|
133 |
-
return get_post_meta( $post['id'], $field_name, true );
|
134 |
-
},
|
135 |
-
'update_callback' => function ( $meta_value, $post ) {
|
136 |
-
update_post_meta( $post->ID, 'brizy_attachment_focal_point', $meta_value );
|
137 |
-
}
|
138 |
-
)
|
139 |
-
);
|
140 |
-
|
141 |
-
}
|
142 |
}
|
7 |
add_action( 'admin_print_scripts-edit.php', array( $this, 'add_edit_button_to_gutenberg' ), 12 );
|
8 |
add_action( 'admin_init', array( $this, 'action_disable_gutenberg' ) );
|
9 |
add_action( 'admin_footer', array( $this, 'print_admin_footer_tpls' ) );
|
|
|
|
|
10 |
}
|
11 |
|
12 |
|
75 |
}
|
76 |
|
77 |
$continueUrl = add_query_arg(
|
78 |
+
array( Brizy_Editor::prefix('-edit') => '' ),
|
79 |
get_permalink( get_the_ID() )
|
80 |
);
|
81 |
|
123 |
|
124 |
}
|
125 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
126 |
}
|
compatibilities/init.php
CHANGED
@@ -28,10 +28,6 @@ class Brizy_Compatibilities_Init {
|
|
28 |
new Brizy_Compatibilities_WPML();
|
29 |
}
|
30 |
|
31 |
-
if ( $this->is_plugin_active( 'litespeed-cache/litespeed-cache.php' ) ) {
|
32 |
-
new Brizy_Compatibilities_LiteSpeed();
|
33 |
-
}
|
34 |
-
|
35 |
if ( function_exists( 'fvm_cachepath' ) ) {
|
36 |
new Brizy_Compatibilities_FastVelocityMinify();
|
37 |
}
|
@@ -65,6 +61,14 @@ class Brizy_Compatibilities_Init {
|
|
65 |
new Brizy_Compatibilities_BrokenLinkChecker();
|
66 |
}
|
67 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
68 |
}
|
69 |
|
70 |
private function is_plugin_active( $plugin_file ) {
|
28 |
new Brizy_Compatibilities_WPML();
|
29 |
}
|
30 |
|
|
|
|
|
|
|
|
|
31 |
if ( function_exists( 'fvm_cachepath' ) ) {
|
32 |
new Brizy_Compatibilities_FastVelocityMinify();
|
33 |
}
|
61 |
new Brizy_Compatibilities_BrokenLinkChecker();
|
62 |
}
|
63 |
}
|
64 |
+
|
65 |
+
if ( defined( 'LSCWP_V' ) ) {
|
66 |
+
new Brizy_Compatibilities_LiteSpeed();
|
67 |
+
}
|
68 |
+
|
69 |
+
if ( defined( 'TRP_GP_PLUGIN_VERSION' ) ) {
|
70 |
+
new Brizy_Compatibilities_TpAddOnLanguageByGetParameter();
|
71 |
+
}
|
72 |
}
|
73 |
|
74 |
private function is_plugin_active( $plugin_file ) {
|
compatibilities/lite-speed.php
CHANGED
@@ -6,15 +6,12 @@
|
|
6 |
class Brizy_Compatibilities_LiteSpeed {
|
7 |
|
8 |
public function __construct() {
|
9 |
-
|
10 |
-
add_action( 'litespeed_option_html_minify', '__return_false' );
|
11 |
-
add_action( 'litespeed_option_js_minify', '__return_false' );
|
12 |
-
add_action( 'litespeed_option_js_inline_minify', '__return_false' );
|
13 |
-
add_action( 'litespeed_option_js_combine', '__return_false' );
|
14 |
-
add_action( 'litespeed_option_css_minify', '__return_false' );
|
15 |
-
add_action( 'litespeed_option_css_inline_minify', '__return_false' );
|
16 |
-
add_action( 'litespeed_option_css_combine', '__return_false' );
|
17 |
-
add_action( 'litespeed_option_js_http2', '__return_false' );
|
18 |
-
}
|
19 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
}
|
6 |
class Brizy_Compatibilities_LiteSpeed {
|
7 |
|
8 |
public function __construct() {
|
9 |
+
add_action( 'litespeed_init', [ $this, 'litespeed_init' ] );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
}
|
11 |
+
|
12 |
+
public function litespeed_init() {
|
13 |
+
if ( isset( $_GET[ Brizy_Editor::prefix( '-edit' ) ] ) || isset( $_GET[ Brizy_Editor::prefix( '-edit-iframe' ) ] ) ) {
|
14 |
+
do_action( 'litespeed_disable_all', 'brizy edit mode' );
|
15 |
+
}
|
16 |
+
}
|
17 |
}
|
compatibilities/phastpress.php
CHANGED
@@ -10,7 +10,7 @@ class Brizy_Compatibilities_Phastpress {
|
|
10 |
|
11 |
public function disable_phastpress() {
|
12 |
|
13 |
-
if ( ! isset( $_GET['
|
14 |
return;
|
15 |
}
|
16 |
|
10 |
|
11 |
public function disable_phastpress() {
|
12 |
|
13 |
+
if ( ! isset( $_GET[Brizy_Editor::prefix('-edit')] ) && ! isset( $_GET[Brizy_Editor::prefix('-edit-iframe')] ) ) {
|
14 |
return;
|
15 |
}
|
16 |
|
compatibilities/seo-press.php
CHANGED
@@ -7,16 +7,9 @@ class Brizy_Compatibilities_SeoPress {
|
|
7 |
}
|
8 |
|
9 |
/**
|
10 |
-
*
|
11 |
-
* If this image or featured image is not added then
|
12 |
-
* it takes the first image from the post content.
|
13 |
-
* These action is made in the hook wp_head and we
|
14 |
-
* haven't replaced the urls yet. Here's why we see:
|
15 |
-
* <meta name="twitter:image" content="http://@brizy_SITE_URL_PLACEHOLDER@/?
|
16 |
*
|
17 |
-
* @
|
18 |
-
*
|
19 |
-
* @return string
|
20 |
*/
|
21 |
public function fixRewriteRules( $rules ) {
|
22 |
|
7 |
}
|
8 |
|
9 |
/**
|
10 |
+
* @param $rules
|
|
|
|
|
|
|
|
|
|
|
11 |
*
|
12 |
+
* @return array
|
|
|
|
|
13 |
*/
|
14 |
public function fixRewriteRules( $rules ) {
|
15 |
|
compatibilities/sg-optimizer.php
CHANGED
@@ -6,7 +6,7 @@ class Brizy_Compatibilities_SgOptimizer {
|
|
6 |
|
7 |
public function __construct() {
|
8 |
|
9 |
-
if ( isset( $_GET['
|
10 |
|
11 |
add_filter( 'option_siteground_optimizer_optimize_html', '__return_false' );
|
12 |
add_filter( 'option_siteground_optimizer_optimize_javascript', '__return_false' );
|
6 |
|
7 |
public function __construct() {
|
8 |
|
9 |
+
if ( isset( $_GET[Brizy_Editor::prefix('-edit')] ) || isset( $_GET[Brizy_Editor::prefix('-edit-iframe')] ) || isset( $_GET[Brizy_Editor::prefix('_post')] ) ) {
|
10 |
|
11 |
add_filter( 'option_siteground_optimizer_optimize_html', '__return_false' );
|
12 |
add_filter( 'option_siteground_optimizer_optimize_javascript', '__return_false' );
|
compatibilities/tp-add-on-language-by-get-parameter.php
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Compatibility with TranslatePress - Language by GET parameter Add-on: https://wordpress.org/plugins/sg-cachepress/
|
4 |
+
*/
|
5 |
+
class Brizy_Compatibilities_TpAddOnLanguageByGetParameter {
|
6 |
+
|
7 |
+
public function __construct() {
|
8 |
+
add_action( 'brizy_content', [ $this, 'brizy_content' ] );
|
9 |
+
}
|
10 |
+
|
11 |
+
public function brizy_content( $content ) {
|
12 |
+
|
13 |
+
add_filter( 'trp_home_url', [ $this, 'trp_home_url' ], 10, 2 );
|
14 |
+
|
15 |
+
return $content;
|
16 |
+
}
|
17 |
+
|
18 |
+
public function trp_home_url( $new_url, $abs_home ) {
|
19 |
+
return $abs_home;
|
20 |
+
}
|
21 |
+
}
|
compatibilities/webcraftic-clearfy.php
CHANGED
@@ -15,7 +15,7 @@ class Brizy_Compatibilities_WebcrafticClearfy {
|
|
15 |
*/
|
16 |
public function disable_js_optimize( $is_minify ) {
|
17 |
|
18 |
-
if ( isset( $_GET['
|
19 |
return false;
|
20 |
}
|
21 |
|
15 |
*/
|
16 |
public function disable_js_optimize( $is_minify ) {
|
17 |
|
18 |
+
if ( isset( $_GET[Brizy_Editor::prefix('-edit')] ) || isset( $_GET[Brizy_Editor::prefix('-edit-iframe')] ) ) {
|
19 |
return false;
|
20 |
}
|
21 |
|
compatibilities/wordpress-mu-domain-mapping.php
CHANGED
@@ -10,7 +10,7 @@ class Brizy_Compatibilities_WordpressMuDomainMapping {
|
|
10 |
|
11 |
public function remove_redirect_to_mapped_domain() {
|
12 |
|
13 |
-
if ( isset( $_GET['
|
14 |
remove_action( 'template_redirect', 'redirect_to_mapped_domain' );
|
15 |
}
|
16 |
}
|
10 |
|
11 |
public function remove_redirect_to_mapped_domain() {
|
12 |
|
13 |
+
if ( isset( $_GET[Brizy_Editor::prefix('-edit')] ) || isset( $_GET[Brizy_Editor::prefix('-edit-iframe')] ) ) {
|
14 |
remove_action( 'template_redirect', 'redirect_to_mapped_domain' );
|
15 |
}
|
16 |
}
|
compatibilities/wpml.php
CHANGED
@@ -6,8 +6,8 @@
|
|
6 |
class Brizy_Compatibilities_WPML {
|
7 |
|
8 |
public function __construct() {
|
9 |
-
add_action( 'wp_insert_post', array( $this, 'insertNewPost' ), -10000, 3 );
|
10 |
-
add_action( 'wp_insert_post', array( $this, 'duplicatePosts' ), -10000, 3 );
|
11 |
}
|
12 |
|
13 |
/**
|
@@ -18,21 +18,14 @@ class Brizy_Compatibilities_WPML {
|
|
18 |
*
|
19 |
* @throws Brizy_Editor_Exceptions_NotFound
|
20 |
*/
|
21 |
-
public function duplicatePosts($postId
|
22 |
global $wpml_post_translations;
|
23 |
$postType = $post->post_type;
|
24 |
|
25 |
-
if(isset($_POST['langs'])
|
26 |
if ( $wpml_post_translations && is_post_type_translated( $postType ) ) {
|
27 |
$currentBrizyPost = Brizy_Editor_Post::get( (int) $postId );
|
28 |
-
$
|
29 |
-
if ( $originalBrizyPost->uses_editor() && ! $currentBrizyPost->uses_editor() ) {
|
30 |
-
// copy data from original
|
31 |
-
$data = $originalBrizyPost->storage();
|
32 |
-
$storage = $data->get('brizy-post');
|
33 |
-
$currentBrizyPost->loadStorageData( $storage );
|
34 |
-
$currentBrizyPost->save();
|
35 |
-
}
|
36 |
}
|
37 |
}
|
38 |
|
@@ -46,22 +39,15 @@ class Brizy_Compatibilities_WPML {
|
|
46 |
*
|
47 |
* @throws Brizy_Editor_Exceptions_NotFound
|
48 |
*/
|
49 |
-
public function insertNewPost($postId
|
50 |
global $wpml_post_translations;
|
51 |
$postType = $post->post_type;
|
52 |
|
53 |
-
if(isset($_REQUEST['trid']) && isset($_REQUEST['lang']) && isset($_REQUEST['source_lang'])) {
|
54 |
if ( $wpml_post_translations && is_post_type_translated( $postType ) ) {
|
55 |
-
$originalTranslation = $wpml_post_translations->get_element_id($_REQUEST['source_lang'], $_REQUEST['trid']);
|
56 |
-
$
|
57 |
-
$originalBrizyPost
|
58 |
-
if ( $originalTranslation && $originalBrizyPost->uses_editor() && ! $currentBrizyPost->uses_editor() ) {
|
59 |
-
// copy data from original
|
60 |
-
$data = $originalBrizyPost->storage();
|
61 |
-
$storage = $data->get('brizy-post');
|
62 |
-
$currentBrizyPost->loadStorageData( $storage );
|
63 |
-
$currentBrizyPost->save();
|
64 |
-
}
|
65 |
}
|
66 |
}
|
67 |
}
|
6 |
class Brizy_Compatibilities_WPML {
|
7 |
|
8 |
public function __construct() {
|
9 |
+
add_action( 'wp_insert_post', array( $this, 'insertNewPost' ), - 10000, 3 );
|
10 |
+
add_action( 'wp_insert_post', array( $this, 'duplicatePosts' ), - 10000, 3 );
|
11 |
}
|
12 |
|
13 |
/**
|
18 |
*
|
19 |
* @throws Brizy_Editor_Exceptions_NotFound
|
20 |
*/
|
21 |
+
public function duplicatePosts( $postId, $post ) {
|
22 |
global $wpml_post_translations;
|
23 |
$postType = $post->post_type;
|
24 |
|
25 |
+
if ( isset( $_POST['langs'] ) ) {
|
26 |
if ( $wpml_post_translations && is_post_type_translated( $postType ) ) {
|
27 |
$currentBrizyPost = Brizy_Editor_Post::get( (int) $postId );
|
28 |
+
$currentBrizyPost->duplicateTo( (int) $_POST['post_id'] );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
}
|
30 |
}
|
31 |
|
39 |
*
|
40 |
* @throws Brizy_Editor_Exceptions_NotFound
|
41 |
*/
|
42 |
+
public function insertNewPost( $postId, $post ) {
|
43 |
global $wpml_post_translations;
|
44 |
$postType = $post->post_type;
|
45 |
|
46 |
+
if ( isset( $_REQUEST['trid'] ) && isset( $_REQUEST['lang'] ) && isset( $_REQUEST['source_lang'] ) ) {
|
47 |
if ( $wpml_post_translations && is_post_type_translated( $postType ) ) {
|
48 |
+
$originalTranslation = $wpml_post_translations->get_element_id( $_REQUEST['source_lang'], $_REQUEST['trid'] );
|
49 |
+
$originalBrizyPost = Brizy_Editor_Post::get( (int) $originalTranslation );
|
50 |
+
$originalBrizyPost->duplicateTo( (int) $postId );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
}
|
52 |
}
|
53 |
}
|
compatibilities/yoast-seo.php
CHANGED
@@ -3,6 +3,7 @@
|
|
3 |
class Brizy_Compatibilities_YoastSeo {
|
4 |
|
5 |
public function __construct() {
|
|
|
6 |
add_filter( 'wpseo_twitter_image', array( $this, 'wpseo_twitter_image' ) );
|
7 |
}
|
8 |
|
@@ -17,8 +18,51 @@ class Brizy_Compatibilities_YoastSeo {
|
|
17 |
* @param $img_url
|
18 |
*
|
19 |
* @return string
|
|
|
20 |
*/
|
21 |
public function wpseo_twitter_image( $img_url ) {
|
22 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
}
|
24 |
}
|
3 |
class Brizy_Compatibilities_YoastSeo {
|
4 |
|
5 |
public function __construct() {
|
6 |
+
add_filter( 'admin_init', array( $this, 'compile_post' ) );
|
7 |
add_filter( 'wpseo_twitter_image', array( $this, 'wpseo_twitter_image' ) );
|
8 |
}
|
9 |
|
18 |
* @param $img_url
|
19 |
*
|
20 |
* @return string
|
21 |
+
* @throws Exception
|
22 |
*/
|
23 |
public function wpseo_twitter_image( $img_url ) {
|
24 |
+
|
25 |
+
try {
|
26 |
+
$project = Brizy_Editor_Project::get();
|
27 |
+
$context = Brizy_Content_ContextFactory::createContext( $project, null, null, null );
|
28 |
+
$urlBuilder = new Brizy_Editor_UrlBuilder( $project, null );
|
29 |
+
$media_storage = new Brizy_Editor_Asset_MediaProxyStorage( $urlBuilder );
|
30 |
+
$media_processor = new Brizy_Editor_Asset_MediaAssetProcessor( $media_storage );
|
31 |
+
$domain_processor = new Brizy_Editor_Asset_DomainProcessor();
|
32 |
+
$url = $domain_processor->process( $img_url, $context );
|
33 |
+
$url = $media_processor->process( $url, $context );
|
34 |
+
|
35 |
+
return $url;
|
36 |
+
} catch ( Exception $e ) {
|
37 |
+
// do nothing... :) :)
|
38 |
+
}
|
39 |
+
|
40 |
+
return $img_url;
|
41 |
+
}
|
42 |
+
|
43 |
+
public function compile_post() {
|
44 |
+
global $pagenow;
|
45 |
+
|
46 |
+
if ( 'post.php' !== $pagenow ) {
|
47 |
+
return;
|
48 |
+
}
|
49 |
+
|
50 |
+
try {
|
51 |
+
$post = Brizy_Editor_Post::get( $_GET['post'] );
|
52 |
+
|
53 |
+
if ( ! $post->uses_editor() ) {
|
54 |
+
return;
|
55 |
+
}
|
56 |
+
|
57 |
+
$needs_compile = ! $post->isCompiledWithCurrentVersion() || $post->get_needs_compile();
|
58 |
+
|
59 |
+
if ( $needs_compile ) {
|
60 |
+
$post->compile_page();
|
61 |
+
$post->saveStorage();
|
62 |
+
$post->savePost();
|
63 |
+
}
|
64 |
+
|
65 |
+
} catch ( Exception $e ) {
|
66 |
+
}
|
67 |
}
|
68 |
}
|
config.php
CHANGED
@@ -11,6 +11,7 @@ class Brizy_Config {
|
|
11 |
|
12 |
// this seems like it's not used any more. Leaving untouched
|
13 |
const GATEWAY_URI = 'https://api.brizy.io';
|
|
|
14 |
|
15 |
const BRIZY_BLANK_TEMPLATE_FILE_NAME = 'brizy-blank-template.php';
|
16 |
const BRIZY_TEMPLATE_FILE_NAME = 'brizy-header-footer-template.php';
|
@@ -31,6 +32,23 @@ class Brizy_Config {
|
|
31 |
const EDITOR_BUILD_PATH = BRIZY_PLUGIN_PATH . DIRECTORY_SEPARATOR . 'public' . DIRECTORY_SEPARATOR . 'editor-build' . DIRECTORY_SEPARATOR . BRIZY_EDITOR_VERSION;
|
32 |
const EDITOR_BUILD_URL = BRIZY_PLUGIN_URL . '/public/editor-build/'.BRIZY_EDITOR_VERSION;
|
33 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
static public function getCompilerUrls() {
|
35 |
return new Brizy_Admin_UrlIterator(
|
36 |
array(
|
@@ -68,4 +86,4 @@ class Brizy_Config {
|
|
68 |
}
|
69 |
}
|
70 |
|
71 |
-
}
|
11 |
|
12 |
// this seems like it's not used any more. Leaving untouched
|
13 |
const GATEWAY_URI = 'https://api.brizy.io';
|
14 |
+
const CDN = 'http://bzassets.net/upload';
|
15 |
|
16 |
const BRIZY_BLANK_TEMPLATE_FILE_NAME = 'brizy-blank-template.php';
|
17 |
const BRIZY_TEMPLATE_FILE_NAME = 'brizy-header-footer-template.php';
|
32 |
const EDITOR_BUILD_PATH = BRIZY_PLUGIN_PATH . DIRECTORY_SEPARATOR . 'public' . DIRECTORY_SEPARATOR . 'editor-build' . DIRECTORY_SEPARATOR . BRIZY_EDITOR_VERSION;
|
33 |
const EDITOR_BUILD_URL = BRIZY_PLUGIN_URL . '/public/editor-build/'.BRIZY_EDITOR_VERSION;
|
34 |
|
35 |
+
const CLOUD_APP_KEY = 'YTVhMDEwMGUyNGE4OTQ5OWM2NTY3OGM3N2MxNzMzMTBjOWVlNTg0OGM0NWU1NGYzY2QxMGEzOWQ3NWNjMDk3Zg';
|
36 |
+
const CLOUD_ENDPOINT = 'https://www.brizy.cloud';
|
37 |
+
const CLOUD_EDITOR_VERSIONS = '/api/versions';
|
38 |
+
const CLOUD_LIBRARY = '/dev/library';
|
39 |
+
const CLOUD_SIGNIN = '/api/sign_ins';
|
40 |
+
const CLOUD_SIGNUP = '/api/sign_ups';
|
41 |
+
const CLOUD_RESET_PASSWORD = '/api/recover_passwords';
|
42 |
+
const CLOUD_MEDIA = '/api/media';
|
43 |
+
const CLOUD_CONTAINERS = '/api/containers';
|
44 |
+
const CLOUD_PROJECTS = '/api/projects';
|
45 |
+
const CLOUD_SAVEDBLOCKS = '/api/saved_blocks';
|
46 |
+
const CLOUD_FONTS = '/api/fonts';
|
47 |
+
const CLOUD_POPUPS = '/api/saved_popups';
|
48 |
+
const CLOUD_LAYOUTS = '/api/layouts';
|
49 |
+
const CLOUD_SCREENSHOT = '/screenshot/%s';
|
50 |
+
const CLOUD_SCREENSHOTS = '/api/screenshots';
|
51 |
+
|
52 |
static public function getCompilerUrls() {
|
53 |
return new Brizy_Admin_UrlIterator(
|
54 |
array(
|
86 |
}
|
87 |
}
|
88 |
|
89 |
+
}
|
content/placeholder-extractor.php
CHANGED
@@ -22,7 +22,7 @@ class Brizy_Content_PlaceholderExtractor
|
|
22 |
|
23 |
private static function getPlaceholderRegexExpression()
|
24 |
{
|
25 |
-
return "/(?<placeholder>{{\s*(?<placeholderName>.+?)(?<attributes>(?:\s+)((?:\w+\s*=\s*'(?:.[
|
26 |
}
|
27 |
|
28 |
public static function stripPlaceholders($content)
|
22 |
|
23 |
private static function getPlaceholderRegexExpression()
|
24 |
{
|
25 |
+
return "/(?<placeholder>{{\s*(?<placeholderName>.+?)(?<attributes>(?:\s+)((?:\w+\s*=\s*(?:'|\")(?:.[^\"']*|)(?:'|\")\s*)*))?}}(?:(?<content>.*?){{\s*end_(\g{placeholderName})\s*}})?)/ims";;
|
26 |
}
|
27 |
|
28 |
public static function stripPlaceholders($content)
|
content/placeholders/permalink.php
CHANGED
@@ -23,12 +23,10 @@ class Brizy_Content_Placeholders_Permalink extends Brizy_Content_Placeholders_Si
|
|
23 |
*/
|
24 |
public function getValue( Brizy_Content_Context $context, Brizy_Content_ContentPlaceholder $contentPlaceholder ) {
|
25 |
$attributes = $contentPlaceholder->getAttributes();
|
26 |
-
if ( isset( $attributes['post_id'] ) && $attributes['post_id']>0 ) {
|
27 |
return get_permalink( (int) $attributes['post_id'] );
|
28 |
}
|
29 |
|
30 |
return '';
|
31 |
}
|
32 |
-
|
33 |
-
|
34 |
}
|
23 |
*/
|
24 |
public function getValue( Brizy_Content_Context $context, Brizy_Content_ContentPlaceholder $contentPlaceholder ) {
|
25 |
$attributes = $contentPlaceholder->getAttributes();
|
26 |
+
if ( isset( $attributes['post_id'] ) && (int) $attributes['post_id'] > 0 ) {
|
27 |
return get_permalink( (int) $attributes['post_id'] );
|
28 |
}
|
29 |
|
30 |
return '';
|
31 |
}
|
|
|
|
|
32 |
}
|
editor.php
CHANGED
@@ -5,12 +5,19 @@
|
|
5 |
*/
|
6 |
class Brizy_Editor {
|
7 |
|
8 |
-
private static $is_allowed_for_current_user;
|
9 |
-
|
10 |
private static $settings_key = 'post-types';
|
11 |
|
12 |
private static $instance;
|
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
public static function get() {
|
15 |
|
16 |
if ( self::$instance ) {
|
@@ -23,6 +30,48 @@ class Brizy_Editor {
|
|
23 |
}
|
24 |
|
25 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
/**
|
27 |
* Brizy_Editor constructor.
|
28 |
*/
|
@@ -48,13 +97,15 @@ class Brizy_Editor {
|
|
48 |
add_action( 'init', array( $this, 'wordpressInit' ), 1000 );
|
49 |
add_action( 'wp_loaded', array( $this, 'wordpressLoaded' ) );
|
50 |
add_action( 'wp', array( $this, 'wordpressObjectCreated' ) );
|
51 |
-
add_action( 'wp_print_scripts', array($this,'forceJqueryQueue'),99999 );
|
52 |
|
53 |
-
if ( current_user_can( Brizy_Admin_Capabilities::CAP_EDIT_WHOLE_PAGE ) ||
|
54 |
Brizy_Admin_Rules_Api::_init();
|
55 |
}
|
56 |
|
57 |
-
|
|
|
|
|
58 |
|
59 |
}
|
60 |
|
@@ -72,6 +123,12 @@ class Brizy_Editor {
|
|
72 |
|
73 |
public function wordpressInit() {
|
74 |
|
|
|
|
|
|
|
|
|
|
|
|
|
75 |
Brizy_Admin_Templates::_init();
|
76 |
Brizy_Admin_Popups_Main::_init();
|
77 |
Brizy_Admin_FormEntries::_init();
|
@@ -81,8 +138,15 @@ class Brizy_Editor {
|
|
81 |
if ( Brizy_Editor::is_user_allowed() ) {
|
82 |
Brizy_Admin_Svg_Main::_init();
|
83 |
Brizy_Admin_OptimizeImages::_init();
|
|
|
|
|
84 |
}
|
85 |
|
|
|
|
|
|
|
|
|
|
|
86 |
$this->loadShortcodes();
|
87 |
$this->initializeAssetLoaders();
|
88 |
|
@@ -115,8 +179,7 @@ class Brizy_Editor {
|
|
115 |
function brizy_add_dashboard_widgets() {
|
116 |
try {
|
117 |
|
118 |
-
|
119 |
-
|
120 |
} catch ( Exception $e ) {
|
121 |
// ignore this exceptions for now.
|
122 |
}
|
@@ -155,18 +218,17 @@ class Brizy_Editor {
|
|
155 |
if ( $post && $post->uses_editor() ) {
|
156 |
$this->handleFrontEndEditor( $post );
|
157 |
}
|
158 |
-
|
159 |
-
|
160 |
}
|
161 |
|
162 |
public function revisionsToKeep( $num, $post ) {
|
163 |
try {
|
|
|
164 |
if ( in_array( $post->post_type, array( Brizy_Editor_Project::BRIZY_PROJECT ) ) ) {
|
165 |
-
return
|
166 |
}
|
167 |
|
168 |
if ( Brizy_Editor_Post::get( $post )->uses_editor() ) {
|
169 |
-
$num =
|
170 |
}
|
171 |
} catch ( Exception $e ) {
|
172 |
Brizy_Logger::instance()->debug( $e->getMessage(), array( $e ) );
|
@@ -182,7 +244,7 @@ class Brizy_Editor {
|
|
182 |
|
183 |
$this->registerCustomPostTemplates();
|
184 |
|
185 |
-
if(defined('BRIZY_PRO_VERSION')) {
|
186 |
$mainInstance = new BrizyPro_Main();
|
187 |
$mainInstance->registerCustomPosts();
|
188 |
}
|
@@ -207,18 +269,12 @@ class Brizy_Editor {
|
|
207 |
|
208 |
public function registerCustomPostTemplates() {
|
209 |
Brizy_Editor_Project::registerCustomPostType();
|
210 |
-
|
211 |
-
Brizy_Admin_Blocks_Main::registerCustomPosts();
|
212 |
-
Brizy_Admin_Blocks_Main::registerSupportedPostType();
|
213 |
-
|
214 |
Brizy_Admin_Fonts_Main::registerCustomPosts();
|
215 |
Brizy_Admin_FormEntries::registerCustomPost();
|
216 |
-
|
217 |
-
Brizy_Admin_Templates::registerCustomPostTemplate();
|
218 |
-
Brizy_Admin_Templates::registerSupportedPostType();
|
219 |
-
|
220 |
Brizy_Admin_Popups_Main::registerCustomPosts();
|
221 |
-
|
|
|
222 |
}
|
223 |
|
224 |
/**
|
@@ -226,7 +282,7 @@ class Brizy_Editor {
|
|
226 |
*/
|
227 |
public function handleFrontEndEditor( $post ) {
|
228 |
try {
|
229 |
-
$main =
|
230 |
$main->initialize_front_end();
|
231 |
} catch ( Exception $e ) {
|
232 |
Brizy_Logger::instance()->exception( $e );
|
@@ -239,7 +295,7 @@ class Brizy_Editor {
|
|
239 |
public function handleBackEndEditor( $post ) {
|
240 |
|
241 |
try {
|
242 |
-
$main =
|
243 |
$main->initialize_wordpress_editor();
|
244 |
} catch ( Exception $e ) {
|
245 |
Brizy_Logger::instance()->exception( $e );
|
@@ -304,8 +360,8 @@ class Brizy_Editor {
|
|
304 |
}
|
305 |
|
306 |
public function forceJqueryQueue() {
|
307 |
-
if(!wp_script_is('jquery','enqueued')) {
|
308 |
-
wp_enqueue_script('jquery');
|
309 |
}
|
310 |
}
|
311 |
|
@@ -347,8 +403,8 @@ class Brizy_Editor {
|
|
347 |
( isset( $_POST['id'] ) ) {
|
348 |
$pid = (int) $_POST['id'];
|
349 |
} elseif
|
350 |
-
( isset( $_REQUEST['
|
351 |
-
$pid = (int) $_REQUEST['
|
352 |
} elseif ( $wp_query->is_posts_page ) {
|
353 |
$pid = (int) get_queried_object_id();
|
354 |
} elseif
|
@@ -361,13 +417,17 @@ class Brizy_Editor {
|
|
361 |
return $pid;
|
362 |
}
|
363 |
|
|
|
|
|
|
|
|
|
364 |
public static function is_administrator() {
|
365 |
|
366 |
if ( ! is_user_logged_in() ) {
|
367 |
return false;
|
368 |
}
|
369 |
|
370 |
-
return is_super_admin();
|
371 |
}
|
372 |
|
373 |
public static function is_subscriber() {
|
@@ -414,10 +474,6 @@ class Brizy_Editor {
|
|
414 |
return BRIZY_VERSION;
|
415 |
}
|
416 |
|
417 |
-
public function get_slug() {
|
418 |
-
return 'brizy';
|
419 |
-
}
|
420 |
-
|
421 |
/**
|
422 |
* @param $wp_post_id
|
423 |
* @param bool $throw
|
5 |
*/
|
6 |
class Brizy_Editor {
|
7 |
|
|
|
|
|
8 |
private static $settings_key = 'post-types';
|
9 |
|
10 |
private static $instance;
|
11 |
|
12 |
+
|
13 |
+
/**
|
14 |
+
* All plugin ajax actions and enpoints are going to be prefixed with this string.
|
15 |
+
* This will not affect the database prefix tables or option keys and post meta keys *
|
16 |
+
*
|
17 |
+
* @var string
|
18 |
+
*/
|
19 |
+
private static $prefix = null;
|
20 |
+
|
21 |
public static function get() {
|
22 |
|
23 |
if ( self::$instance ) {
|
30 |
}
|
31 |
|
32 |
|
33 |
+
/**
|
34 |
+
* Return the prefix
|
35 |
+
*
|
36 |
+
* @param string $string
|
37 |
+
*
|
38 |
+
* @return string
|
39 |
+
*/
|
40 |
+
public static function prefix( $string = null ) {
|
41 |
+
|
42 |
+
if ( ! self::$prefix ) {
|
43 |
+
$savedPrefix = get_option( 'brizy_prefix', null );
|
44 |
+
|
45 |
+
if ( ! $savedPrefix ) {
|
46 |
+
update_option( 'brizy_prefix', 'brizy' );
|
47 |
+
$savedPrefix = 'brizy';
|
48 |
+
}
|
49 |
+
|
50 |
+
self::$prefix = $savedPrefix;
|
51 |
+
}
|
52 |
+
|
53 |
+
return self::$prefix . trim( $string );
|
54 |
+
}
|
55 |
+
|
56 |
+
/**
|
57 |
+
* Return the prefix
|
58 |
+
*
|
59 |
+
* @param string $string
|
60 |
+
*
|
61 |
+
* @return string
|
62 |
+
*/
|
63 |
+
public static function setPrefix( $string ) {
|
64 |
+
|
65 |
+
if ( $string == '' ) {
|
66 |
+
throw new Exception( 'The prefix cannot be empty' );
|
67 |
+
}
|
68 |
+
|
69 |
+
update_option( 'brizy_prefix', $string );
|
70 |
+
|
71 |
+
return self::$prefix = $string;
|
72 |
+
}
|
73 |
+
|
74 |
+
|
75 |
/**
|
76 |
* Brizy_Editor constructor.
|
77 |
*/
|
97 |
add_action( 'init', array( $this, 'wordpressInit' ), 1000 );
|
98 |
add_action( 'wp_loaded', array( $this, 'wordpressLoaded' ) );
|
99 |
add_action( 'wp', array( $this, 'wordpressObjectCreated' ) );
|
100 |
+
add_action( 'wp_print_scripts', array( $this, 'forceJqueryQueue' ), 99999 );
|
101 |
|
102 |
+
if ( current_user_can( Brizy_Admin_Capabilities::CAP_EDIT_WHOLE_PAGE ) || Brizy_Editor_User::is_administrator() ) {
|
103 |
Brizy_Admin_Rules_Api::_init();
|
104 |
}
|
105 |
|
106 |
+
if(!defined('WP_POST_REVISIONS') || (defined('WP_POST_REVISIONS') && WP_POST_REVISIONS!==false)) {
|
107 |
+
add_filter( "wp_revisions_to_keep", array( $this, 'revisionsToKeep' ), 10, 2 );
|
108 |
+
}
|
109 |
|
110 |
}
|
111 |
|
123 |
|
124 |
public function wordpressInit() {
|
125 |
|
126 |
+
// watch all supported posts and create meta revisions
|
127 |
+
$metaManager = new Brizy_Admin_Post_RevisionManager();
|
128 |
+
$metaManager->addMonitor( new Brizy_Admin_Post_BrizyPostsMonitor() );
|
129 |
+
$metaManager->addMonitor( new Brizy_Admin_Post_ProjectPostMonitor() );
|
130 |
+
|
131 |
+
|
132 |
Brizy_Admin_Templates::_init();
|
133 |
Brizy_Admin_Popups_Main::_init();
|
134 |
Brizy_Admin_FormEntries::_init();
|
138 |
if ( Brizy_Editor::is_user_allowed() ) {
|
139 |
Brizy_Admin_Svg_Main::_init();
|
140 |
Brizy_Admin_OptimizeImages::_init();
|
141 |
+
Brizy_Admin_Layouts_Main::_init();
|
142 |
+
Brizy_Admin_Cloud::_init();
|
143 |
}
|
144 |
|
145 |
+
if ( ! wp_doing_ajax() && Brizy_Editor_Project::get()->getCloudToken() ) {
|
146 |
+
// do not run cron actions on ajax request
|
147 |
+
Brizy_Admin_Cloud_Cron::_init();
|
148 |
+
}
|
149 |
+
|
150 |
$this->loadShortcodes();
|
151 |
$this->initializeAssetLoaders();
|
152 |
|
179 |
function brizy_add_dashboard_widgets() {
|
180 |
try {
|
181 |
|
182 |
+
Brizy_Admin_DashboardWidget::_init();
|
|
|
183 |
} catch ( Exception $e ) {
|
184 |
// ignore this exceptions for now.
|
185 |
}
|
218 |
if ( $post && $post->uses_editor() ) {
|
219 |
$this->handleFrontEndEditor( $post );
|
220 |
}
|
|
|
|
|
221 |
}
|
222 |
|
223 |
public function revisionsToKeep( $num, $post ) {
|
224 |
try {
|
225 |
+
$revisionCount = apply_filters( 'brizy_revisions_max_count', BRIZY_MAX_REVISIONS_TO_KEEP );
|
226 |
if ( in_array( $post->post_type, array( Brizy_Editor_Project::BRIZY_PROJECT ) ) ) {
|
227 |
+
return $revisionCount;
|
228 |
}
|
229 |
|
230 |
if ( Brizy_Editor_Post::get( $post )->uses_editor() ) {
|
231 |
+
$num = $revisionCount;;
|
232 |
}
|
233 |
} catch ( Exception $e ) {
|
234 |
Brizy_Logger::instance()->debug( $e->getMessage(), array( $e ) );
|
244 |
|
245 |
$this->registerCustomPostTemplates();
|
246 |
|
247 |
+
if ( defined( 'BRIZY_PRO_VERSION' ) && class_exists('BrizyPro_Main') ) {
|
248 |
$mainInstance = new BrizyPro_Main();
|
249 |
$mainInstance->registerCustomPosts();
|
250 |
}
|
269 |
|
270 |
public function registerCustomPostTemplates() {
|
271 |
Brizy_Editor_Project::registerCustomPostType();
|
272 |
+
Brizy_Admin_Layouts_Main::registerCustomPosts();
|
|
|
|
|
|
|
273 |
Brizy_Admin_Fonts_Main::registerCustomPosts();
|
274 |
Brizy_Admin_FormEntries::registerCustomPost();
|
|
|
|
|
|
|
|
|
275 |
Brizy_Admin_Popups_Main::registerCustomPosts();
|
276 |
+
Brizy_Admin_Blocks_Main::registerCustomPosts();
|
277 |
+
Brizy_Admin_Templates::registerCustomPostTemplate();
|
278 |
}
|
279 |
|
280 |
/**
|
282 |
*/
|
283 |
public function handleFrontEndEditor( $post ) {
|
284 |
try {
|
285 |
+
$main = Brizy_Public_Main::get( $post );
|
286 |
$main->initialize_front_end();
|
287 |
} catch ( Exception $e ) {
|
288 |
Brizy_Logger::instance()->exception( $e );
|
295 |
public function handleBackEndEditor( $post ) {
|
296 |
|
297 |
try {
|
298 |
+
$main = Brizy_Public_Main::get( $post );
|
299 |
$main->initialize_wordpress_editor();
|
300 |
} catch ( Exception $e ) {
|
301 |
Brizy_Logger::instance()->exception( $e );
|
360 |
}
|
361 |
|
362 |
public function forceJqueryQueue() {
|
363 |
+
if ( ! wp_script_is( 'jquery', 'enqueued' ) ) {
|
364 |
+
wp_enqueue_script( 'jquery' );
|
365 |
}
|
366 |
}
|
367 |
|
403 |
( isset( $_POST['id'] ) ) {
|
404 |
$pid = (int) $_POST['id'];
|
405 |
} elseif
|
406 |
+
( isset( $_REQUEST[ Brizy_Editor::prefix( '_post' ) ] ) ) {
|
407 |
+
$pid = (int) $_REQUEST[ Brizy_Editor::prefix( '_post' ) ];
|
408 |
} elseif ( $wp_query->is_posts_page ) {
|
409 |
$pid = (int) get_queried_object_id();
|
410 |
} elseif
|
417 |
return $pid;
|
418 |
}
|
419 |
|
420 |
+
static public function get_slug() {
|
421 |
+
return apply_filters( 'brizy-slug', 'brizy' );
|
422 |
+
}
|
423 |
+
|
424 |
public static function is_administrator() {
|
425 |
|
426 |
if ( ! is_user_logged_in() ) {
|
427 |
return false;
|
428 |
}
|
429 |
|
430 |
+
return is_admin() || is_super_admin();
|
431 |
}
|
432 |
|
433 |
public static function is_subscriber() {
|
474 |
return BRIZY_VERSION;
|
475 |
}
|
476 |
|
|
|
|
|
|
|
|
|
477 |
/**
|
478 |
* @param $wp_post_id
|
479 |
* @param bool $throw
|
editor/accounts/api.php
CHANGED
@@ -10,11 +10,11 @@
|
|
10 |
class Brizy_Editor_Accounts_Api extends Brizy_Admin_AbstractApi {
|
11 |
|
12 |
const nonce = 'brizy-api';
|
13 |
-
const BRIZY_GET_ACCOUNT = '
|
14 |
-
const BRIZY_GET_ACCOUNTS = '
|
15 |
-
const BRIZY_ADD_ACCOUNT = '
|
16 |
-
const BRIZY_UPDATE_ACCOUNT = '
|
17 |
-
const BRIZY_DELETE_ACCOUNT = '
|
18 |
|
19 |
/**
|
20 |
* @var Brizy_Editor_Accounts_ServiceAccountManager
|
@@ -57,11 +57,12 @@ class Brizy_Editor_Accounts_Api extends Brizy_Admin_AbstractApi {
|
|
57 |
* Register all api actions
|
58 |
*/
|
59 |
protected function initializeApiActions() {
|
60 |
-
|
61 |
-
add_action(
|
62 |
-
add_action(
|
63 |
-
add_action(
|
64 |
-
add_action(
|
|
|
65 |
}
|
66 |
|
67 |
|
10 |
class Brizy_Editor_Accounts_Api extends Brizy_Admin_AbstractApi {
|
11 |
|
12 |
const nonce = 'brizy-api';
|
13 |
+
const BRIZY_GET_ACCOUNT = '_get_account';
|
14 |
+
const BRIZY_GET_ACCOUNTS = '_get_accounts';
|
15 |
+
const BRIZY_ADD_ACCOUNT = '_add_account';
|
16 |
+
const BRIZY_UPDATE_ACCOUNT = '_update_account';
|
17 |
+
const BRIZY_DELETE_ACCOUNT = '_delete_account';
|
18 |
|
19 |
/**
|
20 |
* @var Brizy_Editor_Accounts_ServiceAccountManager
|
57 |
* Register all api actions
|
58 |
*/
|
59 |
protected function initializeApiActions() {
|
60 |
+
$pref = 'wp_ajax_' . Brizy_Editor::prefix();
|
61 |
+
add_action( $pref . self::BRIZY_GET_ACCOUNT, array( $this, 'actionGetAccount' ) );
|
62 |
+
add_action( $pref . self::BRIZY_GET_ACCOUNTS, array( $this, 'actionGetAccounts' ) );
|
63 |
+
add_action( $pref . self::BRIZY_ADD_ACCOUNT, array( $this, 'actionAddAccount' ) );
|
64 |
+
add_action( $pref . self::BRIZY_UPDATE_ACCOUNT, array( $this, 'actionUpdateAccount' ) );
|
65 |
+
add_action( $pref . self::BRIZY_DELETE_ACCOUNT, array( $this, 'actionDeleteAccount' ) );
|
66 |
}
|
67 |
|
68 |
|
editor/api.php
CHANGED
@@ -3,40 +3,36 @@
|
|
3 |
class Brizy_Editor_API extends Brizy_Admin_AbstractApi {
|
4 |
|
5 |
const nonce = 'brizy-api';
|
6 |
-
const AJAX_GET_POST_INFO = '
|
7 |
-
const AJAX_GET = '
|
8 |
-
const AJAX_UPDATE = '
|
9 |
-
const AJAX_GET_PROJECT = '
|
10 |
-
const AJAX_SET_PROJECT = '
|
11 |
-
const AJAX_LOCK_PROJECT = '
|
12 |
-
const AJAX_MEDIA = '
|
13 |
-
const AJAX_SIDEBARS = '
|
14 |
-
const AJAX_SIDEBAR_CONTENT = '
|
15 |
-
const AJAX_SHORTCODE_CONTENT = '
|
16 |
-
const
|
17 |
-
const
|
18 |
-
const
|
19 |
-
const
|
20 |
-
const
|
21 |
-
const
|
22 |
-
const
|
23 |
-
|
24 |
-
const AJAX_UPDATE_MENU_DATA = '
|
25 |
-
const AJAX_UPDATE_EDITOR_META_DATA = '
|
26 |
-
const AJAX_UPDATE_MENU_ITEM_DATA = '
|
27 |
-
|
28 |
-
const
|
29 |
-
const
|
30 |
-
const
|
31 |
-
|
32 |
-
const
|
33 |
-
const
|
34 |
-
const
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
const RULE_GROUP_LIST = 'brizy_rule_group_list';
|
39 |
-
const RULE_POSTS_GROUP_LIST = 'brizy_rule_posts_group_list';
|
40 |
|
41 |
/**
|
42 |
* @var Brizy_Editor_Post
|
@@ -64,39 +60,35 @@ class Brizy_Editor_API extends Brizy_Admin_AbstractApi {
|
|
64 |
}
|
65 |
|
66 |
protected function initializeApiActions() {
|
67 |
-
if (
|
68 |
-
|
69 |
-
add_action( 'wp_ajax_' . self::AJAX_HEARTBEAT, array( $this, 'heartbeat' ) );
|
70 |
-
add_action( 'wp_ajax_' . self::AJAX_TAKE_OVER, array( $this, 'takeOver' ) );
|
71 |
-
add_action( 'wp_ajax_' . self::AJAX_GET, array( $this, 'get_item' ) );
|
72 |
-
add_action( 'wp_ajax_' . self::AJAX_GET_POST_INFO, array( $this, 'get_post_info' ) );
|
73 |
-
add_action( 'wp_ajax_' . self::AJAX_UPDATE, array( $this, 'update_item' ) );
|
74 |
-
add_action( 'wp_ajax_' . self::AJAX_GET_PROJECT, array( $this, 'get_project' ) );
|
75 |
-
add_action( 'wp_ajax_' . self::AJAX_SET_PROJECT, array( $this, 'set_project' ) );
|
76 |
-
add_action( 'wp_ajax_' . self::AJAX_LOCK_PROJECT, array( $this, 'lock_project' ) );
|
77 |
-
add_action( 'wp_ajax_' . self::AJAX_SIDEBARS, array( $this, 'get_sidebars' ) );
|
78 |
-
add_action( 'wp_ajax_' . self::AJAX_SHORTCODE_CONTENT, array( $this, 'shortcode_content' ) );
|
79 |
-
add_action( 'wp_ajax_' . self::AJAX_GET_POST_OBJECTS, array( $this, 'get_post_objects' ) );
|
80 |
-
add_action( 'wp_ajax_' . self::AJAX_GET_MENU_LIST, array( $this, 'get_menu_list' ) );
|
81 |
-
add_action( 'wp_ajax_' . self::AJAX_GET_TERMS, array( $this, 'get_terms' ) );
|
82 |
-
add_action( 'wp_ajax_' . self::AJAX_DOWNLOAD_MEDIA, array( $this, 'download_media' ) );
|
83 |
-
add_action( 'wp_ajax_' . self::AJAX_MEDIA_METAKEY, array( $this, 'get_media_key' ) );
|
84 |
-
add_action( 'wp_ajax_' . self::AJAX_CREATE_ATTACHMENT_UID, array( $this, 'get_attachment_key' ) );
|
85 |
-
//add_action( 'wp_ajax_' . self::AJAX_JWT_TOKEN, array( $this, 'multipass_create' ) );
|
86 |
-
add_action( 'wp_ajax_' . self::AJAX_SET_FEATURED_IMAGE, array( $this, 'set_featured_image' ) );
|
87 |
-
add_action( 'wp_ajax_' . self::AJAX_SET_FEATURED_IMAGE_FOCAL_POINT, array(
|
88 |
-
$this,
|
89 |
-
'set_featured_image_focal_point'
|
90 |
-
) );
|
91 |
-
add_action( 'wp_ajax_' . self::AJAX_TIMESTAMP, array( $this, 'timestamp' ) );
|
92 |
-
add_action( 'wp_ajax_nopriv_' . self::AJAX_TIMESTAMP, array( $this, 'timestamp' ) );
|
93 |
}
|
94 |
|
95 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
96 |
|
97 |
-
add_action( 'wp_ajax_' . self::RULE_GROUP_LIST, array( $this, 'getGroupList' ) );
|
98 |
-
add_action( 'wp_ajax_' . self::RULE_POSTS_GROUP_LIST, array( $this, 'getPostsGroupsList' ) );
|
99 |
-
}
|
100 |
}
|
101 |
|
102 |
protected function getRequestNonce() {
|
@@ -260,7 +252,6 @@ class Brizy_Editor_API extends Brizy_Admin_AbstractApi {
|
|
260 |
try {
|
261 |
$this->verifyNonce( self::nonce );
|
262 |
$data = Brizy_Editor_Project::get()->createResponse();
|
263 |
-
|
264 |
$this->success( $data );
|
265 |
} catch ( Exception $exception ) {
|
266 |
Brizy_Logger::instance()->exception( $exception );
|
@@ -303,7 +294,6 @@ class Brizy_Editor_API extends Brizy_Admin_AbstractApi {
|
|
303 |
do_action( 'brizy_global_data_updated' );
|
304 |
}
|
305 |
|
306 |
-
|
307 |
$this->success( $project->createResponse() );
|
308 |
} catch ( Exception $exception ) {
|
309 |
Brizy_Logger::instance()->exception( $exception );
|
@@ -318,6 +308,11 @@ class Brizy_Editor_API extends Brizy_Admin_AbstractApi {
|
|
318 |
public function get_item() {
|
319 |
try {
|
320 |
$this->verifyNonce( self::nonce );
|
|
|
|
|
|
|
|
|
|
|
321 |
$data = $this->post->createResponse();
|
322 |
$data['is_index'] = true;
|
323 |
|
@@ -336,9 +331,9 @@ class Brizy_Editor_API extends Brizy_Admin_AbstractApi {
|
|
336 |
try {
|
337 |
$this->verifyNonce( self::nonce );
|
338 |
|
339 |
-
$postId = (int) $this->param( 'post_id' )
|
340 |
$defaultFields = [ 'ID', 'post_title', 'post_content' ];
|
341 |
-
$post_fields = array_intersect( $this->param( 'fields' ), $defaultFields );
|
342 |
|
343 |
if ( count( $post_fields ) == 0 ) {
|
344 |
$post_fields = $defaultFields;
|
@@ -350,7 +345,7 @@ class Brizy_Editor_API extends Brizy_Admin_AbstractApi {
|
|
350 |
|
351 |
$post = get_post( $postId, ARRAY_A );
|
352 |
|
353 |
-
if(
|
354 |
$this->error( 404, 'Invalid post id' );
|
355 |
}
|
356 |
|
@@ -374,6 +369,11 @@ class Brizy_Editor_API extends Brizy_Admin_AbstractApi {
|
|
374 |
$data = stripslashes( $this->param( 'data' ) );
|
375 |
$atemplate = $this->param( 'template' );
|
376 |
$dataVersion = (int) stripslashes( $this->param( 'dataVersion' ) );
|
|
|
|
|
|
|
|
|
|
|
377 |
|
378 |
if ( $atemplate ) {
|
379 |
$this->post->set_template( $atemplate );
|
@@ -385,6 +385,8 @@ class Brizy_Editor_API extends Brizy_Admin_AbstractApi {
|
|
385 |
$this->post->set_needs_compile( true );
|
386 |
}
|
387 |
|
|
|
|
|
388 |
if ( (int) $this->param( 'is_autosave' ) == 1 ) {
|
389 |
$this->post->save( 1 );
|
390 |
} else {
|
@@ -421,6 +423,125 @@ class Brizy_Editor_API extends Brizy_Admin_AbstractApi {
|
|
421 |
}
|
422 |
}
|
423 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
424 |
public function get_post_objects() {
|
425 |
|
426 |
global $wp_post_types;
|
@@ -436,7 +557,9 @@ class Brizy_Editor_API extends Brizy_Admin_AbstractApi {
|
|
436 |
} ) );
|
437 |
}
|
438 |
|
439 |
-
|
|
|
|
|
440 |
|
441 |
$this->success( array( 'filter_term' => $searchTerm, 'posts' => $posts ) );
|
442 |
}
|
@@ -459,68 +582,6 @@ class Brizy_Editor_API extends Brizy_Admin_AbstractApi {
|
|
459 |
$this->success( $items );
|
460 |
}
|
461 |
|
462 |
-
|
463 |
-
private function get_post_list( $searchTerm, $postType, $excludePostType = array() ) {
|
464 |
-
|
465 |
-
global $wp_post_types;
|
466 |
-
|
467 |
-
add_filter( 'posts_where', array( $this, 'brizy_post_title_filter' ), 10, 2 );
|
468 |
-
|
469 |
-
$post_query = array(
|
470 |
-
'post_type' => $postType,
|
471 |
-
'posts_per_page' => - 1,
|
472 |
-
'post_status' => $postType == 'attachment' ? 'inherit' : array(
|
473 |
-
'publish',
|
474 |
-
'pending',
|
475 |
-
'draft',
|
476 |
-
'future',
|
477 |
-
'private'
|
478 |
-
),
|
479 |
-
'orderby' => 'post_title',
|
480 |
-
'order' => 'ASC'
|
481 |
-
);
|
482 |
-
|
483 |
-
if ( $searchTerm ) {
|
484 |
-
$post_query['post_title_term'] = $searchTerm;
|
485 |
-
}
|
486 |
-
|
487 |
-
$posts = new WP_Query( $post_query );
|
488 |
-
|
489 |
-
$result = array();
|
490 |
-
|
491 |
-
foreach ( $posts->posts as $post ) {
|
492 |
-
|
493 |
-
if ( in_array( $post->post_type, $excludePostType ) ) {
|
494 |
-
continue;
|
495 |
-
}
|
496 |
-
|
497 |
-
$result[] = (object) array(
|
498 |
-
'ID' => $post->ID,
|
499 |
-
'uid' => $this->create_uid( $post->ID ),
|
500 |
-
'post_type' => $post->post_type,
|
501 |
-
'post_type_label' => $wp_post_types[ $post->post_type ]->label,
|
502 |
-
'title' => apply_filters( 'the_title', $post->post_title ),
|
503 |
-
'post_title' => apply_filters( 'the_title', $post->post_title )
|
504 |
-
);
|
505 |
-
}
|
506 |
-
|
507 |
-
remove_filter( 'posts_where', 'brizy_post_title_filter', 10 );
|
508 |
-
|
509 |
-
return $result;
|
510 |
-
}
|
511 |
-
|
512 |
-
private function create_uid( $postId ) {
|
513 |
-
|
514 |
-
$uid = get_post_meta( $postId, 'brizy_post_uid', true );
|
515 |
-
|
516 |
-
if ( ! $uid ) {
|
517 |
-
$uid = md5( $postId . time() );
|
518 |
-
update_post_meta( $postId, 'brizy_post_uid', $uid );
|
519 |
-
}
|
520 |
-
|
521 |
-
return $uid;
|
522 |
-
}
|
523 |
-
|
524 |
public function brizy_post_title_filter( $where, $wp_query = null ) {
|
525 |
|
526 |
global $wpdb;
|
@@ -613,7 +674,9 @@ class Brizy_Editor_API extends Brizy_Admin_AbstractApi {
|
|
613 |
$uid = get_post_meta( $attachmentId, 'brizy_post_uid', true );
|
614 |
|
615 |
if ( ! $uid ) {
|
616 |
-
$
|
|
|
|
|
617 |
update_post_meta( $attachmentId, 'brizy_post_uid', $uid );
|
618 |
}
|
619 |
|
@@ -626,145 +689,39 @@ class Brizy_Editor_API extends Brizy_Admin_AbstractApi {
|
|
626 |
}
|
627 |
}
|
628 |
|
629 |
-
public function getGroupList() {
|
630 |
-
|
631 |
-
$context = $_REQUEST['context'];
|
632 |
-
|
633 |
-
$closure = function ( $v ) {
|
634 |
-
return array(
|
635 |
-
'title' => $v->label,
|
636 |
-
'value' => $v->name,
|
637 |
-
'groupValue' => $v->groupValue
|
638 |
-
);
|
639 |
-
};
|
640 |
-
|
641 |
-
$groups = array(
|
642 |
-
array(
|
643 |
-
'title' => 'Pages',
|
644 |
-
'value' => Brizy_Admin_Rule::POSTS,
|
645 |
-
'items' => array_map( $closure, $this->getCustomPostsList( Brizy_Admin_Rule::POSTS ) )
|
646 |
-
),
|
647 |
-
array(
|
648 |
-
'title' => 'Categories',
|
649 |
-
'value' => Brizy_Admin_Rule::TAXONOMY,
|
650 |
-
'items' => array_map( $closure, $this->getTaxonomyList( Brizy_Admin_Rule::TAXONOMY ) )
|
651 |
-
),
|
652 |
-
array(
|
653 |
-
'title' => 'Archives',
|
654 |
-
'value' => Brizy_Admin_Rule::ARCHIVE,
|
655 |
-
'items' => array_map( $closure, $this->getArchivesList( Brizy_Admin_Rule::ARCHIVE ) )
|
656 |
-
),
|
657 |
-
array(
|
658 |
-
'title' => 'Others',
|
659 |
-
'value' => Brizy_Admin_Rule::TEMPLATE,
|
660 |
-
'items' => $this->geTemplateList( $context )
|
661 |
-
),
|
662 |
-
);
|
663 |
-
|
664 |
-
wp_send_json_success( $groups, 200 );
|
665 |
-
}
|
666 |
-
|
667 |
-
public function getPostsGroupsList( $groupValue ) {
|
668 |
-
|
669 |
-
global $wp_post_types;
|
670 |
-
|
671 |
-
if ( ! isset( $_REQUEST['postType'] ) ) {
|
672 |
-
wp_send_json_error( 'Invalid post type', 400 );
|
673 |
-
}
|
674 |
-
|
675 |
-
$post_type = $_REQUEST['postType'];
|
676 |
-
if ( ! isset( $wp_post_types[ $post_type ] ) ) {
|
677 |
-
wp_send_json_error( 'Post type not found', 400 );
|
678 |
-
}
|
679 |
-
|
680 |
-
$taxonomies = get_taxonomies( [ 'object_type' => [ $post_type ] ], 'objects' );
|
681 |
-
|
682 |
-
$groups = array();
|
683 |
|
684 |
-
|
685 |
-
|
686 |
-
'title' => $v->name,
|
687 |
-
'value' => $v->taxonomy."|".$v->term_id,
|
688 |
-
'groupValue' => $v->taxonomy
|
689 |
-
);
|
690 |
-
};
|
691 |
-
|
692 |
-
foreach ( $taxonomies as $tax ) {
|
693 |
-
$groups[] = array(
|
694 |
-
'title' => __("From",'brizy')." ".$tax->labels->singular_name,
|
695 |
-
'value' => Brizy_Admin_Rule::ALL_FROM_TAXONOMY,
|
696 |
-
'items' => array_map( $closure, get_terms( [ 'taxonomy' => $tax->name, 'hide_empty' => false ] ) )
|
697 |
-
);
|
698 |
-
}
|
699 |
-
|
700 |
-
$closure = function ( $v ) {
|
701 |
-
return array(
|
702 |
-
'title' => $v->post_title,
|
703 |
-
'value' => $v->ID,
|
704 |
-
'groupValue' => $v->post_type
|
705 |
-
);
|
706 |
-
};
|
707 |
-
|
708 |
-
$groups[] = array(
|
709 |
-
'title' => 'Specific Post',
|
710 |
-
'value' => Brizy_Admin_Rule::POSTS,
|
711 |
-
'items' => array_map( $closure, $this->get_post_list( null, $post_type ) )
|
712 |
-
);
|
713 |
-
|
714 |
-
|
715 |
-
wp_send_json_success( $groups, 200 );
|
716 |
-
}
|
717 |
-
|
718 |
-
private function getCustomPostsList( $groupValue ) {
|
719 |
-
global $wp_post_types;
|
720 |
-
|
721 |
-
return array_values( array_filter( $wp_post_types, function ( $type ) use ( $groupValue ) {
|
722 |
-
$type->groupValue = $groupValue;
|
723 |
|
724 |
-
|
725 |
-
|
726 |
-
|
727 |
|
728 |
-
|
729 |
-
|
|
|
730 |
|
731 |
-
|
732 |
-
|
|
|
|
|
|
|
|
|
733 |
|
734 |
-
|
735 |
-
|
736 |
-
|
737 |
|
738 |
-
|
739 |
-
$terms = get_taxonomies( array( 'public' => true, 'show_ui' => true ), 'objects' );
|
740 |
|
741 |
-
|
742 |
-
$term->groupValue = $groupValue;
|
743 |
|
744 |
-
|
745 |
-
|
746 |
-
|
747 |
|
748 |
-
|
749 |
-
|
750 |
-
$list = array(
|
751 |
-
array( 'title' => 'Author page', 'value' => 'author', 'groupValue' => Brizy_Admin_Rule::TEMPLATE ),
|
752 |
-
array( 'title' => 'Search page', 'value' => 'search', 'groupValue' => Brizy_Admin_Rule::TEMPLATE ),
|
753 |
-
array( 'title' => 'Front page', 'value' => 'front_page', 'groupValue' => Brizy_Admin_Rule::TEMPLATE ),
|
754 |
-
array( 'title' => 'Blog / Posts page', 'value' => 'home_page', 'groupValue' => Brizy_Admin_Rule::TEMPLATE ),
|
755 |
-
array( 'title' => '404 page', 'value' => '404', 'groupValue' => Brizy_Admin_Rule::TEMPLATE ),
|
756 |
-
array( 'title' => 'Archive page', 'value' => '', 'groupValue' => Brizy_Admin_Rule::ARCHIVE )
|
757 |
-
);
|
758 |
-
|
759 |
-
if ( $context != 'template-rules' ) {
|
760 |
-
$list[] = array(
|
761 |
-
'title' => 'Brizy Templates',
|
762 |
-
'value' => 'brizy_template',
|
763 |
-
'groupValue' => Brizy_Admin_Rule::BRIZY_TEMPLATE
|
764 |
-
);
|
765 |
}
|
766 |
-
|
767 |
-
return $list;
|
768 |
}
|
769 |
|
770 |
|
@@ -772,7 +729,9 @@ class Brizy_Editor_API extends Brizy_Admin_AbstractApi {
|
|
772 |
$uid = get_post_meta( $attachmentId, 'brizy_attachment_uid', true );
|
773 |
|
774 |
if ( ! $uid ) {
|
775 |
-
$
|
|
|
|
|
776 |
update_post_meta( $attachmentId, 'brizy_attachment_uid', $uid );
|
777 |
}
|
778 |
|
3 |
class Brizy_Editor_API extends Brizy_Admin_AbstractApi {
|
4 |
|
5 |
const nonce = 'brizy-api';
|
6 |
+
const AJAX_GET_POST_INFO = '_get_post_info';
|
7 |
+
const AJAX_GET = '_editor_get_items';
|
8 |
+
const AJAX_UPDATE = '_update_item';
|
9 |
+
const AJAX_GET_PROJECT = '_get_project';
|
10 |
+
const AJAX_SET_PROJECT = '_set_project';
|
11 |
+
const AJAX_LOCK_PROJECT = '_lock_project';
|
12 |
+
const AJAX_MEDIA = '_media';
|
13 |
+
const AJAX_SIDEBARS = '_sidebars';
|
14 |
+
const AJAX_SIDEBAR_CONTENT = '_sidebar_content';
|
15 |
+
const AJAX_SHORTCODE_CONTENT = '_shortcode_content';
|
16 |
+
const AJAX_PLACEHOLDER_CONTENT = '_placeholder_content';
|
17 |
+
const AJAX_GET_POST_OBJECTS = '_get_posts';
|
18 |
+
const AJAX_GET_MENU_LIST = '_get_menu_list';
|
19 |
+
const AJAX_GET_TERMS = '_get_terms';
|
20 |
+
const AJAX_REMOVE_LOCK = '_remove_lock';
|
21 |
+
const AJAX_HEARTBEAT = '_heartbeat';
|
22 |
+
const AJAX_TAKE_OVER = '_take_over';
|
23 |
+
const AJAX_JWT_TOKEN = '_multipass_create';
|
24 |
+
const AJAX_UPDATE_MENU_DATA = '_update_menu_data';
|
25 |
+
const AJAX_UPDATE_EDITOR_META_DATA = '_update_editor_meta_data';
|
26 |
+
const AJAX_UPDATE_MENU_ITEM_DATA = '_update_menu_item_data';
|
27 |
+
const AJAX_DOWNLOAD_MEDIA = '_download_media';
|
28 |
+
const AJAX_MEDIA_METAKEY = '_get_media_key';
|
29 |
+
const AJAX_CREATE_ATTACHMENT_UID = '_create_attachment_uid';
|
30 |
+
const AJAX_SET_FEATURED_IMAGE = '_set_featured_image';
|
31 |
+
const AJAX_SET_IMAGE_FOCAL_PT = '_set_featured_image_focal_point';
|
32 |
+
const AJAX_REMOVE_FEATURED_IMAGE = '_remove_featured_image';
|
33 |
+
const AJAX_TIMESTAMP = '_timestamp';
|
34 |
+
const AJAX_SET_TEMPLATE_TYPE = '_set_template_type';
|
35 |
+
|
|
|
|
|
|
|
|
|
36 |
|
37 |
/**
|
38 |
* @var Brizy_Editor_Post
|
60 |
}
|
61 |
|
62 |
protected function initializeApiActions() {
|
63 |
+
if ( ! Brizy_Editor_User::is_user_allowed() ) {
|
64 |
+
return;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
}
|
66 |
|
67 |
+
$p = 'wp_ajax_' . Brizy_Editor::prefix();
|
68 |
+
add_action( $p . self::AJAX_REMOVE_LOCK, array( $this, 'removeProjectLock' ) );
|
69 |
+
add_action( $p . self::AJAX_HEARTBEAT, array( $this, 'heartbeat' ) );
|
70 |
+
add_action( $p . self::AJAX_TAKE_OVER, array( $this, 'takeOver' ) );
|
71 |
+
add_action( $p . self::AJAX_GET, array( $this, 'get_item' ) );
|
72 |
+
add_action( $p . self::AJAX_GET_POST_INFO, array( $this, 'get_post_info' ) );
|
73 |
+
add_action( $p . self::AJAX_UPDATE, array( $this, 'update_item' ) );
|
74 |
+
add_action( $p . self::AJAX_GET_PROJECT, array( $this, 'get_project' ) );
|
75 |
+
add_action( $p . self::AJAX_SET_PROJECT, array( $this, 'set_project' ) );
|
76 |
+
add_action( $p . self::AJAX_LOCK_PROJECT, array( $this, 'lock_project' ) );
|
77 |
+
add_action( $p . self::AJAX_SIDEBARS, array( $this, 'get_sidebars' ) );
|
78 |
+
add_action( $p . self::AJAX_SHORTCODE_CONTENT, array( $this, 'shortcode_content' ) );
|
79 |
+
add_action( $p . self::AJAX_PLACEHOLDER_CONTENT, array( $this, 'placeholder_content' ) );
|
80 |
+
add_action( $p . self::AJAX_GET_POST_OBJECTS, array( $this, 'get_post_objects' ) );
|
81 |
+
add_action( $p . self::AJAX_GET_MENU_LIST, array( $this, 'get_menu_list' ) );
|
82 |
+
add_action( $p . self::AJAX_GET_TERMS, array( $this, 'get_terms' ) );
|
83 |
+
add_action( $p . self::AJAX_DOWNLOAD_MEDIA, array( $this, 'download_media' ) );
|
84 |
+
add_action( $p . self::AJAX_MEDIA_METAKEY, array( $this, 'get_media_key' ) );
|
85 |
+
add_action( $p . self::AJAX_CREATE_ATTACHMENT_UID, array( $this, 'get_attachment_key' ) );
|
86 |
+
add_action( $p . self::AJAX_SET_FEATURED_IMAGE, array( $this, 'set_featured_image' ) );
|
87 |
+
add_action( $p . self::AJAX_SET_IMAGE_FOCAL_PT, array( $this, 'set_featured_image_focal_point' ) );
|
88 |
+
add_action( $p . self::AJAX_TIMESTAMP, array( $this, 'timestamp' ) );
|
89 |
+
add_action( $p . self::AJAX_SET_TEMPLATE_TYPE, array( $this, 'setTemplateType' ) );
|
90 |
+
add_action( $p . 'nopriv_' . Brizy_Editor::prefix( self::AJAX_TIMESTAMP ), array( $this, 'timestamp' ) );
|
91 |
|
|
|
|
|
|
|
92 |
}
|
93 |
|
94 |
protected function getRequestNonce() {
|
252 |
try {
|
253 |
$this->verifyNonce( self::nonce );
|
254 |
$data = Brizy_Editor_Project::get()->createResponse();
|
|
|
255 |
$this->success( $data );
|
256 |
} catch ( Exception $exception ) {
|
257 |
Brizy_Logger::instance()->exception( $exception );
|
294 |
do_action( 'brizy_global_data_updated' );
|
295 |
}
|
296 |
|
|
|
297 |
$this->success( $project->createResponse() );
|
298 |
} catch ( Exception $exception ) {
|
299 |
Brizy_Logger::instance()->exception( $exception );
|
308 |
public function get_item() {
|
309 |
try {
|
310 |
$this->verifyNonce( self::nonce );
|
311 |
+
|
312 |
+
if ( ! $this->post ) {
|
313 |
+
throw new Exception( 'Invalid post provided' );
|
314 |
+
}
|
315 |
+
|
316 |
$data = $this->post->createResponse();
|
317 |
$data['is_index'] = true;
|
318 |
|
331 |
try {
|
332 |
$this->verifyNonce( self::nonce );
|
333 |
|
334 |
+
$postId = (int) $this->param( 'post_id' );
|
335 |
$defaultFields = [ 'ID', 'post_title', 'post_content' ];
|
336 |
+
$post_fields = array_intersect( (array)$this->param( 'fields' ), $defaultFields );
|
337 |
|
338 |
if ( count( $post_fields ) == 0 ) {
|
339 |
$post_fields = $defaultFields;
|
345 |
|
346 |
$post = get_post( $postId, ARRAY_A );
|
347 |
|
348 |
+
if ( ! $post ) {
|
349 |
$this->error( 404, 'Invalid post id' );
|
350 |
}
|
351 |
|
369 |
$data = stripslashes( $this->param( 'data' ) );
|
370 |
$atemplate = $this->param( 'template' );
|
371 |
$dataVersion = (int) stripslashes( $this->param( 'dataVersion' ) );
|
372 |
+
$status = stripslashes( $this->param( 'status' ) );
|
373 |
+
|
374 |
+
if ( ! in_array( $status, [ 'publish', 'draft','pending','private','future' ] ) ) {
|
375 |
+
$this->error( 400, "Invalid post type" );
|
376 |
+
}
|
377 |
|
378 |
if ( $atemplate ) {
|
379 |
$this->post->set_template( $atemplate );
|
385 |
$this->post->set_needs_compile( true );
|
386 |
}
|
387 |
|
388 |
+
$this->post->getWpPost()->post_status = $status;
|
389 |
+
|
390 |
if ( (int) $this->param( 'is_autosave' ) == 1 ) {
|
391 |
$this->post->save( 1 );
|
392 |
} else {
|
423 |
}
|
424 |
}
|
425 |
|
426 |
+
public function placeholder_content() {
|
427 |
+
try {
|
428 |
+
$this->verifyNonce( self::nonce );
|
429 |
+
$postId = $this->param( 'post_id' );
|
430 |
+
$placeholders = $this->param( 'placeholders' ) ;
|
431 |
+
|
432 |
+
if ( ! $placeholders ) {
|
433 |
+
throw new Exception( 'Placeholder string not provided.', 400 );
|
434 |
+
}
|
435 |
+
|
436 |
+
global $post;
|
437 |
+
|
438 |
+
$post = $this->getPostSample( $postId );
|
439 |
+
|
440 |
+
setup_postdata( $post );
|
441 |
+
|
442 |
+
$contents = [];
|
443 |
+
foreach ( $placeholders as $placeholder ) {
|
444 |
+
$placeholder = stripslashes($placeholder);
|
445 |
+
$contents[] = apply_filters( 'brizy_content', $placeholder, Brizy_Editor_Project::get(), $post );
|
446 |
+
}
|
447 |
+
|
448 |
+
$this->success( array(
|
449 |
+
'placeholders' => $contents
|
450 |
+
) );
|
451 |
+
|
452 |
+
} catch ( Exception $exception ) {
|
453 |
+
Brizy_Logger::instance()->exception( $exception );
|
454 |
+
$this->error( $exception->getCode(), $exception->getMessage() );
|
455 |
+
}
|
456 |
+
}
|
457 |
+
|
458 |
+
private function getPostSample( $templateId ) {
|
459 |
+
$wp_post = get_post( $templateId );
|
460 |
+
if ( $wp_post->post_type !== Brizy_Admin_Templates::CP_TEMPLATE ) {
|
461 |
+
return $wp_post;
|
462 |
+
}
|
463 |
+
|
464 |
+
|
465 |
+
$ruleManager = new Brizy_Admin_Rules_Manager();
|
466 |
+
$rules = $ruleManager->getRules( $wp_post->ID );
|
467 |
+
$rule = null;
|
468 |
+
|
469 |
+
// find first include rule
|
470 |
+
foreach ( $rules as $rule ) {
|
471 |
+
/**
|
472 |
+
* @var Brizy_Admin_Rule $rule ;
|
473 |
+
*/
|
474 |
+
if ( $rule->getType() == Brizy_Admin_Rule::TYPE_INCLUDE ) {
|
475 |
+
break;
|
476 |
+
}
|
477 |
+
}
|
478 |
+
|
479 |
+
if ( $rule ) {
|
480 |
+
|
481 |
+
switch ( $rule->getAppliedFor() ) {
|
482 |
+
case Brizy_Admin_Rule::POSTS :
|
483 |
+
$args = array(
|
484 |
+
'post_type' => $rule->getEntityType(),
|
485 |
+
);
|
486 |
+
|
487 |
+
if ( count( $rule->getEntityValues() ) ) {
|
488 |
+
$args['post__in'] = $rule->getEntityValues();
|
489 |
+
}
|
490 |
+
$array = get_posts( $args );
|
491 |
+
|
492 |
+
return array_pop( $array );
|
493 |
+
break;
|
494 |
+
case Brizy_Admin_Rule::TAXONOMY :
|
495 |
+
$args = array(
|
496 |
+
'taxonomy' => $rule->getEntityType(),
|
497 |
+
'hide_empty' => false,
|
498 |
+
);
|
499 |
+
if ( count( $rule->getEntityValues() ) ) {
|
500 |
+
$args['term_taxonomy_id'] = $rule->getEntityValues();
|
501 |
+
}
|
502 |
+
|
503 |
+
$array = get_terms( $args );
|
504 |
+
|
505 |
+
return array_pop( $array );
|
506 |
+
break;
|
507 |
+
case Brizy_Admin_Rule::ARCHIVE :
|
508 |
+
return null;
|
509 |
+
break;
|
510 |
+
case Brizy_Admin_Rule::TEMPLATE :
|
511 |
+
|
512 |
+
switch ( $rule->getEntityType() ) {
|
513 |
+
case 'author':
|
514 |
+
$authors = get_users();
|
515 |
+
|
516 |
+
return array_pop( $authors );
|
517 |
+
break;
|
518 |
+
|
519 |
+
case '404':
|
520 |
+
case 'search':
|
521 |
+
return null;
|
522 |
+
break;
|
523 |
+
case 'home_page':
|
524 |
+
$get_option = get_option( 'page_for_posts' );
|
525 |
+
|
526 |
+
if ( $get_option ) {
|
527 |
+
return get_post( $get_option );
|
528 |
+
}
|
529 |
+
break;
|
530 |
+
case 'front_page':
|
531 |
+
$get_option = get_option( 'page_on_front' );
|
532 |
+
|
533 |
+
if ( $get_option ) {
|
534 |
+
return get_post( $get_option );
|
535 |
+
}
|
536 |
+
break;
|
537 |
+
}
|
538 |
+
|
539 |
+
break;
|
540 |
+
}
|
541 |
+
|
542 |
+
}
|
543 |
+
}
|
544 |
+
|
545 |
public function get_post_objects() {
|
546 |
|
547 |
global $wp_post_types;
|
557 |
} ) );
|
558 |
}
|
559 |
|
560 |
+
add_filter( 'posts_where', array( $this, 'brizy_post_title_filter' ), 10, 2 );
|
561 |
+
$posts = Brizy_Editor_Post::get_post_list( $searchTerm, $postType, $excludePostType );
|
562 |
+
remove_filter( 'posts_where', array( $this, 'brizy_post_title_filter' ), 10 );
|
563 |
|
564 |
$this->success( array( 'filter_term' => $searchTerm, 'posts' => $posts ) );
|
565 |
}
|
582 |
$this->success( $items );
|
583 |
}
|
584 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
585 |
public function brizy_post_title_filter( $where, $wp_query = null ) {
|
586 |
|
587 |
global $wpdb;
|
674 |
$uid = get_post_meta( $attachmentId, 'brizy_post_uid', true );
|
675 |
|
676 |
if ( ! $uid ) {
|
677 |
+
$file = get_attached_file( $attachmentId );
|
678 |
+
$path_parts = pathinfo($file);
|
679 |
+
$uid = "wp-" . md5( $attachmentId . time() ).'.'.$path_parts['extension'];
|
680 |
update_post_meta( $attachmentId, 'brizy_post_uid', $uid );
|
681 |
}
|
682 |
|
689 |
}
|
690 |
}
|
691 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
692 |
|
693 |
+
public function setTemplateType() {
|
694 |
+
try {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
695 |
|
696 |
+
$this->verifyNonce( self::nonce );
|
697 |
+
$templateId = $this->param( 'template_id' );
|
698 |
+
$templateType = $this->param( 'template_type' );
|
699 |
|
700 |
+
if ( get_post_type( $templateId ) != Brizy_Admin_Templates::CP_TEMPLATE ) {
|
701 |
+
$this->error( 400, 'Invalid template' );
|
702 |
+
}
|
703 |
|
704 |
+
$allowedTypes = [
|
705 |
+
Brizy_Admin_Templates::TYPE_SINGLE,
|
706 |
+
Brizy_Admin_Templates::TYPE_ARCHIVE,
|
707 |
+
Brizy_Admin_Templates::TYPE_SINGLE_PRODUCT,
|
708 |
+
Brizy_Admin_Templates::TYPE_PRODUCT_ARCHIVE
|
709 |
+
];
|
710 |
|
711 |
+
if ( ! in_array( $templateType, $allowedTypes, true ) ) {
|
712 |
+
$this->error( 400, 'Invalid template type' );
|
713 |
+
}
|
714 |
|
715 |
+
update_post_meta( $templateId, Brizy_Admin_Templates::TEMPLATE_TYPE_KEY, $templateType );
|
|
|
716 |
|
717 |
+
$this->success( [] );
|
|
|
718 |
|
719 |
+
} catch ( Exception $e ) {
|
720 |
+
Brizy_Logger::instance()->error( $e->getMessage(), [ $e ] );
|
721 |
+
$this->error( 500, $e->getMessage() );
|
722 |
|
723 |
+
return;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
724 |
}
|
|
|
|
|
725 |
}
|
726 |
|
727 |
|
729 |
$uid = get_post_meta( $attachmentId, 'brizy_attachment_uid', true );
|
730 |
|
731 |
if ( ! $uid ) {
|
732 |
+
$file = get_attached_file( $attachmentId );
|
733 |
+
$path_parts = pathinfo($file);
|
734 |
+
$uid = "wp-" . md5( $attachmentId . time() ).'.'.$path_parts['extension'];
|
735 |
update_post_meta( $attachmentId, 'brizy_attachment_uid', $uid );
|
736 |
}
|
737 |
|
editor/api/client.php
CHANGED
@@ -186,21 +186,22 @@ class Brizy_Editor_API_Client extends Brizy_Editor_Http_Client {
|
|
186 |
*/
|
187 |
public function compile_page( Brizy_Editor_Project $project, $page_data, $config, $compiler_url ) {
|
188 |
|
|
|
189 |
|
190 |
$body = apply_filters( 'brizy_compiler_params', array(
|
191 |
-
'page_id' =>
|
192 |
'free_version' => BRIZY_EDITOR_VERSION,
|
193 |
'download_url' => 'https://static.brizy.io/builds',
|
194 |
'config_json' => json_encode( $config ),
|
195 |
'pages_json' => json_encode( array(
|
196 |
array(
|
197 |
-
'id' =>
|
198 |
'data' => $page_data,
|
199 |
'is_index' => true
|
200 |
)
|
201 |
) ),
|
202 |
'project_json' => json_encode( $project->createResponse() ),
|
203 |
-
'global_blocks_json' => json_encode(
|
204 |
) );
|
205 |
|
206 |
|
@@ -317,4 +318,4 @@ class Brizy_Editor_API_Client extends Brizy_Editor_Http_Client {
|
|
317 |
'data' => $project->getDataAsJson()
|
318 |
) );
|
319 |
}
|
320 |
-
}
|
186 |
*/
|
187 |
public function compile_page( Brizy_Editor_Project $project, $page_data, $config, $compiler_url ) {
|
188 |
|
189 |
+
$blockManager = new Brizy_Admin_Blocks_Manager( Brizy_Admin_Blocks_Main::CP_GLOBAL );
|
190 |
|
191 |
$body = apply_filters( 'brizy_compiler_params', array(
|
192 |
+
'page_id' => (int)$config['wp']['page'],
|
193 |
'free_version' => BRIZY_EDITOR_VERSION,
|
194 |
'download_url' => 'https://static.brizy.io/builds',
|
195 |
'config_json' => json_encode( $config ),
|
196 |
'pages_json' => json_encode( array(
|
197 |
array(
|
198 |
+
'id' => (int)$config['wp']['page'],
|
199 |
'data' => $page_data,
|
200 |
'is_index' => true
|
201 |
)
|
202 |
) ),
|
203 |
'project_json' => json_encode( $project->createResponse() ),
|
204 |
+
'global_blocks_json' => json_encode( $blockManager->createResponseForEntities( $blockManager->getEntities( [] ) ) )
|
205 |
) );
|
206 |
|
207 |
|
318 |
'data' => $project->getDataAsJson()
|
319 |
) );
|
320 |
}
|
321 |
+
}
|
editor/asset/attachment-aware.php
ADDED
@@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
|
4 |
+
trait Brizy_Editor_Asset_AttachmentAware {
|
5 |
+
/**
|
6 |
+
* @param $media_name
|
7 |
+
*
|
8 |
+
* @return null|string
|
9 |
+
*/
|
10 |
+
private function getAttachmentByMediaName( $media_name ) {
|
11 |
+
|
12 |
+
global $wpdb;
|
13 |
+
|
14 |
+
$posts_table = $wpdb->posts;
|
15 |
+
$meta_table = $wpdb->postmeta;
|
16 |
+
|
17 |
+
return $wpdb->get_var( $wpdb->prepare(
|
18 |
+
"SELECT
|
19 |
+
{$posts_table}.ID
|
20 |
+
FROM {$posts_table}
|
21 |
+
INNER JOIN {$meta_table} ON ( {$posts_table}.ID = {$meta_table}.post_id )
|
22 |
+
WHERE
|
23 |
+
( {$meta_table}.meta_key = 'brizy_attachment_uid'
|
24 |
+
AND {$meta_table}.meta_value = %s )
|
25 |
+
AND {$posts_table}.post_type = 'attachment'
|
26 |
+
AND {$posts_table}.post_status = 'inherit'
|
27 |
+
GROUP BY {$posts_table}.ID
|
28 |
+
ORDER BY {$posts_table}.post_date DESC",
|
29 |
+
$media_name
|
30 |
+
) );
|
31 |
+
}
|
32 |
+
}
|
editor/asset/cleaner.php
ADDED
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Brizy_Editor_Asset_Cleaner {
|
4 |
+
const BRIZY_CLEANER_CRON_KEY = 'brizy-asset-cleaner';
|
5 |
+
|
6 |
+
|
7 |
+
public static function _init() {
|
8 |
+
static $instance;
|
9 |
+
|
10 |
+
if ( ! $instance ) {
|
11 |
+
$instance = new self();
|
12 |
+
}
|
13 |
+
return $instance;
|
14 |
+
}
|
15 |
+
|
16 |
+
/**
|
17 |
+
* Brizy_Admin_Cloud_Cron constructor.
|
18 |
+
*/
|
19 |
+
public function __construct() {
|
20 |
+
|
21 |
+
add_action( self::BRIZY_CLEANER_CRON_KEY, array( $this, 'assetClean' ) );
|
22 |
+
|
23 |
+
if ( ! wp_next_scheduled( self::BRIZY_CLEANER_CRON_KEY ) ) {
|
24 |
+
wp_schedule_event( time(), 'monthly', self::BRIZY_CLEANER_CRON_KEY );
|
25 |
+
}
|
26 |
+
}
|
27 |
+
|
28 |
+
public function assetClean() {
|
29 |
+
$urlBuilder = new Brizy_Editor_UrlBuilder( Brizy_Editor_Project::get() );
|
30 |
+
$uploadsDir = $urlBuilder->upload_path( 'brizy/' );
|
31 |
+
|
32 |
+
$resizeFolders = glob( $uploadsDir . '*/assets/images/iW*/' );
|
33 |
+
|
34 |
+
foreach ( $resizeFolders as $folder ) {
|
35 |
+
// check if there is an optimized folder
|
36 |
+
$optimizedFolderPath = $folder . 'optimized/';
|
37 |
+
|
38 |
+
if ( file_exists( $optimizedFolderPath ) ) {
|
39 |
+
continue;
|
40 |
+
}
|
41 |
+
|
42 |
+
$fs = new WP_Filesystem_Direct(null);
|
43 |
+
$fs->delete( $folder, true, 'd' );
|
44 |
+
}
|
45 |
+
}
|
46 |
+
}
|
editor/asset/media-asset-processor.php
CHANGED
@@ -41,12 +41,15 @@ class Brizy_Editor_Asset_MediaAssetProcessor implements Brizy_Editor_Content_Pro
|
|
41 |
public function process_external_asset_urls( $content, Brizy_Content_Context $context ) {
|
42 |
|
43 |
$site_url = str_replace( array( 'http://', 'https://' ), '', home_url() );
|
44 |
-
|
45 |
$site_url = str_replace( array( '/', '.' ), array( '\/', '\.' ), $site_url );
|
|
|
46 |
$project = $context->getProject();
|
47 |
|
48 |
-
|
49 |
-
|
|
|
|
|
|
|
50 |
|
51 |
if ( ! isset( $matches[0] ) || count( $matches[0] ) == 0 ) {
|
52 |
return $content;
|
@@ -63,24 +66,24 @@ class Brizy_Editor_Asset_MediaAssetProcessor implements Brizy_Editor_Content_Pro
|
|
63 |
parse_str( $parsed_url['query'], $params );
|
64 |
|
65 |
|
66 |
-
if ( ! isset( $params[
|
67 |
continue;
|
68 |
}
|
69 |
|
70 |
-
$post_id = wp_is_post_revision( (int) $params[
|
71 |
$media_cache = new Brizy_Editor_CropCacheMedia( $project, $post_id );
|
72 |
|
73 |
$new_url = null;
|
74 |
|
75 |
-
$media_path = $this->get_attachment_file_by_uid( $params[
|
76 |
|
77 |
if ( ! $media_path ) {
|
78 |
-
|
79 |
}
|
80 |
|
81 |
try {
|
82 |
|
83 |
-
$crop_media_path = $media_cache->crop_media( $media_path, $params[
|
84 |
|
85 |
$urlBuilder = new Brizy_Editor_UrlBuilder( $project, $post_id );
|
86 |
$local_media_url = str_replace( $urlBuilder->upload_path(), $urlBuilder->upload_url(), $crop_media_path );
|
@@ -128,4 +131,4 @@ class Brizy_Editor_Asset_MediaAssetProcessor implements Brizy_Editor_Content_Pro
|
|
128 |
|
129 |
return get_attached_file( $attachment );
|
130 |
}
|
131 |
-
}
|
41 |
public function process_external_asset_urls( $content, Brizy_Content_Context $context ) {
|
42 |
|
43 |
$site_url = str_replace( array( 'http://', 'https://' ), '', home_url() );
|
|
|
44 |
$site_url = str_replace( array( '/', '.' ), array( '\/', '\.' ), $site_url );
|
45 |
+
|
46 |
$project = $context->getProject();
|
47 |
|
48 |
+
$endpoint = Brizy_Editor::prefix( Brizy_Public_CropProxy::ENDPOINT );
|
49 |
+
$endpoint_post = Brizy_Editor::prefix( Brizy_Public_CropProxy::ENDPOINT_POST );
|
50 |
+
$endpoint_filter = Brizy_Editor::prefix( Brizy_Public_CropProxy::ENDPOINT_FILTER );
|
51 |
+
|
52 |
+
preg_match_all( '/(http|https):\/\/' . $site_url . '\/?(\?' . $endpoint . '=(.[^"\',\s)]*))/im', $content, $matches );
|
53 |
|
54 |
if ( ! isset( $matches[0] ) || count( $matches[0] ) == 0 ) {
|
55 |
return $content;
|
66 |
parse_str( $parsed_url['query'], $params );
|
67 |
|
68 |
|
69 |
+
if ( ! isset( $params[ $endpoint ] ) ) {
|
70 |
continue;
|
71 |
}
|
72 |
|
73 |
+
$post_id = wp_is_post_revision( (int) $params[ $endpoint_post ] ) ? wp_get_post_parent_id( (int) $params[ $endpoint_post ] ) : (int) $params[ $endpoint_post ];
|
74 |
$media_cache = new Brizy_Editor_CropCacheMedia( $project, $post_id );
|
75 |
|
76 |
$new_url = null;
|
77 |
|
78 |
+
$media_path = $this->get_attachment_file_by_uid( $params[ $endpoint ] );
|
79 |
|
80 |
if ( ! $media_path ) {
|
81 |
+
continue;
|
82 |
}
|
83 |
|
84 |
try {
|
85 |
|
86 |
+
$crop_media_path = $media_cache->crop_media( $media_path, $params[ $endpoint_filter ], false );
|
87 |
|
88 |
$urlBuilder = new Brizy_Editor_UrlBuilder( $project, $post_id );
|
89 |
$local_media_url = str_replace( $urlBuilder->upload_path(), $urlBuilder->upload_url(), $crop_media_path );
|
131 |
|
132 |
return get_attached_file( $attachment );
|
133 |
}
|
134 |
+
}
|
editor/asset/optimize/bunny-cdn-optimizer.php
ADDED
@@ -0,0 +1,132 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Brizy_Editor_Asset_Optimize_BunnyCdnOptimizer implements Brizy_Editor_Asset_Optimize_OptimizerInterface {
|
4 |
+
|
5 |
+
const ID = 'bunny-cdn';
|
6 |
+
|
7 |
+
private $proxy = "";
|
8 |
+
|
9 |
+
/**
|
10 |
+
* Brizy_Editor_Asset_Optimize_BunnyCdnOptimizer constructor.
|
11 |
+
*
|
12 |
+
* @param $settings
|
13 |
+
*
|
14 |
+
* @throws Exception
|
15 |
+
*/
|
16 |
+
public function __construct( $settings ) {
|
17 |
+
$this->proxy = Brizy_Config::CDN;
|
18 |
+
}
|
19 |
+
|
20 |
+
public function validateConfig() {
|
21 |
+
return true;
|
22 |
+
}
|
23 |
+
|
24 |
+
/**
|
25 |
+
* @param $sourcePath
|
26 |
+
* @param $targetPath
|
27 |
+
*
|
28 |
+
* @return mixed
|
29 |
+
*/
|
30 |
+
public function optimize( $sourcePath, $targetPath ) {
|
31 |
+
|
32 |
+
$params = array(
|
33 |
+
"file" => new CURLFile( $sourcePath )
|
34 |
+
);
|
35 |
+
|
36 |
+
$file_upload_request = function ( $handle_or_parameters, $request = '', $url = '' ) use ( $params ) {
|
37 |
+
$this->updateWPHTTPRequest( $handle_or_parameters, $params );
|
38 |
+
};
|
39 |
+
// handle cURL requests
|
40 |
+
add_action( 'http_api_curl', $file_upload_request, 10 );
|
41 |
+
// handle fsockopen
|
42 |
+
add_action( 'requests-fsockopen.before_send', $file_upload_request, 10, 3 );
|
43 |
+
$http = new WP_Http();
|
44 |
+
|
45 |
+
$response = $http->post( $this->proxy, array(
|
46 |
+
'headers' => [ 'Content-Type' => 'multipart/form-data' ],
|
47 |
+
'body' => $params,
|
48 |
+
'timeout' => 40
|
49 |
+
) );
|
50 |
+
|
51 |
+
remove_action( 'http_api_curl', $file_upload_request );
|
52 |
+
remove_action( 'requests-fsockopen.before_send', $file_upload_request );
|
53 |
+
|
54 |
+
$body = wp_remote_retrieve_body( $response );
|
55 |
+
|
56 |
+
$jsonFile = json_decode( $body );
|
57 |
+
|
58 |
+
if ( $jsonFile && $jsonFile->data ) {
|
59 |
+
$file_get_contents = file_get_contents( $jsonFile->data->url );
|
60 |
+
|
61 |
+
file_put_contents( $targetPath, $file_get_contents );
|
62 |
+
|
63 |
+
$http = new WP_Http();
|
64 |
+
|
65 |
+
$response = $http->request( $this->proxy, array(
|
66 |
+
'method' => "DELETE",
|
67 |
+
'headers' => [ 'Content-Type' => 'application/json' ],
|
68 |
+
'body' => json_encode( $jsonFile->data ),
|
69 |
+
'timeout' => 40
|
70 |
+
) );
|
71 |
+
|
72 |
+
if ( wp_remote_retrieve_response_code( $response ) == 204 ) {
|
73 |
+
return true;
|
74 |
+
}
|
75 |
+
}
|
76 |
+
return false;
|
77 |
+
|
78 |
+
}
|
79 |
+
|
80 |
+
/**
|
81 |
+
* @return string
|
82 |
+
*/
|
83 |
+
public static function getId() {
|
84 |
+
return self::ID;
|
85 |
+
}
|
86 |
+
|
87 |
+
private function updateWPHTTPRequest( &$handle_or_parameters, $form_body_arguments ) {
|
88 |
+
if ( function_exists( 'curl_init' ) && function_exists( 'curl_exec' ) ) {
|
89 |
+
curl_setopt( $handle_or_parameters, CURLOPT_POSTFIELDS, $form_body_arguments );
|
90 |
+
} elseif ( function_exists( 'fsockopen' ) ) {
|
91 |
+
$form_fields = [];
|
92 |
+
$form_files = [];
|
93 |
+
foreach ( $form_body_arguments as $name => $value ) {
|
94 |
+
if ( file_exists( $value ) ) {
|
95 |
+
// Not great for large files since it dumps into memory but works well for small files
|
96 |
+
$form_files[ $name ] = file_get_contents( $value );
|
97 |
+
} else {
|
98 |
+
$form_fields[ $name ] = $value;
|
99 |
+
}
|
100 |
+
}
|
101 |
+
|
102 |
+
function build_data_files( $boundary, $fields, $files ) {
|
103 |
+
$data = '';
|
104 |
+
$eol = "\r\n";
|
105 |
+
|
106 |
+
$delimiter = '-------------' . $boundary;
|
107 |
+
|
108 |
+
foreach ( $fields as $name => $content ) {
|
109 |
+
$data .= "--" . $delimiter . $eol
|
110 |
+
. 'Content-Disposition: form-data; name="' . $name . "\"" . $eol . $eol
|
111 |
+
. $content . $eol;
|
112 |
+
}
|
113 |
+
|
114 |
+
foreach ( $files as $name => $content ) {
|
115 |
+
$data .= "--" . $delimiter . $eol
|
116 |
+
. 'Content-Disposition: form-data; name="' . $name . '"; filename="' . $name . '"' . $eol
|
117 |
+
//. 'Content-Type: image/png'.$eol
|
118 |
+
. 'Content-Transfer-Encoding: binary' . $eol;
|
119 |
+
|
120 |
+
$data .= $eol;
|
121 |
+
$data .= $content . $eol;
|
122 |
+
}
|
123 |
+
$data .= "--" . $delimiter . "--" . $eol;
|
124 |
+
|
125 |
+
return $data;
|
126 |
+
}
|
127 |
+
|
128 |
+
$boundary = uniqid();
|
129 |
+
$handle_or_parameters = build_data_files( $boundary, $form_fields, $form_files );
|
130 |
+
}
|
131 |
+
}
|
132 |
+
}
|
editor/asset/optimize/optimizer.php
CHANGED
@@ -11,7 +11,6 @@ class Brizy_Editor_Asset_Optimize_Optimizer {
|
|
11 |
* Brizy_Editor_Asset_Optimize_Optimizer constructor.
|
12 |
*/
|
13 |
public function __construct() {
|
14 |
-
|
15 |
$this->optimizers = array( 'Brizy_Editor_Asset_Optimize_ShortpixelOptimizer' );
|
16 |
}
|
17 |
|
@@ -29,11 +28,14 @@ class Brizy_Editor_Asset_Optimize_Optimizer {
|
|
29 |
/**
|
30 |
* @var Brizy_Editor_Asset_Optimize_OptimizerInterface $optimizer ;
|
31 |
*/
|
32 |
-
if ( $settings = $settings[ $optimizerClass::getId() ] ) {
|
33 |
$optimizer = new $optimizerClass( $settings );
|
34 |
-
|
35 |
-
|
36 |
}
|
|
|
|
|
|
|
37 |
} catch ( Exception $e ) {
|
38 |
Brizy_Logger::instance()->error( $e->getMessage(), [ $e ] );
|
39 |
continue;
|
@@ -72,4 +74,4 @@ class Brizy_Editor_Asset_Optimize_Optimizer {
|
|
72 |
return false;
|
73 |
}
|
74 |
}
|
75 |
-
}
|
11 |
* Brizy_Editor_Asset_Optimize_Optimizer constructor.
|
12 |
*/
|
13 |
public function __construct() {
|
|
|
14 |
$this->optimizers = array( 'Brizy_Editor_Asset_Optimize_ShortpixelOptimizer' );
|
15 |
}
|
16 |
|
28 |
/**
|
29 |
* @var Brizy_Editor_Asset_Optimize_OptimizerInterface $optimizer ;
|
30 |
*/
|
31 |
+
if ( $settings = $settings[ $optimizerClass::getId() ] ?? null ) {
|
32 |
$optimizer = new $optimizerClass( $settings );
|
33 |
+
} else {
|
34 |
+
$optimizer = new $optimizerClass( [] );
|
35 |
}
|
36 |
+
|
37 |
+
return $optimizer->optimize( $source, $target );
|
38 |
+
|
39 |
} catch ( Exception $e ) {
|
40 |
Brizy_Logger::instance()->error( $e->getMessage(), [ $e ] );
|
41 |
continue;
|
74 |
return false;
|
75 |
}
|
76 |
}
|
77 |
+
}
|
editor/asset/optimize/shortpixel-optimizer.php
CHANGED
@@ -32,6 +32,12 @@ class Brizy_Editor_Asset_Optimize_ShortpixelOptimizer implements Brizy_Editor_A
|
|
32 |
|
33 |
public function validateConfig() {
|
34 |
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
$logo_path = str_replace( '/', DIRECTORY_SEPARATOR, BRIZY_PLUGIN_PATH . "/admin/static/img/" );
|
36 |
$source = $logo_path . "brizy.png";
|
37 |
|
@@ -52,6 +58,11 @@ class Brizy_Editor_Asset_Optimize_ShortpixelOptimizer implements Brizy_Editor_A
|
|
52 |
* @return mixed
|
53 |
*/
|
54 |
public function optimize( $sourcePath, $targetPath ) {
|
|
|
|
|
|
|
|
|
|
|
55 |
ShortPixel\setKey( $this->apiKey );
|
56 |
$result = ShortPixel\fromFile( $sourcePath )->optimize( $this->lossy )->wait( 100 )->toFiles( dirname( $targetPath ) );
|
57 |
|
32 |
|
33 |
public function validateConfig() {
|
34 |
|
35 |
+
return false;
|
36 |
+
|
37 |
+
if ( $this->apiKey == '' || is_null( $this->apiKey ) ) {
|
38 |
+
return false;
|
39 |
+
}
|
40 |
+
|
41 |
$logo_path = str_replace( '/', DIRECTORY_SEPARATOR, BRIZY_PLUGIN_PATH . "/admin/static/img/" );
|
42 |
$source = $logo_path . "brizy.png";
|
43 |
|
58 |
* @return mixed
|
59 |
*/
|
60 |
public function optimize( $sourcePath, $targetPath ) {
|
61 |
+
|
62 |
+
if ( $this->apiKey == '' || is_null( $this->apiKey ) ) {
|
63 |
+
return false;
|
64 |
+
}
|
65 |
+
|
66 |
ShortPixel\setKey( $this->apiKey );
|
67 |
$result = ShortPixel\fromFile( $sourcePath )->optimize( $this->lossy )->wait( 100 )->toFiles( dirname( $targetPath ) );
|
68 |
|
editor/asset/static-file.php
CHANGED
@@ -101,7 +101,7 @@ abstract class Brizy_Editor_Asset_StaticFile {
|
|
101 |
include_once ABSPATH . "/wp-admin/includes/image.php";
|
102 |
}
|
103 |
|
104 |
-
$attach_data = wp_generate_attachment_metadata( $attachment_id, $
|
105 |
wp_update_attachment_metadata( $attachment_id, $attach_data );
|
106 |
|
107 |
return $attachment_id;
|
101 |
include_once ABSPATH . "/wp-admin/includes/image.php";
|
102 |
}
|
103 |
|
104 |
+
$attach_data = wp_generate_attachment_metadata( $attachment_id, $absolute_asset_path );
|
105 |
wp_update_attachment_metadata( $attachment_id, $attach_data );
|
106 |
|
107 |
return $attachment_id;
|
editor/asset/svg-asset-processor.php
CHANGED
@@ -31,7 +31,8 @@ class Brizy_Editor_Asset_SvgAssetProcessor implements Brizy_Editor_Content_Proce
|
|
31 |
$site_url = str_replace( array( '/', '.' ), array( '\/', '\.' ), $site_url );
|
32 |
|
33 |
//preg_match_all( '/' . $site_url . '\/?(\?' . Brizy_Public_CropProxy::ENDPOINT . '=(.[^"\',\s)]*))/im', $content, $matches );
|
34 |
-
|
|
|
35 |
|
36 |
if ( ! isset( $matches[0] ) || count( $matches[0] ) == 0 ) {
|
37 |
return $content;
|
@@ -47,11 +48,11 @@ class Brizy_Editor_Asset_SvgAssetProcessor implements Brizy_Editor_Content_Proce
|
|
47 |
|
48 |
parse_str( $parsed_url['query'], $params );
|
49 |
|
50 |
-
if ( ! isset( $params[
|
51 |
continue;
|
52 |
}
|
53 |
|
54 |
-
$media_path = $this->get_attachment_file_by_uid( $params[
|
55 |
|
56 |
if ( ! $media_path ) {
|
57 |
return $content;
|
31 |
$site_url = str_replace( array( '/', '.' ), array( '\/', '\.' ), $site_url );
|
32 |
|
33 |
//preg_match_all( '/' . $site_url . '\/?(\?' . Brizy_Public_CropProxy::ENDPOINT . '=(.[^"\',\s)]*))/im', $content, $matches );
|
34 |
+
$brizy_attachment = Brizy_Editor::prefix('_attachment');
|
35 |
+
preg_match_all( '/(http|https):\/\/' . $site_url . '\/?(\?'.$brizy_attachment.'=(.[^"\',\s)]*))/im', $content, $matches );
|
36 |
|
37 |
if ( ! isset( $matches[0] ) || count( $matches[0] ) == 0 ) {
|
38 |
return $content;
|
48 |
|
49 |
parse_str( $parsed_url['query'], $params );
|
50 |
|
51 |
+
if ( ! isset( $params[$brizy_attachment] ) ) {
|
52 |
continue;
|
53 |
}
|
54 |
|
55 |
+
$media_path = $this->get_attachment_file_by_uid( $params[$brizy_attachment] );
|
56 |
|
57 |
if ( ! $media_path ) {
|
58 |
return $content;
|
editor/block-position.php
CHANGED
@@ -10,17 +10,24 @@ class Brizy_Editor_BlockPosition extends Brizy_Admin_Serializable {
|
|
10 |
/**
|
11 |
* @var int
|
12 |
*/
|
13 |
-
protected $
|
|
|
|
|
|
|
|
|
|
|
14 |
|
15 |
/**
|
16 |
* Brizy_Editor_BlockPosition constructor.
|
17 |
*
|
18 |
-
* @param
|
19 |
-
* @param
|
|
|
20 |
*/
|
21 |
-
public function __construct( $
|
22 |
-
$this->align
|
23 |
-
$this->
|
|
|
24 |
}
|
25 |
|
26 |
/**
|
@@ -44,17 +51,35 @@ class Brizy_Editor_BlockPosition extends Brizy_Admin_Serializable {
|
|
44 |
/**
|
45 |
* @return int
|
46 |
*/
|
47 |
-
public function
|
48 |
-
return $this->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
}
|
50 |
|
51 |
/**
|
52 |
-
* @param int $
|
53 |
*
|
54 |
* @return Brizy_Editor_BlockPosition
|
55 |
*/
|
56 |
-
public function
|
57 |
-
$this->
|
58 |
|
59 |
return $this;
|
60 |
}
|
@@ -65,8 +90,9 @@ class Brizy_Editor_BlockPosition extends Brizy_Admin_Serializable {
|
|
65 |
*/
|
66 |
public function serialize() {
|
67 |
$get_object_vars = array(
|
68 |
-
'align'
|
69 |
-
'
|
|
|
70 |
);
|
71 |
|
72 |
return serialize( $get_object_vars );
|
@@ -74,8 +100,9 @@ class Brizy_Editor_BlockPosition extends Brizy_Admin_Serializable {
|
|
74 |
|
75 |
public function jsonSerialize() {
|
76 |
$get_object_vars = array(
|
77 |
-
'
|
78 |
-
'
|
|
|
79 |
);
|
80 |
|
81 |
return $get_object_vars;
|
@@ -83,15 +110,20 @@ class Brizy_Editor_BlockPosition extends Brizy_Admin_Serializable {
|
|
83 |
|
84 |
public function convertToOptionValue() {
|
85 |
$get_object_vars = array(
|
86 |
-
'align'
|
87 |
-
'
|
|
|
88 |
);
|
89 |
|
90 |
return $get_object_vars;
|
91 |
}
|
92 |
|
93 |
static public function createFromSerializedData( $data ) {
|
94 |
-
$instance = new self(
|
|
|
|
|
|
|
|
|
95 |
|
96 |
return $instance;
|
97 |
}
|
10 |
/**
|
11 |
* @var int
|
12 |
*/
|
13 |
+
protected $top;
|
14 |
+
|
15 |
+
/**
|
16 |
+
* @var int
|
17 |
+
*/
|
18 |
+
protected $bottom;
|
19 |
|
20 |
/**
|
21 |
* Brizy_Editor_BlockPosition constructor.
|
22 |
*
|
23 |
+
* @param null $top
|
24 |
+
* @param null $bottom
|
25 |
+
* @param null $align
|
26 |
*/
|
27 |
+
public function __construct( $top = null, $bottom = null, $align = null ) {
|
28 |
+
$this->align = $align;
|
29 |
+
$this->top = $top;
|
30 |
+
$this->bottom = $bottom;
|
31 |
}
|
32 |
|
33 |
/**
|
51 |
/**
|
52 |
* @return int
|
53 |
*/
|
54 |
+
public function getTop() {
|
55 |
+
return $this->top;
|
56 |
+
}
|
57 |
+
|
58 |
+
/**
|
59 |
+
* @param int $top
|
60 |
+
*
|
61 |
+
* @return Brizy_Editor_BlockPosition
|
62 |
+
*/
|
63 |
+
public function setTop( $top ) {
|
64 |
+
$this->top = (int) $top;
|
65 |
+
|
66 |
+
return $this;
|
67 |
+
}
|
68 |
+
|
69 |
+
/**
|
70 |
+
* @return int
|
71 |
+
*/
|
72 |
+
public function getBottom() {
|
73 |
+
return $this->bottom;
|
74 |
}
|
75 |
|
76 |
/**
|
77 |
+
* @param int $bottom
|
78 |
*
|
79 |
* @return Brizy_Editor_BlockPosition
|
80 |
*/
|
81 |
+
public function setBottom( $bottom ) {
|
82 |
+
$this->bottom = (int) $bottom;
|
83 |
|
84 |
return $this;
|
85 |
}
|
90 |
*/
|
91 |
public function serialize() {
|
92 |
$get_object_vars = array(
|
93 |
+
'align' => $this->getAlign(),
|
94 |
+
'top' => $this->getTop(),
|
95 |
+
'bottom' => $this->getBottom()
|
96 |
);
|
97 |
|
98 |
return serialize( $get_object_vars );
|
100 |
|
101 |
public function jsonSerialize() {
|
102 |
$get_object_vars = array(
|
103 |
+
'top' => $this->getTop(),
|
104 |
+
'bottom' => $this->getBottom(),
|
105 |
+
'align' => $this->getAlign()
|
106 |
);
|
107 |
|
108 |
return $get_object_vars;
|
110 |
|
111 |
public function convertToOptionValue() {
|
112 |
$get_object_vars = array(
|
113 |
+
'align' => $this->getAlign(),
|
114 |
+
'top' => $this->getTop(),
|
115 |
+
'bottom' => $this->getBottom()
|
116 |
);
|
117 |
|
118 |
return $get_object_vars;
|
119 |
}
|
120 |
|
121 |
static public function createFromSerializedData( $data ) {
|
122 |
+
$instance = new self(
|
123 |
+
isset( $data['top'] ) ? $data['top'] : null,
|
124 |
+
isset( $data['bottom'] ) ? $data['bottom'] : null,
|
125 |
+
isset( $data['align'] ) ? $data['align'] : null
|
126 |
+
);
|
127 |
|
128 |
return $instance;
|
129 |
}
|
editor/block-screenshot-api.php
CHANGED
@@ -4,30 +4,14 @@ class Brizy_Editor_BlockScreenshotApi extends Brizy_Admin_AbstractApi {
|
|
4 |
|
5 |
const nonce = 'brizy-api';
|
6 |
|
7 |
-
const AJAX_CREATE_BLOCK_SCREENSHOT = '
|
8 |
-
const AJAX_UPDATE_BLOCK_SCREENSHOT = '
|
9 |
-
|
10 |
-
const BLOCK_TYPE_NORMAL = 'normal';
|
11 |
-
const BLOCK_TYPE_GLOBAL = 'global';
|
12 |
-
const BLOCK_TYPE_SAVED = 'saved';
|
13 |
-
|
14 |
-
//const BLOCK_TYPES = array( 'global', 'saved' );
|
15 |
-
|
16 |
-
/**
|
17 |
-
* @var Brizy_Editor_Project
|
18 |
-
*/
|
19 |
-
private $project;
|
20 |
|
21 |
/**
|
22 |
* @var Brizy_Editor_Post
|
23 |
*/
|
24 |
private $post;
|
25 |
|
26 |
-
/**
|
27 |
-
* @var Brizy_Editor_UrlBuilder
|
28 |
-
*/
|
29 |
-
private $urlBuilder;
|
30 |
-
|
31 |
/**
|
32 |
* @var array
|
33 |
*/
|
@@ -42,7 +26,12 @@ class Brizy_Editor_BlockScreenshotApi extends Brizy_Admin_AbstractApi {
|
|
42 |
*/
|
43 |
public function __construct( $post ) {
|
44 |
$this->post = $post;
|
45 |
-
$this->blockTypes = array(
|
|
|
|
|
|
|
|
|
|
|
46 |
parent::__construct();
|
47 |
}
|
48 |
|
@@ -52,10 +41,12 @@ class Brizy_Editor_BlockScreenshotApi extends Brizy_Admin_AbstractApi {
|
|
52 |
|
53 |
|
54 |
protected function initializeApiActions() {
|
55 |
-
|
56 |
-
|
57 |
-
add_action(
|
58 |
-
add_action(
|
|
|
|
|
59 |
}
|
60 |
|
61 |
public function saveBlockScreenShot() {
|
@@ -72,155 +63,32 @@ class Brizy_Editor_BlockScreenshotApi extends Brizy_Admin_AbstractApi {
|
|
72 |
}
|
73 |
|
74 |
// obtain the image content from POST
|
75 |
-
$imageContent = null;
|
76 |
$fileName = null;
|
77 |
$screenId = null;
|
78 |
-
|
79 |
-
|
80 |
$base64 = $_REQUEST['ibsf'];
|
81 |
$imageContent = base64_decode( $base64 );
|
82 |
|
83 |
-
|
84 |
-
if ( false === $imageContent ) {
|
85 |
-
wp_send_json_error( array(
|
86 |
-
'success' => false,
|
87 |
-
'message' => esc_html__( 'Invalid image content', 'brizy' )
|
88 |
-
), 400 );
|
89 |
-
}
|
90 |
-
|
91 |
-
$img_type = 'jpeg';
|
92 |
-
|
93 |
if ( isset( $_REQUEST['id'] ) ) {
|
94 |
$screenId = $_REQUEST['id'];
|
95 |
} else {
|
96 |
$screenId = \Brizy\Utils\UUId::uuid();
|
97 |
}
|
98 |
|
99 |
-
|
100 |
-
|
101 |
-
if ( ! $this->saveScreenshot( $_REQUEST['block_type'], $fileName, $imageContent ) ) {
|
102 |
wp_send_json_error( array(
|
103 |
-
'
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
wp_send_json_success( array( 'id' => $screenId, 'file_name' => $fileName ) );
|
108 |
-
}
|
109 |
-
|
110 |
-
protected function getFileExtensionByContent( $content ) {
|
111 |
-
$tmpfname = tempnam( sys_get_temp_dir(), "blockScreenShot" );
|
112 |
-
|
113 |
-
$handle = fopen( $tmpfname, "w" );
|
114 |
-
fwrite( $handle, $content );
|
115 |
-
fclose( $handle );
|
116 |
-
|
117 |
-
$mimeType = wp_get_image_mime( $tmpfname );
|
118 |
-
|
119 |
-
return $this->getExtentsionByMime( $mimeType );
|
120 |
-
}
|
121 |
-
|
122 |
-
/**
|
123 |
-
* @param $filename
|
124 |
-
* @param int $mode
|
125 |
-
*
|
126 |
-
* @return mixed|string
|
127 |
-
*/
|
128 |
-
protected function getExtentsionByMime( $mimeType ) {
|
129 |
-
|
130 |
-
$extensions = array(
|
131 |
-
'image/png' => 'png',
|
132 |
-
'image/jpeg' => 'jpeg',
|
133 |
-
'image/jpg' => 'jpg',
|
134 |
-
'image/gif' => 'gif',
|
135 |
-
);
|
136 |
-
|
137 |
-
if ( isset( $extensions[ $mimeType ] ) ) {
|
138 |
-
return $extensions[ $mimeType ];
|
139 |
-
}
|
140 |
-
|
141 |
-
return null;
|
142 |
-
}
|
143 |
-
|
144 |
-
/**
|
145 |
-
* @param $type
|
146 |
-
* @param $blockFileName
|
147 |
-
* @param $content
|
148 |
-
*
|
149 |
-
* @return bool
|
150 |
-
*/
|
151 |
-
private function saveScreenshot( $type, $blockFileName, $content ) {
|
152 |
-
try {
|
153 |
-
$urlBuilder = new Brizy_Editor_UrlBuilder( Brizy_Editor_Project::get(), $this->post ? $this->post->getWpPostId() : null );
|
154 |
-
|
155 |
-
switch ( $type ) {
|
156 |
-
case self::BLOCK_TYPE_NORMAL:
|
157 |
-
return $this->storeThumbnail( $content, $urlBuilder->page_upload_path( 'blockThumbnails' . DIRECTORY_SEPARATOR . $blockFileName ) );
|
158 |
-
case self::BLOCK_TYPE_GLOBAL:
|
159 |
-
return $this->storeThumbnail( $content, $urlBuilder->brizy_upload_path( 'blockThumbnails' . DIRECTORY_SEPARATOR . 'global' . DIRECTORY_SEPARATOR . $blockFileName ) );
|
160 |
-
case self::BLOCK_TYPE_SAVED:
|
161 |
-
return $this->storeThumbnail( $content, $urlBuilder->brizy_upload_path( 'blockThumbnails' . DIRECTORY_SEPARATOR . 'saved' . DIRECTORY_SEPARATOR . $blockFileName ) );
|
162 |
-
}
|
163 |
-
} catch ( Exception $e ) {
|
164 |
-
return false;
|
165 |
-
}
|
166 |
-
}
|
167 |
-
|
168 |
-
/**
|
169 |
-
* @param $content
|
170 |
-
* @param $filePath
|
171 |
-
*
|
172 |
-
* @return bool
|
173 |
-
*/
|
174 |
-
private function storeThumbnail( $content, $filePath ) {
|
175 |
-
$store_file = $this->storeFile( $content, $filePath );
|
176 |
-
|
177 |
-
if ( $store_file ) {
|
178 |
-
$store_file = $this->resizeImage( $filePath );
|
179 |
-
}
|
180 |
-
|
181 |
-
return $store_file;
|
182 |
-
}
|
183 |
-
|
184 |
-
/**
|
185 |
-
* @param $content
|
186 |
-
* @param $thumbnailFullPath
|
187 |
-
*
|
188 |
-
* @return bool
|
189 |
-
*/
|
190 |
-
private function storeFile( $content, $thumbnailFullPath ) {
|
191 |
-
$path = dirname( $thumbnailFullPath );
|
192 |
-
|
193 |
-
if ( ! file_exists( $path ) ) {
|
194 |
-
if ( ! @mkdir( $path, 0755, true ) ) {
|
195 |
-
return false;
|
196 |
-
}
|
197 |
}
|
198 |
|
199 |
-
|
200 |
-
|
201 |
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
*
|
206 |
-
* @return bool
|
207 |
-
*/
|
208 |
-
private function resizeImage( $thumbnailFullPath ) {
|
209 |
-
try {
|
210 |
-
$imageEditor = wp_get_image_editor( $thumbnailFullPath );
|
211 |
-
|
212 |
-
if ( $imageEditor instanceof WP_Error ) {
|
213 |
-
throw new Exception( $imageEditor->get_error_message() );
|
214 |
-
}
|
215 |
-
|
216 |
-
$imageEditor->resize( 600, 600 );
|
217 |
-
$result = $imageEditor->save( $thumbnailFullPath );
|
218 |
-
|
219 |
-
return is_array( $result );
|
220 |
-
} catch ( Exception $e ) {
|
221 |
-
return false;
|
222 |
}
|
223 |
}
|
224 |
|
225 |
-
|
226 |
}
|
4 |
|
5 |
const nonce = 'brizy-api';
|
6 |
|
7 |
+
const AJAX_CREATE_BLOCK_SCREENSHOT = '_create_block_screenshot';
|
8 |
+
const AJAX_UPDATE_BLOCK_SCREENSHOT = '_update_block_screenshot';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
|
10 |
/**
|
11 |
* @var Brizy_Editor_Post
|
12 |
*/
|
13 |
private $post;
|
14 |
|
|
|
|
|
|
|
|
|
|
|
15 |
/**
|
16 |
* @var array
|
17 |
*/
|
26 |
*/
|
27 |
public function __construct( $post ) {
|
28 |
$this->post = $post;
|
29 |
+
$this->blockTypes = array(
|
30 |
+
Brizy_Editor_Screenshot_Manager::BLOCK_TYPE_NORMAL,
|
31 |
+
Brizy_Editor_Screenshot_Manager::BLOCK_TYPE_GLOBAL,
|
32 |
+
Brizy_Editor_Screenshot_Manager::BLOCK_TYPE_SAVED,
|
33 |
+
Brizy_Editor_Screenshot_Manager::BLOCK_TYPE_LAYOUT
|
34 |
+
);
|
35 |
parent::__construct();
|
36 |
}
|
37 |
|
41 |
|
42 |
|
43 |
protected function initializeApiActions() {
|
44 |
+
$pref = 'wp_ajax_' . Brizy_Editor::prefix();
|
45 |
+
$pref_nopriv = 'wp_ajax_nopriv_' . Brizy_Editor::prefix();
|
46 |
+
add_action( $pref . self::AJAX_CREATE_BLOCK_SCREENSHOT, array( $this, 'saveBlockScreenShot' ) );
|
47 |
+
add_action( $pref . self::AJAX_UPDATE_BLOCK_SCREENSHOT, array( $this, 'saveBlockScreenShot' ) );
|
48 |
+
add_action( $pref_nopriv . self::AJAX_CREATE_BLOCK_SCREENSHOT, array( $this, 'saveBlockScreenShot' ) );
|
49 |
+
add_action( $pref_nopriv . self::AJAX_UPDATE_BLOCK_SCREENSHOT, array( $this, 'saveBlockScreenShot' ) );
|
50 |
}
|
51 |
|
52 |
public function saveBlockScreenShot() {
|
63 |
}
|
64 |
|
65 |
// obtain the image content from POST
|
|
|
66 |
$fileName = null;
|
67 |
$screenId = null;
|
68 |
+
$brizyPost = isset( $_REQUEST['post'] ) ? $_REQUEST['post'] : null;
|
|
|
69 |
$base64 = $_REQUEST['ibsf'];
|
70 |
$imageContent = base64_decode( $base64 );
|
71 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
72 |
if ( isset( $_REQUEST['id'] ) ) {
|
73 |
$screenId = $_REQUEST['id'];
|
74 |
} else {
|
75 |
$screenId = \Brizy\Utils\UUId::uuid();
|
76 |
}
|
77 |
|
78 |
+
if ( false === $imageContent ) {
|
|
|
|
|
79 |
wp_send_json_error( array(
|
80 |
+
'success' => false,
|
81 |
+
'message' => esc_html__( 'Invalid image content', 'brizy' )
|
82 |
+
), 400 );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
83 |
}
|
84 |
|
85 |
+
$manager = new Brizy_Editor_Screenshot_Manager( new Brizy_Editor_UrlBuilder( $brizyPost ) );
|
86 |
+
$result = $manager->saveScreenshot( $screenId, $_REQUEST['block_type'], $imageContent, $brizyPost );
|
87 |
|
88 |
+
if ( $result ) {
|
89 |
+
$screenPath = $manager->getScreenshot( $screenId, $brizyPost );
|
90 |
+
wp_send_json_success( array( 'id' => $screenId, 'file_name' => $screenPath ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
91 |
}
|
92 |
}
|
93 |
|
|
|
94 |
}
|
editor/block.php
CHANGED
@@ -9,14 +9,44 @@
|
|
9 |
|
10 |
class Brizy_Editor_Block extends Brizy_Editor_Post {
|
11 |
|
12 |
-
use Brizy_Editor_AutoSaveAware;
|
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
protected $position;
|
15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
static protected $block_instance = null;
|
17 |
|
18 |
public static function cleanClassCache() {
|
19 |
-
self::$
|
|
|
|
|
|
|
|
|
20 |
}
|
21 |
|
22 |
/**
|
@@ -29,6 +59,7 @@ class Brizy_Editor_Block extends Brizy_Editor_Post {
|
|
29 |
public static function get( $apost, $uid = null ) {
|
30 |
|
31 |
$wp_post_id = $apost;
|
|
|
32 |
if ( $apost instanceof WP_Post ) {
|
33 |
$wp_post_id = $apost->ID;
|
34 |
}
|
@@ -40,26 +71,86 @@ class Brizy_Editor_Block extends Brizy_Editor_Post {
|
|
40 |
return self::$block_instance[ $wp_post_id ] = new self( $wp_post_id, $uid );
|
41 |
}
|
42 |
|
43 |
-
public function createResponse() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
|
45 |
-
$
|
46 |
-
'uid' => $this->getUid(),
|
47 |
-
'status' => get_post_status( $this->getWpPostId() ),
|
48 |
-
'data' => $this->get_editor_data(),
|
49 |
-
'dataVersion' => $this->getCurrentDataVersion(),
|
50 |
-
);
|
51 |
|
|
|
|
|
|
|
52 |
|
53 |
-
if (
|
54 |
-
$
|
55 |
-
$data['position'] = $this->getPosition();
|
56 |
-
$data['rules'] = $ruleManager->getRules( $this->getWpPostId() );
|
57 |
}
|
58 |
|
59 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
}
|
61 |
|
62 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
63 |
public function __construct( $wp_post_id, $uid = null ) {
|
64 |
|
65 |
if ( $uid ) {
|
@@ -89,44 +180,103 @@ class Brizy_Editor_Block extends Brizy_Editor_Post {
|
|
89 |
return $this;
|
90 |
}
|
91 |
|
|
|
|
|
|
|
|
|
|
|
|
|
92 |
/**
|
93 |
-
* @return
|
94 |
*/
|
95 |
-
|
|
|
|
|
96 |
|
97 |
-
|
98 |
-
|
|
|
|
|
|
|
|
|
99 |
|
100 |
-
|
101 |
-
|
102 |
-
|
|
|
|
|
|
|
|
|
103 |
|
104 |
-
|
105 |
-
|
106 |
-
}
|
107 |
|
108 |
-
|
|
|
|
|
109 |
}
|
110 |
|
111 |
-
public function
|
112 |
-
$this->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
113 |
|
114 |
return $this;
|
115 |
}
|
116 |
|
117 |
-
public function
|
118 |
-
return $this->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
119 |
}
|
120 |
|
121 |
public function jsonSerialize() {
|
122 |
$data = get_object_vars( $this );
|
123 |
$data['editor_data'] = base64_decode( $data['editor_data'] );
|
|
|
124 |
|
125 |
$ruleManager = new Brizy_Admin_Rules_Manager();
|
126 |
|
127 |
-
$
|
128 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
129 |
|
|
|
|
|
|
|
|
|
130 |
unset( $data['wp_post'] );
|
131 |
|
132 |
return $data;
|
@@ -136,18 +286,52 @@ class Brizy_Editor_Block extends Brizy_Editor_Post {
|
|
136 |
parent::loadInstanceData();
|
137 |
$storage = $this->getStorage();
|
138 |
$storage_post = $storage->get( self::BRIZY_POST, false );
|
139 |
-
|
140 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
141 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
142 |
}
|
143 |
|
144 |
public function convertToOptionValue() {
|
|
|
145 |
$data = parent::convertToOptionValue();
|
146 |
|
147 |
-
$
|
|
|
|
|
|
|
148 |
|
149 |
-
|
150 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
151 |
|
152 |
return $data;
|
153 |
}
|
@@ -162,7 +346,9 @@ class Brizy_Editor_Block extends Brizy_Editor_Post {
|
|
162 |
* @var Brizy_Editor_Block $autosave ;
|
163 |
*/
|
164 |
$autosave = parent::populateAutoSavedData( $autosave );
|
165 |
-
|
|
|
|
|
166 |
|
167 |
return $autosave;
|
168 |
}
|
@@ -172,7 +358,7 @@ class Brizy_Editor_Block extends Brizy_Editor_Post {
|
|
172 |
* @param array $arags
|
173 |
*
|
174 |
* @return array
|
175 |
-
* @throws
|
176 |
*/
|
177 |
public static function getBlocksByType( $type, $arags = array() ) {
|
178 |
|
@@ -201,9 +387,23 @@ class Brizy_Editor_Block extends Brizy_Editor_Post {
|
|
201 |
|
202 |
if ( $autosave !== 1 ) {
|
203 |
$this->savePost();
|
|
|
204 |
do_action( 'brizy_global_data_updated' );
|
205 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
206 |
|
|
|
|
|
207 |
}
|
208 |
|
209 |
-
}
|
9 |
|
10 |
class Brizy_Editor_Block extends Brizy_Editor_Post {
|
11 |
|
|
|
12 |
|
13 |
+
use Brizy_Editor_AutoSaveAware, Brizy_Editor_Synchronizable;
|
14 |
+
|
15 |
+
const BRIZY_META = 'brizy-meta';
|
16 |
+
const BRIZY_MEDIA = 'brizy-media';
|
17 |
+
const BRIZY_POSITION = 'brizy-position';
|
18 |
+
|
19 |
+
/**
|
20 |
+
* @var Brizy_Editor_BlockPosition
|
21 |
+
*/
|
22 |
protected $position;
|
23 |
|
24 |
+
/**
|
25 |
+
* @var string
|
26 |
+
*/
|
27 |
+
protected $meta;
|
28 |
+
|
29 |
+
/**
|
30 |
+
* @var string
|
31 |
+
*/
|
32 |
+
protected $media;
|
33 |
+
|
34 |
+
/**
|
35 |
+
* @var Brizy_Admin_Rule[]
|
36 |
+
*/
|
37 |
+
protected $rules;
|
38 |
+
|
39 |
+
/**
|
40 |
+
* @var self;
|
41 |
+
*/
|
42 |
static protected $block_instance = null;
|
43 |
|
44 |
public static function cleanClassCache() {
|
45 |
+
self::$block_instance = array();
|
46 |
+
}
|
47 |
+
|
48 |
+
protected function canBeSynchronized() {
|
49 |
+
return $this->isSavedBlock();
|
50 |
}
|
51 |
|
52 |
/**
|
59 |
public static function get( $apost, $uid = null ) {
|
60 |
|
61 |
$wp_post_id = $apost;
|
62 |
+
|
63 |
if ( $apost instanceof WP_Post ) {
|
64 |
$wp_post_id = $apost->ID;
|
65 |
}
|
71 |
return self::$block_instance[ $wp_post_id ] = new self( $wp_post_id, $uid );
|
72 |
}
|
73 |
|
74 |
+
public function createResponse( $fields = array() ) {
|
75 |
+
if ( empty( $fields ) ) {
|
76 |
+
$fields = array(
|
77 |
+
'uid',
|
78 |
+
'id',
|
79 |
+
'meta',
|
80 |
+
'data',
|
81 |
+
'status',
|
82 |
+
'position',
|
83 |
+
'rules',
|
84 |
+
'dataVersion',
|
85 |
+
'synchronized',
|
86 |
+
'synchronizable',
|
87 |
+
'isCloudEntity'
|
88 |
+
);
|
89 |
+
}
|
90 |
|
91 |
+
$global = array();
|
|
|
|
|
|
|
|
|
|
|
92 |
|
93 |
+
if ( in_array( 'uid', $fields ) ) {
|
94 |
+
$global['uid'] = $this->getUid();
|
95 |
+
}
|
96 |
|
97 |
+
if ( in_array( 'status', $fields ) ) {
|
98 |
+
$global['status'] = get_post_status( $this->getWpPostId() );
|
|
|
|
|
99 |
}
|
100 |
|
101 |
+
if ( in_array( 'dataVersion', $fields ) ) {
|
102 |
+
$global['dataVersion'] = $this->getCurrentDataVersion();
|
103 |
+
}
|
104 |
+
|
105 |
+
if ( in_array( 'data', $fields ) ) {
|
106 |
+
$global['data'] = $this->get_editor_data();
|
107 |
+
}
|
108 |
+
|
109 |
+
if ( in_array( 'meta', $fields ) ) {
|
110 |
+
$global['meta'] = $this->getMeta();
|
111 |
+
}
|
112 |
+
|
113 |
+
|
114 |
+
if ( $this->getWpPost()->post_type == Brizy_Admin_Blocks_Main::CP_SAVED ) {
|
115 |
+
|
116 |
+
if ( in_array( 'isCloudEntity', $fields ) ) {
|
117 |
+
$global['isCloudEntity'] = false;
|
118 |
+
}
|
119 |
+
|
120 |
+
if ( in_array( 'synchronized', $fields ) ) {
|
121 |
+
$global['synchronized'] = $this->isSynchronized( Brizy_Editor_Project::get()->getCloudAccountId() );
|
122 |
+
}
|
123 |
+
|
124 |
+
if ( in_array( 'synchronizable', $fields ) ) {
|
125 |
+
$global['synchronizable'] = $this->isSynchronizable();
|
126 |
+
}
|
127 |
+
|
128 |
+
|
129 |
+
}
|
130 |
+
|
131 |
+
if ( $this->getWpPost()->post_type == Brizy_Admin_Blocks_Main::CP_GLOBAL ) {
|
132 |
+
if ( in_array( 'position', $fields ) && $this->getPosition() ) {
|
133 |
+
$global['position'] = $this->getPosition()->convertToOptionValue();
|
134 |
+
}
|
135 |
+
if ( in_array( 'rules', $fields ) ) {
|
136 |
+
$ruleManager = new Brizy_Admin_Rules_Manager();
|
137 |
+
$global['rules'] = $ruleManager->getRules( $this->getWpPostId() );
|
138 |
+
}
|
139 |
+
}
|
140 |
+
|
141 |
+
return $global;
|
142 |
}
|
143 |
|
144 |
|
145 |
+
/**
|
146 |
+
* Brizy_Editor_Block constructor.
|
147 |
+
*
|
148 |
+
* @param $wp_post_id
|
149 |
+
* @param null $uid
|
150 |
+
*
|
151 |
+
* @throws Brizy_Editor_Exceptions_NotFound
|
152 |
+
* @throws Brizy_Editor_Exceptions_UnsupportedPostType
|
153 |
+
*/
|
154 |
public function __construct( $wp_post_id, $uid = null ) {
|
155 |
|
156 |
if ( $uid ) {
|
180 |
return $this;
|
181 |
}
|
182 |
|
183 |
+
public function setPosition( $position ) {
|
184 |
+
$this->position = $position;
|
185 |
+
|
186 |
+
return $this;
|
187 |
+
}
|
188 |
+
|
189 |
/**
|
190 |
+
* @return object
|
191 |
*/
|
192 |
+
public function getPosition() {
|
193 |
+
return $this->position;
|
194 |
+
}
|
195 |
|
196 |
+
/**
|
197 |
+
* @return Brizy_Admin_Rule[]
|
198 |
+
*/
|
199 |
+
public function getRules() {
|
200 |
+
return $this->rules;
|
201 |
+
}
|
202 |
|
203 |
+
/**
|
204 |
+
* @param Brizy_Admin_Rule[] $rules
|
205 |
+
*
|
206 |
+
* @return Brizy_Editor_Block
|
207 |
+
*/
|
208 |
+
public function setRules( $rules ) {
|
209 |
+
$this->rules = $rules;
|
210 |
|
211 |
+
return $this;
|
212 |
+
}
|
|
|
213 |
|
214 |
+
|
215 |
+
public function isGlobalBlock() {
|
216 |
+
return $this->getWpPost() instanceof WP_Post && $this->getWpPost()->post_type == Brizy_Admin_Blocks_Main::CP_GLOBAL;
|
217 |
}
|
218 |
|
219 |
+
public function isSavedBlock() {
|
220 |
+
return $this->getWpPost() instanceof WP_Post && $this->getWpPost()->post_type == Brizy_Admin_Blocks_Main::CP_SAVED;
|
221 |
+
}
|
222 |
+
|
223 |
+
|
224 |
+
/**
|
225 |
+
* @return array
|
226 |
+
*/
|
227 |
+
public function getMeta() {
|
228 |
+
return $this->meta;
|
229 |
+
}
|
230 |
+
|
231 |
+
/**
|
232 |
+
* @param string $meta
|
233 |
+
*
|
234 |
+
* @return Brizy_Editor_Block
|
235 |
+
*/
|
236 |
+
public function setMeta( $meta ) {
|
237 |
+
$this->meta = $meta;
|
238 |
|
239 |
return $this;
|
240 |
}
|
241 |
|
242 |
+
public function getMedia() {
|
243 |
+
return $this->media;
|
244 |
+
}
|
245 |
+
|
246 |
+
/**
|
247 |
+
* @param string $media
|
248 |
+
*
|
249 |
+
* @return Brizy_Editor_Block
|
250 |
+
*/
|
251 |
+
public function setMedia( $media ) {
|
252 |
+
$this->media = $media;
|
253 |
+
|
254 |
+
return $this;
|
255 |
}
|
256 |
|
257 |
public function jsonSerialize() {
|
258 |
$data = get_object_vars( $this );
|
259 |
$data['editor_data'] = base64_decode( $data['editor_data'] );
|
260 |
+
$data['rules'] = [];
|
261 |
|
262 |
$ruleManager = new Brizy_Admin_Rules_Manager();
|
263 |
|
264 |
+
$rules = $ruleManager->getRules( $this->getWpPostId() );
|
265 |
+
foreach ( $rules as $rule ) {
|
266 |
+
$data['rules'][] = $rule->jsonSerialize();
|
267 |
+
}
|
268 |
+
|
269 |
+
|
270 |
+
$data['position'] = null;
|
271 |
+
|
272 |
+
if ( $this->getPosition() ) {
|
273 |
+
$data['position'] = $this->getPosition()->jsonSerialize();
|
274 |
+
}
|
275 |
|
276 |
+
$data['meta'] = $this->getMeta();
|
277 |
+
$data['media'] = $this->getMedia();
|
278 |
+
$data['cloudId'] = $this->getCloudId();
|
279 |
+
$data['cloudAccountId'] = $this->getCloudAccountId();
|
280 |
unset( $data['wp_post'] );
|
281 |
|
282 |
return $data;
|
286 |
parent::loadInstanceData();
|
287 |
$storage = $this->getStorage();
|
288 |
$storage_post = $storage->get( self::BRIZY_POST, false );
|
289 |
+
|
290 |
+
$this->position = null;
|
291 |
+
|
292 |
+
$ruleManager = new Brizy_Admin_Rules_Manager();
|
293 |
+
$this->setRules( $ruleManager->getRules( $this->getWpPostId() ) );
|
294 |
+
|
295 |
+
if ( isset( $storage_post['cloudId'] ) ) {
|
296 |
+
$this->setCloudId( $storage_post['cloudId'] );
|
297 |
}
|
298 |
+
|
299 |
+
if ( isset( $storage_post['cloudAccountId'] ) ) {
|
300 |
+
$this->setCloudAccountId( $storage_post['cloudAccountId'] );
|
301 |
+
}
|
302 |
+
|
303 |
+
$this->setPosition( Brizy_Editor_BlockPosition::createFromSerializedData( get_metadata( 'post', $this->getWpPostId(), self::BRIZY_POSITION, true ) ) );
|
304 |
+
|
305 |
+
$this->meta = get_metadata( 'post', $this->getWpPostId(), self::BRIZY_META, true );
|
306 |
+
$this->media = get_metadata( 'post', $this->getWpPostId(), self::BRIZY_MEDIA, true );
|
307 |
}
|
308 |
|
309 |
public function convertToOptionValue() {
|
310 |
+
|
311 |
$data = parent::convertToOptionValue();
|
312 |
|
313 |
+
$ruleManager = new Brizy_Admin_Rules_Manager();
|
314 |
+
|
315 |
+
$data['position'] = null;
|
316 |
+
$data['rules'] = [];
|
317 |
|
318 |
+
if ( $this->getPosition() ) {
|
319 |
+
$data['position'] = $this->getPosition()->convertToOptionValue();
|
320 |
+
}
|
321 |
+
|
322 |
+
$rules = $ruleManager->getRules( $this->getWpPostId() );
|
323 |
+
foreach ( $rules as $rule ) {
|
324 |
+
$data['rules'][] = $rule->convertToOptionValue();
|
325 |
+
}
|
326 |
+
|
327 |
+
$data['cloudId'] = $this->getCloudId();
|
328 |
+
$data['cloudAccountId'] = $this->getCloudAccountId();
|
329 |
+
$data['media'] = $this->getMedia();
|
330 |
+
|
331 |
+
if ( $this->isSavedBlock() ) {
|
332 |
+
$data['synchronized'] = $this->isSynchronized( Brizy_Editor_Project::get()->getCloudAccountId() );
|
333 |
+
$data['synchronizable'] = $this->isSynchronizable();
|
334 |
+
}
|
335 |
|
336 |
return $data;
|
337 |
}
|
346 |
* @var Brizy_Editor_Block $autosave ;
|
347 |
*/
|
348 |
$autosave = parent::populateAutoSavedData( $autosave );
|
349 |
+
|
350 |
+
//$autosave->setPosition( $this->getPosition() );
|
351 |
+
//$autosave->setRules( $this->getRules() );
|
352 |
|
353 |
return $autosave;
|
354 |
}
|
358 |
* @param array $arags
|
359 |
*
|
360 |
* @return array
|
361 |
+
* @throws Exception
|
362 |
*/
|
363 |
public static function getBlocksByType( $type, $arags = array() ) {
|
364 |
|
387 |
|
388 |
if ( $autosave !== 1 ) {
|
389 |
$this->savePost();
|
390 |
+
|
391 |
do_action( 'brizy_global_data_updated' );
|
392 |
}
|
393 |
+
}
|
394 |
+
|
395 |
+
/**
|
396 |
+
* This will take all values from entity and save them to database
|
397 |
+
*/
|
398 |
+
public function saveStorage() {
|
399 |
+
parent::saveStorage();
|
400 |
+
// save position
|
401 |
+
if ( $this->position instanceof Brizy_Editor_BlockPosition ) {
|
402 |
+
update_metadata( 'post', $this->getWpPostId(), self::BRIZY_POSITION, $this->position->convertToOptionValue() );
|
403 |
+
}
|
404 |
|
405 |
+
update_metadata( 'post', $this->getWpPostId(), self::BRIZY_META, $this->meta );
|
406 |
+
update_metadata( 'post', $this->getWpPostId(), self::BRIZY_MEDIA, $this->media );
|
407 |
}
|
408 |
|
409 |
+
}
|
editor/constants.php
CHANGED
@@ -1,9 +1,6 @@
|
|
1 |
<?php
|
2 |
|
|
|
3 |
class Brizy_Editor_Constants {
|
4 |
-
const BRIZY = 'brizy';
|
5 |
-
const EDIT_KEY = 'brizy-edit';
|
6 |
-
const EDIT_KEY_IFRAME = 'brizy-edit-iframe';
|
7 |
const USES_BRIZY = 'brizy-use-brizy';
|
8 |
-
const CONTENT_META_KEY = 'brizy-content';
|
9 |
}
|
1 |
<?php
|
2 |
|
3 |
+
|
4 |
class Brizy_Editor_Constants {
|
|
|
|
|
|
|
5 |
const USES_BRIZY = 'brizy-use-brizy';
|
|
|
6 |
}
|
editor/crop-cache-media.php
CHANGED
@@ -2,6 +2,8 @@
|
|
2 |
|
3 |
class Brizy_Editor_CropCacheMedia extends Brizy_Editor_Asset_StaticFile {
|
4 |
|
|
|
|
|
5 |
const BASIC_CROP_TYPE = 1;
|
6 |
const ADVANCED_CROP_TYPE = 2;
|
7 |
|
@@ -29,11 +31,12 @@ class Brizy_Editor_CropCacheMedia extends Brizy_Editor_Asset_StaticFile {
|
|
29 |
|
30 |
/**
|
31 |
* @param $madia_name
|
|
|
32 |
*
|
33 |
-
* @return string
|
34 |
-
* @throws
|
35 |
*/
|
36 |
-
public function download_original_image( $madia_name ) {
|
37 |
|
38 |
// Check if user is querying API
|
39 |
if ( ! $madia_name ) {
|
@@ -41,7 +44,7 @@ class Brizy_Editor_CropCacheMedia extends Brizy_Editor_Asset_StaticFile {
|
|
41 |
throw new InvalidArgumentException( "Invalid media file" );
|
42 |
}
|
43 |
|
44 |
-
if ( strpos( $madia_name, "wp-" ) === 0 ) {
|
45 |
Brizy_Logger::instance()->error( 'Invalid try to download wordpress file from application server' );
|
46 |
throw new InvalidArgumentException( "Invalid media file" );
|
47 |
}
|
@@ -197,32 +200,5 @@ class Brizy_Editor_CropCacheMedia extends Brizy_Editor_Asset_StaticFile {
|
|
197 |
return $resized_image_path;
|
198 |
}
|
199 |
|
200 |
-
/**
|
201 |
-
* @param $media_name
|
202 |
-
*
|
203 |
-
* @return null|string
|
204 |
-
*/
|
205 |
-
private function getAttachmentByMediaName( $media_name ) {
|
206 |
-
|
207 |
-
global $wpdb;
|
208 |
-
|
209 |
-
$pt = $wpdb->posts;
|
210 |
-
$mt = $wpdb->postmeta;
|
211 |
-
|
212 |
-
return $wpdb->get_var( $wpdb->prepare(
|
213 |
-
"SELECT
|
214 |
-
{$pt}.ID
|
215 |
-
FROM {$pt}
|
216 |
-
INNER JOIN {$mt} ON ( {$pt}.ID = {$mt}.post_id )
|
217 |
-
WHERE
|
218 |
-
( {$mt}.meta_key = 'brizy_attachment_uid'
|
219 |
-
AND {$mt}.meta_value = %s )
|
220 |
-
AND {$pt}.post_type = 'attachment'
|
221 |
-
AND {$pt}.post_status = 'inherit'
|
222 |
-
GROUP BY {$pt}.ID
|
223 |
-
ORDER BY {$pt}.post_date DESC",
|
224 |
-
$media_name
|
225 |
-
) );
|
226 |
|
227 |
-
}
|
228 |
}
|
2 |
|
3 |
class Brizy_Editor_CropCacheMedia extends Brizy_Editor_Asset_StaticFile {
|
4 |
|
5 |
+
use Brizy_Editor_Asset_AttachmentAware;
|
6 |
+
|
7 |
const BASIC_CROP_TYPE = 1;
|
8 |
const ADVANCED_CROP_TYPE = 2;
|
9 |
|
31 |
|
32 |
/**
|
33 |
* @param $madia_name
|
34 |
+
* @param bool $ignore_wp_media
|
35 |
*
|
36 |
+
* @return false|string
|
37 |
+
* @throws Brizy_Editor_Exceptions_NotFound
|
38 |
*/
|
39 |
+
public function download_original_image( $madia_name, $ignore_wp_media=true ) {
|
40 |
|
41 |
// Check if user is querying API
|
42 |
if ( ! $madia_name ) {
|
44 |
throw new InvalidArgumentException( "Invalid media file" );
|
45 |
}
|
46 |
|
47 |
+
if ( $ignore_wp_media && strpos( $madia_name, "wp-" ) === 0 ) {
|
48 |
Brizy_Logger::instance()->error( 'Invalid try to download wordpress file from application server' );
|
49 |
throw new InvalidArgumentException( "Invalid media file" );
|
50 |
}
|
200 |
return $resized_image_path;
|
201 |
}
|
202 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
203 |
|
|
|
204 |
}
|
editor/editor/editor.php
CHANGED
@@ -1,812 +1,895 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
class Brizy_Editor_Editor_Editor
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
'createIntegration' => Brizy_Editor_Forms_Api::AJAX_CREATE_INTEGRATION,
|
199 |
-
'updateIntegration' => Brizy_Editor_Forms_Api::AJAX_UPDATE_INTEGRATION,
|
200 |
-
'deleteIntegration' => Brizy_Editor_Forms_Api::AJAX_DELETE_INTEGRATION,
|
201 |
-
|
202 |
-
'createFont' => Brizy_Admin_Fonts_Api::AJAX_CREATE_FONT_ACTION,
|
203 |
-
'deleteFont' => Brizy_Admin_Fonts_Api::AJAX_DELETE_FONT_ACTION,
|
204 |
-
'getFonts' => Brizy_Admin_Fonts_Api::AJAX_GET_FONTS_ACTION,
|
205 |
-
|
206 |
-
'getAccount' => Brizy_Editor_Accounts_Api::BRIZY_GET_ACCOUNT,
|
207 |
-
'getAccounts' => Brizy_Editor_Accounts_Api::BRIZY_GET_ACCOUNTS,
|
208 |
-
'addAccount' => Brizy_Editor_Accounts_Api::BRIZY_ADD_ACCOUNT,
|
209 |
-
'updateAccount' => Brizy_Editor_Accounts_Api::BRIZY_UPDATE_ACCOUNT,
|
210 |
-
'deleteAccount' => Brizy_Editor_Accounts_Api::BRIZY_DELETE_ACCOUNT,
|
211 |
-
|
212 |
-
'validateRecaptchaAccount' => Brizy_Editor_Forms_Api::AJAX_VALIDATE_RECAPTCHA_ACCOUNT,
|
213 |
-
|
214 |
-
),
|
215 |
-
'plugins' => array(
|
216 |
-
'dummy' => true,
|
217 |
-
'woocommerce' => $this->get_woocomerce_plugin_info(),
|
218 |
-
),
|
219 |
-
'hasSidebars' => count( $wp_registered_sidebars ) > 0,
|
220 |
-
'l10n' => $this->getTexts(),
|
221 |
-
'pageData' => apply_filters( 'brizy_page_data', array() ),
|
222 |
-
'availableRoles' => $this->roleList()
|
223 |
-
),
|
224 |
-
'mode' => $mode,
|
225 |
-
'applications' => array(
|
226 |
-
'form' => array(
|
227 |
-
'submitUrl' => '{{brizy_dc_ajax_url}}?action=' . Brizy_Editor_Forms_Api::AJAX_SUBMIT_FORM
|
228 |
-
),
|
229 |
-
),
|
230 |
-
'server' => array(
|
231 |
-
'maxUploadSize' => $this->fileUploadMaxSize()
|
232 |
-
),
|
233 |
-
'branding' => array( 'brizy' => __bt( 'brizy', 'Brizy' ) ),
|
234 |
-
'editorVersion' => BRIZY_EDITOR_VERSION
|
235 |
-
);
|
236 |
-
|
237 |
-
$manager = new Brizy_Editor_Accounts_ServiceAccountManager( Brizy_Editor_Project::get() );
|
238 |
-
|
239 |
-
$config = $this->addRecaptchaAccounts( $manager, $config );
|
240 |
-
|
241 |
-
$config = $this->addSocialAccounts( $manager, $config );
|
242 |
-
|
243 |
-
return self::$config[ $cachePostId ] = apply_filters( 'brizy_editor_config', $config );
|
244 |
-
}
|
245 |
-
|
246 |
-
/**
|
247 |
-
* @return object
|
248 |
-
*/
|
249 |
-
private function get_page_attachments() {
|
250 |
-
global $wpdb;
|
251 |
-
$query = $wpdb->prepare(
|
252 |
-
"SELECT
|
253 |
pm.*
|
254 |
FROM
|
255 |
{$wpdb->prefix}postmeta pm
|
256 |
JOIN {$wpdb->prefix}postmeta pm2 ON pm2.post_id=pm.post_id AND pm2.meta_key='brizy_post_uid' AND pm2.meta_value=%s
|
257 |
WHERE pm.meta_key='brizy_attachment_uid'
|
258 |
-
GROUP BY pm.post_id",
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
|
464 |
-
|
465 |
-
|
466 |
-
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
|
477 |
-
|
478 |
-
|
479 |
-
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
|
500 |
-
|
501 |
-
|
502 |
-
|
503 |
-
|
504 |
-
|
505 |
-
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
|
510 |
-
|
511 |
-
|
512 |
-
|
513 |
-
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
|
526 |
-
|
527 |
-
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
-
|
533 |
-
|
534 |
-
|
535 |
-
|
536 |
-
|
537 |
-
|
538 |
-
|
539 |
-
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
545 |
-
|
546 |
-
|
547 |
-
|
548 |
-
|
549 |
-
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
-
|
554 |
-
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
|
562 |
-
|
563 |
-
|
564 |
-
|
565 |
-
|
566 |
-
|
567 |
-
|
568 |
-
|
569 |
-
|
570 |
-
|
571 |
-
|
572 |
-
|
573 |
-
|
574 |
-
|
575 |
-
|
576 |
-
|
577 |
-
|
578 |
-
|
579 |
-
|
580 |
-
|
581 |
-
|
582 |
-
|
583 |
-
|
584 |
-
|
585 |
-
|
586 |
-
|
587 |
-
|
588 |
-
|
589 |
-
|
590 |
-
|
591 |
-
|
592 |
-
|
593 |
-
|
594 |
-
|
595 |
-
|
596 |
-
|
597 |
-
|
598 |
-
|
599 |
-
|
600 |
-
|
601 |
-
|
602 |
-
|
603 |
-
|
604 |
-
|
605 |
-
|
606 |
-
|
607 |
-
|
608 |
-
|
609 |
-
|
610 |
-
|
611 |
-
|
612 |
-
|
613 |
-
|
614 |
-
|
615 |
-
|
616 |
-
|
617 |
-
|
618 |
-
|
619 |
-
|
620 |
-
|
621 |
-
|
622 |
-
|
623 |
-
|
624 |
-
|
625 |
-
|
626 |
-
|
627 |
-
|
628 |
-
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
|
633 |
-
|
634 |
-
|
635 |
-
|
636 |
-
|
637 |
-
|
638 |
-
|
639 |
-
|
640 |
-
|
641 |
-
|
642 |
-
|
643 |
-
|
644 |
-
|
645 |
-
|
646 |
-
|
647 |
-
|
648 |
-
|
649 |
-
|
650 |
-
|
651 |
-
|
652 |
-
|
653 |
-
|
654 |
-
|
655 |
-
|
656 |
-
|
657 |
-
|
658 |
-
|
659 |
-
|
660 |
-
|
661 |
-
|
662 |
-
|
663 |
-
|
664 |
-
|
665 |
-
|
666 |
-
|
667 |
-
|
668 |
-
|
669 |
-
|
670 |
-
|
671 |
-
|
672 |
-
|
673 |
-
|
674 |
-
|
675 |
-
|
676 |
-
|
677 |
-
|
678 |
-
|
679 |
-
|
680 |
-
|
681 |
-
|
682 |
-
|
683 |
-
|
684 |
-
|
685 |
-
|
686 |
-
|
687 |
-
|
688 |
-
|
689 |
-
|
690 |
-
|
691 |
-
|
692 |
-
|
693 |
-
|
694 |
-
|
695 |
-
|
696 |
-
|
697 |
-
|
698 |
-
|
699 |
-
|
700 |
-
|
701 |
-
|
702 |
-
|
703 |
-
|
704 |
-
|
705 |
-
|
706 |
-
|
707 |
-
|
708 |
-
|
709 |
-
|
710 |
-
|
711 |
-
|
712 |
-
|
713 |
-
|
714 |
-
|
715 |
-
|
716 |
-
|
717 |
-
|
718 |
-
|
719 |
-
|
720 |
-
|
721 |
-
|
722 |
-
|
723 |
-
|
724 |
-
|
725 |
-
|
726 |
-
|
727 |
-
|
728 |
-
|
729 |
-
|
730 |
-
|
731 |
-
|
732 |
-
|
733 |
-
|
734 |
-
|
735 |
-
|
736 |
-
|
737 |
-
|
738 |
-
|
739 |
-
|
740 |
-
|
741 |
-
|
742 |
-
|
743 |
-
|
744 |
-
|
745 |
-
|
746 |
-
|
747 |
-
|
748 |
-
|
749 |
-
|
750 |
-
|
751 |
-
|
752 |
-
|
753 |
-
|
754 |
-
|
755 |
-
|
756 |
-
|
757 |
-
|
758 |
-
|
759 |
-
|
760 |
-
|
761 |
-
|
762 |
-
|
763 |
-
|
764 |
-
|
765 |
-
|
766 |
-
|
767 |
-
|
768 |
-
|
769 |
-
|
770 |
-
|
771 |
-
|
772 |
-
|
773 |
-
|
774 |
-
|
775 |
-
|
776 |
-
|
777 |
-
|
778 |
-
|
779 |
-
|
780 |
-
|
781 |
-
|
782 |
-
|
783 |
-
|
784 |
-
|
785 |
-
|
786 |
-
|
787 |
-
|
788 |
-
|
789 |
-
|
790 |
-
|
791 |
-
|
792 |
-
|
793 |
-
|
794 |
-
|
795 |
-
|
796 |
-
|
797 |
-
|
798 |
-
|
799 |
-
|
800 |
-
|
801 |
-
|
802 |
-
|
803 |
-
|
804 |
-
|
805 |
-
|
806 |
-
|
807 |
-
|
808 |
-
|
809 |
-
|
810 |
-
|
811 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
812 |
}
|
1 |
<?php
|
2 |
|
3 |
+
class Brizy_Editor_Editor_Editor
|
4 |
+
{
|
5 |
+
|
6 |
+
/**
|
7 |
+
* @var self
|
8 |
+
*/
|
9 |
+
static private $insance;
|
10 |
+
|
11 |
+
/**
|
12 |
+
* @var array
|
13 |
+
*/
|
14 |
+
static private $config;
|
15 |
+
|
16 |
+
/**
|
17 |
+
* @var Brizy_Editor_Post
|
18 |
+
*/
|
19 |
+
private $post;
|
20 |
+
|
21 |
+
/**
|
22 |
+
* @var Brizy_Editor_Project
|
23 |
+
*/
|
24 |
+
private $project;
|
25 |
+
|
26 |
+
/**
|
27 |
+
* @var Brizy_Editor_UrlBuilder
|
28 |
+
*/
|
29 |
+
private $urlBuilder;
|
30 |
+
|
31 |
+
/**
|
32 |
+
* @param Brizy_Editor_Project $project
|
33 |
+
* @param Brizy_Editor_Post $post
|
34 |
+
*
|
35 |
+
* @return Brizy_Editor_Editor_Editor
|
36 |
+
*/
|
37 |
+
public static function get(Brizy_Editor_Project $project, Brizy_Editor_Post $post)
|
38 |
+
{
|
39 |
+
|
40 |
+
$postId = $post && $post->getWpPostId() ? $post->getWpPostId() : 0;
|
41 |
+
if (isset(self::$insance[$postId])) {
|
42 |
+
return self::$insance[$postId];
|
43 |
+
}
|
44 |
+
|
45 |
+
return self::$insance[$postId] = new self($project, $post);
|
46 |
+
}
|
47 |
+
|
48 |
+
/**
|
49 |
+
* Brizy_Editor_Editor_Editor constructor.
|
50 |
+
*
|
51 |
+
* @param Brizy_Editor_Project $project
|
52 |
+
* @param Brizy_Editor_Post $post
|
53 |
+
*/
|
54 |
+
public function __construct(Brizy_Editor_Project $project, Brizy_Editor_Post $post = null)
|
55 |
+
{
|
56 |
+
$this->post = $post;
|
57 |
+
$this->project = $project;
|
58 |
+
$this->urlBuilder = new Brizy_Editor_UrlBuilder($project, $post ? $post->getWpPostId() : null);
|
59 |
+
}
|
60 |
+
|
61 |
+
private function getMode($postType)
|
62 |
+
{
|
63 |
+
switch ($postType) {
|
64 |
+
case Brizy_Admin_Templates::CP_TEMPLATE:
|
65 |
+
return 'template';
|
66 |
+
case Brizy_Admin_Popups_Main::CP_POPUP:
|
67 |
+
return 'internal_popup';
|
68 |
+
default:
|
69 |
+
return 'page';
|
70 |
+
}
|
71 |
+
}
|
72 |
+
|
73 |
+
/**
|
74 |
+
* @throws Exception
|
75 |
+
*/
|
76 |
+
public function config()
|
77 |
+
{
|
78 |
+
|
79 |
+
$cachePostId = $this->post ? $this->post->getWpPostId() : 0;
|
80 |
+
if (isset(self::$config[$cachePostId])) {
|
81 |
+
return self::$config[$cachePostId];
|
82 |
+
}
|
83 |
+
|
84 |
+
global $wp_registered_sidebars;
|
85 |
+
|
86 |
+
$wp_post_id = null;
|
87 |
+
$preview_post_link = null;
|
88 |
+
$change_template_url = null;
|
89 |
+
|
90 |
+
$parent_post_type = get_post_type($this->post->getWpPostId());
|
91 |
+
$wp_post_id = $this->post->getWpPostId();
|
92 |
+
$preview_post_link = $this->getPreviewUrl($this->post->getWpPost());
|
93 |
+
|
94 |
+
$change_template_url = set_url_scheme(
|
95 |
+
admin_url('admin-post.php?post='.$this->post->getWpPostId().'&action=_brizy_change_template')
|
96 |
+
);
|
97 |
+
$mode = $this->getMode($parent_post_type);
|
98 |
+
|
99 |
+
|
100 |
+
$heartBeatInterval = (int)apply_filters('wp_check_post_lock_window', 150);
|
101 |
+
$config = array(
|
102 |
+
'user' => array(
|
103 |
+
'role' => 'admin',
|
104 |
+
'isAuthorized' => $this->project->getMetaValue('brizy-cloud-token') !== null,
|
105 |
+
),
|
106 |
+
'project' => array(
|
107 |
+
'id' => $this->project->getId(),
|
108 |
+
'status' => $this->getProjectStatus(),
|
109 |
+
'heartBeatInterval' => ($heartBeatInterval > 10 && $heartBeatInterval < 30 ? $heartBeatInterval : 30) * 1000,
|
110 |
+
),
|
111 |
+
'urls' => array(
|
112 |
+
'site' => home_url(),
|
113 |
+
'api' => home_url('/wp-json/v1'),
|
114 |
+
'assets' => $this->urlBuilder->editor_build_url(),
|
115 |
+
'image' => $this->urlBuilder->external_media_url()."",
|
116 |
+
'blockThumbnails' => $this->urlBuilder->external_asset_url('thumbs')."",
|
117 |
+
'templateThumbnails' => $this->urlBuilder->external_asset_url('thumbs')."",
|
118 |
+
'templateIcons' => $this->urlBuilder->proxy_url('editor/icons'),
|
119 |
+
'templateFonts' => $this->urlBuilder->external_fonts_url(),
|
120 |
+
'editorFonts' => home_url(),
|
121 |
+
'pagePreview' => $preview_post_link,
|
122 |
+
'about' => __bt('about-url', apply_filters('brizy_about_url', Brizy_Config::ABOUT_URL)),
|
123 |
+
'backToDashboard' => get_edit_post_link($wp_post_id, null),
|
124 |
+
|
125 |
+
// wp specific
|
126 |
+
'changeTemplate' => $change_template_url,
|
127 |
+
'upgradeToPro' => __bt(
|
128 |
+
'upgrade-url',
|
129 |
+
apply_filters('brizy_upgrade_to_pro_url', Brizy_Config::UPGRADE_TO_PRO_URL)
|
130 |
+
),
|
131 |
+
'support' => __bt(
|
132 |
+
'support-url',
|
133 |
+
apply_filters('brizy_support_url', Brizy_Config::SUPPORT_URL)
|
134 |
+
),
|
135 |
+
'pluginSettings' => admin_url('admin.php?page='.Brizy_Admin_Settings::menu_slug()),
|
136 |
+
'dashboardNavMenu' => admin_url('nav-menus.php'),
|
137 |
+
'customFile' => home_url('?'.Brizy_Editor::prefix('_attachment').'='),
|
138 |
+
),
|
139 |
+
'form' => array(
|
140 |
+
'submitUrl' => '{{brizy_dc_ajax_url}}?action='.Brizy_Editor::prefix(
|
141 |
+
Brizy_Editor_Forms_Api::AJAX_SUBMIT_FORM
|
142 |
+
),
|
143 |
+
),
|
144 |
+
'serverTimestamp' => time(),
|
145 |
+
'menuData' => $this->get_menu_data(),
|
146 |
+
'wp' => array(
|
147 |
+
'pluginPrefix' => Brizy_Editor::prefix(),
|
148 |
+
'permalink' => get_permalink($wp_post_id),
|
149 |
+
'page' => $wp_post_id,
|
150 |
+
'ruleMatches' => $this->getTemplateRuleMatches($mode === 'template', $wp_post_id),
|
151 |
+
'featuredImage' => $this->getThumbnailData($wp_post_id),
|
152 |
+
'pageAttachments' => array('images' => $this->get_page_attachments()),
|
153 |
+
'templates' => $this->post->get_templates(),
|
154 |
+
'api' => $this->getApiActions(),
|
155 |
+
'plugins' => array(
|
156 |
+
'dummy' => true,
|
157 |
+
'woocommerce' => $this->get_woocomerce_plugin_info(),
|
158 |
+
),
|
159 |
+
'hasSidebars' => count($wp_registered_sidebars) > 0,
|
160 |
+
'l10n' => $this->getTexts(),
|
161 |
+
'pageData' => apply_filters('brizy_page_data', array()),
|
162 |
+
'availableRoles' => $this->roleList(),
|
163 |
+
),
|
164 |
+
'mode' => $mode,
|
165 |
+
'applications' => array(
|
166 |
+
'form' => array(
|
167 |
+
'submitUrl' => '{{brizy_dc_ajax_url}}?action='.Brizy_Editor::prefix(
|
168 |
+
Brizy_Editor_Forms_Api::AJAX_SUBMIT_FORM
|
169 |
+
),
|
170 |
+
),
|
171 |
+
),
|
172 |
+
'server' => array(
|
173 |
+
'maxUploadSize' => $this->fileUploadMaxSize(),
|
174 |
+
),
|
175 |
+
'branding' => array('brizy' => __bt('brizy', 'Brizy')),
|
176 |
+
'prefix' => Brizy_Editor::prefix(),
|
177 |
+
'cloud' => $this->getCloudInfo(),
|
178 |
+
'editorVersion' => BRIZY_EDITOR_VERSION,
|
179 |
+
);
|
180 |
+
|
181 |
+
$manager = new Brizy_Editor_Accounts_ServiceAccountManager(Brizy_Editor_Project::get());
|
182 |
+
|
183 |
+
$config = $this->addRecaptchaAccounts($manager, $config);
|
184 |
+
$config = $this->addSocialAccounts($manager, $config);
|
185 |
+
|
186 |
+
return self::$config[$cachePostId] = apply_filters('brizy_editor_config', $config);
|
187 |
+
}
|
188 |
+
|
189 |
+
|
190 |
+
/**
|
191 |
+
* @return object
|
192 |
+
*/
|
193 |
+
private function get_page_attachments()
|
194 |
+
{
|
195 |
+
global $wpdb;
|
196 |
+
$query = $wpdb->prepare(
|
197 |
+
"SELECT
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
198 |
pm.*
|
199 |
FROM
|
200 |
{$wpdb->prefix}postmeta pm
|
201 |
JOIN {$wpdb->prefix}postmeta pm2 ON pm2.post_id=pm.post_id AND pm2.meta_key='brizy_post_uid' AND pm2.meta_value=%s
|
202 |
WHERE pm.meta_key='brizy_attachment_uid'
|
203 |
+
GROUP BY pm.post_id",
|
204 |
+
$this->post->getUid()
|
205 |
+
);
|
206 |
+
|
207 |
+
$results = $wpdb->get_results($query);
|
208 |
+
$attachment_data = array();
|
209 |
+
foreach ($results as $row) {
|
210 |
+
$attachment_data[$row->meta_value] = true;
|
211 |
+
}
|
212 |
+
|
213 |
+
return (object)$attachment_data;
|
214 |
+
}
|
215 |
+
|
216 |
+
/**
|
217 |
+
* @return array|null
|
218 |
+
*/
|
219 |
+
private function get_woocomerce_plugin_info()
|
220 |
+
{
|
221 |
+
if (function_exists('wc') && defined('WC_PLUGIN_FILE')) {
|
222 |
+
return array('version' => WooCommerce::instance()->version);
|
223 |
+
}
|
224 |
+
|
225 |
+
return null;
|
226 |
+
}
|
227 |
+
|
228 |
+
/**
|
229 |
+
* @param $wp_post_id
|
230 |
+
*
|
231 |
+
* @return array|null
|
232 |
+
*/
|
233 |
+
private function getThumbnailData($wp_post_id)
|
234 |
+
{
|
235 |
+
$post_thumbnail_id = get_post_thumbnail_id($wp_post_id);
|
236 |
+
$post_thumbnail = "";
|
237 |
+
|
238 |
+
if ($post_thumbnail_id) {
|
239 |
+
$post_thumbnail_focal_point = get_post_meta($wp_post_id, 'brizy_attachment_focal_point', true);
|
240 |
+
|
241 |
+
if ( ! is_array($post_thumbnail_focal_point)) {
|
242 |
+
$post_thumbnail_focal_point = array('x' => "", 'y' => "");
|
243 |
+
}
|
244 |
+
|
245 |
+
$post_thumbnail = array(
|
246 |
+
'id' => $post_thumbnail_id,
|
247 |
+
'url' => get_the_post_thumbnail_url($wp_post_id),
|
248 |
+
'pointX' => isset($post_thumbnail_focal_point['x']) ? $post_thumbnail_focal_point['x'] : "",
|
249 |
+
'pointY' => isset($post_thumbnail_focal_point['y']) ? $post_thumbnail_focal_point['y'] : "",
|
250 |
+
);
|
251 |
+
}
|
252 |
+
|
253 |
+
return $post_thumbnail;
|
254 |
+
}
|
255 |
+
|
256 |
+
/**
|
257 |
+
* @param $wp_post
|
258 |
+
*
|
259 |
+
* @return null|string
|
260 |
+
* @throws Brizy_Editor_Exceptions_NotFound
|
261 |
+
* @throws Brizy_Editor_Exceptions_UnsupportedPostType
|
262 |
+
*/
|
263 |
+
private function getPreviewUrl($wp_post)
|
264 |
+
{
|
265 |
+
|
266 |
+
if ($wp_post->post_type == Brizy_Admin_Templates::CP_TEMPLATE) {
|
267 |
+
|
268 |
+
$ruleManager = new Brizy_Admin_Rules_Manager();
|
269 |
+
$rules = $ruleManager->getRules($wp_post->ID);
|
270 |
+
$rule = null;
|
271 |
+
|
272 |
+
|
273 |
+
if ( ! function_exists('addQueryStringToUrl')) {
|
274 |
+
function addQueryStringToUrl($link, $query)
|
275 |
+
{
|
276 |
+
$parsedUrl = parse_url($link);
|
277 |
+
$separator = ( ! isset($parsedUrl['query']) || $parsedUrl['query'] == null) ? '?' : '&';
|
278 |
+
$link .= $separator.$query;
|
279 |
+
|
280 |
+
return $link;
|
281 |
+
}
|
282 |
+
}
|
283 |
+
|
284 |
+
|
285 |
+
// find first include rule
|
286 |
+
foreach ($rules as $rule) {
|
287 |
+
/**
|
288 |
+
* @var Brizy_Admin_Rule $rule ;
|
289 |
+
*/
|
290 |
+
if ($rule->getType() == Brizy_Admin_Rule::TYPE_INCLUDE) {
|
291 |
+
break;
|
292 |
+
}
|
293 |
+
}
|
294 |
+
|
295 |
+
if ($rule) {
|
296 |
+
|
297 |
+
switch ($rule->getAppliedFor()) {
|
298 |
+
case Brizy_Admin_Rule::POSTS :
|
299 |
+
$args = array(
|
300 |
+
'post_type' => $rule->getEntityType(),
|
301 |
+
);
|
302 |
+
|
303 |
+
if (count($rule->getEntityValues())) {
|
304 |
+
$args['post__in'] = $rule->getEntityValues();
|
305 |
+
}
|
306 |
+
|
307 |
+
$array = get_posts($args);
|
308 |
+
|
309 |
+
foreach ($array as $p) {
|
310 |
+
|
311 |
+
if ($p->post_type == 'attachment') {
|
312 |
+
return addQueryStringToUrl(get_attachment_link($p->ID), 'preview=1');
|
313 |
+
}
|
314 |
+
|
315 |
+
if ( ! Brizy_Editor::checkIfPostTypeIsSupported($p->ID, false) ||
|
316 |
+
! Brizy_Editor_Post::get($p)->uses_editor()) {
|
317 |
+
$wp_post = $p;
|
318 |
+
break;
|
319 |
+
}
|
320 |
+
|
321 |
+
}
|
322 |
+
break;
|
323 |
+
case Brizy_Admin_Rule::TAXONOMY :
|
324 |
+
$args = array(
|
325 |
+
'taxonomy' => $rule->getEntityType(),
|
326 |
+
'hide_empty' => false,
|
327 |
+
);
|
328 |
+
if (count($rule->getEntityValues())) {
|
329 |
+
$args['term_taxonomy_id'] = $rule->getEntityValues();
|
330 |
+
}
|
331 |
+
|
332 |
+
$array = get_terms($args);
|
333 |
+
|
334 |
+
if (count($array) == 0) {
|
335 |
+
break;
|
336 |
+
}
|
337 |
+
$term = array_pop($array);
|
338 |
+
$link = get_term_link($term);
|
339 |
+
|
340 |
+
return addQueryStringToUrl($link, 'preview=1');
|
341 |
+
break;
|
342 |
+
case Brizy_Admin_Rule::ARCHIVE :
|
343 |
+
if ($rule->getEntityType()) {
|
344 |
+
$link = get_post_type_archive_link($rule->getEntityType());
|
345 |
+
|
346 |
+
return addQueryStringToUrl($link, 'preview=1');
|
347 |
+
}
|
348 |
+
|
349 |
+
$link = $this->getOneArchiveLink();
|
350 |
+
|
351 |
+
return addQueryStringToUrl($link, 'preview=1');
|
352 |
+
break;
|
353 |
+
case Brizy_Admin_Rule::TEMPLATE :
|
354 |
+
|
355 |
+
// array( 'title' => 'Author page', 'value' => 'author', 'groupValue' => Brizy_Admin_Rule::TEMPLATE ),
|
356 |
+
// array( 'title' => 'Search page', 'value' => 'search', 'groupValue' => Brizy_Admin_Rule::TEMPLATE ),
|
357 |
+
// array( 'title' => 'Home page', 'value' => 'front_page', 'groupValue' => Brizy_Admin_Rule::TEMPLATE ),
|
358 |
+
// array( 'title' => '404 page', 'value' => '404', 'groupValue' => Brizy_Admin_Rule::TEMPLATE ),
|
359 |
+
// array( 'title' => 'Archive page', 'value' => '', 'groupValue' => Brizy_Admin_Rule::ARCHIVE ),
|
360 |
+
switch ($rule->getEntityType()) {
|
361 |
+
case 'author':
|
362 |
+
$authors = get_users();
|
363 |
+
$author = array_pop($authors);
|
364 |
+
$link = get_author_posts_url($author->ID);
|
365 |
+
|
366 |
+
return addQueryStringToUrl($link, 'preview=1');
|
367 |
+
break;
|
368 |
+
|
369 |
+
case 'search':
|
370 |
+
return addQueryStringToUrl(get_search_link('find-me'), 'preview=1');
|
371 |
+
break;
|
372 |
+
case '404':
|
373 |
+
return addQueryStringToUrl(get_home_url(null, (string)time()), 'preview=1');
|
374 |
+
break;
|
375 |
+
case 'home_page':
|
376 |
+
$get_option = get_option('page_for_posts');
|
377 |
+
|
378 |
+
if ($get_option) {
|
379 |
+
return addQueryStringToUrl(get_permalink($get_option), 'preview=1');
|
380 |
+
}
|
381 |
+
break;
|
382 |
+
case 'front_page':
|
383 |
+
return addQueryStringToUrl(home_url(), 'preview=1');
|
384 |
+
break;
|
385 |
+
}
|
386 |
+
|
387 |
+
break;
|
388 |
+
}
|
389 |
+
|
390 |
+
}
|
391 |
+
}
|
392 |
+
|
393 |
+
return get_preview_post_link(
|
394 |
+
$wp_post,
|
395 |
+
array(
|
396 |
+
'preview_id' => $wp_post->ID,
|
397 |
+
'preview_nonce' => wp_create_nonce('post_preview_'.$wp_post->ID),
|
398 |
+
)
|
399 |
+
);
|
400 |
+
}
|
401 |
+
|
402 |
+
/**
|
403 |
+
* @return array
|
404 |
+
*/
|
405 |
+
private function get_menu_data()
|
406 |
+
{
|
407 |
+
$menus = wp_get_nav_menus();
|
408 |
+
$menu_data = array();
|
409 |
+
|
410 |
+
foreach ($menus as $menu) {
|
411 |
+
|
412 |
+
$custom_menu_data = get_term_meta($menu->term_id, 'brizy_data', true);
|
413 |
+
|
414 |
+
$menu_uid = get_term_meta($menu->term_id, 'brizy_uid', true);
|
415 |
+
if ( ! $menu_uid) {
|
416 |
+
$menu_uid = md5($menu->term_id.time());
|
417 |
+
update_term_meta($menu->term_id, 'brizy_uid', $menu_uid);
|
418 |
+
}
|
419 |
+
|
420 |
+
$amenu = array(
|
421 |
+
'id' => $menu_uid,
|
422 |
+
'name' => $menu->name,
|
423 |
+
'items' => array(),
|
424 |
+
);
|
425 |
+
|
426 |
+
$amenu = (object)array_merge(
|
427 |
+
$amenu,
|
428 |
+
get_object_vars(is_object($custom_menu_data) ? $custom_menu_data : (object)array())
|
429 |
+
);
|
430 |
+
|
431 |
+
$menu_items = wp_get_nav_menu_items($menu->term_id);
|
432 |
+
_wp_menu_item_classes_by_context( $menu_items );
|
433 |
+
$menu_items = $this->get_menu_tree($menu_items);
|
434 |
+
|
435 |
+
if (count($menu_items) > 0) {
|
436 |
+
$amenu->items = $menu_items;
|
437 |
+
}
|
438 |
+
|
439 |
+
$menu_data[] = $amenu;
|
440 |
+
}
|
441 |
+
|
442 |
+
return $menu_data;
|
443 |
+
}
|
444 |
+
|
445 |
+
/**
|
446 |
+
* @param $items
|
447 |
+
* @param int $parent
|
448 |
+
*
|
449 |
+
* @return array
|
450 |
+
*/
|
451 |
+
private function get_menu_tree($items, $parent = 0)
|
452 |
+
{
|
453 |
+
$result_items = array();
|
454 |
+
|
455 |
+
foreach ($items as $item) {
|
456 |
+
if ((int)$item->menu_item_parent !== $parent) {
|
457 |
+
continue;
|
458 |
+
}
|
459 |
+
|
460 |
+
$menu_uid = get_post_meta($item->ID, 'brizy_post_uid', true);
|
461 |
+
|
462 |
+
if ( ! $menu_uid) {
|
463 |
+
$menu_uid = md5($item->ID.time());
|
464 |
+
update_post_meta($item->ID, 'brizy_post_uid', $menu_uid);
|
465 |
+
}
|
466 |
+
|
467 |
+
$megaMenuItems = $this->getMegaMenuItems();
|
468 |
+
|
469 |
+
$menu_data = get_post_meta($item->ID, 'brizy_data', true);
|
470 |
+
|
471 |
+
$item_value = array(
|
472 |
+
'id' => $menu_uid,
|
473 |
+
'title' => $item->title,
|
474 |
+
'url' => $item->url,
|
475 |
+
'megaMenuItems' => $megaMenuItems,
|
476 |
+
'description' => $item->post_content,
|
477 |
+
'position' => $item->menu_order,
|
478 |
+
'attrTitle' => $item->post_excerpt,
|
479 |
+
'current' => count( array_intersect( [
|
480 |
+
'current-menu-parent',
|
481 |
+
'current-menu-item'
|
482 |
+
], $item->classes ) ) > 0,
|
483 |
+
'target' => get_post_meta($item->ID, '_menu_item_target', true),
|
484 |
+
'classes' => array_values( array_filter($item->classes)),
|
485 |
+
'xfn' => get_post_meta($item->ID, '_menu_item_xfn', true),
|
486 |
+
);
|
487 |
+
|
488 |
+
$an_item = (object)array(
|
489 |
+
'type' => 'MenuItem',
|
490 |
+
);
|
491 |
+
|
492 |
+
$an_item->value = (object)array_merge(
|
493 |
+
$item_value,
|
494 |
+
get_object_vars(is_object($menu_data) ? $menu_data : (object)array())
|
495 |
+
);
|
496 |
+
|
497 |
+
$child_items = $this->get_menu_tree($items, $item->ID);
|
498 |
+
|
499 |
+
$an_item->value->items = array();
|
500 |
+
|
501 |
+
if (count($child_items) > 0) {
|
502 |
+
$an_item->value->items = $child_items;
|
503 |
+
}
|
504 |
+
|
505 |
+
$result_items[] = $an_item;
|
506 |
+
}
|
507 |
+
|
508 |
+
return $result_items;
|
509 |
+
}
|
510 |
+
|
511 |
+
/**
|
512 |
+
* @return array
|
513 |
+
*/
|
514 |
+
private function getMegaMenuItems()
|
515 |
+
{
|
516 |
+
|
517 |
+
return array(
|
518 |
+
(object)(array(
|
519 |
+
'type' => "SectionMegaMenu",
|
520 |
+
'value' => (object)array('items' => array()),
|
521 |
+
)),
|
522 |
+
);
|
523 |
+
}
|
524 |
+
|
525 |
+
/**
|
526 |
+
* @param Brizy_Editor_Accounts_ServiceAccountManager $manager
|
527 |
+
* @param array $config
|
528 |
+
*
|
529 |
+
* @return array
|
530 |
+
*/
|
531 |
+
private function addRecaptchaAccounts(Brizy_Editor_Accounts_ServiceAccountManager $manager, array $config)
|
532 |
+
{
|
533 |
+
$accounts = $manager->getAccountsByGroup(Brizy_Editor_Accounts_AbstractAccount::RECAPTCHA_GROUP);
|
534 |
+
|
535 |
+
if (isset($accounts[0]) && $accounts[0] instanceof Brizy_Editor_Accounts_RecaptchaAccount) {
|
536 |
+
$config['applications']['form']['recaptcha']['siteKey'] = $accounts[0]->getSiteKey();
|
537 |
+
}
|
538 |
+
|
539 |
+
return $config;
|
540 |
+
}
|
541 |
+
|
542 |
+
/**
|
543 |
+
* @param Brizy_Editor_Accounts_ServiceAccountManager $manager
|
544 |
+
* @param array $config
|
545 |
+
*
|
546 |
+
* @return array
|
547 |
+
*/
|
548 |
+
private function addSocialAccounts(Brizy_Editor_Accounts_ServiceAccountManager $manager, array $config)
|
549 |
+
{
|
550 |
+
$accounts = $manager->getAccountsByGroup(Brizy_Editor_Accounts_AbstractAccount::SOCIAL_GROUP);
|
551 |
+
|
552 |
+
foreach ($accounts as $account) {
|
553 |
+
if (isset($account) && $account instanceof Brizy_Editor_Accounts_SocialAccount) {
|
554 |
+
$config['applications'][$account->getGroup()][] = $account->convertToOptionValue();
|
555 |
+
}
|
556 |
+
}
|
557 |
+
|
558 |
+
return $config;
|
559 |
+
}
|
560 |
+
|
561 |
+
|
562 |
+
private function fileUploadMaxSize()
|
563 |
+
{
|
564 |
+
static $max_size = -1;
|
565 |
+
|
566 |
+
if ($max_size < 0) {
|
567 |
+
// Start with post_max_size.
|
568 |
+
$post_max_size = $this->parseSize(ini_get('post_max_size'));
|
569 |
+
if ($post_max_size > 0) {
|
570 |
+
$max_size = number_format($post_max_size / 1048576, 2, '.', '');
|
571 |
+
}
|
572 |
+
|
573 |
+
// If upload_max_size is less, then reduce. Except if upload_max_size is
|
574 |
+
// zero, which indicates no limit.
|
575 |
+
$upload_max = $this->parseSize(ini_get('upload_max_filesize'));
|
576 |
+
if ($upload_max > 0 && $upload_max < $max_size) {
|
577 |
+
$max_size = number_format($upload_max / 1048576, 2, '.', '');
|
578 |
+
}
|
579 |
+
}
|
580 |
+
|
581 |
+
return $max_size;
|
582 |
+
}
|
583 |
+
|
584 |
+
private function parseSize($size)
|
585 |
+
{
|
586 |
+
$unit = preg_replace('/[^bkmgtpezy]/i', '', $size); // Remove the non-unit characters from the size.
|
587 |
+
$size = preg_replace('/[^0-9\.]/', '', $size); // Remove the non-numeric characters from the size.
|
588 |
+
if ($unit) {
|
589 |
+
// Find the position of the unit in the ordered string which is the power of magnitude to multiply a kilobyte by.
|
590 |
+
return round($size * pow(1024, stripos('bkmgtpezy', $unit[0])));
|
591 |
+
} else {
|
592 |
+
return round($size);
|
593 |
+
}
|
594 |
+
}
|
595 |
+
|
596 |
+
/**
|
597 |
+
* @return array
|
598 |
+
*/
|
599 |
+
private function roleList()
|
600 |
+
{
|
601 |
+
$editable_roles = wp_roles()->roles;
|
602 |
+
$editable_roles = apply_filters('editable_roles', $editable_roles);
|
603 |
+
$roles = array();
|
604 |
+
foreach ($editable_roles as $role => $details) {
|
605 |
+
$sub['role'] = esc_attr($role);
|
606 |
+
$sub['name'] = translate_user_role($details['name']);
|
607 |
+
$roles[] = $sub;
|
608 |
+
}
|
609 |
+
|
610 |
+
return $roles;
|
611 |
+
}
|
612 |
+
|
613 |
+
private function getOneArchiveLink($args = '')
|
614 |
+
{
|
615 |
+
global $wpdb, $wp_locale;
|
616 |
+
|
617 |
+
$defaults = array(
|
618 |
+
'type' => 'monthly',
|
619 |
+
'limit' => '',
|
620 |
+
'order' => 'DESC',
|
621 |
+
'post_type' => 'post',
|
622 |
+
'year' => get_query_var('year'),
|
623 |
+
'monthnum' => get_query_var('monthnum'),
|
624 |
+
'day' => get_query_var('day'),
|
625 |
+
'w' => get_query_var('w'),
|
626 |
+
);
|
627 |
+
|
628 |
+
$r = wp_parse_args($args, $defaults);
|
629 |
+
|
630 |
+
$post_type_object = get_post_type_object($r['post_type']);
|
631 |
+
if ( ! is_post_type_viewable($post_type_object)) {
|
632 |
+
return;
|
633 |
+
}
|
634 |
+
$r['post_type'] = $post_type_object->name;
|
635 |
+
|
636 |
+
if ('' == $r['type']) {
|
637 |
+
$r['type'] = 'monthly';
|
638 |
+
}
|
639 |
+
|
640 |
+
if ( ! empty($r['limit'])) {
|
641 |
+
$r['limit'] = absint($r['limit']);
|
642 |
+
$r['limit'] = ' LIMIT '.$r['limit'];
|
643 |
+
}
|
644 |
+
|
645 |
+
$order = strtoupper($r['order']);
|
646 |
+
if ($order !== 'ASC') {
|
647 |
+
$order = 'DESC';
|
648 |
+
}
|
649 |
+
|
650 |
+
// this is what will separate dates on weekly archive links
|
651 |
+
$archive_week_separator = '–';
|
652 |
+
|
653 |
+
$sql_where = $wpdb->prepare("WHERE post_type = %s AND post_status = 'publish'", $r['post_type']);
|
654 |
+
|
655 |
+
/**
|
656 |
+
* Filters the SQL WHERE clause for retrieving archives.
|
657 |
+
*
|
658 |
+
* @param string $sql_where Portion of SQL query containing the WHERE clause.
|
659 |
+
* @param array $r An array of default arguments.
|
660 |
+
*
|
661 |
+
* @since 2.2.0
|
662 |
+
*
|
663 |
+
*/
|
664 |
+
$where = apply_filters('getarchives_where', $sql_where, $r);
|
665 |
+
|
666 |
+
/**
|
667 |
+
* Filters the SQL JOIN clause for retrieving archives.
|
668 |
+
*
|
669 |
+
* @param string $sql_join Portion of SQL query containing JOIN clause.
|
670 |
+
* @param array $r An array of default arguments.
|
671 |
+
*
|
672 |
+
* @since 2.2.0
|
673 |
+
*
|
674 |
+
*/
|
675 |
+
$join = apply_filters('getarchives_join', '', $r);
|
676 |
+
|
677 |
+
$output = '';
|
678 |
+
|
679 |
+
$last_changed = wp_cache_get_last_changed('posts');
|
680 |
+
|
681 |
+
$limit = $r['limit'];
|
682 |
+
|
683 |
+
if ('monthly' == $r['type']) {
|
684 |
+
$query = "SELECT YEAR(post_date) AS `year`, MONTH(post_date) AS `month`, count(ID) as posts FROM $wpdb->posts $join $where GROUP BY YEAR(post_date), MONTH(post_date) ORDER BY post_date $order $limit";
|
685 |
+
$key = md5($query);
|
686 |
+
$key = "wp_get_archives:$key:$last_changed";
|
687 |
+
if ( ! $results = wp_cache_get($key, 'posts')) {
|
688 |
+
$results = $wpdb->get_results($query);
|
689 |
+
wp_cache_set($key, $results, 'posts');
|
690 |
+
}
|
691 |
+
if ($results) {
|
692 |
+
foreach ((array)$results as $result) {
|
693 |
+
$url = get_month_link($result->year, $result->month);
|
694 |
+
if ('post' !== $r['post_type']) {
|
695 |
+
$url = add_query_arg('post_type', $r['post_type'], $url);
|
696 |
+
}
|
697 |
+
|
698 |
+
return $url;
|
699 |
+
}
|
700 |
+
}
|
701 |
+
}
|
702 |
+
}
|
703 |
+
|
704 |
+
/**
|
705 |
+
* @return string
|
706 |
+
* @throws Exception
|
707 |
+
*/
|
708 |
+
private function getTexts()
|
709 |
+
{
|
710 |
+
if (BRIZY_DEVELOPMENT) {
|
711 |
+
$brizy_public_editor_build_texts = '\Brizy_Public_EditorBuild_Dev_Texts';
|
712 |
+
} else {
|
713 |
+
$version = '';
|
714 |
+
foreach (explode('-', BRIZY_EDITOR_VERSION) as $tmp) {
|
715 |
+
$version .= ucfirst($tmp);
|
716 |
+
}
|
717 |
+
$brizy_public_editor_build_texts = '\Brizy_Public_EditorBuild_'.$version.'_Texts';
|
718 |
+
}
|
719 |
+
|
720 |
+
if ( ! class_exists($brizy_public_editor_build_texts)) {
|
721 |
+
if (BRIZY_DEVELOPMENT) {
|
722 |
+
throw new \Exception('You must build the editor first.');
|
723 |
+
} else {
|
724 |
+
throw new \Exception('Unable to find class '.$brizy_public_editor_build_texts);
|
725 |
+
}
|
726 |
+
}
|
727 |
+
|
728 |
+
return (object)$brizy_public_editor_build_texts::get_editor_texts();
|
729 |
+
}
|
730 |
+
|
731 |
+
/**
|
732 |
+
* @param $isTemplate
|
733 |
+
* @param $wp_post_id
|
734 |
+
* @param array $ruleMatches
|
735 |
+
*
|
736 |
+
* @return array
|
737 |
+
* @throws Exception
|
738 |
+
*/
|
739 |
+
private function getTemplateRuleMatches($isTemplate, $wp_post_id)
|
740 |
+
{
|
741 |
+
|
742 |
+
$ruleMatches = array();
|
743 |
+
|
744 |
+
if ($isTemplate) {
|
745 |
+
$rule_manager = new Brizy_Admin_Rules_Manager();
|
746 |
+
$template_rules = $rule_manager->getRules($wp_post_id);
|
747 |
+
|
748 |
+
foreach ($template_rules as $rule) {
|
749 |
+
/**
|
750 |
+
* @var Brizy_Admin_Rule $rule ;
|
751 |
+
*/
|
752 |
+
$ruleMatches[] = array(
|
753 |
+
'type' => $rule->getType(),
|
754 |
+
'group' => $rule->getAppliedFor(),
|
755 |
+
'entityType' => $rule->getEntityType(),
|
756 |
+
'values' => $rule->getEntityValues(),
|
757 |
+
);
|
758 |
+
}
|
759 |
+
} else {
|
760 |
+
$ruleMatches[] = array(
|
761 |
+
'type' => Brizy_Admin_Rule::TYPE_INCLUDE,
|
762 |
+
'group' => Brizy_Admin_Rule::POSTS,
|
763 |
+
'entityType' => $this->post->getWpPost()->post_type,
|
764 |
+
'values' => array($wp_post_id),
|
765 |
+
);
|
766 |
+
}
|
767 |
+
|
768 |
+
return $ruleMatches;
|
769 |
+
}
|
770 |
+
|
771 |
+
/**
|
772 |
+
* @return array
|
773 |
+
*/
|
774 |
+
public function getProjectStatus()
|
775 |
+
{
|
776 |
+
$projectLockedBy = Brizy_Editor::get()->checkIfProjectIsLocked();
|
777 |
+
$userData = WP_User::get_data_by('id', $projectLockedBy);
|
778 |
+
unset($userData->user_pass);
|
779 |
+
unset($userData->user_registered);
|
780 |
+
unset($userData->user_status);
|
781 |
+
unset($userData->user_activation_key);
|
782 |
+
|
783 |
+
return [
|
784 |
+
'locked' => $projectLockedBy !== false,
|
785 |
+
'lockedBy' => $userData,
|
786 |
+
];
|
787 |
+
}
|
788 |
+
|
789 |
+
/**
|
790 |
+
* @return array
|
791 |
+
*/
|
792 |
+
public function getApiActions()
|
793 |
+
{
|
794 |
+
$pref = Brizy_Editor::prefix();
|
795 |
+
|
796 |
+
return array(
|
797 |
+
'hash' => wp_create_nonce(Brizy_Editor_API::nonce),
|
798 |
+
'url' => set_url_scheme(admin_url('admin-ajax.php')),
|
799 |
+
|
800 |
+
'heartBeat' => $pref.Brizy_Editor_API::AJAX_HEARTBEAT,
|
801 |
+
'takeOver' => $pref.Brizy_Editor_API::AJAX_TAKE_OVER,
|
802 |
+
'lockProject' => $pref.Brizy_Editor_API::AJAX_LOCK_PROJECT,
|
803 |
+
'removeLock' => $pref.Brizy_Editor_API::AJAX_REMOVE_LOCK,
|
804 |
+
'getPage' => $pref.Brizy_Editor_API::AJAX_GET,
|
805 |
+
'getPostInfo' => $pref.Brizy_Editor_API::AJAX_GET_POST_INFO,
|
806 |
+
'updatePage' => $pref.Brizy_Editor_API::AJAX_UPDATE,
|
807 |
+
'getProject' => $pref.Brizy_Editor_API::AJAX_GET_PROJECT,
|
808 |
+
'setProject' => $pref.Brizy_Editor_API::AJAX_SET_PROJECT,
|
809 |
+
'setProjectMeta' => $pref.Brizy_Editor_API::AJAX_UPDATE_EDITOR_META_DATA,
|
810 |
+
'getGlobalBlockList' => $pref.Brizy_Admin_Blocks_Api::GET_GLOBAL_BLOCKS_ACTION,
|
811 |
+
'createGlobalBlock' => $pref.Brizy_Admin_Blocks_Api::CREATE_GLOBAL_BLOCK_ACTION,
|
812 |
+
'createGlobalBlocks' => $pref.Brizy_Admin_Blocks_Api::CREATE_GLOBAL_BLOCKS_ACTION,
|
813 |
+
'updateGlobalBlock' => $pref.Brizy_Admin_Blocks_Api::UPDATE_GLOBAL_BLOCK_ACTION,
|
814 |
+
'updateGlobalBlocks' => $pref.Brizy_Admin_Blocks_Api::UPDATE_GLOBAL_BLOCKS_ACTION,
|
815 |
+
'deleteGlobalBlock' => $pref.Brizy_Admin_Blocks_Api::DELETE_GLOBAL_BLOCK_ACTION,
|
816 |
+
'getRuleGroupList' => $pref.Brizy_Admin_Rules_Api::RULE_GROUP_LIST,
|
817 |
+
'getLayoutByUid' => $pref.Brizy_Admin_Layouts_Api::GET_LAYOUT_BY_UID_ACTION,
|
818 |
+
'getLayoutList' => $pref.Brizy_Admin_Layouts_Api::GET_LAYOUTS_ACTION,
|
819 |
+
'createLayout' => $pref.Brizy_Admin_Layouts_Api::CREATE_LAYOUT_ACTION,
|
820 |
+
'updateLayout' => $pref.Brizy_Admin_Layouts_Api::UPDATE_LAYOUT_ACTION,
|
821 |
+
'deleteLayout' => $pref.Brizy_Admin_Layouts_Api::DELETE_LAYOUT_ACTION,
|
822 |
+
'cloudSignIn' => $pref.Brizy_Admin_Cloud_Api::AJAX_SIGNIN_ACTION,
|
823 |
+
'cloudSignUp' => $pref.Brizy_Admin_Cloud_Api::AJAX_SIGNUP_ACTION,
|
824 |
+
'cloudSignOut' => $pref.Brizy_Admin_Cloud_Api::AJAX_SIGNOUT_ACTION,
|
825 |
+
'cloudSyncAllowed' => $pref.Brizy_Admin_Cloud_Api::AJAX_SYNC_ALLOWED,
|
826 |
+
'cloudResetPassword' => $pref.Brizy_Admin_Cloud_Api::AJAX_RESET_PASSWORD_ACTION,
|
827 |
+
'cloudSync' => $pref.Brizy_Admin_Cloud_Api::AJAX_TRIGGER_SYNC_ACTION,
|
828 |
+
'createRule' => $pref.Brizy_Admin_Rules_Api::CREATE_RULE_ACTION,
|
829 |
+
'createRules' => $pref.Brizy_Admin_Rules_Api::CREATE_RULES_ACTION,
|
830 |
+
'updateRules' => $pref.Brizy_Admin_Rules_Api::UPDATE_RULES_ACTION,
|
831 |
+
'deleteRule' => $pref.Brizy_Admin_Rules_Api::DELETE_RULE_ACTION,
|
832 |
+
'getRuleList' => $pref.Brizy_Admin_Rules_Api::LIST_RULE_ACTION,
|
833 |
+
'updateBlockPositions' => $pref.Brizy_Admin_Blocks_Api::UPDATE_POSITIONS_ACTION,
|
834 |
+
'getSavedBlockByUid' => $pref.Brizy_Admin_Blocks_Api::GET_SAVED_BLOCK_ACTION,
|
835 |
+
'getSavedBlockList' => $pref.Brizy_Admin_Blocks_Api::GET_SAVED_BLOCKS_ACTION,
|
836 |
+
'createSavedBlock' => $pref.Brizy_Admin_Blocks_Api::CREATE_SAVED_BLOCK_ACTION,
|
837 |
+
'updateSavedBlock' => $pref.Brizy_Admin_Blocks_Api::UPDATE_SAVED_BLOCK_ACTION,
|
838 |
+
'deleteSavedBlock' => $pref.Brizy_Admin_Blocks_Api::DELETE_SAVED_BLOCK_ACTION,
|
839 |
+
'media' => $pref.Brizy_Editor_API::AJAX_MEDIA,
|
840 |
+
'downloadMedia' => $pref.Brizy_Editor_API::AJAX_DOWNLOAD_MEDIA,
|
841 |
+
'getMediaUid' => $pref.Brizy_Editor_API::AJAX_MEDIA_METAKEY,
|
842 |
+
'getAttachmentUid' => $pref.Brizy_Editor_API::AJAX_CREATE_ATTACHMENT_UID,
|
843 |
+
'getServerTimeStamp' => $pref.Brizy_Editor_API::AJAX_TIMESTAMP,
|
844 |
+
'createBlockScreenshot' => $pref.Brizy_Editor_BlockScreenshotApi::AJAX_CREATE_BLOCK_SCREENSHOT,
|
845 |
+
'updateBlockScreenshot' => $pref.Brizy_Editor_BlockScreenshotApi::AJAX_UPDATE_BLOCK_SCREENSHOT,
|
846 |
+
'getSidebars' => $pref.Brizy_Editor_API::AJAX_SIDEBARS,
|
847 |
+
'shortcodeContent' => $pref.Brizy_Editor_API::AJAX_SHORTCODE_CONTENT,
|
848 |
+
'placeholderContent' => $pref.Brizy_Editor_API::AJAX_PLACEHOLDER_CONTENT,
|
849 |
+
'getMenus' => $pref.Brizy_Editor_API::AJAX_GET_MENU_LIST,
|
850 |
+
'getTerms' => $pref.Brizy_Editor_API::AJAX_GET_TERMS,
|
851 |
+
'getPostObjects' => $pref.Brizy_Editor_API::AJAX_GET_POST_OBJECTS, // ???
|
852 |
+
'setFeaturedImage' => $pref.Brizy_Editor_API::AJAX_SET_FEATURED_IMAGE,
|
853 |
+
'setFeaturedImageFocalPoint' => $pref.Brizy_Editor_API::AJAX_SET_IMAGE_FOCAL_PT,
|
854 |
+
'removeFeaturedImage' => $pref.Brizy_Editor_API::AJAX_REMOVE_FEATURED_IMAGE,
|
855 |
+
'getForm' => $pref.Brizy_Editor_Forms_Api::AJAX_GET_FORM,
|
856 |
+
'createForm' => $pref.Brizy_Editor_Forms_Api::AJAX_CREATE_FORM,
|
857 |
+
'updateForm' => $pref.Brizy_Editor_Forms_Api::AJAX_UPDATE_FORM,
|
858 |
+
'deleteForm' => $pref.Brizy_Editor_Forms_Api::AJAX_DELETE_FORM,
|
859 |
+
'getIntegration' => $pref.Brizy_Editor_Forms_Api::AJAX_GET_INTEGRATION,
|
860 |
+
'createIntegration' => $pref.Brizy_Editor_Forms_Api::AJAX_CREATE_INTEGRATION,
|
861 |
+
'updateIntegration' => $pref.Brizy_Editor_Forms_Api::AJAX_UPDATE_INTEGRATION,
|
862 |
+
'deleteIntegration' => $pref.Brizy_Editor_Forms_Api::AJAX_DELETE_INTEGRATION,
|
863 |
+
'createFont' => $pref.Brizy_Admin_Fonts_Api::AJAX_CREATE_FONT_ACTION,
|
864 |
+
'deleteFont' => $pref.Brizy_Admin_Fonts_Api::AJAX_DELETE_FONT_ACTION,
|
865 |
+
'getFonts' => $pref.Brizy_Admin_Fonts_Api::AJAX_GET_FONTS_ACTION,
|
866 |
+
'getAccount' => $pref.Brizy_Editor_Accounts_Api::BRIZY_GET_ACCOUNT,
|
867 |
+
'getAccounts' => $pref.Brizy_Editor_Accounts_Api::BRIZY_GET_ACCOUNTS,
|
868 |
+
'addAccount' => $pref.Brizy_Editor_Accounts_Api::BRIZY_ADD_ACCOUNT,
|
869 |
+
'updateAccount' => $pref.Brizy_Editor_Accounts_Api::BRIZY_UPDATE_ACCOUNT,
|
870 |
+
'deleteAccount' => $pref.Brizy_Editor_Accounts_Api::BRIZY_DELETE_ACCOUNT,
|
871 |
+
'validateRecaptchaAccount' => $pref.Brizy_Editor_Forms_Api::AJAX_VALIDATE_RECAPTCHA_ACCOUNT,
|
872 |
+
);
|
873 |
+
}
|
874 |
+
|
875 |
+
/**
|
876 |
+
* @return array
|
877 |
+
* @throws Exception
|
878 |
+
*/
|
879 |
+
public function getCloudInfo(): array
|
880 |
+
{
|
881 |
+
|
882 |
+
// we 'allow' sync if you are not
|
883 |
+
$response = array(
|
884 |
+
'isSyncAllowed' => true,
|
885 |
+
);
|
886 |
+
|
887 |
+
if ($this->project->getMetaValue('brizy-cloud-token') !== null) {
|
888 |
+
$cloudClient = new Brizy_Admin_Cloud_Client(Brizy_Editor_Project::get(), new WP_Http());
|
889 |
+
$versions = $cloudClient->getCloudEditorVersions();
|
890 |
+
$response['isSyncAllowed'] = $versions['sync'] == BRIZY_SYNC_VERSION;
|
891 |
+
}
|
892 |
+
|
893 |
+
return $response;
|
894 |
+
}
|
895 |
}
|
editor/entity.php
CHANGED
@@ -44,6 +44,7 @@ abstract class Brizy_Editor_Entity extends Brizy_Admin_Serializable {
|
|
44 |
$type = get_post_type( $postId );
|
45 |
|
46 |
switch ( $type ) {
|
|
|
47 |
case 'post':
|
48 |
case Brizy_Admin_Popups_Main::CP_POPUP:
|
49 |
return Brizy_Editor_Post::get( $postId );
|
@@ -54,6 +55,38 @@ abstract class Brizy_Editor_Entity extends Brizy_Admin_Serializable {
|
|
54 |
}
|
55 |
}
|
56 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
/**
|
58 |
* Will return the key on witch the object data will be saved in storage
|
59 |
*
|
@@ -69,7 +102,7 @@ abstract class Brizy_Editor_Entity extends Brizy_Admin_Serializable {
|
|
69 |
/**
|
70 |
* @return mixed
|
71 |
*/
|
72 |
-
abstract public function createResponse();
|
73 |
|
74 |
/**
|
75 |
* Save post data and and trigger post update
|
@@ -115,7 +148,7 @@ abstract class Brizy_Editor_Entity extends Brizy_Admin_Serializable {
|
|
115 |
global $wpdb;
|
116 |
$posts = $wpdb->get_results(
|
117 |
$wpdb->prepare( "SELECT p.ID FROM {$wpdb->postmeta} pm
|
118 |
-
JOIN {$wpdb->posts} p ON p.ID=pm.post_id and p.post_type <> 'revision' and p.post_type<>'attachment'
|
119 |
WHERE pm.meta_key = %s ", Brizy_Editor_Storage_Post::META_KEY )
|
120 |
);
|
121 |
|
@@ -216,7 +249,14 @@ abstract class Brizy_Editor_Entity extends Brizy_Admin_Serializable {
|
|
216 |
* @return mixed|string
|
217 |
*/
|
218 |
protected function createUid() {
|
|
|
|
|
|
|
219 |
if ( $uid = $this->getUid() ) {
|
|
|
|
|
|
|
|
|
220 |
return $uid;
|
221 |
}
|
222 |
|
@@ -230,4 +270,6 @@ abstract class Brizy_Editor_Entity extends Brizy_Admin_Serializable {
|
|
230 |
|
231 |
return $this->uid = $uid;
|
232 |
}
|
|
|
|
|
233 |
}
|
44 |
$type = get_post_type( $postId );
|
45 |
|
46 |
switch ( $type ) {
|
47 |
+
case 'page':
|
48 |
case 'post':
|
49 |
case Brizy_Admin_Popups_Main::CP_POPUP:
|
50 |
return Brizy_Editor_Post::get( $postId );
|
55 |
}
|
56 |
}
|
57 |
|
58 |
+
/**
|
59 |
+
* @param $postId
|
60 |
+
*
|
61 |
+
* @return Brizy_Editor_Block|Brizy_Editor_Post|mixed
|
62 |
+
* @throws Exception
|
63 |
+
*/
|
64 |
+
public function duplicateTo( $postId ) {
|
65 |
+
// check post types
|
66 |
+
if ( get_post_type( $postId ) !== $this->getWpPost()->post_type ) {
|
67 |
+
throw new Exception( 'Cannot duplicate post. Invalid target post type' );
|
68 |
+
}
|
69 |
+
|
70 |
+
if ( ! $this->uses_editor() ) {
|
71 |
+
throw new Exception( 'The source post is not using Brizy.' );
|
72 |
+
}
|
73 |
+
|
74 |
+
// copy current date the the new post
|
75 |
+
$newPost = self::get( $postId );
|
76 |
+
|
77 |
+
if ( $newPost->uses_editor() ) {
|
78 |
+
throw new Exception( 'Target post is using Brizy.' );
|
79 |
+
}
|
80 |
+
|
81 |
+
$newPost->set_needs_compile( true );
|
82 |
+
$newPost->set_uses_editor( true );
|
83 |
+
$newPost->setDataVersion( 1 );
|
84 |
+
$newPost->createUid();
|
85 |
+
|
86 |
+
return $newPost;
|
87 |
+
}
|
88 |
+
|
89 |
+
|
90 |
/**
|
91 |
* Will return the key on witch the object data will be saved in storage
|
92 |
*
|
102 |
/**
|
103 |
* @return mixed
|
104 |
*/
|
105 |
+
abstract public function createResponse($fields = array());
|
106 |
|
107 |
/**
|
108 |
* Save post data and and trigger post update
|
148 |
global $wpdb;
|
149 |
$posts = $wpdb->get_results(
|
150 |
$wpdb->prepare( "SELECT p.ID FROM {$wpdb->postmeta} pm
|
151 |
+
JOIN {$wpdb->posts} p ON p.ID=pm.post_id and p.post_type <> 'revision' and p.post_type<>'attachment' and p.post_status='publish'
|
152 |
WHERE pm.meta_key = %s ", Brizy_Editor_Storage_Post::META_KEY )
|
153 |
);
|
154 |
|
249 |
* @return mixed|string
|
250 |
*/
|
251 |
protected function createUid() {
|
252 |
+
|
253 |
+
$post_parent_id = $this->getWpPostId();
|
254 |
+
|
255 |
if ( $uid = $this->getUid() ) {
|
256 |
+
$uid = get_post_meta( $post_parent_id, 'brizy_post_uid', true );
|
257 |
+
if ( ! $uid ) {
|
258 |
+
update_post_meta( $post_parent_id, 'brizy_post_uid', $this->getUid() );
|
259 |
+
}
|
260 |
return $uid;
|
261 |
}
|
262 |
|
270 |
|
271 |
return $this->uid = $uid;
|
272 |
}
|
273 |
+
|
274 |
+
|
275 |
}
|
editor/forms/abstract-integration.php
CHANGED
@@ -111,7 +111,10 @@ abstract class Brizy_Editor_Forms_AbstractIntegration extends Brizy_Admin_Serial
|
|
111 |
|
112 |
if ( $instance ) {
|
113 |
$instance->setId( $json_obj->id );
|
114 |
-
|
|
|
|
|
|
|
115 |
}
|
116 |
|
117 |
add_action( 'wp_mail_failed', array( $instance, 'handleFailToSendMessage' ) );
|
111 |
|
112 |
if ( $instance ) {
|
113 |
$instance->setId( $json_obj->id );
|
114 |
+
|
115 |
+
if ( isset( $json_obj->completed ) ) {
|
116 |
+
$instance->setCompleted( $json_obj->completed );
|
117 |
+
}
|
118 |
}
|
119 |
|
120 |
add_action( 'wp_mail_failed', array( $instance, 'handleFailToSendMessage' ) );
|
editor/forms/api.php
CHANGED
@@ -8,24 +8,24 @@
|
|
8 |
*/
|
9 |
class Brizy_Editor_Forms_Api {
|
10 |
|
11 |
-
const AJAX_GET_FORM = '
|
12 |
-
const AJAX_CREATE_FORM = '
|
13 |
-
const AJAX_UPDATE_FORM = '
|
14 |
-
const AJAX_DELETE_FORM = '
|
15 |
-
const AJAX_SUBMIT_FORM = '
|
16 |
|
17 |
-
const AJAX_GET_INTEGRATION = '
|
18 |
-
const AJAX_CREATE_INTEGRATION = '
|
19 |
-
const AJAX_UPDATE_INTEGRATION = '
|
20 |
-
const AJAX_DELETE_INTEGRATION = '
|
21 |
|
22 |
-
const AJAX_SET_RECAPTCHA_ACCOUNT = '
|
23 |
-
const AJAX_GET_RECAPTCHA_ACCOUNT = '
|
24 |
-
const AJAX_DELETE_RECAPTCHA_ACCOUNT = '
|
25 |
-
const AJAX_VALIDATE_RECAPTCHA_ACCOUNT = '
|
26 |
|
27 |
|
28 |
-
const AJAX_AUTHENTICATION_CALLBACK = '
|
29 |
|
30 |
/**
|
31 |
* @var Brizy_Editor_Post
|
@@ -52,27 +52,29 @@ class Brizy_Editor_Forms_Api {
|
|
52 |
}
|
53 |
|
54 |
private function initialize() {
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
add_action(
|
60 |
-
add_action(
|
61 |
-
|
62 |
-
add_action(
|
63 |
-
add_action(
|
64 |
-
add_action(
|
65 |
-
add_action(
|
|
|
66 |
}
|
67 |
|
68 |
add_filter( 'brizy_form_submit_data', array( $this, 'handleFileTypeFields' ), - 100, 2 );
|
69 |
|
70 |
-
add_action(
|
71 |
-
add_action(
|
72 |
}
|
73 |
|
|
|
74 |
protected function error( $code, $message ) {
|
75 |
-
wp_send_json_error( array( 'code' => $code, 'message' => $message ),
|
76 |
}
|
77 |
|
78 |
protected function success( $data, $code = 200 ) {
|
@@ -85,7 +87,6 @@ class Brizy_Editor_Forms_Api {
|
|
85 |
}
|
86 |
}
|
87 |
|
88 |
-
|
89 |
public function get_form() {
|
90 |
try {
|
91 |
$this->authorize();
|
@@ -254,7 +255,7 @@ class Brizy_Editor_Forms_Api {
|
|
254 |
Brizy_Logger::instance()->exception( $e );
|
255 |
$this->error( 500, 'Member was not created.' );
|
256 |
} finally {
|
257 |
-
if(
|
258 |
throw new Exception( $integration->getException()->get_error_message() );
|
259 |
}
|
260 |
}
|
8 |
*/
|
9 |
class Brizy_Editor_Forms_Api {
|
10 |
|
11 |
+
const AJAX_GET_FORM = '_get_form';
|
12 |
+
const AJAX_CREATE_FORM = '_create_form';
|
13 |
+
const AJAX_UPDATE_FORM = '_update_form';
|
14 |
+
const AJAX_DELETE_FORM = '_delete_form';
|
15 |
+
const AJAX_SUBMIT_FORM = '_submit_form';
|
16 |
|
17 |
+
const AJAX_GET_INTEGRATION = '_get_integration';
|
18 |
+
const AJAX_CREATE_INTEGRATION = '_create_integration';
|
19 |
+
const AJAX_UPDATE_INTEGRATION = '_update_integration';
|
20 |
+
const AJAX_DELETE_INTEGRATION = '_delete_integration';
|
21 |
|
22 |
+
const AJAX_SET_RECAPTCHA_ACCOUNT = '_set_recaptcha_account';
|
23 |
+
const AJAX_GET_RECAPTCHA_ACCOUNT = '_get_recaptcha_account';
|
24 |
+
const AJAX_DELETE_RECAPTCHA_ACCOUNT = '_delete_recaptcha_account';
|
25 |
+
const AJAX_VALIDATE_RECAPTCHA_ACCOUNT = '_validate_recaptcha_account';
|
26 |
|
27 |
|
28 |
+
const AJAX_AUTHENTICATION_CALLBACK = '_authentication_callback';
|
29 |
|
30 |
/**
|
31 |
* @var Brizy_Editor_Post
|
52 |
}
|
53 |
|
54 |
private function initialize() {
|
55 |
+
$pref = 'wp_ajax_' . Brizy_Editor::prefix();
|
56 |
+
$pref_nopriv = 'wp_ajax_nopriv_' . Brizy_Editor::prefix();
|
57 |
+
if ( Brizy_Editor_User::is_user_allowed() ) {
|
58 |
+
|
59 |
+
add_action( $pref . self::AJAX_GET_FORM, array( $this, 'get_form' ) );
|
60 |
+
add_action( $pref . self::AJAX_CREATE_FORM, array( $this, 'create_form' ) );
|
61 |
+
add_action( $pref . self::AJAX_UPDATE_FORM, array( $this, 'update_form' ) );
|
62 |
+
add_action( $pref . self::AJAX_DELETE_FORM, array( $this, 'delete_form' ) );
|
63 |
+
add_action( $pref . self::AJAX_CREATE_INTEGRATION, array( $this, 'createIntegration' ) );
|
64 |
+
add_action( $pref . self::AJAX_GET_INTEGRATION, array( $this, 'getIntegration' ) );
|
65 |
+
add_action( $pref . self::AJAX_UPDATE_INTEGRATION, array( $this, 'updateIntegration' ) );
|
66 |
+
add_action( $pref . self::AJAX_DELETE_INTEGRATION, array( $this, 'deleteIntegration' ) );
|
67 |
}
|
68 |
|
69 |
add_filter( 'brizy_form_submit_data', array( $this, 'handleFileTypeFields' ), - 100, 2 );
|
70 |
|
71 |
+
add_action( $pref . self::AJAX_SUBMIT_FORM, array( $this, 'submit_form' ) );
|
72 |
+
add_action( $pref_nopriv . self::AJAX_SUBMIT_FORM, array( $this, 'submit_form' ) );
|
73 |
}
|
74 |
|
75 |
+
|
76 |
protected function error( $code, $message ) {
|
77 |
+
wp_send_json_error( array( 'code' => $code, 'message' => $message ), 200 );
|
78 |
}
|
79 |
|
80 |
protected function success( $data, $code = 200 ) {
|
87 |
}
|
88 |
}
|
89 |
|
|
|
90 |
public function get_form() {
|
91 |
try {
|
92 |
$this->authorize();
|
255 |
Brizy_Logger::instance()->exception( $e );
|
256 |
$this->error( 500, 'Member was not created.' );
|
257 |
} finally {
|
258 |
+
if ( ! $result && $integration->getException() ) {
|
259 |
throw new Exception( $integration->getException()->get_error_message() );
|
260 |
}
|
261 |
}
|
editor/forms/form.php
CHANGED
@@ -108,7 +108,6 @@ class Brizy_Editor_Forms_Form extends Brizy_Admin_Serializable {
|
|
108 |
}
|
109 |
|
110 |
|
111 |
-
|
112 |
/**
|
113 |
* @return Brizy_Editor_Forms_Form
|
114 |
* @throws Exception
|
@@ -131,11 +130,13 @@ class Brizy_Editor_Forms_Form extends Brizy_Admin_Serializable {
|
|
131 |
|
132 |
$formInstance->addIntegration( $an_integration );
|
133 |
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
|
|
|
|
139 |
}
|
140 |
|
141 |
return $formInstance;
|
108 |
}
|
109 |
|
110 |
|
|
|
111 |
/**
|
112 |
* @return Brizy_Editor_Forms_Form
|
113 |
* @throws Exception
|
130 |
|
131 |
$formInstance->addIntegration( $an_integration );
|
132 |
|
133 |
+
if ( ! empty( $json_obj->integrations ) ) {
|
134 |
+
foreach ( (array) $json_obj->integrations as $integration ) {
|
135 |
+
if ( is_object( $integration ) ) {
|
136 |
+
$formInstance->addIntegration( Brizy_Editor_Forms_AbstractIntegration::createInstanceFromJson( $integration ) );
|
137 |
+
}
|
138 |
+
}
|
139 |
+
}
|
140 |
}
|
141 |
|
142 |
return $formInstance;
|
editor/forms/smtp-integration.php
CHANGED
@@ -36,7 +36,7 @@ class Brizy_Editor_Forms_SmtpIntegration extends Brizy_Editor_Forms_WordpressInt
|
|
36 |
/**
|
37 |
* @var string
|
38 |
*/
|
39 |
-
protected $encryption =
|
40 |
|
41 |
/**
|
42 |
* Brizy_Editor_Forms_WordpressIntegration constructor.
|
@@ -118,9 +118,8 @@ class Brizy_Editor_Forms_SmtpIntegration extends Brizy_Editor_Forms_WordpressInt
|
|
118 |
$instance->setPassword( trim( $json_obj->password ) );
|
119 |
}
|
120 |
if ( isset( $json_obj->encryption ) ) {
|
121 |
-
|
122 |
-
|
123 |
-
$instance->setEncryption( true );
|
124 |
}
|
125 |
}
|
126 |
|
@@ -151,11 +150,8 @@ class Brizy_Editor_Forms_SmtpIntegration extends Brizy_Editor_Forms_WordpressInt
|
|
151 |
}
|
152 |
if ( isset( $data['encryption'] ) ) {
|
153 |
$instance->setEncryption( $data['encryption'] );
|
154 |
-
} else {
|
155 |
-
$instance->setEncryption( true );
|
156 |
}
|
157 |
|
158 |
-
|
159 |
if ( isset( $data['authentication'] ) ) {
|
160 |
$instance->setAuthentication( $data['authentication'] );
|
161 |
}
|
@@ -214,7 +210,7 @@ class Brizy_Editor_Forms_SmtpIntegration extends Brizy_Editor_Forms_WordpressInt
|
|
214 |
* @return Brizy_Editor_Forms_SmtpIntegration
|
215 |
*/
|
216 |
public function setAuthentication( $authentication ) {
|
217 |
-
$this->authentication = $authentication;
|
218 |
|
219 |
return $this;
|
220 |
}
|
@@ -268,7 +264,13 @@ class Brizy_Editor_Forms_SmtpIntegration extends Brizy_Editor_Forms_WordpressInt
|
|
268 |
* @return Brizy_Editor_Forms_SmtpIntegration
|
269 |
*/
|
270 |
public function setEncryption( $encryption ) {
|
271 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
272 |
|
273 |
return $this;
|
274 |
}
|
36 |
/**
|
37 |
* @var string
|
38 |
*/
|
39 |
+
protected $encryption = 'ssl';
|
40 |
|
41 |
/**
|
42 |
* Brizy_Editor_Forms_WordpressIntegration constructor.
|
118 |
$instance->setPassword( trim( $json_obj->password ) );
|
119 |
}
|
120 |
if ( isset( $json_obj->encryption ) ) {
|
121 |
+
|
122 |
+
$instance->setEncryption( $json_obj->encryption );
|
|
|
123 |
}
|
124 |
}
|
125 |
|
150 |
}
|
151 |
if ( isset( $data['encryption'] ) ) {
|
152 |
$instance->setEncryption( $data['encryption'] );
|
|
|
|
|
153 |
}
|
154 |
|
|
|
155 |
if ( isset( $data['authentication'] ) ) {
|
156 |
$instance->setAuthentication( $data['authentication'] );
|
157 |
}
|
210 |
* @return Brizy_Editor_Forms_SmtpIntegration
|
211 |
*/
|
212 |
public function setAuthentication( $authentication ) {
|
213 |
+
$this->authentication = (bool)$authentication;
|
214 |
|
215 |
return $this;
|
216 |
}
|
264 |
* @return Brizy_Editor_Forms_SmtpIntegration
|
265 |
*/
|
266 |
public function setEncryption( $encryption ) {
|
267 |
+
|
268 |
+
//this is a hack because we had bool values on this property
|
269 |
+
if ( is_bool( $encryption ) ) {
|
270 |
+
$this->encryption = $encryption ? 'ssl' : 'tls';
|
271 |
+
} else {
|
272 |
+
$this->encryption = $encryption;
|
273 |
+
}
|
274 |
|
275 |
return $this;
|
276 |
}
|
editor/forms/wordpress-integration.php
CHANGED
@@ -93,8 +93,9 @@ class Brizy_Editor_Forms_WordpressIntegration extends Brizy_Editor_Forms_Abstrac
|
|
93 |
|
94 |
$email_body = $form->getEmailTemplateContent( $fields );
|
95 |
|
96 |
-
$headers
|
97 |
-
$email_body
|
|
|
98 |
|
99 |
$email_body = $this->insertMetaDataFields( $email_body );
|
100 |
|
@@ -104,7 +105,7 @@ class Brizy_Editor_Forms_WordpressIntegration extends Brizy_Editor_Forms_Abstrac
|
|
104 |
|
105 |
return wp_mail(
|
106 |
$this->getEmailTo(),
|
107 |
-
$
|
108 |
$email_body,
|
109 |
$headers
|
110 |
);
|
93 |
|
94 |
$email_body = $form->getEmailTemplateContent( $fields );
|
95 |
|
96 |
+
$headers = apply_filters( 'brizy_form_email_headers', $headers, $fields, $form );
|
97 |
+
$email_body = apply_filters( 'brizy_form_email_body', $email_body, $fields, $form );
|
98 |
+
$email_subject = apply_filters( 'brizy_form_email_subject', $this->getSubject(), $fields, $form );
|
99 |
|
100 |
$email_body = $this->insertMetaDataFields( $email_body );
|
101 |
|
105 |
|
106 |
return wp_mail(
|
107 |
$this->getEmailTo(),
|
108 |
+
$email_subject,
|
109 |
$email_body,
|
110 |
$headers
|
111 |
);
|
editor/layout.php
ADDED
@@ -0,0 +1,248 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: alex
|
5 |
+
* Date: 1/18/19
|
6 |
+
* Time: 12:20 PM
|
7 |
+
*/
|
8 |
+
|
9 |
+
|
10 |
+
class Brizy_Editor_Layout extends Brizy_Editor_Post {
|
11 |
+
|
12 |
+
use Brizy_Editor_Synchronizable;
|
13 |
+
|
14 |
+
const BRIZY_LAYOUT_META = 'brizy-meta';
|
15 |
+
const BRIZY_LAYOUT_MEDIA = 'brizy-media';
|
16 |
+
|
17 |
+
/**
|
18 |
+
* @var string
|
19 |
+
*/
|
20 |
+
protected $meta = '';
|
21 |
+
|
22 |
+
/**
|
23 |
+
* @var string
|
24 |
+
*/
|
25 |
+
protected $media;
|
26 |
+
|
27 |
+
/**
|
28 |
+
* @var Brizy_Editor_Layout
|
29 |
+
*/
|
30 |
+
static protected $layout_instance = null;
|
31 |
+
|
32 |
+
/**
|
33 |
+
* @param $apost
|
34 |
+
* @param null $uid
|
35 |
+
*
|
36 |
+
* @return Brizy_Editor_Layout|Brizy_Editor_Post|mixed
|
37 |
+
* @throws Exception
|
38 |
+
*/
|
39 |
+
public static function get( $apost, $uid = null ) {
|
40 |
+
|
41 |
+
$wp_post_id = $apost;
|
42 |
+
if ( $apost instanceof WP_Post ) {
|
43 |
+
$wp_post_id = $apost->ID;
|
44 |
+
}
|
45 |
+
|
46 |
+
if ( isset( self::$layout_instance[ $wp_post_id ] ) ) {
|
47 |
+
return self::$layout_instance[ $wp_post_id ];
|
48 |
+
}
|
49 |
+
|
50 |
+
return self::$layout_instance[ $wp_post_id ] = new self( $wp_post_id, $uid );
|
51 |
+
}
|
52 |
+
|
53 |
+
protected function canBeSynchronized() {
|
54 |
+
return true;
|
55 |
+
}
|
56 |
+
|
57 |
+
public function createResponse( $fields = array() ) {
|
58 |
+
|
59 |
+
|
60 |
+
if ( empty( $fields ) ) {
|
61 |
+
$fields = array(
|
62 |
+
'id',
|
63 |
+
'uid',
|
64 |
+
'meta',
|
65 |
+
'data',
|
66 |
+
'status',
|
67 |
+
'dataVersion',
|
68 |
+
'synchronized',
|
69 |
+
'synchronizable',
|
70 |
+
'isCloudEntity'
|
71 |
+
);
|
72 |
+
}
|
73 |
+
|
74 |
+
$global = array();
|
75 |
+
|
76 |
+
if ( in_array( 'uid', $fields ) ) {
|
77 |
+
$global['uid'] = $this->getUid();
|
78 |
+
}
|
79 |
+
|
80 |
+
if ( in_array( 'status', $fields ) ) {
|
81 |
+
$global['status'] = get_post_status( $this->getWpPostId() );
|
82 |
+
}
|
83 |
+
|
84 |
+
if ( in_array( 'dataVersion', $fields ) ) {
|
85 |
+
$global['dataVersion'] = $this->getCurrentDataVersion();
|
86 |
+
}
|
87 |
+
|
88 |
+
if ( in_array( 'data', $fields ) ) {
|
89 |
+
$global['data'] = $this->get_editor_data();
|
90 |
+
}
|
91 |
+
|
92 |
+
if ( in_array( 'meta', $fields ) ) {
|
93 |
+
$global['meta'] = $this->getMeta();
|
94 |
+
}
|
95 |
+
|
96 |
+
if ( in_array( 'synchronized', $fields ) ) {
|
97 |
+
$global['synchronized'] = $this->isSynchronized( Brizy_Editor_Project::get()->getCloudAccountId() );
|
98 |
+
}
|
99 |
+
|
100 |
+
if ( in_array( 'synchronizable', $fields ) ) {
|
101 |
+
$global['synchronizable'] = $this->isSynchronizable();
|
102 |
+
}
|
103 |
+
|
104 |
+
if ( in_array( 'isCloudEntity', $fields ) ) {
|
105 |
+
$global['isCloudEntity'] = false;
|
106 |
+
}
|
107 |
+
|
108 |
+
return $global;
|
109 |
+
}
|
110 |
+
|
111 |
+
/**
|
112 |
+
* Brizy_Editor_Layout constructor.
|
113 |
+
*
|
114 |
+
* @param $wp_post_id
|
115 |
+
* @param null $uid
|
116 |
+
*
|
117 |
+
* @throws Exception
|
118 |
+
*/
|
119 |
+
public function __construct( $wp_post_id, $uid = null ) {
|
120 |
+
|
121 |
+
if ( $uid ) {
|
122 |
+
$this->uid = $uid;
|
123 |
+
}
|
124 |
+
|
125 |
+
parent::__construct( $wp_post_id );
|
126 |
+
}
|
127 |
+
|
128 |
+
/**
|
129 |
+
* @return bool
|
130 |
+
*/
|
131 |
+
public function uses_editor() {
|
132 |
+
return true;
|
133 |
+
}
|
134 |
+
|
135 |
+
/**
|
136 |
+
* This should always return true
|
137 |
+
*
|
138 |
+
* @param $val
|
139 |
+
*
|
140 |
+
* @return $this
|
141 |
+
*/
|
142 |
+
public function set_uses_editor( $val ) {
|
143 |
+
$this->uses_editor = true;
|
144 |
+
|
145 |
+
return $this;
|
146 |
+
}
|
147 |
+
|
148 |
+
/**
|
149 |
+
* @return array
|
150 |
+
*/
|
151 |
+
public function getMeta() {
|
152 |
+
return $this->meta;
|
153 |
+
}
|
154 |
+
|
155 |
+
/**
|
156 |
+
* @param string $meta
|
157 |
+
*
|
158 |
+
* @return Brizy_Editor_Block
|
159 |
+
*/
|
160 |
+
public function setMeta( $meta ) {
|
161 |
+
$this->meta = $meta;
|
162 |
+
|
163 |
+
return $this;
|
164 |
+
}
|
165 |
+
|
166 |
+
public function getMedia() {
|
167 |
+
return $this->media;
|
168 |
+
}
|
169 |
+
|
170 |
+
/**
|
171 |
+
* @param string $media
|
172 |
+
*
|
173 |
+
* @return Brizy_Editor_Block
|
174 |
+
*/
|
175 |
+
public function setMedia( $media ) {
|
176 |
+
$this->media = $media;
|
177 |
+
|
178 |
+
return $this;
|
179 |
+
}
|
180 |
+
|
181 |
+
/**
|
182 |
+
* @return mixed
|
183 |
+
*/
|
184 |
+
public function get_template() {
|
185 |
+
return get_post_meta( $this->getWpPostId(), '_wp_page_template', true );
|
186 |
+
}
|
187 |
+
|
188 |
+
/**
|
189 |
+
* @param string $editor_version
|
190 |
+
*/
|
191 |
+
public function set_editor_version( $editor_version ) {
|
192 |
+
$this->editor_version = $editor_version;
|
193 |
+
update_metadata( 'post', $this->wp_post_id, self::BRIZY_POST_EDITOR_VERSION, $editor_version );
|
194 |
+
}
|
195 |
+
|
196 |
+
|
197 |
+
public function jsonSerialize() {
|
198 |
+
$data = get_object_vars( $this );
|
199 |
+
$data['editor_data'] = base64_decode( $data['editor_data'] );
|
200 |
+
$data['meta'] = $this->getMeta();
|
201 |
+
$data['cloudId'] = $this->getCloudId();
|
202 |
+
$data['media'] = $this->getMedia();
|
203 |
+
|
204 |
+
unset( $data['wp_post'] );
|
205 |
+
|
206 |
+
return $data;
|
207 |
+
}
|
208 |
+
|
209 |
+
public function loadInstanceData() {
|
210 |
+
parent::loadInstanceData();
|
211 |
+
$storage = $this->getStorage();
|
212 |
+
$storage_post = $storage->get( self::BRIZY_POST, false );
|
213 |
+
|
214 |
+
if ( isset( $storage_post['cloudId'] ) ) {
|
215 |
+
$this->cloudId = $storage_post['cloudId'];
|
216 |
+
}
|
217 |
+
|
218 |
+
if ( isset( $storage_post['cloudAccountId'] ) ) {
|
219 |
+
$this->setCloudAccountId( $storage_post['cloudAccountId'] );
|
220 |
+
}
|
221 |
+
|
222 |
+
|
223 |
+
$this->meta = get_metadata( 'post', $this->getWpPostId(), self::BRIZY_LAYOUT_META, true );
|
224 |
+
$this->media = get_metadata( 'post', $this->getWpPostId(), self::BRIZY_LAYOUT_MEDIA, true );
|
225 |
+
}
|
226 |
+
|
227 |
+
public function convertToOptionValue() {
|
228 |
+
$data = parent::convertToOptionValue();
|
229 |
+
|
230 |
+
$data['media'] = $this->getMedia();
|
231 |
+
$data['cloudId'] = $this->getCloudId();
|
232 |
+
$data['synchronized'] = $this->isSynchronized( Brizy_Editor_Project::get()->getCloudAccountId() );
|
233 |
+
$data['synchronizable'] = $this->isSynchronizable();
|
234 |
+
|
235 |
+
return $data;
|
236 |
+
}
|
237 |
+
|
238 |
+
/**
|
239 |
+
* This will take all values from entity and save them to database
|
240 |
+
*/
|
241 |
+
public function saveStorage() {
|
242 |
+
parent::saveStorage();
|
243 |
+
|
244 |
+
update_metadata( 'post', $this->getWpPostId(), self::BRIZY_LAYOUT_META, $this->meta );
|
245 |
+
update_metadata( 'post', $this->getWpPostId(), self::BRIZY_LAYOUT_MEDIA, $this->media );
|
246 |
+
}
|
247 |
+
|
248 |
+
}
|
editor/popup.php
ADDED
@@ -0,0 +1,267 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Created by PhpStorm.
|
4 |
+
* User: alex
|
5 |
+
* Date: 1/18/19
|
6 |
+
* Time: 12:20 PM
|
7 |
+
*/
|
8 |
+
|
9 |
+
|
10 |
+
class Brizy_Editor_Popup extends Brizy_Editor_Post {
|
11 |
+
|
12 |
+
const BRIZY_META = 'brizy-meta';
|
13 |
+
const BRIZY_MEDIA = 'brizy-media';
|
14 |
+
const BRIZY_CLOUD_CONTAINER = 'brizy-cloud-container';
|
15 |
+
const BRIZY_CLOUD_UPDATE_META = 'brizy-cloud-update-required';
|
16 |
+
|
17 |
+
/**
|
18 |
+
* @var string
|
19 |
+
*/
|
20 |
+
protected $meta = '';
|
21 |
+
|
22 |
+
/**
|
23 |
+
* @var string
|
24 |
+
*/
|
25 |
+
protected $media;
|
26 |
+
|
27 |
+
/**
|
28 |
+
* @var array
|
29 |
+
*/
|
30 |
+
protected $cloudId;
|
31 |
+
|
32 |
+
/**
|
33 |
+
* @var Brizy_Editor_Popup
|
34 |
+
*/
|
35 |
+
static protected $popup_instance = null;
|
36 |
+
|
37 |
+
/**
|
38 |
+
* @param $apost
|
39 |
+
*
|
40 |
+
* @return Brizy_Editor_Popup
|
41 |
+
* @throws Brizy_Editor_Exceptions_NotFound
|
42 |
+
*/
|
43 |
+
public static function get( $apost, $uid = null ) {
|
44 |
+
|
45 |
+
$wp_post_id = $apost;
|
46 |
+
if ( $apost instanceof WP_Post ) {
|
47 |
+
$wp_post_id = $apost->ID;
|
48 |
+
}
|
49 |
+
|
50 |
+
if ( isset( self::$popup_instance[ $wp_post_id ] ) ) {
|
51 |
+
return self::$popup_instance[ $wp_post_id ];
|
52 |
+
}
|
53 |
+
|
54 |
+
return self::$popup_instance[ $wp_post_id ] = new self( $wp_post_id, $uid );
|
55 |
+
|
56 |
+
}
|
57 |
+
|
58 |
+
/**
|
59 |
+
* @return bool
|
60 |
+
* @todo rename this to isGlobal
|
61 |
+
*
|
62 |
+
*/
|
63 |
+
public function isGlobalPopup() {
|
64 |
+
return $this->getWpPost() instanceof WP_Post && $this->getWpPost()->post_type == Brizy_Admin_Popups_Main::CP_GLOBAL_POPUP;
|
65 |
+
}
|
66 |
+
|
67 |
+
public function isSavedPopup() {
|
68 |
+
return $this->getWpPost() instanceof WP_Post && $this->getWpPost()->post_type == Brizy_Admin_Popups_Main::CP_POPUP;
|
69 |
+
}
|
70 |
+
|
71 |
+
/**
|
72 |
+
* @return bool
|
73 |
+
*/
|
74 |
+
public function isCloudUpdateRequired() {
|
75 |
+
|
76 |
+
if ( $this->isGlobalPopup() ) {
|
77 |
+
return false;
|
78 |
+
}
|
79 |
+
|
80 |
+
return (bool) get_metadata( 'post', $this->wp_post_id, self::BRIZY_CLOUD_UPDATE_META, true );
|
81 |
+
}
|
82 |
+
|
83 |
+
/**
|
84 |
+
* @param bool $cloudUpdateRequired
|
85 |
+
*
|
86 |
+
* @return Brizy_Editor_Popup
|
87 |
+
*/
|
88 |
+
public function setCloudUpdateRequired( $cloudUpdateRequired ) {
|
89 |
+
|
90 |
+
if ( $this->isSavedPopup() ) {
|
91 |
+
update_metadata( 'post', $this->wp_post_id, self::BRIZY_CLOUD_UPDATE_META, (int) $cloudUpdateRequired );
|
92 |
+
}
|
93 |
+
|
94 |
+
return $this;
|
95 |
+
}
|
96 |
+
|
97 |
+
/**
|
98 |
+
* @param string $meta
|
99 |
+
*/
|
100 |
+
public function setContainer( $meta ) {
|
101 |
+
$this->meta = $meta;
|
102 |
+
update_metadata( 'post', $this->wp_post_id, self::BRIZY_CLOUD_CONTAINER, $meta );
|
103 |
+
}
|
104 |
+
|
105 |
+
public function getContainer() {
|
106 |
+
return get_metadata( 'post', $this->wp_post_id, self::BRIZY_CLOUD_CONTAINER, true );
|
107 |
+
}
|
108 |
+
|
109 |
+
|
110 |
+
/**
|
111 |
+
* @return array
|
112 |
+
*/
|
113 |
+
public function getMeta() {
|
114 |
+
return get_metadata( 'post', $this->wp_post_id, self::BRIZY_META, true );
|
115 |
+
}
|
116 |
+
|
117 |
+
/**
|
118 |
+
* @param string $meta
|
119 |
+
*
|
120 |
+
* @return Brizy_Editor_Popup
|
121 |
+
*/
|
122 |
+
public function setMeta( $meta ) {
|
123 |
+
$this->meta = $meta;
|
124 |
+
update_metadata( 'post', $this->wp_post_id, self::BRIZY_META, $meta );
|
125 |
+
}
|
126 |
+
|
127 |
+
public function getMedia() {
|
128 |
+
return get_metadata( 'post', $this->wp_post_id, self::BRIZY_MEDIA, true );
|
129 |
+
}
|
130 |
+
|
131 |
+
/**
|
132 |
+
* @param string $media
|
133 |
+
*
|
134 |
+
* @return Brizy_Editor_Popup
|
135 |
+
*/
|
136 |
+
public function setMedia( $media ) {
|
137 |
+
$this->media = $media;
|
138 |
+
update_metadata( 'post', $this->wp_post_id, self::BRIZY_MEDIA, $media );
|
139 |
+
}
|
140 |
+
|
141 |
+
|
142 |
+
/**
|
143 |
+
* @return mixed
|
144 |
+
*/
|
145 |
+
public function get_template() {
|
146 |
+
return get_post_meta( $this->getWpPostId(), '_wp_page_template', true );
|
147 |
+
}
|
148 |
+
|
149 |
+
|
150 |
+
/**
|
151 |
+
* @return array
|
152 |
+
*/
|
153 |
+
public function getCloudId() {
|
154 |
+
return $this->cloudId;
|
155 |
+
}
|
156 |
+
|
157 |
+
/**
|
158 |
+
* @param array $cloudId
|
159 |
+
*
|
160 |
+
* @return Brizy_Editor_Popup
|
161 |
+
*/
|
162 |
+
public function setCloudId( $cloudId ) {
|
163 |
+
$this->cloudId = $cloudId;
|
164 |
+
|
165 |
+
return $this;
|
166 |
+
}
|
167 |
+
|
168 |
+
|
169 |
+
public function jsonSerialize() {
|
170 |
+
$data = get_object_vars( $this );
|
171 |
+
$data['editor_data'] = base64_decode( $data['editor_data'] );
|
172 |
+
|
173 |
+
|
174 |
+
$data['cloudId'] = $this->getCloudId();
|
175 |
+
$data['meta'] = $this->getMeta();
|
176 |
+
|
177 |
+
unset( $data['wp_post'] );
|
178 |
+
|
179 |
+
return $data;
|
180 |
+
}
|
181 |
+
|
182 |
+
/**
|
183 |
+
* @param $data
|
184 |
+
*/
|
185 |
+
public function loadInstanceData() {
|
186 |
+
parent::loadInstanceData();
|
187 |
+
|
188 |
+
$storage = $this->getStorage();
|
189 |
+
$data = $storage->get( self::BRIZY_POST, false );
|
190 |
+
|
191 |
+
if ( isset( $data['cloudId'] ) ) {
|
192 |
+
$this->cloudId = $data['cloudId'];
|
193 |
+
}
|
194 |
+
}
|
195 |
+
|
196 |
+
/**
|
197 |
+
* @return array|mixed
|
198 |
+
*/
|
199 |
+
public function convertToOptionValue() {
|
200 |
+
$data = parent::convertToOptionValue();
|
201 |
+
$data['cloudId'] = $this->getCloudId();
|
202 |
+
|
203 |
+
return $data;
|
204 |
+
}
|
205 |
+
|
206 |
+
|
207 |
+
public function createResponse( $fields = array() ) {
|
208 |
+
|
209 |
+
$p_id = (int) $this->getWpPostId();
|
210 |
+
$the_title = get_the_title( $p_id );
|
211 |
+
|
212 |
+
if ( empty( $fields ) ) {
|
213 |
+
$fields = array(
|
214 |
+
'uid',
|
215 |
+
'meta',
|
216 |
+
'data',
|
217 |
+
'status'
|
218 |
+
);
|
219 |
+
}
|
220 |
+
|
221 |
+
$global = array(
|
222 |
+
'data' => $this->get_editor_data(),
|
223 |
+
'uid' => $this->getUid(),
|
224 |
+
'status' => get_post_status( $p_id ),
|
225 |
+
'dataVersion' => $this->getCurrentDataVersion(),
|
226 |
+
'meta' => $this->getMeta()
|
227 |
+
);
|
228 |
+
|
229 |
+
return $global;
|
230 |
+
}
|
231 |
+
|
232 |
+
//
|
233 |
+
// /**
|
234 |
+
// * @param Brizy_Editor_Popup $post
|
235 |
+
// * @param array $fields
|
236 |
+
// *
|
237 |
+
// * @return array
|
238 |
+
// */
|
239 |
+
// public static function postData( Brizy_Editor_Popup $post, $fields = array() ) {
|
240 |
+
//
|
241 |
+
// $p_id = (int) $post->getWpPostId();
|
242 |
+
//
|
243 |
+
// if ( empty( $fields ) ) {
|
244 |
+
// $fields = array( 'uid', 'id', 'meta', 'data', 'status' );
|
245 |
+
// }
|
246 |
+
//
|
247 |
+
// $global = array();
|
248 |
+
//
|
249 |
+
// if ( in_array( 'uid', $fields ) ) {
|
250 |
+
// $global['uid'] = $post->getUid();
|
251 |
+
// }
|
252 |
+
// if ( in_array( 'status', $fields ) ) {
|
253 |
+
// $global['status'] = get_post_status( $p_id );
|
254 |
+
// }
|
255 |
+
// if ( in_array( 'data', $fields ) ) {
|
256 |
+
// $global['data'] = $post->get_editor_data();
|
257 |
+
// }
|
258 |
+
// if ( in_array( 'meta', $fields ) ) {
|
259 |
+
// $global['meta'] = $post->getMeta();
|
260 |
+
// }
|
261 |
+
//
|
262 |
+
//
|
263 |
+
// return $global;
|
264 |
+
// }
|
265 |
+
|
266 |
+
|
267 |
+
}
|
editor/post.php
CHANGED
@@ -103,22 +103,37 @@ class Brizy_Editor_Post extends Brizy_Editor_Entity {
|
|
103 |
}
|
104 |
|
105 |
return self::$instance[ $wp_post_id ] = new self( $wp_post_id );
|
106 |
-
|
107 |
}
|
108 |
|
109 |
/**
|
110 |
-
*
|
|
|
|
|
|
|
111 |
*/
|
112 |
-
public
|
113 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
114 |
}
|
115 |
|
|
|
116 |
/**
|
117 |
-
*
|
118 |
*/
|
119 |
-
public static function
|
120 |
-
|
121 |
-
$wpdb->update( $wpdb->postmeta, array( 'meta_value' => 1 ), array( 'meta_key' => self::BRIZY_POST_NEEDS_COMPILE_KEY ) );
|
122 |
}
|
123 |
|
124 |
/**
|
@@ -144,7 +159,7 @@ class Brizy_Editor_Post extends Brizy_Editor_Entity {
|
|
144 |
parent::unserialize( $data ); // TODO: Change the autogenerated stub
|
145 |
}
|
146 |
|
147 |
-
public function createResponse() {
|
148 |
|
149 |
$p_id = (int) $this->getWpPostId();
|
150 |
$the_title = get_the_title( $p_id );
|
@@ -194,7 +209,7 @@ class Brizy_Editor_Post extends Brizy_Editor_Entity {
|
|
194 |
$post_type = $this->getWpPost()->post_type;
|
195 |
$post_type_object = get_post_type_object( $post_type );
|
196 |
$can_publish = current_user_can( $post_type_object->cap->publish_posts );
|
197 |
-
$post_status = $
|
198 |
|
199 |
$brizy_compiled_page = $this->get_compiled_page();
|
200 |
|
@@ -549,7 +564,7 @@ class Brizy_Editor_Post extends Brizy_Editor_Entity {
|
|
549 |
*/
|
550 |
public function edit_url() {
|
551 |
return add_query_arg(
|
552 |
-
array(
|
553 |
get_permalink( $this->getWpPostId() )
|
554 |
);
|
555 |
}
|
@@ -593,12 +608,12 @@ class Brizy_Editor_Post extends Brizy_Editor_Entity {
|
|
593 |
$this->set_encoded_compiled_html( $storage_post['compiled_html'] );
|
594 |
}
|
595 |
|
596 |
-
$this->set_editor_data( $storage_post['editor_data'] );
|
597 |
$data_needs_compile = isset( $storage_post['needs_compile'] ) ? $storage_post['needs_compile'] : true;
|
598 |
-
$this->
|
599 |
-
$this->
|
600 |
-
$this->
|
601 |
-
$this->
|
|
|
602 |
$this->compiled_html_head = isset( $storage_post['compiled_html_head'] ) ? $storage_post['compiled_html_head'] : null;
|
603 |
$this->compiled_html_body = isset( $storage_post['compiled_html_body'] ) ? $storage_post['compiled_html_body'] : null;
|
604 |
$this->uses_editor = (bool) ( isset( $storage_post[ Brizy_Editor_Constants::USES_BRIZY ] ) ? $storage_post[ Brizy_Editor_Constants::USES_BRIZY ] : false );
|
@@ -608,7 +623,7 @@ class Brizy_Editor_Post extends Brizy_Editor_Entity {
|
|
608 |
if ( ! is_null( $using_editor_old ) ) {
|
609 |
$this->uses_editor = (bool) $using_editor_old;
|
610 |
$storage->delete( Brizy_Editor_Constants::USES_BRIZY );
|
611 |
-
$this->
|
612 |
}
|
613 |
}
|
614 |
|
@@ -625,40 +640,69 @@ class Brizy_Editor_Post extends Brizy_Editor_Entity {
|
|
625 |
return $autosave;
|
626 |
}
|
627 |
|
628 |
-
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
|
633 |
-
|
634 |
-
|
635 |
-
|
636 |
-
|
637 |
-
|
638 |
-
|
639 |
-
|
640 |
-
|
641 |
-
|
642 |
-
|
643 |
-
|
644 |
-
|
645 |
-
|
646 |
-
|
647 |
-
|
648 |
-
|
649 |
-
|
650 |
-
|
651 |
-
|
652 |
-
|
653 |
-
|
654 |
-
|
655 |
-
|
656 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
657 |
|
658 |
/**
|
|
|
659 |
* @deprecated Use getWpPost();
|
660 |
*
|
661 |
-
* @return WP_Post
|
662 |
*/
|
663 |
public function get_wp_post() {
|
664 |
return $this->getWpPost();
|
103 |
}
|
104 |
|
105 |
return self::$instance[ $wp_post_id ] = new self( $wp_post_id );
|
|
|
106 |
}
|
107 |
|
108 |
/**
|
109 |
+
* @param $postId
|
110 |
+
*
|
111 |
+
* @return Brizy_Editor_Block|Brizy_Editor_Post|mixed
|
112 |
+
* @throws Exception
|
113 |
*/
|
114 |
+
public function duplicateTo( $postId ) {
|
115 |
+
$newPost = parent::duplicateTo( $postId );
|
116 |
+
|
117 |
+
// copy current data to new post
|
118 |
+
$newPost->set_template( $this->get_template() );
|
119 |
+
|
120 |
+
$storage = $this->getStorage();
|
121 |
+
|
122 |
+
$newStorage = $newPost->getStorage();
|
123 |
+
$newStorage->loadStorage( $storage->get_storage() );
|
124 |
+
$newPost->loadInstanceData();
|
125 |
+
$newPost->saveStorage();
|
126 |
+
|
127 |
+
return $newPost;
|
128 |
+
|
129 |
}
|
130 |
|
131 |
+
|
132 |
/**
|
133 |
+
* Clear all cached instances;
|
134 |
*/
|
135 |
+
public static function cleanClassCache() {
|
136 |
+
self::$instance = array();
|
|
|
137 |
}
|
138 |
|
139 |
/**
|
159 |
parent::unserialize( $data ); // TODO: Change the autogenerated stub
|
160 |
}
|
161 |
|
162 |
+
public function createResponse($fields = array()) {
|
163 |
|
164 |
$p_id = (int) $this->getWpPostId();
|
165 |
$the_title = get_the_title( $p_id );
|
209 |
$post_type = $this->getWpPost()->post_type;
|
210 |
$post_type_object = get_post_type_object( $post_type );
|
211 |
$can_publish = current_user_can( $post_type_object->cap->publish_posts );
|
212 |
+
$post_status = $this->getWpPost()->post_status;
|
213 |
|
214 |
$brizy_compiled_page = $this->get_compiled_page();
|
215 |
|
564 |
*/
|
565 |
public function edit_url() {
|
566 |
return add_query_arg(
|
567 |
+
array( Brizy_Editor::prefix( '-edit' ) => '' ),
|
568 |
get_permalink( $this->getWpPostId() )
|
569 |
);
|
570 |
}
|
608 |
$this->set_encoded_compiled_html( $storage_post['compiled_html'] );
|
609 |
}
|
610 |
|
|
|
611 |
$data_needs_compile = isset( $storage_post['needs_compile'] ) ? $storage_post['needs_compile'] : true;
|
612 |
+
$this->set_editor_data( $storage_post['editor_data'] );
|
613 |
+
$this->set_needs_compile( metadata_exists( 'post', $this->getWpPostId(), self::BRIZY_POST_NEEDS_COMPILE_KEY ) ? (bool) get_post_meta( $this->getWpPostId(), self::BRIZY_POST_NEEDS_COMPILE_KEY, true ) : $data_needs_compile );
|
614 |
+
$this->set_editor_version( isset( $storage_post['editor_version'] ) ? $storage_post['editor_version'] : BRIZY_EDITOR_VERSION );
|
615 |
+
$this->set_compiler_version( isset( $storage_post['compiler_version'] ) ? $storage_post['compiler_version'] : BRIZY_EDITOR_VERSION );
|
616 |
+
$this->set_plugin_version( isset( $storage_post['plugin_version'] ) ? $storage_post['plugin_version'] : BRIZY_VERSION );
|
617 |
$this->compiled_html_head = isset( $storage_post['compiled_html_head'] ) ? $storage_post['compiled_html_head'] : null;
|
618 |
$this->compiled_html_body = isset( $storage_post['compiled_html_body'] ) ? $storage_post['compiled_html_body'] : null;
|
619 |
$this->uses_editor = (bool) ( isset( $storage_post[ Brizy_Editor_Constants::USES_BRIZY ] ) ? $storage_post[ Brizy_Editor_Constants::USES_BRIZY ] : false );
|
623 |
if ( ! is_null( $using_editor_old ) ) {
|
624 |
$this->uses_editor = (bool) $using_editor_old;
|
625 |
$storage->delete( Brizy_Editor_Constants::USES_BRIZY );
|
626 |
+
$this->saveStorage();
|
627 |
}
|
628 |
}
|
629 |
|
640 |
return $autosave;
|
641 |
}
|
642 |
|
643 |
+
|
644 |
+
public static function get_post_list( $searchTerm, $postType, $excludePostType = array() ) {
|
645 |
+
|
646 |
+
global $wp_post_types;
|
647 |
+
|
648 |
+
$post_query = array(
|
649 |
+
'post_type' => $postType,
|
650 |
+
'posts_per_page' => - 1,
|
651 |
+
'post_status' => $postType == 'attachment' ? 'inherit' : array(
|
652 |
+
'publish',
|
653 |
+
'pending',
|
654 |
+
'draft',
|
655 |
+
'future',
|
656 |
+
'private'
|
657 |
+
),
|
658 |
+
'orderby' => 'post_title',
|
659 |
+
'order' => 'ASC'
|
660 |
+
);
|
661 |
+
|
662 |
+
if ( $searchTerm ) {
|
663 |
+
$post_query['post_title_term'] = $searchTerm;
|
664 |
+
}
|
665 |
+
|
666 |
+
$posts = new WP_Query( $post_query );
|
667 |
+
|
668 |
+
$result = array();
|
669 |
+
|
670 |
+
foreach ( $posts->posts as $post ) {
|
671 |
+
|
672 |
+
if ( in_array( $post->post_type, $excludePostType ) ) {
|
673 |
+
continue;
|
674 |
+
}
|
675 |
+
|
676 |
+
$result[] = (object) array(
|
677 |
+
'ID' => $post->ID,
|
678 |
+
'uid' => self::create_uid( $post->ID ),
|
679 |
+
'post_type' => $post->post_type,
|
680 |
+
'post_type_label' => $wp_post_types[ $post->post_type ]->label,
|
681 |
+
'title' => apply_filters( 'the_title', $post->post_title ),
|
682 |
+
'post_title' => apply_filters( 'the_title', $post->post_title )
|
683 |
+
);
|
684 |
+
}
|
685 |
+
|
686 |
+
|
687 |
+
return $result;
|
688 |
+
}
|
689 |
+
|
690 |
+
private static function create_uid( $postId ) {
|
691 |
+
|
692 |
+
$uid = get_post_meta( $postId, 'brizy_post_uid', true );
|
693 |
+
|
694 |
+
if ( ! $uid ) {
|
695 |
+
$uid = md5( $postId . time() );
|
696 |
+
update_post_meta( $postId, 'brizy_post_uid', $uid );
|
697 |
+
}
|
698 |
+
|
699 |
+
return $uid;
|
700 |
+
}
|
701 |
|
702 |
/**
|
703 |
+
* @return WP_Post
|
704 |
* @deprecated Use getWpPost();
|
705 |
*
|
|
|
706 |
*/
|
707 |
public function get_wp_post() {
|
708 |
return $this->getWpPost();
|
editor/post3.php
CHANGED
@@ -757,7 +757,7 @@ class Brizy_Editor_Post3 extends Brizy_Admin_Serializable {
|
|
757 |
*/
|
758 |
public function edit_url() {
|
759 |
return add_query_arg(
|
760 |
-
array(
|
761 |
get_permalink( $this->get_parent_id() )
|
762 |
);
|
763 |
}
|
757 |
*/
|
758 |
public function edit_url() {
|
759 |
return add_query_arg(
|
760 |
+
array( Brizy_Editor::prefix('-edit') => '' ),
|
761 |
get_permalink( $this->get_parent_id() )
|
762 |
);
|
763 |
}
|
editor/project.php
CHANGED
@@ -38,11 +38,15 @@ class Brizy_Editor_Project extends Brizy_Editor_Entity {
|
|
38 |
protected $accounts;
|
39 |
protected $license_key;
|
40 |
protected $forms;
|
|
|
41 |
protected $cloud_token;
|
|
|
42 |
protected $cloud_project;
|
43 |
protected $image_optimizer_settings;
|
44 |
protected $data;
|
45 |
//---------------------------------------------------------------------------------------------------
|
|
|
|
|
46 |
|
47 |
/**
|
48 |
* Brizy_Editor_Project constructor.
|
@@ -171,22 +175,25 @@ class Brizy_Editor_Project extends Brizy_Editor_Entity {
|
|
171 |
}
|
172 |
|
173 |
$project_data = array(
|
174 |
-
'id'
|
175 |
-
'title'
|
176 |
-
'name'
|
177 |
-
'user'
|
178 |
-
'template'
|
179 |
-
'created'
|
180 |
-
'updated'
|
181 |
-
'languages'
|
182 |
-
'pluginVersion'
|
183 |
-
'editorVersion'
|
184 |
-
'signature'
|
185 |
-
'accounts'
|
186 |
-
'forms'
|
187 |
-
'data'
|
188 |
-
'
|
189 |
-
'brizy-
|
|
|
|
|
|
|
190 |
'brizy-cloud-project' => null,
|
191 |
'image-optimizer-settings' => array(),
|
192 |
);
|
@@ -212,7 +219,7 @@ class Brizy_Editor_Project extends Brizy_Editor_Entity {
|
|
212 |
/**
|
213 |
* This will be returned by api when project is requested
|
214 |
*/
|
215 |
-
public function createResponse() {
|
216 |
$data = array(
|
217 |
'id' => $this->getId(),
|
218 |
'data' => $this->getDataAsJson(),
|
@@ -245,6 +252,8 @@ class Brizy_Editor_Project extends Brizy_Editor_Entity {
|
|
245 |
'brizy-license-key' => $this->license_key,
|
246 |
'brizy-cloud-token' => $this->cloud_token,
|
247 |
'brizy-cloud-project' => $this->cloud_project,
|
|
|
|
|
248 |
'image-optimizer-settings' => $this->image_optimizer_settings,
|
249 |
);
|
250 |
}
|
@@ -267,6 +276,8 @@ class Brizy_Editor_Project extends Brizy_Editor_Entity {
|
|
267 |
$this->license_key = isset( $data['brizy-license-key'] ) ? $data['brizy-license-key'] : null;
|
268 |
$this->cloud_token = isset( $data['brizy-cloud-token'] ) ? $data['brizy-cloud-token'] : null;
|
269 |
$this->cloud_project = isset( $data['brizy-cloud-project'] ) ? $data['brizy-cloud-project'] : null;
|
|
|
|
|
270 |
$this->image_optimizer_settings = isset( $data['image-optimizer-settings'] ) ? $data['image-optimizer-settings'] : array();
|
271 |
}
|
272 |
|
@@ -279,6 +290,10 @@ class Brizy_Editor_Project extends Brizy_Editor_Entity {
|
|
279 |
|
280 |
parent::save( $autosave );
|
281 |
|
|
|
|
|
|
|
|
|
282 |
if ( $autosave == 0 ) {
|
283 |
$this->saveStorage();
|
284 |
} else {
|
@@ -299,6 +314,10 @@ class Brizy_Editor_Project extends Brizy_Editor_Entity {
|
|
299 |
*/
|
300 |
public function savePost() {
|
301 |
|
|
|
|
|
|
|
|
|
302 |
$post_type = $this->getWpPost()->post_type;
|
303 |
$post_type_object = get_post_type_object( $post_type );
|
304 |
$can_publish = current_user_can( $post_type_object->cap->publish_posts );
|
@@ -509,6 +528,24 @@ class Brizy_Editor_Project extends Brizy_Editor_Entity {
|
|
509 |
$this->cloud_token = $cloud_token;
|
510 |
}
|
511 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
512 |
/**
|
513 |
* @return mixed
|
514 |
*/
|
@@ -522,6 +559,25 @@ class Brizy_Editor_Project extends Brizy_Editor_Entity {
|
|
522 |
public function setCloudProject( $cloud_project ) {
|
523 |
$this->cloud_project = $cloud_project;
|
524 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
525 |
//====================================================================================================================================================================================
|
526 |
|
527 |
/**
|
@@ -576,7 +632,9 @@ class Brizy_Editor_Project extends Brizy_Editor_Entity {
|
|
576 |
* @return Brizy_Editor_Project
|
577 |
*/
|
578 |
public function setData( $data ) {
|
579 |
-
|
|
|
|
|
580 |
|
581 |
return $this;
|
582 |
}
|
@@ -661,10 +719,17 @@ class Brizy_Editor_Project extends Brizy_Editor_Entity {
|
|
661 |
if ( $key == 'brizy-cloud-token' ) {
|
662 |
$this->setCloudToken( $value );
|
663 |
}
|
|
|
|
|
|
|
664 |
if ( $key == 'brizy-cloud-project' ) {
|
665 |
$this->setCloudProject( $value );
|
666 |
}
|
667 |
|
|
|
|
|
|
|
|
|
668 |
if ( $key == 'image-optimizer-settings' ) {
|
669 |
$this->setImageOptimizerSettings( $value );
|
670 |
}
|
@@ -686,6 +751,9 @@ class Brizy_Editor_Project extends Brizy_Editor_Entity {
|
|
686 |
if ( $key == 'brizy-license-key' ) {
|
687 |
$this->setLicenseKey( null );
|
688 |
}
|
|
|
|
|
|
|
689 |
if ( $key == 'brizy-cloud-token' ) {
|
690 |
$this->setCloudToken( null );
|
691 |
}
|
@@ -717,6 +785,11 @@ class Brizy_Editor_Project extends Brizy_Editor_Entity {
|
|
717 |
if ( $key == 'brizy-license-key' ) {
|
718 |
return $this->getLicenseKey();
|
719 |
}
|
|
|
|
|
|
|
|
|
|
|
720 |
if ( $key == 'brizy-cloud-token' ) {
|
721 |
return $this->getCloudToken();
|
722 |
}
|
@@ -742,5 +815,4 @@ class Brizy_Editor_Project extends Brizy_Editor_Entity {
|
|
742 |
}
|
743 |
|
744 |
|
745 |
-
|
746 |
}
|
38 |
protected $accounts;
|
39 |
protected $license_key;
|
40 |
protected $forms;
|
41 |
+
protected $cloud_account_id;
|
42 |
protected $cloud_token;
|
43 |
+
protected $cloudContainer;
|
44 |
protected $cloud_project;
|
45 |
protected $image_optimizer_settings;
|
46 |
protected $data;
|
47 |
//---------------------------------------------------------------------------------------------------
|
48 |
+
protected $isDataChanged = false;
|
49 |
+
//---------------------------------------------------------------------------------------------------
|
50 |
|
51 |
/**
|
52 |
* Brizy_Editor_Project constructor.
|
175 |
}
|
176 |
|
177 |
$project_data = array(
|
178 |
+
'id' => md5( uniqid( 'Local project', true ) ),
|
179 |
+
'title' => 'Brizy Project',
|
180 |
+
'name' => uniqid( 'Local project', true ),
|
181 |
+
'user' => null,
|
182 |
+
'template' => array( 'slug' => 'brizy' ),
|
183 |
+
'created' => new DateTime(),
|
184 |
+
'updated' => new DateTime(),
|
185 |
+
'languages' => array(),
|
186 |
+
'pluginVersion' => BRIZY_VERSION,
|
187 |
+
'editorVersion' => BRIZY_EDITOR_VERSION,
|
188 |
+
'signature' => Brizy_Editor_Signature::get(),
|
189 |
+
'accounts' => array(),
|
190 |
+
'forms' => array(),
|
191 |
+
'data' => base64_encode( file_get_contents( $defaultJsonPath ) ),
|
192 |
+
'cloudContainer' => null,
|
193 |
+
'brizy-license-key' => null,
|
194 |
+
'brizy-cloud-token' => null,
|
195 |
+
'brizy-cloud-account-id' => null,
|
196 |
+
|
197 |
'brizy-cloud-project' => null,
|
198 |
'image-optimizer-settings' => array(),
|
199 |
);
|
219 |
/**
|
220 |
* This will be returned by api when project is requested
|
221 |
*/
|
222 |
+
public function createResponse( $fields = array() ) {
|
223 |
$data = array(
|
224 |
'id' => $this->getId(),
|
225 |
'data' => $this->getDataAsJson(),
|
252 |
'brizy-license-key' => $this->license_key,
|
253 |
'brizy-cloud-token' => $this->cloud_token,
|
254 |
'brizy-cloud-project' => $this->cloud_project,
|
255 |
+
'brizy-cloud-account-id' => $this->cloud_account_id,
|
256 |
+
'cloudContainer' => $this->cloudContainer,
|
257 |
'image-optimizer-settings' => $this->image_optimizer_settings,
|
258 |
);
|
259 |
}
|
276 |
$this->license_key = isset( $data['brizy-license-key'] ) ? $data['brizy-license-key'] : null;
|
277 |
$this->cloud_token = isset( $data['brizy-cloud-token'] ) ? $data['brizy-cloud-token'] : null;
|
278 |
$this->cloud_project = isset( $data['brizy-cloud-project'] ) ? $data['brizy-cloud-project'] : null;
|
279 |
+
$this->cloud_account_id = isset( $data['brizy-cloud-account-id'] ) ? $data['brizy-cloud-account-id'] : null;
|
280 |
+
$this->cloudContainer = isset( $data['cloudContainer'] ) ? $data['cloudContainer'] : null;
|
281 |
$this->image_optimizer_settings = isset( $data['image-optimizer-settings'] ) ? $data['image-optimizer-settings'] : array();
|
282 |
}
|
283 |
|
290 |
|
291 |
parent::save( $autosave );
|
292 |
|
293 |
+
if ( ! $this->isDataChanged ) {
|
294 |
+
return;
|
295 |
+
}
|
296 |
+
|
297 |
if ( $autosave == 0 ) {
|
298 |
$this->saveStorage();
|
299 |
} else {
|
314 |
*/
|
315 |
public function savePost() {
|
316 |
|
317 |
+
if ( ! $this->isDataChanged ) {
|
318 |
+
return;
|
319 |
+
}
|
320 |
+
|
321 |
$post_type = $this->getWpPost()->post_type;
|
322 |
$post_type_object = get_post_type_object( $post_type );
|
323 |
$can_publish = current_user_can( $post_type_object->cap->publish_posts );
|
528 |
$this->cloud_token = $cloud_token;
|
529 |
}
|
530 |
|
531 |
+
/**
|
532 |
+
* @return mixed
|
533 |
+
*/
|
534 |
+
public function getCloudContainer() {
|
535 |
+
return $this->cloudContainer;
|
536 |
+
}
|
537 |
+
|
538 |
+
/**
|
539 |
+
* @param mixed $cloudContainer
|
540 |
+
*
|
541 |
+
* @return Brizy_Editor_Project
|
542 |
+
*/
|
543 |
+
public function setCloudContainer( $cloudContainer ) {
|
544 |
+
$this->cloudContainer = $cloudContainer;
|
545 |
+
|
546 |
+
return $this;
|
547 |
+
}
|
548 |
+
|
549 |
/**
|
550 |
* @return mixed
|
551 |
*/
|
559 |
public function setCloudProject( $cloud_project ) {
|
560 |
$this->cloud_project = $cloud_project;
|
561 |
}
|
562 |
+
|
563 |
+
/**
|
564 |
+
* @return mixed
|
565 |
+
*/
|
566 |
+
public function getCloudAccountId() {
|
567 |
+
return $this->cloud_account_id;
|
568 |
+
}
|
569 |
+
|
570 |
+
/**
|
571 |
+
* @param mixed $cloud_account_id
|
572 |
+
*
|
573 |
+
* @return Brizy_Editor_Project
|
574 |
+
*/
|
575 |
+
public function setCloudAccountId( $cloud_account_id ) {
|
576 |
+
$this->cloud_account_id = $cloud_account_id;
|
577 |
+
|
578 |
+
return $this;
|
579 |
+
}
|
580 |
+
|
581 |
//====================================================================================================================================================================================
|
582 |
|
583 |
/**
|
632 |
* @return Brizy_Editor_Project
|
633 |
*/
|
634 |
public function setData( $data ) {
|
635 |
+
|
636 |
+
$this->isDataChanged = $data !== $this->data;
|
637 |
+
$this->data = $data;
|
638 |
|
639 |
return $this;
|
640 |
}
|
719 |
if ( $key == 'brizy-cloud-token' ) {
|
720 |
$this->setCloudToken( $value );
|
721 |
}
|
722 |
+
if ( $key == 'brizy-cloud-account-id' ) {
|
723 |
+
$this->setCloudAccountId( $value );
|
724 |
+
}
|
725 |
if ( $key == 'brizy-cloud-project' ) {
|
726 |
$this->setCloudProject( $value );
|
727 |
}
|
728 |
|
729 |
+
if ( $key == 'brizy-cloud-container' ) {
|
730 |
+
$this->setCloudContainer( $value );
|
731 |
+
}
|
732 |
+
|
733 |
if ( $key == 'image-optimizer-settings' ) {
|
734 |
$this->setImageOptimizerSettings( $value );
|
735 |
}
|
751 |
if ( $key == 'brizy-license-key' ) {
|
752 |
$this->setLicenseKey( null );
|
753 |
}
|
754 |
+
if ( $key == 'brizy-cloud-account-id' ) {
|
755 |
+
$this->setCloudAccountId( null );
|
756 |
+
}
|
757 |
if ( $key == 'brizy-cloud-token' ) {
|
758 |
$this->setCloudToken( null );
|
759 |
}
|
785 |
if ( $key == 'brizy-license-key' ) {
|
786 |
return $this->getLicenseKey();
|
787 |
}
|
788 |
+
|
789 |
+
if ( $key == 'brizy-cloud-account-id' ) {
|
790 |
+
$this->getCloudAccountId();
|
791 |
+
}
|
792 |
+
|
793 |
if ( $key == 'brizy-cloud-token' ) {
|
794 |
return $this->getCloudToken();
|
795 |
}
|
815 |
}
|
816 |
|
817 |
|
|
|
818 |
}
|
editor/rest-extend.php
CHANGED
@@ -22,11 +22,13 @@ class Brizy_Editor_RestExtend {
|
|
22 |
return true;
|
23 |
},
|
24 |
'schema' => array(
|
25 |
-
'description' => __( '
|
26 |
'type' => 'array'
|
27 |
),
|
28 |
) );
|
29 |
} );
|
|
|
|
|
30 |
}
|
31 |
|
32 |
private function get_page_attachments( $uid ) {
|
@@ -58,4 +60,27 @@ class Brizy_Editor_RestExtend {
|
|
58 |
|
59 |
return $attachment_data;
|
60 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
}
|
22 |
return true;
|
23 |
},
|
24 |
'schema' => array(
|
25 |
+
'description' => __( 'Brizy attached media' ),
|
26 |
'type' => 'array'
|
27 |
),
|
28 |
) );
|
29 |
} );
|
30 |
+
|
31 |
+
add_action( 'rest_api_init', array( $this, 'create_feature_image_focal_point_field' ) );
|
32 |
}
|
33 |
|
34 |
private function get_page_attachments( $uid ) {
|
60 |
|
61 |
return $attachment_data;
|
62 |
}
|
63 |
+
|
64 |
+
public function create_feature_image_focal_point_field() {
|
65 |
+
|
66 |
+
if ( ! Brizy_Editor_User::is_user_allowed() ) {
|
67 |
+
return;
|
68 |
+
}
|
69 |
+
|
70 |
+
$post_types = array_keys( get_post_types( [ 'exclude_from_search' => false, 'show_in_nav_menus' => true ] ) );
|
71 |
+
|
72 |
+
$post_types = array_filter( $post_types, function( $post_type ) {
|
73 |
+
return post_type_supports( $post_type, 'thumbnail' );
|
74 |
+
} );
|
75 |
+
|
76 |
+
register_rest_field( $post_types, 'brizy_attachment_focal_point', array(
|
77 |
+
'get_callback' => function ( $post, $field_name, $request ) {
|
78 |
+
return get_post_meta( $post['id'], $field_name, true );
|
79 |
+
},
|
80 |
+
'update_callback' => function ( $meta_value, $post ) {
|
81 |
+
update_post_meta( $post->ID, 'brizy_attachment_focal_point', $meta_value );
|
82 |
+
}
|
83 |
+
)
|
84 |
+
);
|
85 |
+
}
|
86 |
}
|
editor/screenshot/manager.php
ADDED
@@ -0,0 +1,144 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Brizy_Editor_Screenshot_Manager {
|
4 |
+
|
5 |
+
const BLOCK_TYPE_NORMAL = 'normal';
|
6 |
+
const BLOCK_TYPE_GLOBAL = 'global';
|
7 |
+
const BLOCK_TYPE_SAVED = 'saved';
|
8 |
+
const BLOCK_TYPE_LAYOUT = 'layout';
|
9 |
+
|
10 |
+
/**
|
11 |
+
* @var Brizy_Editor_UrlBuilder
|
12 |
+
*/
|
13 |
+
private $urlBuilder;
|
14 |
+
|
15 |
+
/**
|
16 |
+
* Brizy_Editor_Screenshot_Manager constructor.
|
17 |
+
*
|
18 |
+
* @param Brizy_Editor_UrlBuilder $urlBuilder
|
19 |
+
*/
|
20 |
+
public function __construct( Brizy_Editor_UrlBuilder $urlBuilder ) {
|
21 |
+
$this->urlBuilder = $urlBuilder;
|
22 |
+
}
|
23 |
+
|
24 |
+
|
25 |
+
/**
|
26 |
+
* @param $screenUid
|
27 |
+
* @param $blockType
|
28 |
+
* @param $imageContent
|
29 |
+
* @param $postId
|
30 |
+
*
|
31 |
+
* @return bool
|
32 |
+
*/
|
33 |
+
public function saveScreenshot( $screenUid, $blockType, $imageContent, $postId ) {
|
34 |
+
$path = $this->getScreenshotPath( $screenUid, $blockType, $postId );
|
35 |
+
|
36 |
+
$extension = 'jpeg';
|
37 |
+
$screenFileName = $screenUid . '.' . $extension;
|
38 |
+
$screenFullPath = $path . DIRECTORY_SEPARATOR . $screenFileName;
|
39 |
+
try {
|
40 |
+
return $this->storeThumbnail( $imageContent, $screenFullPath );
|
41 |
+
} catch ( Exception $e ) {
|
42 |
+
return false;
|
43 |
+
}
|
44 |
+
}
|
45 |
+
|
46 |
+
public function getScreenshot( $screenUid, $postId = null ) {
|
47 |
+
$types = array( self::BLOCK_TYPE_NORMAL, self::BLOCK_TYPE_GLOBAL, self::BLOCK_TYPE_SAVED, self::BLOCK_TYPE_LAYOUT );
|
48 |
+
|
49 |
+
foreach ( $types as $type ) {
|
50 |
+
$filePath = $this->getScreenshotPath( $screenUid, $type, $postId );
|
51 |
+
|
52 |
+
$filePath = $filePath . DIRECTORY_SEPARATOR . "{$screenUid}.jpeg";
|
53 |
+
|
54 |
+
if ( file_exists( $filePath ) ) {
|
55 |
+
return $filePath;
|
56 |
+
}
|
57 |
+
}
|
58 |
+
|
59 |
+
return null;
|
60 |
+
}
|
61 |
+
|
62 |
+
|
63 |
+
private function getScreenshotPath( $screenUID, $blockType, $postID ) {
|
64 |
+
$folderPath = null;
|
65 |
+
|
66 |
+
switch ( $blockType ) {
|
67 |
+
case self::BLOCK_TYPE_NORMAL:
|
68 |
+
$this->urlBuilder->set_post_id( $postID );
|
69 |
+
$folderPath = $this->urlBuilder->page_upload_path( 'blockThumbnails' );
|
70 |
+
break;
|
71 |
+
case self::BLOCK_TYPE_GLOBAL:
|
72 |
+
$folderPath = $this->urlBuilder->brizy_upload_path( 'blockThumbnails' . DIRECTORY_SEPARATOR . 'global' );
|
73 |
+
break;
|
74 |
+
case self::BLOCK_TYPE_SAVED:
|
75 |
+
$folderPath = $this->urlBuilder->brizy_upload_path( 'blockThumbnails' . DIRECTORY_SEPARATOR . 'saved' );
|
76 |
+
break;
|
77 |
+
case self::BLOCK_TYPE_LAYOUT:
|
78 |
+
$folderPath = $this->urlBuilder->brizy_upload_path( 'blockThumbnails' . DIRECTORY_SEPARATOR . 'layout' );
|
79 |
+
break;
|
80 |
+
default:
|
81 |
+
return null;
|
82 |
+
}
|
83 |
+
|
84 |
+
return $folderPath;
|
85 |
+
}
|
86 |
+
|
87 |
+
|
88 |
+
/**
|
89 |
+
* @param $content
|
90 |
+
* @param $filePath
|
91 |
+
*
|
92 |
+
* @return bool
|
93 |
+
*/
|
94 |
+
private function storeThumbnail( $content, $filePath ) {
|
95 |
+
$store_file = $this->storeFile( $content, $filePath );
|
96 |
+
|
97 |
+
if ( $store_file ) {
|
98 |
+
$store_file = $this->resizeImage( $filePath );
|
99 |
+
}
|
100 |
+
|
101 |
+
return $store_file;
|
102 |
+
}
|
103 |
+
|
104 |
+
/**
|
105 |
+
* @param $content
|
106 |
+
* @param $thumbnailFullPath
|
107 |
+
*
|
108 |
+
* @return bool
|
109 |
+
*/
|
110 |
+
private function storeFile( $content, $thumbnailFullPath ) {
|
111 |
+
$path = dirname( $thumbnailFullPath );
|
112 |
+
|
113 |
+
if ( ! file_exists( $path ) ) {
|
114 |
+
if ( ! @mkdir( $path, 0755, true ) ) {
|
115 |
+
return false;
|
116 |
+
}
|
117 |
+
}
|
118 |
+
|
119 |
+
return file_put_contents( $thumbnailFullPath, $content ) !== false;
|
120 |
+
}
|
121 |
+
|
122 |
+
|
123 |
+
/**
|
124 |
+
* @param $thumbnailFullPath
|
125 |
+
*
|
126 |
+
* @return bool
|
127 |
+
*/
|
128 |
+
private function resizeImage( $thumbnailFullPath ) {
|
129 |
+
try {
|
130 |
+
$imageEditor = wp_get_image_editor( $thumbnailFullPath );
|
131 |
+
|
132 |
+
if ( $imageEditor instanceof WP_Error ) {
|
133 |
+
throw new Exception( $imageEditor->get_error_message() );
|
134 |
+
}
|
135 |
+
|
136 |
+
$imageEditor->resize( 600, 600 );
|
137 |
+
$result = $imageEditor->save( $thumbnailFullPath );
|
138 |
+
|
139 |
+
return is_array( $result );
|
140 |
+
} catch ( Exception $e ) {
|
141 |
+
return false;
|
142 |
+
}
|
143 |
+
}
|
144 |
+
}
|
editor/synchronizable.php
ADDED
@@ -0,0 +1,139 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
trait Brizy_Editor_Synchronizable {
|
4 |
+
|
5 |
+
/**
|
6 |
+
* @var array
|
7 |
+
*/
|
8 |
+
protected $cloudId;
|
9 |
+
|
10 |
+
/**
|
11 |
+
* @var array
|
12 |
+
*/
|
13 |
+
protected $cloudAccountId;
|
14 |
+
|
15 |
+
/**
|
16 |
+
* As our block class has two responsabilities :(
|
17 |
+
* we are forced to devine this method to restrict the logic of this
|
18 |
+
* trait only to instances that will return true
|
19 |
+
*
|
20 |
+
* @return mixed
|
21 |
+
*/
|
22 |
+
abstract protected function canBeSynchronized();
|
23 |
+
|
24 |
+
/**
|
25 |
+
* @return array
|
26 |
+
*/
|
27 |
+
public function getCloudId() {
|
28 |
+
return $this->cloudId;
|
29 |
+
}
|
30 |
+
|
31 |
+
/**
|
32 |
+
* @param array $cloudId
|
33 |
+
*
|
34 |
+
* @return Brizy_Editor_Synchronizable
|
35 |
+
*/
|
36 |
+
protected function setCloudId( $cloudId ) {
|
37 |
+
$this->cloudId = $cloudId;
|
38 |
+
|
39 |
+
return $this;
|
40 |
+
}
|
41 |
+
|
42 |
+
/**
|
43 |
+
* @param string $meta
|
44 |
+
*
|
45 |
+
* @return Brizy_Editor_Block
|
46 |
+
*/
|
47 |
+
public function setContainer( $container ) {
|
48 |
+
update_metadata( 'post', $this->getWpPostId(), 'brizy-cloud-container', $container );
|
49 |
+
}
|
50 |
+
|
51 |
+
public function getContainer() {
|
52 |
+
return get_metadata( 'post', $this->getWpPostId(), 'brizy-cloud-container', true );
|
53 |
+
}
|
54 |
+
|
55 |
+
|
56 |
+
/**
|
57 |
+
* @return array
|
58 |
+
*/
|
59 |
+
protected function getCloudAccountId() {
|
60 |
+
return $this->cloudAccountId;
|
61 |
+
}
|
62 |
+
|
63 |
+
/**
|
64 |
+
* @param array $cloudAccountId
|
65 |
+
*
|
66 |
+
* @return Brizy_Editor_Synchronizable
|
67 |
+
*/
|
68 |
+
protected function setCloudAccountId( $cloudAccountId ) {
|
69 |
+
$this->cloudAccountId = $cloudAccountId;
|
70 |
+
|
71 |
+
return $this;
|
72 |
+
}
|
73 |
+
|
74 |
+
/**
|
75 |
+
* @return bool
|
76 |
+
*/
|
77 |
+
public function isCloudUpdateRequired() {
|
78 |
+
|
79 |
+
if ( $this->canBeSynchronized() ) {
|
80 |
+
return (bool) get_metadata( 'post', $this->getWpPostId(), 'brizy-cloud-update-required', true );
|
81 |
+
}
|
82 |
+
|
83 |
+
return false;
|
84 |
+
}
|
85 |
+
|
86 |
+
/**
|
87 |
+
* @param bool $cloudUpdateRequired
|
88 |
+
*
|
89 |
+
* @return Brizy_Editor_Block
|
90 |
+
*/
|
91 |
+
public function setCloudUpdateRequired( $cloudUpdateRequired ) {
|
92 |
+
|
93 |
+
if ( $this->canBeSynchronized() ) {
|
94 |
+
update_metadata( 'post', $this->getWpPostId(), 'brizy-cloud-update-required', (int) $cloudUpdateRequired ? true : false );
|
95 |
+
}
|
96 |
+
|
97 |
+
return $this;
|
98 |
+
}
|
99 |
+
|
100 |
+
/**
|
101 |
+
* @param $cloudAccountId
|
102 |
+
* @param $cloudId
|
103 |
+
*
|
104 |
+
* @return $this
|
105 |
+
*/
|
106 |
+
public function setSynchronized( $cloudAccountId, $cloudId ) {
|
107 |
+
if ( $this->canBeSynchronized() ) {
|
108 |
+
$this->setCloudUpdateRequired( false );
|
109 |
+
$this->setCloudId( $cloudId );
|
110 |
+
$this->setCloudAccountId( $cloudAccountId );
|
111 |
+
}
|
112 |
+
|
113 |
+
return $this;
|
114 |
+
}
|
115 |
+
|
116 |
+
public function isSynchronized( $cloudAccountId ) {
|
117 |
+
if ( $this->canBeSynchronized() ) {
|
118 |
+
return ! empty( $this->getCloudId() ) && $cloudAccountId === $this->getCloudAccountId();
|
119 |
+
}
|
120 |
+
|
121 |
+
return false;
|
122 |
+
}
|
123 |
+
|
124 |
+
/**
|
125 |
+
* There are old blocks that must not be synchronized
|
126 |
+
*
|
127 |
+
* Only block that have meta key 'brizy-cloud-update-required'
|
128 |
+
*
|
129 |
+
* @return bool
|
130 |
+
*/
|
131 |
+
public function isSynchronizable() {
|
132 |
+
if ( $this->canBeSynchronized() ) {
|
133 |
+
return metadata_exists( 'post', $this->getWpPostId(), 'brizy-cloud-update-required' );
|
134 |
+
}
|
135 |
+
|
136 |
+
return false;
|
137 |
+
}
|
138 |
+
|
139 |
+
}
|
editor/url-builder.php
CHANGED
@@ -48,6 +48,37 @@ class Brizy_Editor_UrlBuilder {
|
|
48 |
return new Brizy_Admin_UrlIterator( $urls );
|
49 |
}
|
50 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
/**
|
52 |
* @param $post
|
53 |
*/
|
@@ -65,11 +96,11 @@ class Brizy_Editor_UrlBuilder {
|
|
65 |
$params = array();
|
66 |
|
67 |
if ( $this->post_id ) {
|
68 |
-
$params['
|
69 |
}
|
70 |
|
71 |
// do not move this line
|
72 |
-
$params[
|
73 |
|
74 |
return add_query_arg( $params, home_url( '/' ) );
|
75 |
}
|
48 |
return new Brizy_Admin_UrlIterator( $urls );
|
49 |
}
|
50 |
|
51 |
+
/**
|
52 |
+
* @param string $path
|
53 |
+
* @param string $path
|
54 |
+
*
|
55 |
+
* @return string
|
56 |
+
*/
|
57 |
+
public function plugin_url( $path = '' ) {
|
58 |
+
|
59 |
+
if ( $path ) {
|
60 |
+
$path = '/' . ltrim( $path, '/' );
|
61 |
+
}
|
62 |
+
|
63 |
+
return BRIZY_PLUGIN_URL . $path;
|
64 |
+
}
|
65 |
+
|
66 |
+
/**
|
67 |
+
* @param string $path
|
68 |
+
* @param string $path
|
69 |
+
*
|
70 |
+
* @return string
|
71 |
+
*/
|
72 |
+
public function plugin_path( $path = '' ) {
|
73 |
+
|
74 |
+
if ( $path ) {
|
75 |
+
$path = '/' . ltrim( $path, '/' );
|
76 |
+
}
|
77 |
+
|
78 |
+
return BRIZY_PLUGIN_PATH . $path;
|
79 |
+
}
|
80 |
+
|
81 |
+
|
82 |
/**
|
83 |
* @param $post
|
84 |
*/
|
96 |
$params = array();
|
97 |
|
98 |
if ( $this->post_id ) {
|
99 |
+
$params[ Brizy_Editor::prefix( '_post' ) ] = ( (int) $this->post_id );
|
100 |
}
|
101 |
|
102 |
// do not move this line
|
103 |
+
$params[ Brizy_Editor::prefix() ] = $end_point;
|
104 |
|
105 |
return add_query_arg( $params, home_url( '/' ) );
|
106 |
}
|
editor/user.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
|
5 |
class Brizy_Editor_User {
|
6 |
|
7 |
-
|
8 |
|
9 |
private static $instance;
|
10 |
|
@@ -44,14 +44,14 @@ class Brizy_Editor_User {
|
|
44 |
|
45 |
$this->common_storage = $common_storage;
|
46 |
|
47 |
-
$this->platform_user_id = $
|
48 |
-
$this->platform_user_email = $
|
49 |
-
$this->platform_user_signature = $
|
50 |
|
51 |
-
$token_data = $
|
52 |
if ( $token_data instanceof Brizy_Editor_API_AccessToken ) {
|
53 |
$this->token = $token_data;
|
54 |
-
$
|
55 |
} elseif ( is_array( $token_data ) ) {
|
56 |
$this->token = Brizy_Editor_API_AccessToken::createFromSerializedData( $token_data );
|
57 |
}
|
@@ -100,76 +100,6 @@ class Brizy_Editor_User {
|
|
100 |
}
|
101 |
|
102 |
|
103 |
-
// /**
|
104 |
-
// * @param null $from_project_id
|
105 |
-
// * @param bool $is_local
|
106 |
-
// *
|
107 |
-
// * @return Brizy_Editor_API_Project
|
108 |
-
// * @throws Brizy_Editor_API_Exceptions_Exception
|
109 |
-
// * @throws Brizy_Editor_Http_Exceptions_BadRequest
|
110 |
-
// * @throws Brizy_Editor_Http_Exceptions_ResponseException
|
111 |
-
// * @throws Brizy_Editor_Http_Exceptions_ResponseNotFound
|
112 |
-
// * @throws Brizy_Editor_Http_Exceptions_ResponseUnauthorized
|
113 |
-
// */
|
114 |
-
// public function create_project( $from_project_id = null, $is_local = true ) {
|
115 |
-
// Brizy_Logger::instance()->notice( 'Create new project', array( 'clone_from' => $from_project_id ) );
|
116 |
-
//
|
117 |
-
// $project_data = array(
|
118 |
-
// 'id' => md5( uniqid( 'Local project', true ) ),
|
119 |
-
// 'title' => 'Local project ',
|
120 |
-
// 'globals' => '{"project":{},"language":{}}',
|
121 |
-
// 'name' => uniqid( 'Local project', true ),
|
122 |
-
// 'user' => null,
|
123 |
-
// 'template' => array( 'slug' => 'brizy' ),
|
124 |
-
// 'created' => new DateTime(),
|
125 |
-
// 'updated' => new DateTime(),
|
126 |
-
// 'languages' => array(),
|
127 |
-
// 'version' => BRIZY_EDITOR_VERSION,
|
128 |
-
// 'signature' => Brizy_Editor_Signature::get(),
|
129 |
-
// 'cloned_from' => $from_project_id,
|
130 |
-
// );
|
131 |
-
//
|
132 |
-
// $api_project = new Brizy_Editor_API_Project( $project_data );
|
133 |
-
//
|
134 |
-
// return $api_project;
|
135 |
-
// }
|
136 |
-
|
137 |
-
// /**
|
138 |
-
// * @param Brizy_Editor_API_Project $project
|
139 |
-
// *
|
140 |
-
// * @return array|mixed|object
|
141 |
-
// * @throws Brizy_Editor_API_Exceptions_Exception
|
142 |
-
// * @throws Brizy_Editor_Http_Exceptions_BadRequest
|
143 |
-
// * @throws Brizy_Editor_Http_Exceptions_ResponseException
|
144 |
-
// * @throws Brizy_Editor_Http_Exceptions_ResponseNotFound
|
145 |
-
// * @throws Brizy_Editor_Http_Exceptions_ResponseUnauthorized
|
146 |
-
// * @throws Exception
|
147 |
-
// */
|
148 |
-
// public function update_project( $project ) {
|
149 |
-
// Brizy_Logger::instance()->notice( 'Update project', array( $project ) );
|
150 |
-
//
|
151 |
-
// $updated_project = $this->get_client()->update_project( $project );
|
152 |
-
//
|
153 |
-
// Brizy_Editor_Project::get()->updateProjectData( new Brizy_Editor_API_Project( $updated_project ) );
|
154 |
-
//
|
155 |
-
// return $updated_project;
|
156 |
-
// }
|
157 |
-
|
158 |
-
/**
|
159 |
-
* @param Brizy_Editor_API_Project $project
|
160 |
-
*
|
161 |
-
* @return array|mixed|object
|
162 |
-
* @throws Brizy_Editor_API_Exceptions_Exception
|
163 |
-
* @throws Brizy_Editor_Http_Exceptions_BadRequest
|
164 |
-
* @throws Brizy_Editor_Http_Exceptions_ResponseException
|
165 |
-
* @throws Brizy_Editor_Http_Exceptions_ResponseNotFound
|
166 |
-
* @throws Brizy_Editor_Http_Exceptions_ResponseUnauthorized
|
167 |
-
*/
|
168 |
-
public function get_project( $project ) {
|
169 |
-
return $this->get_client()->get_project( $project );
|
170 |
-
}
|
171 |
-
|
172 |
-
|
173 |
/**
|
174 |
* @param Brizy_Editor_Project $project
|
175 |
* @param Brizy_Editor_Post $post
|
@@ -196,56 +126,54 @@ class Brizy_Editor_User {
|
|
196 |
|
197 |
}
|
198 |
|
199 |
-
|
200 |
-
* @param Brizy_Editor_Project $project
|
201 |
-
* @param $attachment_id
|
202 |
-
*
|
203 |
-
* @return mixed|null
|
204 |
-
* @throws Brizy_Editor_API_Exceptions_Exception
|
205 |
-
* @throws Brizy_Editor_Exceptions_NotFound
|
206 |
-
* @throws Brizy_Editor_Http_Exceptions_BadRequest
|
207 |
-
* @throws Brizy_Editor_Http_Exceptions_ResponseException
|
208 |
-
* @throws Brizy_Editor_Http_Exceptions_ResponseNotFound
|
209 |
-
* @throws Brizy_Editor_Http_Exceptions_ResponseUnauthorized
|
210 |
-
*/
|
211 |
-
// public function get_media_id( $project, $attachment_id ) {
|
212 |
-
//
|
213 |
-
// $brizy_editor_storage_post = Brizy_Editor_Storage_Post::instance( $attachment_id );
|
214 |
-
// $hash_name = null;
|
215 |
-
// try {
|
216 |
-
// $hash_name = $brizy_editor_storage_post->get( self::BRIZY_ATTACHMENT_HASH_KEY );
|
217 |
-
// } catch ( Brizy_Editor_Exceptions_NotFound $exception ) {
|
218 |
-
//
|
219 |
-
// $response = $this
|
220 |
-
// ->get_client()
|
221 |
-
// ->add_media( $project->get_id(), $this->image_to_base64( $attachment_id ) );
|
222 |
-
//
|
223 |
-
// $brizy_editor_storage_post->set( self::BRIZY_ATTACHMENT_HASH_KEY, $response['name'] );
|
224 |
-
//
|
225 |
-
// $hash_name = $response['name'];
|
226 |
-
// }
|
227 |
-
//
|
228 |
-
// return $hash_name;
|
229 |
-
// }
|
230 |
|
231 |
-
|
232 |
-
|
|
|
|
|
|
|
233 |
}
|
234 |
|
235 |
-
|
236 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
237 |
}
|
238 |
|
239 |
-
|
240 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
241 |
|
242 |
-
if (
|
243 |
-
|
|
|
|
|
|
|
|
|
244 |
}
|
245 |
|
246 |
-
|
|
|
|
|
247 |
|
248 |
-
|
|
|
|
|
|
|
|
|
|
|
249 |
}
|
250 |
|
251 |
/**
|
4 |
|
5 |
class Brizy_Editor_User {
|
6 |
|
7 |
+
private static $is_allowed_for_current_user;
|
8 |
|
9 |
private static $instance;
|
10 |
|
44 |
|
45 |
$this->common_storage = $common_storage;
|
46 |
|
47 |
+
$this->platform_user_id = $common_storage->get( 'platform_user_id' );
|
48 |
+
$this->platform_user_email = $common_storage->get( 'platform_user_email' );
|
49 |
+
$this->platform_user_signature = $common_storage->get( 'platform_user_signature' );
|
50 |
|
51 |
+
$token_data = $common_storage->get( 'access-token', false );
|
52 |
if ( $token_data instanceof Brizy_Editor_API_AccessToken ) {
|
53 |
$this->token = $token_data;
|
54 |
+
$common_storage->set( 'access-token', $token_data->convertToOptionValue() );
|
55 |
} elseif ( is_array( $token_data ) ) {
|
56 |
$this->token = Brizy_Editor_API_AccessToken::createFromSerializedData( $token_data );
|
57 |
}
|
100 |
}
|
101 |
|
102 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
103 |
/**
|
104 |
* @param Brizy_Editor_Project $project
|
105 |
* @param Brizy_Editor_Post $post
|
126 |
|
127 |
}
|
128 |
|
129 |
+
public static function is_administrator() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
130 |
|
131 |
+
if ( ! is_user_logged_in() ) {
|
132 |
+
return false;
|
133 |
+
}
|
134 |
+
|
135 |
+
return is_admin() || is_super_admin();
|
136 |
}
|
137 |
|
138 |
+
public static function is_subscriber() {
|
139 |
+
|
140 |
+
if ( ! is_user_logged_in() ) {
|
141 |
+
return false;
|
142 |
+
}
|
143 |
+
|
144 |
+
$user = wp_get_current_user();
|
145 |
+
|
146 |
+
return in_array( 'subscriber', (array) $user->roles );
|
147 |
}
|
148 |
|
149 |
+
public static function is_user_allowed() {
|
150 |
+
|
151 |
+
if ( ! is_user_logged_in() ) {
|
152 |
+
return false;
|
153 |
+
}
|
154 |
+
|
155 |
+
if ( Brizy_Editor_User::is_administrator() ) {
|
156 |
+
return true;
|
157 |
+
}
|
158 |
|
159 |
+
if ( is_null( self::$is_allowed_for_current_user ) ) {
|
160 |
+
self::$is_allowed_for_current_user =
|
161 |
+
(
|
162 |
+
current_user_can( Brizy_Admin_Capabilities::CAP_EDIT_WHOLE_PAGE ) ||
|
163 |
+
current_user_can( Brizy_Admin_Capabilities::CAP_EDIT_CONTENT_ONLY )
|
164 |
+
);
|
165 |
}
|
166 |
|
167 |
+
return self::$is_allowed_for_current_user;
|
168 |
+
}
|
169 |
+
|
170 |
|
171 |
+
protected function get_token() {
|
172 |
+
return $this->token;
|
173 |
+
}
|
174 |
+
|
175 |
+
protected function get_client() {
|
176 |
+
return new Brizy_Editor_API_Client( $this->get_token() );
|
177 |
}
|
178 |
|
179 |
/**
|
maintenance-mode.php
CHANGED
@@ -22,22 +22,26 @@ class Brizy_MaintenanceMode {
|
|
22 |
private function __construct() {
|
23 |
$args = self::get_settings();
|
24 |
|
|
|
|
|
|
|
|
|
25 |
if ( 'maintenance' === $args['mode'] ) {
|
26 |
add_action( 'template_redirect', [ $this, '_action_template_redirect' ], 11 );
|
27 |
}
|
28 |
|
29 |
-
if ( (
|
30 |
add_action( 'admin_bar_menu', [ $this, 'action_add_menu_in_admin_bar' ], 301 );
|
31 |
add_action( 'admin_head', [ $this, 'print_style' ] );
|
32 |
add_action( 'wp_head', [ $this, 'print_style' ] );
|
33 |
-
|
34 |
|
35 |
$this->set_query( $args );
|
36 |
}
|
37 |
|
38 |
private function set_query( $args ) {
|
39 |
|
40 |
-
if (
|
41 |
return;
|
42 |
}
|
43 |
|
@@ -64,10 +68,6 @@ class Brizy_MaintenanceMode {
|
|
64 |
exit;
|
65 |
}
|
66 |
|
67 |
-
if ( empty( $args['page'] ) ) {
|
68 |
-
return;
|
69 |
-
}
|
70 |
-
|
71 |
$this->send_headers = true;
|
72 |
|
73 |
$GLOBALS['post'] = get_post( $args['page'] );
|
@@ -116,7 +116,7 @@ class Brizy_MaintenanceMode {
|
|
116 |
'parent' => 'brizy-maintenance-on',
|
117 |
'title' => __( 'Edit Page', 'brizy' ),
|
118 |
'href' => add_query_arg(
|
119 |
-
[
|
120 |
get_permalink( $args['page'] )
|
121 |
),
|
122 |
] );
|
@@ -176,6 +176,27 @@ class Brizy_MaintenanceMode {
|
|
176 |
'who' => 'logged',
|
177 |
'roles' => [],
|
178 |
'ips' => '',
|
|
|
179 |
] );
|
180 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
181 |
}
|
22 |
private function __construct() {
|
23 |
$args = self::get_settings();
|
24 |
|
25 |
+
if ( empty( $args['mode'] ) || empty( $args['page'] ) || $this->is_requested_a_file() ) {
|
26 |
+
return;
|
27 |
+
}
|
28 |
+
|
29 |
if ( 'maintenance' === $args['mode'] ) {
|
30 |
add_action( 'template_redirect', [ $this, '_action_template_redirect' ], 11 );
|
31 |
}
|
32 |
|
33 |
+
if ( is_user_logged_in() ) {
|
34 |
add_action( 'admin_bar_menu', [ $this, 'action_add_menu_in_admin_bar' ], 301 );
|
35 |
add_action( 'admin_head', [ $this, 'print_style' ] );
|
36 |
add_action( 'wp_head', [ $this, 'print_style' ] );
|
37 |
+
}
|
38 |
|
39 |
$this->set_query( $args );
|
40 |
}
|
41 |
|
42 |
private function set_query( $args ) {
|
43 |
|
44 |
+
if ( current_user_can( 'manage_options' ) || $this->is_login() ) {
|
45 |
return;
|
46 |
}
|
47 |
|
68 |
exit;
|
69 |
}
|
70 |
|
|
|
|
|
|
|
|
|
71 |
$this->send_headers = true;
|
72 |
|
73 |
$GLOBALS['post'] = get_post( $args['page'] );
|
116 |
'parent' => 'brizy-maintenance-on',
|
117 |
'title' => __( 'Edit Page', 'brizy' ),
|
118 |
'href' => add_query_arg(
|
119 |
+
[ Brizy_Editor::prefix('-edit') => '' ],
|
120 |
get_permalink( $args['page'] )
|
121 |
),
|
122 |
] );
|
176 |
'who' => 'logged',
|
177 |
'roles' => [],
|
178 |
'ips' => '',
|
179 |
+
'page' => ''
|
180 |
] );
|
181 |
}
|
182 |
+
|
183 |
+
private function is_requested_a_file() {
|
184 |
+
$out = false;
|
185 |
+
|
186 |
+
if (
|
187 |
+
! empty( $_GET[ Brizy_Editor::prefix( Brizy_Public_CropProxy::ENDPOINT ) ] )
|
188 |
+
&&
|
189 |
+
! empty( $_GET[ Brizy_Editor::prefix( Brizy_Public_CropProxy::ENDPOINT_FILTER ) ] )
|
190 |
+
&&
|
191 |
+
! empty( $_GET[ Brizy_Editor::prefix( Brizy_Public_CropProxy::ENDPOINT_POST ) ] )
|
192 |
+
) {
|
193 |
+
$out = true;
|
194 |
+
}
|
195 |
+
|
196 |
+
if ( ! empty( $_GET[ Brizy_Admin_Fonts_Main::CP_FONT ] ) ) {
|
197 |
+
$out = true;
|
198 |
+
}
|
199 |
+
|
200 |
+
return $out;
|
201 |
+
}
|
202 |
}
|
public/asset-proxy.php
CHANGED
@@ -3,14 +3,13 @@
|
|
3 |
|
4 |
class Brizy_Public_AssetProxy extends Brizy_Public_AbstractProxy {
|
5 |
|
6 |
-
const
|
7 |
-
const ENDPOINT_POST = 'brizy_post';
|
8 |
|
9 |
/**
|
10 |
* @return string
|
11 |
*/
|
12 |
protected function get_endpoint_keys() {
|
13 |
-
return array(
|
14 |
}
|
15 |
|
16 |
public function process_query() {
|
@@ -18,29 +17,30 @@ class Brizy_Public_AssetProxy extends Brizy_Public_AbstractProxy {
|
|
18 |
$vars = $wp_query->query_vars;
|
19 |
|
20 |
// Check if user is not querying API
|
21 |
-
|
|
|
22 |
return;
|
23 |
}
|
24 |
|
25 |
-
if ( ! isset( $vars[ self::ENDPOINT_POST ] ) || ! is_numeric( $vars[ self::ENDPOINT_POST ] ) ) {
|
26 |
return;
|
27 |
}
|
28 |
|
29 |
session_write_close();
|
30 |
|
31 |
-
$brizyPost = Brizy_Editor_Post::get( (int) $vars[ self::ENDPOINT_POST ] );
|
32 |
|
33 |
if ( $brizyPost->uses_editor() ) {
|
34 |
$this->urlBuilder->set_post_id( $brizyPost->getWpPostId() );
|
35 |
}
|
36 |
|
37 |
-
$endpoint_value = $wp_query->query_vars[
|
38 |
|
39 |
// clean endpoint value
|
40 |
$asset_path = "/" . ltrim( $endpoint_value, "/" );
|
41 |
$asset_url = $this->urlBuilder->external_asset_url( $asset_path );
|
42 |
|
43 |
-
$new_path = $this->urlBuilder->page_upload_path( "assets
|
44 |
|
45 |
if ( ! file_exists( $new_path ) ) {
|
46 |
$store_result = $this->store_file( $asset_url, $new_path );
|
@@ -58,9 +58,9 @@ class Brizy_Public_AssetProxy extends Brizy_Public_AbstractProxy {
|
|
58 |
$content = file_get_contents( $new_path );
|
59 |
|
60 |
// send headers
|
61 |
-
$headers
|
62 |
-
$headers['Content-Type']
|
63 |
-
$headers['Cache-Control']
|
64 |
|
65 |
foreach ( $headers as $key => $val ) {
|
66 |
if ( is_array( $val ) ) {
|
3 |
|
4 |
class Brizy_Public_AssetProxy extends Brizy_Public_AbstractProxy {
|
5 |
|
6 |
+
const ENDPOINT_POST = '_post';
|
|
|
7 |
|
8 |
/**
|
9 |
* @return string
|
10 |
*/
|
11 |
protected function get_endpoint_keys() {
|
12 |
+
return array( Brizy_Editor::prefix(), Brizy_Editor::prefix( self::ENDPOINT_POST ) );
|
13 |
}
|
14 |
|
15 |
public function process_query() {
|
17 |
$vars = $wp_query->query_vars;
|
18 |
|
19 |
// Check if user is not querying API
|
20 |
+
$endpoint = Brizy_Editor::prefix();
|
21 |
+
if ( ! isset( $wp_query->query_vars[ $endpoint ] ) || ! is_string( $wp_query->query_vars[ $endpoint ] ) ) {
|
22 |
return;
|
23 |
}
|
24 |
|
25 |
+
if ( ! isset( $vars[ Brizy_Editor::prefix( self::ENDPOINT_POST ) ] ) || ! is_numeric( $vars[ Brizy_Editor::prefix( self::ENDPOINT_POST ) ] ) ) {
|
26 |
return;
|
27 |
}
|
28 |
|
29 |
session_write_close();
|
30 |
|
31 |
+
$brizyPost = Brizy_Editor_Post::get( (int) $vars[ Brizy_Editor::prefix( self::ENDPOINT_POST ) ] );
|
32 |
|
33 |
if ( $brizyPost->uses_editor() ) {
|
34 |
$this->urlBuilder->set_post_id( $brizyPost->getWpPostId() );
|
35 |
}
|
36 |
|
37 |
+
$endpoint_value = $wp_query->query_vars[ $endpoint ];
|
38 |
|
39 |
// clean endpoint value
|
40 |
$asset_path = "/" . ltrim( $endpoint_value, "/" );
|
41 |
$asset_url = $this->urlBuilder->external_asset_url( $asset_path );
|
42 |
|
43 |
+
$new_path = $this->urlBuilder->page_upload_path( "/assets".str_replace( '/editor', '', $asset_path ) );
|
44 |
|
45 |
if ( ! file_exists( $new_path ) ) {
|
46 |
$store_result = $this->store_file( $asset_url, $new_path );
|
58 |
$content = file_get_contents( $new_path );
|
59 |
|
60 |
// send headers
|
61 |
+
$headers = array();
|
62 |
+
$headers['Content-Type'] = $this->get_mime( $new_path, 1 );
|
63 |
+
$headers['Cache-Control'] = 'max-age=600';
|
64 |
|
65 |
foreach ( $headers as $key => $val ) {
|
66 |
if ( is_array( $val ) ) {
|
public/attachment-proxy.php
CHANGED
@@ -2,13 +2,13 @@
|
|
2 |
|
3 |
class Brizy_Public_AttachmentProxy extends Brizy_Public_AbstractProxy {
|
4 |
|
5 |
-
const ENDPOINT = '
|
6 |
|
7 |
/**
|
8 |
* @return string
|
9 |
*/
|
10 |
protected function get_endpoint_keys() {
|
11 |
-
return array( self::ENDPOINT );
|
12 |
}
|
13 |
|
14 |
/**
|
@@ -19,14 +19,14 @@ class Brizy_Public_AttachmentProxy extends Brizy_Public_AbstractProxy {
|
|
19 |
global $wp_query;
|
20 |
|
21 |
$vars = $wp_query->query_vars;
|
22 |
-
|
23 |
-
if ( isset( $vars[
|
24 |
|
25 |
session_write_close();
|
26 |
|
27 |
try {
|
28 |
// Set artificially high because GD uses uncompressed images in memory.
|
29 |
-
$attachment = $this->getAttachment( $vars[
|
30 |
|
31 |
if ( ! $attachment ) {
|
32 |
status_header( 404 );
|
2 |
|
3 |
class Brizy_Public_AttachmentProxy extends Brizy_Public_AbstractProxy {
|
4 |
|
5 |
+
const ENDPOINT = '_attachment';
|
6 |
|
7 |
/**
|
8 |
* @return string
|
9 |
*/
|
10 |
protected function get_endpoint_keys() {
|
11 |
+
return array( Brizy_Editor::prefix( self::ENDPOINT ) );
|
12 |
}
|
13 |
|
14 |
/**
|
19 |
global $wp_query;
|
20 |
|
21 |
$vars = $wp_query->query_vars;
|
22 |
+
$ENDPOINT = Brizy_Editor::prefix( self::ENDPOINT );
|
23 |
+
if ( isset( $vars[ $ENDPOINT ] ) && is_string( $vars[ $ENDPOINT ] ) && ! empty( $vars[ $ENDPOINT ] ) ) {
|
24 |
|
25 |
session_write_close();
|
26 |
|
27 |
try {
|
28 |
// Set artificially high because GD uses uncompressed images in memory.
|
29 |
+
$attachment = $this->getAttachment( $vars[ $ENDPOINT ] );
|
30 |
|
31 |
if ( ! $attachment ) {
|
32 |
status_header( 404 );
|
public/block-screenshot-proxy.php
CHANGED
@@ -3,14 +3,14 @@
|
|
3 |
|
4 |
class Brizy_Public_BlockScreenshotProxy extends Brizy_Public_AbstractProxy {
|
5 |
|
6 |
-
const ENDPOINT = '
|
7 |
-
const ENDPOINT_POST = '
|
8 |
|
9 |
/**
|
10 |
* @return string
|
11 |
*/
|
12 |
protected function get_endpoint_keys() {
|
13 |
-
return array( self::ENDPOINT, self::ENDPOINT_POST );
|
14 |
}
|
15 |
|
16 |
public function process_query() {
|
@@ -18,61 +18,39 @@ class Brizy_Public_BlockScreenshotProxy extends Brizy_Public_AbstractProxy {
|
|
18 |
$vars = $wp_query->query_vars;
|
19 |
|
20 |
// Check if user is not querying API
|
21 |
-
|
|
|
|
|
22 |
return;
|
23 |
}
|
24 |
-
|
25 |
-
session_write_close();
|
26 |
-
|
27 |
-
$blockName = $vars[ self::ENDPOINT ];
|
28 |
-
$blockPost = isset( $vars[ self::ENDPOINT_POST ] ) ? $vars[ self::ENDPOINT_POST ] : null;
|
29 |
-
|
30 |
-
$types = array( 'normal', 'global', 'saved' );
|
31 |
-
|
32 |
$noCacheHeaders = array(
|
33 |
'Cache-Control' => 'max-age=600'
|
34 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
|
36 |
-
|
37 |
-
$filePath = $this->getBlockScreenshotPath( $blockName, $type, $blockPost );
|
38 |
-
if ( file_exists( $filePath ) ) {
|
39 |
-
$this->send_file( $filePath, $noCacheHeaders );
|
40 |
|
41 |
-
|
42 |
-
|
|
|
43 |
}
|
44 |
|
45 |
-
|
46 |
-
|
|
|
47 |
|
48 |
-
|
49 |
-
* @param $blockName
|
50 |
-
* @param $blockType
|
51 |
-
* @param $blockPost
|
52 |
-
*
|
53 |
-
* @return null
|
54 |
-
* @throws Brizy_Editor_Exceptions_NotFound
|
55 |
-
*/
|
56 |
-
private function getBlockScreenshotPath( $blockName, $blockType, $blockPost ) {
|
57 |
-
$folderPath = null;
|
58 |
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
$this->urlBuilder->set_post_id( $brizyPost->getWpPostId() );
|
63 |
-
$folderPath = $this->urlBuilder->page_upload_path( 'blockThumbnails' );
|
64 |
-
break;
|
65 |
-
case Brizy_Editor_BlockScreenshotApi::BLOCK_TYPE_GLOBAL:
|
66 |
-
$folderPath = $this->urlBuilder->brizy_upload_path( 'blockThumbnails' . DIRECTORY_SEPARATOR . 'global' );
|
67 |
-
break;
|
68 |
-
case Brizy_Editor_BlockScreenshotApi::BLOCK_TYPE_SAVED:
|
69 |
-
$folderPath = $this->urlBuilder->brizy_upload_path( 'blockThumbnails' . DIRECTORY_SEPARATOR . 'saved' );
|
70 |
-
break;
|
71 |
-
default:
|
72 |
-
return null;
|
73 |
}
|
74 |
|
75 |
-
return
|
76 |
}
|
77 |
-
|
78 |
}
|
3 |
|
4 |
class Brizy_Public_BlockScreenshotProxy extends Brizy_Public_AbstractProxy {
|
5 |
|
6 |
+
const ENDPOINT = '_block_screenshot';
|
7 |
+
const ENDPOINT_POST = '_post';
|
8 |
|
9 |
/**
|
10 |
* @return string
|
11 |
*/
|
12 |
protected function get_endpoint_keys() {
|
13 |
+
return array( Brizy_Editor::prefix( self::ENDPOINT), Brizy_Editor::prefix( self::ENDPOINT_POST) );
|
14 |
}
|
15 |
|
16 |
public function process_query() {
|
18 |
$vars = $wp_query->query_vars;
|
19 |
|
20 |
// Check if user is not querying API
|
21 |
+
$endpoint = Brizy_Editor::prefix( self::ENDPOINT );
|
22 |
+
$endpointPost = Brizy_Editor::prefix( self::ENDPOINT_POST );
|
23 |
+
if ( ! isset( $vars[ $endpoint ] ) || ! is_string( $vars[ $endpoint ] ) ) {
|
24 |
return;
|
25 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
$noCacheHeaders = array(
|
27 |
'Cache-Control' => 'max-age=600'
|
28 |
);
|
29 |
+
session_write_close();
|
30 |
+
|
31 |
+
$screenUID = $vars[ $endpoint ];
|
32 |
+
$postID = isset( $vars[ $endpointPost ] ) ? $vars[ $endpointPost] : null;
|
33 |
+
|
34 |
+
$manager = new Brizy_Editor_Screenshot_Manager( new Brizy_Editor_UrlBuilder( null ) );
|
35 |
|
36 |
+
$screenPath = $manager->getScreenshot( $screenUID, $postID );
|
|
|
|
|
|
|
37 |
|
38 |
+
if ( $screenPath ) {
|
39 |
+
$this->send_file( $screenPath, $noCacheHeaders );
|
40 |
+
return;
|
41 |
}
|
42 |
|
43 |
+
// try to get the screenshot from cloud
|
44 |
+
$client = new Brizy_Admin_Cloud_Client( Brizy_Editor_Project::get(), new WP_Http() );
|
45 |
+
$url = $client->getScreenshotUrl( $screenUID );
|
46 |
|
47 |
+
$result = $manager->saveScreenshot( $screenUID, 'saved', file_get_contents( $url ), null );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
|
49 |
+
if ( $result ) {
|
50 |
+
$screenPath = $manager->getScreenshot( $screenUID, $postID );
|
51 |
+
$this->send_file( $screenPath, $noCacheHeaders );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
}
|
53 |
|
54 |
+
return;
|
55 |
}
|
|
|
56 |
}
|
public/crop-proxy.php
CHANGED
@@ -2,16 +2,21 @@
|
|
2 |
|
3 |
class Brizy_Public_CropProxy extends Brizy_Public_AbstractProxy {
|
4 |
|
5 |
-
const ENDPOINT = '
|
6 |
-
const ENDPOINT_FILTER = '
|
7 |
-
const ENDPOINT_OPTIMIZE = '
|
8 |
-
const ENDPOINT_POST = '
|
9 |
|
10 |
/**
|
11 |
* @return string
|
12 |
*/
|
13 |
protected function get_endpoint_keys() {
|
14 |
-
return array(
|
|
|
|
|
|
|
|
|
|
|
15 |
}
|
16 |
|
17 |
/**
|
@@ -23,15 +28,20 @@ class Brizy_Public_CropProxy extends Brizy_Public_AbstractProxy {
|
|
23 |
|
24 |
$vars = $wp_query->query_vars;
|
25 |
|
26 |
-
|
|
|
|
|
|
|
|
|
|
|
27 |
return;
|
28 |
}
|
29 |
|
30 |
-
if ( ! isset( $vars[
|
31 |
return;
|
32 |
}
|
33 |
|
34 |
-
if ( isset( $vars[
|
35 |
|
36 |
session_write_close();
|
37 |
|
@@ -39,9 +49,9 @@ class Brizy_Public_CropProxy extends Brizy_Public_AbstractProxy {
|
|
39 |
// Set artificially high because GD uses uncompressed images in memory.
|
40 |
wp_raise_memory_limit( 'image' );
|
41 |
|
42 |
-
$optimize = (int) ( isset( $vars[
|
43 |
-
$wp_get_post_parent_id = wp_is_post_revision( $vars[
|
44 |
-
$this->crop_local_asset( $vars[
|
45 |
|
46 |
} catch ( Exception $e ) {
|
47 |
Brizy_Logger::instance()->exception( $e );
|
@@ -75,7 +85,6 @@ class Brizy_Public_CropProxy extends Brizy_Public_AbstractProxy {
|
|
75 |
$media_url = get_attached_file( $attachment->ID );
|
76 |
|
77 |
$project = Brizy_Editor_Project::get();
|
78 |
-
//$brizy_post = Brizy_Editor_Post::get( $post_id );
|
79 |
|
80 |
$media_cache = new Brizy_Editor_CropCacheMedia( $project, $post_id );
|
81 |
$crop_media_path = $media_cache->crop_media( $media_url, $filter, true, $optimize );
|
@@ -105,4 +114,4 @@ class Brizy_Public_CropProxy extends Brizy_Public_AbstractProxy {
|
|
105 |
|
106 |
return $attachment;
|
107 |
}
|
108 |
-
}
|
2 |
|
3 |
class Brizy_Public_CropProxy extends Brizy_Public_AbstractProxy {
|
4 |
|
5 |
+
const ENDPOINT = '_media';
|
6 |
+
const ENDPOINT_FILTER = '_crop';
|
7 |
+
const ENDPOINT_OPTIMIZE = '_optimize';
|
8 |
+
const ENDPOINT_POST = '_post';
|
9 |
|
10 |
/**
|
11 |
* @return string
|
12 |
*/
|
13 |
protected function get_endpoint_keys() {
|
14 |
+
return array(
|
15 |
+
Brizy_Editor::prefix( self::ENDPOINT ),
|
16 |
+
Brizy_Editor::prefix( self::ENDPOINT_FILTER ),
|
17 |
+
Brizy_Editor::prefix( self::ENDPOINT_POST ),
|
18 |
+
Brizy_Editor::prefix( self::ENDPOINT_OPTIMIZE )
|
19 |
+
);
|
20 |
}
|
21 |
|
22 |
/**
|
28 |
|
29 |
$vars = $wp_query->query_vars;
|
30 |
|
31 |
+
$endpointKey = Brizy_Editor::prefix( self::ENDPOINT ) ;
|
32 |
+
$endpointFilterKey = Brizy_Editor::prefix( self::ENDPOINT_FILTER ) ;
|
33 |
+
$endpointPostKey = Brizy_Editor::prefix( self::ENDPOINT_POST ) ;
|
34 |
+
$endpointOptimizeKey = Brizy_Editor::prefix( self::ENDPOINT_OPTIMIZE ) ;
|
35 |
+
|
36 |
+
if ( ! isset( $vars[ $endpointFilterKey ] ) || ! is_string( $vars[ $endpointFilterKey ] ) || empty( $vars[ $endpointFilterKey ] ) ) {
|
37 |
return;
|
38 |
}
|
39 |
|
40 |
+
if ( ! isset( $vars[ $endpointPostKey ] ) || ! is_numeric( $vars[ $endpointPostKey ] ) ) {
|
41 |
return;
|
42 |
}
|
43 |
|
44 |
+
if ( isset( $vars[ $endpointKey ] ) && is_string( $vars[ $endpointKey ] ) && ! empty( $vars[ $endpointKey ] ) ) {
|
45 |
|
46 |
session_write_close();
|
47 |
|
49 |
// Set artificially high because GD uses uncompressed images in memory.
|
50 |
wp_raise_memory_limit( 'image' );
|
51 |
|
52 |
+
$optimize = (int) ( isset( $vars[ $endpointOptimizeKey ] ) ? $vars[ $endpointOptimizeKey ] : false );
|
53 |
+
$wp_get_post_parent_id = wp_is_post_revision( $vars[ $endpointPostKey ] ) ? wp_get_post_parent_id( $vars[ $endpointPostKey ] ) : $vars[ $endpointPostKey ];
|
54 |
+
$this->crop_local_asset( $vars[ $endpointKey ], html_entity_decode( $vars[ $endpointFilterKey ] ), (int) $wp_get_post_parent_id, $optimize );
|
55 |
|
56 |
} catch ( Exception $e ) {
|
57 |
Brizy_Logger::instance()->exception( $e );
|
85 |
$media_url = get_attached_file( $attachment->ID );
|
86 |
|
87 |
$project = Brizy_Editor_Project::get();
|
|
|
88 |
|
89 |
$media_cache = new Brizy_Editor_CropCacheMedia( $project, $post_id );
|
90 |
$crop_media_path = $media_cache->crop_media( $media_url, $filter, true, $optimize );
|
114 |
|
115 |
return $attachment;
|
116 |
}
|
117 |
+
}
|
public/editor-build/144-wp/editor/css/editor.css
DELETED
@@ -1,8973 +0,0 @@
|
|
1 |
-
.brz-ow-hidden{overflow:hidden!important}
|
2 |
-
.brz-ow-visible{overflow:visible!important}
|
3 |
-
/*!
|
4 |
-
* Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com
|
5 |
-
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
6 |
-
*/@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:block;src:url(../fonts/fa-solid-900.eot);src:url(../fonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-solid-900.woff2) format("woff2"),url(../fonts/fa-solid-900.woff) format("woff"),url(../fonts/fa-solid-900.ttf) format("truetype"),url(../fonts/fa-solid-900.svg#fontawesome) format("svg")}
|
7 |
-
.fa,.fas{font-family:"Font Awesome 5 Free";font-weight:900}
|
8 |
-
/*!
|
9 |
-
* Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com
|
10 |
-
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
11 |
-
*/@font-face{font-family:'Font Awesome 5 Brands';font-style:normal;font-weight:400;font-display:block;src:url(../fonts/fa-brands-400.eot);src:url(../fonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-brands-400.woff2) format("woff2"),url(../fonts/fa-brands-400.woff) format("woff"),url(../fonts/fa-brands-400.ttf) format("truetype"),url(../fonts/fa-brands-400.svg#fontawesome) format("svg")}
|
12 |
-
.fab{font-family:'Font Awesome 5 Brands';font-weight:400}
|
13 |
-
@font-face{font-family:nunito;src:url(../fonts/nunito-regular-webfont.eot);src:url(../fonts/nunito-regular-webfont.eot?#iefix) format("embedded-opentype"),url(../fonts/nunito-regular-webfont.woff2) format("woff2"),url(../fonts/nunito-regular-webfont.woff) format("woff");font-weight:400;font-style:normal}
|
14 |
-
@font-face{font-family:nunito;src:url(../fonts/nunito-italic-webfont.eot);src:url(../fonts/nunito-italic-webfont.eot?#iefix) format("embedded-opentype"),url(../fonts/nunito-italic-webfont.woff2) format("woff2"),url(../fonts/nunito-italic-webfont.woff) format("woff");font-weight:400;font-style:italic}
|
15 |
-
@font-face{font-family:nunito;src:url(../fonts/nunito-semibold-webfont.eot);src:url(../fonts/nunito-semibold-webfont.eot?#iefix) format("embedded-opentype"),url(../fonts/nunito-semibold-webfont.woff2) format("woff2"),url(../fonts/nunito-semibold-webfont.woff) format("woff");font-weight:600;font-style:normal}
|
16 |
-
@font-face{font-family:nunito;src:url(../fonts/nunito-bold-webfont.eot);src:url(../fonts/nunito-bold-webfont.eot?#iefix) format("embedded-opentype"),url(../fonts/nunito-bold-webfont.woff2) format("woff2"),url(../fonts/nunito-bold-webfont.woff) format("woff");font-weight:700;font-style:normal}
|
17 |
-
.brz-ed-sorting{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:move}
|
18 |
-
.brz-ed-sorting *{pointer-events:none}
|
19 |
-
.brz-ed-sorting .brz-ed-draggable{display:none}
|
20 |
-
.brz-ed-sorting .sortable-hovered:not(.brz-ed-border__sortable):not(.brz-ed-container-trigger){position:relative}
|
21 |
-
.brz-ed-sorting .sortable-hovered.brz-ed-container-trigger{background-color:#03080f}
|
22 |
-
.brz-ed-sorting .sortable-hovered.brz-ed-container-trigger:after{opacity:1!important;background-color:#fff!important}
|
23 |
-
.brz-ed-sorting .sortable-chosen:after,.brz-ed-sorting .sortable-chosen:before{display:none}
|
24 |
-
.brz-ed-sorting .sortable-chosen :not(.brz-ed-border){visibility:hidden!important}
|
25 |
-
.brz-ed-sorting .sortable-chosen>.brz-ed-border.brz-ed-border--grey>.brz-ed-border__inner{border-color:#879294}
|
26 |
-
.brz-ed-sorting .sortable-chosen>.brz-ed-border.brz-ed-border--blue>.brz-ed-border__inner{border-color:#3dbfe8}
|
27 |
-
.brz-ed-sorting .sortable-chosen>.brz-ed-border.brz-ed-border--red>.brz-ed-border__inner{border-color:#ed2164}
|
28 |
-
.brz-ed-sorting .sortable-chosen>.brz-ed-border>.brz-ed-border__inner{top:-1px;bottom:-1px;visibility:visible!important}
|
29 |
-
.brz-ed-sorting .sortable-chosen.brz-columns__posts>.brz-ed-border>.brz-ed-border__inner{top:-2px;bottom:-2px}
|
30 |
-
.brz .brz-ed-sorting .sortable-receiver:not(.brz-ed-sortable--empty)>.brz-wrapper-clone,.brz-ed-sorting .brz .sortable-receiver:not(.brz-ed-sortable--empty)>.brz-wrapper-clone,.brz-ed-sorting .sortable-receiver:not(.brz-ed-sortable--empty)>.brz-row__container,.brz-ed-sorting .sortable-receiver:not(.brz-ed-sortable--empty)>.brz-wrapper,.brz-ed-sorting .sortable-receiver:not(.brz-ed-sortable--empty)>.brz-wrapper-clone{position:relative}
|
31 |
-
.brz .brz-ed-sorting .sortable-receiver:not(.brz-ed-sortable--empty)>.brz-wrapper-clone:after,.brz .brz-ed-sorting .sortable-receiver:not(.brz-ed-sortable--empty)>.brz-wrapper-clone:first-child:before,.brz .brz-ed-sorting .sortable-receiver:not(.brz-ed-sortable--empty)>.sortable-chosen.brz-wrapper-clone+div:before,.brz-ed-sorting .brz .sortable-receiver:not(.brz-ed-sortable--empty)>.brz-wrapper-clone:after,.brz-ed-sorting .brz .sortable-receiver:not(.brz-ed-sortable--empty)>.brz-wrapper-clone:first-child:before,.brz-ed-sorting .brz .sortable-receiver:not(.brz-ed-sortable--empty)>.sortable-chosen.brz-wrapper-clone+div:before,.brz-ed-sorting .sortable-receiver:not(.brz-ed-sortable--empty)>.brz-row__container.sortable-chosen+div:before,.brz-ed-sorting .sortable-receiver:not(.brz-ed-sortable--empty)>.brz-row__container:after,.brz-ed-sorting .sortable-receiver:not(.brz-ed-sortable--empty)>.brz-row__container:first-child:before,.brz-ed-sorting .sortable-receiver:not(.brz-ed-sortable--empty)>.brz-wrapper-clone.sortable-chosen+div:before,.brz-ed-sorting .sortable-receiver:not(.brz-ed-sortable--empty)>.brz-wrapper-clone:after,.brz-ed-sorting .sortable-receiver:not(.brz-ed-sortable--empty)>.brz-wrapper-clone:first-child:before,.brz-ed-sorting .sortable-receiver:not(.brz-ed-sortable--empty)>.brz-wrapper.sortable-chosen+div:before,.brz-ed-sorting .sortable-receiver:not(.brz-ed-sortable--empty)>.brz-wrapper:after,.brz-ed-sorting .sortable-receiver:not(.brz-ed-sortable--empty)>.brz-wrapper:first-child:before{content:"";height:2px;position:absolute;left:0;right:0;bottom:-1px;background-color:#879294;opacity:.3}
|
32 |
-
.brz .brz-ed-sorting .sortable-receiver:not(.brz-ed-sortable--empty)>.brz-wrapper-clone:first-child:before,.brz .brz-ed-sorting .sortable-receiver:not(.brz-ed-sortable--empty)>.sortable-chosen.brz-wrapper-clone+div:before,.brz-ed-sorting .brz .sortable-receiver:not(.brz-ed-sortable--empty)>.brz-wrapper-clone:first-child:before,.brz-ed-sorting .brz .sortable-receiver:not(.brz-ed-sortable--empty)>.sortable-chosen.brz-wrapper-clone+div:before,.brz-ed-sorting .sortable-receiver:not(.brz-ed-sortable--empty)>.brz-row__container.sortable-chosen+div:before,.brz-ed-sorting .sortable-receiver:not(.brz-ed-sortable--empty)>.brz-row__container:first-child:before,.brz-ed-sorting .sortable-receiver:not(.brz-ed-sortable--empty)>.brz-wrapper-clone.sortable-chosen+div:before,.brz-ed-sorting .sortable-receiver:not(.brz-ed-sortable--empty)>.brz-wrapper-clone:first-child:before,.brz-ed-sorting .sortable-receiver:not(.brz-ed-sortable--empty)>.brz-wrapper.sortable-chosen+div:before,.brz-ed-sorting .sortable-receiver:not(.brz-ed-sortable--empty)>.brz-wrapper:first-child:before{top:-1px;bottom:auto}
|
33 |
-
.brz-ed-sorting .sortable-receiver:not(.brz-ed-sortable--empty)>.brz-columns:not(.brz-columns__posts)>.brz-ed-border.brz-ed-border--grey>.brz-ed-border__inner{border-left-color:#879294;border-right-color:#879294}
|
34 |
-
.brz-ed-sorting .sortable-receiver:not(.brz-ed-sortable--empty)>.brz-columns:not(.brz-columns__posts)>.brz-ed-border.brz-ed-border--blue>.brz-ed-border__inner{border-left-color:#3dbfe8;border-right-color:#3dbfe8}
|
35 |
-
.brz-ed-sorting .sortable-receiver:not(.brz-ed-sortable--empty)>.brz-columns:not(.brz-columns__posts)>.brz-ed-border.brz-ed-border--red>.brz-ed-border__inner{border-left-color:#ed2164;border-right-color:#ed2164}
|
36 |
-
.brz-ed-sorting .sortable-receiver:not(.brz-ed-sortable--empty)>.brz-columns:not(.brz-columns__posts)>.brz-ed-border>.brz-ed-border__inner{top:-1px;bottom:-1px;-webkit-transition:none;transition:none}
|
37 |
-
.brz-ed-sorting .sortable-receiver:not(.brz-ed-sortable--empty).brz-row{margin-top:5px;margin-bottom:5px}
|
38 |
-
.brz-ed-sorting .sortable-hovered-top:not(.brz-ed-container-trigger):not(.brz-ed-border__sortable):before{opacity:1!important;-webkit-transform:scaleY(2);transform:scaleY(2);border-radius:4px}
|
39 |
-
.brz-ed-sorting .sortable-hovered-bottom:not(.brz-ed-container-trigger):not(.brz-ed-border__sortable):after{opacity:1!important;-webkit-transform:scaleY(2);transform:scaleY(2);border-radius:4px}
|
40 |
-
.brz-ed-sorting .sortable-hovered-left:after,.brz-ed-sorting .sortable-hovered-right:after{top:0;width:2px;height:100%}
|
41 |
-
.brz-ed-sorting .sortable-hovered-left>.brz-ed-border.brz-ed-border--grey>.brz-ed-border__inner{border-left-color:#879294}
|
42 |
-
.brz-ed-sorting .sortable-hovered-left>.brz-ed-border.brz-ed-border--blue>.brz-ed-border__inner{border-left-color:#3dbfe8}
|
43 |
-
.brz-ed-sorting .sortable-hovered-left>.brz-ed-border.brz-ed-border--red>.brz-ed-border__inner{border-left-color:#ed2164}
|
44 |
-
.brz-ed-sorting .sortable-hovered-left>.brz-ed-border>.brz-ed-border__inner{border-left-width:4px;border-radius:4px;-webkit-transition:none;transition:none;top:-2px!important;bottom:-2px!important;left:-1px!important}
|
45 |
-
.brz-ed-sorting .sortable-hovered-right>.brz-ed-border.brz-ed-border--grey>.brz-ed-border__inner{border-right-color:#879294}
|
46 |
-
.brz-ed-sorting .sortable-hovered-right>.brz-ed-border.brz-ed-border--blue>.brz-ed-border__inner{border-right-color:#3dbfe8}
|
47 |
-
.brz-ed-sorting .sortable-hovered-right>.brz-ed-border.brz-ed-border--red>.brz-ed-border__inner{border-right-color:#ed2164}
|
48 |
-
.brz-ed-sorting .sortable-hovered-right>.brz-ed-border>.brz-ed-border__inner{border-right-width:4px;border-radius:4px;-webkit-transition:none;transition:none;right:-3px!important;top:-2px!important;bottom:-2px!important}
|
49 |
-
.sortable-helper{width:30px;height:30px;border-radius:50%;background-color:#3dbfe8;cursor:move}
|
50 |
-
.sortable-placeholder{outline:1px solid #3dbfe8}
|
51 |
-
.brz-ed .brz-ed-sortable--empty{position:relative;min-height:125px;width:calc(100% - 20px);height:calc(100% - 20px);margin:10px}
|
52 |
-
.brz-ed .brz-ed-sortable--empty .brz-ed-border__inner{opacity:.6}
|
53 |
-
.brz-ed .brz-ed-sortable--empty .brz-ed-border--grey{border-color:#879294}
|
54 |
-
.brz-ed .brz-ed-sortable--empty .brz-ed-container-trigger{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);margin:0}
|
55 |
-
.brz{/*!
|
56 |
-
* animate.css -https://daneden.github.io/animate.css/
|
57 |
-
* Version - 3.7.2
|
58 |
-
* Licensed under the MIT license - http://opensource.org/licenses/MIT
|
59 |
-
*
|
60 |
-
* Copyright (c) 2019 Daniel Eden
|
61 |
-
*/}
|
62 |
-
html{-webkit-box-sizing:border-box;box-sizing:border-box}
|
63 |
-
*,:after,:before{-webkit-box-sizing:border-box;box-sizing:border-box}
|
64 |
-
@-ms-viewport{width:device-width}
|
65 |
-
.brz .brz-figcaption,.brz .brz-figure,.brz .brz-section{display:block}
|
66 |
-
body{margin:0}
|
67 |
-
body.brz-ed{background-color:#f3f3f3}
|
68 |
-
body.brz::after,body.brz::before{display:none}
|
69 |
-
.brz-iframe{margin:0;padding:0;border:0;font:inherit;font-size:100%;vertical-align:baseline}
|
70 |
-
.brz{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
|
71 |
-
.brz .brz-root__container.brz-reset-all{display:block;overflow:hidden;font-family:inherit}
|
72 |
-
.brz .brz-hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible;margin:0}
|
73 |
-
.brz .brz-h1,.brz .brz-h2,.brz .brz-h3,.brz .brz-h4,.brz .brz-h5,.brz .brz-h6{margin-top:0;margin-bottom:0;padding:0}
|
74 |
-
.brz .brz-p{margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0}
|
75 |
-
.brz .brz-span{float:none;margin:0;padding:0;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit}
|
76 |
-
.brz .brz-dl,.brz .brz-ol,.brz .brz-ul{margin:0;list-style:none;padding:0}
|
77 |
-
.brz .brz-ol .brz-ol,.brz .brz-ol .brz-ul,.brz .brz-ul .brz-ol,.brz .brz-ul .brz-ul{margin:0}
|
78 |
-
.brz .brz-dt{font-weight:700}
|
79 |
-
.brz .brz-dd{margin-bottom:.5rem;margin-left:0}
|
80 |
-
.brz .brz-blockquote{margin:0 0 1rem}
|
81 |
-
.brz .brz-dfn{font-style:italic}
|
82 |
-
.brz .brz-b,.brz .brz-strong{font-weight:700}
|
83 |
-
.brz .brz-a:not(.brz-btn){color:#3dbfe8;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects;-webkit-box-shadow:none;box-shadow:none}
|
84 |
-
.brz .brz-a:not(.brz-btn)[href]:hover{color:#1aabd8;-webkit-box-shadow:none;box-shadow:none;cursor:pointer}
|
85 |
-
.brz .brz-a:not(.brz-btn):active,.brz .brz-a:not(.brz-btn):focus,.brz .brz-a:not(.brz-btn):hover{outline:0}
|
86 |
-
.brz .brz-a.brz-btn[href]{text-decoration:none}
|
87 |
-
.brz .brz-figure{margin:0;min-width:auto;min-height:auto}
|
88 |
-
.brz .brz-img{vertical-align:middle;border-style:none}
|
89 |
-
.brz svg:not(:root){overflow:hidden}
|
90 |
-
.brz .brz-button,.brz .brz-input,.brz .brz-label,.brz .brz-textarea{-ms-touch-action:manipulation;touch-action:manipulation}
|
91 |
-
.brz .brz-table{border-collapse:collapse}
|
92 |
-
.brz .brz-caption{padding-top:.75rem;padding-bottom:.75rem;color:#828b92;text-align:left;caption-side:bottom}
|
93 |
-
.brz .brz-th{text-align:left}
|
94 |
-
.brz .brz-form{margin:0}
|
95 |
-
.brz .brz-label{display:inline-block;margin-bottom:0;font-weight:400}
|
96 |
-
.brz .brz-button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}
|
97 |
-
.brz .brz-button,.brz .brz-input,.brz .brz-optgroup,.brz .brz-select,.brz .brz-textarea{padding:0;margin:0;font-family:inherit;font-size:inherit;line-height:inherit}
|
98 |
-
.brz .brz-button,.brz .brz-input{overflow:visible}
|
99 |
-
.brz .brz-button,.brz .brz-select{text-transform:none}
|
100 |
-
.brz .brz-button{-webkit-appearance:button}
|
101 |
-
.brz .brz-button::-moz-focus-inner{padding:0;border-style:none}
|
102 |
-
.brz .brz-input[type=checkbox],.brz .brz-input[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}
|
103 |
-
.brz .brz-input[type=number]{-moz-appearance:textfield}
|
104 |
-
.brz .brz-input[type=date],.brz .brz-input[type=datetime-local],.brz .brz-input[type=month],.brz .brz-input[type=time]{-webkit-appearance:listbox}
|
105 |
-
.brz .brz-textarea{overflow:auto;resize:vertical}
|
106 |
-
.brz .brz-fieldset{min-width:0;padding:0;margin:0;border:0}
|
107 |
-
.brz .brz-iframe,.brz .brz-object{margin-bottom:0;max-width:100%}
|
108 |
-
.brz .brz-iframe{margin:0;padding:0;border:0;font:inherit;font-size:100%;vertical-align:baseline}
|
109 |
-
.brz [hidden]{display:none!important}
|
110 |
-
.brz .brz-reset-all{-ms-flex-line-pack:stretch;align-content:stretch;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-ms-flex-item-align:auto;align-self:auto;-webkit-animation-delay:0s;animation-delay:0s;-webkit-animation-direction:normal;animation-direction:normal;-webkit-animation-duration:0s;animation-duration:0s;-webkit-animation-fill-mode:none;animation-fill-mode:none;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-animation-name:none;animation-name:none;-webkit-animation-play-state:running;animation-play-state:running;-webkit-animation-timing-function:ease;animation-timing-function:ease;azimuth:center;-webkit-backface-visibility:visible;backface-visibility:visible;background-attachment:scroll;background-blend-mode:normal;background-clip:border-box;background-color:transparent;background-image:none;background-origin:padding-box;background-position:0 0;background-repeat:repeat;background-size:auto auto;block-size:auto;border-block-end-color:currentcolor;border-block-end-style:none;border-block-end-width:medium;border-block-start-color:currentcolor;border-block-start-style:none;border-block-start-width:medium;border-bottom-color:currentcolor;border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-style:none;border-bottom-width:medium;border-collapse:separate;border-image-outset:0s;border-image-repeat:stretch;border-image-slice:100%;border-image-source:none;border-image-width:1;border-inline-end-color:currentcolor;border-inline-end-style:none;border-inline-end-width:medium;border-inline-start-color:currentcolor;border-inline-start-style:none;border-inline-start-width:medium;border-left-color:currentcolor;border-left-style:none;border-left-width:medium;border-right-color:currentcolor;border-right-style:none;border-right-width:medium;border-spacing:0;border-top-color:currentcolor;border-top-left-radius:0;border-top-right-radius:0;border-top-style:none;border-top-width:medium;bottom:auto;-webkit-box-decoration-break:slice;box-decoration-break:slice;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:content-box;box-sizing:content-box;-webkit-column-break-after:auto;break-after:auto;-webkit-column-break-before:auto;break-before:auto;-webkit-column-break-inside:auto;break-inside:auto;caption-side:top;caret-color:auto;clear:none;clip:auto;-webkit-clip-path:none;clip-path:none;color:initial;-webkit-column-count:auto;-moz-column-count:auto;column-count:auto;-webkit-column-fill:balance;-moz-column-fill:balance;column-fill:balance;-webkit-column-gap:normal;-moz-column-gap:normal;column-gap:normal;-webkit-column-rule-color:currentcolor;-moz-column-rule-color:currentcolor;column-rule-color:currentcolor;-webkit-column-rule-style:none;-moz-column-rule-style:none;column-rule-style:none;-webkit-column-rule-width:medium;-moz-column-rule-width:medium;column-rule-width:medium;-webkit-column-span:none;-moz-column-span:none;column-span:none;-webkit-column-width:auto;-moz-column-width:auto;column-width:auto;content:normal;counter-increment:none;counter-reset:none;cursor:auto;display:inline;empty-cells:show;-webkit-filter:none;filter:none;-ms-flex-preferred-size:auto;flex-basis:auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-ms-flex-negative:1;flex-shrink:1;-ms-flex-wrap:nowrap;flex-wrap:nowrap;float:none;font-family:initial;-webkit-font-feature-settings:normal;font-feature-settings:normal;-webkit-font-kerning:auto;font-kerning:auto;-webkit-font-language-override:normal;font-language-override:normal;font-size:medium;font-size-adjust:none;font-stretch:normal;font-style:normal;font-synthesis:weight style;font-variant:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-east-asian:normal;-webkit-font-variant-ligatures:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;font-weight:400;grid-auto-columns:auto;grid-auto-flow:row;grid-auto-rows:auto;grid-column-end:auto;grid-column-gap:0;grid-column-start:auto;grid-row-end:auto;grid-row-gap:0;grid-row-start:auto;grid-template-areas:none;grid-template-columns:none;grid-template-rows:none;height:auto;-webkit-hyphens:manual;-ms-hyphens:manual;hyphens:manual;image-orientation:0deg;image-rendering:auto;image-resolution:1dppx;ime-mode:auto;inline-size:auto;isolation:auto;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;left:auto;letter-spacing:normal;line-break:auto;line-height:normal;list-style-image:none;list-style-position:outside;list-style-type:disc;-webkit-margin-after:0;margin-block-end:0;-webkit-margin-before:0;margin-block-start:0;margin-bottom:0;-webkit-margin-end:0;margin-inline-end:0;-webkit-margin-start:0;margin-inline-start:0;margin-left:0;margin-right:0;margin-top:0;-webkit-mask-clip:border-box;mask-clip:border-box;-webkit-mask-composite:add;mask-composite:add;-webkit-mask-image:none;mask-image:none;mask-mode:match-source;-webkit-mask-origin:border-box;mask-origin:border-box;-webkit-mask-position:0 0;mask-position:0 0;-webkit-mask-repeat:repeat;mask-repeat:repeat;-webkit-mask-size:auto;mask-size:auto;mask-type:luminance;max-height:none;max-width:none;min-block-size:0;min-height:0;min-inline-size:0;min-width:0;mix-blend-mode:normal;-o-object-fit:fill;object-fit:fill;-o-object-position:50% 50%;object-position:50% 50%;offset-block-end:auto;offset-block-start:auto;offset-inline-end:auto;offset-inline-start:auto;opacity:1;-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0;orphans:2;outline-color:initial;outline-offset:0;outline-style:none;outline-width:medium;overflow:visible;overflow-wrap:normal;overflow-x:visible;overflow-y:visible;-webkit-padding-after:0;padding-block-end:0;-webkit-padding-before:0;padding-block-start:0;padding-bottom:0;-webkit-padding-end:0;padding-inline-end:0;-webkit-padding-start:0;padding-inline-start:0;padding-left:0;padding-right:0;padding-top:0;page-break-after:auto;page-break-before:auto;page-break-inside:auto;-webkit-perspective:none;perspective:none;-webkit-perspective-origin:50% 50%;perspective-origin:50% 50%;pointer-events:auto;position:static;quotes:initial;resize:none;right:auto;ruby-align:space-around;ruby-merge:separate;ruby-position:over;scroll-behavior:auto;-ms-scroll-snap-coordinate:none;scroll-snap-coordinate:none;-ms-scroll-snap-destination:0 0;scroll-snap-destination:0 0;-ms-scroll-snap-points-x:none;scroll-snap-points-x:none;-ms-scroll-snap-points-y:none;scroll-snap-points-y:none;-ms-scroll-snap-type:none;scroll-snap-type:none;shape-image-threshold:0;shape-margin:0;shape-outside:none;-moz-tab-size:8;-o-tab-size:8;tab-size:8;table-layout:auto;text-align:initial;-moz-text-align-last:auto;text-align-last:auto;text-combine-upright:none;-webkit-text-decoration-color:currentcolor;text-decoration-color:currentcolor;-webkit-text-decoration-line:none;text-decoration-line:none;-webkit-text-decoration-style:solid;text-decoration-style:solid;-webkit-text-emphasis-color:currentcolor;text-emphasis-color:currentcolor;-webkit-text-emphasis-position:over;text-emphasis-position:over right;-webkit-text-emphasis-style:none;text-emphasis-style:none;text-indent:0;text-justify:auto;text-orientation:mixed;text-overflow:clip;text-rendering:auto;text-shadow:none;text-transform:none;text-underline-position:auto;top:auto;-ms-touch-action:auto;touch-action:auto;-webkit-transform:none;transform:none;transform-box:border-box;-webkit-transform-origin:50% 50% 0;transform-origin:50% 50% 0;-webkit-transform-style:flat;transform-style:flat;-webkit-transition-delay:0s;transition-delay:0s;-webkit-transition-duration:0s;transition-duration:0s;-webkit-transition-property:all;transition-property:all;-webkit-transition-timing-function:ease;transition-timing-function:ease;vertical-align:baseline;visibility:visible;white-space:normal;widows:2;width:auto;will-change:auto;word-break:normal;word-spacing:normal;word-wrap:normal;-webkit-writing-mode:horizontal-tb;-ms-writing-mode:lr-tb;writing-mode:horizontal-tb;z-index:auto;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none}
|
111 |
-
.brz .brz-h1,.brz .brz-h2,.brz .brz-h3,.brz .brz-h4,.brz .brz-h5,.brz .brz-h6{font-family:inherit;font-weight:700;line-height:1.2;color:inherit}
|
112 |
-
.brz .brz-h1{font-size:55px;font-weight:400}
|
113 |
-
.brz .brz-h2{font-size:40px}
|
114 |
-
.brz .brz-h3{font-size:32px}
|
115 |
-
.brz .brz-h4{font-size:26px}
|
116 |
-
.brz .brz-h5{font-size:19px}
|
117 |
-
.brz .brz-h6{font-size:14px}
|
118 |
-
.brz .brz-p{font-size:14px;font-weight:400}
|
119 |
-
.brz .brz-flex-xs-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}
|
120 |
-
.brz .brz-flex-xs-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}
|
121 |
-
.brz .brz-flex-xs-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}
|
122 |
-
.brz .brz-justify-content-xs-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}
|
123 |
-
.brz .brz-justify-content-xs-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}
|
124 |
-
.brz .brz-justify-content-xs-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}
|
125 |
-
.brz .brz-justify-content-xs-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}
|
126 |
-
.brz .brz-justify-content-xs-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}
|
127 |
-
.brz .brz-align-items-xs-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}
|
128 |
-
.brz .brz-align-items-xs-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}
|
129 |
-
.brz .brz-align-items-xs-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}
|
130 |
-
.brz .brz-align-items-xs-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}
|
131 |
-
.brz .brz-align-items-xs-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}
|
132 |
-
.brz .brz-col-first-xs{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}
|
133 |
-
.brz .brz-col-last-xs{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}
|
134 |
-
.brz .brz-align-self-xs-start{-ms-flex-item-align:start!important;align-self:flex-start!important}
|
135 |
-
.brz .brz-align-self-xs-end{-ms-flex-item-align:end!important;align-self:flex-end!important}
|
136 |
-
.brz .brz-align-self-xs-center{-ms-flex-item-align:center!important;align-self:center!important}
|
137 |
-
.brz .brz-align-self-xs-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}
|
138 |
-
.brz .brz-align-self-xs-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}
|
139 |
-
.brz .brz-flex-xs-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}
|
140 |
-
.brz .brz-flex-xs-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}
|
141 |
-
.brz .brz-align-content-xs-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}
|
142 |
-
.brz .brz-align-content-xs-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}
|
143 |
-
.brz .brz-align-content-xs-center{-ms-flex-line-pack:center!important;align-content:center!important}
|
144 |
-
.brz .brz-align-content-xs-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}
|
145 |
-
.brz .brz-align-content-xs-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}
|
146 |
-
.brz .brz-align-content-xs-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}
|
147 |
-
@media (min-width:480px){.brz .brz-flex-ms-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}
|
148 |
-
.brz .brz-flex-ms-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}
|
149 |
-
.brz .brz-flex-ms-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}
|
150 |
-
.brz .brz-justify-content-ms-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}
|
151 |
-
.brz .brz-justify-content-ms-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}
|
152 |
-
.brz .brz-justify-content-ms-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}
|
153 |
-
.brz .brz-justify-content-ms-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}
|
154 |
-
.brz .brz-justify-content-ms-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}
|
155 |
-
.brz .brz-align-items-ms-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}
|
156 |
-
.brz .brz-align-items-ms-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}
|
157 |
-
.brz .brz-align-items-ms-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}
|
158 |
-
.brz .brz-align-items-ms-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}
|
159 |
-
.brz .brz-align-items-ms-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}
|
160 |
-
.brz .brz-col-first-ms{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}
|
161 |
-
.brz .brz-col-last-ms{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}
|
162 |
-
.brz .brz-align-self-ms-start{-ms-flex-item-align:start!important;align-self:flex-start!important}
|
163 |
-
.brz .brz-align-self-ms-end{-ms-flex-item-align:end!important;align-self:flex-end!important}
|
164 |
-
.brz .brz-align-self-ms-center{-ms-flex-item-align:center!important;align-self:center!important}
|
165 |
-
.brz .brz-align-self-ms-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}
|
166 |
-
.brz .brz-align-self-ms-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}
|
167 |
-
.brz .brz-flex-ms-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}
|
168 |
-
.brz .brz-flex-ms-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}
|
169 |
-
.brz .brz-align-content-ms-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}
|
170 |
-
.brz .brz-align-content-ms-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}
|
171 |
-
.brz .brz-align-content-ms-center{-ms-flex-line-pack:center!important;align-content:center!important}
|
172 |
-
.brz .brz-align-content-ms-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}
|
173 |
-
.brz .brz-align-content-ms-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}
|
174 |
-
.brz .brz-align-content-ms-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}}@media (min-width:768px){.brz .brz-flex-sm-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}
|
175 |
-
.brz .brz-flex-sm-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}
|
176 |
-
.brz .brz-flex-sm-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}
|
177 |
-
.brz .brz-justify-content-sm-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}
|
178 |
-
.brz .brz-justify-content-sm-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}
|
179 |
-
.brz .brz-justify-content-sm-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}
|
180 |
-
.brz .brz-justify-content-sm-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}
|
181 |
-
.brz .brz-justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}
|
182 |
-
.brz .brz-align-items-sm-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}
|
183 |
-
.brz .brz-align-items-sm-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}
|
184 |
-
.brz .brz-align-items-sm-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}
|
185 |
-
.brz .brz-align-items-sm-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}
|
186 |
-
.brz .brz-align-items-sm-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}
|
187 |
-
.brz .brz-col-first-sm{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}
|
188 |
-
.brz .brz-col-last-sm{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}
|
189 |
-
.brz .brz-align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}
|
190 |
-
.brz .brz-align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}
|
191 |
-
.brz .brz-align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}
|
192 |
-
.brz .brz-align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}
|
193 |
-
.brz .brz-align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}
|
194 |
-
.brz .brz-flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}
|
195 |
-
.brz .brz-flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}
|
196 |
-
.brz .brz-align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}
|
197 |
-
.brz .brz-align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}
|
198 |
-
.brz .brz-align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}
|
199 |
-
.brz .brz-align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}
|
200 |
-
.brz .brz-align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}
|
201 |
-
.brz .brz-align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}}@media (min-width:992px){.brz .brz-flex-md-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}
|
202 |
-
.brz .brz-flex-md-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}
|
203 |
-
.brz .brz-flex-md-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}
|
204 |
-
.brz .brz-justify-content-md-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}
|
205 |
-
.brz .brz-justify-content-md-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}
|
206 |
-
.brz .brz-justify-content-md-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}
|
207 |
-
.brz .brz-justify-content-md-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}
|
208 |
-
.brz .brz-justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}
|
209 |
-
.brz .brz-align-items-md-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}
|
210 |
-
.brz .brz-align-items-md-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}
|
211 |
-
.brz .brz-align-items-md-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}
|
212 |
-
.brz .brz-align-items-md-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}
|
213 |
-
.brz .brz-align-items-md-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}
|
214 |
-
.brz .brz-col-first-md{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}
|
215 |
-
.brz .brz-col-last-md{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}
|
216 |
-
.brz .brz-align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}
|
217 |
-
.brz .brz-align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}
|
218 |
-
.brz .brz-align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}
|
219 |
-
.brz .brz-align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}
|
220 |
-
.brz .brz-align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}
|
221 |
-
.brz .brz-flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}
|
222 |
-
.brz .brz-flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}
|
223 |
-
.brz .brz-align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}
|
224 |
-
.brz .brz-align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}
|
225 |
-
.brz .brz-align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}
|
226 |
-
.brz .brz-align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}
|
227 |
-
.brz .brz-align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}
|
228 |
-
.brz .brz-align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}}@media (min-width:1200px){.brz .brz-flex-lg-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}
|
229 |
-
.brz .brz-flex-lg-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}
|
230 |
-
.brz .brz-flex-lg-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}
|
231 |
-
.brz .brz-justify-content-lg-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}
|
232 |
-
.brz .brz-justify-content-lg-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}
|
233 |
-
.brz .brz-justify-content-lg-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}
|
234 |
-
.brz .brz-justify-content-lg-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}
|
235 |
-
.brz .brz-justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}
|
236 |
-
.brz .brz-align-items-lg-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}
|
237 |
-
.brz .brz-align-items-lg-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}
|
238 |
-
.brz .brz-align-items-lg-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}
|
239 |
-
.brz .brz-align-items-lg-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}
|
240 |
-
.brz .brz-align-items-lg-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}
|
241 |
-
.brz .brz-col-first-lg{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}
|
242 |
-
.brz .brz-col-last-lg{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}
|
243 |
-
.brz .brz-align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}
|
244 |
-
.brz .brz-align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}
|
245 |
-
.brz .brz-align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}
|
246 |
-
.brz .brz-align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}
|
247 |
-
.brz .brz-align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}
|
248 |
-
.brz .brz-flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}
|
249 |
-
.brz .brz-flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}
|
250 |
-
.brz .brz-align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}
|
251 |
-
.brz .brz-align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}
|
252 |
-
.brz .brz-align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}
|
253 |
-
.brz .brz-align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}
|
254 |
-
.brz .brz-align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}
|
255 |
-
.brz .brz-align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}}@media (min-width:1400px){.brz .brz-flex-xl-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}
|
256 |
-
.brz .brz-flex-xl-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}
|
257 |
-
.brz .brz-flex-xl-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}
|
258 |
-
.brz .brz-justify-content-xl-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}
|
259 |
-
.brz .brz-justify-content-xl-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}
|
260 |
-
.brz .brz-justify-content-xl-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}
|
261 |
-
.brz .brz-justify-content-xl-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}
|
262 |
-
.brz .brz-justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}
|
263 |
-
.brz .brz-align-items-xl-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}
|
264 |
-
.brz .brz-align-items-xl-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}
|
265 |
-
.brz .brz-align-items-xl-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}
|
266 |
-
.brz .brz-align-items-xl-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}
|
267 |
-
.brz .brz-align-items-xl-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}
|
268 |
-
.brz .brz-col-first-xl{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}
|
269 |
-
.brz .brz-col-last-xl{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}
|
270 |
-
.brz .brz-align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}
|
271 |
-
.brz .brz-align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}
|
272 |
-
.brz .brz-align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}
|
273 |
-
.brz .brz-align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}
|
274 |
-
.brz .brz-align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}
|
275 |
-
.brz .brz-flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}
|
276 |
-
.brz .brz-flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}
|
277 |
-
.brz .brz-align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}
|
278 |
-
.brz .brz-align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}
|
279 |
-
.brz .brz-align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}
|
280 |
-
.brz .brz-align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}
|
281 |
-
.brz .brz-align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}
|
282 |
-
.brz .brz-align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}}.brz .brz-d-block{display:block!important}
|
283 |
-
.brz .brz-d-inline-block{display:inline-block!important}
|
284 |
-
.brz .brz-d-inline{display:inline!important}
|
285 |
-
.brz .brz-d-none{display:none!important}
|
286 |
-
.brz .brz-d-table{width:100%;display:table;position:relative}
|
287 |
-
.brz .brz-d-table-cell{display:table-cell}
|
288 |
-
.brz .brz-blocked{pointer-events:none}
|
289 |
-
.brz .brz-d-xs-flex{display:-webkit-box;display:-ms-flexbox;display:flex;min-width:0}
|
290 |
-
.brz .brz-d-xs-inline-flex{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}
|
291 |
-
@media (min-width:480px){.brz .brz-d-ms-flex{display:-webkit-box;display:-ms-flexbox;display:flex;min-width:0}
|
292 |
-
.brz .brz-d-ms-inline-flex{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}}@media (min-width:768px){.brz .brz-d-sm-flex{display:-webkit-box;display:-ms-flexbox;display:flex;min-width:0}
|
293 |
-
.brz .brz-d-sm-inline-flex{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}}@media (min-width:992px){.brz .brz-d-md-flex{display:-webkit-box;display:-ms-flexbox;display:flex;min-width:0}
|
294 |
-
.brz .brz-d-md-inline-flex{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}}@media (min-width:1200px){.brz .brz-d-lg-flex{display:-webkit-box;display:-ms-flexbox;display:flex;min-width:0}
|
295 |
-
.brz .brz-d-lg-inline-flex{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}}@media (min-width:1400px){.brz .brz-d-xl-flex{display:-webkit-box;display:-ms-flexbox;display:flex;min-width:0}
|
296 |
-
.brz .brz-d-xl-inline-flex{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}}.brz .brz-p-relative{position:relative!important}
|
297 |
-
.brz .brz-p-absolute{position:absolute!important}
|
298 |
-
.brz .brz-p-fixed{position:fixed!important}
|
299 |
-
.brz .brz-invisible{visibility:hidden!important}
|
300 |
-
.brz .brz-visible{visibility:visible!important}
|
301 |
-
.brz .brz-hidden-xs-up{display:none!important}
|
302 |
-
@media (max-width:479px){.brz .brz-hidden-xs-down{display:none!important}}.brz .brz-invisible-xs-up{visibility:hidden!important}
|
303 |
-
@media (max-width:479px){.brz .brz-invisible-xs-down{visibility:hidden!important}}.brz .brz-invisible-blur-xs-up .brz-bg-content{-webkit-filter:blur(3px);filter:blur(3px);opacity:.9}
|
304 |
-
@media (max-width:479px){.brz .brz-invisible-blur-xs-down .brz-bg-content{-webkit-filter:blur(3px);filter:blur(3px);opacity:.9}}@media (min-width:480px){.brz .brz-hidden-ms-up{display:none!important}}@media (max-width:767px){.brz .brz-hidden-ms-down{display:none!important}}@media (min-width:480px){.brz .brz-invisible-ms-up{visibility:hidden!important}}@media (max-width:767px){.brz .brz-invisible-ms-down{visibility:hidden!important}}@media (min-width:480px){.brz .brz-invisible-blur-ms-up .brz-bg-content{-webkit-filter:blur(3px);filter:blur(3px);opacity:.9}}@media (max-width:767px){.brz .brz-invisible-blur-ms-down .brz-bg-content{-webkit-filter:blur(3px);filter:blur(3px);opacity:.9}}@media (min-width:768px){.brz .brz-hidden-sm-up{display:none!important}}@media (max-width:991px){.brz .brz-hidden-sm-down{display:none!important}}@media (min-width:768px){.brz .brz-invisible-sm-up{visibility:hidden!important}}@media (max-width:991px){.brz .brz-invisible-sm-down{visibility:hidden!important}}@media (min-width:768px){.brz .brz-invisible-blur-sm-up .brz-bg-content{-webkit-filter:blur(3px);filter:blur(3px);opacity:.9}}@media (max-width:991px){.brz .brz-invisible-blur-sm-down .brz-bg-content{-webkit-filter:blur(3px);filter:blur(3px);opacity:.9}}@media (min-width:992px){.brz .brz-hidden-md-up{display:none!important}}@media (max-width:1199px){.brz .brz-hidden-md-down{display:none!important}}@media (min-width:992px){.brz .brz-invisible-md-up{visibility:hidden!important}}@media (max-width:1199px){.brz .brz-invisible-md-down{visibility:hidden!important}}@media (min-width:992px){.brz .brz-invisible-blur-md-up .brz-bg-content{-webkit-filter:blur(3px);filter:blur(3px);opacity:.9}}@media (max-width:1199px){.brz .brz-invisible-blur-md-down .brz-bg-content{-webkit-filter:blur(3px);filter:blur(3px);opacity:.9}}@media (min-width:1200px){.brz .brz-hidden-lg-up{display:none!important}}@media (max-width:1399px){.brz .brz-hidden-lg-down{display:none!important}}@media (min-width:1200px){.brz .brz-invisible-lg-up{visibility:hidden!important}}@media (max-width:1399px){.brz .brz-invisible-lg-down{visibility:hidden!important}}@media (min-width:1200px){.brz .brz-invisible-blur-lg-up .brz-bg-content{-webkit-filter:blur(3px);filter:blur(3px);opacity:.9}}@media (max-width:1399px){.brz .brz-invisible-blur-lg-down .brz-bg-content{-webkit-filter:blur(3px);filter:blur(3px);opacity:.9}}@media (min-width:1400px){.brz .brz-hidden-xl-up{display:none!important}}.brz .brz-hidden-xl-down{display:none!important}
|
305 |
-
@media (min-width:1400px){.brz .brz-invisible-xl-up{visibility:hidden!important}}.brz .brz-invisible-xl-down{visibility:hidden!important}
|
306 |
-
@media (min-width:1400px){.brz .brz-invisible-blur-xl-up .brz-bg-content{-webkit-filter:blur(3px);filter:blur(3px);opacity:.9}}.brz .brz-invisible-blur-xl-down .brz-bg-content{-webkit-filter:blur(3px);filter:blur(3px);opacity:.9}
|
307 |
-
.brz .brz-hidden{display:none!important}
|
308 |
-
.brz .brz-visible-print-block{display:none!important}
|
309 |
-
@media print{.brz .brz-visible-print-block{display:block!important}}.brz .brz-visible-print-inline{display:none!important}
|
310 |
-
@media print{.brz .brz-visible-print-inline{display:inline!important}}.brz .brz-visible-print-inline-block{display:none!important}
|
311 |
-
@media print{.brz .brz-visible-print-inline-block{display:inline-block!important}}@media print{.brz .brz-hidden-print{display:none!important}}.brz .brz-ow-hidden{overflow:hidden!important}
|
312 |
-
.brz .brz-ow-visible{overflow:visible!important}
|
313 |
-
.brz .brz-pointer-events-none{pointer-events:none!important}
|
314 |
-
.brz .brz-pointer-events-auto{pointer-events:auto!important}
|
315 |
-
.brz .brz-fw-100{font-weight:100!important}
|
316 |
-
.brz .brz-fw-200{font-weight:200!important}
|
317 |
-
.brz .brz-fw-300{font-weight:300!important}
|
318 |
-
.brz .brz-fw-400{font-weight:400!important}
|
319 |
-
.brz .brz-fw-500{font-weight:500!important}
|
320 |
-
.brz .brz-fw-600{font-weight:600!important}
|
321 |
-
.brz .brz-fw-700{font-weight:700!important}
|
322 |
-
.brz .brz-fw-800{font-weight:800!important}
|
323 |
-
.brz .brz-fw-900{font-weight:900!important}
|
324 |
-
.brz .brz--required{color:#ff0e0e;padding-left:5px}
|
325 |
-
@-webkit-keyframes bounce{20%,53%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}
|
326 |
-
40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}
|
327 |
-
70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}
|
328 |
-
90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}@keyframes bounce{20%,53%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}
|
329 |
-
40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}
|
330 |
-
70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}
|
331 |
-
90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}.brz .bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;transform-origin:center bottom}
|
332 |
-
@-webkit-keyframes flash{50%,from,to{opacity:1}
|
333 |
-
25%,75%{opacity:0}}@keyframes flash{50%,from,to{opacity:1}
|
334 |
-
25%,75%{opacity:0}}.brz .flash{-webkit-animation-name:flash;animation-name:flash}
|
335 |
-
@-webkit-keyframes pulse{from{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}
|
336 |
-
50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}
|
337 |
-
to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes pulse{from{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}
|
338 |
-
50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}
|
339 |
-
to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.brz .pulse{-webkit-animation-name:pulse;animation-name:pulse}
|
340 |
-
@-webkit-keyframes rubberBand{from{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}
|
341 |
-
30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}
|
342 |
-
40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}
|
343 |
-
50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}
|
344 |
-
65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}
|
345 |
-
75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}
|
346 |
-
to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes rubberBand{from{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}
|
347 |
-
30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}
|
348 |
-
40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}
|
349 |
-
50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}
|
350 |
-
65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}
|
351 |
-
75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}
|
352 |
-
to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.brz .rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}
|
353 |
-
@-webkit-keyframes shake{from,to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}
|
354 |
-
10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}
|
355 |
-
20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shake{from,to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}
|
356 |
-
10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}
|
357 |
-
20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.brz .shake{-webkit-animation-name:shake;animation-name:shake}
|
358 |
-
@-webkit-keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}
|
359 |
-
6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}
|
360 |
-
18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}
|
361 |
-
31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}
|
362 |
-
43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}
|
363 |
-
50%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}
|
364 |
-
6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}
|
365 |
-
18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}
|
366 |
-
31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}
|
367 |
-
43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}
|
368 |
-
50%{-webkit-transform:translateX(0);transform:translateX(0)}}.brz .headShake{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-name:headShake;animation-name:headShake}
|
369 |
-
@-webkit-keyframes swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}
|
370 |
-
40%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}
|
371 |
-
60%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}
|
372 |
-
80%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}
|
373 |
-
to{-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg)}}@keyframes swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}
|
374 |
-
40%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}
|
375 |
-
60%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}
|
376 |
-
80%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}
|
377 |
-
to{-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg)}}.brz .swing{-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}
|
378 |
-
@-webkit-keyframes tada{from{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}
|
379 |
-
10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}
|
380 |
-
30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}
|
381 |
-
40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}
|
382 |
-
to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes tada{from{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}
|
383 |
-
10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}
|
384 |
-
30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}
|
385 |
-
40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}
|
386 |
-
to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.brz .tada{-webkit-animation-name:tada;animation-name:tada}
|
387 |
-
@-webkit-keyframes wobble{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}
|
388 |
-
15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}
|
389 |
-
30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}
|
390 |
-
45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}
|
391 |
-
60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}
|
392 |
-
75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}
|
393 |
-
to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes wobble{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}
|
394 |
-
15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}
|
395 |
-
30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}
|
396 |
-
45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}
|
397 |
-
60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}
|
398 |
-
75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}
|
399 |
-
to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.brz .wobble{-webkit-animation-name:wobble;animation-name:wobble}
|
400 |
-
@-webkit-keyframes jello{11.1%,from,to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}
|
401 |
-
22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}
|
402 |
-
33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}
|
403 |
-
44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}
|
404 |
-
55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}
|
405 |
-
66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}
|
406 |
-
77.7%{-webkit-transform:skewX(.39062deg) skewY(.39062deg);transform:skewX(.39062deg) skewY(.39062deg)}
|
407 |
-
88.8%{-webkit-transform:skewX(-.19531deg) skewY(-.19531deg);transform:skewX(-.19531deg) skewY(-.19531deg)}}@keyframes jello{11.1%,from,to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}
|
408 |
-
22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}
|
409 |
-
33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}
|
410 |
-
44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}
|
411 |
-
55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}
|
412 |
-
66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}
|
413 |
-
77.7%{-webkit-transform:skewX(.39062deg) skewY(.39062deg);transform:skewX(.39062deg) skewY(.39062deg)}
|
414 |
-
88.8%{-webkit-transform:skewX(-.19531deg) skewY(-.19531deg);transform:skewX(-.19531deg) skewY(-.19531deg)}}.brz .jello{-webkit-animation-name:jello;animation-name:jello;-webkit-transform-origin:center;transform-origin:center}
|
415 |
-
@-webkit-keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}
|
416 |
-
14%{-webkit-transform:scale(1.3);transform:scale(1.3)}
|
417 |
-
28%{-webkit-transform:scale(1);transform:scale(1)}
|
418 |
-
42%{-webkit-transform:scale(1.3);transform:scale(1.3)}
|
419 |
-
70%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}
|
420 |
-
14%{-webkit-transform:scale(1.3);transform:scale(1.3)}
|
421 |
-
28%{-webkit-transform:scale(1);transform:scale(1)}
|
422 |
-
42%{-webkit-transform:scale(1.3);transform:scale(1.3)}
|
423 |
-
70%{-webkit-transform:scale(1);transform:scale(1)}}.brz .heartBeat{-webkit-animation-name:heartBeat;animation-name:heartBeat;-webkit-animation-duration:1.3s;animation-duration:1.3s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}
|
424 |
-
@-webkit-keyframes bounceIn{20%,40%,60%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}
|
425 |
-
0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}
|
426 |
-
20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}
|
427 |
-
40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}
|
428 |
-
60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}
|
429 |
-
80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}
|
430 |
-
to{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes bounceIn{20%,40%,60%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}
|
431 |
-
0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}
|
432 |
-
20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}
|
433 |
-
40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}
|
434 |
-
60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}
|
435 |
-
80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}
|
436 |
-
to{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.brz .bounceIn{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-name:bounceIn;animation-name:bounceIn}
|
437 |
-
@-webkit-keyframes bounceInDown{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}
|
438 |
-
0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}
|
439 |
-
60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}
|
440 |
-
75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}
|
441 |
-
90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}
|
442 |
-
to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes bounceInDown{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}
|
443 |
-
0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}
|
444 |
-
60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}
|
445 |
-
75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}
|
446 |
-
90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}
|
447 |
-
to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.brz .bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}
|
448 |
-
@-webkit-keyframes bounceInLeft{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}
|
449 |
-
0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}
|
450 |
-
60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}
|
451 |
-
75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}
|
452 |
-
90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}
|
453 |
-
to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes bounceInLeft{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}
|
454 |
-
0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}
|
455 |
-
60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}
|
456 |
-
75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}
|
457 |
-
90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}
|
458 |
-
to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.brz .bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}
|
459 |
-
@-webkit-keyframes bounceInRight{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}
|
460 |
-
from{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}
|
461 |
-
60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}
|
462 |
-
75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}
|
463 |
-
90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}
|
464 |
-
to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes bounceInRight{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}
|
465 |
-
from{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}
|
466 |
-
60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}
|
467 |
-
75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}
|
468 |
-
90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}
|
469 |
-
to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.brz .bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}
|
470 |
-
@-webkit-keyframes bounceInUp{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}
|
471 |
-
from{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}
|
472 |
-
60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}
|
473 |
-
75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}
|
474 |
-
90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}
|
475 |
-
to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes bounceInUp{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}
|
476 |
-
from{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}
|
477 |
-
60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}
|
478 |
-
75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}
|
479 |
-
90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}
|
480 |
-
to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.brz .bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}
|
481 |
-
@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}
|
482 |
-
50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}
|
483 |
-
to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}
|
484 |
-
50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}
|
485 |
-
to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}.brz .bounceOut{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-name:bounceOut;animation-name:bounceOut}
|
486 |
-
@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}
|
487 |
-
40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}
|
488 |
-
to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}
|
489 |
-
40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}
|
490 |
-
to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.brz .bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}
|
491 |
-
@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}
|
492 |
-
to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}
|
493 |
-
to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.brz .bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}
|
494 |
-
@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}
|
495 |
-
to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}
|
496 |
-
to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.brz .bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}
|
497 |
-
@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}
|
498 |
-
40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}
|
499 |
-
to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}
|
500 |
-
40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}
|
501 |
-
to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.brz .bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}
|
502 |
-
@-webkit-keyframes fadeIn{from{opacity:0}
|
503 |
-
to{opacity:1}}@keyframes fadeIn{from{opacity:0}
|
504 |
-
to{opacity:1}}.brz .fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}
|
505 |
-
@-webkit-keyframes fadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}
|
506 |
-
to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes fadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}
|
507 |
-
to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.brz .fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}
|
508 |
-
@-webkit-keyframes fadeInDownBig{from{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}
|
509 |
-
to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes fadeInDownBig{from{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}
|
510 |
-
to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.brz .fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}
|
511 |
-
@-webkit-keyframes fadeInLeft{from{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}
|
512 |
-
to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes fadeInLeft{from{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}
|
513 |
-
to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.brz .fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}
|
514 |
-
@-webkit-keyframes fadeInLeftBig{from{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}
|
515 |
-
to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes fadeInLeftBig{from{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}
|
516 |
-
to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.brz .fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}
|
517 |
-
@-webkit-keyframes fadeInRight{from{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}
|
518 |
-
to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes fadeInRight{from{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}
|
519 |
-
to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.brz .fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}
|
520 |
-
@-webkit-keyframes fadeInRightBig{from{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}
|
521 |
-
to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes fadeInRightBig{from{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}
|
522 |
-
to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.brz .fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}
|
523 |
-
@-webkit-keyframes fadeInUp{from{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}
|
524 |
-
to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes fadeInUp{from{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}
|
525 |
-
to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.brz .fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}
|
526 |
-
@-webkit-keyframes fadeInUpBig{from{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}
|
527 |
-
to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes fadeInUpBig{from{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}
|
528 |
-
to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.brz .fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}
|
529 |
-
@-webkit-keyframes fadeOut{from{opacity:1}
|
530 |
-
to{opacity:0}}@keyframes fadeOut{from{opacity:1}
|
531 |
-
to{opacity:0}}.brz .fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}
|
532 |
-
@-webkit-keyframes fadeOutDown{from{opacity:1}
|
533 |
-
to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{from{opacity:1}
|
534 |
-
to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.brz .fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}
|
535 |
-
@-webkit-keyframes fadeOutDownBig{from{opacity:1}
|
536 |
-
to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{from{opacity:1}
|
537 |
-
to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.brz .fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}
|
538 |
-
@-webkit-keyframes fadeOutLeft{from{opacity:1}
|
539 |
-
to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{from{opacity:1}
|
540 |
-
to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.brz .fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}
|
541 |
-
@-webkit-keyframes fadeOutLeftBig{from{opacity:1}
|
542 |
-
to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{from{opacity:1}
|
543 |
-
to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.brz .fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}
|
544 |
-
@-webkit-keyframes fadeOutRight{from{opacity:1}
|
545 |
-
to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{from{opacity:1}
|
546 |
-
to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.brz .fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}
|
547 |
-
@-webkit-keyframes fadeOutRightBig{from{opacity:1}
|
548 |
-
to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{from{opacity:1}
|
549 |
-
to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.brz .fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}
|
550 |
-
@-webkit-keyframes fadeOutUp{from{opacity:1}
|
551 |
-
to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{from{opacity:1}
|
552 |
-
to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.brz .fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}
|
553 |
-
@-webkit-keyframes fadeOutUpBig{from{opacity:1}
|
554 |
-
to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{from{opacity:1}
|
555 |
-
to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.brz .fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}
|
556 |
-
@-webkit-keyframes flip{from{-webkit-transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,0) rotate3d(0,1,0,-360deg);transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,0) rotate3d(0,1,0,-360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}
|
557 |
-
40%{-webkit-transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}
|
558 |
-
50%{-webkit-transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}
|
559 |
-
80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translate3d(0,0,0) rotate3d(0,1,0,0deg);transform:perspective(400px) scale3d(.95,.95,.95) translate3d(0,0,0) rotate3d(0,1,0,0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}
|
560 |
-
to{-webkit-transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,0) rotate3d(0,1,0,0deg);transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,0) rotate3d(0,1,0,0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{from{-webkit-transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,0) rotate3d(0,1,0,-360deg);transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,0) rotate3d(0,1,0,-360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}
|
561 |
-
40%{-webkit-transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}
|
562 |
-
50%{-webkit-transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}
|
563 |
-
80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translate3d(0,0,0) rotate3d(0,1,0,0deg);transform:perspective(400px) scale3d(.95,.95,.95) translate3d(0,0,0) rotate3d(0,1,0,0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}
|
564 |
-
to{-webkit-transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,0) rotate3d(0,1,0,0deg);transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,0) rotate3d(0,1,0,0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.brz .animated.flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}
|
565 |
-
@-webkit-keyframes flipInX{from{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}
|
566 |
-
40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}
|
567 |
-
60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}
|
568 |
-
80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}
|
569 |
-
to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{from{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}
|
570 |
-
40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}
|
571 |
-
60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}
|
572 |
-
80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}
|
573 |
-
to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.brz .flipInX{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}
|
574 |
-
@-webkit-keyframes flipInY{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}
|
575 |
-
40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}
|
576 |
-
60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}
|
577 |
-
80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}
|
578 |
-
to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}
|
579 |
-
40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}
|
580 |
-
60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}
|
581 |
-
80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}
|
582 |
-
to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.brz .flipInY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}
|
583 |
-
@-webkit-keyframes flipOutX{from{-webkit-transform:perspective(400px);transform:perspective(400px)}
|
584 |
-
30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}
|
585 |
-
to{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}@keyframes flipOutX{from{-webkit-transform:perspective(400px);transform:perspective(400px)}
|
586 |
-
30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}
|
587 |
-
to{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}.brz .flipOutX{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}
|
588 |
-
@-webkit-keyframes flipOutY{from{-webkit-transform:perspective(400px);transform:perspective(400px)}
|
589 |
-
30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}
|
590 |
-
to{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}@keyframes flipOutY{from{-webkit-transform:perspective(400px);transform:perspective(400px)}
|
591 |
-
30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}
|
592 |
-
to{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}.brz .flipOutY{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY}
|
593 |
-
@-webkit-keyframes lightSpeedIn{from{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}
|
594 |
-
60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}
|
595 |
-
80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}
|
596 |
-
to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes lightSpeedIn{from{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}
|
597 |
-
60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}
|
598 |
-
80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}
|
599 |
-
to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.brz .lightSpeedIn{-webkit-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}
|
600 |
-
@-webkit-keyframes lightSpeedOut{from{opacity:1}
|
601 |
-
to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}@keyframes lightSpeedOut{from{opacity:1}
|
602 |
-
to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}.brz .lightSpeedOut{-webkit-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}
|
603 |
-
@-webkit-keyframes rotateIn{from{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,-200deg);transform:rotate3d(0,0,1,-200deg);opacity:0}
|
604 |
-
to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes rotateIn{from{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,-200deg);transform:rotate3d(0,0,1,-200deg);opacity:0}
|
605 |
-
to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}.brz .rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}
|
606 |
-
@-webkit-keyframes rotateInDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}
|
607 |
-
to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes rotateInDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}
|
608 |
-
to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}.brz .rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}
|
609 |
-
@-webkit-keyframes rotateInDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}
|
610 |
-
to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes rotateInDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}
|
611 |
-
to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}.brz .rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}
|
612 |
-
@-webkit-keyframes rotateInUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}
|
613 |
-
to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes rotateInUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}
|
614 |
-
to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}.brz .rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}
|
615 |
-
@-webkit-keyframes rotateInUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-90deg);transform:rotate3d(0,0,1,-90deg);opacity:0}
|
616 |
-
to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes rotateInUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-90deg);transform:rotate3d(0,0,1,-90deg);opacity:0}
|
617 |
-
to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}.brz .rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}
|
618 |
-
@-webkit-keyframes rotateOut{from{-webkit-transform-origin:center;transform-origin:center;opacity:1}
|
619 |
-
to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,200deg);transform:rotate3d(0,0,1,200deg);opacity:0}}@keyframes rotateOut{from{-webkit-transform-origin:center;transform-origin:center;opacity:1}
|
620 |
-
to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,200deg);transform:rotate3d(0,0,1,200deg);opacity:0}}.brz .rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}
|
621 |
-
@-webkit-keyframes rotateOutDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}
|
622 |
-
to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}}@keyframes rotateOutDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}
|
623 |
-
to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}}.brz .rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}
|
624 |
-
@-webkit-keyframes rotateOutDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}
|
625 |
-
to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}@keyframes rotateOutDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}
|
626 |
-
to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}.brz .rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}
|
627 |
-
@-webkit-keyframes rotateOutUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}
|
628 |
-
to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}@keyframes rotateOutUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}
|
629 |
-
to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}.brz .rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}
|
630 |
-
@-webkit-keyframes rotateOutUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}
|
631 |
-
to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,90deg);transform:rotate3d(0,0,1,90deg);opacity:0}}@keyframes rotateOutUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}
|
632 |
-
to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,90deg);transform:rotate3d(0,0,1,90deg);opacity:0}}.brz .rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}
|
633 |
-
@-webkit-keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}
|
634 |
-
20%,60%{-webkit-transform:rotate3d(0,0,1,80deg);transform:rotate3d(0,0,1,80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}
|
635 |
-
40%,80%{-webkit-transform:rotate3d(0,0,1,60deg);transform:rotate3d(0,0,1,60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}
|
636 |
-
to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}
|
637 |
-
20%,60%{-webkit-transform:rotate3d(0,0,1,80deg);transform:rotate3d(0,0,1,80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}
|
638 |
-
40%,80%{-webkit-transform:rotate3d(0,0,1,60deg);transform:rotate3d(0,0,1,60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}
|
639 |
-
to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.brz .hinge{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-name:hinge;animation-name:hinge}
|
640 |
-
@-webkit-keyframes jackInTheBox{from{opacity:0;-webkit-transform:scale(.1) rotate(30deg);transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;transform-origin:center bottom}
|
641 |
-
50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}
|
642 |
-
70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}
|
643 |
-
to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes jackInTheBox{from{opacity:0;-webkit-transform:scale(.1) rotate(30deg);transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;transform-origin:center bottom}
|
644 |
-
50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}
|
645 |
-
70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}
|
646 |
-
to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.brz .jackInTheBox{-webkit-animation-name:jackInTheBox;animation-name:jackInTheBox}
|
647 |
-
@-webkit-keyframes rollIn{from{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}
|
648 |
-
to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes rollIn{from{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}
|
649 |
-
to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.brz .rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}
|
650 |
-
@-webkit-keyframes rollOut{from{opacity:1}
|
651 |
-
to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}@keyframes rollOut{from{opacity:1}
|
652 |
-
to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}.brz .rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}
|
653 |
-
@-webkit-keyframes zoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}
|
654 |
-
50%{opacity:1}}@keyframes zoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}
|
655 |
-
50%{opacity:1}}.brz .zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}
|
656 |
-
@-webkit-keyframes zoomInDown{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}
|
657 |
-
60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInDown{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}
|
658 |
-
60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.brz .zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}
|
659 |
-
@-webkit-keyframes zoomInLeft{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}
|
660 |
-
60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInLeft{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}
|
661 |
-
60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.brz .zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}
|
662 |
-
@-webkit-keyframes zoomInRight{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}
|
663 |
-
60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInRight{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}
|
664 |
-
60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.brz .zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}
|
665 |
-
@-webkit-keyframes zoomInUp{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}
|
666 |
-
60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInUp{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}
|
667 |
-
60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.brz .zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}
|
668 |
-
@-webkit-keyframes zoomOut{from{opacity:1}
|
669 |
-
50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}
|
670 |
-
to{opacity:0}}@keyframes zoomOut{from{opacity:1}
|
671 |
-
50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}
|
672 |
-
to{opacity:0}}.brz .zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}
|
673 |
-
@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}
|
674 |
-
to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}
|
675 |
-
to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.brz .zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}
|
676 |
-
@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}
|
677 |
-
to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}
|
678 |
-
to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}.brz .zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}
|
679 |
-
@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}
|
680 |
-
to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}
|
681 |
-
to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}.brz .zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}
|
682 |
-
@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}
|
683 |
-
to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}
|
684 |
-
to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.brz .zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}
|
685 |
-
@-webkit-keyframes slideInDown{from{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}
|
686 |
-
to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInDown{from{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}
|
687 |
-
to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.brz .slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}
|
688 |
-
@-webkit-keyframes slideInLeft{from{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}
|
689 |
-
to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInLeft{from{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}
|
690 |
-
to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.brz .slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}
|
691 |
-
@-webkit-keyframes slideInRight{from{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}
|
692 |
-
to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInRight{from{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}
|
693 |
-
to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.brz .slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}
|
694 |
-
@-webkit-keyframes slideInUp{from{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}
|
695 |
-
to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInUp{from{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}
|
696 |
-
to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.brz .slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}
|
697 |
-
@-webkit-keyframes slideOutDown{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}
|
698 |
-
to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes slideOutDown{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}
|
699 |
-
to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.brz .slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}
|
700 |
-
@-webkit-keyframes slideOutLeft{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}
|
701 |
-
to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes slideOutLeft{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}
|
702 |
-
to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.brz .slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}
|
703 |
-
@-webkit-keyframes slideOutRight{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}
|
704 |
-
to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes slideOutRight{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}
|
705 |
-
to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.brz .slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}
|
706 |
-
@-webkit-keyframes slideOutUp{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}
|
707 |
-
to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes slideOutUp{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}
|
708 |
-
to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.brz .slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}
|
709 |
-
.brz .animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}
|
710 |
-
.brz .animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}
|
711 |
-
.brz .animated.delay-1s{-webkit-animation-delay:1s;animation-delay:1s}
|
712 |
-
.brz .animated.delay-2s{-webkit-animation-delay:2s;animation-delay:2s}
|
713 |
-
.brz .animated.delay-3s{-webkit-animation-delay:3s;animation-delay:3s}
|
714 |
-
.brz .animated.delay-4s{-webkit-animation-delay:4s;animation-delay:4s}
|
715 |
-
.brz .animated.delay-5s{-webkit-animation-delay:5s;animation-delay:5s}
|
716 |
-
.brz .animated.fast{-webkit-animation-duration:.8s;animation-duration:.8s}
|
717 |
-
.brz .animated.faster{-webkit-animation-duration:.5s;animation-duration:.5s}
|
718 |
-
.brz .animated.slow{-webkit-animation-duration:2s;animation-duration:2s}
|
719 |
-
.brz .animated.slower{-webkit-animation-duration:3s;animation-duration:3s}
|
720 |
-
@media (print),(prefers-reduced-motion:reduce){.brz .animated{-webkit-animation-duration:1ms!important;animation-duration:1ms!important;-webkit-transition-duration:1ms!important;transition-duration:1ms!important;-webkit-animation-iteration-count:1!important;animation-iteration-count:1!important}}.brz .brz-animated{opacity:0;-webkit-animation-fill-mode:backwards;animation-fill-mode:backwards}
|
721 |
-
.brz .brz-animated.brz-animate{opacity:1}
|
722 |
-
.brz .brz-icon-svg{display:inline-block;width:1em;height:1em;stroke:none;max-width:none;position:relative;fill:currentColor;color:currentColor}
|
723 |
-
.brz .brz-icon-svg use{fill:inherit}
|
724 |
-
.brz .brz-icon-svg.grid-16{height:16px;width:16px}
|
725 |
-
.brz .brz-icon-svg.grid-24{height:24px;width:24px}
|
726 |
-
.brz .brz-icon-svg.glyph{fill:currentColor;stroke:none}
|
727 |
-
.brz .brz-icon-svg.outline{stroke:currentColor;fill:none}
|
728 |
-
.brz .brz-icon-svg.outline.stroke-2{stroke-width:2px}
|
729 |
-
.brz .brz-section{position:relative;margin:0;padding:0;overflow:visible}
|
730 |
-
.brz .brz-section__content{position:relative;width:100%}
|
731 |
-
.brz .brz-section__content>.brz-bg{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:inherit;-ms-flex-align:inherit;align-items:inherit;width:100%;height:100%}
|
732 |
-
.brz .brz-section__content>.brz-bg>.brz-bg-content{height:100%}
|
733 |
-
.brz .brz-section__content>.brz-ed-border{width:100%}
|
734 |
-
.brz .brz-section__items{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;width:100%}
|
735 |
-
.brz .brz-section__items .brz-section__content>.brz-bg{width:100%;-webkit-box-flex:1;-ms-flex:1;flex:1}
|
736 |
-
.brz .brz-section>.brz-slick-slider:not(.slick-initialized)>.brz-section__items:not(:first-child){display:none}
|
737 |
-
.brz .brz-section>.brz-slick-slider>.slick-list>.slick-track>.slick-slide .brz-section__content>.brz-bg>.brz-bg-content{height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}
|
738 |
-
.brz .brz-sec-full-height .brz-container__wrap,.brz .brz-sec-full-height .brz-container__wrap--fluid{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;min-height:100vh}
|
739 |
-
.brz .brz-section__header>.brz-section__menu-item{position:relative;z-index:1055}
|
740 |
-
.brz .brz-section__header--animated{position:fixed;z-index:1056;top:0;left:0;width:100%;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);opacity:0;-webkit-transition:none;transition:none}
|
741 |
-
.brz .brz-section__header--animated-opened{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1;-webkit-transition:opacity .2s linear,-webkit-transform .2s linear;transition:opacity .2s linear,-webkit-transform .2s linear;transition:transform .2s linear,opacity .2s linear;transition:transform .2s linear,opacity .2s linear,-webkit-transform .2s linear}
|
742 |
-
.brz .brz-section__header--animated-closed{-webkit-transition:opacity .2s linear,-webkit-transform .2s linear;transition:opacity .2s linear,-webkit-transform .2s linear;transition:transform .2s linear,opacity .2s linear;transition:transform .2s linear,opacity .2s linear,-webkit-transform .2s linear}
|
743 |
-
.brz .brz-section__header--fixed{position:relative;z-index:1055}
|
744 |
-
.brz .brz-section__header--fixed-opened{position:fixed;z-index:1056;top:0;left:0;width:100%}
|
745 |
-
.brz .brz-popup__inner{height:100%}
|
746 |
-
.brz .brz-footer>.brz-bg{-ms-flex-wrap:wrap;flex-wrap:wrap;height:100%}
|
747 |
-
.brz .brz-container,.brz .brz-container__wrap{margin-left:auto;margin-right:auto;width:100%}
|
748 |
-
.brz .brz-container__wrap{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}
|
749 |
-
.brz .brz-row{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;text-align:left}
|
750 |
-
.brz .brz-row__container{position:relative;text-align:center;font-size:0}
|
751 |
-
.brz .brz-row__container .brz-link-container{position:absolute;height:100%;width:100%;top:0;left:0}
|
752 |
-
.brz .brz-row__bg{margin-left:auto;margin-right:auto;width:100%;font-size:initial}
|
753 |
-
.brz .brz-columns{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-height:1px;-ms-flex-preferred-size:100%;flex-basis:100%;will-change:flex,max-width}
|
754 |
-
.brz .brz-columns>.brz-bg{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;min-width:0}
|
755 |
-
.brz .brz-columns .brz-container-link{position:absolute;height:100%;width:100%;top:0;left:0}
|
756 |
-
.brz .brz-wrapper,.brz .brz-wrapper-clone{border-top:1px solid transparent;border-bottom:1px solid transparent;margin-top:-1px;margin-bottom:-1px}
|
757 |
-
.brz .brz-wrapper-clone__wrap{height:100%}
|
758 |
-
.brz .brz-wrapper-clone__wrap>div{-webkit-box-align:center;-ms-flex-align:center;align-items:center}
|
759 |
-
.brz .brz-wrapper-clone__wrap:after{content:"";display:table}
|
760 |
-
.brz .brz-wrapper-clone__wrap .brz-flex-xs-wrap{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}
|
761 |
-
.brz .brz-wrapper-clone__item{position:relative;min-height:1px;-ms-flex-preferred-size:auto;flex-basis:auto}
|
762 |
-
.brz .brz-bg{position:relative}
|
763 |
-
.brz .brz-bg-content{position:relative;-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0}
|
764 |
-
.brz .brz-bg-media{overflow:hidden}
|
765 |
-
.brz .brz-bg-color,.brz .brz-bg-image,.brz .brz-bg-map,.brz .brz-bg-media,.brz .brz-bg-video{position:absolute;top:0;left:0;width:100%;height:100%}
|
766 |
-
.brz .brz-bg-image{background-repeat:no-repeat;background-size:cover}
|
767 |
-
.brz.brz-is-mobile .brz-bg-media>.brz-bg-image{background-attachment:scroll}
|
768 |
-
.brz .brz-iframe.brz-bg-map__cover,.brz .brz-iframe.brz-bg-video__cover{position:absolute;top:0;left:0;width:100%;height:100%;border:none;max-width:none;background-repeat:no-repeat;background-size:cover}
|
769 |
-
.brz .brz-bg-color{opacity:1}
|
770 |
-
.brz .brz-bg-shape{width:100%;height:100px;position:absolute;left:0;right:0;background-repeat:no-repeat;pointer-events:none}
|
771 |
-
.brz .brz-bg-shape__top{top:0}
|
772 |
-
.brz .brz-bg-shape__bottom{bottom:0;-webkit-transform:rotateX(180deg);transform:rotateX(180deg)}
|
773 |
-
.brz .brz-bg-image-parallax,.brz .brz-ed.brz-ed--desktop .brz-bg-image-parallax,.brz-ed.brz-ed--desktop .brz .brz-bg-image-parallax{width:100%;background-size:cover!important;background-position:50% 50%;left:0;top:-50vh;height:100vh;-webkit-transition:all 0s ease!important;transition:all 0s ease!important;-webkit-transform-origin:center center 0;transform-origin:center center 0;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}
|
774 |
-
@media (max-width:991px){.brz .brz-bg-video .brz-iframe{display:none!important}}.brz .brz-btn{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:1px solid #ccc;-webkit-transition:background .3s ease,color .3s ease,border-color .3s ease;transition:background .3s ease,color .3s ease,border-color .3s ease;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;color:#fff;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none;background-image:none;white-space:nowrap;font-weight:400;-webkit-backface-visibility:hidden;backface-visibility:hidden;text-decoration:none}
|
775 |
-
.brz .brz-btn.focus,.brz .brz-btn:focus,.brz .brz-btn:hover{text-decoration:none}
|
776 |
-
.brz .brz-btn:focus{text-decoration:none}
|
777 |
-
.brz .brz-btn .brz-span{display:block}
|
778 |
-
.brz .brz-btn .brz-icon-svg{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto}
|
779 |
-
.brz .buttons{margin:-10px;-webkit-box-align:center;-ms-flex-align:center;align-items:center}
|
780 |
-
.brz .buttons .brz-wrapper-clone__item{padding:10px}
|
781 |
-
.brz .brz-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;vertical-align:middle;max-width:100%;-webkit-transition:background .3s ease,color .3s ease,border-color .3s ease;transition:background .3s ease,color .3s ease,border-color .3s ease}
|
782 |
-
.brz .brz-list{margin:-6px;-webkit-box-align:center;-ms-flex-align:center;align-items:center}
|
783 |
-
.brz .brz-list .brz-list__item{padding:6px}
|
784 |
-
.brz .brz-countdown{display:-webkit-box;display:-ms-flexbox;display:flex}
|
785 |
-
.brz .brz-countdown__item{-webkit-box-flex:1;-ms-flex:1 0 25%;flex:1 0 25%;text-align:center;padding-left:15px;padding-right:15px;word-break:break-word;word-wrap:break-word}
|
786 |
-
.brz .brz-countdown__number{font-size:1em;margin-bottom:15px}
|
787 |
-
.brz .brz-countdown .brz-ed-box__resizer{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;width:100%}
|
788 |
-
.brz .brz-countdown2{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}
|
789 |
-
.brz .brz-countdown2__item{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;text-align:center;word-break:break-word;word-wrap:break-word;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}
|
790 |
-
.brz .brz-countdown2__item:first-child{margin-left:0!important}
|
791 |
-
.brz .brz-countdown2__item:last-child{margin-right:0!important}
|
792 |
-
.brz .brz-countdown2__number{font-size:1em}
|
793 |
-
.brz .brz-countdown2__label{text-transform:capitalize}
|
794 |
-
.brz .brz-countdown2 .brz-countdown2-parts{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;width:100%}
|
795 |
-
.brz .brz-countdown2 .brz-countdown2-message{display:none;min-height:55px;width:100%;margin-top:15px;padding:17px 30px;padding-bottom:0;text-align:center}
|
796 |
-
.brz .brz-countdown2-style1{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}
|
797 |
-
.brz .brz-countdown2-style2 .brz-countdown2__item{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}
|
798 |
-
.brz .brz-countdown2-style2 .brz-countdown2__label{margin-left:5px}
|
799 |
-
.brz .brz-countdown2-style3 .brz-countdown2-parts{-webkit-box-align:center;-ms-flex-align:center;align-items:center}
|
800 |
-
.brz .brz-countdown2-style3 .brz-countdown2__item .brz-countdown2__label{display:none}
|
801 |
-
.brz .brz-countdown2_custom{height:auto!important;margin:0!important}
|
802 |
-
.brz .brz-spacer{width:100%}
|
803 |
-
.brz .brz-icon-text{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;text-align:left;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-ms-flex-wrap:nowrap;flex-wrap:nowrap}
|
804 |
-
.brz .brz-icon-text .brz-text-btn,.brz .brz-icon-text .brz-text__editor{width:100%}
|
805 |
-
.brz .brz-icon-text .brz-text__editor{white-space:pre-wrap}
|
806 |
-
.brz .brz-icon-text .brz-wrapper-clone{overflow-wrap:break-word;word-wrap:break-word;word-break:break-word}
|
807 |
-
.brz .brz-icon-text .brz-icon__container{min-width:auto}
|
808 |
-
.brz .brz-line{position:relative;line-height:1;font-size:0;padding-top:7px;padding-bottom:7px;display:inline-block}
|
809 |
-
.brz .brz-line .brz-hr{border-right-width:0;border-bottom-width:0;border-left-width:0;background:0 0}
|
810 |
-
.brz .brz-map{position:relative;width:100%;display:inline-block;vertical-align:middle}
|
811 |
-
.brz .brz-map::before{content:"";width:100%;height:100%;position:absolute;top:0;left:0;z-index:2;display:block;pointer-events:none}
|
812 |
-
.brz .brz-map .brz-map-content{overflow:hidden;position:relative;height:100%;width:100%}
|
813 |
-
.brz .brz-map .brz-iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}
|
814 |
-
.brz .brz-video{position:relative;width:100%;display:inline-block;vertical-align:middle}
|
815 |
-
.brz .brz-video:before{content:"";width:100%;height:100%;position:absolute;top:0;left:0;z-index:2;display:block;pointer-events:none}
|
816 |
-
.brz .brz-video .brz-video-content{overflow:hidden;position:relative;width:100%;height:100%}
|
817 |
-
.brz .brz-video .brz-iframe,.brz .brz-video .brz-video__cover{position:absolute;top:0;left:0;width:100%;height:100%;border:none}
|
818 |
-
.brz .brz-video .brz-iframe{height:101%;width:101%}
|
819 |
-
.brz .brz-video .brz-video__cover{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}
|
820 |
-
.brz .brz-video .brz-video__cover:before{content:"";display:block;position:absolute;top:0;left:0;right:0;bottom:0;margin:0 auto;background-repeat:no-repeat}
|
821 |
-
.brz .brz-video .brz-video__cover .brz-video__cover-icon{position:relative;z-index:1;color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:50%;-webkit-transition:-webkit-transform .3s ease;transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease}
|
822 |
-
.brz .brz-video .brz-video__cover .brz-video__cover-icon .brz-icon-svg{width:100%;left:2px}
|
823 |
-
.brz .brz-video .brz-video__cover .brz-video__cover-icon a{line-height:0}
|
824 |
-
.brz .brz-video .brz-video__cover:hover{cursor:pointer}
|
825 |
-
.brz .brz-video .brz-video__cover:hover .brz-video__cover-icon{-webkit-transform:scale(1.1);transform:scale(1.1)}
|
826 |
-
.brz .brz-video .brz-shortcode__placeholder{position:absolute;top:0}
|
827 |
-
.brz .brz-video .brz-video-element{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;z-index:999;min-width:350px}
|
828 |
-
.brz .brz-video .brz-video-element video{position:absolute;left:0;right:0;bottom:0;top:0;width:100%;height:100%;background:#000;z-index:99}
|
829 |
-
.brz .brz-video .brz-video-element .brz-video-custom-video-controls{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-left:20px;padding-right:20px;width:100%;height:50px;z-index:999}
|
830 |
-
.brz .brz-video .brz-video-element .brz-video-custom-play-pause-btn{display:-webkit-box;display:-ms-flexbox;display:flex;cursor:pointer;z-index:3}
|
831 |
-
.brz .brz-video .brz-video-element .brz-video-custom-current-time{margin-left:25px}
|
832 |
-
.brz .brz-video .brz-video-element .brz-video-custom-total-time{margin-left:15px}
|
833 |
-
.brz .brz-video .brz-video-element .brz-video-custom-slider{position:relative;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;cursor:pointer}
|
834 |
-
.brz .brz-video .brz-video-element .brz-video-custom-slider .brz-video-custom-progress{border-radius:inherit;position:absolute;pointer-events:none}
|
835 |
-
.brz .brz-video .brz-video-element .brz-video-custom-slider:before{content:"";display:block;position:absolute;top:0;left:0;right:0;bottom:0;margin:0 auto;background-repeat:no-repeat;opacity:.35}
|
836 |
-
.brz .brz-video .brz-video-element .brz-video-custom-controls{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;z-index:3}
|
837 |
-
.brz .brz-video .brz-video-element .brz-video-custom-controls .brz-video-custom-slider{margin-left:16px;margin-right:16px;border-radius:5px;height:8px;overflow:hidden}
|
838 |
-
.brz .brz-video .brz-video-element .brz-video-custom-controls .brz-video-custom-slider .brz-video-custom-progress{height:100%}
|
839 |
-
.brz .brz-video .brz-video-element .brz-video-custom-controls span{cursor:default}
|
840 |
-
.brz .brz-video .brz-video-element .brz-video-custom-controls:empty{display:none}
|
841 |
-
.brz .brz-video .brz-video-element .brz-video-custom-volume{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;margin-left:15px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;z-index:3}
|
842 |
-
.brz .brz-video .brz-video-element .brz-video-custom-volume .brz-video-custom-fullscreen-btn{display:-webkit-box;display:-ms-flexbox;display:flex}
|
843 |
-
.brz .brz-video .brz-video-element .brz-video-custom-volume .brz-video-custom-fullscreen-icon{margin-right:15px;cursor:pointer}
|
844 |
-
.brz .brz-video .brz-video-element .brz-video-custom-volume .brz-video-custom-volume-btn{display:-webkit-box;display:-ms-flexbox;display:flex;cursor:pointer}
|
845 |
-
.brz .brz-video .brz-video-element .brz-video-custom-volume .brz-video-custom-volume-controls{display:-webkit-box;display:-ms-flexbox;display:flex;width:60px;height:8px;margin-left:10px;border-radius:5px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow:hidden}
|
846 |
-
.brz .brz-video .brz-video-element .brz-video-custom-volume .brz-video-custom-volume-controls .brz-video-custom-progress{bottom:0;height:100%;width:100%}
|
847 |
-
.brz .brz-video .brz-video-custom-fullScreen-window-show video{padding-bottom:50px}
|
848 |
-
.brz .brz-video .brz-video-custom-fullScreen-window-show .brz-video-custom-video-controls{position:absolute;left:0;right:0;bottom:0}
|
849 |
-
.brz .brz-custom-video{min-width:355px}
|
850 |
-
.brz .brz-custom-video .brz-video-content{overflow:hidden}
|
851 |
-
.brz .brz-custom-video .brz-video-content .brz-shortcode__placeholder{border-radius:0!important}
|
852 |
-
.brz .brz-custom-video .brz-video-content:hover .brz-shortcode__placeholder .brz-icon-svg{cursor:pointer}
|
853 |
-
.brz .brz-custom-video .brz-video-content .brz-shortcode__placeholder{-webkit-transition:all .6s ease;transition:all .6s ease}
|
854 |
-
.brz .brz-custom-video .brz-video-content .brz-icon-svg{-webkit-transition:all .6s ease;transition:all .6s ease}
|
855 |
-
.brz .brz-custom-video .brz-video-content .brz-video__cover-icon{z-index:9999}
|
856 |
-
.brz .brz-custom-video.brz-video-on-controls-hidden .brz-shortcode__placeholder,.brz .brz-custom-video.brz-video-on-controls-hidden .brz-video__cover,.brz .brz-custom-video.brz-video-on-controls-hidden video{padding-bottom:50px}
|
857 |
-
.brz .brz-custom-video.brz-video-off-controls-hidden{background:inherit;padding-bottom:0}
|
858 |
-
.brz .brz-custom-video.brz-video-off-controls-hidden video{padding-bottom:0;background:inherit}
|
859 |
-
.brz .brz-custom-video.brz-video-off-controls-hidden .brz-shortcode__placeholder{top:0;padding-top:0}
|
860 |
-
.brz .brz-custom-video.brz-video-off-controls-hidden .brz-video__cover{padding-bottom:0}
|
861 |
-
.brz .brz-image-fix-1-1{padding-top:100%}
|
862 |
-
.brz .brz-image-fix-2-1{padding-top:50%}
|
863 |
-
.brz .brz-image-fix-2-3{padding-top:150%}
|
864 |
-
.brz .brz-image-fix-3-4{padding-top:125%}
|
865 |
-
.brz .brz-image-fix-4-3{padding-top:75%}
|
866 |
-
.brz .brz-image-fix-9-16{padding-top:177.8%}
|
867 |
-
.brz .brz-image-fix-16-9{padding-top:56.25%}
|
868 |
-
.brz .brz-video-playlist{position:relative;width:100%;display:inline-block;vertical-align:middle}
|
869 |
-
.brz .brz-video-playlist:before{content:"";width:100%;height:100%;position:absolute;top:0;left:0;z-index:2;display:block;pointer-events:none}
|
870 |
-
.brz .brz-video-playlist .brz-iframe,.brz .brz-video-playlist .brz-video-playlist__cover{position:absolute;top:0;left:0;width:100%;height:100%;border:none}
|
871 |
-
.brz .brz-video-playlist .brz-video-playlist__cover{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}
|
872 |
-
.brz .brz-video-playlist .brz-video-playlist__cover:before{content:"";display:block;position:absolute;top:0;left:0;right:0;bottom:0;margin:0 auto;background-size:cover;background-repeat:no-repeat}
|
873 |
-
.brz .brz-video-playlist .brz-video-playlist__cover .brz-video-playlist__cover-icon{position:relative;width:80px;height:80px;font-size:28px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:50%;z-index:1;color:#fff;-webkit-transition:-webkit-transform .3s ease;transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease}
|
874 |
-
.brz .brz-video-playlist .brz-video-playlist__cover .brz-video-playlist__cover-icon .brz-icon-svg{width:100%;left:2px}
|
875 |
-
.brz .brz-video-playlist .brz-video-playlist__cover .brz-video-playlist__cover-icon a{line-height:0}
|
876 |
-
.brz .brz-video-playlist .brz-video-playlist__cover:hover{cursor:pointer}
|
877 |
-
.brz .brz-video-playlist .brz-video-playlist__cover:hover .brz-video-playlist__cover-icon{-webkit-transform:scale(1.1);transform:scale(1.1)}
|
878 |
-
.brz .brz-video-playlist .brz-video-playlist-main,.brz .brz-video-playlist .brz-video-playlist-video-element{position:relative}
|
879 |
-
.brz .brz-video-playlist .brz-video-playlist-main .brz-img,.brz .brz-video-playlist .brz-video-playlist-main .brz-shortcode__placeholder,.brz .brz-video-playlist .brz-video-playlist-video-element .brz-img,.brz .brz-video-playlist .brz-video-playlist-video-element .brz-shortcode__placeholder{position:absolute;left:0;right:0;top:0;bottom:0;width:100%;height:100%}
|
880 |
-
.brz .brz-video-playlist .brz-video-playlist-main__cover:after,.brz .brz-video-playlist .brz-video-playlist-video-element:after{content:"";display:block;width:100%;padding-top:56.25%}
|
881 |
-
.brz .brz-video-playlist .brz-video-playlist-main__content{padding-top:56.25%}
|
882 |
-
.brz .brz-video-playlist .brz-video-playlist-video-item{cursor:pointer}
|
883 |
-
.brz .brz-video-playlist .brz-video-playlist-title-video{word-break:break-word}
|
884 |
-
.brz .brz-video-playlist .brz-video-playlist-title-video .brz-span{display:block}
|
885 |
-
.brz .brz-video-playlist .brz-video-playlist-title-video .brz-span:last-child{margin-bottom:0}
|
886 |
-
.brz .brz-video-playlist-horizontal .brz-video-playlist-sidebar{position:absolute;top:0;bottom:0;right:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-height:100%;overflow:auto}
|
887 |
-
.brz .brz-video-playlist-horizontal .brz-video-playlist-video-item{cursor:pointer;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-ms-flex-wrap:wrap;flex-wrap:wrap}
|
888 |
-
.brz .brz-video-playlist-horizontal .brz-video-playlist-video-item .brz-video-playlist-title-video{margin-left:10px}
|
889 |
-
.brz .brz-video-playlist-horizontal .brz-video-playlist-video-item .brz-img{-o-object-fit:cover;object-fit:cover}
|
890 |
-
.brz .brz-video-playlist-horizontal ::-webkit-scrollbar{width:8px;height:95px;cursor:pointer}
|
891 |
-
.brz .brz-video-playlist-horizontal ::-webkit-scrollbar-track{background-color:rgba(0,0,0,0)}
|
892 |
-
.brz .brz-video-playlist-horizontal ::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.3);border-radius:8px}
|
893 |
-
.brz .brz-video-playlist-vertical .brz-video-playlist-sidebar{white-space:nowrap;overflow:auto}
|
894 |
-
.brz .brz-video-playlist-vertical .brz-video-playlist-video-item{text-align:center}
|
895 |
-
.brz .brz-video-playlist-vertical .brz-video-playlist-video-element{margin-left:auto;margin-right:auto}
|
896 |
-
.brz .brz-video-playlist-vertical ::-webkit-scrollbar{width:6px;height:8px;cursor:pointer}
|
897 |
-
.brz .brz-video-playlist-vertical ::-webkit-scrollbar-track{background-color:rgba(0,0,0,0)}
|
898 |
-
.brz .brz-video-playlist-vertical ::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.3)}
|
899 |
-
.brz .brz-video-playlist-vertical.brz-video-playlist-under{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}
|
900 |
-
.brz .brz-video-playlist-vertical.brz-video-playlist-under .brz-video-playlist__container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}
|
901 |
-
@media (max-width:767px){.brz .brz-video-playlist .brz-video-playlist-main{position:fixed;z-index:99999;left:0;right:0;top:0;bottom:0;display:none;width:100%!important;height:100%;background-color:rgba(0,0,0,.3)}
|
902 |
-
.brz .brz-video-playlist .brz-video-playlist-main__placeholder .brz-video-playlist-main__content,.brz .brz-video-playlist .brz-video-playlist-main__video .brz-video-playlist-main__content{width:100%}
|
903 |
-
.brz .brz-video-playlist .brz-video-playlist-sidebar{position:static;height:auto!important;width:100%!important}
|
904 |
-
.brz .brz-video-playlist .brz-video-playlist-modal{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.brz .brz-audio{pointer-events:auto;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}
|
905 |
-
.brz .brz-audio .brz-custom-audio{position:relative;width:100%;height:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-left:20px;padding-right:20px;z-index:3}
|
906 |
-
.brz .brz-audio .brz-custom-audio .brz-audio-play-pause-btn{cursor:pointer;z-index:3}
|
907 |
-
.brz .brz-audio .brz-custom-audio .brz-audio-current-time{margin-left:25px}
|
908 |
-
.brz .brz-audio .brz-custom-audio .brz-audio-total-time{margin-left:15px}
|
909 |
-
.brz .brz-audio .brz-custom-audio .brz-audio-slider{position:relative;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;cursor:pointer}
|
910 |
-
.brz .brz-audio .brz-custom-audio .brz-audio-slider .brz-audio-progress{border-radius:inherit;position:absolute;pointer-events:none}
|
911 |
-
.brz .brz-audio .brz-custom-audio .brz-audio-slider:before{content:"";display:block;position:absolute;top:0;left:0;right:0;bottom:0;margin:0 auto;background-repeat:no-repeat;opacity:.35}
|
912 |
-
.brz .brz-audio .brz-custom-audio .brz-audio-controls{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;z-index:3}
|
913 |
-
.brz .brz-audio .brz-custom-audio .brz-audio-controls .brz-audio-slider{margin-left:16px;margin-right:16px;border-radius:5px;height:8px}
|
914 |
-
.brz .brz-audio .brz-custom-audio .brz-audio-controls .brz-audio-slider .brz-audio-progress{height:100%}
|
915 |
-
.brz .brz-audio .brz-custom-audio .brz-audio-controls span{cursor:default}
|
916 |
-
.brz .brz-audio .brz-custom-audio .brz-audio-controls:empty{display:none}
|
917 |
-
.brz .brz-audio .brz-custom-audio .brz-audio-volume{position:relative;margin-left:15px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;z-index:3}
|
918 |
-
.brz .brz-audio .brz-custom-audio .brz-audio-volume .brz-audio-volume-btn{cursor:pointer}
|
919 |
-
.brz .brz-audio .brz-custom-audio .brz-audio-volume .brz-audio-volume-controls{width:60px;height:8px;margin-left:10px;border-radius:5px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}
|
920 |
-
.brz .brz-audio .brz-custom-audio .brz-audio-volume .brz-audio-volume-controls .brz-audio-slider{border-radius:3px}
|
921 |
-
.brz .brz-audio .brz-custom-audio .brz-audio-volume .brz-audio-volume-controls .brz-audio-slider .brz-audio-progress{bottom:0;height:100%;width:100%}
|
922 |
-
.brz .brz-audio .brz-audio__cover{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border:none}
|
923 |
-
.brz .brz-audio .brz-audio__cover:before{content:"";display:block;position:absolute;top:0;left:0;right:0;bottom:0;margin:0 auto;background-repeat:no-repeat}
|
924 |
-
.brz .brz-audio .brz-audio__cover .brz-audio__cover-icon{position:relative;z-index:1;color:#fff;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:50%;-webkit-transition:-webkit-transform .3s ease;transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease}
|
925 |
-
.brz .brz-soundcloud{position:relative;font-size:0}
|
926 |
-
.brz .brz-soundcloud:before{content:" ";position:absolute;width:100%;height:100%;z-index:3;pointer-events:none}
|
927 |
-
.brz .brz-soundcloud .brz-soundCloud-content{overflow:hidden;position:relative;height:100%;width:100%}
|
928 |
-
.brz .brz-soundcloud .brz-soundCloud-content iframe{width:100%}
|
929 |
-
.brz .brz-soundcloud .brz-soundCloud-content:before{content:"";width:100%;height:100%;position:absolute;top:0;left:0;z-index:2;display:block;pointer-events:none}
|
930 |
-
.brz .brz-embed-code{position:relative;display:inline-block;width:100%;min-height:20px;height:auto;word-break:break-all;word-wrap:break-word}
|
931 |
-
.brz .brz-embed-code::before{content:"";width:100%;height:100%;position:absolute;top:0;left:0;z-index:2;display:block;pointer-events:none;overflow:hidden}
|
932 |
-
.brz .brz-embed-code .brz-shortcode__placeholder{height:250px}
|
933 |
-
.brz .brz-embed-code img{max-width:100%}
|
934 |
-
.brz .brz-rich-text{-webkit-font-smoothing:antialiased;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;min-width:0;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word}
|
935 |
-
.brz .brz-rich-text>*{white-space:pre-wrap}
|
936 |
-
.brz .brz-rich-text em,.brz .brz-rich-text i{font-style:italic}
|
937 |
-
.brz .brz-rich-text ol li,.brz .brz-rich-text ul li{list-style:none;padding-left:1em}
|
938 |
-
.brz .brz-rich-text ol li:before,.brz .brz-rich-text ul li:before{margin-left:-1em}
|
939 |
-
.brz .brz-rich-text ul li:before{position:relative;top:-.1em;line-height:1;content:"\2022";padding-right:.5em}
|
940 |
-
.brz .brz-rich-text ol{counter-reset:number}
|
941 |
-
.brz .brz-rich-text ol li{counter-increment:number}
|
942 |
-
.brz .brz-rich-text ol li:before{content:counter(number);line-height:1;padding-right:.5em}
|
943 |
-
.brz .brz-rich-text .ql-editor{white-space:pre-wrap}
|
944 |
-
.brz .brz-rich-text .brz-image-gradient,.brz .brz-rich-text .brz-text-mask{caret-color:#000;color:transparent!important;-webkit-background-clip:text;background-clip:text}
|
945 |
-
.brz .brz-rich-text h1,.brz .brz-rich-text h2,.brz .brz-rich-text h3,.brz .brz-rich-text h4,.brz .brz-rich-text h5,.brz .brz-rich-text h6{margin-top:0;margin-bottom:0;padding:0;text-transform:initial;text-decoration:initial}
|
946 |
-
.brz .brz-rich-text h1:before,.brz .brz-rich-text h2:before,.brz .brz-rich-text h3:before,.brz .brz-rich-text h4:before,.brz .brz-rich-text h5:before,.brz .brz-rich-text h6:before{display:none}
|
947 |
-
.brz .brz-rich-text p,.brz .brz-rich-text span{margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;text-transform:initial;text-decoration:initial}
|
948 |
-
.brz .brz-rich-text span{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit}
|
949 |
-
.brz .brz-rich-text p{display:block}
|
950 |
-
.brz .brz-rich-text a,.brz .brz-rich-text em,.brz .brz-rich-text span{display:inline}
|
951 |
-
.brz .brz-rich-text dl,.brz .brz-rich-text ol,.brz .brz-rich-text ul{margin:0;list-style:none;padding:0}
|
952 |
-
.brz .brz-rich-text ol ol,.brz .brz-rich-text ol ul,.brz .brz-rich-text ul ol,.brz .brz-rich-text ul ul{margin:0}
|
953 |
-
.brz .brz-rich-text a{text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}
|
954 |
-
.brz .brz-rich-text a[href]:hover{text-decoration:underline}
|
955 |
-
.brz .brz-rich-text strong{font-weight:700}
|
956 |
-
.brz .brz-rich-text .link--anchor,.brz .brz-rich-text .link--external,.brz .brz-rich-text .link--popup{text-decoration:none}
|
957 |
-
.brz .brz-rich-text .link--anchor:hover,.brz .brz-rich-text .link--external:hover,.brz .brz-rich-text .link--popup:hover{text-decoration:underline}
|
958 |
-
.brz .brz-rich-text .brz-tp__dc-block:after{content:"";display:table;clear:both}
|
959 |
-
.brz .brz-text__editor{min-width:10px}
|
960 |
-
.brz .brz-text__editor:empty:before{content:"\00a0\00a0"}
|
961 |
-
.brz:not(.brz-ed) .brz-population-mask{background-clip:text;color:transparent!important}
|
962 |
-
.brz .brz-counter{position:relative}
|
963 |
-
.brz .brz-counter-simple{width:auto!important}
|
964 |
-
.brz .brz-counter-radial .brz-counter-figures{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}
|
965 |
-
.brz .brz-counter-empty .brz-counter-figures{display:none}
|
966 |
-
.brz .brz-counter-pie .brz-counter-figures{display:none}
|
967 |
-
.brz .brz-counter .brz-ed-box__resizer{height:auto}
|
968 |
-
.brz .brz-counter-chart{text-align:center;margin:0 auto}
|
969 |
-
.brz .brz-counter-chart svg{width:100%;height:100%;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);background:#9acd32;border-radius:50%}
|
970 |
-
.brz .brz-counter-chart.brz-counter-chart-radial svg{background:0 0}
|
971 |
-
.brz .brz-counter-chart.brz-counter-chart-radial .brz-counter-pie-chart{fill:transparent}
|
972 |
-
.brz .brz-counter-chart.brz-counter-chart-empty svg{background:0 0}
|
973 |
-
.brz .brz-counter-chart.brz-counter-chart-empty .brz-counter-pie-chart{fill:transparent}
|
974 |
-
.brz .brz-counter-chart.brz-counter-chart-empty .brz-counter-pie-chart{stroke-width:32}
|
975 |
-
.brz .brz-counter-chart.brz-counter-chart-pie svg{background:0 0}
|
976 |
-
.brz .brz-counter-chart.brz-counter-chart-pie .brz-counter-pie-chart{stroke-width:32}
|
977 |
-
.brz .brz-counter-chart .brz-counter-figures{text-align:center}
|
978 |
-
.brz .brz-progress-bar__wrapper{overflow:hidden}
|
979 |
-
.brz .brz-progress-bar .brz-text__editor{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
|
980 |
-
.brz .brz-progress-bar.brz-without-text .brz-progress-bar__percent{width:100%;text-align:right}
|
981 |
-
.brz .brz-progress-bar-style1,.brz .brz-progress-bar-style2 .brz-progress-bar-overlay{position:relative}
|
982 |
-
.brz .brz-progress-bar-style2 .brz-progress-bar__percent{position:relative;display:inline-block;padding:4px 7px;margin-bottom:10px;text-align:center;z-index:99999}
|
983 |
-
.brz .brz-shortcode__placeholder{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;height:100%;width:100%;background-color:#373e48;color:#151924}
|
984 |
-
.brz .brz-shortcode__placeholder .brz-icon-svg{width:calc(16px + (.075 * 100%));height:calc(16px + (.075 * 100%))}
|
985 |
-
.brz .brz-soundcloud{position:relative;font-size:0}
|
986 |
-
.brz .brz-soundcloud::before{content:" ";position:absolute;width:100%;height:100%;z-index:3;pointer-events:none}
|
987 |
-
.brz .brz-soundcloud .brz-soundCloud-content{overflow:hidden;position:relative;height:100%;width:100%}
|
988 |
-
.brz .brz-soundcloud .brz-soundCloud-content iframe{width:100%}
|
989 |
-
.brz .brz-soundcloud .brz-soundCloud-content::before{content:"";width:100%;height:100%;position:absolute;top:0;left:0;z-index:2;display:block;pointer-events:none}
|
990 |
-
.brz .slick-slider{position:relative;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-tap-highlight-color:transparent}
|
991 |
-
.brz .slick-slider.slick-dotted{margin:0}
|
992 |
-
.brz .slick-list{position:relative;overflow:hidden;display:block;margin:0;padding:0}
|
993 |
-
.brz .slick-list:focus{outline:0}
|
994 |
-
.brz .slick-list.dragging{cursor:pointer;cursor:hand}
|
995 |
-
.brz .slick-slider .slick-list,.brz .slick-slider .slick-track{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}
|
996 |
-
.brz .slick-track{position:relative;left:0;top:0;display:block;margin-left:auto;margin-right:auto}
|
997 |
-
.slick-loading .brz .slick-track{visibility:hidden}
|
998 |
-
.brz .slick-track:after,.brz .slick-track:before{content:none}
|
999 |
-
.brz .slick-slide{min-height:1px;display:none;float:none}
|
1000 |
-
.brz .slick-slide img{display:block}
|
1001 |
-
.brz .slick-slide.slick-loading img{display:none}
|
1002 |
-
.brz .slick-slide.dragging img{pointer-events:none}
|
1003 |
-
.slick-initialized .brz .slick-slide{display:block}
|
1004 |
-
.slick-loading .brz .slick-slide{visibility:hidden}
|
1005 |
-
.slick-vertical .brz .slick-slide{display:block;height:auto;border:1px solid transparent}
|
1006 |
-
.brz .slick-arrow.slick-hidden{display:none}
|
1007 |
-
.brz .brz-slick-slider .brz-icon-svg,.brz .brz-slick-slider .brz-rich-text *{-webkit-backface-visibility:hidden;backface-visibility:hidden}
|
1008 |
-
.brz .brz-slick-slider .brz-bg-media{width:calc(100% + 1px)}
|
1009 |
-
.brz .brz-slick-slider .brz-bg-color,.brz .brz-slick-slider .brz-bg-content{-webkit-transform:translateZ(0);transform:translateZ(0)}
|
1010 |
-
.brz .brz-slick-slider .brz-section__content,.brz .brz-slick-slider .brz-section__items,.brz .brz-slick-slider .slick-slide>div{height:100%;outline:0}
|
1011 |
-
.brz .brz-slick-slider--fade .slick-slide{height:auto;visibility:hidden}
|
1012 |
-
.brz .brz-slick-slider--fade .slick-slide.slick-active{visibility:visible}
|
1013 |
-
.brz .slick-initialized .slick-slide{display:block}
|
1014 |
-
.brz .slick-track{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}
|
1015 |
-
.brz .brz-slick-slider__dots{position:absolute;bottom:50px;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);padding:0;list-style:none;margin:0;font-size:0}
|
1016 |
-
.brz .brz-slick-slider__dots li{display:inline-block;vertical-align:middle;padding-left:5px;padding-right:5px}
|
1017 |
-
.brz .brz-slick-slider__dots li:first-child{padding-left:0}
|
1018 |
-
.brz .brz-slick-slider__dots li:last-child{padding-right:0}
|
1019 |
-
.brz .brz-slick-slider__dots button{cursor:pointer;color:inherit;outline:0;overflow:hidden;padding:0;text-indent:-9999px;border:2px solid currentColor;border-radius:0;background-color:transparent;-webkit-transition:background-color linear .2s,-webkit-transform linear .2s;transition:background-color linear .2s,-webkit-transform linear .2s;transition:transform linear .2s,background-color linear .2s;transition:transform linear .2s,background-color linear .2s,-webkit-transform linear .2s}
|
1020 |
-
.brz .brz-slick-slider__dots .slick-active button{background-color:currentColor;-webkit-transition:background-color linear .2s,-webkit-transform linear .2s;transition:background-color linear .2s,-webkit-transform linear .2s;transition:transform linear .2s,background-color linear .2s;transition:transform linear .2s,background-color linear .2s,-webkit-transform linear .2s}
|
1021 |
-
.brz .brz-slick-slider__dots--circle button{width:10px;height:10px;border-radius:10px}
|
1022 |
-
.brz .brz-slick-slider__dots--diamond button{width:10px;height:10px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}
|
1023 |
-
.brz .brz-slick-slider__dots--square button{width:10px;height:10px}
|
1024 |
-
.brz .brz-slick-slider__arrow{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);z-index:2;font-size:30px;cursor:pointer;-webkit-transition:opacity linear .2s;transition:opacity linear .2s;color:#000;background-color:transparent;border:none;overflow:auto}
|
1025 |
-
.brz .brz-slick-slider__arrow:hover{-webkit-transition:opacity linear .2s;transition:opacity linear .2s}
|
1026 |
-
.brz .brz-slick-slider__arrow .brz-icon-svg{display:block}
|
1027 |
-
.brz .brz-slick-slider__arrow-prev{-webkit-transform:translateY(-50%) rotate(-180deg);transform:translateY(-50%) rotate(-180deg);left:30px}
|
1028 |
-
.brz .brz-slick-slider__arrow-next{right:30px}
|
1029 |
-
.brz .brz-forms{width:100%}
|
1030 |
-
.brz .brz-forms__fields,.brz .brz-forms__wrap{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}
|
1031 |
-
.brz .brz-forms__wrap{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}
|
1032 |
-
.brz .brz-forms__item{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-negative:0;flex-shrink:0}
|
1033 |
-
.brz .brz-forms .brz-input,.brz .brz-forms .brz-textarea{display:block;width:100%;height:auto;background-color:transparent;border:none;outline:0;color:inherit;font-size:inherit;font-family:inherit;letter-spacing:inherit;font-weight:inherit;line-height:inherit;-webkit-box-shadow:none;box-shadow:none}
|
1034 |
-
.brz .brz-forms .brz-input::-webkit-input-placeholder,.brz .brz-forms .brz-textarea::-webkit-input-placeholder{color:inherit}
|
1035 |
-
.brz .brz-forms .brz-input::-moz-placeholder,.brz .brz-forms .brz-textarea::-moz-placeholder{color:inherit}
|
1036 |
-
.brz .brz-forms .brz-input::-ms-input-placeholder,.brz .brz-forms .brz-textarea::-ms-input-placeholder{color:inherit}
|
1037 |
-
.brz .brz-forms .brz-input::placeholder,.brz .brz-forms .brz-textarea::placeholder{color:inherit}
|
1038 |
-
.brz .brz-forms .brz-textarea{height:100%;resize:none}
|
1039 |
-
.brz .brz-forms .brz-label{display:block}
|
1040 |
-
.brz .brz-forms .brz-forms__field{padding:14px 24px;text-align:left}
|
1041 |
-
.brz .brz-forms .brz-forms__field-label{border:none;cursor:auto}
|
1042 |
-
.brz .brz-forms__select{position:relative}
|
1043 |
-
.brz .brz-forms__select-current{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}
|
1044 |
-
.brz .brz-forms__select-current .brz-span{width:100%;cursor:pointer}
|
1045 |
-
.brz .brz-forms__select-list{border:1px solid #dcdee1;border-top-width:0;overflow:hidden;position:absolute;z-index:1041;top:100%;left:0;width:100%;background-color:#fff}
|
1046 |
-
.brz .brz-forms__select-item{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;border:0;height:52px}
|
1047 |
-
.brz .brz-forms__select-item:not(:last-child){border-bottom:1px solid #f1f1f2}
|
1048 |
-
.brz .brz-forms__select-item__input{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;font-size:16px;color:rgba(115,119,127,.7);line-height:1;font-family:inherit;font-weight:inherit;padding:14px 24px}
|
1049 |
-
.brz .brz-forms__select-item__input .brz-input{border-width:0;height:100%;width:100%;color:inherit}
|
1050 |
-
.brz .brz-forms__select-item__input .brz-input::-webkit-input-placeholder{color:rgba(115,119,127,.7);font-style:italic}
|
1051 |
-
.brz .brz-forms__select-item__input .brz-input:-moz-placeholder{color:rgba(115,119,127,.7);font-style:italic}
|
1052 |
-
.brz .brz-forms__select-item__input .brz-input::-moz-placeholder{color:rgba(115,119,127,.7);font-style:italic}
|
1053 |
-
.brz .brz-forms__select-item__input .brz-input:-ms-input-placeholder{color:rgba(115,119,127,.7);font-style:italic}
|
1054 |
-
.brz .brz-forms__select-item__input .brz-input.brz-input{cursor:text}
|
1055 |
-
.brz .brz-forms__select-item__icon{color:rgba(115,119,127,.7);-ms-flex-preferred-size:52px;flex-basis:52px;text-align:center;font-size:13px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;cursor:pointer}
|
1056 |
-
.brz .brz-forms__select--arrow{font-size:14px}
|
1057 |
-
.brz .brz-forms .brz-control__select{position:relative}
|
1058 |
-
.brz .brz-forms .brz-control__select-current,.brz .brz-forms .brz-control__select-option{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;font-size:inherit;color:inherit}
|
1059 |
-
.brz .brz-forms .brz-control__select-current{padding:14px 24px;cursor:pointer}
|
1060 |
-
.brz .brz-forms .brz-control__select-current .brz-control__select-option{border:0;-ms-flex-preferred-size:100%;flex-basis:100%;height:100%}
|
1061 |
-
.brz .brz-forms .brz-control__select-current .brz-control__select--arrow{font-size:14px}
|
1062 |
-
.brz .brz-forms .brz-control__select-options{border:1px solid #dcdee1;border-top-width:0;overflow:hidden;position:absolute;z-index:1030;top:100%;left:0;width:100%;background-color:#fff;display:none}
|
1063 |
-
.brz .brz-forms .brz-control__select-options .brz-control__select-option{padding:14px 24px;font-size:16px;height:52px;line-height:1.5;cursor:pointer}
|
1064 |
-
.brz .brz-forms .brz-control__select-options .brz-control__select-option:not(:last-child){border-bottom:1px solid #f1f1f2}
|
1065 |
-
.brz .brz-forms__alert{min-height:55px;width:100%;font-size:12px;line-height:2;letter-spacing:2.5px;font-weight:600;text-transform:uppercase;padding:17px 30px;color:#fff;margin-top:15px}
|
1066 |
-
.brz .brz-forms__alert--success{background-color:#15d053}
|
1067 |
-
.brz .brz-forms__alert--error{background-color:red}
|
1068 |
-
.brz .brz-forms__item--error .brz-control__select-current,.brz .brz-forms__item--error .brz-forms__field{border-color:red!important;border-style:solid!important}
|
1069 |
-
@media (max-width:767px){.brz .brz-forms__select-item__input{font-size:14px;padding:10px 16px}
|
1070 |
-
.brz .brz-forms .brz-forms__field{padding:10px 16px}
|
1071 |
-
.brz .brz-forms .brz-control__select-current{padding:10px 16px}
|
1072 |
-
.brz .brz-forms .brz-control__select-options .brz-control__select-option{padding:10px 16px;font-size:14px}}.brz .flatpickr-calendar{background:0 0;opacity:0;display:none;text-align:center;visibility:hidden;padding:0;-webkit-animation:none;animation:none;direction:ltr;border:0;font-size:14px;line-height:24px;border-radius:5px;position:absolute;width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-touch-action:manipulation;touch-action:manipulation;background:#fff;-webkit-box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,.08);box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,.08)}
|
1073 |
-
.brz .flatpickr-calendar.inline,.brz .flatpickr-calendar.open{opacity:1;max-height:640px;visibility:visible}
|
1074 |
-
.brz .flatpickr-calendar.open{display:inline-block;z-index:99999}
|
1075 |
-
.brz .flatpickr-calendar.animate.open{-webkit-animation:fpFadeInDown .3s cubic-bezier(.23,1,.32,1);animation:fpFadeInDown .3s cubic-bezier(.23,1,.32,1)}
|
1076 |
-
.brz .flatpickr-calendar.inline{display:block;position:relative;top:2px}
|
1077 |
-
.brz .flatpickr-calendar.static{position:absolute;top:calc(100% + 2px)}
|
1078 |
-
.brz .flatpickr-calendar.static.open{z-index:999;display:block}
|
1079 |
-
.brz .flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7){-webkit-box-shadow:none!important;box-shadow:none!important}
|
1080 |
-
.brz .flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){-webkit-box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6}
|
1081 |
-
.brz .flatpickr-calendar .hasTime .dayContainer,.brz .flatpickr-calendar .hasWeeks .dayContainer{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}
|
1082 |
-
.brz .flatpickr-calendar .hasWeeks .dayContainer{border-left:0}
|
1083 |
-
.brz .flatpickr-calendar.showTimeInput.hasTime .flatpickr-time{height:40px;border-top:1px solid #e6e6e6}
|
1084 |
-
.brz .flatpickr-calendar.noCalendar.hasTime .flatpickr-time{height:auto}
|
1085 |
-
.brz .flatpickr-calendar:after,.brz .flatpickr-calendar:before{position:absolute;display:block;pointer-events:none;border:solid transparent;content:'';height:0;width:0;left:22px}
|
1086 |
-
.brz .flatpickr-calendar.rightMost:after,.brz .flatpickr-calendar.rightMost:before{left:auto;right:22px}
|
1087 |
-
.brz .flatpickr-calendar:before{border-width:5px;margin:0 -5px}
|
1088 |
-
.brz .flatpickr-calendar:after{border-width:4px;margin:0 -4px}
|
1089 |
-
.brz .flatpickr-calendar.arrowTop:after,.brz .flatpickr-calendar.arrowTop:before{bottom:100%}
|
1090 |
-
.brz .flatpickr-calendar.arrowTop:before{border-bottom-color:#e6e6e6}
|
1091 |
-
.brz .flatpickr-calendar.arrowTop:after{border-bottom-color:#fff}
|
1092 |
-
.brz .flatpickr-calendar.arrowBottom:after,.brz .flatpickr-calendar.arrowBottom:before{top:100%}
|
1093 |
-
.brz .flatpickr-calendar.arrowBottom:before{border-top-color:#e6e6e6}
|
1094 |
-
.brz .flatpickr-calendar.arrowBottom:after{border-top-color:#fff}
|
1095 |
-
.brz .flatpickr-calendar:focus{outline:0}
|
1096 |
-
.brz .flatpickr-wrapper{position:relative;display:inline-block}
|
1097 |
-
.brz .flatpickr-months{display:-webkit-box;display:-ms-flexbox;display:flex}
|
1098 |
-
.brz .flatpickr-months .flatpickr-month{background:0 0;color:rgba(0,0,0,.9);fill:rgba(0,0,0,.9);height:34px;line-height:1;text-align:center;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;-webkit-box-flex:1;-ms-flex:1;flex:1}
|
1099 |
-
.brz .flatpickr-months .flatpickr-next-month,.brz .flatpickr-months .flatpickr-prev-month{text-decoration:none;cursor:pointer;position:absolute;top:0;height:34px;padding:10px;z-index:3;color:rgba(0,0,0,.9);fill:rgba(0,0,0,.9)}
|
1100 |
-
.brz .flatpickr-months .flatpickr-next-month.flatpickr-disabled,.brz .flatpickr-months .flatpickr-prev-month.flatpickr-disabled{display:none}
|
1101 |
-
.brz .flatpickr-months .flatpickr-next-month i,.brz .flatpickr-months .flatpickr-prev-month i{position:relative}
|
1102 |
-
.brz .flatpickr-months .flatpickr-next-month.flatpickr-prev-month,.brz .flatpickr-months .flatpickr-prev-month.flatpickr-prev-month{left:0}
|
1103 |
-
.brz .flatpickr-months .flatpickr-next-month.flatpickr-next-month,.brz .flatpickr-months .flatpickr-prev-month.flatpickr-next-month{right:0}
|
1104 |
-
.brz .flatpickr-months .flatpickr-next-month:hover,.brz .flatpickr-months .flatpickr-prev-month:hover{color:#959ea9}
|
1105 |
-
.brz .flatpickr-months .flatpickr-next-month:hover svg,.brz .flatpickr-months .flatpickr-prev-month:hover svg{fill:#f64747}
|
1106 |
-
.brz .flatpickr-months .flatpickr-next-month svg,.brz .flatpickr-months .flatpickr-prev-month svg{width:14px;height:14px}
|
1107 |
-
.brz .flatpickr-months .flatpickr-next-month svg path,.brz .flatpickr-months .flatpickr-prev-month svg path{-webkit-transition:fill .1s;transition:fill .1s;fill:inherit}
|
1108 |
-
.brz .numInputWrapper{position:relative;height:auto}
|
1109 |
-
.brz .numInputWrapper input,.brz .numInputWrapper span{display:inline-block}
|
1110 |
-
.brz .numInputWrapper input{width:100%}
|
1111 |
-
.brz .numInputWrapper input::-ms-clear{display:none}
|
1112 |
-
.brz .numInputWrapper input::-webkit-inner-spin-button,.brz .numInputWrapper input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}
|
1113 |
-
.brz .numInputWrapper span{position:absolute;right:0;width:14px;padding:0 4px 0 2px;height:50%;line-height:50%;opacity:0;cursor:pointer;border:1px solid rgba(57,57,57,.15);-webkit-box-sizing:border-box;box-sizing:border-box}
|
1114 |
-
.brz .numInputWrapper span:hover{background:rgba(0,0,0,.1)}
|
1115 |
-
.brz .numInputWrapper span:active{background:rgba(0,0,0,.2)}
|
1116 |
-
.brz .numInputWrapper span:after{display:block;content:"";position:absolute}
|
1117 |
-
.brz .numInputWrapper span.arrowUp{top:0;border-bottom:0}
|
1118 |
-
.brz .numInputWrapper span.arrowUp:after{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid rgba(57,57,57,.6);top:26%}
|
1119 |
-
.brz .numInputWrapper span.arrowDown{top:50%}
|
1120 |
-
.brz .numInputWrapper span.arrowDown:after{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(57,57,57,.6);top:40%}
|
1121 |
-
.brz .numInputWrapper span svg{width:inherit;height:auto}
|
1122 |
-
.brz .numInputWrapper span svg path{fill:rgba(0,0,0,.5)}
|
1123 |
-
.brz .numInputWrapper:hover{background:rgba(0,0,0,.05)}
|
1124 |
-
.brz .numInputWrapper:hover span{opacity:1}
|
1125 |
-
.brz .flatpickr-current-month{font-size:135%;line-height:inherit;font-weight:300;color:inherit;position:absolute;width:75%;left:12.5%;padding:7.48px 0 0 0;line-height:1;height:34px;display:inline-block;text-align:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}
|
1126 |
-
.brz .flatpickr-current-month span.cur-month{font-family:inherit;font-weight:700;color:inherit;display:inline-block;margin-left:.5ch;padding:0}
|
1127 |
-
.brz .flatpickr-current-month span.cur-month:hover{background:rgba(0,0,0,.05)}
|
1128 |
-
.brz .flatpickr-current-month .numInputWrapper{width:6ch;display:inline-block}
|
1129 |
-
.brz .flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:rgba(0,0,0,.9)}
|
1130 |
-
.brz .flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:rgba(0,0,0,.9)}
|
1131 |
-
.brz .flatpickr-current-month input.cur-year{background:0 0;-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;cursor:text;padding:0 0 0 .5ch;margin:0;display:inline-block;font-size:inherit;font-family:inherit;font-weight:300;line-height:inherit;height:auto;border:0;border-radius:0;vertical-align:initial;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}
|
1132 |
-
.brz .flatpickr-current-month input.cur-year:focus{outline:0}
|
1133 |
-
.brz .flatpickr-current-month input.cur-year[disabled],.brz .flatpickr-current-month input.cur-year[disabled]:hover{font-size:100%;color:rgba(0,0,0,.5);background:0 0;pointer-events:none}
|
1134 |
-
.brz .flatpickr-current-month .flatpickr-monthDropdown-months{appearance:menulist;background:0 0;border:none;border-radius:0;box-sizing:border-box;color:inherit;cursor:pointer;font-size:inherit;font-family:inherit;font-weight:300;height:auto;line-height:inherit;margin:-1px 0 0 0;outline:0;padding:0 0 0 .5ch;position:relative;vertical-align:initial;-webkit-box-sizing:border-box;-webkit-appearance:menulist;-moz-appearance:menulist;width:auto}
|
1135 |
-
.brz .flatpickr-current-month .flatpickr-monthDropdown-months:active,.brz .flatpickr-current-month .flatpickr-monthDropdown-months:focus{outline:0}
|
1136 |
-
.brz .flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:rgba(0,0,0,.05)}
|
1137 |
-
.brz .flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:transparent;outline:0;padding:0}
|
1138 |
-
.brz .flatpickr-weekdays{background:0 0;text-align:center;overflow:hidden;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:28px}
|
1139 |
-
.brz .flatpickr-weekdays .flatpickr-weekdaycontainer{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1;flex:1}
|
1140 |
-
.brz span.flatpickr-weekday{cursor:default;font-size:90%;background:0 0;color:rgba(0,0,0,.54);line-height:1;margin:0;text-align:center;display:block;-webkit-box-flex:1;-ms-flex:1;flex:1;font-weight:bolder}
|
1141 |
-
.brz .dayContainer,.brz .flatpickr-weeks{padding:1px 0 0 0}
|
1142 |
-
.brz .flatpickr-days{position:relative;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;width:307.875px}
|
1143 |
-
.brz .flatpickr-days:focus{outline:0}
|
1144 |
-
.brz .dayContainer{padding:0;outline:0;text-align:left;width:307.875px;min-width:307.875px;max-width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;display:-ms-flexbox;display:-webkit-box;display:flex;flex-wrap:wrap;-ms-flex-wrap:wrap;-ms-flex-pack:justify;justify-content:space-around;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}
|
1145 |
-
.brz .dayContainer+.dayContainer{-webkit-box-shadow:-1px 0 0 #e6e6e6;box-shadow:-1px 0 0 #e6e6e6}
|
1146 |
-
.brz .flatpickr-day{background:0 0;border:1px solid transparent;border-radius:150px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#393939;cursor:pointer;font-weight:400;width:14.2857143%;-ms-flex-preferred-size:14.2857143%;flex-basis:14.2857143%;max-width:39px;height:39px;line-height:39px;margin:0;display:inline-block;position:relative;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center}
|
1147 |
-
.brz .flatpickr-day.inRange,.brz .flatpickr-day.nextMonthDay.inRange,.brz .flatpickr-day.nextMonthDay.today.inRange,.brz .flatpickr-day.nextMonthDay:focus,.brz .flatpickr-day.nextMonthDay:hover,.brz .flatpickr-day.prevMonthDay.inRange,.brz .flatpickr-day.prevMonthDay.today.inRange,.brz .flatpickr-day.prevMonthDay:focus,.brz .flatpickr-day.prevMonthDay:hover,.brz .flatpickr-day.today.inRange,.brz .flatpickr-day:focus,.brz .flatpickr-day:hover{cursor:pointer;outline:0;background:#e6e6e6;border-color:#e6e6e6}
|
1148 |
-
.brz .flatpickr-day.today{border-color:#959ea9}
|
1149 |
-
.brz .flatpickr-day.today:focus,.brz .flatpickr-day.today:hover{border-color:#959ea9;background:#959ea9;color:#fff}
|
1150 |
-
.brz .flatpickr-day.endRange,.brz .flatpickr-day.endRange.inRange,.brz .flatpickr-day.endRange.nextMonthDay,.brz .flatpickr-day.endRange.prevMonthDay,.brz .flatpickr-day.endRange:focus,.brz .flatpickr-day.endRange:hover,.brz .flatpickr-day.selected,.brz .flatpickr-day.selected.inRange,.brz .flatpickr-day.selected.nextMonthDay,.brz .flatpickr-day.selected.prevMonthDay,.brz .flatpickr-day.selected:focus,.brz .flatpickr-day.selected:hover,.brz .flatpickr-day.startRange,.brz .flatpickr-day.startRange.inRange,.brz .flatpickr-day.startRange.nextMonthDay,.brz .flatpickr-day.startRange.prevMonthDay,.brz .flatpickr-day.startRange:focus,.brz .flatpickr-day.startRange:hover{background:#569ff7;-webkit-box-shadow:none;box-shadow:none;color:#fff;border-color:#569ff7}
|
1151 |
-
.brz .flatpickr-day.endRange.startRange,.brz .flatpickr-day.selected.startRange,.brz .flatpickr-day.startRange.startRange{border-radius:50px 0 0 50px}
|
1152 |
-
.brz .flatpickr-day.endRange.endRange,.brz .flatpickr-day.selected.endRange,.brz .flatpickr-day.startRange.endRange{border-radius:0 50px 50px 0}
|
1153 |
-
.brz .flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)),.brz .flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),.brz .flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)){-webkit-box-shadow:-10px 0 0 #569ff7;box-shadow:-10px 0 0 #569ff7}
|
1154 |
-
.brz .flatpickr-day.endRange.startRange.endRange,.brz .flatpickr-day.selected.startRange.endRange,.brz .flatpickr-day.startRange.startRange.endRange{border-radius:50px}
|
1155 |
-
.brz .flatpickr-day.inRange{border-radius:0;-webkit-box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6}
|
1156 |
-
.brz .flatpickr-day.flatpickr-disabled,.brz .flatpickr-day.flatpickr-disabled:hover,.brz .flatpickr-day.nextMonthDay,.brz .flatpickr-day.notAllowed,.brz .flatpickr-day.notAllowed.nextMonthDay,.brz .flatpickr-day.notAllowed.prevMonthDay,.brz .flatpickr-day.prevMonthDay{color:rgba(57,57,57,.3);background:0 0;border-color:transparent;cursor:default}
|
1157 |
-
.brz .flatpickr-day.flatpickr-disabled,.brz .flatpickr-day.flatpickr-disabled:hover{cursor:not-allowed;color:rgba(57,57,57,.1)}
|
1158 |
-
.brz .flatpickr-day.week.selected{border-radius:0;-webkit-box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7;box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7}
|
1159 |
-
.brz .flatpickr-day.hidden{visibility:hidden}
|
1160 |
-
.brz .rangeMode .flatpickr-day{margin-top:1px}
|
1161 |
-
.brz .flatpickr-weekwrapper{float:left}
|
1162 |
-
.brz .flatpickr-weekwrapper .flatpickr-weeks{padding:0 12px;-webkit-box-shadow:1px 0 0 #e6e6e6;box-shadow:1px 0 0 #e6e6e6}
|
1163 |
-
.brz .flatpickr-weekwrapper .flatpickr-weekday{float:none;width:100%;line-height:28px}
|
1164 |
-
.brz .flatpickr-weekwrapper span.flatpickr-day,.brz .flatpickr-weekwrapper span.flatpickr-day:hover{display:block;width:100%;max-width:none;color:rgba(57,57,57,.3);background:0 0;cursor:default;border:none}
|
1165 |
-
.brz .flatpickr-innerContainer{display:block;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}
|
1166 |
-
.brz .flatpickr-rContainer{display:inline-block;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}
|
1167 |
-
.brz .flatpickr-time{text-align:center;outline:0;display:block;height:0;line-height:40px;max-height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex}
|
1168 |
-
.brz .flatpickr-time:after{content:"";display:table;clear:both}
|
1169 |
-
.brz .flatpickr-time .numInputWrapper{-webkit-box-flex:1;-ms-flex:1;flex:1;width:40%;height:40px;float:left}
|
1170 |
-
.brz .flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:#393939}
|
1171 |
-
.brz .flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:#393939}
|
1172 |
-
.brz .flatpickr-time.hasSeconds .numInputWrapper{width:26%}
|
1173 |
-
.brz .flatpickr-time.time24hr .numInputWrapper{width:49%}
|
1174 |
-
.brz .flatpickr-time input{background:0 0;-webkit-box-shadow:none;box-shadow:none;border:0;border-radius:0;text-align:center;margin:0;padding:0;height:inherit;line-height:inherit;color:#393939;font-size:14px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}
|
1175 |
-
.brz .flatpickr-time input.flatpickr-hour{font-weight:700}
|
1176 |
-
.brz .flatpickr-time input.flatpickr-minute,.brz .flatpickr-time input.flatpickr-second{font-weight:400}
|
1177 |
-
.brz .flatpickr-time input:focus{outline:0;border:0}
|
1178 |
-
.brz .flatpickr-time .flatpickr-am-pm,.brz .flatpickr-time .flatpickr-time-separator{height:inherit;float:left;line-height:inherit;color:#393939;font-weight:700;width:2%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}
|
1179 |
-
.brz .flatpickr-time .flatpickr-am-pm{outline:0;width:18%;cursor:pointer;text-align:center;font-weight:400}
|
1180 |
-
.brz .flatpickr-time .flatpickr-am-pm:focus,.brz .flatpickr-time .flatpickr-am-pm:hover,.brz .flatpickr-time input:focus,.brz .flatpickr-time input:hover{background:#eee}
|
1181 |
-
.brz .flatpickr-input[readonly]{cursor:pointer}
|
1182 |
-
@-webkit-keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}
|
1183 |
-
to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}
|
1184 |
-
to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.brz .select2-container{-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}
|
1185 |
-
.brz .select2-container .select2-selection--single{-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:block;height:28px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}
|
1186 |
-
.brz .select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
1187 |
-
.brz .select2-container .select2-selection--single .select2-selection__clear{position:relative}
|
1188 |
-
.brz .select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}
|
1189 |
-
.brz .select2-container .select2-selection--multiple{-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:block;min-height:32px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}
|
1190 |
-
.brz .select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}
|
1191 |
-
.brz .select2-container .select2-search--inline{float:left}
|
1192 |
-
.brz .select2-container .select2-search--inline .select2-search__field{-webkit-box-sizing:border-box;box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}
|
1193 |
-
.brz .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}
|
1194 |
-
.brz .select2-dropdown{background-color:#fff;border:1px solid #aaa;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}
|
1195 |
-
.brz .select2-results{display:block}
|
1196 |
-
.brz .select2-results__options{list-style:none;margin:0;padding:0}
|
1197 |
-
.brz .select2-results__option{padding:6px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}
|
1198 |
-
.brz .select2-results__option[aria-selected]{cursor:pointer}
|
1199 |
-
.brz .select2-container--open .select2-dropdown{left:0}
|
1200 |
-
.brz .select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}
|
1201 |
-
.brz .select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}
|
1202 |
-
.brz .select2-search--dropdown{display:block;padding:4px}
|
1203 |
-
.brz .select2-search--dropdown .select2-search__field{padding:4px;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}
|
1204 |
-
.brz .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}
|
1205 |
-
.brz .select2-search--dropdown.select2-search--hide{display:none}
|
1206 |
-
.brz .select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff}
|
1207 |
-
.brz .select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;white-space:nowrap!important}
|
1208 |
-
.brz .select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}
|
1209 |
-
.brz .select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}
|
1210 |
-
.brz .select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700}
|
1211 |
-
.brz .select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}
|
1212 |
-
.brz .select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}
|
1213 |
-
.brz .select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}
|
1214 |
-
.brz .select2-container--default[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}
|
1215 |
-
.brz .select2-container--default[dir=rtl] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}
|
1216 |
-
.brz .select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}
|
1217 |
-
.brz .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}
|
1218 |
-
.brz .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}
|
1219 |
-
.brz .select2-container--default .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text}
|
1220 |
-
.brz .select2-container--default .select2-selection--multiple .select2-selection__rendered{-webkit-box-sizing:border-box;box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}
|
1221 |
-
.brz .select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}
|
1222 |
-
.brz .select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-top:5px;margin-right:10px;padding:1px}
|
1223 |
-
.brz .select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}
|
1224 |
-
.brz .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}
|
1225 |
-
.brz .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}
|
1226 |
-
.brz .select2-container--default[dir=rtl] .select2-selection--multiple .select2-search--inline,.brz .select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{float:right}
|
1227 |
-
.brz .select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}
|
1228 |
-
.brz .select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}
|
1229 |
-
.brz .select2-container--default.select2-container--focus .select2-selection--multiple{border:solid #000 1px;outline:0}
|
1230 |
-
.brz .select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}
|
1231 |
-
.brz .select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}
|
1232 |
-
.brz .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple,.brz .select2-container--default.select2-container--open.select2-container--above .select2-selection--single{border-top-left-radius:0;border-top-right-radius:0}
|
1233 |
-
.brz .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,.brz .select2-container--default.select2-container--open.select2-container--below .select2-selection--single{border-bottom-left-radius:0;border-bottom-right-radius:0}
|
1234 |
-
.brz .select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}
|
1235 |
-
.brz .select2-container--default .select2-search--inline .select2-search__field{background:0 0;border:none;outline:0;-webkit-box-shadow:none;box-shadow:none;-webkit-appearance:textfield}
|
1236 |
-
.brz .select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}
|
1237 |
-
.brz .select2-container--default .select2-results__option[role=group]{padding:0}
|
1238 |
-
.brz .select2-container--default .select2-results__option[aria-disabled=true]{color:#999}
|
1239 |
-
.brz .select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}
|
1240 |
-
.brz .select2-container--default .select2-results__option .select2-results__option{padding-left:1em}
|
1241 |
-
.brz .select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}
|
1242 |
-
.brz .select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}
|
1243 |
-
.brz .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}
|
1244 |
-
.brz .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}
|
1245 |
-
.brz .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}
|
1246 |
-
.brz .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}
|
1247 |
-
.brz .select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:#fff}
|
1248 |
-
.brz .select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}
|
1249 |
-
.brz .select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(50%,#fff),to(#eee));background-image:linear-gradient(to bottom,#fff 50%,#eee 100%);background-repeat:repeat-x}
|
1250 |
-
.brz .select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}
|
1251 |
-
.brz .select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}
|
1252 |
-
.brz .select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-right:10px}
|
1253 |
-
.brz .select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}
|
1254 |
-
.brz .select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(50%,#eee),to(#ccc));background-image:linear-gradient(to bottom,#eee 50%,#ccc 100%);background-repeat:repeat-x}
|
1255 |
-
.brz .select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}
|
1256 |
-
.brz .select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}
|
1257 |
-
.brz .select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}
|
1258 |
-
.brz .select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}
|
1259 |
-
.brz .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:0 0;border:none}
|
1260 |
-
.brz .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}
|
1261 |
-
.brz .select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),color-stop(50%,#eee));background-image:linear-gradient(to bottom,#fff 0,#eee 50%);background-repeat:repeat-x}
|
1262 |
-
.brz .select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(50%,#eee),to(#fff));background-image:linear-gradient(to bottom,#eee 50%,#fff 100%);background-repeat:repeat-x}
|
1263 |
-
.brz .select2-container--classic .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}
|
1264 |
-
.brz .select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}
|
1265 |
-
.brz .select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}
|
1266 |
-
.brz .select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}
|
1267 |
-
.brz .select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}
|
1268 |
-
.brz .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}
|
1269 |
-
.brz .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}
|
1270 |
-
.brz .select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice{float:right;margin-left:5px;margin-right:auto}
|
1271 |
-
.brz .select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}
|
1272 |
-
.brz .select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}
|
1273 |
-
.brz .select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}
|
1274 |
-
.brz .select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}
|
1275 |
-
.brz .select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}
|
1276 |
-
.brz .select2-container--classic .select2-search--inline .select2-search__field{outline:0;-webkit-box-shadow:none;box-shadow:none}
|
1277 |
-
.brz .select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}
|
1278 |
-
.brz .select2-container--classic .select2-dropdown--above{border-bottom:none}
|
1279 |
-
.brz .select2-container--classic .select2-dropdown--below{border-top:none}
|
1280 |
-
.brz .select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}
|
1281 |
-
.brz .select2-container--classic .select2-results__option[role=group]{padding:0}
|
1282 |
-
.brz .select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}
|
1283 |
-
.brz .select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}
|
1284 |
-
.brz .select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}
|
1285 |
-
.brz .select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb}
|
1286 |
-
.brz .ps{overflow:hidden!important;overflow-anchor:none;-ms-overflow-style:none;touch-action:auto;-ms-touch-action:auto}
|
1287 |
-
.brz .ps__rail-x{display:none;opacity:0;transition:background-color .2s linear,opacity .2s linear;-webkit-transition:background-color .2s linear,opacity .2s linear;height:15px;bottom:0;position:absolute}
|
1288 |
-
.brz .ps__rail-y{display:none;opacity:0;transition:background-color .2s linear,opacity .2s linear;-webkit-transition:background-color .2s linear,opacity .2s linear;width:15px;right:0;position:absolute}
|
1289 |
-
.brz .ps--active-x>.ps__rail-x,.brz .ps--active-y>.ps__rail-y{display:block;background-color:transparent}
|
1290 |
-
.brz .ps--focus>.ps__rail-x,.brz .ps--focus>.ps__rail-y,.brz .ps--scrolling-x>.ps__rail-x,.brz .ps--scrolling-y>.ps__rail-y,.brz .ps:hover>.ps__rail-x,.brz .ps:hover>.ps__rail-y{opacity:.6}
|
1291 |
-
.brz .ps .ps__rail-x.ps--clicking,.brz .ps .ps__rail-x:focus,.brz .ps .ps__rail-x:hover,.brz .ps .ps__rail-y.ps--clicking,.brz .ps .ps__rail-y:focus,.brz .ps .ps__rail-y:hover{background-color:#eee;opacity:.9}
|
1292 |
-
.brz .ps__thumb-x{background-color:#aaa;border-radius:6px;transition:background-color .2s linear,height .2s ease-in-out;-webkit-transition:background-color .2s linear,height .2s ease-in-out;height:6px;bottom:2px;position:absolute}
|
1293 |
-
.brz .ps__thumb-y{background-color:#aaa;border-radius:6px;transition:background-color .2s linear,width .2s ease-in-out;-webkit-transition:background-color .2s linear,width .2s ease-in-out;width:6px;right:2px;position:absolute}
|
1294 |
-
.brz .ps__rail-x.ps--clicking .ps__thumb-x,.brz .ps__rail-x:focus>.ps__thumb-x,.brz .ps__rail-x:hover>.ps__thumb-x{background-color:#999;height:11px}
|
1295 |
-
.brz .ps__rail-y.ps--clicking .ps__thumb-y,.brz .ps__rail-y:focus>.ps__thumb-y,.brz .ps__rail-y:hover>.ps__thumb-y{background-color:#999;width:11px}
|
1296 |
-
@supports (-ms-overflow-style:none){.brz .ps{overflow:auto!important}}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.brz .ps{overflow:auto!important}}.brz .brz-forms2{width:100%}
|
1297 |
-
.brz .brz-forms2__fields,.brz .brz-forms2__wrap{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}
|
1298 |
-
.brz .brz-forms2__field{outline:0}
|
1299 |
-
.brz .brz-forms2__wrap{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}
|
1300 |
-
.brz .brz-forms2__item{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-negative:0;flex-shrink:0}
|
1301 |
-
.brz .brz-forms2 .brz-input,.brz .brz-forms2 .brz-textarea{display:block;width:100%;height:auto;max-width:100%;min-height:auto;background-color:transparent;border:none;outline:0;color:inherit;font-size:inherit;font-family:inherit;letter-spacing:inherit;font-weight:inherit;line-height:inherit;-webkit-box-shadow:none;box-shadow:none}
|
1302 |
-
.brz .brz-forms2 .brz-input::-webkit-input-placeholder,.brz .brz-forms2 .brz-textarea::-webkit-input-placeholder{color:inherit;opacity:.5}
|
1303 |
-
.brz .brz-forms2 .brz-input::-moz-placeholder,.brz .brz-forms2 .brz-textarea::-moz-placeholder{color:inherit;opacity:.5}
|
1304 |
-
.brz .brz-forms2 .brz-input::-ms-input-placeholder,.brz .brz-forms2 .brz-textarea::-ms-input-placeholder{color:inherit;opacity:.5}
|
1305 |
-
.brz .brz-forms2 .brz-input::placeholder,.brz .brz-forms2 .brz-textarea::placeholder{color:inherit;opacity:.5}
|
1306 |
-
.brz .brz-forms2 .brz-textarea{height:100%;resize:none}
|
1307 |
-
.brz .brz-forms2 .brz-label{display:block}
|
1308 |
-
.brz .brz-forms2 .brz-forms2__field{text-align:left}
|
1309 |
-
.brz .brz-forms2 .brz-forms2__field-label{border:none;cursor:auto}
|
1310 |
-
.brz .brz-forms2__radio.brz-forms2__field{padding:0;border:none!important;margin-bottom:-20px}
|
1311 |
-
.brz .brz-forms2__radio-option{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding-bottom:1.2em}
|
1312 |
-
.brz .brz-forms2__radio-option .brz-span{margin-left:10px;margin-right:auto}
|
1313 |
-
.brz .brz-forms2__radio-option input.brz-input{cursor:auto}
|
1314 |
-
.brz .brz-forms2__checkbox-options,.brz .brz-forms2__radio-options{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap}
|
1315 |
-
.brz .brz-forms2 .brz-control__check-group-icon,.brz .brz-forms2 .brz-control__radio-check{-ms-flex-preferred-size:1em;flex-basis:1em}
|
1316 |
-
.brz .brz-forms2 .brz-forms2__checkbox-option-name,.brz .brz-forms2 .brz-forms2__radio-option-name{-ms-flex-preferred-size:calc(100% - 1em - 10px);flex-basis:calc(100% - 1em - 10px)}
|
1317 |
-
.brz .brz-forms2__checkbox.brz-forms2__field{padding:0;border:none!important;margin-bottom:-20px}
|
1318 |
-
.brz .brz-forms2__checkbox-option{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding-bottom:1.2em}
|
1319 |
-
.brz .brz-forms2__checkbox-option .brz-forms2__checkbox-option-name{margin-left:10px;margin-right:auto}
|
1320 |
-
.brz .brz-forms2__checkbox-option input.brz-input{cursor:auto}
|
1321 |
-
.brz .brz-forms2__checkbox-option .brz-control__radio-check{border-radius:0}
|
1322 |
-
.brz .brz-forms2__item-button .brz-btn{outline:0;width:100%}
|
1323 |
-
.brz .brz-forms2__item-button .brz-icon-svg{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0}
|
1324 |
-
.brz .brz-forms2__alert{min-height:55px;width:100%;font-size:12px;line-height:2;letter-spacing:2.5px;font-weight:600;text-transform:uppercase;padding:17px 30px;color:#fff;margin-top:15px}
|
1325 |
-
.brz .brz-forms2__alert--success{background-color:#15d053}
|
1326 |
-
.brz .brz-forms2__alert--error{background-color:red}
|
1327 |
-
.brz .brz-forms2__item--error .brz-control__check-group,.brz .brz-forms2__item--error .brz-control__radio{color:red!important}
|
1328 |
-
.brz.brz:not(.brz-ed) .brz-control__check-group .brz-label{font:inherit;display:inherit;-webkit-box-align:inherit;-ms-flex-align:inherit;align-items:inherit;width:100%;cursor:pointer}
|
1329 |
-
.brz.brz:not(.brz-ed) .brz-control__check-group--check{display:none}
|
1330 |
-
.brz.brz:not(.brz-ed) .brz-control__check-group .brz-input{display:none}
|
1331 |
-
.brz.brz:not(.brz-ed) .brz-control__check-group .brz-input:checked~.brz-label .brz-control__check-group--check{display:inline-block}
|
1332 |
-
.brz.brz:not(.brz-ed) .brz-control__check-group .brz-input:checked~.brz-label .brz-control__check-group--uncheck{display:none}
|
1333 |
-
.brz.brz:not(.brz-ed) .brz-control__radio .brz-label{font:inherit;display:inherit;-webkit-box-align:inherit;-ms-flex-align:inherit;align-items:inherit;width:100%;cursor:pointer}
|
1334 |
-
.brz.brz:not(.brz-ed) .brz-control__radio--check{display:none}
|
1335 |
-
.brz.brz:not(.brz-ed) .brz-control__radio .brz-input{display:none}
|
1336 |
-
.brz.brz:not(.brz-ed) .brz-control__radio .brz-input:checked~.brz-label .brz-control__radio--check{display:inline-block}
|
1337 |
-
.brz.brz:not(.brz-ed) .brz-control__radio .brz-input:checked~.brz-label .brz-control__radio--uncheck{display:none}
|
1338 |
-
.brz.brz:not(.brz-ed) .brz-forms2__field-select{padding:0}
|
1339 |
-
.brz.brz:not(.brz-ed) .brz-select{width:100%;visibility:hidden}
|
1340 |
-
.brz.brz:not(.brz-ed) .brz-forms2__field-select .select2-dropdown{background-color:#fff;border:none;border-radius:0}
|
1341 |
-
.brz.brz:not(.brz-ed) .brz-forms2__field-select .select2-results__option{padding:12px 24px;font-size:16px;height:48px;line-height:1.5;cursor:pointer;background-color:inherit}
|
1342 |
-
.brz.brz:not(.brz-ed) .brz-forms2__field-select .select2-container{height:100%}
|
1343 |
-
.brz.brz:not(.brz-ed) .brz-forms2__field-select .select2-container,.brz.brz:not(.brz-ed) .brz-forms2__field-select .select2-selection{outline:0}
|
1344 |
-
.brz.brz:not(.brz-ed) .brz-forms2__field-select .select2-selection--multiple,.brz.brz:not(.brz-ed) .brz-forms2__field-select .select2-selection--single{height:100%;border:none;background-color:transparent;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap}
|
1345 |
-
.brz.brz:not(.brz-ed) .brz-forms2__field-select .select2-selection--multiple .select2-selection__rendered,.brz.brz:not(.brz-ed) .brz-forms2__field-select .select2-selection--single .select2-selection__rendered{color:inherit;line-height:1;padding:0;-webkit-box-flex:1;-ms-flex:1;flex:1}
|
1346 |
-
.brz.brz:not(.brz-ed) .brz-forms2__field-select .select2-selection--multiple .select2-selection__rendered{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:-2.5px}
|
1347 |
-
.brz.brz:not(.brz-ed) .brz-forms2__field-select .select2-selection--multiple .select2-selection__choice{margin:2.5px;float:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:none;padding:0 11px}
|
1348 |
-
.brz.brz:not(.brz-ed) .brz-forms2__field-select .select2-selection--multiple .select2-selection__choice__remove{display:block;font-size:inherit;font-weight:400;color:inherit;margin-right:0;margin-left:8px}
|
1349 |
-
.brz.brz:not(.brz-ed) .brz-forms2__field-select .select2-selection__arrow{top:50%;right:18px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}
|
1350 |
-
.brz.brz:not(.brz-ed) .brz-forms2__field-select .select2-selection__clear{margin-right:14px}
|
1351 |
-
.brz.brz:not(.brz-ed) .brz-forms2__field-select .select2-search__field{font:inherit;color:inherit;margin:0}
|
1352 |
-
.brz.brz:not(.brz-ed) .brz-forms2__field-select .select2-search__field::-webkit-input-placeholder{color:inherit}
|
1353 |
-
.brz.brz:not(.brz-ed) .brz-forms2__field-select .select2-search__field::-moz-placeholder{color:inherit}
|
1354 |
-
.brz.brz:not(.brz-ed) .brz-forms2__field-select .select2-search__field::-ms-input-placeholder{color:inherit}
|
1355 |
-
.brz.brz:not(.brz-ed) .brz-forms2__field-select .select2-search__field::placeholder{color:inherit}
|
1356 |
-
.brz.brz:not(.brz-ed) .brz-forms2__field-select .select2-container .select2-search--inline{margin:2.5px;-webkit-box-flex:1;-ms-flex:1;flex:1;float:none}
|
1357 |
-
.brz.brz:not(.brz-ed) .brz-forms2__field-select .select2-container--default .select2-results>.select2-results__options{max-height:initial}
|
1358 |
-
.brz.brz:not(.brz-ed) .brz-forms2__field-select .select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:inherit;color:inherit}
|
1359 |
-
.brz.brz:not(.brz-ed) .brz-forms2__field-select .select2-container--default .select2-selection--single .select2-selection__placeholder{color:inherit}
|
1360 |
-
.brz.brz:not(.brz-ed) .brz-forms2__field-select .select2-container--default .select2-selection--single .select2-selection__placeholder:empty:before{content:"Fake content";visibility:hidden}
|
1361 |
-
.brz.brz:not(.brz-ed) .brz-forms2__field-select .select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:currentColor transparent transparent}
|
1362 |
-
.brz.brz:not(.brz-ed) .brz-forms2__field-select .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent currentColor}
|
1363 |
-
.brz.brz:not(.brz-ed) .brz-forms2__field-select .select2-container--open .select2-dropdown{top:1px;max-height:200px;overflow:hidden}
|
1364 |
-
.brz.brz:not(.brz-ed) .brz-forms2__field-select .select2-dropdown--below{background-color:transparent}
|
1365 |
-
.brz.brz:not(.brz-ed) .brz-forms2__field-select .ps__thumb-y{background-color:rgba(0,0,0,.2)}
|
1366 |
-
.brz.brz:not(.brz-ed) .brz-forms2__field-select .ps .ps__rail-x.ps--clicking,.brz.brz:not(.brz-ed) .brz-forms2__field-select .ps .ps__rail-x:focus,.brz.brz:not(.brz-ed) .brz-forms2__field-select .ps .ps__rail-x:hover,.brz.brz:not(.brz-ed) .brz-forms2__field-select .ps .ps__rail-y.ps--clicking,.brz.brz:not(.brz-ed) .brz-forms2__field-select .ps .ps__rail-y:focus,.brz.brz:not(.brz-ed) .brz-forms2__field-select .ps .ps__rail-y:hover{background-color:transparent}
|
1367 |
-
.brz.brz:not(.brz-ed) .brz-forms2__field-select .ps__rail-y.ps--clicking .ps__thumb-y,.brz.brz:not(.brz-ed) .brz-forms2__field-select .ps__rail-y:focus>.ps__thumb-y,.brz.brz:not(.brz-ed) .brz-forms2__field-select .ps__rail-y:hover>.ps__thumb-y{width:6px}
|
1368 |
-
.brz.brz:not(.brz-ed) .brz-forms2__field-select .ps--focus>.ps__rail-x,.brz.brz:not(.brz-ed) .brz-forms2__field-select .ps--focus>.ps__rail-y,.brz.brz:not(.brz-ed) .brz-forms2__field-select .ps--scrolling-x>.ps__rail-x,.brz.brz:not(.brz-ed) .brz-forms2__field-select .ps--scrolling-y>.ps__rail-y,.brz.brz:not(.brz-ed) .brz-forms2__field-select .ps:hover>.ps__rail-x,.brz.brz:not(.brz-ed) .brz-forms2__field-select .ps:hover>.ps__rail-y,.brz.brz:not(.brz-ed) .brz-forms2__field-select .ps__rail-x,.brz.brz:not(.brz-ed) .brz-forms2__field-select .ps__rail-y{opacity:1}
|
1369 |
-
.brz.brz:not(.brz-ed) .flatpickr-calendar{font-family:Lato,sans-serif;width:306px}
|
1370 |
-
.brz.brz:not(.brz-ed) .flatpickr-calendar.hasTime{width:150px}
|
1371 |
-
.brz.brz:not(.brz-ed) .flatpickr-calendar.open{max-height:600px}
|
1372 |
-
.brz.brz:not(.brz-ed) .flatpickr-calendar .dayContainer{width:286px;min-width:286px;max-width:286px}
|
1373 |
-
.brz.brz:not(.brz-ed) .flatpickr-calendar .numInputWrapper:hover{background-color:transparent}
|
1374 |
-
.brz.brz:not(.brz-ed) .flatpickr-months{padding:10px 10px 0}
|
1375 |
-
.brz.brz:not(.brz-ed) .flatpickr-innerContainer{padding:0 10px 10px}
|
1376 |
-
.brz.brz:not(.brz-ed) .flatpickr-next-month,.brz.brz:not(.brz-ed) .flatpickr-prev-month{top:7px}
|
1377 |
-
.brz.brz:not(.brz-ed) .flatpickr-next-month{right:10px}
|
1378 |
-
.brz.brz:not(.brz-ed) .flatpickr-prev-month{left:10px}
|
1379 |
-
.brz.brz:not(.brz-ed) .flatpickr-months .flatpickr-next-month,.brz.brz:not(.brz-ed) .flatpickr-months .flatpickr-prev-month{color:rgba(0,0,0,.5)}
|
1380 |
-
.brz.brz:not(.brz-ed) .flatpickr-months .flatpickr-next-month:hover,.brz.brz:not(.brz-ed) .flatpickr-months .flatpickr-prev-month:hover{color:#000}
|
1381 |
-
.brz.brz:not(.brz-ed) .flatpickr-months .flatpickr-next-month svg,.brz.brz:not(.brz-ed) .flatpickr-months .flatpickr-prev-month svg{fill:currentColor}
|
1382 |
-
.brz.brz:not(.brz-ed) .flatpickr-current-month input.cur-year{font-size:17px;font-weight:700}
|
1383 |
-
.brz.brz:not(.brz-ed) .flatpickr-current-month .numInputWrapper:hover,.brz.brz:not(.brz-ed) .flatpickr-current-month span.cur-month:hover{background-color:transparent}
|
1384 |
-
.brz.brz:not(.brz-ed) .flatpickr-weekdays{padding:20px 0 15px;height:auto}
|
1385 |
-
.brz.brz:not(.brz-ed) .flatpickr-weekday{color:rgba(0,0,0,.8)}
|
1386 |
-
.brz.brz:not(.brz-ed) .flatpickr-days{width:286px;font-size:13px;font-weight:700}
|
1387 |
-
.brz.brz:not(.brz-ed) .flatpickr-day{height:36px;max-width:36px;line-height:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}
|
1388 |
-
.brz.brz:not(.brz-ed) .flatpickr-day.today{border-color:#a9a9a9}
|
1389 |
-
.brz.brz:not(.brz-ed) .flatpickr-day:focus,.brz.brz:not(.brz-ed) .flatpickr-day:hover{color:#fff;border-color:#a9a9a9;background-color:#a9a9a9}
|
1390 |
-
.brz.brz:not(.brz-ed) .flatpickr-day.selected{border-color:rgba(0,0,0,.9);background-color:rgba(0,0,0,.9)}
|
1391 |
-
.brz.brz:not(.brz-ed) .flatpickr-time input{font-size:15px;font-weight:700;text-align:left;text-indent:12px}
|
1392 |
-
.brz.brz:not(.brz-ed) .flatpickr-time .flatpickr-am-pm:focus,.brz.brz:not(.brz-ed) .flatpickr-time .flatpickr-am-pm:hover,.brz.brz:not(.brz-ed) .flatpickr-time input:focus,.brz.brz:not(.brz-ed) .flatpickr-time input:hover{background-color:transparent}
|
1393 |
-
.brz.brz:not(.brz-ed) .flatpickr-am-pm{font-size:14px;font-weight:700;color:rgba(0,0,0,.7);width:32.66%}
|
1394 |
-
.brz.brz:not(.brz-ed) .flatpickr-am-pm:focus,.brz.brz:not(.brz-ed) .flatpickr-am-pm:hover{color:#000}
|
1395 |
-
.brz.brz:not(.brz-ed) .flatpickr-calendar.hasTime .numInputWrapper{width:32.66%}
|
1396 |
-
.brz.brz:not(.brz-ed) .flatpickr-calendar.hasTime .numInputWrapper span.arrowDown,.brz.brz:not(.brz-ed) .flatpickr-calendar.hasTime .numInputWrapper span.arrowUp{height:10px;top:50%}
|
1397 |
-
.brz.brz:not(.brz-ed) .flatpickr-calendar.hasTime .numInputWrapper span.arrowUp{margin-top:-10px}
|
1398 |
-
.brz.brz:not(.brz-ed) .flatpickr-calendar.hasTime .numInputWrapper span.arrowDown{margin-bottom:-10px}
|
1399 |
-
.brz .brz-input__upload{position:relative}
|
1400 |
-
.brz .brz-input__upload .brz-label{font:inherit;width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-right:1.5em;cursor:pointer}
|
1401 |
-
.brz .brz-input__upload .brz-label .brz-span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
1402 |
-
.brz .brz-input__upload .brz-label .brz-span:empty:before{content:"Hidden Placeholder";visibility:hidden}
|
1403 |
-
.brz .brz-input__upload .brz-input__upload-delete{cursor:pointer;position:absolute;top:50%;right:24px;-webkit-transform:translateY(-50%);transform:translateY(-50%);font-size:1.5em}
|
1404 |
-
.brz .brz-input__upload .brz-input:not(.brz-input__upload-placeholder){display:none}
|
1405 |
-
.brz .brz-input__upload .brz-button{background-color:#fff;color:#000;border:1px solid #ccc;border-radius:3px;font-size:inherit;font-weight:inherit;font-family:inherit;line-height:1;padding:.5em;position:absolute;top:50%;right:24px;-webkit-transform:translateY(-50%);transform:translateY(-50%);outline:0!important}
|
1406 |
-
@media (max-width:767px){.brz .brz-forms2__select-item__input{font-size:14px;padding:10px 16px}
|
1407 |
-
.brz .brz-forms2 .brz-control__select-current{padding:10px 16px}
|
1408 |
-
.brz .brz-forms2 .brz-control__select-options .brz-control__select-option{padding:10px 16px;font-size:14px}}.brz .brz-tabs{min-width:0}
|
1409 |
-
.brz .brz-tabs--horizontal{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}
|
1410 |
-
.brz .brz-tabs--vertical{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%}
|
1411 |
-
.brz .brz-tabs--vertical.brz-tabs--right{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}
|
1412 |
-
.brz .brz-tabs__nav{overflow:hidden;margin:0;padding:0;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}
|
1413 |
-
.brz .brz-tabs__nav--horizontal{display:-webkit-box;display:-ms-flexbox;display:flex}
|
1414 |
-
.brz .brz-tabs__nav--button{padding:10px 15px;cursor:pointer;border-style:solid;background-clip:padding-box;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}
|
1415 |
-
.brz .brz-tabs__nav--item{position:relative;list-style:none;margin:0;line-height:unset;z-index:var(--zIndex)}
|
1416 |
-
.brz .brz-tabs .brz-tabs__nav--style-1 .brz-tabs__nav--active:after,.brz .brz-tabs .brz-tabs__nav--style-1 .brz-tabs__nav--active:before{content:"";position:absolute}
|
1417 |
-
.brz .brz-tabs__nav--vertical.brz-tabs__nav--left .brz-tabs__nav--active:after,.brz .brz-tabs__nav--vertical.brz-tabs__nav--left .brz-tabs__nav--active:before{height:100vh;right:0}
|
1418 |
-
.brz .brz-tabs__nav--vertical.brz-tabs__nav--left .brz-tabs__nav--active:before{bottom:100%}
|
1419 |
-
.brz .brz-tabs__nav--vertical.brz-tabs__nav--right .brz-tabs__nav--active:after,.brz .brz-tabs__nav--vertical.brz-tabs__nav--right .brz-tabs__nav--active:before{height:100vh;left:0}
|
1420 |
-
.brz .brz-tabs__nav--vertical.brz-tabs__nav--right .brz-tabs__nav--active:before{bottom:100%}
|
1421 |
-
.brz .brz-tabs__nav--horizontal .brz-tabs__nav--active:after,.brz .brz-tabs__nav--horizontal .brz-tabs__nav--active:before{width:100vw;height:2px;bottom:0}
|
1422 |
-
.brz .brz-tabs__nav--horizontal .brz-tabs__nav--active:before{left:-100vw}
|
1423 |
-
.brz .brz-tabs__nav--horizontal .brz-tabs__nav--active:after{right:-100vw}
|
1424 |
-
.brz .brz-tabs__nav--mobile{display:none}
|
1425 |
-
.brz .brz-tabs__items{display:none;border-style:solid;background-clip:padding-box;width:100%}
|
1426 |
-
.brz .brz-tabs__items--active{display:block}
|
1427 |
-
.brz .brz-tabs__items--active>.brz-tabs__item--content{-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-duration:.15s;animation-duration:.15s;-webkit-animation-fill-mode:both;animation-fill-mode:both}
|
1428 |
-
.brz .brz-tabs__items--active .brz-bg-content:empty{min-height:50px}
|
1429 |
-
.brz .brz-tabs__content--vertical{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}
|
1430 |
-
.brz .brz-tabs__content--vertical .brz-tabs__items{height:100%}
|
1431 |
-
.brz .brz-tabs__content--vertical.brz-tabs__content--style-1.brz-tabs__content--left .brz-tabs__items--active,.brz .brz-tabs__content--vertical.brz-tabs__content--style-1.brz-tabs__content--left .brz-tabs__items--active:hover{border-left-style:none}
|
1432 |
-
.brz .brz-tabs__content--vertical.brz-tabs__content--right.brz-tabs__content--style-1 .brz-tabs__items--active,.brz .brz-tabs__content--vertical.brz-tabs__content--right.brz-tabs__content--style-1 .brz-tabs__items--active:hover{border-right-style:none}
|
1433 |
-
.brz .brz-tabs__content--horizontal.brz-tabs__content--style-1 .brz-tabs__items--active,.brz .brz-tabs__content--horizontal.brz-tabs__content--style-1 .brz-tabs__items--active:hover{border-top-style:none}
|
1434 |
-
@media (max-width:991px){.brz .brz-tabs__nav{margin:0!important}
|
1435 |
-
.brz .brz-tabs__nav--mobile{display:block}
|
1436 |
-
.brz .brz-tabs__nav--mobile>.brz-tabs__nav--button{border-width:0!important;-webkit-box-shadow:none!important;box-shadow:none!important}
|
1437 |
-
.brz .brz-tabs__nav--desktop{display:none}
|
1438 |
-
.brz .brz-tabs__items{display:block}
|
1439 |
-
.brz .brz-tabs__items>.brz-tabs__item--content{display:none}
|
1440 |
-
.brz .brz-tabs__items:not(:last-child){margin-bottom:3px}
|
1441 |
-
.brz .brz-tabs__items--active>.brz-tabs__nav--button{border-bottom:solid}
|
1442 |
-
.brz .brz-tabs__items--active>.brz-tabs__item--content{display:block}
|
1443 |
-
.brz .brz-tabs__content--vertical .brz-tabs__items{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}
|
1444 |
-
.brz .brz-tabs__content .brz-tabs__items--active{border-top-style:solid}
|
1445 |
-
.brz .brz-tabs__content.brz-tabs__content--vertical.brz-tabs__content--left .brz-tabs__items--active,.brz .brz-tabs__content.brz-tabs__content--vertical.brz-tabs__content--left .brz-tabs__items--active:hover{border-left-style:solid}
|
1446 |
-
.brz .brz-tabs__content.brz-tabs__content--vertical.brz-tabs__content--right .brz-tabs__items--active,.brz .brz-tabs__content.brz-tabs__content--vertical.brz-tabs__content--right .brz-tabs__items--active:hover{border-right-style:solid}
|
1447 |
-
.brz .brz-tabs__content.brz-tabs__content--horizontal.brz-tabs__content--style-1 .brz-tabs__items--active,.brz .brz-tabs__content.brz-tabs__content--horizontal.brz-tabs__content--style-1 .brz-tabs__items--active:hover{border-top-style:solid}
|
1448 |
-
.brz .brz-tabs__nav--horizontal.brz-tabs__nav.brz-tabs__nav--style-2{display:none}}.brz .brz-timeline__tab{position:relative;list-style:none;min-width:280px}
|
1449 |
-
.brz .brz-timeline__tab:after{content:"";position:absolute}
|
1450 |
-
.brz .brz-timeline__tab:before{content:"";position:absolute}
|
1451 |
-
.brz .brz-timeline__tab:last-child:after{display:none}
|
1452 |
-
.brz .brz-timeline__nav--title{position:relative;text-align:center;left:-10px;min-width:116px;max-width:116px;width:116px}
|
1453 |
-
.brz .brz-timeline__nav--icon{margin-left:20px}
|
1454 |
-
.brz .brz-timeline__content{border-style:solid;border-radius:5px;-webkit-box-shadow:0 0 20px 0 rgba(52,49,75,.1);box-shadow:0 0 20px 0 rgba(52,49,75,.1);position:relative}
|
1455 |
-
.brz .brz-timeline__content:before{content:"";position:absolute;top:0;width:15px;height:15px;-webkit-transform:translateY(-50%) rotate(45deg);transform:translateY(-50%) rotate(45deg)}
|
1456 |
-
.brz .brz-timeline__nav--mobile{display:none}
|
1457 |
-
.brz .brz-switcher{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%}
|
1458 |
-
.brz .brz-switcher__nav{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transition-duration:.3s;transition-duration:.3s;position:relative}
|
1459 |
-
.brz .brz-switcher__nav:before{content:"";position:absolute;left:calc(50% - 2px);height:calc(100% - 4px);width:calc(50% - 2px);margin:2px;-webkit-transition-duration:.3s;transition-duration:.3s}
|
1460 |
-
.brz .brz-switcher__nav--item{width:50%;height:100%;max-width:50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;white-space:nowrap}
|
1461 |
-
.brz .brz-switcher__nav--item--active{z-index:1}
|
1462 |
-
.brz .brz-switcher__nav--active:before{content:"";-webkit-transform:translateX(-100%);transform:translateX(-100%)}
|
1463 |
-
.brz .brz-switcher__nav--text{position:relative}
|
1464 |
-
.brz .brz-switcher__content--tab{display:none;width:100%}
|
1465 |
-
.brz .brz-switcher__content--tab--active{display:block}
|
1466 |
-
.brz .brz-switcher__nav>.brz-switcher__nav--item>span{cursor:pointer}
|
1467 |
-
.brz .brz-switcher__nav2{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}
|
1468 |
-
.brz .brz-switcher__nav2--control{height:47px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transition-duration:.3s;transition-duration:.3s}
|
1469 |
-
.brz .brz-switcher__nav2--control:before{content:"";position:relative;left:calc(50% + 2px);margin:2px;height:calc(100% - 4px);width:calc(50% - 5px);-webkit-transition-duration:.3s;transition-duration:.3s}
|
1470 |
-
.brz .brz-switcher__nav2--control--active:before{content:"";-webkit-transform:translateX(calc(-100% - 8px));transform:translateX(calc(-100% - 8px))}
|
1471 |
-
.brz .brz-switcher__nav2 span{margin:0 20px}
|
1472 |
-
.brz .brz-switcher--style2>.brz-switcher__nav2>span{cursor:pointer}
|
1473 |
-
.brz .brz-accordion{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}
|
1474 |
-
.brz .brz-accordion__nav{padding:10px 15px;cursor:pointer;background-clip:padding-box;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}
|
1475 |
-
.brz .brz-accordion__nav--icon,.brz .brz-accordion__nav--previewIcon,.brz .brz-accordion__nav--previewIcon--active{margin:auto 0}
|
1476 |
-
.brz .brz-accordion__item{display:block;width:100%}
|
1477 |
-
.brz .brz-accordion__item>.brz-accordion__content{display:none;background-clip:padding-box;border-top-color:transparent!important}
|
1478 |
-
.brz .brz-accordion__item>.brz-accordion__nav>.brz-accordion--icon-wrapper>.brz-accordion__nav--previewIcon--active{display:none}
|
1479 |
-
.brz .brz-accordion__item--active>.brz-accordion__nav>.brz-accordion--icon-wrapper>.brz-accordion__nav--previewIcon--active{display:block}
|
1480 |
-
.brz .brz-accordion__item--active>.brz-accordion__nav>.brz-accordion--icon-wrapper>.brz-accordion__nav--previewIcon{display:none}
|
1481 |
-
.brz .brz-accordion__item--active>.brz-accordion__content{display:block}
|
1482 |
-
.brz .brz-accordion__item--active>.brz-accordion__content:empty{min-height:50px}
|
1483 |
-
.brz .brz-accordion__filter-wrapper{width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}
|
1484 |
-
.brz .brz-accordion__filter{width:100%;list-style:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:inherit;-ms-flex-pack:inherit;justify-content:inherit;padding:0;-ms-flex-wrap:wrap;flex-wrap:wrap}
|
1485 |
-
.brz .brz-accordion__filter--style-2{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}
|
1486 |
-
.brz .brz-accordion__filter__item{cursor:pointer}
|
1487 |
-
.brz .brz-accordion__filter__item:first-child{margin-left:0!important}
|
1488 |
-
.brz .brz-accordion__filter__item:last-child{margin-right:0!important}
|
1489 |
-
.brz .brz-accordion__hidden{display:none}
|
1490 |
-
.brz .brz-image__gallery{width:100%}
|
1491 |
-
.brz .brz-image__gallery-wrapper .brz-image{display:block}
|
1492 |
-
.brz .brz-image__gallery-item{-webkit-transition:none!important;transition:none!important}
|
1493 |
-
.brz .brz-image__gallery--filter-wrapper{width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}
|
1494 |
-
.brz .brz-image__gallery-filter{width:100%;list-style:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:0}
|
1495 |
-
.brz .brz-image__gallery-filter--style-2{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}
|
1496 |
-
.brz .brz-image__gallery-filter__item{cursor:pointer}
|
1497 |
-
.brz .brz-image__gallery-filter__item:first-child{margin-left:0!important}
|
1498 |
-
.brz .brz-image__gallery-filter__item:last-child{margin-right:0!important}
|
1499 |
-
.brz .brz-popup{position:fixed;width:100%;height:100%;top:0;left:0;z-index:1070}
|
1500 |
-
.brz .brz-popup__close{position:absolute;z-index:2;top:36px;left:50px;color:#fff;font-size:0;cursor:pointer}
|
1501 |
-
.brz .brz-popup__close .brz-icon-svg{font-size:26px}
|
1502 |
-
.brz .brz-popup__inner>.brz-bg-content{max-height:100%;overflow:auto;padding-top:70px;padding-bottom:70px}
|
1503 |
-
.brz .brz-popup__preview{z-index:-1;visibility:hidden;-webkit-transform:translate(-100%);transform:translate(-100%);opacity:0;-webkit-transition:.3s cubic-bezier(.25,.46,.45,.94) opacity,.3s cubic-bezier(.25,.46,.45,.94) visibility,.3s cubic-bezier(.25,.46,.45,.94) z-index;transition:.3s cubic-bezier(.25,.46,.45,.94) opacity,.3s cubic-bezier(.25,.46,.45,.94) visibility,.3s cubic-bezier(.25,.46,.45,.94) z-index}
|
1504 |
-
.brz .brz-popup__preview.brz-popup--opened{z-index:1070;visibility:visible;-webkit-transform:translate(0);transform:translate(0);opacity:1;-webkit-transition:.3s cubic-bezier(.25,.46,.45,.94) opacity,.3s cubic-bezier(.25,.46,.45,.94) visibility,.3s cubic-bezier(.25,.46,.45,.94) z-index;transition:.3s cubic-bezier(.25,.46,.45,.94) opacity,.3s cubic-bezier(.25,.46,.45,.94) visibility,.3s cubic-bezier(.25,.46,.45,.94) z-index}
|
1505 |
-
.brz .brz-popup2{position:fixed;width:100%;height:100%;top:0;left:0;z-index:1060}
|
1506 |
-
.brz .brz-popup2__close{position:absolute;z-index:2;color:#fff;font-size:0;cursor:pointer}
|
1507 |
-
.brz .brz-popup2__close .brz-icon-svg{font-size:26px}
|
1508 |
-
.brz .brz-popup2 .brz-container__wrap{position:relative}
|
1509 |
-
.brz .brz-popup2 .brz-container__wrap .brz-container{height:100%}
|
1510 |
-
.brz .brz-popup2__inner{height:100%}
|
1511 |
-
.brz .brz-popup2__inner>.brz-bg-content{max-height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;overflow-x:hidden;overflow-y:auto}
|
1512 |
-
.brz .brz-popup2__inner>.brz-bg-content>.brz-container__wrap{max-height:100%;margin:0;padding:0;min-width:300px}
|
1513 |
-
.brz .brz-popup2__vertical-align{-webkit-transform:rotate(270deg);transform:rotate(270deg)}
|
1514 |
-
.brz .brz-popup2__preview{z-index:-1;visibility:hidden;-webkit-transform:translate(0,-110%);transform:translate(0,-110%);opacity:0;-webkit-transition:.3s cubic-bezier(.25,.46,.45,.94) opacity;transition:.3s cubic-bezier(.25,.46,.45,.94) opacity}
|
1515 |
-
.brz .brz-popup2__preview.brz-popup2--opened{z-index:1070;visibility:visible;-webkit-transform:translate(0,0);transform:translate(0,0);opacity:1;-webkit-transition:.3s cubic-bezier(.25,.46,.45,.94) opacity;transition:.3s cubic-bezier(.25,.46,.45,.94) opacity}
|
1516 |
-
.brz .brz-carousel{display:block;width:100%}
|
1517 |
-
.brz .brz-carousel__slider:not(.slick-initialized){display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}
|
1518 |
-
.brz .brz-carousel>.slick-slider{overflow:hidden}
|
1519 |
-
.brz .brz-carousel>.slick-slider .slick-slide{height:auto}
|
1520 |
-
.brz .brz-carousel>.slick-slider>.slick-list>.slick-track>.slick-slide>div{height:100%}
|
1521 |
-
.brz .brz-carousel>.slick-slider>.slick-list>.slick-track>.slick-slide>div>.brz-carousel__item,.brz .brz-carousel>.slick-slider>.slick-list>.slick-track>.slick-slide>div>.brz-carousel__item>.brz-columns,.brz .brz-carousel>.slick-slider>.slick-list>.slick-track>.slick-slide>div>.brz-columns{height:100%}
|
1522 |
-
.brz .brz-carousel>.slick-slider>.brz-slick-slider__arrow{opacity:1}
|
1523 |
-
.brz .brz-carousel>.slick-slider>.brz-slick-slider__dots{bottom:10px}
|
1524 |
-
.brz .brz-carousel>.slick-slider .slick-slide{outline:0}
|
1525 |
-
.brz .brz-carousel>.slick-slider .slick-track{-ms-flex-wrap:nowrap;flex-wrap:nowrap}
|
1526 |
-
.brz .brz-carousel .brz-icon-svg,.brz .brz-carousel .brz-rich-text *{-webkit-backface-visibility:hidden;backface-visibility:hidden}
|
1527 |
-
@media (max-width:767px){.brz.brz:not(.brz-ed) .slick-slider *{min-width:0;min-height:0}}.brz .brz-posts{width:100%;display:grid}
|
1528 |
-
.brz .brz-posts ul.page-numbers{margin:0;list-style:none;padding:0;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;grid-column:1/-1;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}
|
1529 |
-
.brz .brz-posts ul.page-numbers>li{position:relative;margin-left:4px;margin-right:4px}
|
1530 |
-
.brz .brz-posts ul.page-numbers>li:first-child{margin-left:0}
|
1531 |
-
.brz .brz-posts ul.page-numbers>li:last-child{margin-right:0}
|
1532 |
-
.brz .brz-posts ul.page-numbers .page-numbers{position:relative;display:block;color:inherit;font-size:18px;line-height:1;text-decoration:none;padding:6px 10px;-webkit-transition:.2s linear color;transition:.2s linear color;outline:0}
|
1533 |
-
.brz .brz-posts ul.page-numbers .page-numbers:before{content:"";width:28px;height:28px;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);border:2px solid transparent;-webkit-transition:.2s linear border-color;transition:.2s linear border-color;opacity:.75}
|
1534 |
-
.brz .brz-posts ul.page-numbers .page-numbers:hover{-webkit-transition:.2s linear color;transition:.2s linear color}
|
1535 |
-
.brz .brz-posts ul.page-numbers .page-numbers.current:before{border-color:currentColor;-webkit-transition:.2s linear border-color;transition:.2s linear border-color}
|
1536 |
-
.brz .fb_iframe_widget{min-height:20px}
|
1537 |
-
.brz .fb-comments,.brz .fb-comments span,.brz .fb-comments span iframe[style],.brz .fb-page,.brz .fb-page span,.brz .fb-page span iframe[style],.brz .fb-post,.brz .fb-video{width:100%!important;min-width:100%!important}
|
1538 |
-
.brz .brz-fb-embed,.brz .brz-fb-group,.brz .brz-fb-page{position:relative;width:100%}
|
1539 |
-
.brz .brz-fb-embed::before,.brz .brz-fb-group::before,.brz .brz-fb-page::before{content:"";width:100%;height:100%;position:absolute;top:0;left:0;z-index:2;display:block;pointer-events:none}
|
1540 |
-
.brz .brz-fb-group{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}
|
1541 |
-
.brz .brz-fb-comments,.brz .brz-fb-page{width:100%}
|
1542 |
-
.brz .brz-wp__breadcrumbs{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:inherit;-ms-flex-pack:inherit;justify-content:inherit}
|
1543 |
-
.brz .brz-wp__breadcrumbs .brz-breadcrumbs{width:100%;padding:0;margin:0;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-wrap:wrap;flex-wrap:wrap;word-break:break-all}
|
1544 |
-
.brz .brz-wp__breadcrumbs .brz-breadcrumbs .brz-li{list-style:none;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}
|
1545 |
-
.brz .brz-wp__breadcrumbs .brz-breadcrumbs .brz-li .brz-a{cursor:pointer}
|
1546 |
-
.brz .brz-wp__breadcrumbs .brz-breadcrumbs .brz-li .brz-icon-svg{margin-top:1px}
|
1547 |
-
.brz .brz-wp__breadcrumbs .brz-breadcrumbs .brz-li:last-child .brz-a{margin-right:0}
|
1548 |
-
.brz .brz-wp__breadcrumbs .brz-breadcrumbs .brz-li:not(:last-child) .brz-a{color:inherit}
|
1549 |
-
.brz .brz-woosku{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:inherit;-ms-flex-pack:inherit;justify-content:inherit}
|
1550 |
-
.brz .brz-woostock{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:inherit;-ms-flex-pack:inherit;justify-content:inherit}
|
1551 |
-
.brz .brz-woostock .in-stock{margin:0}
|
1552 |
-
.brz .brz-wp__postContent>div>:first-child{margin-top:0}
|
1553 |
-
.brz .brz-wp__postContent>div>:last-child{margin-bottom:0}
|
1554 |
-
.brz .brz-wp__postinfo{width:auto!important;padding:0;margin:0;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-wrap:wrap;flex-wrap:wrap;word-break:break-all}
|
1555 |
-
.brz .brz-wp__postinfo__column ul{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}
|
1556 |
-
.brz .brz-wp__postinfo__column ul .brz-li.brz-li{margin-right:0}
|
1557 |
-
.brz .brz-wp__postinfo__column ul .brz-li.brz-li:first-child{margin-top:0}
|
1558 |
-
.brz .brz-wp__postinfo>ul{margin:0;padding:0}
|
1559 |
-
.brz .brz-wp__postinfo .brz-li{margin-left:0;margin-top:0;list-style:none;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:default}
|
1560 |
-
.brz .brz-wp__postinfo .brz-li:last-child{margin-right:0!important}
|
1561 |
-
.brz .brz-wp__postinfo .brz-li .brz-icon-svg{margin-right:.5em}
|
1562 |
-
.brz .brz-wp__postinfo__disabled-author ul .brz-li:first-child,.brz .brz-wp__postinfo__disabled-comments ul .brz-li:nth-child(4),.brz .brz-wp__postinfo__disabled-date ul .brz-li:nth-child(2),.brz .brz-wp__postinfo__disabled-time ul .brz-li:nth-child(3){display:none}
|
1563 |
-
.brz .brz-starrating{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}
|
1564 |
-
.brz .brz-starrating-container{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}
|
1565 |
-
.brz .brz-starrating-color{position:absolute;top:0;left:0;z-index:2;overflow:hidden}
|
1566 |
-
.brz .brz-starrating-icon-wrap{position:relative}
|
1567 |
-
.brz .brz-starrating .brz-icon-svg{top:.1em}
|
1568 |
-
.brz .brz-starrating .brz-icon-svg:last-child{margin-right:0!important}
|
1569 |
-
.brz .brz-starrating-color-full{width:100%}
|
1570 |
-
.brz .brz-starrating-color-w1{width:10%}
|
1571 |
-
.brz .brz-starrating-color-w2{width:20%}
|
1572 |
-
.brz .brz-starrating-color-w3{width:30%}
|
1573 |
-
.brz .brz-starrating-color-w4{width:40%}
|
1574 |
-
.brz .brz-starrating-color-w5{width:50%}
|
1575 |
-
.brz .brz-starrating-color-w6{width:60%}
|
1576 |
-
.brz .brz-starrating-color-w7{width:70%}
|
1577 |
-
.brz .brz-starrating-color-w8{width:80%}
|
1578 |
-
.brz .brz-starrating-color-w9{width:90%}
|
1579 |
-
.brz .brz-search-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}
|
1580 |
-
.brz .brz-search-container .brz-search-form{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;position:relative;-webkit-box-align:center;-ms-flex-align:center;align-items:center}
|
1581 |
-
.brz .brz-search-container .brz-btn{margin-left:auto;z-index:1}
|
1582 |
-
.brz .brz-search-container .brz-wrapper-clone__wrap{margin:0}
|
1583 |
-
.brz .brz-search-container .brz-search{background-color:transparent;width:100%;padding:0 15px;outline:0;border:0;border-radius:0}
|
1584 |
-
.brz .brz-search-container .brz-search:-webkit-autofill{-webkit-transition:background-color 500000s ease!important;transition:background-color 500000s ease!important}
|
1585 |
-
.brz .brz-search-container .brz-search::-webkit-input-placeholder{color:inherit}
|
1586 |
-
.brz .brz-search-container .brz-search::-moz-placeholder{color:inherit}
|
1587 |
-
.brz .brz-search-container .brz-search::-ms-input-placeholder{color:inherit}
|
1588 |
-
.brz .brz-search-container .brz-search::placeholder{color:inherit}
|
1589 |
-
.brz .brz-search-container__minimal{overflow:hidden}
|
1590 |
-
.brz .brz-search-container__minimal .brz-search-form{padding:0 15px}
|
1591 |
-
.brz .brz-wooprice{min-height:-webkit-fit-content!important;min-height:-moz-fit-content!important;min-height:fit-content!important;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:inherit;-ms-flex-pack:inherit;justify-content:inherit}
|
1592 |
-
.brz .brz-wooprice>div{font-size:0}
|
1593 |
-
.brz .brz-wooprice>div>.brz-price-none{margin:0;font-size:16px}
|
1594 |
-
.brz .brz-wooprice .price{width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}
|
1595 |
-
.brz .brz-wooprice .price del{opacity:1!important}
|
1596 |
-
.brz .brz-wooprice .price del .woocommerce-Price-amount{color:inherit!important;font-family:inherit!important;font-size:inherit!important;line-height:inherit!important;font-weight:inherit!important;letter-spacing:inherit!important}
|
1597 |
-
.brz .brz-wooprice .price ins{background:0 0}
|
1598 |
-
.brz .brz-wooadditional{width:100%}
|
1599 |
-
.brz .brz-wooadditional *{margin:0;padding:0}
|
1600 |
-
.brz .brz-wooadditional__attributes{display:-webkit-box;display:-ms-flexbox;display:flex;border-style:solid;border-bottom-style:none}
|
1601 |
-
.brz .brz-wooadditional__attributes:last-child{border-bottom-style:solid}
|
1602 |
-
.brz .brz-wooadditional__title::before{display:none}
|
1603 |
-
.brz .brz-wooadditional__item{width:100%;font-family:inherit;font-size:inherit;line-height:inherit;font-weight:inherit;letter-spacing:inherit;color:inherit}
|
1604 |
-
.brz .brz-wooadditional .brz-wooadditional__label{border-right-style:solid}
|
1605 |
-
.brz .brz-comments{width:100%;padding:0;margin:0}
|
1606 |
-
.brz .brz-comments-parrent{margin-bottom:-20px}
|
1607 |
-
.brz .brz-comments-parrent>div{width:100%}
|
1608 |
-
.brz .brz-comments .comments-pagination{margin-bottom:20px}
|
1609 |
-
.brz .brz-comments .comments-pagination+.brz-comment-respond{margin-top:-10px}
|
1610 |
-
.brz .brz-comments .brz-li{margin:0;line-height:normal;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}
|
1611 |
-
.brz .brz-comments li{margin:0}
|
1612 |
-
.brz .brz-comments a{text-decoration:none;word-break:normal}
|
1613 |
-
.brz .brz-comments li.brz-comments{margin:0;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}
|
1614 |
-
.brz .brz-comments li.brz-comments+.brz-comment-respond{margin-top:-20px}
|
1615 |
-
.brz .brz-comments li.brz-comments .brz-comments-children{padding:0}
|
1616 |
-
.brz .brz-comments li.brz-comments .brz-comments__name *{color:inherit;font-size:inherit}
|
1617 |
-
.brz .brz-comments li.brz-comments .brz-comments__date{position:relative}
|
1618 |
-
.brz .brz-comments li.brz-comments .brz-comments__date *{color:#818a91;font-size:inherit}
|
1619 |
-
.brz .brz-comments li.brz-comments .brz-comments__reply{line-height:inherit}
|
1620 |
-
.brz .brz-comments li.brz-comments .brz-comments__reply *{font-size:inherit}
|
1621 |
-
.brz .brz-comments li.brz-comments .brz-comments__reply .comment-reply-link{background-color:transparent;padding:0}
|
1622 |
-
.brz .brz-comments li.brz-comments .brz-comments__text p{margin:0}
|
1623 |
-
.brz .brz-comments li.brz-comments .brz-comment-awaiting-moderation,.brz .brz-comments li.brz-comments .brz-comments__text{width:100%;margin-bottom:40px;position:relative}
|
1624 |
-
.brz .brz-comments li.brz-comments .brz-comment-awaiting-moderation::before,.brz .brz-comments li.brz-comments .brz-comments__text::before{content:"";position:absolute;left:0;bottom:0;height:1px;background-color:rgba(129,138,145,.15);display:block}
|
1625 |
-
.brz .brz-comments li.brz-comments .brz-comment-awaiting-moderation *,.brz .brz-comments li.brz-comments .brz-comments__text *{margin:10px 0;color:inherit;font-family:inherit;font-size:inherit}
|
1626 |
-
.brz .brz-comments li.brz-comments .brz-comment-awaiting-moderation a,.brz .brz-comments li.brz-comments .brz-comments__text a{color:#3dbfe8}
|
1627 |
-
.brz .brz-comments li.brz-comments .brz-comments__text{padding-bottom:30px}
|
1628 |
-
.brz .brz-comments li.brz-comments .brz-comment-awaiting-moderation{padding-bottom:40px}
|
1629 |
-
.brz .brz-comments-title{margin:0 0 59px 0;color:#03080f;font-size:23px;letter-spacing:-.12px;color:#03080f}
|
1630 |
-
.brz .brz-comments-title::before{display:none}
|
1631 |
-
.brz .brz-comments__skin-skin1 .brz-comments__logo .brz-img{border-radius:50%;-o-object-fit:cover;object-fit:cover}
|
1632 |
-
.brz .brz-comments__skin-skin1 .brz-comments__right-date{margin-top:-2px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}
|
1633 |
-
.brz .brz-comments__skin-skin1 .brz-comments__right-date .brz-comments__name{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}
|
1634 |
-
.brz .brz-comments__skin-skin1 .brz-comments__right-date .brz-comments__date{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;margin-left:auto;padding-right:10px;text-align:right}
|
1635 |
-
.brz .brz-comments__skin-skin1 .brz-comments__right-date .brz-comments__date * .brz-span{position:relative;right:-2px}
|
1636 |
-
.brz .brz-comments__skin-skin1 .brz-comments__right-date .brz-comments__reply{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;padding-left:10px;position:relative}
|
1637 |
-
.brz .brz-comments__skin-skin1 .brz-comments__right-date .brz-comments__reply::before{content:"";width:1px;position:absolute;left:0;top:0;bottom:0;background-color:#818a91;display:block;margin:auto}
|
1638 |
-
.brz .brz-comments__skin-skin1 .brz-comments__right-date .brz-comment-awaiting-moderation{margin-top:7px!important}
|
1639 |
-
.brz .brz-comments__skin-skin1 .brz-comments__right-date .brz-comment-awaiting-moderation,.brz .brz-comments__skin-skin1 .brz-comments__right-date .brz-comments__text{width:100%;margin-top:3px}
|
1640 |
-
.brz .brz-comments__skin-skin1 .brz-comments__right-date .brz-comment-awaiting-moderation::before,.brz .brz-comments__skin-skin1 .brz-comments__right-date .brz-comments__text::before{width:52%}
|
1641 |
-
.brz .brz-comments__skin-skin2 .brz-comments__logo-img{width:67px;height:67px;border-radius:50%;-o-object-fit:cover;object-fit:cover}
|
1642 |
-
.brz .brz-comments__skin-skin2 .brz-comments__right-date{margin-top:8px;margin-bottom:33px;padding-bottom:45px;width:calc(100% - 97px);display:-webkit-box;display:-ms-flexbox;display:flex;position:relative}
|
1643 |
-
.brz .brz-comments__skin-skin2 .brz-comments__right-date::before{content:"";width:100%;height:2px;background-color:rgba(129,138,145,.15);position:absolute;bottom:0;left:0}
|
1644 |
-
.brz .brz-comments__skin-skin2 .brz-comments__right-date .brz-comments__name-date{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-ms-flex-negative:0;flex-shrink:0}
|
1645 |
-
.brz .brz-comments__skin-skin2 .brz-comments__right-date .brz-comments__name-date .brz-comments__name{margin-bottom:6px}
|
1646 |
-
.brz .brz-comments__skin-skin2 .brz-comments__right-date .brz-comments__name-date .brz-comments__date{width:100%}
|
1647 |
-
.brz .brz-comments__skin-skin2 .brz-comments__right-date .brz-comments__name-date .brz-comments__date *{width:75px;text-align:right;margin:auto}
|
1648 |
-
.brz .brz-comments__skin-skin2 .brz-comments__right-date .brz-comments__name-date .brz-comments__date * .brz-span{position:relative;right:-2px}
|
1649 |
-
.brz .brz-comments__skin-skin2 .brz-comments__right-date .brz-comment-awaiting-moderation,.brz .brz-comments__skin-skin2 .brz-comments__right-date .brz-comments__text{margin-bottom:0!important;padding-left:20px;padding-bottom:0!important}
|
1650 |
-
.brz .brz-comments__skin-skin2 .brz-comments__right-date .brz-comments__text{margin-top:-2px;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}
|
1651 |
-
.brz .brz-comments__skin-skin2 .brz-comments__right-date .brz-comment-awaiting-moderation{margin-top:-2px}
|
1652 |
-
.brz .brz-comments__skin-skin2 .brz-comments__right-date .brz-comments__reply{padding-left:30px;margin-top:1px;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}
|
1653 |
-
.brz .brz-comments__skin-skin3 .brz-comments__logo{margin-right:25px}
|
1654 |
-
.brz .brz-comments__skin-skin3 .brz-comments__logo .brz-img{border-radius:50%;-o-object-fit:cover;object-fit:cover}
|
1655 |
-
.brz .brz-comments__skin-skin3 .brz-comments__right-date{width:calc(100% - 48.5px);margin-top:4px;margin-bottom:15px;padding-bottom:20px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;position:relative}
|
1656 |
-
.brz .brz-comments__skin-skin3 .brz-comments__right-date::before{content:"";width:100%;height:1px;background-color:rgba(129,138,145,.15);position:absolute;bottom:0;left:0}
|
1657 |
-
.brz .brz-comments__skin-skin3 .brz-comments__right-date .brz-comments__name{padding-right:10px}
|
1658 |
-
.brz .brz-comments__skin-skin3 .brz-comments__right-date .brz-comments__date{padding-left:10px;position:relative}
|
1659 |
-
.brz .brz-comments__skin-skin3 .brz-comments__right-date .brz-comments__date::before{content:"";height:14px;width:1px;background-color:#818a91;position:absolute;top:0;bottom:0;left:0;margin:auto;display:block}
|
1660 |
-
.brz .brz-comments__skin-skin3 .brz-comments__right-date .brz-comment-awaiting-moderation,.brz .brz-comments__skin-skin3 .brz-comments__right-date .brz-comments__text{width:100%}
|
1661 |
-
.brz .brz-comments__skin-skin3 .brz-comments__right-date .brz-comment-awaiting-moderation .comment-reply-link,.brz .brz-comments__skin-skin3 .brz-comments__right-date .brz-comments__text .comment-reply-link{font-family:inherit;font-size:inherit}
|
1662 |
-
.brz .brz-comments__skin-skin3 .brz-comments__right-date .brz-comment-awaiting-moderation *,.brz .brz-comments__skin-skin3 .brz-comments__right-date .brz-comments__text *{display:contents}
|
1663 |
-
.brz .brz-comments__skin-skin3 .brz-comments__right-date .brz-comments__text{margin:0!important;padding-bottom:0!important}
|
1664 |
-
.brz .brz-comments__skin-skin3 .brz-comments__right-date .brz-comment-awaiting-moderation{margin:10px 0 0 0!important;padding-bottom:10px!important}
|
1665 |
-
.brz .brz-comments__skin-skin4 .brz-comments__right-date{width:100%!important;padding-bottom:20px;margin-bottom:25px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;position:relative}
|
1666 |
-
.brz .brz-comments__skin-skin4 .brz-comments__right-date .brz-comments__name-date{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;margin-bottom:9px}
|
1667 |
-
.brz .brz-comments__skin-skin4 .brz-comments__right-date .brz-comments__name-date .brz-comments__name{margin-bottom:5px}
|
1668 |
-
.brz .brz-comments__skin-skin4 .brz-comments__right-date .brz-comments__logo .brz-img{border-radius:50%;-o-object-fit:cover;object-fit:cover}
|
1669 |
-
.brz .brz-comments__skin-skin4 .brz-comments__right-date .brz-comment-awaiting-moderation,.brz .brz-comments__skin-skin4 .brz-comments__right-date .brz-comments__text{width:100%}
|
1670 |
-
.brz .brz-comments__skin-skin4 .brz-comments__right-date .brz-comment-awaiting-moderation *,.brz .brz-comments__skin-skin4 .brz-comments__right-date .brz-comments__text *{display:contents}
|
1671 |
-
.brz .brz-comments__skin-skin4 .brz-comments__right-date .brz-comments__text{margin:0!important;padding:0!important}
|
1672 |
-
.brz .brz-comments__skin-skin4 .brz-comments__right-date .brz-comment-awaiting-moderation{margin:10px 0 0 0!important;padding-bottom:10px!important}
|
1673 |
-
.brz .brz-comments__skin-skin4 .brz-comments__right-date::before{content:"";height:1px;width:28%;background-color:rgba(129,138,145,.15);position:absolute;left:0;bottom:0}
|
1674 |
-
.brz .brz-comments__skin-skin1 .brz-comments__logo,.brz .brz-comments__skin-skin2 .brz-comments__logo{margin-right:10px}
|
1675 |
-
.brz .brz-comments__skin-skin1 .brz-comments__logo .brz-img,.brz .brz-comments__skin-skin2 .brz-comments__logo .brz-img,.brz .brz-comments__skin-skin3 .brz-comments__logo .brz-img,.brz .brz-comments__skin-skin4 .brz-comments__logo .brz-img{position:static!important;margin:0!important}
|
1676 |
-
.brz .brz-logged-in-as{margin:0;color:#818a91;font-family:nunito,"Open Sans",Arial,sans-serif;font-size:15px;line-height:28px}
|
1677 |
-
.brz .comment-notes{margin-top:0;margin-bottom:15px;color:#818a91;font-family:nunito,"Open Sans",Arial,sans-serif;font-size:15px;line-height:28px}
|
1678 |
-
.brz .brz-comment-respond{margin-bottom:20px}
|
1679 |
-
.brz .brz-comment-respond .brz-comment-reply-title{margin-top:11px;margin-bottom:12px;color:#03080f;font-family:nunito,"Open Sans",Arial,sans-serif;font-size:20px;font-weight:600;letter-spacing:-.1px;line-height:24px}
|
1680 |
-
.brz .brz-comment-respond .brz-comment-reply-title #cancel-comment-reply-link{padding-left:5px;font-family:nunito,"Open Sans",Arial,sans-serif;font-size:14px}
|
1681 |
-
.brz .brz-comment-respond textarea[name=comment]{height:160px;border:1px solid #d4d4d4;border-radius:3px;resize:none;outline:0}
|
1682 |
-
.brz .brz-comment-respond input[name=submit]{border:0;border-radius:3px;padding:1em 2em}
|
1683 |
-
.brz .brz-comment-form-comment{width:100%;color:#03080f;font-family:nunito,"Open Sans",Arial,sans-serif;font-size:20px;font-weight:600;letter-spacing:-.1px;line-height:24px}
|
1684 |
-
.brz .brz-comment-form-comment label{margin-bottom:19px;display:block}
|
1685 |
-
.brz .brz-form-submit{width:100%}
|
1686 |
-
.brz ul.brz-comments ul.brz-comments{width:80%;margin-left:auto}
|
1687 |
-
.brz .brz-comment-form-author,.brz .brz-comment-form-email,.brz .brz-comment-form-url{width:32%;margin-top:5px;margin-bottom:7px;font-family:nunito,"Open Sans",Arial,sans-serif;font-size:20px;font-weight:600;letter-spacing:-.1px;line-height:24px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}
|
1688 |
-
.brz .brz-comment-form-author .required,.brz .brz-comment-form-email .required,.brz .brz-comment-form-url .required{font-size:18px;margin-left:5px}
|
1689 |
-
.brz .brz-comment-form-author input[type=text],.brz .brz-comment-form-email input[type=text],.brz .brz-comment-form-url input[type=text]{outline:0;border:1px solid #d4d4d4;border-radius:3px;margin-top:18px;font-size:17px}
|
1690 |
-
.brz .brz-comment-form-author input[type=text]:focus,.brz .brz-comment-form-email input[type=text]:focus,.brz .brz-comment-form-url input[type=text]:focus{border:1px solid #d4d4d4}
|
1691 |
-
.brz .comment-form-cookies-consent{width:100%;margin-bottom:12px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}
|
1692 |
-
.brz .comment-form-cookies-consent input[type=checkbox]{height:18px;width:18px;border:1px solid #d4d4d4;border-radius:3px;margin-right:15px;-ms-flex-negative:0;flex-shrink:0}
|
1693 |
-
.brz .comment-form-cookies-consent label{color:#818a91;font-family:nunito,"Open Sans",Arial,sans-serif;font-size:15px;line-height:20px}
|
1694 |
-
.brz .brz--comment__form-reply-body{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}
|
1695 |
-
.brz .brz-form-submit{margin-bottom:0}
|
1696 |
-
@media only screen and (max-width:768px){.brz .brz-comment-awaiting-moderation{padding-bottom:20px}
|
1697 |
-
.brz .brz-comments li.brz-comments .brz-comments__text{padding-bottom:10px}
|
1698 |
-
.brz .brz-comments li.brz-comments .brz-comment-awaiting-moderation{padding-bottom:20px}
|
1699 |
-
.brz .brz-comments__skin-skin1 .brz-comments__right-date{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}
|
1700 |
-
.brz .brz-comments__skin-skin1 .brz-comments__right-date .brz-comments__name{width:100%}
|
1701 |
-
.brz .brz-comments__skin-skin1 .brz-comments__right-date .brz-comments__date{margin-left:0}
|
1702 |
-
.brz .brz-comments__skin-skin1 .brz-comments__right-date .brz-comments__date * .brz-span{display:inline}
|
1703 |
-
.brz .brz-comments__skin-skin1 .brz-comments__right-date .brz-comment-awaiting-moderation{margin-top:15px!important}
|
1704 |
-
.brz .brz-comments__skin-skin2 .brz-comments__right-date{-ms-flex-wrap:wrap;flex-wrap:wrap}
|
1705 |
-
.brz .brz-comments__skin-skin2 .brz-comments__right-date .brz-comments__name-date .brz-comments__date *{width:auto}
|
1706 |
-
.brz .brz-comments__skin-skin2 .brz-comments__right-date .brz-comments__name-date .brz-comments__date * .brz-span{position:static;display:inline}
|
1707 |
-
.brz .brz-comments__skin-skin2 .brz-comment-awaiting-moderation,.brz .brz-comments__skin-skin2 .brz-comments__text{width:calc(100% - 65px)!important;padding:40px 0 0 0!important}}@media only screen and (max-width:480px){.brz .brz-comment-form-author,.brz .brz-comment-form-email,.brz .brz-comment-form-url{width:100%}}.brz .brz-image{position:relative;display:inherit;-webkit-box-pack:inherit;-ms-flex-pack:inherit;justify-content:inherit;-webkit-box-align:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-preferred-size:100%;flex-basis:100%;width:100%;overflow:hidden}
|
1708 |
-
.brz .brz-image .brz-img{max-width:100%;border-radius:inherit}
|
1709 |
-
.brz .brz-image .brz-a,.brz .brz-image .brz-picture{outline:0;border-radius:inherit}
|
1710 |
-
.brz:not(.brz-ed) .brz-image .brz-a,.brz:not(.brz-ed) .brz-image .brz-img,.brz:not(.brz-ed) .brz-image .brz-picture{width:100%;height:auto}
|
1711 |
-
.brz:not(.brz-ed) .brz-image .brz-img{top:0;left:0;height:100%}
|
1712 |
-
.brz:not(.brz-ed) .brz-image__lightbox *{cursor:-webkit-zoom-in;cursor:zoom-in}
|
1713 |
-
.brz:not(.brz-ed) .brz-image:after{content:"";width:100%;height:100%;position:absolute;pointer-events:none;top:0;left:0;border-radius:inherit}
|
1714 |
-
.brz .mfp-bg{z-index:1100}
|
1715 |
-
.brz .mfp-wrap{z-index:1101}
|
1716 |
-
.brz .mfp-figure:after,.brz .mfp-iframe-scaler iframe{-webkit-box-shadow:0 0 40px rgba(0,0,0,.35);box-shadow:0 0 40px rgba(0,0,0,.35)}
|
1717 |
-
.brz .brz-menu-simple .menu{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;list-style:none;margin:0 auto;padding:0}
|
1718 |
-
.brz .brz-menu-simple .menu .menu-item{position:relative;text-align:left;list-style:none}
|
1719 |
-
.brz .brz-menu-simple .menu .menu-item a span{display:block}
|
1720 |
-
.brz .brz-menu-simple .menu .menu-item:hover>.sub-menu{display:block}
|
1721 |
-
.brz .brz-menu-simple .menu .sub-menu{position:absolute;top:0;left:0;padding:15px 0;text-align:center;text-transform:none;list-style:none;margin:0!important;display:none;width:280px;background-color:#33344b;z-index:110}
|
1722 |
-
.brz .brz-menu-simple .menu .sub-menu .menu-item{display:block;margin:0;padding:0}
|
1723 |
-
.brz .brz-menu-simple .menu .sub-menu .sub-menu{left:100%}
|
1724 |
-
.brz .brz-menu-simple .menu .sub-menu a{display:block;line-height:1.2em;padding:10px 12%;color:#fcfcfc}
|
1725 |
-
.brz .brz-menu-simple .menu .sub-menu a:hover{background:rgba(36,36,53,.94)}
|
1726 |
-
.brz .brz-menu-simple .menu>.menu-item{display:inline-block;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;padding-top:5px;padding-bottom:5px}
|
1727 |
-
.brz .brz-menu-simple .menu>.menu-item>.sub-menu{top:100%}
|
1728 |
-
.brz .brz-menu-simple .menu>ul{margin:0!important}
|
1729 |
-
.brz .brz-menu-simple .menu>ul .page_item:not(:first-child){margin-left:15px}
|
1730 |
-
.brz .brz-menu-simple__toggle .menu{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap}
|
1731 |
-
.brz .brz-menu-simple__icon{display:none;padding:15px;position:relative;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin:0}
|
1732 |
-
.brz .brz-menu-simple__icon--bars{display:block;height:2px;position:relative;-webkit-transition:background .2s ease-out;transition:background .2s ease-out;width:18px}
|
1733 |
-
.brz .brz-menu-simple__icon--bars:after,.brz .brz-menu-simple__icon--bars:before{background-color:currentColor;content:"";display:block;height:100%;position:absolute;-webkit-transition:all .2s ease-out;transition:all .2s ease-out;width:100%}
|
1734 |
-
.brz .brz-menu-simple__icon--bars:before{top:5px}
|
1735 |
-
.brz .brz-menu-simple__icon--bars:after{top:-5px}
|
1736 |
-
.brz .brz-menu-simple .brz-input{display:none}
|
1737 |
-
.brz .brz-menu-simple .brz-input:checked~div .menu{display:-webkit-box;display:-ms-flexbox;display:flex;max-height:100%}
|
1738 |
-
.brz .brz-menu-simple .brz-input:checked~.brz-menu-simple__icon .brz-menu-simple__icon--bars{background:0 0}
|
1739 |
-
.brz .brz-menu-simple .brz-input:checked~.brz-menu-simple__icon .brz-menu-simple__icon--bars:before{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}
|
1740 |
-
.brz .brz-menu-simple .brz-input:checked~.brz-menu-simple__icon .brz-menu-simple__icon--bars:after{-webkit-transform:rotate(45deg);transform:rotate(45deg)}
|
1741 |
-
.brz .brz-menu-simple .brz-input:checked~.brz-menu-simple__icon:not(.steps) .brz-menu-simple__icon--bars:after,.brz .brz-menu-simple .brz-input:checked~.brz-menu-simple__icon:not(.steps) .brz-menu-simple__icon--bars:before{top:0}
|
1742 |
-
.brz .brz-menu-simple--cloud a{text-decoration:none}
|
1743 |
-
@media (max-width:767px){.brz:not(.brz-ed) .brz-menu-simple{width:auto;text-align:center}
|
1744 |
-
.brz:not(.brz-ed) .brz-menu-simple__toggle--mobile .menu{display:none;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap;max-height:0;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-transition:max-height .2s ease-out;transition:max-height .2s ease-out}
|
1745 |
-
.brz:not(.brz-ed) .brz-menu-simple__toggle--mobile .menu .sub-menu{position:relative;display:block;width:100%;left:15px;padding:0;background-color:transparent}
|
1746 |
-
.brz:not(.brz-ed) .brz-menu-simple__toggle--mobile .menu .sub-menu .menu-item a{padding:5px}
|
1747 |
-
.brz:not(.brz-ed) .brz-menu-simple__toggle--mobile .menu .sub-menu .menu-item a:hover{background-color:transparent}
|
1748 |
-
.brz:not(.brz-ed) .brz-menu-simple__toggle--mobile .menu .sub-menu .sub-menu{display:block;left:15px}
|
1749 |
-
.brz:not(.brz-ed) .brz-menu-simple__toggle--mobile .menu>.menu-item{padding:0}
|
1750 |
-
.brz:not(.brz-ed) .brz-menu-simple__toggle--mobile .menu>.menu-item>.sub-menu{top:100%;padding:5px 0}
|
1751 |
-
.brz:not(.brz-ed) .brz-menu-simple__toggle--mobile .brz-menu-simple__icon{display:inline-block}}@media (min-width:768px) and (max-width:991px){.brz:not(.brz-ed) .brz-menu-simple{width:auto;text-align:center}
|
1752 |
-
.brz:not(.brz-ed) .brz-menu-simple__toggle--tablet .menu{display:none;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap;max-height:0;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-transition:max-height .2s ease-out;transition:max-height .2s ease-out}
|
1753 |
-
.brz:not(.brz-ed) .brz-menu-simple__toggle--tablet .menu .sub-menu{position:relative;display:block;width:100%;left:15px;padding:0;background-color:transparent}
|
1754 |
-
.brz:not(.brz-ed) .brz-menu-simple__toggle--tablet .menu .sub-menu .menu-item a{padding:5px}
|
1755 |
-
.brz:not(.brz-ed) .brz-menu-simple__toggle--tablet .menu .sub-menu .menu-item a:hover{background-color:transparent}
|
1756 |
-
.brz:not(.brz-ed) .brz-menu-simple__toggle--tablet .menu .sub-menu .sub-menu{display:block;left:15px}
|
1757 |
-
.brz:not(.brz-ed) .brz-menu-simple__toggle--tablet .menu>.menu-item{padding:0}
|
1758 |
-
.brz:not(.brz-ed) .brz-menu-simple__toggle--tablet .menu>.menu-item>.sub-menu{top:100%;padding:5px 0}
|
1759 |
-
.brz:not(.brz-ed) .brz-menu-simple__toggle--tablet .brz-menu-simple__icon{display:inline-block}}.brz .screen-reader-text{display:none}
|
1760 |
-
.brz .media-modal *{-webkit-box-sizing:content-box;box-sizing:content-box}
|
1761 |
-
.brz .media-modal input,.brz .media-modal select,.brz .media-modal textarea{-webkit-box-sizing:border-box;box-sizing:border-box}
|
1762 |
-
.brz .media-frame,.brz .media-modal{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:12px;outline:0;-webkit-overflow-scrolling:touch}
|
1763 |
-
.brz .media-frame h1,.brz .media-frame h2,.brz .media-frame h3,.brz .media-frame h4,.brz .media-frame h5,.brz .media-frame h6,.brz .media-frame p,.brz .media-modal h1,.brz .media-modal h2,.brz .media-modal h3,.brz .media-modal h4,.brz .media-modal h5,.brz .media-modal h6,.brz .media-modal p{letter-spacing:0;line-height:normal}
|
1764 |
-
.brz .media-modal label,.brz .media-modal legend{font-size:13px;text-transform:capitalize;line-height:1.4em;color:#666;font-weight:400}
|
1765 |
-
.brz .media-frame input,.brz .media-frame textarea{padding:6px 8px}
|
1766 |
-
.brz .media-frame select,.brz .wp-admin .media-frame select{line-height:28px;margin-top:3px}
|
1767 |
-
.brz .media-frame a{border-bottom:none;color:#0073aa}
|
1768 |
-
.brz .media-frame a:active,.brz .media-frame a:hover{color:#00a0d2}
|
1769 |
-
.brz .media-frame a:focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);outline:0;color:#124964}
|
1770 |
-
.brz .media-frame a.button{color:#32373c}
|
1771 |
-
.brz .media-frame a.button:hover{color:#23282d}
|
1772 |
-
.brz .media-frame a.button-primary,.brz .media-frame a.button-primary:hover{color:#fff}
|
1773 |
-
.brz .media-frame input[type=email],.brz .media-frame input[type=number],.brz .media-frame input[type=password],.brz .media-frame input[type=search],.brz .media-frame input[type=text],.brz .media-frame input[type=url],.brz .media-frame select,.brz .media-frame textarea{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:12px;line-height:normal;font-weight:400;font-style:normal;border:1px solid #ddd;background-color:#fff;min-height:25px;height:auto;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);color:#32373c;outline:0;-webkit-transition:50ms border-color ease-in-out;transition:50ms border-color ease-in-out;letter-spacing:normal}
|
1774 |
-
.brz .media-frame input[type=email]:focus,.brz .media-frame input[type=number]:focus,.brz .media-frame input[type=password]:focus,.brz .media-frame input[type=search]:focus,.brz .media-frame input[type=text]:focus,.brz .media-frame input[type=url]:focus,.brz .media-frame select:focus,.brz .media-frame textarea:focus{border-color:#5b9dd9}
|
1775 |
-
.brz .media-frame select{height:24px;padding:2px}
|
1776 |
-
.brz .media-frame input:disabled,.brz .media-frame input[readonly],.brz .media-frame textarea:disabled,.brz .media-frame textarea[readonly]{background-color:#eee}
|
1777 |
-
.brz .media-frame input[type=search]{-webkit-appearance:textfield}
|
1778 |
-
.brz .media-frame ::-webkit-input-placeholder{color:#72777c}
|
1779 |
-
.brz .media-frame ::-moz-placeholder{color:#72777c;opacity:1}
|
1780 |
-
.brz .media-frame :-ms-input-placeholder{color:#72777c}
|
1781 |
-
.brz .media-frame .hidden{display:none}
|
1782 |
-
.brz .media-frame button{color:inherit;text-shadow:none!important;line-height:normal!important;letter-spacing:normal;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-weight:400;font-style:normal;text-transform:capitalize;margin:0}
|
1783 |
-
.brz .media-frame button.delete-attachment{height:auto;font-size:12px;line-height:1}
|
1784 |
-
.brz .media-frame button.media-button-select{color:#fff;margin-top:15px;font-size:13px;line-height:26px;height:28px}
|
1785 |
-
.brz .media-frame button.browser{color:#555!important;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:0 1px 0 #ccc;box-shadow:0 1px 0 #ccc}
|
1786 |
-
.brz .media-frame button.browser:hover{background:#fafafa;border-color:#999;color:#23282d!important}
|
1787 |
-
.brz .media-attachments-filter-heading:before{display:none}
|
1788 |
-
.brz .media-modal .media-frame-title h1:before{display:none}
|
1789 |
-
.brz .media-modal{position:fixed;top:30px;left:78px;right:30px;bottom:60px;z-index:160000}
|
1790 |
-
.brz .media-frame-title h1{padding:0 16px;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:22px;font-weight:600;font-style:normal;line-height:50px;color:#23282d;text-shadow:none;text-transform:capitalize}
|
1791 |
-
.brz .media-modal-close{position:absolute;top:0;right:0;width:50px;height:50px;margin:0;padding:0;border:1px solid transparent;background:0 0;color:#666;z-index:1000;cursor:pointer;outline:0;text-align:center;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}
|
1792 |
-
.brz .media-modal-close:active,.brz .media-modal-close:hover{color:#00a0d2}
|
1793 |
-
.brz .media-modal-close:focus{color:#00a0d2;border-color:#5b9dd9;-webkit-box-shadow:0 0 3px rgba(0,115,170,.8);box-shadow:0 0 3px rgba(0,115,170,.8)}
|
1794 |
-
.brz .media-modal-close span.media-modal-icon{background-image:none}
|
1795 |
-
.brz .media-modal-close .media-modal-icon:before{content:"\f158";font:normal 20px/1 dashicons;speak:none;vertical-align:middle;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
|
1796 |
-
.brz .media-router>a{position:relative;float:left;padding:8px 10px 9px;margin:0;height:18px;line-height:18px;font-size:14px;text-decoration:none;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-style:normal;font-weight:400;color:#0073aa;text-transform:capitalize;text-align:left;text-shadow:none}
|
1797 |
-
.brz .media-router>a:hover{color:#00a0d2}
|
1798 |
-
.brz .media-router>a:last-child{border-right:0}
|
1799 |
-
.brz .media-router>a:active{outline:0}
|
1800 |
-
.brz .media-router .active,.brz .media-router .active:hover{color:#32373c}
|
1801 |
-
.brz .media-router .active,.brz .media-router>a.active:last-child{margin:-1px -1px 0;background:#fff;border:1px solid #ddd;border-bottom:none}
|
1802 |
-
.brz .media-frame .search{padding:4px;font-size:13px;border-radius:0;line-height:normal;color:#444;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}
|
1803 |
-
.brz .media-toolbar-primary .search{max-width:100%}
|
1804 |
-
.brz .media-modal-content .media-frame select.attachment-filters{margin-top:32px;margin-right:2%;width:calc(48% - 12px);padding:2px;line-height:28px;height:28px}
|
1805 |
-
.brz .thumbnail{display:block;padding:0;margin-bottom:0;line-height:normal;background-color:transparent;border:0;border-radius:0}
|
1806 |
-
.brz .uploader-inline h2,.brz .uploader-inline h3{font-size:20px;line-height:28px;font-weight:400;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-style:normal;letter-spacing:0;color:#23282d}
|
1807 |
-
.brz .uploader-inline .has-upload-message .upload-instructions{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;color:#444;font-weight:400}
|
1808 |
-
.brz .uploader-inline p{font-size:12px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;margin:.5em 0}
|
1809 |
-
.brz .media-sidebar .sidebar-title{font-size:20px;margin:0;padding:12px 10px 10px;line-height:28px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}
|
1810 |
-
.brz .image-details h2,.brz .image-details h3,.brz .media-sidebar h2,.brz .media-sidebar h3{position:relative;font-weight:600;text-transform:uppercase;font-size:12px;line-height:1.4em;color:#666;margin:24px 0 8px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;letter-spacing:normal;font-style:normal;text-shadow:none}
|
1811 |
-
.brz .attachment-details .setting label,.brz .media-sidebar .setting label{display:block;text-transform:capitalize;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;letter-spacing:normal;font-style:normal;text-shadow:none}
|
1812 |
-
.brz .attachment-details .setting span,.brz .media-sidebar .setting span{min-width:30%;margin-right:4%;font-size:12px;color:#666;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;letter-spacing:normal;font-style:normal;text-shadow:none;text-align:right;word-wrap:break-word}
|
1813 |
-
.brz .media-sidebar .setting .name{max-width:80px}
|
1814 |
-
.brz .attachment-details .setting select,.brz .media-sidebar .setting select{max-width:65%}
|
1815 |
-
.brz .attachment-details .field input[type=checkbox],.brz .attachment-details .field input[type=radio],.brz .attachment-details .setting input[type=checkbox],.brz .attachment-details .setting input[type=radio],.brz .media-sidebar .field input[type=checkbox],.brz .media-sidebar .field input[type=radio],.brz .media-sidebar .setting input[type=checkbox],.brz .media-sidebar .setting input[type=radio]{float:none;margin:8px 3px 0;padding:0}
|
1816 |
-
.brz .attachment-details .setting span,.brz .compat-item label span,.brz .media-sidebar .setting span{float:left;min-height:22px;padding-top:8px;line-height:16px;font-weight:400;color:#666}
|
1817 |
-
.brz .compat-item label span{text-align:right}
|
1818 |
-
.brz .attachment-details .setting .value,.brz .attachment-details .setting input[type=email],.brz .attachment-details .setting input[type=number],.brz .attachment-details .setting input[type=password],.brz .attachment-details .setting input[type=search],.brz .attachment-details .setting input[type=tel],.brz .attachment-details .setting input[type=text],.brz .attachment-details .setting input[type=url],.brz .attachment-details .setting textarea,.brz .media-sidebar .setting .value,.brz .media-sidebar .setting input[type=email],.brz .media-sidebar .setting input[type=number],.brz .media-sidebar .setting input[type=password],.brz .media-sidebar .setting input[type=search],.brz .media-sidebar .setting input[type=tel],.brz .media-sidebar .setting input[type=text],.brz .media-sidebar .setting input[type=url],.brz .media-sidebar .setting textarea{-webkit-box-sizing:border-box;box-sizing:border-box;margin:1px;width:65%;float:right;border-radius:0}
|
1819 |
-
.brz .attachment-details .setting .value,.brz .media-sidebar .setting .value{margin:0 1px;text-align:left}
|
1820 |
-
.brz .attachment-details .setting textarea,.brz .compat-item .field textarea,.brz .media-sidebar .setting textarea{height:62px;resize:vertical}
|
1821 |
-
.brz .attachment-details select,.brz .media-sidebar select{margin-top:3px}
|
1822 |
-
.brz .media-frame-title .suggested-dimensions{font-size:14px;float:right;margin-right:20px}
|
1823 |
-
.brz .media-frame select.attachment-filters{margin-top:11px;margin-right:2%;max-width:calc(48% - 12px)}
|
1824 |
-
.brz .media-frame select.attachment-filters:last-of-type{margin-right:0}
|
1825 |
-
.brz .wp-core-ui .attachment{position:relative;float:left;padding:8px;margin:0;color:#444;cursor:pointer;list-style:none;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:25%;-webkit-box-sizing:border-box;box-sizing:border-box}
|
1826 |
-
.brz .wp-core-ui .attachment.details:focus,.brz .wp-core-ui .attachment:focus,.brz .wp-core-ui .selected.attachment:focus{-webkit-box-shadow:inset 0 0 2px 3px #fff,inset 0 0 0 7px #5b9dd9;box-shadow:inset 0 0 2px 3px #fff,inset 0 0 0 7px #5b9dd9;outline:0}
|
1827 |
-
.brz .wp-core-ui .selected.attachment{-webkit-box-shadow:inset 0 0 0 5px #fff,inset 0 0 0 7px #ccc;box-shadow:inset 0 0 0 5px #fff,inset 0 0 0 7px #ccc}
|
1828 |
-
.brz .wp-core-ui .attachment.details{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #0073aa;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #0073aa}
|
1829 |
-
.brz .wp-core-ui .attachment-preview{position:relative;-webkit-box-shadow:inset 0 0 15px rgba(0,0,0,.1),inset 0 0 0 1px rgba(0,0,0,.05);box-shadow:inset 0 0 15px rgba(0,0,0,.1),inset 0 0 0 1px rgba(0,0,0,.05);background:#eee;cursor:pointer}
|
1830 |
-
.brz .wp-core-ui .attachment-preview:before{content:"";display:block;padding-top:100%}
|
1831 |
-
.brz .wp-core-ui .attachment .icon{margin:0 auto;overflow:hidden}
|
1832 |
-
.brz .wp-core-ui .attachment .thumbnail{overflow:hidden;position:absolute;top:0;right:0;bottom:0;left:0;opacity:1;-webkit-transition:opacity .1s;transition:opacity .1s}
|
1833 |
-
.brz .wp-core-ui .attachment .portrait img{max-width:100%}
|
1834 |
-
.brz .wp-core-ui .attachment .landscape img{max-height:100%}
|
1835 |
-
.brz .wp-core-ui .attachment .thumbnail:after{content:"";display:block;position:absolute;top:0;left:0;right:0;bottom:0;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);overflow:hidden}
|
1836 |
-
.brz .wp-core-ui .attachment .thumbnail img{top:0;left:0}
|
1837 |
-
.brz .wp-core-ui .attachment .thumbnail .centered{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transform:translate(50%,50%);transform:translate(50%,50%)}
|
1838 |
-
.brz .wp-core-ui .attachment .thumbnail .centered img{-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}
|
1839 |
-
.brz .wp-core-ui .attachments-browser .attachment .thumbnail .centered img.icon{-webkit-transform:translate(-50%,-70%);transform:translate(-50%,-70%)}
|
1840 |
-
.brz .ie8 .wp-core-ui .attachment img.icon{top:20%;position:relative}
|
1841 |
-
.brz .wp-core-ui .attachment .filename{position:absolute;left:0;right:0;bottom:0;overflow:hidden;max-height:100%;word-wrap:break-word;text-align:center;font-weight:600;background:rgba(255,255,255,.8);-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}
|
1842 |
-
.brz .wp-core-ui .attachment .filename div{padding:5px 10px}
|
1843 |
-
.brz .wp-core-ui .attachment .thumbnail img{position:absolute}
|
1844 |
-
.brz .wp-core-ui .attachment-close{display:block;position:absolute;top:5px;right:5px;height:22px;width:22px;padding:0;background-color:#fff;background-position:-96px 4px;border-radius:3px;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.3);box-shadow:0 0 0 1px rgba(0,0,0,.3);-webkit-transition:none;transition:none}
|
1845 |
-
.brz .wp-core-ui .attachment-close:focus,.brz .wp-core-ui .attachment-close:hover{background-position:-36px 4px}
|
1846 |
-
.brz .wp-core-ui .attachment .check{display:none;height:24px;width:24px;padding:0;border:0;position:absolute;z-index:10;top:0;right:0;outline:0;background:#eee;cursor:pointer;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.15);box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.15)}
|
1847 |
-
.brz .wp-core-ui .attachment .check .media-modal-icon{display:block;background-position:-1px 0;height:15px;width:15px;margin:5px}
|
1848 |
-
.brz .wp-core-ui .attachment .check:hover .media-modal-icon{background-position:-40px 0}
|
1849 |
-
.brz .wp-core-ui .attachment.selected .check{display:block}
|
1850 |
-
.brz .wp-core-ui .attachment.details .check,.brz .wp-core-ui .attachment.selected .check:focus,.brz .wp-core-ui .media-frame.mode-grid .attachment.selected .check{background-color:#0073aa;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #0073aa;box-shadow:0 0 0 1px #fff,0 0 0 2px #0073aa}
|
1851 |
-
.brz .wp-core-ui .attachment.details .check .media-modal-icon,.brz .wp-core-ui .media-frame.mode-grid .attachment.selected .check .media-modal-icon{background-position:-21px 0}
|
1852 |
-
.brz .wp-core-ui .attachment.details .check:hover .media-modal-icon,.brz .wp-core-ui .attachment.selected .check:focus .media-modal-icon,.brz .wp-core-ui .media-frame.mode-grid .attachment.selected .check:hover .media-modal-icon{background-position:-60px 0}
|
1853 |
-
.brz .wp-core-ui .media-frame .attachment .describe{position:relative;display:block;width:100%;margin:0;padding:8px;font-size:12px;border-radius:0}
|
1854 |
-
.brz .media-frame .attachments-browser{position:relative;width:100%;height:100%;overflow:hidden}
|
1855 |
-
.brz .attachments-browser .media-toolbar{right:300px;height:72px}
|
1856 |
-
.brz .attachments-browser.hide-sidebar .media-toolbar{right:0}
|
1857 |
-
.brz .attachments-browser .media-toolbar-primary>.media-button,.brz .attachments-browser .media-toolbar-primary>.media-button-group,.brz .attachments-browser .media-toolbar-secondary>.media-button,.brz .attachments-browser .media-toolbar-secondary>.media-button-group{margin:11px 0}
|
1858 |
-
.brz .attachments-browser .attachments{padding:2px 8px 8px}
|
1859 |
-
.brz .attachments-browser .attachments,.brz .attachments-browser .uploader-inline{position:absolute;top:72px;left:0;right:300px;bottom:0;overflow:auto;outline:0}
|
1860 |
-
.brz .attachments-browser .uploader-inline.hidden{display:none}
|
1861 |
-
.brz .attachments-browser .media-toolbar-primary{max-width:33%}
|
1862 |
-
.brz .attachments-browser .media-toolbar-secondary{max-width:66%}
|
1863 |
-
.brz .uploader-inline .close{background-color:transparent;border:0;cursor:pointer;height:48px;outline:0;padding:0;position:absolute;right:2px;text-align:center;top:2px;width:48px;z-index:1}
|
1864 |
-
.brz .uploader-inline .close:before{font:normal 30px/1 dashicons!important;color:#555d66;display:inline-block;content:"\f335";font-weight:300;margin-top:1px}
|
1865 |
-
.brz .uploader-inline .close:focus{outline:1px solid #5b9dd9;-webkit-box-shadow:0 0 3px rgba(0,115,170,.8);box-shadow:0 0 3px rgba(0,115,170,.8)}
|
1866 |
-
.brz .attachments-browser.hide-sidebar .attachments,.brz .attachments-browser.hide-sidebar .uploader-inline{right:0;margin-right:0}
|
1867 |
-
.brz .attachments-browser .instructions{display:inline-block;margin-top:16px;line-height:18px;font-size:13px;color:#666;margin-right:.5em}
|
1868 |
-
.brz .attachments-browser .no-media{padding:2em 0 0 2em}
|
1869 |
-
.brz .media-progress-bar{position:relative;height:10px;width:70%;margin:10px auto;border-radius:10px;background:#ddd;background:rgba(0,0,0,.1)}
|
1870 |
-
.brz .media-progress-bar div{height:10px;min-width:20px;width:0;background:#0073aa;border-radius:10px;-webkit-transition:width .3s;transition:width .3s}
|
1871 |
-
.brz .media-uploader-status .media-progress-bar{display:none;width:100%}
|
1872 |
-
.brz .uploading.media-uploader-status .media-progress-bar{display:block}
|
1873 |
-
.brz .attachment-preview .media-progress-bar{position:absolute;top:50%;left:15%;width:70%;margin:-5px 0 0 0}
|
1874 |
-
.brz .media-uploader-status{position:relative;margin:0 auto;padding-bottom:10px;max-width:400px}
|
1875 |
-
.brz .uploader-inline .media-uploader-status h2,.brz .uploader-inline .media-uploader-status h3{display:none}
|
1876 |
-
.brz .media-uploader-status .upload-details{display:none;font-size:12px;color:#666}
|
1877 |
-
.brz .uploading.media-uploader-status .upload-details{display:block}
|
1878 |
-
.brz .media-uploader-status .upload-detail-separator{padding:0 4px}
|
1879 |
-
.brz .media-uploader-status .upload-count{color:#444}
|
1880 |
-
.brz .media-uploader-status .upload-dismiss-errors,.brz .media-uploader-status .upload-errors{display:none}
|
1881 |
-
.brz .errors.media-uploader-status .upload-dismiss-errors,.brz .errors.media-uploader-status .upload-errors{display:block}
|
1882 |
-
.brz .media-uploader-status .upload-dismiss-errors{text-decoration:none}
|
1883 |
-
.brz .media-sidebar .media-uploader-status .upload-dismiss-errors{position:absolute;top:-10px;right:-10px;padding:10px;-webkit-transition:none;transition:none}
|
1884 |
-
.brz .media-sidebar .media-uploader-status .upload-dismiss-errors:before{content:"\f153";display:block;font:normal 16px/1 dashicons;color:#72777c}
|
1885 |
-
.brz .media-sidebar .media-uploader-status .upload-dismiss-errors:focus:before,.brz .media-sidebar .media-uploader-status .upload-dismiss-errors:hover:before{color:#c00}
|
1886 |
-
.brz .upload-errors .upload-error{padding:12px;margin-bottom:12px;background:#fff;border-left:4px solid #dc3232;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}
|
1887 |
-
.brz .uploader-inline .upload-errors .upload-error{background-color:#fbeaea;-webkit-box-shadow:none;box-shadow:none}
|
1888 |
-
.brz .upload-errors .upload-error-filename{font-weight:600}
|
1889 |
-
.brz .upload-errors .upload-error-message{display:block;padding-top:8px;word-wrap:break-word}
|
1890 |
-
.brz .uploader-window{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,86,132,.9);z-index:250000;display:none;text-align:center;opacity:0;-webkit-transition:opacity 250ms;transition:opacity 250ms}
|
1891 |
-
.brz .uploader-window-content{position:absolute;top:10px;left:10px;right:10px;bottom:10px;border:1px dashed #fff}
|
1892 |
-
.brz .uploader-window h1,.brz .uploader-window h3{margin:-.5em 0 0;position:absolute;top:50%;left:0;right:0;-webkit-transform:translateY(-50%);transform:translateY(-50%);font-size:40px;color:#fff;padding:0}
|
1893 |
-
.brz .uploader-window .media-progress-bar{margin-top:20px;max-width:300px;background:0 0;border-color:#fff;display:none}
|
1894 |
-
.brz .uploader-window .media-progress-bar div{background:#fff}
|
1895 |
-
.brz .uploading .uploader-window .media-progress-bar{display:block}
|
1896 |
-
.brz .media-frame .uploader-inline{margin-bottom:20px;padding:0;text-align:center}
|
1897 |
-
.brz .uploader-inline-content{position:absolute;top:30%;left:0;right:0}
|
1898 |
-
.brz .uploader-inline-content .upload-ui{margin:2em 0}
|
1899 |
-
.brz .uploader-inline-content .post-upload-ui{margin-bottom:2em}
|
1900 |
-
.brz .uploader-inline .has-upload-message .upload-ui{margin:0 0 4em}
|
1901 |
-
.brz .uploader-inline h2,.brz .uploader-inline h3{font-size:20px;line-height:28px;font-weight:400;margin:0}
|
1902 |
-
.brz .uploader-inline .has-upload-message .upload-instructions{font-size:14px;color:#444;font-weight:400}
|
1903 |
-
.brz .uploader-inline .drop-instructions{display:none}
|
1904 |
-
.brz .supports-drag-drop .uploader-inline .drop-instructions{display:block}
|
1905 |
-
.brz .supports-drag-drop .uploader-inline .drop-instructions:before{display:none}
|
1906 |
-
.brz .uploader-inline p{font-size:12px;margin:.5em 0}
|
1907 |
-
.brz .uploader-inline .media-progress-bar{display:none}
|
1908 |
-
.brz .uploading.uploader-inline .media-progress-bar{display:block}
|
1909 |
-
.brz .uploader-inline .browser{display:inline-block!important}
|
1910 |
-
.brz .media-selection{position:absolute;top:0;left:0;right:350px;height:60px;padding:0 0 0 16px;overflow:hidden;white-space:nowrap}
|
1911 |
-
.brz .media-selection .selection-info{display:inline-block;font-size:12px;height:60px;margin-right:10px;vertical-align:top}
|
1912 |
-
.brz .media-selection.editing,.brz .media-selection.empty{display:none}
|
1913 |
-
.brz .media-selection.one .edit-selection{display:none}
|
1914 |
-
.brz .media-selection .count{display:block;padding-top:12px;font-size:14px;line-height:20px;font-weight:600}
|
1915 |
-
.brz .media-selection .button-link{float:left;padding:1px 8px;margin:1px 8px 1px -8px;line-height:16px;border-right:1px solid #ddd;color:#0073aa;text-decoration:none}
|
1916 |
-
.brz .media-selection .button-link:focus,.brz .media-selection .button-link:hover{color:#00a0d2}
|
1917 |
-
.brz .media-selection .button-link:last-child{border-right:0;margin-right:0}
|
1918 |
-
.brz .selection-info .clear-selection{color:#bc0b0b}
|
1919 |
-
.brz .selection-info .clear-selection:focus,.brz .selection-info .clear-selection:hover{color:#dc3232}
|
1920 |
-
.brz .media-selection .selection-view{display:inline-block;vertical-align:top}
|
1921 |
-
.brz .media-selection .attachments{display:inline-block;height:48px;margin:6px;padding:0;overflow:hidden;vertical-align:top}
|
1922 |
-
.brz .media-selection .attachment{width:40px;padding:0;margin:4px}
|
1923 |
-
.brz .media-selection .attachment .thumbnail{top:0;right:0;bottom:0;left:0}
|
1924 |
-
.brz .media-selection .attachment .icon{width:50%}
|
1925 |
-
.brz .media-selection .attachment-preview{-webkit-box-shadow:none;box-shadow:none;background:0 0}
|
1926 |
-
.brz .wp-core-ui .media-selection .attachment.details:focus,.brz .wp-core-ui .media-selection .attachment:focus,.brz .wp-core-ui .media-selection .selected.attachment:focus{-webkit-box-shadow:0 0 0 1px #fff,0 0 2px 3px #5b9dd9;box-shadow:0 0 0 1px #fff,0 0 2px 3px #5b9dd9}
|
1927 |
-
.brz .wp-core-ui .media-selection .selected.attachment{-webkit-box-shadow:none;box-shadow:none}
|
1928 |
-
.brz .wp-core-ui .media-selection .attachment.details{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #0073aa;box-shadow:0 0 0 1px #fff,0 0 0 3px #0073aa}
|
1929 |
-
.brz .media-selection:after{content:"";display:block;position:absolute;top:0;right:0;bottom:0;width:25px;background-image:-webkit-gradient(linear,right top,left top,from(white),to(rgba(255,255,255,0)));background-image:linear-gradient(to left,#fff,rgba(255,255,255,0))}
|
1930 |
-
.brz .media-selection .attachment .filename{display:none}
|
1931 |
-
.brz .media-frame .spinner{background-size:20px 20px;float:right;display:inline-block;visibility:hidden;opacity:.7;width:20px;height:20px;margin:0;vertical-align:middle}
|
1932 |
-
.brz .media-frame .spinner.is-active{visibility:visible}
|
1933 |
-
.brz .media-toolbar .spinner{margin-top:14px}
|
1934 |
-
.brz .attachment-details{position:relative;overflow:auto}
|
1935 |
-
.brz .attachment-details .settings-save-status{float:right;text-transform:none;z-index:10}
|
1936 |
-
.brz .attachment-details .settings-save-status .spinner{margin-left:5px}
|
1937 |
-
.brz .attachment-details .settings-save-status .saved{float:right;display:none}
|
1938 |
-
.brz .attachment-details.save-waiting .settings-save-status .spinner{visibility:visible}
|
1939 |
-
.brz .attachment-details.save-complete .settings-save-status .saved{display:block}
|
1940 |
-
.brz .attachment-info{overflow:hidden;min-height:60px;margin-bottom:16px;line-height:18px;color:#666;border-bottom:1px solid #ddd;padding-bottom:11px}
|
1941 |
-
.brz .attachment-info .filename{font-weight:600;color:#444;word-wrap:break-word}
|
1942 |
-
.brz .attachment-info .thumbnail{position:relative;float:left;max-width:120px;max-height:120px;margin-top:5px;margin-right:10px;margin-bottom:5px}
|
1943 |
-
.brz .uploading .attachment-info .thumbnail{width:120px;height:80px;-webkit-box-shadow:inset 0 0 15px rgba(0,0,0,.1);box-shadow:inset 0 0 15px rgba(0,0,0,.1)}
|
1944 |
-
.brz .uploading .attachment-info .media-progress-bar{margin-top:35px}
|
1945 |
-
.brz .attachment-info .thumbnail-image:after{content:"";display:block;position:absolute;top:0;left:0;right:0;bottom:0;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);overflow:hidden}
|
1946 |
-
.brz .attachment-info .thumbnail img{display:block;max-width:120px;max-height:120px;margin:0 auto}
|
1947 |
-
.brz .attachment-info .details{float:left;font-size:12px;max-width:100%}
|
1948 |
-
.brz .attachment-info .delete-attachment,.brz .attachment-info .edit-attachment,.brz .attachment-info .trash-attachment,.brz .attachment-info .untrash-attachment{display:block;text-decoration:none;white-space:nowrap}
|
1949 |
-
.brz .attachment-details.needs-refresh .attachment-info .edit-attachment{display:none}
|
1950 |
-
.brz .attachment-info .edit-attachment{display:block}
|
1951 |
-
.brz .media-modal .delete-attachment,.brz .media-modal .trash-attachment,.brz .media-modal .untrash-attachment{display:inline;padding:0;color:#bc0b0b}
|
1952 |
-
.brz .media-modal .delete-attachment:focus,.brz .media-modal .delete-attachment:hover,.brz .media-modal .trash-attachment:focus,.brz .media-modal .trash-attachment:hover,.brz .media-modal .untrash-attachment:focus,.brz .media-modal .untrash-attachment:hover{color:#dc3232}
|
1953 |
-
.brz .attachment-display-settings{width:100%;float:left;overflow:hidden}
|
1954 |
-
.brz .attachment-display-settings h4{margin:1.4em 0 .4em}
|
1955 |
-
.brz .collection-settings{overflow:hidden}
|
1956 |
-
.brz .collection-settings .setting input[type=checkbox]{float:left;margin-right:8px}
|
1957 |
-
.brz .collection-settings .setting span{min-width:inherit}
|
1958 |
-
.brz .media-modal .imgedit-wrap{position:static}
|
1959 |
-
.brz .media-modal .imgedit-wrap .imgedit-panel-content{padding:16px;position:absolute;top:0;right:282px;bottom:0;left:0;overflow:auto}
|
1960 |
-
.brz .media-modal .imgedit-wrap .imgedit-settings{background:#f3f3f3;border-left:1px solid #ddd;padding:20px 16px 16px;position:absolute;top:0;right:0;bottom:0;width:250px;overflow:auto}
|
1961 |
-
.brz .media-modal .imgedit-group{background:0 0;border:none;border-bottom:1px solid #ddd;-webkit-box-shadow:none;box-shadow:none;margin:0 0 16px;padding:0 0 16px;position:relative}
|
1962 |
-
.brz .media-modal .imgedit-group:last-of-type{border:none;margin:0;padding:0}
|
1963 |
-
.brz .media-modal .imgedit-group-top{margin:0}
|
1964 |
-
.brz .media-modal .imgedit-group-top h2,.brz .media-modal .imgedit-group-top h2 .button-link,.brz .media-modal .imgedit-group-top h3{display:inline-block;text-transform:uppercase;font-size:12px;color:#666;margin:3px 0 0}
|
1965 |
-
.brz .media-modal .imgedit-group-top h2 .button-link,.brz .media-modal .imgedit-group-top h2 a,.brz .media-modal .imgedit-group-top h3 a{text-decoration:none;color:#666}
|
1966 |
-
.brz .wp-core-ui.media-modal .image-editor .imgedit-help-toggle,.brz .wp-core-ui.media-modal .image-editor .imgedit-help-toggle:active,.brz .wp-core-ui.media-modal .image-editor .imgedit-help-toggle:hover{border:1px solid transparent;margin:0;padding:0;background:0 0;color:#0074a2;font-size:20px;line-height:1;cursor:pointer;-webkit-box-sizing:content-box;box-sizing:content-box;-webkit-box-shadow:none;box-shadow:none}
|
1967 |
-
.brz .wp-core-ui.media-modal .image-editor .imgedit-help-toggle:focus{color:#0074a2;border-color:#5b9dd9;outline:0;-webkit-box-shadow:0 0 3px rgba(0,115,170,.8);box-shadow:0 0 3px rgba(0,115,170,.8)}
|
1968 |
-
.brz .wp-core-ui.media-modal .imgedit-group-top .dashicons-arrow-down.imgedit-help-toggle{margin-top:-3px}
|
1969 |
-
.brz .wp-core-ui.media-modal .image-editor h3 .imgedit-help-toggle{margin-top:-2px}
|
1970 |
-
.brz .media-modal .imgedit-help-toggled span.dashicons:before{content:"\f142"}
|
1971 |
-
.brz .media-modal .imgedit-thumbnail-preview{margin:10px 8px 0 0}
|
1972 |
-
.brz .imgedit-thumbnail-preview-caption{display:block}
|
1973 |
-
.brz .media-modal .imgedit-wrap div.updated{margin:0 0 16px}
|
1974 |
-
.brz .embed-url{display:block;position:relative;padding:16px;margin:0;z-index:250;background:#fff;font-size:18px}
|
1975 |
-
.brz .media-frame .embed-url input{font-size:18px;padding:12px 14px;width:100%;min-width:200px;-webkit-box-shadow:inset 2px 2px 4px -2px rgba(0,0,0,.1);box-shadow:inset 2px 2px 4px -2px rgba(0,0,0,.1)}
|
1976 |
-
.brz .media-frame .embed-url .spinner{position:absolute;top:32px;right:26px}
|
1977 |
-
.brz .media-frame .embed-loading .embed-url .spinner{visibility:visible}
|
1978 |
-
.brz .embed-link-settings,.brz .embed-media-settings{position:absolute;top:70px;left:0;right:0;bottom:0;padding:16px 16px 32px;overflow:auto}
|
1979 |
-
.brz .media-embed .embed-link-settings{overflow:visible}
|
1980 |
-
.brz .embed-preview embed,.brz .embed-preview iframe,.brz .embed-preview img,.brz .mejs-container video{max-width:100%;vertical-align:middle}
|
1981 |
-
.brz .embed-preview a{display:inline-block}
|
1982 |
-
.brz .embed-preview img{display:block;height:auto}
|
1983 |
-
.brz .mejs-container:focus{outline:1px solid #5b9dd9;-webkit-box-shadow:0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 2px 1px rgba(30,140,190,.8)}
|
1984 |
-
.brz .image-details .media-modal{left:140px;right:140px}
|
1985 |
-
.brz .media-frame-content{outline:0}
|
1986 |
-
.brz .image-details .media-frame-content,.brz .image-details .media-frame-router,.brz .image-details .media-frame-title{left:0}
|
1987 |
-
.brz .image-details .embed-media-settings{top:0;overflow:visible;padding:0}
|
1988 |
-
.brz .image-details .embed-media-settings,.brz .image-details .embed-media-settings div{-webkit-box-sizing:border-box;box-sizing:border-box}
|
1989 |
-
.brz .image-details .column-settings{background:#f3f3f3;border-right:1px solid #ddd;min-height:100%;width:55%;position:absolute;top:0;left:0}
|
1990 |
-
.brz .image-details .column-settings h2,.brz .image-details .column-settings h3{margin:20px;padding-top:20px;border-top:1px solid #ddd;color:#23282d}
|
1991 |
-
.brz .image-details .column-image{width:45%;position:absolute;left:55%;top:0}
|
1992 |
-
.brz .image-details .image{margin:20px}
|
1993 |
-
.brz .image-details .image img{max-width:100%;max-height:500px}
|
1994 |
-
.brz .image-details .advanced-toggle{padding:0;color:#666;text-transform:uppercase;text-decoration:none}
|
1995 |
-
.brz .image-details .advanced-toggle:active,.brz .image-details .advanced-toggle:hover{color:#666}
|
1996 |
-
.brz .image-details .advanced-toggle:after{font:normal 20px/1 dashicons;speak:none;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\f140";display:inline-block;margin-top:-2px}
|
1997 |
-
.brz .image-details .advanced-visible .advanced-toggle:after{content:"\f142"}
|
1998 |
-
.brz .image-details .embed-media-settings .size{margin-bottom:4px}
|
1999 |
-
.brz .image-details .custom-size span{display:block}
|
2000 |
-
.brz .image-details .custom-size label{display:block;float:left}
|
2001 |
-
.brz .image-details .custom-size span small{color:#555d66;font-size:inherit}
|
2002 |
-
.brz .image-details .custom-size input{width:5em}
|
2003 |
-
.brz .image-details .custom-size .sep{float:left;margin:26px 6px 0}
|
2004 |
-
.brz .image-details .custom-size:after{content:"";display:table;clear:both}
|
2005 |
-
.brz .media-embed .thumbnail{max-width:100%;max-height:200px;position:relative;float:left}
|
2006 |
-
.brz .media-embed .thumbnail img{max-height:200px;display:block}
|
2007 |
-
.brz .media-embed .thumbnail:after{content:"";display:block;position:absolute;top:0;left:0;right:0;bottom:0;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);overflow:hidden}
|
2008 |
-
.brz .media-embed .setting{width:100%;margin:10px 0;float:left;display:block;clear:both}
|
2009 |
-
.brz .image-details .embed-media-settings .setting{float:none;width:auto}
|
2010 |
-
.brz .image-details .actions{margin:10px 0}
|
2011 |
-
.brz .image-details .hidden{display:none}
|
2012 |
-
.brz .media-embed .setting input[type=text],.brz .media-embed .setting textarea{display:block;width:100%;max-width:400px;margin:1px 0}
|
2013 |
-
.brz .image-details .embed-media-settings .setting input[type=text],.brz .image-details .embed-media-settings .setting textarea{max-width:inherit;width:70%}
|
2014 |
-
.brz .image-details .embed-media-settings .custom-size,.brz .image-details .embed-media-settings .link-target,.brz .image-details .embed-media-settings .setting input.link-to-custom{margin-left:27%;width:70%}
|
2015 |
-
.brz .image-details .embed-media-settings .link-target{margin-top:24px}
|
2016 |
-
.brz .media-embed .setting input.hidden,.brz .media-embed .setting textarea.hidden{display:none}
|
2017 |
-
.brz .media-embed .setting span{display:block;width:200px;font-size:13px;line-height:24px;color:#666}
|
2018 |
-
.brz .image-details .embed-media-settings .setting span{float:left;width:25%;text-align:right;margin:8px 1% 0;line-height:1.1}
|
2019 |
-
.brz .media-embed .setting .button-group{margin:2px 0}
|
2020 |
-
.brz .media-embed-sidebar{position:absolute;top:0;left:440px}
|
2021 |
-
.brz .advanced-section,.brz .link-settings{margin-top:10px}
|
2022 |
-
.brz .wp-editor-wrap .uploader-editor{background:rgba(150,150,150,.9);position:absolute;top:0;left:0;width:100%;height:100%;z-index:99998;display:none;text-align:center}
|
2023 |
-
.brz .wp-editor-wrap .uploader-editor-content{border:1px dashed #fff;position:absolute;top:10px;left:10px;right:10px;bottom:10px}
|
2024 |
-
.brz .wp-editor-wrap .uploader-editor .uploader-editor-title{position:absolute;top:50%;left:0;right:0;-webkit-transform:translateY(-50%);transform:translateY(-50%);font-size:3em;line-height:1.3;font-weight:600;color:#fff;padding:0;margin:0;display:none}
|
2025 |
-
.brz .wp-editor-wrap .uploader-editor.droppable{background:rgba(0,86,132,.9)}
|
2026 |
-
.brz .wp-editor-wrap .uploader-editor.droppable .uploader-editor-title{display:block}
|
2027 |
-
@media only screen and (max-width:900px){.brz .media-frame:not(.hide-menu) .media-frame-content,.brz .media-frame:not(.hide-menu) .media-frame-router,.brz .media-frame:not(.hide-menu) .media-frame-title,.brz .media-frame:not(.hide-menu) .media-frame-toolbar{left:0}
|
2028 |
-
.brz .media-frame:not(.hide-menu) .media-frame-menu{position:static;width:0}
|
2029 |
-
.brz .media-frame:not(.hide-menu) .media-menu{width:auto;max-width:80%;overflow:auto;z-index:2000;top:50px;left:-300px;right:auto;bottom:auto;padding:5px 0;border:1px solid #ccc}
|
2030 |
-
.brz .media-frame:not(.hide-menu) .media-menu.visible{left:0}
|
2031 |
-
.brz .media-frame:not(.hide-menu) .media-menu>a{padding:12px 16px;font-size:16px}
|
2032 |
-
.brz .media-frame:not(.hide-menu) .media-menu>a.active{display:none}
|
2033 |
-
.brz .media-frame:not(.hide-menu) .media-menu .separator{margin:5px 10px}
|
2034 |
-
.brz .media-frame:not(.hide-menu) .media-frame-title{left:0}
|
2035 |
-
.brz .media-frame:not(.hide-menu) .media-frame-title .dashicons{display:inline-block;line-height:50px}
|
2036 |
-
.brz .media-frame:not(.hide-menu) .media-frame-title h1{color:#0073aa;line-height:3;font-size:18px;float:left;cursor:pointer}
|
2037 |
-
.brz .media-sidebar{width:230px}
|
2038 |
-
.brz .attachments-browser .attachments,.brz .attachments-browser .media-toolbar,.brz .attachments-browser .uploader-inline{right:262px}
|
2039 |
-
.brz .attachment-details .setting,.brz .media-sidebar .setting{margin:6px 0}
|
2040 |
-
.brz .attachment-details .setting input,.brz .attachment-details .setting span,.brz .attachment-details .setting textarea,.brz .compat-item label span,.brz .media-sidebar .setting input,.brz .media-sidebar .setting span,.brz .media-sidebar .setting textarea{float:none}
|
2041 |
-
.brz .attachment-details .setting span,.brz .compat-item label span,.brz .media-sidebar .setting span{text-align:inherit;min-height:16px;margin:0;padding:8px 2px 0}
|
2042 |
-
.brz .attachment-details .setting .value,.brz .media-sidebar .setting .value{float:none;width:auto}
|
2043 |
-
.brz .attachment-details .setting input[type=email],.brz .attachment-details .setting input[type=number],.brz .attachment-details .setting input[type=password],.brz .attachment-details .setting input[type=search],.brz .attachment-details .setting input[type=tel],.brz .attachment-details .setting input[type=text],.brz .attachment-details .setting input[type=url],.brz .attachment-details .setting select,.brz .attachment-details .setting textarea,.brz .media-sidebar .setting input[type=email],.brz .media-sidebar .setting input[type=number],.brz .media-sidebar .setting input[type=password],.brz .media-sidebar .setting input[type=search],.brz .media-sidebar .setting input[type=tel],.brz .media-sidebar .setting input[type=text],.brz .media-sidebar .setting input[type=url],.brz .media-sidebar .setting select,.brz .media-sidebar .setting textarea{float:none;width:98%;max-width:none;height:auto}
|
2044 |
-
.brz .attachment-details .setting select.columns,.brz .media-sidebar .setting select.columns{width:auto}
|
2045 |
-
.brz .media-frame .search,.brz .media-frame input,.brz .media-frame textarea{padding:3px 6px}
|
2046 |
-
.brz .image-details .column-image{width:30%;left:70%}
|
2047 |
-
.brz .image-details .column-settings{width:70%}
|
2048 |
-
.brz .image-details .media-modal{left:30px;right:30px}
|
2049 |
-
.brz .image-details .embed-media-settings .setting{margin:20px}
|
2050 |
-
.brz .image-details .embed-media-settings .setting span{float:none;text-align:left;width:100%;margin-bottom:4px}
|
2051 |
-
.brz .image-details .embed-media-settings .setting input.link-to-custom,.brz .image-details .embed-media-settings .setting input[type=text],.brz .image-details .embed-media-settings .setting textarea{width:100%;margin-left:0}
|
2052 |
-
.brz .image-details .embed-media-settings .custom-size{margin-left:20px}
|
2053 |
-
.brz .collection-settings .setting input[type=checkbox]{margin-top:0}
|
2054 |
-
.brz .media-selection{min-width:120px}
|
2055 |
-
.brz .media-selection:after{background:0 0}
|
2056 |
-
.brz .media-selection .attachments{display:none}
|
2057 |
-
.brz .media-modal .attachments-browser .media-toolbar .search{max-width:100%;height:auto;float:right}
|
2058 |
-
.brz .media-modal .attachments-browser .media-toolbar .attachment-filters{height:auto}
|
2059 |
-
.brz .media-modal .attachments-browser .media-toolbar .spinner{margin:14px 2px 0}
|
2060 |
-
.brz .media-frame input[type=email],.brz .media-frame input[type=number],.brz .media-frame input[type=password],.brz .media-frame input[type=search],.brz .media-frame input[type=text],.brz .media-frame input[type=url],.brz .media-frame select,.brz .media-frame textarea{font-size:16px}}@media only screen and (max-width:640px),screen and (max-height:400px){.brz .image-details .media-modal,.brz .media-modal{position:fixed;top:0;left:0;right:0;bottom:0}
|
2061 |
-
.brz .media-modal-backdrop{position:fixed}
|
2062 |
-
.brz .media-sidebar{z-index:1900;max-width:70%;bottom:120%;-webkit-box-sizing:border-box;box-sizing:border-box;padding-bottom:0}
|
2063 |
-
.brz .media-sidebar.visible{bottom:0}
|
2064 |
-
.brz .attachments-browser .attachments,.brz .attachments-browser .media-toolbar,.brz .attachments-browser .uploader-inline{right:0}
|
2065 |
-
.brz .image-details .media-frame-title{display:block;top:0;font-size:14px}
|
2066 |
-
.brz .image-details .column-image,.brz .image-details .column-settings{width:100%;position:relative;left:0}
|
2067 |
-
.brz .image-details .column-settings{padding:4px 0}
|
2068 |
-
.brz .media-frame-content .media-toolbar .instructions{display:none}}@media screen and (max-height:400px){.brz .media-menu{padding:0}
|
2069 |
-
.brz .media-frame-router{top:44px}
|
2070 |
-
.brz .media-frame-content{top:78px}
|
2071 |
-
.brz .attachments-browser .attachments{top:40px}
|
2072 |
-
.brz .embed-link-settings{overflow:visible}}@media only screen and (max-width:480px){.brz .media-modal-close{top:-5px}
|
2073 |
-
.brz .media-modal .media-frame-title{height:40px}
|
2074 |
-
.brz .wp-core-ui.wp-customizer .media-button{margin-top:13px}
|
2075 |
-
.brz .media-frame:not(.hide-menu) .media-frame-title h1,.brz .media-modal .media-frame-title h1{font-size:18px;line-height:40px}
|
2076 |
-
.brz .media-frame:not(.hide-menu) .media-frame-title .dashicons{line-height:40px}
|
2077 |
-
.brz .media-frame-router,.brz .media-frame:not(.hide-menu) .media-menu{top:40px}
|
2078 |
-
.brz .media-frame-content{top:74px}
|
2079 |
-
.brz .media-frame.hide-router .media-frame-content{top:40px}}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.brz .wp-core-ui .media-modal-icon{background-size:134px 15px}}.brz .media-frame-content[data-columns="1"] .attachment{width:100%}
|
2080 |
-
.brz .media-frame-content[data-columns="2"] .attachment{width:50%}
|
2081 |
-
.brz .media-frame-content[data-columns="3"] .attachment{width:33.33%}
|
2082 |
-
.brz .media-frame-content[data-columns="4"] .attachment{width:25%}
|
2083 |
-
.brz .media-frame-content[data-columns="5"] .attachment{width:20%}
|
2084 |
-
.brz .media-frame-content[data-columns="6"] .attachment{width:16.66%}
|
2085 |
-
.brz .media-frame-content[data-columns="7"] .attachment{width:14.28%}
|
2086 |
-
.brz .media-frame-content[data-columns="8"] .attachment{width:12.5%}
|
2087 |
-
.brz .media-frame-content[data-columns="9"] .attachment{width:11.11%}
|
2088 |
-
.brz .media-frame-content[data-columns="10"] .attachment{width:10%}
|
2089 |
-
.brz .media-frame-content[data-columns="11"] .attachment{width:9.09%}
|
2090 |
-
.brz .media-frame-content[data-columns="12"] .attachment{width:8.33%}
|
2091 |
-
.brz .admin-bar .wp-env .visual-sidebar{top:32px;left:0}
|
2092 |
-
.brz .admin-bar .wp-env .visual-wrap-block-wrap{margin-left:0;padding-bottom:0}
|
2093 |
-
.brz .brz-wp__sidebar{width:100%}
|
2094 |
-
.brz .brz-wp__sidebar .brz-shortcode__placeholder{width:100%;min-height:300px}
|
2095 |
-
.brz .brz-wp-shortcode{width:100%;min-height:20px}
|
2096 |
-
.brz .brz-wp-shortcode .woocommerce:empty{width:100%;height:15px}
|
2097 |
-
.brz .brz-wp-shortcode .woocommerce-product-gallery{opacity:1!important}
|
2098 |
-
.brz .brz-wp-shortcode .brz-shortcode__placeholder{width:100%;min-height:300px}
|
2099 |
-
@-webkit-keyframes brz-ed-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}
|
2100 |
-
100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes brz-ed-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}
|
2101 |
-
100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes brz-ed-fadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}
|
2102 |
-
to{opacity:1;-webkit-transform:none;transform:none}}@keyframes brz-ed-fadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}
|
2103 |
-
to{opacity:1;-webkit-transform:none;transform:none}}@-webkit-keyframes brz-ed-fadeInUp{from{opacity:0;-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}
|
2104 |
-
to{opacity:1;-webkit-transform:none;transform:none}}@keyframes brz-ed-fadeInUp{from{opacity:0;-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}
|
2105 |
-
to{opacity:1;-webkit-transform:none;transform:none}}@-webkit-keyframes brz-ed-fadeIn{from{opacity:0}
|
2106 |
-
to{opacity:1}}@keyframes brz-ed-fadeIn{from{opacity:0}
|
2107 |
-
to{opacity:1}}@-webkit-keyframes brz-ed-fadeInLeft{from{opacity:0;-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}
|
2108 |
-
to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes brz-ed-fadeInLeft{from{opacity:0;-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}
|
2109 |
-
to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@-webkit-keyframes brz-ed-pulsate{0%{-webkit-transform:scale(.1,.1);transform:scale(.1,.1);opacity:0}
|
2110 |
-
50%{opacity:1}
|
2111 |
-
100%{-webkit-transform:scale(1.2,1.2);transform:scale(1.2,1.2);opacity:0}}@keyframes brz-ed-pulsate{0%{-webkit-transform:scale(.1,.1);transform:scale(.1,.1);opacity:0}
|
2112 |
-
50%{opacity:1}
|
2113 |
-
100%{-webkit-transform:scale(1.2,1.2);transform:scale(1.2,1.2);opacity:0}}@-webkit-keyframes brz-ed-sk-bounce{0%,100%{-webkit-transform:scale(0);transform:scale(0)}
|
2114 |
-
50%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes brz-ed-sk-bounce{0%,100%{-webkit-transform:scale(0);transform:scale(0)}
|
2115 |
-
50%{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes brz-rcSliderTooltipZoomDownIn{0%{opacity:0;-webkit-transform-origin:50% 100%;transform-origin:50% 100%;-webkit-transform:scale(0,0);transform:scale(0,0)}
|
2116 |
-
100%{-webkit-transform-origin:50% 100%;transform-origin:50% 100%;-webkit-transform:scale(1,1);transform:scale(1,1)}}@keyframes brz-rcSliderTooltipZoomDownIn{0%{opacity:0;-webkit-transform-origin:50% 100%;transform-origin:50% 100%;-webkit-transform:scale(0,0);transform:scale(0,0)}
|
2117 |
-
100%{-webkit-transform-origin:50% 100%;transform-origin:50% 100%;-webkit-transform:scale(1,1);transform:scale(1,1)}}@-webkit-keyframes brz-rcSliderTooltipZoomDownOut{0%{-webkit-transform-origin:50% 100%;transform-origin:50% 100%;-webkit-transform:scale(1,1);transform:scale(1,1)}
|
2118 |
-
100%{opacity:0;-webkit-transform-origin:50% 100%;transform-origin:50% 100%;-webkit-transform:scale(0,0);transform:scale(0,0)}}@keyframes brz-rcSliderTooltipZoomDownOut{0%{-webkit-transform-origin:50% 100%;transform-origin:50% 100%;-webkit-transform:scale(1,1);transform:scale(1,1)}
|
2119 |
-
100%{opacity:0;-webkit-transform-origin:50% 100%;transform-origin:50% 100%;-webkit-transform:scale(0,0);transform:scale(0,0)}}.brz-ed #brz-ed-root{position:relative;background-color:#f3f3f3}
|
2120 |
-
.brz-ed #brz-ed-root>.brz-reset-all{overflow:hidden}
|
2121 |
-
.brz-ed #brz-ed-home-page{width:100%;min-height:100vh;position:absolute}
|
2122 |
-
.brz-ed .brz-height--100vh,.brz-ed.brz-height--100vh{height:100vh!important}
|
2123 |
-
.brz-ed .body-without-scroll{overflow:hidden}
|
2124 |
-
.brz-ed .brz-ed-wrap-block-wrap{width:100%}
|
2125 |
-
.brz-ed .brz-ed-wrap-block-wrap--first{min-height:400px;height:100vh}
|
2126 |
-
.brz-ed .btn .brz-span[contenteditable=true]{cursor:text}
|
2127 |
-
.brz-ed .brz-ed-element-placeholder{position:relative}
|
2128 |
-
.brz-ed .brz-ed-element-placeholder *{visibility:hidden}
|
2129 |
-
.brz-ed .brz-ed-element-placeholder:after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";display:block;border:1px dashed #34beea;visibility:visible}
|
2130 |
-
.brz-ed .brz-ed-bar-wrapper,.brz-ed .brz-ed-fixed,.brz-ed .brz-ed-large-popup,.brz-ed .brz-ed-sidebar-block{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
|
2131 |
-
.brz-ed .brz-ed-deg90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}
|
2132 |
-
.brz-ed .brz-ed-deg180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}
|
2133 |
-
.brz-ed .brz-ed-deg270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}
|
2134 |
-
html{-webkit-box-sizing:border-box;box-sizing:border-box}
|
2135 |
-
*,:after,:before{-webkit-box-sizing:border-box;box-sizing:border-box}
|
2136 |
-
@-ms-viewport{width:device-width}
|
2137 |
-
.brz-ed .brz-figcaption,.brz-ed .brz-figure,.brz-ed .brz-section{display:block}
|
2138 |
-
body{margin:0}
|
2139 |
-
body.brz-ed{background-color:#f3f3f3}
|
2140 |
-
body.brz::after,body.brz::before{display:none}
|
2141 |
-
.brz-iframe{margin:0;padding:0;border:0;font:inherit;font-size:100%;vertical-align:baseline}
|
2142 |
-
.brz{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
|
2143 |
-
.brz .brz-root__container.brz-reset-all{display:block;overflow:hidden;font-family:inherit}
|
2144 |
-
.brz-ed .brz-hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible;margin:0}
|
2145 |
-
.brz-ed .brz-h1,.brz-ed .brz-h2,.brz-ed .brz-h3,.brz-ed .brz-h4,.brz-ed .brz-h5,.brz-ed .brz-h6{margin-top:0;margin-bottom:0;padding:0}
|
2146 |
-
.brz-ed .brz-p{margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0}
|
2147 |
-
.brz-ed .brz-span{float:none;margin:0;padding:0;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit}
|
2148 |
-
.brz-ed .brz-dl,.brz-ed .brz-ol,.brz-ed .brz-ul{margin:0;list-style:none;padding:0}
|
2149 |
-
.brz-ed .brz-ol .brz-ol,.brz-ed .brz-ol .brz-ul,.brz-ed .brz-ul .brz-ol,.brz-ed .brz-ul .brz-ul{margin:0}
|
2150 |
-
.brz-ed .brz-dt{font-weight:700}
|
2151 |
-
.brz-ed .brz-dd{margin-bottom:.5rem;margin-left:0}
|
2152 |
-
.brz-ed .brz-blockquote{margin:0 0 1rem}
|
2153 |
-
.brz-ed .brz-dfn{font-style:italic}
|
2154 |
-
.brz-ed .brz-b,.brz-ed .brz-strong{font-weight:700}
|
2155 |
-
.brz-ed .brz-a:not(.brz-btn){color:#3dbfe8;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects;-webkit-box-shadow:none;box-shadow:none}
|
2156 |
-
.brz-ed .brz-a:not(.brz-btn)[href]:hover{color:#1aabd8;-webkit-box-shadow:none;box-shadow:none;cursor:pointer}
|
2157 |
-
.brz-ed .brz-a:not(.brz-btn):active,.brz-ed .brz-a:not(.brz-btn):focus,.brz-ed .brz-a:not(.brz-btn):hover{outline:0}
|
2158 |
-
.brz-ed .brz-a.brz-btn[href]{text-decoration:none}
|
2159 |
-
.brz-ed .brz-figure{margin:0;min-width:auto;min-height:auto}
|
2160 |
-
.brz-ed .brz-img{vertical-align:middle;border-style:none}
|
2161 |
-
.brz-ed svg:not(:root){overflow:hidden}
|
2162 |
-
.brz-ed .brz-button,.brz-ed .brz-input,.brz-ed .brz-label,.brz-ed .brz-textarea{-ms-touch-action:manipulation;touch-action:manipulation}
|
2163 |
-
.brz-ed .brz-table{border-collapse:collapse}
|
2164 |
-
.brz-ed .brz-caption{padding-top:.75rem;padding-bottom:.75rem;color:#828b92;text-align:left;caption-side:bottom}
|
2165 |
-
.brz-ed .brz-th{text-align:left}
|
2166 |
-
.brz-ed .brz-form{margin:0}
|
2167 |
-
.brz-ed .brz-label{display:inline-block;margin-bottom:0;font-weight:400}
|
2168 |
-
.brz-ed .brz-button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}
|
2169 |
-
.brz-ed .brz-button,.brz-ed .brz-input,.brz-ed .brz-optgroup,.brz-ed .brz-select,.brz-ed .brz-textarea{padding:0;margin:0;font-family:inherit;font-size:inherit;line-height:inherit}
|
2170 |
-
.brz-ed .brz-button,.brz-ed .brz-input{overflow:visible}
|
2171 |
-
.brz-ed .brz-button,.brz-ed .brz-select{text-transform:none}
|
2172 |
-
.brz-ed .brz-button{-webkit-appearance:button}
|
2173 |
-
.brz-ed .brz-button::-moz-focus-inner{padding:0;border-style:none}
|
2174 |
-
.brz-ed .brz-input[type=checkbox],.brz-ed .brz-input[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}
|
2175 |
-
.brz-ed .brz-input[type=number]{-moz-appearance:textfield}
|
2176 |
-
.brz-ed .brz-input[type=date],.brz-ed .brz-input[type=datetime-local],.brz-ed .brz-input[type=month],.brz-ed .brz-input[type=time]{-webkit-appearance:listbox}
|
2177 |
-
.brz-ed .brz-textarea{overflow:auto;resize:vertical}
|
2178 |
-
.brz-ed .brz-fieldset{min-width:0;padding:0;margin:0;border:0}
|
2179 |
-
.brz-ed .brz-iframe,.brz-ed .brz-object{margin-bottom:0;max-width:100%}
|
2180 |
-
.brz-ed .brz-iframe{margin:0;padding:0;border:0;font:inherit;font-size:100%;vertical-align:baseline}
|
2181 |
-
.brz-ed [hidden]{display:none!important}
|
2182 |
-
.brz-ed .brz-reset-all{-ms-flex-line-pack:stretch;align-content:stretch;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-ms-flex-item-align:auto;align-self:auto;-webkit-animation-delay:0s;animation-delay:0s;-webkit-animation-direction:normal;animation-direction:normal;-webkit-animation-duration:0s;animation-duration:0s;-webkit-animation-fill-mode:none;animation-fill-mode:none;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-animation-name:none;animation-name:none;-webkit-animation-play-state:running;animation-play-state:running;-webkit-animation-timing-function:ease;animation-timing-function:ease;azimuth:center;-webkit-backface-visibility:visible;backface-visibility:visible;background-attachment:scroll;background-blend-mode:normal;background-clip:border-box;background-color:transparent;background-image:none;background-origin:padding-box;background-position:0 0;background-repeat:repeat;background-size:auto auto;block-size:auto;border-block-end-color:currentcolor;border-block-end-style:none;border-block-end-width:medium;border-block-start-color:currentcolor;border-block-start-style:none;border-block-start-width:medium;border-bottom-color:currentcolor;border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-style:none;border-bottom-width:medium;border-collapse:separate;border-image-outset:0s;border-image-repeat:stretch;border-image-slice:100%;border-image-source:none;border-image-width:1;border-inline-end-color:currentcolor;border-inline-end-style:none;border-inline-end-width:medium;border-inline-start-color:currentcolor;border-inline-start-style:none;border-inline-start-width:medium;border-left-color:currentcolor;border-left-style:none;border-left-width:medium;border-right-color:currentcolor;border-right-style:none;border-right-width:medium;border-spacing:0;border-top-color:currentcolor;border-top-left-radius:0;border-top-right-radius:0;border-top-style:none;border-top-width:medium;bottom:auto;-webkit-box-decoration-break:slice;box-decoration-break:slice;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:content-box;box-sizing:content-box;-webkit-column-break-after:auto;break-after:auto;-webkit-column-break-before:auto;break-before:auto;-webkit-column-break-inside:auto;break-inside:auto;caption-side:top;caret-color:auto;clear:none;clip:auto;-webkit-clip-path:none;clip-path:none;color:initial;-webkit-column-count:auto;-moz-column-count:auto;column-count:auto;-webkit-column-fill:balance;-moz-column-fill:balance;column-fill:balance;-webkit-column-gap:normal;-moz-column-gap:normal;column-gap:normal;-webkit-column-rule-color:currentcolor;-moz-column-rule-color:currentcolor;column-rule-color:currentcolor;-webkit-column-rule-style:none;-moz-column-rule-style:none;column-rule-style:none;-webkit-column-rule-width:medium;-moz-column-rule-width:medium;column-rule-width:medium;-webkit-column-span:none;-moz-column-span:none;column-span:none;-webkit-column-width:auto;-moz-column-width:auto;column-width:auto;content:normal;counter-increment:none;counter-reset:none;cursor:auto;display:inline;empty-cells:show;-webkit-filter:none;filter:none;-ms-flex-preferred-size:auto;flex-basis:auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-ms-flex-negative:1;flex-shrink:1;-ms-flex-wrap:nowrap;flex-wrap:nowrap;float:none;font-family:initial;-webkit-font-feature-settings:normal;font-feature-settings:normal;-webkit-font-kerning:auto;font-kerning:auto;-webkit-font-language-override:normal;font-language-override:normal;font-size:medium;font-size-adjust:none;font-stretch:normal;font-style:normal;font-synthesis:weight style;font-variant:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-east-asian:normal;-webkit-font-variant-ligatures:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;font-weight:400;grid-auto-columns:auto;grid-auto-flow:row;grid-auto-rows:auto;grid-column-end:auto;grid-column-gap:0;grid-column-start:auto;grid-row-end:auto;grid-row-gap:0;grid-row-start:auto;grid-template-areas:none;grid-template-columns:none;grid-template-rows:none;height:auto;-webkit-hyphens:manual;-ms-hyphens:manual;hyphens:manual;image-orientation:0deg;image-rendering:auto;image-resolution:1dppx;ime-mode:auto;inline-size:auto;isolation:auto;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;left:auto;letter-spacing:normal;line-break:auto;line-height:normal;list-style-image:none;list-style-position:outside;list-style-type:disc;-webkit-margin-after:0;margin-block-end:0;-webkit-margin-before:0;margin-block-start:0;margin-bottom:0;-webkit-margin-end:0;margin-inline-end:0;-webkit-margin-start:0;margin-inline-start:0;margin-left:0;margin-right:0;margin-top:0;-webkit-mask-clip:border-box;mask-clip:border-box;-webkit-mask-composite:add;mask-composite:add;-webkit-mask-image:none;mask-image:none;mask-mode:match-source;-webkit-mask-origin:border-box;mask-origin:border-box;-webkit-mask-position:0 0;mask-position:0 0;-webkit-mask-repeat:repeat;mask-repeat:repeat;-webkit-mask-size:auto;mask-size:auto;mask-type:luminance;max-height:none;max-width:none;min-block-size:0;min-height:0;min-inline-size:0;min-width:0;mix-blend-mode:normal;-o-object-fit:fill;object-fit:fill;-o-object-position:50% 50%;object-position:50% 50%;offset-block-end:auto;offset-block-start:auto;offset-inline-end:auto;offset-inline-start:auto;opacity:1;-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0;orphans:2;outline-color:initial;outline-offset:0;outline-style:none;outline-width:medium;overflow:visible;overflow-wrap:normal;overflow-x:visible;overflow-y:visible;-webkit-padding-after:0;padding-block-end:0;-webkit-padding-before:0;padding-block-start:0;padding-bottom:0;-webkit-padding-end:0;padding-inline-end:0;-webkit-padding-start:0;padding-inline-start:0;padding-left:0;padding-right:0;padding-top:0;page-break-after:auto;page-break-before:auto;page-break-inside:auto;-webkit-perspective:none;perspective:none;-webkit-perspective-origin:50% 50%;perspective-origin:50% 50%;pointer-events:auto;position:static;quotes:initial;resize:none;right:auto;ruby-align:space-around;ruby-merge:separate;ruby-position:over;scroll-behavior:auto;-ms-scroll-snap-coordinate:none;scroll-snap-coordinate:none;-ms-scroll-snap-destination:0 0;scroll-snap-destination:0 0;-ms-scroll-snap-points-x:none;scroll-snap-points-x:none;-ms-scroll-snap-points-y:none;scroll-snap-points-y:none;-ms-scroll-snap-type:none;scroll-snap-type:none;shape-image-threshold:0;shape-margin:0;shape-outside:none;-moz-tab-size:8;-o-tab-size:8;tab-size:8;table-layout:auto;text-align:initial;-moz-text-align-last:auto;text-align-last:auto;text-combine-upright:none;-webkit-text-decoration-color:currentcolor;text-decoration-color:currentcolor;-webkit-text-decoration-line:none;text-decoration-line:none;-webkit-text-decoration-style:solid;text-decoration-style:solid;-webkit-text-emphasis-color:currentcolor;text-emphasis-color:currentcolor;-webkit-text-emphasis-position:over;text-emphasis-position:over right;-webkit-text-emphasis-style:none;text-emphasis-style:none;text-indent:0;text-justify:auto;text-orientation:mixed;text-overflow:clip;text-rendering:auto;text-shadow:none;text-transform:none;text-underline-position:auto;top:auto;-ms-touch-action:auto;touch-action:auto;-webkit-transform:none;transform:none;transform-box:border-box;-webkit-transform-origin:50% 50% 0;transform-origin:50% 50% 0;-webkit-transform-style:flat;transform-style:flat;-webkit-transition-delay:0s;transition-delay:0s;-webkit-transition-duration:0s;transition-duration:0s;-webkit-transition-property:all;transition-property:all;-webkit-transition-timing-function:ease;transition-timing-function:ease;vertical-align:baseline;visibility:visible;white-space:normal;widows:2;width:auto;will-change:auto;word-break:normal;word-spacing:normal;word-wrap:normal;-webkit-writing-mode:horizontal-tb;-ms-writing-mode:lr-tb;writing-mode:horizontal-tb;z-index:auto;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none}
|
2183 |
-
.brz-ed .brz-h1,.brz-ed .brz-h2,.brz-ed .brz-h3,.brz-ed .brz-h4,.brz-ed .brz-h5,.brz-ed .brz-h6{font-family:inherit;font-weight:700;line-height:1.2;color:inherit}
|
2184 |
-
.brz-ed .brz-h1{font-size:55px;font-weight:400}
|
2185 |
-
.brz-ed .brz-h2{font-size:40px}
|
2186 |
-
.brz-ed .brz-h3{font-size:32px}
|
2187 |
-
.brz-ed .brz-h4{font-size:26px}
|
2188 |
-
.brz-ed .brz-h5{font-size:19px}
|
2189 |
-
.brz-ed .brz-h6{font-size:14px}
|
2190 |
-
.brz-ed .brz-p{font-size:14px;font-weight:400}
|
2191 |
-
.brz-ed .brz-flex-xs-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}
|
2192 |
-
.brz-ed .brz-flex-xs-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}
|
2193 |
-
.brz-ed .brz-flex-xs-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}
|
2194 |
-
.brz-ed .brz-justify-content-xs-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}
|
2195 |
-
.brz-ed .brz-justify-content-xs-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}
|
2196 |
-
.brz-ed .brz-justify-content-xs-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}
|
2197 |
-
.brz-ed .brz-justify-content-xs-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}
|
2198 |
-
.brz-ed .brz-justify-content-xs-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}
|
2199 |
-
.brz-ed .brz-align-items-xs-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}
|
2200 |
-
.brz-ed .brz-align-items-xs-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}
|
2201 |
-
.brz-ed .brz-align-items-xs-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}
|
2202 |
-
.brz-ed .brz-align-items-xs-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}
|
2203 |
-
.brz-ed .brz-align-items-xs-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}
|
2204 |
-
.brz-ed .brz-col-first-xs{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}
|
2205 |
-
.brz-ed .brz-col-last-xs{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}
|
2206 |
-
.brz-ed .brz-align-self-xs-start{-ms-flex-item-align:start!important;align-self:flex-start!important}
|
2207 |
-
.brz-ed .brz-align-self-xs-end{-ms-flex-item-align:end!important;align-self:flex-end!important}
|
2208 |
-
.brz-ed .brz-align-self-xs-center{-ms-flex-item-align:center!important;align-self:center!important}
|
2209 |
-
.brz-ed .brz-align-self-xs-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}
|
2210 |
-
.brz-ed .brz-align-self-xs-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}
|
2211 |
-
.brz-ed .brz-flex-xs-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}
|
2212 |
-
.brz-ed .brz-flex-xs-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}
|
2213 |
-
.brz-ed .brz-align-content-xs-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}
|
2214 |
-
.brz-ed .brz-align-content-xs-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}
|
2215 |
-
.brz-ed .brz-align-content-xs-center{-ms-flex-line-pack:center!important;align-content:center!important}
|
2216 |
-
.brz-ed .brz-align-content-xs-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}
|
2217 |
-
.brz-ed .brz-align-content-xs-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}
|
2218 |
-
.brz-ed .brz-align-content-xs-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}
|
2219 |
-
@media (min-width:480px){.brz-ed .brz-flex-ms-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}
|
2220 |
-
.brz-ed .brz-flex-ms-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}
|
2221 |
-
.brz-ed .brz-flex-ms-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}
|
2222 |
-
.brz-ed .brz-justify-content-ms-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}
|
2223 |
-
.brz-ed .brz-justify-content-ms-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}
|
2224 |
-
.brz-ed .brz-justify-content-ms-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}
|
2225 |
-
.brz-ed .brz-justify-content-ms-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}
|
2226 |
-
.brz-ed .brz-justify-content-ms-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}
|
2227 |
-
.brz-ed .brz-align-items-ms-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}
|
2228 |
-
.brz-ed .brz-align-items-ms-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}
|
2229 |
-
.brz-ed .brz-align-items-ms-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}
|
2230 |
-
.brz-ed .brz-align-items-ms-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}
|
2231 |
-
.brz-ed .brz-align-items-ms-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}
|
2232 |
-
.brz-ed .brz-col-first-ms{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}
|
2233 |
-
.brz-ed .brz-col-last-ms{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}
|
2234 |
-
.brz-ed .brz-align-self-ms-start{-ms-flex-item-align:start!important;align-self:flex-start!important}
|
2235 |
-
.brz-ed .brz-align-self-ms-end{-ms-flex-item-align:end!important;align-self:flex-end!important}
|
2236 |
-
.brz-ed .brz-align-self-ms-center{-ms-flex-item-align:center!important;align-self:center!important}
|
2237 |
-
.brz-ed .brz-align-self-ms-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}
|
2238 |
-
.brz-ed .brz-align-self-ms-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}
|
2239 |
-
.brz-ed .brz-flex-ms-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}
|
2240 |
-
.brz-ed .brz-flex-ms-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}
|
2241 |
-
.brz-ed .brz-align-content-ms-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}
|
2242 |
-
.brz-ed .brz-align-content-ms-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}
|
2243 |
-
.brz-ed .brz-align-content-ms-center{-ms-flex-line-pack:center!important;align-content:center!important}
|
2244 |
-
.brz-ed .brz-align-content-ms-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}
|
2245 |
-
.brz-ed .brz-align-content-ms-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}
|
2246 |
-
.brz-ed .brz-align-content-ms-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}}@media (min-width:768px){.brz-ed .brz-flex-sm-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}
|
2247 |
-
.brz-ed .brz-flex-sm-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}
|
2248 |
-
.brz-ed .brz-flex-sm-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}
|
2249 |
-
.brz-ed .brz-justify-content-sm-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}
|
2250 |
-
.brz-ed .brz-justify-content-sm-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}
|
2251 |
-
.brz-ed .brz-justify-content-sm-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}
|
2252 |
-
.brz-ed .brz-justify-content-sm-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}
|
2253 |
-
.brz-ed .brz-justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}
|
2254 |
-
.brz-ed .brz-align-items-sm-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}
|
2255 |
-
.brz-ed .brz-align-items-sm-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}
|
2256 |
-
.brz-ed .brz-align-items-sm-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}
|
2257 |
-
.brz-ed .brz-align-items-sm-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}
|
2258 |
-
.brz-ed .brz-align-items-sm-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}
|
2259 |
-
.brz-ed .brz-col-first-sm{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}
|
2260 |
-
.brz-ed .brz-col-last-sm{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}
|
2261 |
-
.brz-ed .brz-align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}
|
2262 |
-
.brz-ed .brz-align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}
|
2263 |
-
.brz-ed .brz-align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}
|
2264 |
-
.brz-ed .brz-align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}
|
2265 |
-
.brz-ed .brz-align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}
|
2266 |
-
.brz-ed .brz-flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}
|
2267 |
-
.brz-ed .brz-flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}
|
2268 |
-
.brz-ed .brz-align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}
|
2269 |
-
.brz-ed .brz-align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}
|
2270 |
-
.brz-ed .brz-align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}
|
2271 |
-
.brz-ed .brz-align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}
|
2272 |
-
.brz-ed .brz-align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}
|
2273 |
-
.brz-ed .brz-align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}}@media (min-width:992px){.brz-ed .brz-flex-md-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}
|
2274 |
-
.brz-ed .brz-flex-md-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}
|
2275 |
-
.brz-ed .brz-flex-md-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}
|
2276 |
-
.brz-ed .brz-justify-content-md-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}
|
2277 |
-
.brz-ed .brz-justify-content-md-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}
|
2278 |
-
.brz-ed .brz-justify-content-md-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}
|
2279 |
-
.brz-ed .brz-justify-content-md-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}
|
2280 |
-
.brz-ed .brz-justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}
|
2281 |
-
.brz-ed .brz-align-items-md-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}
|
2282 |
-
.brz-ed .brz-align-items-md-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}
|
2283 |
-
.brz-ed .brz-align-items-md-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}
|
2284 |
-
.brz-ed .brz-align-items-md-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}
|
2285 |
-
.brz-ed .brz-align-items-md-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}
|
2286 |
-
.brz-ed .brz-col-first-md{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}
|
2287 |
-
.brz-ed .brz-col-last-md{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}
|
2288 |
-
.brz-ed .brz-align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}
|
2289 |
-
.brz-ed .brz-align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}
|
2290 |
-
.brz-ed .brz-align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}
|
2291 |
-
.brz-ed .brz-align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}
|
2292 |
-
.brz-ed .brz-align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}
|
2293 |
-
.brz-ed .brz-flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}
|
2294 |
-
.brz-ed .brz-flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}
|
2295 |
-
.brz-ed .brz-align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}
|
2296 |
-
.brz-ed .brz-align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}
|
2297 |
-
.brz-ed .brz-align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}
|
2298 |
-
.brz-ed .brz-align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}
|
2299 |
-
.brz-ed .brz-align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}
|
2300 |
-
.brz-ed .brz-align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}}@media (min-width:1200px){.brz-ed .brz-flex-lg-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}
|
2301 |
-
.brz-ed .brz-flex-lg-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}
|
2302 |
-
.brz-ed .brz-flex-lg-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}
|
2303 |
-
.brz-ed .brz-justify-content-lg-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}
|
2304 |
-
.brz-ed .brz-justify-content-lg-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}
|
2305 |
-
.brz-ed .brz-justify-content-lg-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}
|
2306 |
-
.brz-ed .brz-justify-content-lg-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}
|
2307 |
-
.brz-ed .brz-justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}
|
2308 |
-
.brz-ed .brz-align-items-lg-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}
|
2309 |
-
.brz-ed .brz-align-items-lg-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}
|
2310 |
-
.brz-ed .brz-align-items-lg-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}
|
2311 |
-
.brz-ed .brz-align-items-lg-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}
|
2312 |
-
.brz-ed .brz-align-items-lg-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}
|
2313 |
-
.brz-ed .brz-col-first-lg{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}
|
2314 |
-
.brz-ed .brz-col-last-lg{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}
|
2315 |
-
.brz-ed .brz-align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}
|
2316 |
-
.brz-ed .brz-align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}
|
2317 |
-
.brz-ed .brz-align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}
|
2318 |
-
.brz-ed .brz-align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}
|
2319 |
-
.brz-ed .brz-align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}
|
2320 |
-
.brz-ed .brz-flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}
|
2321 |
-
.brz-ed .brz-flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}
|
2322 |
-
.brz-ed .brz-align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}
|
2323 |
-
.brz-ed .brz-align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}
|
2324 |
-
.brz-ed .brz-align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}
|
2325 |
-
.brz-ed .brz-align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}
|
2326 |
-
.brz-ed .brz-align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}
|
2327 |
-
.brz-ed .brz-align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}}@media (min-width:1400px){.brz-ed .brz-flex-xl-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}
|
2328 |
-
.brz-ed .brz-flex-xl-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}
|
2329 |
-
.brz-ed .brz-flex-xl-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}
|
2330 |
-
.brz-ed .brz-justify-content-xl-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}
|
2331 |
-
.brz-ed .brz-justify-content-xl-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}
|
2332 |
-
.brz-ed .brz-justify-content-xl-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}
|
2333 |
-
.brz-ed .brz-justify-content-xl-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}
|
2334 |
-
.brz-ed .brz-justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}
|
2335 |
-
.brz-ed .brz-align-items-xl-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}
|
2336 |
-
.brz-ed .brz-align-items-xl-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}
|
2337 |
-
.brz-ed .brz-align-items-xl-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}
|
2338 |
-
.brz-ed .brz-align-items-xl-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}
|
2339 |
-
.brz-ed .brz-align-items-xl-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}
|
2340 |
-
.brz-ed .brz-col-first-xl{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}
|
2341 |
-
.brz-ed .brz-col-last-xl{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}
|
2342 |
-
.brz-ed .brz-align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}
|
2343 |
-
.brz-ed .brz-align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}
|
2344 |
-
.brz-ed .brz-align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}
|
2345 |
-
.brz-ed .brz-align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}
|
2346 |
-
.brz-ed .brz-align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}
|
2347 |
-
.brz-ed .brz-flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}
|
2348 |
-
.brz-ed .brz-flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}
|
2349 |
-
.brz-ed .brz-align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}
|
2350 |
-
.brz-ed .brz-align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}
|
2351 |
-
.brz-ed .brz-align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}
|
2352 |
-
.brz-ed .brz-align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}
|
2353 |
-
.brz-ed .brz-align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}
|
2354 |
-
.brz-ed .brz-align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}}.brz-ed .brz-d-block{display:block!important}
|
2355 |
-
.brz-ed .brz-d-inline-block{display:inline-block!important}
|
2356 |
-
.brz-ed .brz-d-inline{display:inline!important}
|
2357 |
-
.brz-ed .brz-d-none{display:none!important}
|
2358 |
-
.brz-ed .brz-d-table{width:100%;display:table;position:relative}
|
2359 |
-
.brz-ed .brz-d-table-cell{display:table-cell}
|
2360 |
-
.brz-ed .brz-blocked{pointer-events:none}
|
2361 |
-
.brz-ed .brz-d-xs-flex{display:-webkit-box;display:-ms-flexbox;display:flex;min-width:0}
|
2362 |
-
.brz-ed .brz-d-xs-inline-flex{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}
|
2363 |
-
@media (min-width:480px){.brz-ed .brz-d-ms-flex{display:-webkit-box;display:-ms-flexbox;display:flex;min-width:0}
|
2364 |
-
.brz-ed .brz-d-ms-inline-flex{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}}@media (min-width:768px){.brz-ed .brz-d-sm-flex{display:-webkit-box;display:-ms-flexbox;display:flex;min-width:0}
|
2365 |
-
.brz-ed .brz-d-sm-inline-flex{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}}@media (min-width:992px){.brz-ed .brz-d-md-flex{display:-webkit-box;display:-ms-flexbox;display:flex;min-width:0}
|
2366 |
-
.brz-ed .brz-d-md-inline-flex{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}}@media (min-width:1200px){.brz-ed .brz-d-lg-flex{display:-webkit-box;display:-ms-flexbox;display:flex;min-width:0}
|
2367 |
-
.brz-ed .brz-d-lg-inline-flex{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}}@media (min-width:1400px){.brz-ed .brz-d-xl-flex{display:-webkit-box;display:-ms-flexbox;display:flex;min-width:0}
|
2368 |
-
.brz-ed .brz-d-xl-inline-flex{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}}.brz-ed .brz-p-relative{position:relative!important}
|
2369 |
-
.brz-ed .brz-p-absolute{position:absolute!important}
|
2370 |
-
.brz-ed .brz-p-fixed{position:fixed!important}
|
2371 |
-
.brz-ed .brz-invisible{visibility:hidden!important}
|
2372 |
-
.brz-ed .brz-visible{visibility:visible!important}
|
2373 |
-
.brz-ed .brz-hidden-xs-up{display:none!important}
|
2374 |
-
@media (max-width:479px){.brz-ed .brz-hidden-xs-down{display:none!important}}.brz-ed .brz-invisible-xs-up{visibility:hidden!important}
|
2375 |
-
@media (max-width:479px){.brz-ed .brz-invisible-xs-down{visibility:hidden!important}}.brz-ed .brz-invisible-blur-xs-up .brz-bg-content{-webkit-filter:blur(3px);filter:blur(3px);opacity:.9}
|
2376 |
-
@media (max-width:479px){.brz-ed .brz-invisible-blur-xs-down .brz-bg-content{-webkit-filter:blur(3px);filter:blur(3px);opacity:.9}}@media (min-width:480px){.brz-ed .brz-hidden-ms-up{display:none!important}}@media (max-width:767px){.brz-ed .brz-hidden-ms-down{display:none!important}}@media (min-width:480px){.brz-ed .brz-invisible-ms-up{visibility:hidden!important}}@media (max-width:767px){.brz-ed .brz-invisible-ms-down{visibility:hidden!important}}@media (min-width:480px){.brz-ed .brz-invisible-blur-ms-up .brz-bg-content{-webkit-filter:blur(3px);filter:blur(3px);opacity:.9}}@media (max-width:767px){.brz-ed .brz-invisible-blur-ms-down .brz-bg-content{-webkit-filter:blur(3px);filter:blur(3px);opacity:.9}}@media (min-width:768px){.brz-ed .brz-hidden-sm-up{display:none!important}}@media (max-width:991px){.brz-ed .brz-hidden-sm-down{display:none!important}}@media (min-width:768px){.brz-ed .brz-invisible-sm-up{visibility:hidden!important}}@media (max-width:991px){.brz-ed .brz-invisible-sm-down{visibility:hidden!important}}@media (min-width:768px){.brz-ed .brz-invisible-blur-sm-up .brz-bg-content{-webkit-filter:blur(3px);filter:blur(3px);opacity:.9}}@media (max-width:991px){.brz-ed .brz-invisible-blur-sm-down .brz-bg-content{-webkit-filter:blur(3px);filter:blur(3px);opacity:.9}}@media (min-width:992px){.brz-ed .brz-hidden-md-up{display:none!important}}@media (max-width:1199px){.brz-ed .brz-hidden-md-down{display:none!important}}@media (min-width:992px){.brz-ed .brz-invisible-md-up{visibility:hidden!important}}@media (max-width:1199px){.brz-ed .brz-invisible-md-down{visibility:hidden!important}}@media (min-width:992px){.brz-ed .brz-invisible-blur-md-up .brz-bg-content{-webkit-filter:blur(3px);filter:blur(3px);opacity:.9}}@media (max-width:1199px){.brz-ed .brz-invisible-blur-md-down .brz-bg-content{-webkit-filter:blur(3px);filter:blur(3px);opacity:.9}}@media (min-width:1200px){.brz-ed .brz-hidden-lg-up{display:none!important}}@media (max-width:1399px){.brz-ed .brz-hidden-lg-down{display:none!important}}@media (min-width:1200px){.brz-ed .brz-invisible-lg-up{visibility:hidden!important}}@media (max-width:1399px){.brz-ed .brz-invisible-lg-down{visibility:hidden!important}}@media (min-width:1200px){.brz-ed .brz-invisible-blur-lg-up .brz-bg-content{-webkit-filter:blur(3px);filter:blur(3px);opacity:.9}}@media (max-width:1399px){.brz-ed .brz-invisible-blur-lg-down .brz-bg-content{-webkit-filter:blur(3px);filter:blur(3px);opacity:.9}}@media (min-width:1400px){.brz-ed .brz-hidden-xl-up{display:none!important}}.brz-ed .brz-hidden-xl-down{display:none!important}
|
2377 |
-
@media (min-width:1400px){.brz-ed .brz-invisible-xl-up{visibility:hidden!important}}.brz-ed .brz-invisible-xl-down{visibility:hidden!important}
|
2378 |
-
@media (min-width:1400px){.brz-ed .brz-invisible-blur-xl-up .brz-bg-content{-webkit-filter:blur(3px);filter:blur(3px);opacity:.9}}.brz-ed .brz-invisible-blur-xl-down .brz-bg-content{-webkit-filter:blur(3px);filter:blur(3px);opacity:.9}
|
2379 |
-
.brz-ed .brz-hidden{display:none!important}
|
2380 |
-
.brz-ed .brz-visible-print-block{display:none!important}
|
2381 |
-
@media print{.brz-ed .brz-visible-print-block{display:block!important}}.brz-ed .brz-visible-print-inline{display:none!important}
|
2382 |
-
@media print{.brz-ed .brz-visible-print-inline{display:inline!important}}.brz-ed .brz-visible-print-inline-block{display:none!important}
|
2383 |
-
@media print{.brz-ed .brz-visible-print-inline-block{display:inline-block!important}}@media print{.brz-ed .brz-hidden-print{display:none!important}}.brz-ed .brz-ow-hidden{overflow:hidden!important}
|
2384 |
-
.brz-ed .brz-ow-visible{overflow:visible!important}
|
2385 |
-
.brz-ed .brz-pointer-events-none{pointer-events:none!important}
|
2386 |
-
.brz-ed .brz-pointer-events-auto{pointer-events:auto!important}
|
2387 |
-
.brz-ed .brz-fw-100{font-weight:100!important}
|
2388 |
-
.brz-ed .brz-fw-200{font-weight:200!important}
|
2389 |
-
.brz-ed .brz-fw-300{font-weight:300!important}
|
2390 |
-
.brz-ed .brz-fw-400{font-weight:400!important}
|
2391 |
-
.brz-ed .brz-fw-500{font-weight:500!important}
|
2392 |
-
.brz-ed .brz-fw-600{font-weight:600!important}
|
2393 |
-
.brz-ed .brz-fw-700{font-weight:700!important}
|
2394 |
-
.brz-ed .brz-fw-800{font-weight:800!important}
|
2395 |
-
.brz-ed .brz-fw-900{font-weight:900!important}
|
2396 |
-
.brz-ed .brz--required{color:#ff0e0e;padding-left:5px}
|
2397 |
-
.brz-ed.disable-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
|
2398 |
-
.brz-ed .brz-ed-popup-image-inner{position:relative;color:#fff;display:inline-block;font-size:0}
|
2399 |
-
.brz-ed .brz-ed-popup-image-label{margin-bottom:0}
|
2400 |
-
.brz-ed .brz-ed-popup-image-remove{position:absolute;z-index:2;top:-10px;right:-10px;width:22px;height:22px;font-size:8px;background-color:#34beec;border-radius:50%;-webkit-transition:background .2s linear;transition:background .2s linear;text-align:center;cursor:pointer}
|
2401 |
-
.brz-ed .brz-ed-popup-image-remove:hover{background-color:#03080f;-webkit-transition:background .2s linear;transition:background .2s linear}
|
2402 |
-
.brz-ed .brz-ed-popup-image-remove i{line-height:2.75}
|
2403 |
-
.brz-ed .brz-ed-popup-image-upload{position:absolute;top:4px;left:4px;right:4px;bottom:4px;background:#fff url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDIwIDIwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBhdGggZD0iTTE5LDIwSDFjLTAuNTUyLDAtMS0wLjQ0OC0xLTFWMy44OTNjMC0wLjU1MiwwLjQ0OC0wLjksMS0wLjlMMy42ODUsM0M0LjEsMyw0LjQ3MiwyLjYzNiw0LjYyLDIuMjQ4bDAuNTgtMUM1LjIsMS4yNDksNS41NiwwLDYuMjUsMGg3LjVjMC42OSwwLDEuMTUsMS4yNDksMS4xNSwxLjI0OWwwLjQ4LDFjMC4xNDcsMC4zODgsMC41MiwwLjc0NSwwLjkzNSwwLjc0NUgxOWMwLjU1MiwwLDEsMC4zNDgsMSwwLjlWMTlDMjAsMTkuNTUyLDE5LjU1MiwyMCwxOSwyMHogTTE5LDQuNTg2Yy0wLjAwNC0wLjMyOC0wLjI3Mi0wLjU5Mi0wLjYtMC41OTJoLTMuMzk5Yy0wLjE0My0wLjE0My0wLjExNy0wLjIwMi0wLjg4MS0xLjg0N2MwLDAtMC40NDgtMS4xNDctMS0xLjE0N0g3LjExOGMtMC41NTIsMC0xLDEuMTQ3LTEsMS4xNDdDNS4wNTEsMy45MTMsNS4wOCwzLjg2NCw1LDMuOTk0SDEuNjUxYy0wLjMzMSwwLTAuNiwwLjI2OS0wLjYsMC42VjE4LjRjMCwwLjMzMSwwLjI2OSwwLjYsMC42LDAuNkgxOC40YzAuMzMxLDAsMC42LTAuMjY5LDAuNi0wLjZMMTksNC41ODZ6IE0xMi4wMiwxNS42MDNjLTQuMjg3LDEuNjk2LTguMzE5LTIuMzM1LTYuNjI0LTYuNjIyYzAuNDYzLTEuMTcyLDEuNDE0LTIuMTIyLDIuNTg2LTIuNTg2YzQuMjg3LTEuNjk1LDguMzE4LDIuMzM4LDYuNjIyLDYuNjI0QzE0LjE0LDE0LjE5LDEzLjE5LDE1LjE0LDEyLjAyLDE1LjYwM3ogTTEwLjYzMiw3LjA0OWMtMi43MDMtMC40MTQtNC45OTcsMS44OC00LjU4NCw0LjU4NGMwLjI1OCwxLjY4NSwxLjYzNSwzLjA2MSwzLjMxOSwzLjMxOWMyLjcwMywwLjQxNCw0Ljk5Ny0xLjg4LDQuNTg0LTQuNTg0QzEzLjY5NCw4LjY4MywxMi4zMTcsNy4zMDYsMTAuNjMyLDcuMDQ5eiIvPjwvc3ZnPg==) no-repeat 50% 50%;background-size:25px}
|
2404 |
-
.brz-ed .brz-ed-loading{position:relative;padding:4px;border:2px dashed #ccc;width:117px;height:117px;cursor:pointer;-webkit-transition:all .2s linear;transition:all .2s linear}
|
2405 |
-
.brz-ed .brz-ed-loading:before{content:'Change Image';font:bold 10px nunito,"Open Sans",Arial,sans-serif;color:#fff;line-height:117px;text-transform:uppercase;position:absolute;z-index:1;top:-2px;left:-2px;width:117px;height:117px;background-color:rgba(0,0,0,.8);text-align:center;visibility:hidden;opacity:0;-webkit-transition:opacity .2s linear,visibility .2s linear;transition:opacity .2s linear,visibility .2s linear}
|
2406 |
-
.brz-ed .brz-ed-loading:hover{border-color:transparent}
|
2407 |
-
.brz-ed .brz-ed-loading:hover:before{visibility:visible;opacity:1;-webkit-transition:opacity .2s linear,visibility .2s linear;transition:opacity .2s linear,visibility .2s linear}
|
2408 |
-
.brz-ed .brz-p-events--none{pointer-events:none!important}
|
2409 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-6{font-size:6px!important}
|
2410 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-7{font-size:7px!important}
|
2411 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-8{font-size:8px!important}
|
2412 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-9{font-size:9px!important}
|
2413 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-10{font-size:10px!important}
|
2414 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-11{font-size:11px!important}
|
2415 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-12{font-size:12px!important}
|
2416 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-13{font-size:13px!important}
|
2417 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-14{font-size:14px!important}
|
2418 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-15{font-size:15px!important}
|
2419 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-16{font-size:16px!important}
|
2420 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-17{font-size:17px!important}
|
2421 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-18{font-size:18px!important}
|
2422 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-19{font-size:19px!important}
|
2423 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-20{font-size:20px!important}
|
2424 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-21{font-size:21px!important}
|
2425 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-22{font-size:22px!important}
|
2426 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-23{font-size:23px!important}
|
2427 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-24{font-size:24px!important}
|
2428 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-25{font-size:25px!important}
|
2429 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-26{font-size:26px!important}
|
2430 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-27{font-size:27px!important}
|
2431 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-28{font-size:28px!important}
|
2432 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-29{font-size:29px!important}
|
2433 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-30{font-size:30px!important}
|
2434 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-31{font-size:31px!important}
|
2435 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-32{font-size:32px!important}
|
2436 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-33{font-size:33px!important}
|
2437 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-34{font-size:34px!important}
|
2438 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-35{font-size:35px!important}
|
2439 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-36{font-size:36px!important}
|
2440 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-37{font-size:37px!important}
|
2441 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-38{font-size:38px!important}
|
2442 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-39{font-size:39px!important}
|
2443 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-40{font-size:40px!important}
|
2444 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-41{font-size:41px!important}
|
2445 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-42{font-size:42px!important}
|
2446 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-43{font-size:43px!important}
|
2447 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-44{font-size:44px!important}
|
2448 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-45{font-size:45px!important}
|
2449 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-46{font-size:46px!important}
|
2450 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-47{font-size:47px!important}
|
2451 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-48{font-size:48px!important}
|
2452 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-49{font-size:49px!important}
|
2453 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-50{font-size:50px!important}
|
2454 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-51{font-size:51px!important}
|
2455 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-52{font-size:52px!important}
|
2456 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-53{font-size:53px!important}
|
2457 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-54{font-size:54px!important}
|
2458 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-55{font-size:55px!important}
|
2459 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-56{font-size:56px!important}
|
2460 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-57{font-size:57px!important}
|
2461 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-58{font-size:58px!important}
|
2462 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-59{font-size:59px!important}
|
2463 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-60{font-size:60px!important}
|
2464 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-61{font-size:61px!important}
|
2465 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-62{font-size:62px!important}
|
2466 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-63{font-size:63px!important}
|
2467 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-64{font-size:64px!important}
|
2468 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-65{font-size:65px!important}
|
2469 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-66{font-size:66px!important}
|
2470 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-67{font-size:67px!important}
|
2471 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-68{font-size:68px!important}
|
2472 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-69{font-size:69px!important}
|
2473 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-70{font-size:70px!important}
|
2474 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-71{font-size:71px!important}
|
2475 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-72{font-size:72px!important}
|
2476 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-73{font-size:73px!important}
|
2477 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-74{font-size:74px!important}
|
2478 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-75{font-size:75px!important}
|
2479 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-76{font-size:76px!important}
|
2480 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-77{font-size:77px!important}
|
2481 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-78{font-size:78px!important}
|
2482 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-79{font-size:79px!important}
|
2483 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-80{font-size:80px!important}
|
2484 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-81{font-size:81px!important}
|
2485 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-82{font-size:82px!important}
|
2486 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-83{font-size:83px!important}
|
2487 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-84{font-size:84px!important}
|
2488 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-85{font-size:85px!important}
|
2489 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-86{font-size:86px!important}
|
2490 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-87{font-size:87px!important}
|
2491 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-88{font-size:88px!important}
|
2492 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-89{font-size:89px!important}
|
2493 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-90{font-size:90px!important}
|
2494 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-91{font-size:91px!important}
|
2495 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-92{font-size:92px!important}
|
2496 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-93{font-size:93px!important}
|
2497 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-94{font-size:94px!important}
|
2498 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-95{font-size:95px!important}
|
2499 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-96{font-size:96px!important}
|
2500 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-97{font-size:97px!important}
|
2501 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-98{font-size:98px!important}
|
2502 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-99{font-size:99px!important}
|
2503 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-100{font-size:100px!important}
|
2504 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-101{font-size:101px!important}
|
2505 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-102{font-size:102px!important}
|
2506 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-103{font-size:103px!important}
|
2507 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-104{font-size:104px!important}
|
2508 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-105{font-size:105px!important}
|
2509 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-106{font-size:106px!important}
|
2510 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-107{font-size:107px!important}
|
2511 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-108{font-size:108px!important}
|
2512 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-109{font-size:109px!important}
|
2513 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-110{font-size:110px!important}
|
2514 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-111{font-size:111px!important}
|
2515 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-112{font-size:112px!important}
|
2516 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-113{font-size:113px!important}
|
2517 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-114{font-size:114px!important}
|
2518 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-115{font-size:115px!important}
|
2519 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-116{font-size:116px!important}
|
2520 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-117{font-size:117px!important}
|
2521 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-118{font-size:118px!important}
|
2522 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-119{font-size:119px!important}
|
2523 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-120{font-size:120px!important}
|
2524 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-121{font-size:121px!important}
|
2525 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-122{font-size:122px!important}
|
2526 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-123{font-size:123px!important}
|
2527 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-124{font-size:124px!important}
|
2528 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-125{font-size:125px!important}
|
2529 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-126{font-size:126px!important}
|
2530 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-127{font-size:127px!important}
|
2531 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-128{font-size:128px!important}
|
2532 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-129{font-size:129px!important}
|
2533 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-130{font-size:130px!important}
|
2534 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-131{font-size:131px!important}
|
2535 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-132{font-size:132px!important}
|
2536 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-133{font-size:133px!important}
|
2537 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-134{font-size:134px!important}
|
2538 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-135{font-size:135px!important}
|
2539 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-136{font-size:136px!important}
|
2540 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-137{font-size:137px!important}
|
2541 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-138{font-size:138px!important}
|
2542 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-139{font-size:139px!important}
|
2543 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-140{font-size:140px!important}
|
2544 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-141{font-size:141px!important}
|
2545 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-142{font-size:142px!important}
|
2546 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-143{font-size:143px!important}
|
2547 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-144{font-size:144px!important}
|
2548 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-145{font-size:145px!important}
|
2549 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-146{font-size:146px!important}
|
2550 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-147{font-size:147px!important}
|
2551 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-148{font-size:148px!important}
|
2552 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-149{font-size:149px!important}
|
2553 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-150{font-size:150px!important}
|
2554 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-151{font-size:151px!important}
|
2555 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-152{font-size:152px!important}
|
2556 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-153{font-size:153px!important}
|
2557 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-154{font-size:154px!important}
|
2558 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-155{font-size:155px!important}
|
2559 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-156{font-size:156px!important}
|
2560 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-157{font-size:157px!important}
|
2561 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-158{font-size:158px!important}
|
2562 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-159{font-size:159px!important}
|
2563 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-160{font-size:160px!important}
|
2564 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-161{font-size:161px!important}
|
2565 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-162{font-size:162px!important}
|
2566 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-163{font-size:163px!important}
|
2567 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-164{font-size:164px!important}
|
2568 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-165{font-size:165px!important}
|
2569 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-166{font-size:166px!important}
|
2570 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-167{font-size:167px!important}
|
2571 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-168{font-size:168px!important}
|
2572 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-169{font-size:169px!important}
|
2573 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-170{font-size:170px!important}
|
2574 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-171{font-size:171px!important}
|
2575 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-172{font-size:172px!important}
|
2576 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-173{font-size:173px!important}
|
2577 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-174{font-size:174px!important}
|
2578 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-175{font-size:175px!important}
|
2579 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-176{font-size:176px!important}
|
2580 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-177{font-size:177px!important}
|
2581 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-178{font-size:178px!important}
|
2582 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-179{font-size:179px!important}
|
2583 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-180{font-size:180px!important}
|
2584 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-181{font-size:181px!important}
|
2585 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-182{font-size:182px!important}
|
2586 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-183{font-size:183px!important}
|
2587 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-184{font-size:184px!important}
|
2588 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-185{font-size:185px!important}
|
2589 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-186{font-size:186px!important}
|
2590 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-187{font-size:187px!important}
|
2591 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-188{font-size:188px!important}
|
2592 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-189{font-size:189px!important}
|
2593 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-190{font-size:190px!important}
|
2594 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-191{font-size:191px!important}
|
2595 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-192{font-size:192px!important}
|
2596 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-193{font-size:193px!important}
|
2597 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-194{font-size:194px!important}
|
2598 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-195{font-size:195px!important}
|
2599 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-196{font-size:196px!important}
|
2600 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-197{font-size:197px!important}
|
2601 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-198{font-size:198px!important}
|
2602 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-199{font-size:199px!important}
|
2603 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-200{font-size:200px!important}
|
2604 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-201{font-size:201px!important}
|
2605 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-202{font-size:202px!important}
|
2606 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-203{font-size:203px!important}
|
2607 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-204{font-size:204px!important}
|
2608 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-205{font-size:205px!important}
|
2609 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-206{font-size:206px!important}
|
2610 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-207{font-size:207px!important}
|
2611 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-208{font-size:208px!important}
|
2612 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-209{font-size:209px!important}
|
2613 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-210{font-size:210px!important}
|
2614 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-211{font-size:211px!important}
|
2615 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-212{font-size:212px!important}
|
2616 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-213{font-size:213px!important}
|
2617 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-214{font-size:214px!important}
|
2618 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-215{font-size:215px!important}
|
2619 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-216{font-size:216px!important}
|
2620 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-217{font-size:217px!important}
|
2621 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-218{font-size:218px!important}
|
2622 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-219{font-size:219px!important}
|
2623 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-220{font-size:220px!important}
|
2624 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-221{font-size:221px!important}
|
2625 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-222{font-size:222px!important}
|
2626 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-223{font-size:223px!important}
|
2627 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-224{font-size:224px!important}
|
2628 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-225{font-size:225px!important}
|
2629 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-226{font-size:226px!important}
|
2630 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-227{font-size:227px!important}
|
2631 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-228{font-size:228px!important}
|
2632 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-229{font-size:229px!important}
|
2633 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-230{font-size:230px!important}
|
2634 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-231{font-size:231px!important}
|
2635 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-232{font-size:232px!important}
|
2636 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-233{font-size:233px!important}
|
2637 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-234{font-size:234px!important}
|
2638 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-235{font-size:235px!important}
|
2639 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-236{font-size:236px!important}
|
2640 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-237{font-size:237px!important}
|
2641 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-238{font-size:238px!important}
|
2642 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-239{font-size:239px!important}
|
2643 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-240{font-size:240px!important}
|
2644 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-241{font-size:241px!important}
|
2645 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-242{font-size:242px!important}
|
2646 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-243{font-size:243px!important}
|
2647 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-244{font-size:244px!important}
|
2648 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-245{font-size:245px!important}
|
2649 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-246{font-size:246px!important}
|
2650 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-247{font-size:247px!important}
|
2651 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-248{font-size:248px!important}
|
2652 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-249{font-size:249px!important}
|
2653 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-250{font-size:250px!important}
|
2654 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-251{font-size:251px!important}
|
2655 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-252{font-size:252px!important}
|
2656 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-253{font-size:253px!important}
|
2657 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-254{font-size:254px!important}
|
2658 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-255{font-size:255px!important}
|
2659 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-256{font-size:256px!important}
|
2660 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-257{font-size:257px!important}
|
2661 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-258{font-size:258px!important}
|
2662 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-259{font-size:259px!important}
|
2663 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-260{font-size:260px!important}
|
2664 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-261{font-size:261px!important}
|
2665 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-262{font-size:262px!important}
|
2666 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-263{font-size:263px!important}
|
2667 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-264{font-size:264px!important}
|
2668 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-265{font-size:265px!important}
|
2669 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-266{font-size:266px!important}
|
2670 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-267{font-size:267px!important}
|
2671 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-268{font-size:268px!important}
|
2672 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-269{font-size:269px!important}
|
2673 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-270{font-size:270px!important}
|
2674 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-271{font-size:271px!important}
|
2675 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-272{font-size:272px!important}
|
2676 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-273{font-size:273px!important}
|
2677 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-274{font-size:274px!important}
|
2678 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-275{font-size:275px!important}
|
2679 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-276{font-size:276px!important}
|
2680 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-277{font-size:277px!important}
|
2681 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-278{font-size:278px!important}
|
2682 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-279{font-size:279px!important}
|
2683 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-280{font-size:280px!important}
|
2684 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-281{font-size:281px!important}
|
2685 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-282{font-size:282px!important}
|
2686 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-283{font-size:283px!important}
|
2687 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-284{font-size:284px!important}
|
2688 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-285{font-size:285px!important}
|
2689 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-286{font-size:286px!important}
|
2690 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-287{font-size:287px!important}
|
2691 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-288{font-size:288px!important}
|
2692 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-289{font-size:289px!important}
|
2693 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-290{font-size:290px!important}
|
2694 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-291{font-size:291px!important}
|
2695 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-292{font-size:292px!important}
|
2696 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-293{font-size:293px!important}
|
2697 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-294{font-size:294px!important}
|
2698 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-295{font-size:295px!important}
|
2699 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-296{font-size:296px!important}
|
2700 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-297{font-size:297px!important}
|
2701 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-298{font-size:298px!important}
|
2702 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-299{font-size:299px!important}
|
2703 |
-
.brz-ed.brz-ed--desktop .brz-fs-lg-300{font-size:300px!important}
|
2704 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-1{line-height:1em!important}
|
2705 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-1_1{line-height:1.1em!important}
|
2706 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-1_2{line-height:1.2em!important}
|
2707 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-1_3{line-height:1.3em!important}
|
2708 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-1_4{line-height:1.4em!important}
|
2709 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-1_5{line-height:1.5em!important}
|
2710 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-1_6{line-height:1.6em!important}
|
2711 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-1_7{line-height:1.7em!important}
|
2712 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-1_8{line-height:1.8em!important}
|
2713 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-1_9{line-height:1.9em!important}
|
2714 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-2{line-height:2em!important}
|
2715 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-2_1{line-height:2.1em!important}
|
2716 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-2_2{line-height:2.2em!important}
|
2717 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-2_3{line-height:2.3em!important}
|
2718 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-2_4{line-height:2.4em!important}
|
2719 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-2_5{line-height:2.5em!important}
|
2720 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-2_6{line-height:2.6em!important}
|
2721 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-2_7{line-height:2.7em!important}
|
2722 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-2_8{line-height:2.8em!important}
|
2723 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-2_9{line-height:2.9em!important}
|
2724 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-3{line-height:3em!important}
|
2725 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-3_1{line-height:3.1em!important}
|
2726 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-3_2{line-height:3.2em!important}
|
2727 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-3_3{line-height:3.3em!important}
|
2728 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-3_4{line-height:3.4em!important}
|
2729 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-3_5{line-height:3.5em!important}
|
2730 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-3_6{line-height:3.6em!important}
|
2731 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-3_7{line-height:3.7em!important}
|
2732 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-3_8{line-height:3.8em!important}
|
2733 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-3_9{line-height:3.9em!important}
|
2734 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-4{line-height:4em!important}
|
2735 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-4_1{line-height:4.1em!important}
|
2736 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-4_2{line-height:4.2em!important}
|
2737 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-4_3{line-height:4.3em!important}
|
2738 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-4_4{line-height:4.4em!important}
|
2739 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-4_5{line-height:4.5em!important}
|
2740 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-4_6{line-height:4.6em!important}
|
2741 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-4_7{line-height:4.7em!important}
|
2742 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-4_8{line-height:4.8em!important}
|
2743 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-4_9{line-height:4.9em!important}
|
2744 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-5{line-height:5em!important}
|
2745 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-5_1{line-height:5.1em!important}
|
2746 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-5_2{line-height:5.2em!important}
|
2747 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-5_3{line-height:5.3em!important}
|
2748 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-5_4{line-height:5.4em!important}
|
2749 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-5_5{line-height:5.5em!important}
|
2750 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-5_6{line-height:5.6em!important}
|
2751 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-5_7{line-height:5.7em!important}
|
2752 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-5_8{line-height:5.8em!important}
|
2753 |
-
.brz-ed.brz-ed--desktop .brz-lh-lg-5_9{line-height:5.9em!important}
|
2754 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-m_20{letter-spacing:-20px!important}
|
2755 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-m_20_5{letter-spacing:-20.5px!important}
|
2756 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-m_19{letter-spacing:-19px!important}
|
2757 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-m_19_5{letter-spacing:-19.5px!important}
|
2758 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-m_18{letter-spacing:-18px!important}
|
2759 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-m_18_5{letter-spacing:-18.5px!important}
|
2760 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-m_17{letter-spacing:-17px!important}
|
2761 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-m_17_5{letter-spacing:-17.5px!important}
|
2762 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-m_16{letter-spacing:-16px!important}
|
2763 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-m_16_5{letter-spacing:-16.5px!important}
|
2764 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-m_15{letter-spacing:-15px!important}
|
2765 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-m_15_5{letter-spacing:-15.5px!important}
|
2766 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-m_14{letter-spacing:-14px!important}
|
2767 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-m_14_5{letter-spacing:-14.5px!important}
|
2768 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-m_13{letter-spacing:-13px!important}
|
2769 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-m_13_5{letter-spacing:-13.5px!important}
|
2770 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-m_12{letter-spacing:-12px!important}
|
2771 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-m_12_5{letter-spacing:-12.5px!important}
|
2772 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-m_11{letter-spacing:-11px!important}
|
2773 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-m_11_5{letter-spacing:-11.5px!important}
|
2774 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-m_10{letter-spacing:-10px!important}
|
2775 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-m_10_5{letter-spacing:-10.5px!important}
|
2776 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-m_9{letter-spacing:-9px!important}
|
2777 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-m_9_5{letter-spacing:-9.5px!important}
|
2778 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-m_8{letter-spacing:-8px!important}
|
2779 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-m_8_5{letter-spacing:-8.5px!important}
|
2780 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-m_7{letter-spacing:-7px!important}
|
2781 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-m_7_5{letter-spacing:-7.5px!important}
|
2782 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-m_6{letter-spacing:-6px!important}
|
2783 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-m_6_5{letter-spacing:-6.5px!important}
|
2784 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-m_5{letter-spacing:-5px!important}
|
2785 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-m_5_5{letter-spacing:-5.5px!important}
|
2786 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-m_4{letter-spacing:-4px!important}
|
2787 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-m_4_5{letter-spacing:-4.5px!important}
|
2788 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-m_3{letter-spacing:-3px!important}
|
2789 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-m_3_5{letter-spacing:-3.5px!important}
|
2790 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-m_2{letter-spacing:-2px!important}
|
2791 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-m_2_5{letter-spacing:-2.5px!important}
|
2792 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-m_1{letter-spacing:-1px!important}
|
2793 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-m_1_5{letter-spacing:-1.5px!important}
|
2794 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-m_0{letter-spacing:0!important}
|
2795 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-m_0_5{letter-spacing:-.5px!important}
|
2796 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-0{letter-spacing:0!important}
|
2797 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-0_5{letter-spacing:.5px!important}
|
2798 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-1{letter-spacing:1px!important}
|
2799 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-1_5{letter-spacing:1.5px!important}
|
2800 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-2{letter-spacing:2px!important}
|
2801 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-2_5{letter-spacing:2.5px!important}
|
2802 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-3{letter-spacing:3px!important}
|
2803 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-3_5{letter-spacing:3.5px!important}
|
2804 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-4{letter-spacing:4px!important}
|
2805 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-4_5{letter-spacing:4.5px!important}
|
2806 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-5{letter-spacing:5px!important}
|
2807 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-5_5{letter-spacing:5.5px!important}
|
2808 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-6{letter-spacing:6px!important}
|
2809 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-6_5{letter-spacing:6.5px!important}
|
2810 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-7{letter-spacing:7px!important}
|
2811 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-7_5{letter-spacing:7.5px!important}
|
2812 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-8{letter-spacing:8px!important}
|
2813 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-8_5{letter-spacing:8.5px!important}
|
2814 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-9{letter-spacing:9px!important}
|
2815 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-9_5{letter-spacing:9.5px!important}
|
2816 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-10{letter-spacing:10px!important}
|
2817 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-10_5{letter-spacing:10.5px!important}
|
2818 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-11{letter-spacing:11px!important}
|
2819 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-11_5{letter-spacing:11.5px!important}
|
2820 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-12{letter-spacing:12px!important}
|
2821 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-12_5{letter-spacing:12.5px!important}
|
2822 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-13{letter-spacing:13px!important}
|
2823 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-13_5{letter-spacing:13.5px!important}
|
2824 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-14{letter-spacing:14px!important}
|
2825 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-14_5{letter-spacing:14.5px!important}
|
2826 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-15{letter-spacing:15px!important}
|
2827 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-15_5{letter-spacing:15.5px!important}
|
2828 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-16{letter-spacing:16px!important}
|
2829 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-16_5{letter-spacing:16.5px!important}
|
2830 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-17{letter-spacing:17px!important}
|
2831 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-17_5{letter-spacing:17.5px!important}
|
2832 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-18{letter-spacing:18px!important}
|
2833 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-18_5{letter-spacing:18.5px!important}
|
2834 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-19{letter-spacing:19px!important}
|
2835 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-19_5{letter-spacing:19.5px!important}
|
2836 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-20{letter-spacing:20px!important}
|
2837 |
-
.brz-ed.brz-ed--desktop .brz-ls-lg-20_5{letter-spacing:20.5px!important}
|
2838 |
-
.brz-ed.brz-ed--desktop .brz-fw-lg-100{font-weight:100!important}
|
2839 |
-
.brz-ed.brz-ed--desktop .brz-fw-lg-200{font-weight:200!important}
|
2840 |
-
.brz-ed.brz-ed--desktop .brz-fw-lg-300{font-weight:300!important}
|
2841 |
-
.brz-ed.brz-ed--desktop .brz-fw-lg-400{font-weight:400!important}
|
2842 |
-
.brz-ed.brz-ed--desktop .brz-fw-lg-500{font-weight:500!important}
|
2843 |
-
.brz-ed.brz-ed--desktop .brz-fw-lg-600{font-weight:600!important}
|
2844 |
-
.brz-ed.brz-ed--desktop .brz-fw-lg-700{font-weight:700!important}
|
2845 |
-
.brz-ed.brz-ed--desktop .brz-fw-lg-800{font-weight:800!important}
|
2846 |
-
.brz-ed.brz-ed--desktop .brz-fw-lg-900{font-weight:900!important}
|
2847 |
-
.brz-ed.brz-ed--desktop .brz-fw-lg-1000{font-weight:1000!important}
|
2848 |
-
.brz-ed.brz-ed--desktop .brz-fw-lg-1100{font-weight:1100!important}
|
2849 |
-
.brz-ed.brz-ed--desktop .brz-fw-lg-1200{font-weight:1200!important}
|
2850 |
-
.brz-ed.brz-ed--desktop .brz-fw-lg-1300{font-weight:1300!important}
|
2851 |
-
.brz-ed.brz-ed--desktop .brz-fw-lg-1400{font-weight:1400!important}
|
2852 |
-
.brz-ed.brz-ed--desktop .brz-fw-lg-1500{font-weight:1500!important}
|
2853 |
-
.brz-ed.brz-ed--desktop .brz-fw-lg-1600{font-weight:1600!important}
|
2854 |
-
.brz-ed.brz-ed--desktop .brz-fw-lg-1700{font-weight:1700!important}
|
2855 |
-
.brz-ed.brz-ed--desktop .brz-fw-lg-1800{font-weight:1800!important}
|
2856 |
-
.brz-ed.brz-ed--desktop .brz-fw-lg-1900{font-weight:1900!important}
|
2857 |
-
.brz-ed.brz-ed--desktop .brz-fw-lg-2000{font-weight:2000!important}
|
2858 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-6{font-size:6px!important}
|
2859 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-7{font-size:7px!important}
|
2860 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-8{font-size:8px!important}
|
2861 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-9{font-size:9px!important}
|
2862 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-10{font-size:10px!important}
|
2863 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-11{font-size:11px!important}
|
2864 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-12{font-size:12px!important}
|
2865 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-13{font-size:13px!important}
|
2866 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-14{font-size:14px!important}
|
2867 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-15{font-size:15px!important}
|
2868 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-16{font-size:16px!important}
|
2869 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-17{font-size:17px!important}
|
2870 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-18{font-size:18px!important}
|
2871 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-19{font-size:19px!important}
|
2872 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-20{font-size:20px!important}
|
2873 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-21{font-size:21px!important}
|
2874 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-22{font-size:22px!important}
|
2875 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-23{font-size:23px!important}
|
2876 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-24{font-size:24px!important}
|
2877 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-25{font-size:25px!important}
|
2878 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-26{font-size:26px!important}
|
2879 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-27{font-size:27px!important}
|
2880 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-28{font-size:28px!important}
|
2881 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-29{font-size:29px!important}
|
2882 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-30{font-size:30px!important}
|
2883 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-31{font-size:31px!important}
|
2884 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-32{font-size:32px!important}
|
2885 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-33{font-size:33px!important}
|
2886 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-34{font-size:34px!important}
|
2887 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-35{font-size:35px!important}
|
2888 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-36{font-size:36px!important}
|
2889 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-37{font-size:37px!important}
|
2890 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-38{font-size:38px!important}
|
2891 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-39{font-size:39px!important}
|
2892 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-40{font-size:40px!important}
|
2893 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-41{font-size:41px!important}
|
2894 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-42{font-size:42px!important}
|
2895 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-43{font-size:43px!important}
|
2896 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-44{font-size:44px!important}
|
2897 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-45{font-size:45px!important}
|
2898 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-46{font-size:46px!important}
|
2899 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-47{font-size:47px!important}
|
2900 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-48{font-size:48px!important}
|
2901 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-49{font-size:49px!important}
|
2902 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-50{font-size:50px!important}
|
2903 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-51{font-size:51px!important}
|
2904 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-52{font-size:52px!important}
|
2905 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-53{font-size:53px!important}
|
2906 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-54{font-size:54px!important}
|
2907 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-55{font-size:55px!important}
|
2908 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-56{font-size:56px!important}
|
2909 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-57{font-size:57px!important}
|
2910 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-58{font-size:58px!important}
|
2911 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-59{font-size:59px!important}
|
2912 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-60{font-size:60px!important}
|
2913 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-61{font-size:61px!important}
|
2914 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-62{font-size:62px!important}
|
2915 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-63{font-size:63px!important}
|
2916 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-64{font-size:64px!important}
|
2917 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-65{font-size:65px!important}
|
2918 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-66{font-size:66px!important}
|
2919 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-67{font-size:67px!important}
|
2920 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-68{font-size:68px!important}
|
2921 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-69{font-size:69px!important}
|
2922 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-70{font-size:70px!important}
|
2923 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-71{font-size:71px!important}
|
2924 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-72{font-size:72px!important}
|
2925 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-73{font-size:73px!important}
|
2926 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-74{font-size:74px!important}
|
2927 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-75{font-size:75px!important}
|
2928 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-76{font-size:76px!important}
|
2929 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-77{font-size:77px!important}
|
2930 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-78{font-size:78px!important}
|
2931 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-79{font-size:79px!important}
|
2932 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-80{font-size:80px!important}
|
2933 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-81{font-size:81px!important}
|
2934 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-82{font-size:82px!important}
|
2935 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-83{font-size:83px!important}
|
2936 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-84{font-size:84px!important}
|
2937 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-85{font-size:85px!important}
|
2938 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-86{font-size:86px!important}
|
2939 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-87{font-size:87px!important}
|
2940 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-88{font-size:88px!important}
|
2941 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-89{font-size:89px!important}
|
2942 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-90{font-size:90px!important}
|
2943 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-91{font-size:91px!important}
|
2944 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-92{font-size:92px!important}
|
2945 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-93{font-size:93px!important}
|
2946 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-94{font-size:94px!important}
|
2947 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-95{font-size:95px!important}
|
2948 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-96{font-size:96px!important}
|
2949 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-97{font-size:97px!important}
|
2950 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-98{font-size:98px!important}
|
2951 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-99{font-size:99px!important}
|
2952 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-100{font-size:100px!important}
|
2953 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-101{font-size:101px!important}
|
2954 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-102{font-size:102px!important}
|
2955 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-103{font-size:103px!important}
|
2956 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-104{font-size:104px!important}
|
2957 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-105{font-size:105px!important}
|
2958 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-106{font-size:106px!important}
|
2959 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-107{font-size:107px!important}
|
2960 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-108{font-size:108px!important}
|
2961 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-109{font-size:109px!important}
|
2962 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-110{font-size:110px!important}
|
2963 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-111{font-size:111px!important}
|
2964 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-112{font-size:112px!important}
|
2965 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-113{font-size:113px!important}
|
2966 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-114{font-size:114px!important}
|
2967 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-115{font-size:115px!important}
|
2968 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-116{font-size:116px!important}
|
2969 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-117{font-size:117px!important}
|
2970 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-118{font-size:118px!important}
|
2971 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-119{font-size:119px!important}
|
2972 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-120{font-size:120px!important}
|
2973 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-121{font-size:121px!important}
|
2974 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-122{font-size:122px!important}
|
2975 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-123{font-size:123px!important}
|
2976 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-124{font-size:124px!important}
|
2977 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-125{font-size:125px!important}
|
2978 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-126{font-size:126px!important}
|
2979 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-127{font-size:127px!important}
|
2980 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-128{font-size:128px!important}
|
2981 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-129{font-size:129px!important}
|
2982 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-130{font-size:130px!important}
|
2983 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-131{font-size:131px!important}
|
2984 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-132{font-size:132px!important}
|
2985 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-133{font-size:133px!important}
|
2986 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-134{font-size:134px!important}
|
2987 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-135{font-size:135px!important}
|
2988 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-136{font-size:136px!important}
|
2989 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-137{font-size:137px!important}
|
2990 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-138{font-size:138px!important}
|
2991 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-139{font-size:139px!important}
|
2992 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-140{font-size:140px!important}
|
2993 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-141{font-size:141px!important}
|
2994 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-142{font-size:142px!important}
|
2995 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-143{font-size:143px!important}
|
2996 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-144{font-size:144px!important}
|
2997 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-145{font-size:145px!important}
|
2998 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-146{font-size:146px!important}
|
2999 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-147{font-size:147px!important}
|
3000 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-148{font-size:148px!important}
|
3001 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-149{font-size:149px!important}
|
3002 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-150{font-size:150px!important}
|
3003 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-151{font-size:151px!important}
|
3004 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-152{font-size:152px!important}
|
3005 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-153{font-size:153px!important}
|
3006 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-154{font-size:154px!important}
|
3007 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-155{font-size:155px!important}
|
3008 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-156{font-size:156px!important}
|
3009 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-157{font-size:157px!important}
|
3010 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-158{font-size:158px!important}
|
3011 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-159{font-size:159px!important}
|
3012 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-160{font-size:160px!important}
|
3013 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-161{font-size:161px!important}
|
3014 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-162{font-size:162px!important}
|
3015 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-163{font-size:163px!important}
|
3016 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-164{font-size:164px!important}
|
3017 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-165{font-size:165px!important}
|
3018 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-166{font-size:166px!important}
|
3019 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-167{font-size:167px!important}
|
3020 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-168{font-size:168px!important}
|
3021 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-169{font-size:169px!important}
|
3022 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-170{font-size:170px!important}
|
3023 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-171{font-size:171px!important}
|
3024 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-172{font-size:172px!important}
|
3025 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-173{font-size:173px!important}
|
3026 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-174{font-size:174px!important}
|
3027 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-175{font-size:175px!important}
|
3028 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-176{font-size:176px!important}
|
3029 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-177{font-size:177px!important}
|
3030 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-178{font-size:178px!important}
|
3031 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-179{font-size:179px!important}
|
3032 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-180{font-size:180px!important}
|
3033 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-181{font-size:181px!important}
|
3034 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-182{font-size:182px!important}
|
3035 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-183{font-size:183px!important}
|
3036 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-184{font-size:184px!important}
|
3037 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-185{font-size:185px!important}
|
3038 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-186{font-size:186px!important}
|
3039 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-187{font-size:187px!important}
|
3040 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-188{font-size:188px!important}
|
3041 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-189{font-size:189px!important}
|
3042 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-190{font-size:190px!important}
|
3043 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-191{font-size:191px!important}
|
3044 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-192{font-size:192px!important}
|
3045 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-193{font-size:193px!important}
|
3046 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-194{font-size:194px!important}
|
3047 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-195{font-size:195px!important}
|
3048 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-196{font-size:196px!important}
|
3049 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-197{font-size:197px!important}
|
3050 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-198{font-size:198px!important}
|
3051 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-199{font-size:199px!important}
|
3052 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-200{font-size:200px!important}
|
3053 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-201{font-size:201px!important}
|
3054 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-202{font-size:202px!important}
|
3055 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-203{font-size:203px!important}
|
3056 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-204{font-size:204px!important}
|
3057 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-205{font-size:205px!important}
|
3058 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-206{font-size:206px!important}
|
3059 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-207{font-size:207px!important}
|
3060 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-208{font-size:208px!important}
|
3061 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-209{font-size:209px!important}
|
3062 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-210{font-size:210px!important}
|
3063 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-211{font-size:211px!important}
|
3064 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-212{font-size:212px!important}
|
3065 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-213{font-size:213px!important}
|
3066 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-214{font-size:214px!important}
|
3067 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-215{font-size:215px!important}
|
3068 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-216{font-size:216px!important}
|
3069 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-217{font-size:217px!important}
|
3070 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-218{font-size:218px!important}
|
3071 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-219{font-size:219px!important}
|
3072 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-220{font-size:220px!important}
|
3073 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-221{font-size:221px!important}
|
3074 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-222{font-size:222px!important}
|
3075 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-223{font-size:223px!important}
|
3076 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-224{font-size:224px!important}
|
3077 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-225{font-size:225px!important}
|
3078 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-226{font-size:226px!important}
|
3079 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-227{font-size:227px!important}
|
3080 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-228{font-size:228px!important}
|
3081 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-229{font-size:229px!important}
|
3082 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-230{font-size:230px!important}
|
3083 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-231{font-size:231px!important}
|
3084 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-232{font-size:232px!important}
|
3085 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-233{font-size:233px!important}
|
3086 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-234{font-size:234px!important}
|
3087 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-235{font-size:235px!important}
|
3088 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-236{font-size:236px!important}
|
3089 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-237{font-size:237px!important}
|
3090 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-238{font-size:238px!important}
|
3091 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-239{font-size:239px!important}
|
3092 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-240{font-size:240px!important}
|
3093 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-241{font-size:241px!important}
|
3094 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-242{font-size:242px!important}
|
3095 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-243{font-size:243px!important}
|
3096 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-244{font-size:244px!important}
|
3097 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-245{font-size:245px!important}
|
3098 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-246{font-size:246px!important}
|
3099 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-247{font-size:247px!important}
|
3100 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-248{font-size:248px!important}
|
3101 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-249{font-size:249px!important}
|
3102 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-250{font-size:250px!important}
|
3103 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-251{font-size:251px!important}
|
3104 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-252{font-size:252px!important}
|
3105 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-253{font-size:253px!important}
|
3106 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-254{font-size:254px!important}
|
3107 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-255{font-size:255px!important}
|
3108 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-256{font-size:256px!important}
|
3109 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-257{font-size:257px!important}
|
3110 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-258{font-size:258px!important}
|
3111 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-259{font-size:259px!important}
|
3112 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-260{font-size:260px!important}
|
3113 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-261{font-size:261px!important}
|
3114 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-262{font-size:262px!important}
|
3115 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-263{font-size:263px!important}
|
3116 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-264{font-size:264px!important}
|
3117 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-265{font-size:265px!important}
|
3118 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-266{font-size:266px!important}
|
3119 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-267{font-size:267px!important}
|
3120 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-268{font-size:268px!important}
|
3121 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-269{font-size:269px!important}
|
3122 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-270{font-size:270px!important}
|
3123 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-271{font-size:271px!important}
|
3124 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-272{font-size:272px!important}
|
3125 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-273{font-size:273px!important}
|
3126 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-274{font-size:274px!important}
|
3127 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-275{font-size:275px!important}
|
3128 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-276{font-size:276px!important}
|
3129 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-277{font-size:277px!important}
|
3130 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-278{font-size:278px!important}
|
3131 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-279{font-size:279px!important}
|
3132 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-280{font-size:280px!important}
|
3133 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-281{font-size:281px!important}
|
3134 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-282{font-size:282px!important}
|
3135 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-283{font-size:283px!important}
|
3136 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-284{font-size:284px!important}
|
3137 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-285{font-size:285px!important}
|
3138 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-286{font-size:286px!important}
|
3139 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-287{font-size:287px!important}
|
3140 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-288{font-size:288px!important}
|
3141 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-289{font-size:289px!important}
|
3142 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-290{font-size:290px!important}
|
3143 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-291{font-size:291px!important}
|
3144 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-292{font-size:292px!important}
|
3145 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-293{font-size:293px!important}
|
3146 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-294{font-size:294px!important}
|
3147 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-295{font-size:295px!important}
|
3148 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-296{font-size:296px!important}
|
3149 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-297{font-size:297px!important}
|
3150 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-298{font-size:298px!important}
|
3151 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-299{font-size:299px!important}
|
3152 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-300{font-size:300px!important}
|
3153 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-1{line-height:1em!important}
|
3154 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-1_1{line-height:1.1em!important}
|
3155 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-1_2{line-height:1.2em!important}
|
3156 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-1_3{line-height:1.3em!important}
|
3157 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-1_4{line-height:1.4em!important}
|
3158 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-1_5{line-height:1.5em!important}
|
3159 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-1_6{line-height:1.6em!important}
|
3160 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-1_7{line-height:1.7em!important}
|
3161 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-1_8{line-height:1.8em!important}
|
3162 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-1_9{line-height:1.9em!important}
|
3163 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-2{line-height:2em!important}
|
3164 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-2_1{line-height:2.1em!important}
|
3165 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-2_2{line-height:2.2em!important}
|
3166 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-2_3{line-height:2.3em!important}
|
3167 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-2_4{line-height:2.4em!important}
|
3168 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-2_5{line-height:2.5em!important}
|
3169 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-2_6{line-height:2.6em!important}
|
3170 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-2_7{line-height:2.7em!important}
|
3171 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-2_8{line-height:2.8em!important}
|
3172 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-2_9{line-height:2.9em!important}
|
3173 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-3{line-height:3em!important}
|
3174 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-3_1{line-height:3.1em!important}
|
3175 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-3_2{line-height:3.2em!important}
|
3176 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-3_3{line-height:3.3em!important}
|
3177 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-3_4{line-height:3.4em!important}
|
3178 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-3_5{line-height:3.5em!important}
|
3179 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-3_6{line-height:3.6em!important}
|
3180 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-3_7{line-height:3.7em!important}
|
3181 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-3_8{line-height:3.8em!important}
|
3182 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-3_9{line-height:3.9em!important}
|
3183 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-4{line-height:4em!important}
|
3184 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-4_1{line-height:4.1em!important}
|
3185 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-4_2{line-height:4.2em!important}
|
3186 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-4_3{line-height:4.3em!important}
|
3187 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-4_4{line-height:4.4em!important}
|
3188 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-4_5{line-height:4.5em!important}
|
3189 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-4_6{line-height:4.6em!important}
|
3190 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-4_7{line-height:4.7em!important}
|
3191 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-4_8{line-height:4.8em!important}
|
3192 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-4_9{line-height:4.9em!important}
|
3193 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-5{line-height:5em!important}
|
3194 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-5_1{line-height:5.1em!important}
|
3195 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-5_2{line-height:5.2em!important}
|
3196 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-5_3{line-height:5.3em!important}
|
3197 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-5_4{line-height:5.4em!important}
|
3198 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-5_5{line-height:5.5em!important}
|
3199 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-5_6{line-height:5.6em!important}
|
3200 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-5_7{line-height:5.7em!important}
|
3201 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-5_8{line-height:5.8em!important}
|
3202 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-5_9{line-height:5.9em!important}
|
3203 |
-
.brz-ed.brz-ed--tablet .brz-fw-sm-100{font-weight:100!important}
|
3204 |
-
.brz-ed.brz-ed--tablet .brz-fw-sm-200{font-weight:200!important}
|
3205 |
-
.brz-ed.brz-ed--tablet .brz-fw-sm-300{font-weight:300!important}
|
3206 |
-
.brz-ed.brz-ed--tablet .brz-fw-sm-400{font-weight:400!important}
|
3207 |
-
.brz-ed.brz-ed--tablet .brz-fw-sm-500{font-weight:500!important}
|
3208 |
-
.brz-ed.brz-ed--tablet .brz-fw-sm-600{font-weight:600!important}
|
3209 |
-
.brz-ed.brz-ed--tablet .brz-fw-sm-700{font-weight:700!important}
|
3210 |
-
.brz-ed.brz-ed--tablet .brz-fw-sm-800{font-weight:800!important}
|
3211 |
-
.brz-ed.brz-ed--tablet .brz-fw-sm-900{font-weight:900!important}
|
3212 |
-
.brz-ed.brz-ed--tablet .brz-fw-sm-1000{font-weight:1000!important}
|
3213 |
-
.brz-ed.brz-ed--tablet .brz-fw-sm-1100{font-weight:1100!important}
|
3214 |
-
.brz-ed.brz-ed--tablet .brz-fw-sm-1200{font-weight:1200!important}
|
3215 |
-
.brz-ed.brz-ed--tablet .brz-fw-sm-1300{font-weight:1300!important}
|
3216 |
-
.brz-ed.brz-ed--tablet .brz-fw-sm-1400{font-weight:1400!important}
|
3217 |
-
.brz-ed.brz-ed--tablet .brz-fw-sm-1500{font-weight:1500!important}
|
3218 |
-
.brz-ed.brz-ed--tablet .brz-fw-sm-1600{font-weight:1600!important}
|
3219 |
-
.brz-ed.brz-ed--tablet .brz-fw-sm-1700{font-weight:1700!important}
|
3220 |
-
.brz-ed.brz-ed--tablet .brz-fw-sm-1800{font-weight:1800!important}
|
3221 |
-
.brz-ed.brz-ed--tablet .brz-fw-sm-1900{font-weight:1900!important}
|
3222 |
-
.brz-ed.brz-ed--tablet .brz-fw-sm-2000{font-weight:2000!important}
|
3223 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-m_20{letter-spacing:-20px!important}
|
3224 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-m_20_5{letter-spacing:-20.5px!important}
|
3225 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-m_19{letter-spacing:-19px!important}
|
3226 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-m_19_5{letter-spacing:-19.5px!important}
|
3227 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-m_18{letter-spacing:-18px!important}
|
3228 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-m_18_5{letter-spacing:-18.5px!important}
|
3229 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-m_17{letter-spacing:-17px!important}
|
3230 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-m_17_5{letter-spacing:-17.5px!important}
|
3231 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-m_16{letter-spacing:-16px!important}
|
3232 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-m_16_5{letter-spacing:-16.5px!important}
|
3233 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-m_15{letter-spacing:-15px!important}
|
3234 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-m_15_5{letter-spacing:-15.5px!important}
|
3235 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-m_14{letter-spacing:-14px!important}
|
3236 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-m_14_5{letter-spacing:-14.5px!important}
|
3237 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-m_13{letter-spacing:-13px!important}
|
3238 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-m_13_5{letter-spacing:-13.5px!important}
|
3239 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-m_12{letter-spacing:-12px!important}
|
3240 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-m_12_5{letter-spacing:-12.5px!important}
|
3241 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-m_11{letter-spacing:-11px!important}
|
3242 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-m_11_5{letter-spacing:-11.5px!important}
|
3243 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-m_10{letter-spacing:-10px!important}
|
3244 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-m_10_5{letter-spacing:-10.5px!important}
|
3245 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-m_9{letter-spacing:-9px!important}
|
3246 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-m_9_5{letter-spacing:-9.5px!important}
|
3247 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-m_8{letter-spacing:-8px!important}
|
3248 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-m_8_5{letter-spacing:-8.5px!important}
|
3249 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-m_7{letter-spacing:-7px!important}
|
3250 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-m_7_5{letter-spacing:-7.5px!important}
|
3251 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-m_6{letter-spacing:-6px!important}
|
3252 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-m_6_5{letter-spacing:-6.5px!important}
|
3253 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-m_5{letter-spacing:-5px!important}
|
3254 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-m_5_5{letter-spacing:-5.5px!important}
|
3255 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-m_4{letter-spacing:-4px!important}
|
3256 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-m_4_5{letter-spacing:-4.5px!important}
|
3257 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-m_3{letter-spacing:-3px!important}
|
3258 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-m_3_5{letter-spacing:-3.5px!important}
|
3259 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-m_2{letter-spacing:-2px!important}
|
3260 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-m_2_5{letter-spacing:-2.5px!important}
|
3261 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-m_1{letter-spacing:-1px!important}
|
3262 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-m_1_5{letter-spacing:-1.5px!important}
|
3263 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-m_0{letter-spacing:0!important}
|
3264 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-m_0_5{letter-spacing:-.5px!important}
|
3265 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-0{letter-spacing:0!important}
|
3266 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-0_5{letter-spacing:.5px!important}
|
3267 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-1{letter-spacing:1px!important}
|
3268 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-1_5{letter-spacing:1.5px!important}
|
3269 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-2{letter-spacing:2px!important}
|
3270 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-2_5{letter-spacing:2.5px!important}
|
3271 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-3{letter-spacing:3px!important}
|
3272 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-3_5{letter-spacing:3.5px!important}
|
3273 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-4{letter-spacing:4px!important}
|
3274 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-4_5{letter-spacing:4.5px!important}
|
3275 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-5{letter-spacing:5px!important}
|
3276 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-5_5{letter-spacing:5.5px!important}
|
3277 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-6{letter-spacing:6px!important}
|
3278 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-6_5{letter-spacing:6.5px!important}
|
3279 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-7{letter-spacing:7px!important}
|
3280 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-7_5{letter-spacing:7.5px!important}
|
3281 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-8{letter-spacing:8px!important}
|
3282 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-8_5{letter-spacing:8.5px!important}
|
3283 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-9{letter-spacing:9px!important}
|
3284 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-9_5{letter-spacing:9.5px!important}
|
3285 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-10{letter-spacing:10px!important}
|
3286 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-10_5{letter-spacing:10.5px!important}
|
3287 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-11{letter-spacing:11px!important}
|
3288 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-11_5{letter-spacing:11.5px!important}
|
3289 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-12{letter-spacing:12px!important}
|
3290 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-12_5{letter-spacing:12.5px!important}
|
3291 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-13{letter-spacing:13px!important}
|
3292 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-13_5{letter-spacing:13.5px!important}
|
3293 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-14{letter-spacing:14px!important}
|
3294 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-14_5{letter-spacing:14.5px!important}
|
3295 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-15{letter-spacing:15px!important}
|
3296 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-15_5{letter-spacing:15.5px!important}
|
3297 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-16{letter-spacing:16px!important}
|
3298 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-16_5{letter-spacing:16.5px!important}
|
3299 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-17{letter-spacing:17px!important}
|
3300 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-17_5{letter-spacing:17.5px!important}
|
3301 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-18{letter-spacing:18px!important}
|
3302 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-18_5{letter-spacing:18.5px!important}
|
3303 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-19{letter-spacing:19px!important}
|
3304 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-19_5{letter-spacing:19.5px!important}
|
3305 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-20{letter-spacing:20px!important}
|
3306 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-20_5{letter-spacing:20.5px!important}
|
3307 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-6{font-size:6px!important}
|
3308 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-7{font-size:7px!important}
|
3309 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-8{font-size:8px!important}
|
3310 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-9{font-size:9px!important}
|
3311 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-10{font-size:10px!important}
|
3312 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-11{font-size:11px!important}
|
3313 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-12{font-size:12px!important}
|
3314 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-13{font-size:13px!important}
|
3315 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-14{font-size:14px!important}
|
3316 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-15{font-size:15px!important}
|
3317 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-16{font-size:16px!important}
|
3318 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-17{font-size:17px!important}
|
3319 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-18{font-size:18px!important}
|
3320 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-19{font-size:19px!important}
|
3321 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-20{font-size:20px!important}
|
3322 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-21{font-size:21px!important}
|
3323 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-22{font-size:22px!important}
|
3324 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-23{font-size:23px!important}
|
3325 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-24{font-size:24px!important}
|
3326 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-25{font-size:25px!important}
|
3327 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-26{font-size:26px!important}
|
3328 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-27{font-size:27px!important}
|
3329 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-28{font-size:28px!important}
|
3330 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-29{font-size:29px!important}
|
3331 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-30{font-size:30px!important}
|
3332 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-31{font-size:31px!important}
|
3333 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-32{font-size:32px!important}
|
3334 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-33{font-size:33px!important}
|
3335 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-34{font-size:34px!important}
|
3336 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-35{font-size:35px!important}
|
3337 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-36{font-size:36px!important}
|
3338 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-37{font-size:37px!important}
|
3339 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-38{font-size:38px!important}
|
3340 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-39{font-size:39px!important}
|
3341 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-40{font-size:40px!important}
|
3342 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-41{font-size:41px!important}
|
3343 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-42{font-size:42px!important}
|
3344 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-43{font-size:43px!important}
|
3345 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-44{font-size:44px!important}
|
3346 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-45{font-size:45px!important}
|
3347 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-46{font-size:46px!important}
|
3348 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-47{font-size:47px!important}
|
3349 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-48{font-size:48px!important}
|
3350 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-49{font-size:49px!important}
|
3351 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-50{font-size:50px!important}
|
3352 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-51{font-size:51px!important}
|
3353 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-52{font-size:52px!important}
|
3354 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-53{font-size:53px!important}
|
3355 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-54{font-size:54px!important}
|
3356 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-55{font-size:55px!important}
|
3357 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-56{font-size:56px!important}
|
3358 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-57{font-size:57px!important}
|
3359 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-58{font-size:58px!important}
|
3360 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-59{font-size:59px!important}
|
3361 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-60{font-size:60px!important}
|
3362 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-61{font-size:61px!important}
|
3363 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-62{font-size:62px!important}
|
3364 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-63{font-size:63px!important}
|
3365 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-64{font-size:64px!important}
|
3366 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-65{font-size:65px!important}
|
3367 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-66{font-size:66px!important}
|
3368 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-67{font-size:67px!important}
|
3369 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-68{font-size:68px!important}
|
3370 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-69{font-size:69px!important}
|
3371 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-70{font-size:70px!important}
|
3372 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-71{font-size:71px!important}
|
3373 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-72{font-size:72px!important}
|
3374 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-73{font-size:73px!important}
|
3375 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-74{font-size:74px!important}
|
3376 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-75{font-size:75px!important}
|
3377 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-76{font-size:76px!important}
|
3378 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-77{font-size:77px!important}
|
3379 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-78{font-size:78px!important}
|
3380 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-79{font-size:79px!important}
|
3381 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-80{font-size:80px!important}
|
3382 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-81{font-size:81px!important}
|
3383 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-82{font-size:82px!important}
|
3384 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-83{font-size:83px!important}
|
3385 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-84{font-size:84px!important}
|
3386 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-85{font-size:85px!important}
|
3387 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-86{font-size:86px!important}
|
3388 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-87{font-size:87px!important}
|
3389 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-88{font-size:88px!important}
|
3390 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-89{font-size:89px!important}
|
3391 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-90{font-size:90px!important}
|
3392 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-91{font-size:91px!important}
|
3393 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-92{font-size:92px!important}
|
3394 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-93{font-size:93px!important}
|
3395 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-94{font-size:94px!important}
|
3396 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-95{font-size:95px!important}
|
3397 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-96{font-size:96px!important}
|
3398 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-97{font-size:97px!important}
|
3399 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-98{font-size:98px!important}
|
3400 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-99{font-size:99px!important}
|
3401 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-100{font-size:100px!important}
|
3402 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-101{font-size:101px!important}
|
3403 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-102{font-size:102px!important}
|
3404 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-103{font-size:103px!important}
|
3405 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-104{font-size:104px!important}
|
3406 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-105{font-size:105px!important}
|
3407 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-106{font-size:106px!important}
|
3408 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-107{font-size:107px!important}
|
3409 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-108{font-size:108px!important}
|
3410 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-109{font-size:109px!important}
|
3411 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-110{font-size:110px!important}
|
3412 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-111{font-size:111px!important}
|
3413 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-112{font-size:112px!important}
|
3414 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-113{font-size:113px!important}
|
3415 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-114{font-size:114px!important}
|
3416 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-115{font-size:115px!important}
|
3417 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-116{font-size:116px!important}
|
3418 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-117{font-size:117px!important}
|
3419 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-118{font-size:118px!important}
|
3420 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-119{font-size:119px!important}
|
3421 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-120{font-size:120px!important}
|
3422 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-121{font-size:121px!important}
|
3423 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-122{font-size:122px!important}
|
3424 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-123{font-size:123px!important}
|
3425 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-124{font-size:124px!important}
|
3426 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-125{font-size:125px!important}
|
3427 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-126{font-size:126px!important}
|
3428 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-127{font-size:127px!important}
|
3429 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-128{font-size:128px!important}
|
3430 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-129{font-size:129px!important}
|
3431 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-130{font-size:130px!important}
|
3432 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-131{font-size:131px!important}
|
3433 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-132{font-size:132px!important}
|
3434 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-133{font-size:133px!important}
|
3435 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-134{font-size:134px!important}
|
3436 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-135{font-size:135px!important}
|
3437 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-136{font-size:136px!important}
|
3438 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-137{font-size:137px!important}
|
3439 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-138{font-size:138px!important}
|
3440 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-139{font-size:139px!important}
|
3441 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-140{font-size:140px!important}
|
3442 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-141{font-size:141px!important}
|
3443 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-142{font-size:142px!important}
|
3444 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-143{font-size:143px!important}
|
3445 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-144{font-size:144px!important}
|
3446 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-145{font-size:145px!important}
|
3447 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-146{font-size:146px!important}
|
3448 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-147{font-size:147px!important}
|
3449 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-148{font-size:148px!important}
|
3450 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-149{font-size:149px!important}
|
3451 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-150{font-size:150px!important}
|
3452 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-151{font-size:151px!important}
|
3453 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-152{font-size:152px!important}
|
3454 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-153{font-size:153px!important}
|
3455 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-154{font-size:154px!important}
|
3456 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-155{font-size:155px!important}
|
3457 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-156{font-size:156px!important}
|
3458 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-157{font-size:157px!important}
|
3459 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-158{font-size:158px!important}
|
3460 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-159{font-size:159px!important}
|
3461 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-160{font-size:160px!important}
|
3462 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-161{font-size:161px!important}
|
3463 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-162{font-size:162px!important}
|
3464 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-163{font-size:163px!important}
|
3465 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-164{font-size:164px!important}
|
3466 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-165{font-size:165px!important}
|
3467 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-166{font-size:166px!important}
|
3468 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-167{font-size:167px!important}
|
3469 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-168{font-size:168px!important}
|
3470 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-169{font-size:169px!important}
|
3471 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-170{font-size:170px!important}
|
3472 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-171{font-size:171px!important}
|
3473 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-172{font-size:172px!important}
|
3474 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-173{font-size:173px!important}
|
3475 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-174{font-size:174px!important}
|
3476 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-175{font-size:175px!important}
|
3477 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-176{font-size:176px!important}
|
3478 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-177{font-size:177px!important}
|
3479 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-178{font-size:178px!important}
|
3480 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-179{font-size:179px!important}
|
3481 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-180{font-size:180px!important}
|
3482 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-181{font-size:181px!important}
|
3483 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-182{font-size:182px!important}
|
3484 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-183{font-size:183px!important}
|
3485 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-184{font-size:184px!important}
|
3486 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-185{font-size:185px!important}
|
3487 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-186{font-size:186px!important}
|
3488 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-187{font-size:187px!important}
|
3489 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-188{font-size:188px!important}
|
3490 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-189{font-size:189px!important}
|
3491 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-190{font-size:190px!important}
|
3492 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-191{font-size:191px!important}
|
3493 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-192{font-size:192px!important}
|
3494 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-193{font-size:193px!important}
|
3495 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-194{font-size:194px!important}
|
3496 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-195{font-size:195px!important}
|
3497 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-196{font-size:196px!important}
|
3498 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-197{font-size:197px!important}
|
3499 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-198{font-size:198px!important}
|
3500 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-199{font-size:199px!important}
|
3501 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-200{font-size:200px!important}
|
3502 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-201{font-size:201px!important}
|
3503 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-202{font-size:202px!important}
|
3504 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-203{font-size:203px!important}
|
3505 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-204{font-size:204px!important}
|
3506 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-205{font-size:205px!important}
|
3507 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-206{font-size:206px!important}
|
3508 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-207{font-size:207px!important}
|
3509 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-208{font-size:208px!important}
|
3510 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-209{font-size:209px!important}
|
3511 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-210{font-size:210px!important}
|
3512 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-211{font-size:211px!important}
|
3513 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-212{font-size:212px!important}
|
3514 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-213{font-size:213px!important}
|
3515 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-214{font-size:214px!important}
|
3516 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-215{font-size:215px!important}
|
3517 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-216{font-size:216px!important}
|
3518 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-217{font-size:217px!important}
|
3519 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-218{font-size:218px!important}
|
3520 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-219{font-size:219px!important}
|
3521 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-220{font-size:220px!important}
|
3522 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-221{font-size:221px!important}
|
3523 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-222{font-size:222px!important}
|
3524 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-223{font-size:223px!important}
|
3525 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-224{font-size:224px!important}
|
3526 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-225{font-size:225px!important}
|
3527 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-226{font-size:226px!important}
|
3528 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-227{font-size:227px!important}
|
3529 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-228{font-size:228px!important}
|
3530 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-229{font-size:229px!important}
|
3531 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-230{font-size:230px!important}
|
3532 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-231{font-size:231px!important}
|
3533 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-232{font-size:232px!important}
|
3534 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-233{font-size:233px!important}
|
3535 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-234{font-size:234px!important}
|
3536 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-235{font-size:235px!important}
|
3537 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-236{font-size:236px!important}
|
3538 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-237{font-size:237px!important}
|
3539 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-238{font-size:238px!important}
|
3540 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-239{font-size:239px!important}
|
3541 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-240{font-size:240px!important}
|
3542 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-241{font-size:241px!important}
|
3543 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-242{font-size:242px!important}
|
3544 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-243{font-size:243px!important}
|
3545 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-244{font-size:244px!important}
|
3546 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-245{font-size:245px!important}
|
3547 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-246{font-size:246px!important}
|
3548 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-247{font-size:247px!important}
|
3549 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-248{font-size:248px!important}
|
3550 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-249{font-size:249px!important}
|
3551 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-250{font-size:250px!important}
|
3552 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-251{font-size:251px!important}
|
3553 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-252{font-size:252px!important}
|
3554 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-253{font-size:253px!important}
|
3555 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-254{font-size:254px!important}
|
3556 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-255{font-size:255px!important}
|
3557 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-256{font-size:256px!important}
|
3558 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-257{font-size:257px!important}
|
3559 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-258{font-size:258px!important}
|
3560 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-259{font-size:259px!important}
|
3561 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-260{font-size:260px!important}
|
3562 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-261{font-size:261px!important}
|
3563 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-262{font-size:262px!important}
|
3564 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-263{font-size:263px!important}
|
3565 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-264{font-size:264px!important}
|
3566 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-265{font-size:265px!important}
|
3567 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-266{font-size:266px!important}
|
3568 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-267{font-size:267px!important}
|
3569 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-268{font-size:268px!important}
|
3570 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-269{font-size:269px!important}
|
3571 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-270{font-size:270px!important}
|
3572 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-271{font-size:271px!important}
|
3573 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-272{font-size:272px!important}
|
3574 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-273{font-size:273px!important}
|
3575 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-274{font-size:274px!important}
|
3576 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-275{font-size:275px!important}
|
3577 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-276{font-size:276px!important}
|
3578 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-277{font-size:277px!important}
|
3579 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-278{font-size:278px!important}
|
3580 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-279{font-size:279px!important}
|
3581 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-280{font-size:280px!important}
|
3582 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-281{font-size:281px!important}
|
3583 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-282{font-size:282px!important}
|
3584 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-283{font-size:283px!important}
|
3585 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-284{font-size:284px!important}
|
3586 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-285{font-size:285px!important}
|
3587 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-286{font-size:286px!important}
|
3588 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-287{font-size:287px!important}
|
3589 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-288{font-size:288px!important}
|
3590 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-289{font-size:289px!important}
|
3591 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-290{font-size:290px!important}
|
3592 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-291{font-size:291px!important}
|
3593 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-292{font-size:292px!important}
|
3594 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-293{font-size:293px!important}
|
3595 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-294{font-size:294px!important}
|
3596 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-295{font-size:295px!important}
|
3597 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-296{font-size:296px!important}
|
3598 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-297{font-size:297px!important}
|
3599 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-298{font-size:298px!important}
|
3600 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-299{font-size:299px!important}
|
3601 |
-
.brz-ed.brz-ed--tablet .brz-fs-sm-im-300{font-size:300px!important}
|
3602 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-1{line-height:1em!important}
|
3603 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-1_1{line-height:1.1em!important}
|
3604 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-1_2{line-height:1.2em!important}
|
3605 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-1_3{line-height:1.3em!important}
|
3606 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-1_4{line-height:1.4em!important}
|
3607 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-1_5{line-height:1.5em!important}
|
3608 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-1_6{line-height:1.6em!important}
|
3609 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-1_7{line-height:1.7em!important}
|
3610 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-1_8{line-height:1.8em!important}
|
3611 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-1_9{line-height:1.9em!important}
|
3612 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-2{line-height:2em!important}
|
3613 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-2_1{line-height:2.1em!important}
|
3614 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-2_2{line-height:2.2em!important}
|
3615 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-2_3{line-height:2.3em!important}
|
3616 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-2_4{line-height:2.4em!important}
|
3617 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-2_5{line-height:2.5em!important}
|
3618 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-2_6{line-height:2.6em!important}
|
3619 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-2_7{line-height:2.7em!important}
|
3620 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-2_8{line-height:2.8em!important}
|
3621 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-2_9{line-height:2.9em!important}
|
3622 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-3{line-height:3em!important}
|
3623 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-3_1{line-height:3.1em!important}
|
3624 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-3_2{line-height:3.2em!important}
|
3625 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-3_3{line-height:3.3em!important}
|
3626 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-3_4{line-height:3.4em!important}
|
3627 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-3_5{line-height:3.5em!important}
|
3628 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-3_6{line-height:3.6em!important}
|
3629 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-3_7{line-height:3.7em!important}
|
3630 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-3_8{line-height:3.8em!important}
|
3631 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-3_9{line-height:3.9em!important}
|
3632 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-4{line-height:4em!important}
|
3633 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-4_1{line-height:4.1em!important}
|
3634 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-4_2{line-height:4.2em!important}
|
3635 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-4_3{line-height:4.3em!important}
|
3636 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-4_4{line-height:4.4em!important}
|
3637 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-4_5{line-height:4.5em!important}
|
3638 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-4_6{line-height:4.6em!important}
|
3639 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-4_7{line-height:4.7em!important}
|
3640 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-4_8{line-height:4.8em!important}
|
3641 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-4_9{line-height:4.9em!important}
|
3642 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-5{line-height:5em!important}
|
3643 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-5_1{line-height:5.1em!important}
|
3644 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-5_2{line-height:5.2em!important}
|
3645 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-5_3{line-height:5.3em!important}
|
3646 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-5_4{line-height:5.4em!important}
|
3647 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-5_5{line-height:5.5em!important}
|
3648 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-5_6{line-height:5.6em!important}
|
3649 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-5_7{line-height:5.7em!important}
|
3650 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-5_8{line-height:5.8em!important}
|
3651 |
-
.brz-ed.brz-ed--tablet .brz-lh-sm-im-5_9{line-height:5.9em!important}
|
3652 |
-
.brz-ed.brz-ed--tablet .brz-fw-sm-im-100{font-weight:100!important}
|
3653 |
-
.brz-ed.brz-ed--tablet .brz-fw-sm-im-200{font-weight:200!important}
|
3654 |
-
.brz-ed.brz-ed--tablet .brz-fw-sm-im-300{font-weight:300!important}
|
3655 |
-
.brz-ed.brz-ed--tablet .brz-fw-sm-im-400{font-weight:400!important}
|
3656 |
-
.brz-ed.brz-ed--tablet .brz-fw-sm-im-500{font-weight:500!important}
|
3657 |
-
.brz-ed.brz-ed--tablet .brz-fw-sm-im-600{font-weight:600!important}
|
3658 |
-
.brz-ed.brz-ed--tablet .brz-fw-sm-im-700{font-weight:700!important}
|
3659 |
-
.brz-ed.brz-ed--tablet .brz-fw-sm-im-800{font-weight:800!important}
|
3660 |
-
.brz-ed.brz-ed--tablet .brz-fw-sm-im-900{font-weight:900!important}
|
3661 |
-
.brz-ed.brz-ed--tablet .brz-fw-sm-im-1000{font-weight:1000!important}
|
3662 |
-
.brz-ed.brz-ed--tablet .brz-fw-sm-im-1100{font-weight:1100!important}
|
3663 |
-
.brz-ed.brz-ed--tablet .brz-fw-sm-im-1200{font-weight:1200!important}
|
3664 |
-
.brz-ed.brz-ed--tablet .brz-fw-sm-im-1300{font-weight:1300!important}
|
3665 |
-
.brz-ed.brz-ed--tablet .brz-fw-sm-im-1400{font-weight:1400!important}
|
3666 |
-
.brz-ed.brz-ed--tablet .brz-fw-sm-im-1500{font-weight:1500!important}
|
3667 |
-
.brz-ed.brz-ed--tablet .brz-fw-sm-im-1600{font-weight:1600!important}
|
3668 |
-
.brz-ed.brz-ed--tablet .brz-fw-sm-im-1700{font-weight:1700!important}
|
3669 |
-
.brz-ed.brz-ed--tablet .brz-fw-sm-im-1800{font-weight:1800!important}
|
3670 |
-
.brz-ed.brz-ed--tablet .brz-fw-sm-im-1900{font-weight:1900!important}
|
3671 |
-
.brz-ed.brz-ed--tablet .brz-fw-sm-im-2000{font-weight:2000!important}
|
3672 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-m_20{letter-spacing:-20px!important}
|
3673 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-m_20_5{letter-spacing:-20.5px!important}
|
3674 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-m_19{letter-spacing:-19px!important}
|
3675 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-m_19_5{letter-spacing:-19.5px!important}
|
3676 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-m_18{letter-spacing:-18px!important}
|
3677 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-m_18_5{letter-spacing:-18.5px!important}
|
3678 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-m_17{letter-spacing:-17px!important}
|
3679 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-m_17_5{letter-spacing:-17.5px!important}
|
3680 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-m_16{letter-spacing:-16px!important}
|
3681 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-m_16_5{letter-spacing:-16.5px!important}
|
3682 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-m_15{letter-spacing:-15px!important}
|
3683 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-m_15_5{letter-spacing:-15.5px!important}
|
3684 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-m_14{letter-spacing:-14px!important}
|
3685 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-m_14_5{letter-spacing:-14.5px!important}
|
3686 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-m_13{letter-spacing:-13px!important}
|
3687 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-m_13_5{letter-spacing:-13.5px!important}
|
3688 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-m_12{letter-spacing:-12px!important}
|
3689 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-m_12_5{letter-spacing:-12.5px!important}
|
3690 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-m_11{letter-spacing:-11px!important}
|
3691 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-m_11_5{letter-spacing:-11.5px!important}
|
3692 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-m_10{letter-spacing:-10px!important}
|
3693 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-m_10_5{letter-spacing:-10.5px!important}
|
3694 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-m_9{letter-spacing:-9px!important}
|
3695 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-m_9_5{letter-spacing:-9.5px!important}
|
3696 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-m_8{letter-spacing:-8px!important}
|
3697 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-m_8_5{letter-spacing:-8.5px!important}
|
3698 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-m_7{letter-spacing:-7px!important}
|
3699 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-m_7_5{letter-spacing:-7.5px!important}
|
3700 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-m_6{letter-spacing:-6px!important}
|
3701 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-m_6_5{letter-spacing:-6.5px!important}
|
3702 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-m_5{letter-spacing:-5px!important}
|
3703 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-m_5_5{letter-spacing:-5.5px!important}
|
3704 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-m_4{letter-spacing:-4px!important}
|
3705 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-m_4_5{letter-spacing:-4.5px!important}
|
3706 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-m_3{letter-spacing:-3px!important}
|
3707 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-m_3_5{letter-spacing:-3.5px!important}
|
3708 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-m_2{letter-spacing:-2px!important}
|
3709 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-m_2_5{letter-spacing:-2.5px!important}
|
3710 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-m_1{letter-spacing:-1px!important}
|
3711 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-m_1_5{letter-spacing:-1.5px!important}
|
3712 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-m_0{letter-spacing:0!important}
|
3713 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-m_0_5{letter-spacing:-.5px!important}
|
3714 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-0{letter-spacing:0!important}
|
3715 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-0_5{letter-spacing:.5px!important}
|
3716 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-1{letter-spacing:1px!important}
|
3717 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-1_5{letter-spacing:1.5px!important}
|
3718 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-2{letter-spacing:2px!important}
|
3719 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-2_5{letter-spacing:2.5px!important}
|
3720 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-3{letter-spacing:3px!important}
|
3721 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-3_5{letter-spacing:3.5px!important}
|
3722 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-4{letter-spacing:4px!important}
|
3723 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-4_5{letter-spacing:4.5px!important}
|
3724 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-5{letter-spacing:5px!important}
|
3725 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-5_5{letter-spacing:5.5px!important}
|
3726 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-6{letter-spacing:6px!important}
|
3727 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-6_5{letter-spacing:6.5px!important}
|
3728 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-7{letter-spacing:7px!important}
|
3729 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-7_5{letter-spacing:7.5px!important}
|
3730 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-8{letter-spacing:8px!important}
|
3731 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-8_5{letter-spacing:8.5px!important}
|
3732 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-9{letter-spacing:9px!important}
|
3733 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-9_5{letter-spacing:9.5px!important}
|
3734 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-10{letter-spacing:10px!important}
|
3735 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-10_5{letter-spacing:10.5px!important}
|
3736 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-11{letter-spacing:11px!important}
|
3737 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-11_5{letter-spacing:11.5px!important}
|
3738 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-12{letter-spacing:12px!important}
|
3739 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-12_5{letter-spacing:12.5px!important}
|
3740 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-13{letter-spacing:13px!important}
|
3741 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-13_5{letter-spacing:13.5px!important}
|
3742 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-14{letter-spacing:14px!important}
|
3743 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-14_5{letter-spacing:14.5px!important}
|
3744 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-15{letter-spacing:15px!important}
|
3745 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-15_5{letter-spacing:15.5px!important}
|
3746 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-16{letter-spacing:16px!important}
|
3747 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-16_5{letter-spacing:16.5px!important}
|
3748 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-17{letter-spacing:17px!important}
|
3749 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-17_5{letter-spacing:17.5px!important}
|
3750 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-18{letter-spacing:18px!important}
|
3751 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-18_5{letter-spacing:18.5px!important}
|
3752 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-19{letter-spacing:19px!important}
|
3753 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-19_5{letter-spacing:19.5px!important}
|
3754 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-20{letter-spacing:20px!important}
|
3755 |
-
.brz-ed.brz-ed--tablet .brz-ls-sm-im-20_5{letter-spacing:20.5px!important}
|
3756 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-6{font-size:6px!important}
|
3757 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-7{font-size:7px!important}
|
3758 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-8{font-size:8px!important}
|
3759 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-9{font-size:9px!important}
|
3760 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-10{font-size:10px!important}
|
3761 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-11{font-size:11px!important}
|
3762 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-12{font-size:12px!important}
|
3763 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-13{font-size:13px!important}
|
3764 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-14{font-size:14px!important}
|
3765 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-15{font-size:15px!important}
|
3766 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-16{font-size:16px!important}
|
3767 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-17{font-size:17px!important}
|
3768 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-18{font-size:18px!important}
|
3769 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-19{font-size:19px!important}
|
3770 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-20{font-size:20px!important}
|
3771 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-21{font-size:21px!important}
|
3772 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-22{font-size:22px!important}
|
3773 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-23{font-size:23px!important}
|
3774 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-24{font-size:24px!important}
|
3775 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-25{font-size:25px!important}
|
3776 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-26{font-size:26px!important}
|
3777 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-27{font-size:27px!important}
|
3778 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-28{font-size:28px!important}
|
3779 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-29{font-size:29px!important}
|
3780 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-30{font-size:30px!important}
|
3781 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-31{font-size:31px!important}
|
3782 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-32{font-size:32px!important}
|
3783 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-33{font-size:33px!important}
|
3784 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-34{font-size:34px!important}
|
3785 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-35{font-size:35px!important}
|
3786 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-36{font-size:36px!important}
|
3787 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-37{font-size:37px!important}
|
3788 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-38{font-size:38px!important}
|
3789 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-39{font-size:39px!important}
|
3790 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-40{font-size:40px!important}
|
3791 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-41{font-size:41px!important}
|
3792 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-42{font-size:42px!important}
|
3793 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-43{font-size:43px!important}
|
3794 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-44{font-size:44px!important}
|
3795 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-45{font-size:45px!important}
|
3796 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-46{font-size:46px!important}
|
3797 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-47{font-size:47px!important}
|
3798 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-48{font-size:48px!important}
|
3799 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-49{font-size:49px!important}
|
3800 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-50{font-size:50px!important}
|
3801 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-51{font-size:51px!important}
|
3802 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-52{font-size:52px!important}
|
3803 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-53{font-size:53px!important}
|
3804 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-54{font-size:54px!important}
|
3805 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-55{font-size:55px!important}
|
3806 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-56{font-size:56px!important}
|
3807 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-57{font-size:57px!important}
|
3808 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-58{font-size:58px!important}
|
3809 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-59{font-size:59px!important}
|
3810 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-60{font-size:60px!important}
|
3811 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-61{font-size:61px!important}
|
3812 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-62{font-size:62px!important}
|
3813 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-63{font-size:63px!important}
|
3814 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-64{font-size:64px!important}
|
3815 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-65{font-size:65px!important}
|
3816 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-66{font-size:66px!important}
|
3817 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-67{font-size:67px!important}
|
3818 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-68{font-size:68px!important}
|
3819 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-69{font-size:69px!important}
|
3820 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-70{font-size:70px!important}
|
3821 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-71{font-size:71px!important}
|
3822 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-72{font-size:72px!important}
|
3823 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-73{font-size:73px!important}
|
3824 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-74{font-size:74px!important}
|
3825 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-75{font-size:75px!important}
|
3826 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-76{font-size:76px!important}
|
3827 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-77{font-size:77px!important}
|
3828 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-78{font-size:78px!important}
|
3829 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-79{font-size:79px!important}
|
3830 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-80{font-size:80px!important}
|
3831 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-81{font-size:81px!important}
|
3832 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-82{font-size:82px!important}
|
3833 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-83{font-size:83px!important}
|
3834 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-84{font-size:84px!important}
|
3835 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-85{font-size:85px!important}
|
3836 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-86{font-size:86px!important}
|
3837 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-87{font-size:87px!important}
|
3838 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-88{font-size:88px!important}
|
3839 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-89{font-size:89px!important}
|
3840 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-90{font-size:90px!important}
|
3841 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-91{font-size:91px!important}
|
3842 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-92{font-size:92px!important}
|
3843 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-93{font-size:93px!important}
|
3844 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-94{font-size:94px!important}
|
3845 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-95{font-size:95px!important}
|
3846 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-96{font-size:96px!important}
|
3847 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-97{font-size:97px!important}
|
3848 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-98{font-size:98px!important}
|
3849 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-99{font-size:99px!important}
|
3850 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-100{font-size:100px!important}
|
3851 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-101{font-size:101px!important}
|
3852 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-102{font-size:102px!important}
|
3853 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-103{font-size:103px!important}
|
3854 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-104{font-size:104px!important}
|
3855 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-105{font-size:105px!important}
|
3856 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-106{font-size:106px!important}
|
3857 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-107{font-size:107px!important}
|
3858 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-108{font-size:108px!important}
|
3859 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-109{font-size:109px!important}
|
3860 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-110{font-size:110px!important}
|
3861 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-111{font-size:111px!important}
|
3862 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-112{font-size:112px!important}
|
3863 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-113{font-size:113px!important}
|
3864 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-114{font-size:114px!important}
|
3865 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-115{font-size:115px!important}
|
3866 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-116{font-size:116px!important}
|
3867 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-117{font-size:117px!important}
|
3868 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-118{font-size:118px!important}
|
3869 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-119{font-size:119px!important}
|
3870 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-120{font-size:120px!important}
|
3871 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-121{font-size:121px!important}
|
3872 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-122{font-size:122px!important}
|
3873 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-123{font-size:123px!important}
|
3874 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-124{font-size:124px!important}
|
3875 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-125{font-size:125px!important}
|
3876 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-126{font-size:126px!important}
|
3877 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-127{font-size:127px!important}
|
3878 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-128{font-size:128px!important}
|
3879 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-129{font-size:129px!important}
|
3880 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-130{font-size:130px!important}
|
3881 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-131{font-size:131px!important}
|
3882 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-132{font-size:132px!important}
|
3883 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-133{font-size:133px!important}
|
3884 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-134{font-size:134px!important}
|
3885 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-135{font-size:135px!important}
|
3886 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-136{font-size:136px!important}
|
3887 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-137{font-size:137px!important}
|
3888 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-138{font-size:138px!important}
|
3889 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-139{font-size:139px!important}
|
3890 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-140{font-size:140px!important}
|
3891 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-141{font-size:141px!important}
|
3892 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-142{font-size:142px!important}
|
3893 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-143{font-size:143px!important}
|
3894 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-144{font-size:144px!important}
|
3895 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-145{font-size:145px!important}
|
3896 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-146{font-size:146px!important}
|
3897 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-147{font-size:147px!important}
|
3898 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-148{font-size:148px!important}
|
3899 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-149{font-size:149px!important}
|
3900 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-150{font-size:150px!important}
|
3901 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-151{font-size:151px!important}
|
3902 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-152{font-size:152px!important}
|
3903 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-153{font-size:153px!important}
|
3904 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-154{font-size:154px!important}
|
3905 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-155{font-size:155px!important}
|
3906 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-156{font-size:156px!important}
|
3907 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-157{font-size:157px!important}
|
3908 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-158{font-size:158px!important}
|
3909 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-159{font-size:159px!important}
|
3910 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-160{font-size:160px!important}
|
3911 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-161{font-size:161px!important}
|
3912 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-162{font-size:162px!important}
|
3913 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-163{font-size:163px!important}
|
3914 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-164{font-size:164px!important}
|
3915 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-165{font-size:165px!important}
|
3916 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-166{font-size:166px!important}
|
3917 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-167{font-size:167px!important}
|
3918 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-168{font-size:168px!important}
|
3919 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-169{font-size:169px!important}
|
3920 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-170{font-size:170px!important}
|
3921 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-171{font-size:171px!important}
|
3922 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-172{font-size:172px!important}
|
3923 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-173{font-size:173px!important}
|
3924 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-174{font-size:174px!important}
|
3925 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-175{font-size:175px!important}
|
3926 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-176{font-size:176px!important}
|
3927 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-177{font-size:177px!important}
|
3928 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-178{font-size:178px!important}
|
3929 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-179{font-size:179px!important}
|
3930 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-180{font-size:180px!important}
|
3931 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-181{font-size:181px!important}
|
3932 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-182{font-size:182px!important}
|
3933 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-183{font-size:183px!important}
|
3934 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-184{font-size:184px!important}
|
3935 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-185{font-size:185px!important}
|
3936 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-186{font-size:186px!important}
|
3937 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-187{font-size:187px!important}
|
3938 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-188{font-size:188px!important}
|
3939 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-189{font-size:189px!important}
|
3940 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-190{font-size:190px!important}
|
3941 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-191{font-size:191px!important}
|
3942 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-192{font-size:192px!important}
|
3943 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-193{font-size:193px!important}
|
3944 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-194{font-size:194px!important}
|
3945 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-195{font-size:195px!important}
|
3946 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-196{font-size:196px!important}
|
3947 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-197{font-size:197px!important}
|
3948 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-198{font-size:198px!important}
|
3949 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-199{font-size:199px!important}
|
3950 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-200{font-size:200px!important}
|
3951 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-201{font-size:201px!important}
|
3952 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-202{font-size:202px!important}
|
3953 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-203{font-size:203px!important}
|
3954 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-204{font-size:204px!important}
|
3955 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-205{font-size:205px!important}
|
3956 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-206{font-size:206px!important}
|
3957 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-207{font-size:207px!important}
|
3958 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-208{font-size:208px!important}
|
3959 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-209{font-size:209px!important}
|
3960 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-210{font-size:210px!important}
|
3961 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-211{font-size:211px!important}
|
3962 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-212{font-size:212px!important}
|
3963 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-213{font-size:213px!important}
|
3964 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-214{font-size:214px!important}
|
3965 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-215{font-size:215px!important}
|
3966 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-216{font-size:216px!important}
|
3967 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-217{font-size:217px!important}
|
3968 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-218{font-size:218px!important}
|
3969 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-219{font-size:219px!important}
|
3970 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-220{font-size:220px!important}
|
3971 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-221{font-size:221px!important}
|
3972 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-222{font-size:222px!important}
|
3973 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-223{font-size:223px!important}
|
3974 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-224{font-size:224px!important}
|
3975 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-225{font-size:225px!important}
|
3976 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-226{font-size:226px!important}
|
3977 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-227{font-size:227px!important}
|
3978 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-228{font-size:228px!important}
|
3979 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-229{font-size:229px!important}
|
3980 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-230{font-size:230px!important}
|
3981 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-231{font-size:231px!important}
|
3982 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-232{font-size:232px!important}
|
3983 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-233{font-size:233px!important}
|
3984 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-234{font-size:234px!important}
|
3985 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-235{font-size:235px!important}
|
3986 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-236{font-size:236px!important}
|
3987 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-237{font-size:237px!important}
|
3988 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-238{font-size:238px!important}
|
3989 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-239{font-size:239px!important}
|
3990 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-240{font-size:240px!important}
|
3991 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-241{font-size:241px!important}
|
3992 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-242{font-size:242px!important}
|
3993 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-243{font-size:243px!important}
|
3994 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-244{font-size:244px!important}
|
3995 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-245{font-size:245px!important}
|
3996 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-246{font-size:246px!important}
|
3997 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-247{font-size:247px!important}
|
3998 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-248{font-size:248px!important}
|
3999 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-249{font-size:249px!important}
|
4000 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-250{font-size:250px!important}
|
4001 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-251{font-size:251px!important}
|
4002 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-252{font-size:252px!important}
|
4003 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-253{font-size:253px!important}
|
4004 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-254{font-size:254px!important}
|
4005 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-255{font-size:255px!important}
|
4006 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-256{font-size:256px!important}
|
4007 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-257{font-size:257px!important}
|
4008 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-258{font-size:258px!important}
|
4009 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-259{font-size:259px!important}
|
4010 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-260{font-size:260px!important}
|
4011 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-261{font-size:261px!important}
|
4012 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-262{font-size:262px!important}
|
4013 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-263{font-size:263px!important}
|
4014 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-264{font-size:264px!important}
|
4015 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-265{font-size:265px!important}
|
4016 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-266{font-size:266px!important}
|
4017 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-267{font-size:267px!important}
|
4018 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-268{font-size:268px!important}
|
4019 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-269{font-size:269px!important}
|
4020 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-270{font-size:270px!important}
|
4021 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-271{font-size:271px!important}
|
4022 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-272{font-size:272px!important}
|
4023 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-273{font-size:273px!important}
|
4024 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-274{font-size:274px!important}
|
4025 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-275{font-size:275px!important}
|
4026 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-276{font-size:276px!important}
|
4027 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-277{font-size:277px!important}
|
4028 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-278{font-size:278px!important}
|
4029 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-279{font-size:279px!important}
|
4030 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-280{font-size:280px!important}
|
4031 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-281{font-size:281px!important}
|
4032 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-282{font-size:282px!important}
|
4033 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-283{font-size:283px!important}
|
4034 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-284{font-size:284px!important}
|
4035 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-285{font-size:285px!important}
|
4036 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-286{font-size:286px!important}
|
4037 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-287{font-size:287px!important}
|
4038 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-288{font-size:288px!important}
|
4039 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-289{font-size:289px!important}
|
4040 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-290{font-size:290px!important}
|
4041 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-291{font-size:291px!important}
|
4042 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-292{font-size:292px!important}
|
4043 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-293{font-size:293px!important}
|
4044 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-294{font-size:294px!important}
|
4045 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-295{font-size:295px!important}
|
4046 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-296{font-size:296px!important}
|
4047 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-297{font-size:297px!important}
|
4048 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-298{font-size:298px!important}
|
4049 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-299{font-size:299px!important}
|
4050 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-300{font-size:300px!important}
|
4051 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-1{line-height:1em!important}
|
4052 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-1_1{line-height:1.1em!important}
|
4053 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-1_2{line-height:1.2em!important}
|
4054 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-1_3{line-height:1.3em!important}
|
4055 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-1_4{line-height:1.4em!important}
|
4056 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-1_5{line-height:1.5em!important}
|
4057 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-1_6{line-height:1.6em!important}
|
4058 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-1_7{line-height:1.7em!important}
|
4059 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-1_8{line-height:1.8em!important}
|
4060 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-1_9{line-height:1.9em!important}
|
4061 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-2{line-height:2em!important}
|
4062 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-2_1{line-height:2.1em!important}
|
4063 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-2_2{line-height:2.2em!important}
|
4064 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-2_3{line-height:2.3em!important}
|
4065 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-2_4{line-height:2.4em!important}
|
4066 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-2_5{line-height:2.5em!important}
|
4067 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-2_6{line-height:2.6em!important}
|
4068 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-2_7{line-height:2.7em!important}
|
4069 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-2_8{line-height:2.8em!important}
|
4070 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-2_9{line-height:2.9em!important}
|
4071 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-3{line-height:3em!important}
|
4072 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-3_1{line-height:3.1em!important}
|
4073 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-3_2{line-height:3.2em!important}
|
4074 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-3_3{line-height:3.3em!important}
|
4075 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-3_4{line-height:3.4em!important}
|
4076 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-3_5{line-height:3.5em!important}
|
4077 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-3_6{line-height:3.6em!important}
|
4078 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-3_7{line-height:3.7em!important}
|
4079 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-3_8{line-height:3.8em!important}
|
4080 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-3_9{line-height:3.9em!important}
|
4081 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-4{line-height:4em!important}
|
4082 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-4_1{line-height:4.1em!important}
|
4083 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-4_2{line-height:4.2em!important}
|
4084 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-4_3{line-height:4.3em!important}
|
4085 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-4_4{line-height:4.4em!important}
|
4086 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-4_5{line-height:4.5em!important}
|
4087 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-4_6{line-height:4.6em!important}
|
4088 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-4_7{line-height:4.7em!important}
|
4089 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-4_8{line-height:4.8em!important}
|
4090 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-4_9{line-height:4.9em!important}
|
4091 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-5{line-height:5em!important}
|
4092 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-5_1{line-height:5.1em!important}
|
4093 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-5_2{line-height:5.2em!important}
|
4094 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-5_3{line-height:5.3em!important}
|
4095 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-5_4{line-height:5.4em!important}
|
4096 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-5_5{line-height:5.5em!important}
|
4097 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-5_6{line-height:5.6em!important}
|
4098 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-5_7{line-height:5.7em!important}
|
4099 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-5_8{line-height:5.8em!important}
|
4100 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-5_9{line-height:5.9em!important}
|
4101 |
-
.brz-ed.brz-ed--mobile .brz-fw-xs-100{font-weight:100!important}
|
4102 |
-
.brz-ed.brz-ed--mobile .brz-fw-xs-200{font-weight:200!important}
|
4103 |
-
.brz-ed.brz-ed--mobile .brz-fw-xs-300{font-weight:300!important}
|
4104 |
-
.brz-ed.brz-ed--mobile .brz-fw-xs-400{font-weight:400!important}
|
4105 |
-
.brz-ed.brz-ed--mobile .brz-fw-xs-500{font-weight:500!important}
|
4106 |
-
.brz-ed.brz-ed--mobile .brz-fw-xs-600{font-weight:600!important}
|
4107 |
-
.brz-ed.brz-ed--mobile .brz-fw-xs-700{font-weight:700!important}
|
4108 |
-
.brz-ed.brz-ed--mobile .brz-fw-xs-800{font-weight:800!important}
|
4109 |
-
.brz-ed.brz-ed--mobile .brz-fw-xs-900{font-weight:900!important}
|
4110 |
-
.brz-ed.brz-ed--mobile .brz-fw-xs-1000{font-weight:1000!important}
|
4111 |
-
.brz-ed.brz-ed--mobile .brz-fw-xs-1100{font-weight:1100!important}
|
4112 |
-
.brz-ed.brz-ed--mobile .brz-fw-xs-1200{font-weight:1200!important}
|
4113 |
-
.brz-ed.brz-ed--mobile .brz-fw-xs-1300{font-weight:1300!important}
|
4114 |
-
.brz-ed.brz-ed--mobile .brz-fw-xs-1400{font-weight:1400!important}
|
4115 |
-
.brz-ed.brz-ed--mobile .brz-fw-xs-1500{font-weight:1500!important}
|
4116 |
-
.brz-ed.brz-ed--mobile .brz-fw-xs-1600{font-weight:1600!important}
|
4117 |
-
.brz-ed.brz-ed--mobile .brz-fw-xs-1700{font-weight:1700!important}
|
4118 |
-
.brz-ed.brz-ed--mobile .brz-fw-xs-1800{font-weight:1800!important}
|
4119 |
-
.brz-ed.brz-ed--mobile .brz-fw-xs-1900{font-weight:1900!important}
|
4120 |
-
.brz-ed.brz-ed--mobile .brz-fw-xs-2000{font-weight:2000!important}
|
4121 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-m_20{letter-spacing:-20px!important}
|
4122 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-m_20_5{letter-spacing:-20.5px!important}
|
4123 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-m_19{letter-spacing:-19px!important}
|
4124 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-m_19_5{letter-spacing:-19.5px!important}
|
4125 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-m_18{letter-spacing:-18px!important}
|
4126 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-m_18_5{letter-spacing:-18.5px!important}
|
4127 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-m_17{letter-spacing:-17px!important}
|
4128 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-m_17_5{letter-spacing:-17.5px!important}
|
4129 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-m_16{letter-spacing:-16px!important}
|
4130 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-m_16_5{letter-spacing:-16.5px!important}
|
4131 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-m_15{letter-spacing:-15px!important}
|
4132 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-m_15_5{letter-spacing:-15.5px!important}
|
4133 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-m_14{letter-spacing:-14px!important}
|
4134 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-m_14_5{letter-spacing:-14.5px!important}
|
4135 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-m_13{letter-spacing:-13px!important}
|
4136 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-m_13_5{letter-spacing:-13.5px!important}
|
4137 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-m_12{letter-spacing:-12px!important}
|
4138 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-m_12_5{letter-spacing:-12.5px!important}
|
4139 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-m_11{letter-spacing:-11px!important}
|
4140 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-m_11_5{letter-spacing:-11.5px!important}
|
4141 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-m_10{letter-spacing:-10px!important}
|
4142 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-m_10_5{letter-spacing:-10.5px!important}
|
4143 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-m_9{letter-spacing:-9px!important}
|
4144 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-m_9_5{letter-spacing:-9.5px!important}
|
4145 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-m_8{letter-spacing:-8px!important}
|
4146 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-m_8_5{letter-spacing:-8.5px!important}
|
4147 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-m_7{letter-spacing:-7px!important}
|
4148 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-m_7_5{letter-spacing:-7.5px!important}
|
4149 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-m_6{letter-spacing:-6px!important}
|
4150 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-m_6_5{letter-spacing:-6.5px!important}
|
4151 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-m_5{letter-spacing:-5px!important}
|
4152 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-m_5_5{letter-spacing:-5.5px!important}
|
4153 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-m_4{letter-spacing:-4px!important}
|
4154 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-m_4_5{letter-spacing:-4.5px!important}
|
4155 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-m_3{letter-spacing:-3px!important}
|
4156 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-m_3_5{letter-spacing:-3.5px!important}
|
4157 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-m_2{letter-spacing:-2px!important}
|
4158 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-m_2_5{letter-spacing:-2.5px!important}
|
4159 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-m_1{letter-spacing:-1px!important}
|
4160 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-m_1_5{letter-spacing:-1.5px!important}
|
4161 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-m_0{letter-spacing:0!important}
|
4162 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-m_0_5{letter-spacing:-.5px!important}
|
4163 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-0{letter-spacing:0!important}
|
4164 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-0_5{letter-spacing:.5px!important}
|
4165 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-1{letter-spacing:1px!important}
|
4166 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-1_5{letter-spacing:1.5px!important}
|
4167 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-2{letter-spacing:2px!important}
|
4168 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-2_5{letter-spacing:2.5px!important}
|
4169 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-3{letter-spacing:3px!important}
|
4170 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-3_5{letter-spacing:3.5px!important}
|
4171 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-4{letter-spacing:4px!important}
|
4172 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-4_5{letter-spacing:4.5px!important}
|
4173 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-5{letter-spacing:5px!important}
|
4174 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-5_5{letter-spacing:5.5px!important}
|
4175 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-6{letter-spacing:6px!important}
|
4176 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-6_5{letter-spacing:6.5px!important}
|
4177 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-7{letter-spacing:7px!important}
|
4178 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-7_5{letter-spacing:7.5px!important}
|
4179 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-8{letter-spacing:8px!important}
|
4180 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-8_5{letter-spacing:8.5px!important}
|
4181 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-9{letter-spacing:9px!important}
|
4182 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-9_5{letter-spacing:9.5px!important}
|
4183 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-10{letter-spacing:10px!important}
|
4184 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-10_5{letter-spacing:10.5px!important}
|
4185 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-11{letter-spacing:11px!important}
|
4186 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-11_5{letter-spacing:11.5px!important}
|
4187 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-12{letter-spacing:12px!important}
|
4188 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-12_5{letter-spacing:12.5px!important}
|
4189 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-13{letter-spacing:13px!important}
|
4190 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-13_5{letter-spacing:13.5px!important}
|
4191 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-14{letter-spacing:14px!important}
|
4192 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-14_5{letter-spacing:14.5px!important}
|
4193 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-15{letter-spacing:15px!important}
|
4194 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-15_5{letter-spacing:15.5px!important}
|
4195 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-16{letter-spacing:16px!important}
|
4196 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-16_5{letter-spacing:16.5px!important}
|
4197 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-17{letter-spacing:17px!important}
|
4198 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-17_5{letter-spacing:17.5px!important}
|
4199 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-18{letter-spacing:18px!important}
|
4200 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-18_5{letter-spacing:18.5px!important}
|
4201 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-19{letter-spacing:19px!important}
|
4202 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-19_5{letter-spacing:19.5px!important}
|
4203 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-20{letter-spacing:20px!important}
|
4204 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-20_5{letter-spacing:20.5px!important}
|
4205 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-6{font-size:6px!important}
|
4206 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-7{font-size:7px!important}
|
4207 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-8{font-size:8px!important}
|
4208 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-9{font-size:9px!important}
|
4209 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-10{font-size:10px!important}
|
4210 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-11{font-size:11px!important}
|
4211 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-12{font-size:12px!important}
|
4212 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-13{font-size:13px!important}
|
4213 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-14{font-size:14px!important}
|
4214 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-15{font-size:15px!important}
|
4215 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-16{font-size:16px!important}
|
4216 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-17{font-size:17px!important}
|
4217 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-18{font-size:18px!important}
|
4218 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-19{font-size:19px!important}
|
4219 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-20{font-size:20px!important}
|
4220 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-21{font-size:21px!important}
|
4221 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-22{font-size:22px!important}
|
4222 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-23{font-size:23px!important}
|
4223 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-24{font-size:24px!important}
|
4224 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-25{font-size:25px!important}
|
4225 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-26{font-size:26px!important}
|
4226 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-27{font-size:27px!important}
|
4227 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-28{font-size:28px!important}
|
4228 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-29{font-size:29px!important}
|
4229 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-30{font-size:30px!important}
|
4230 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-31{font-size:31px!important}
|
4231 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-32{font-size:32px!important}
|
4232 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-33{font-size:33px!important}
|
4233 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-34{font-size:34px!important}
|
4234 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-35{font-size:35px!important}
|
4235 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-36{font-size:36px!important}
|
4236 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-37{font-size:37px!important}
|
4237 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-38{font-size:38px!important}
|
4238 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-39{font-size:39px!important}
|
4239 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-40{font-size:40px!important}
|
4240 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-41{font-size:41px!important}
|
4241 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-42{font-size:42px!important}
|
4242 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-43{font-size:43px!important}
|
4243 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-44{font-size:44px!important}
|
4244 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-45{font-size:45px!important}
|
4245 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-46{font-size:46px!important}
|
4246 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-47{font-size:47px!important}
|
4247 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-48{font-size:48px!important}
|
4248 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-49{font-size:49px!important}
|
4249 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-50{font-size:50px!important}
|
4250 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-51{font-size:51px!important}
|
4251 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-52{font-size:52px!important}
|
4252 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-53{font-size:53px!important}
|
4253 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-54{font-size:54px!important}
|
4254 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-55{font-size:55px!important}
|
4255 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-56{font-size:56px!important}
|
4256 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-57{font-size:57px!important}
|
4257 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-58{font-size:58px!important}
|
4258 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-59{font-size:59px!important}
|
4259 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-60{font-size:60px!important}
|
4260 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-61{font-size:61px!important}
|
4261 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-62{font-size:62px!important}
|
4262 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-63{font-size:63px!important}
|
4263 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-64{font-size:64px!important}
|
4264 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-65{font-size:65px!important}
|
4265 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-66{font-size:66px!important}
|
4266 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-67{font-size:67px!important}
|
4267 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-68{font-size:68px!important}
|
4268 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-69{font-size:69px!important}
|
4269 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-70{font-size:70px!important}
|
4270 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-71{font-size:71px!important}
|
4271 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-72{font-size:72px!important}
|
4272 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-73{font-size:73px!important}
|
4273 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-74{font-size:74px!important}
|
4274 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-75{font-size:75px!important}
|
4275 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-76{font-size:76px!important}
|
4276 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-77{font-size:77px!important}
|
4277 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-78{font-size:78px!important}
|
4278 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-79{font-size:79px!important}
|
4279 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-80{font-size:80px!important}
|
4280 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-81{font-size:81px!important}
|
4281 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-82{font-size:82px!important}
|
4282 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-83{font-size:83px!important}
|
4283 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-84{font-size:84px!important}
|
4284 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-85{font-size:85px!important}
|
4285 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-86{font-size:86px!important}
|
4286 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-87{font-size:87px!important}
|
4287 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-88{font-size:88px!important}
|
4288 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-89{font-size:89px!important}
|
4289 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-90{font-size:90px!important}
|
4290 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-91{font-size:91px!important}
|
4291 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-92{font-size:92px!important}
|
4292 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-93{font-size:93px!important}
|
4293 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-94{font-size:94px!important}
|
4294 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-95{font-size:95px!important}
|
4295 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-96{font-size:96px!important}
|
4296 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-97{font-size:97px!important}
|
4297 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-98{font-size:98px!important}
|
4298 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-99{font-size:99px!important}
|
4299 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-100{font-size:100px!important}
|
4300 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-101{font-size:101px!important}
|
4301 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-102{font-size:102px!important}
|
4302 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-103{font-size:103px!important}
|
4303 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-104{font-size:104px!important}
|
4304 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-105{font-size:105px!important}
|
4305 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-106{font-size:106px!important}
|
4306 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-107{font-size:107px!important}
|
4307 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-108{font-size:108px!important}
|
4308 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-109{font-size:109px!important}
|
4309 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-110{font-size:110px!important}
|
4310 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-111{font-size:111px!important}
|
4311 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-112{font-size:112px!important}
|
4312 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-113{font-size:113px!important}
|
4313 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-114{font-size:114px!important}
|
4314 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-115{font-size:115px!important}
|
4315 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-116{font-size:116px!important}
|
4316 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-117{font-size:117px!important}
|
4317 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-118{font-size:118px!important}
|
4318 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-119{font-size:119px!important}
|
4319 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-120{font-size:120px!important}
|
4320 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-121{font-size:121px!important}
|
4321 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-122{font-size:122px!important}
|
4322 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-123{font-size:123px!important}
|
4323 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-124{font-size:124px!important}
|
4324 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-125{font-size:125px!important}
|
4325 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-126{font-size:126px!important}
|
4326 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-127{font-size:127px!important}
|
4327 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-128{font-size:128px!important}
|
4328 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-129{font-size:129px!important}
|
4329 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-130{font-size:130px!important}
|
4330 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-131{font-size:131px!important}
|
4331 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-132{font-size:132px!important}
|
4332 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-133{font-size:133px!important}
|
4333 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-134{font-size:134px!important}
|
4334 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-135{font-size:135px!important}
|
4335 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-136{font-size:136px!important}
|
4336 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-137{font-size:137px!important}
|
4337 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-138{font-size:138px!important}
|
4338 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-139{font-size:139px!important}
|
4339 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-140{font-size:140px!important}
|
4340 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-141{font-size:141px!important}
|
4341 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-142{font-size:142px!important}
|
4342 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-143{font-size:143px!important}
|
4343 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-144{font-size:144px!important}
|
4344 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-145{font-size:145px!important}
|
4345 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-146{font-size:146px!important}
|
4346 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-147{font-size:147px!important}
|
4347 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-148{font-size:148px!important}
|
4348 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-149{font-size:149px!important}
|
4349 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-150{font-size:150px!important}
|
4350 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-151{font-size:151px!important}
|
4351 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-152{font-size:152px!important}
|
4352 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-153{font-size:153px!important}
|
4353 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-154{font-size:154px!important}
|
4354 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-155{font-size:155px!important}
|
4355 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-156{font-size:156px!important}
|
4356 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-157{font-size:157px!important}
|
4357 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-158{font-size:158px!important}
|
4358 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-159{font-size:159px!important}
|
4359 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-160{font-size:160px!important}
|
4360 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-161{font-size:161px!important}
|
4361 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-162{font-size:162px!important}
|
4362 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-163{font-size:163px!important}
|
4363 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-164{font-size:164px!important}
|
4364 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-165{font-size:165px!important}
|
4365 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-166{font-size:166px!important}
|
4366 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-167{font-size:167px!important}
|
4367 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-168{font-size:168px!important}
|
4368 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-169{font-size:169px!important}
|
4369 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-170{font-size:170px!important}
|
4370 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-171{font-size:171px!important}
|
4371 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-172{font-size:172px!important}
|
4372 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-173{font-size:173px!important}
|
4373 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-174{font-size:174px!important}
|
4374 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-175{font-size:175px!important}
|
4375 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-176{font-size:176px!important}
|
4376 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-177{font-size:177px!important}
|
4377 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-178{font-size:178px!important}
|
4378 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-179{font-size:179px!important}
|
4379 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-180{font-size:180px!important}
|
4380 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-181{font-size:181px!important}
|
4381 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-182{font-size:182px!important}
|
4382 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-183{font-size:183px!important}
|
4383 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-184{font-size:184px!important}
|
4384 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-185{font-size:185px!important}
|
4385 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-186{font-size:186px!important}
|
4386 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-187{font-size:187px!important}
|
4387 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-188{font-size:188px!important}
|
4388 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-189{font-size:189px!important}
|
4389 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-190{font-size:190px!important}
|
4390 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-191{font-size:191px!important}
|
4391 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-192{font-size:192px!important}
|
4392 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-193{font-size:193px!important}
|
4393 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-194{font-size:194px!important}
|
4394 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-195{font-size:195px!important}
|
4395 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-196{font-size:196px!important}
|
4396 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-197{font-size:197px!important}
|
4397 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-198{font-size:198px!important}
|
4398 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-199{font-size:199px!important}
|
4399 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-200{font-size:200px!important}
|
4400 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-201{font-size:201px!important}
|
4401 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-202{font-size:202px!important}
|
4402 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-203{font-size:203px!important}
|
4403 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-204{font-size:204px!important}
|
4404 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-205{font-size:205px!important}
|
4405 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-206{font-size:206px!important}
|
4406 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-207{font-size:207px!important}
|
4407 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-208{font-size:208px!important}
|
4408 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-209{font-size:209px!important}
|
4409 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-210{font-size:210px!important}
|
4410 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-211{font-size:211px!important}
|
4411 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-212{font-size:212px!important}
|
4412 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-213{font-size:213px!important}
|
4413 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-214{font-size:214px!important}
|
4414 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-215{font-size:215px!important}
|
4415 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-216{font-size:216px!important}
|
4416 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-217{font-size:217px!important}
|
4417 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-218{font-size:218px!important}
|
4418 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-219{font-size:219px!important}
|
4419 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-220{font-size:220px!important}
|
4420 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-221{font-size:221px!important}
|
4421 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-222{font-size:222px!important}
|
4422 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-223{font-size:223px!important}
|
4423 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-224{font-size:224px!important}
|
4424 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-225{font-size:225px!important}
|
4425 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-226{font-size:226px!important}
|
4426 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-227{font-size:227px!important}
|
4427 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-228{font-size:228px!important}
|
4428 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-229{font-size:229px!important}
|
4429 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-230{font-size:230px!important}
|
4430 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-231{font-size:231px!important}
|
4431 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-232{font-size:232px!important}
|
4432 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-233{font-size:233px!important}
|
4433 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-234{font-size:234px!important}
|
4434 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-235{font-size:235px!important}
|
4435 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-236{font-size:236px!important}
|
4436 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-237{font-size:237px!important}
|
4437 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-238{font-size:238px!important}
|
4438 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-239{font-size:239px!important}
|
4439 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-240{font-size:240px!important}
|
4440 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-241{font-size:241px!important}
|
4441 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-242{font-size:242px!important}
|
4442 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-243{font-size:243px!important}
|
4443 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-244{font-size:244px!important}
|
4444 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-245{font-size:245px!important}
|
4445 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-246{font-size:246px!important}
|
4446 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-247{font-size:247px!important}
|
4447 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-248{font-size:248px!important}
|
4448 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-249{font-size:249px!important}
|
4449 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-250{font-size:250px!important}
|
4450 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-251{font-size:251px!important}
|
4451 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-252{font-size:252px!important}
|
4452 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-253{font-size:253px!important}
|
4453 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-254{font-size:254px!important}
|
4454 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-255{font-size:255px!important}
|
4455 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-256{font-size:256px!important}
|
4456 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-257{font-size:257px!important}
|
4457 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-258{font-size:258px!important}
|
4458 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-259{font-size:259px!important}
|
4459 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-260{font-size:260px!important}
|
4460 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-261{font-size:261px!important}
|
4461 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-262{font-size:262px!important}
|
4462 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-263{font-size:263px!important}
|
4463 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-264{font-size:264px!important}
|
4464 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-265{font-size:265px!important}
|
4465 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-266{font-size:266px!important}
|
4466 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-267{font-size:267px!important}
|
4467 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-268{font-size:268px!important}
|
4468 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-269{font-size:269px!important}
|
4469 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-270{font-size:270px!important}
|
4470 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-271{font-size:271px!important}
|
4471 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-272{font-size:272px!important}
|
4472 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-273{font-size:273px!important}
|
4473 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-274{font-size:274px!important}
|
4474 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-275{font-size:275px!important}
|
4475 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-276{font-size:276px!important}
|
4476 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-277{font-size:277px!important}
|
4477 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-278{font-size:278px!important}
|
4478 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-279{font-size:279px!important}
|
4479 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-280{font-size:280px!important}
|
4480 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-281{font-size:281px!important}
|
4481 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-282{font-size:282px!important}
|
4482 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-283{font-size:283px!important}
|
4483 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-284{font-size:284px!important}
|
4484 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-285{font-size:285px!important}
|
4485 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-286{font-size:286px!important}
|
4486 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-287{font-size:287px!important}
|
4487 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-288{font-size:288px!important}
|
4488 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-289{font-size:289px!important}
|
4489 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-290{font-size:290px!important}
|
4490 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-291{font-size:291px!important}
|
4491 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-292{font-size:292px!important}
|
4492 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-293{font-size:293px!important}
|
4493 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-294{font-size:294px!important}
|
4494 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-295{font-size:295px!important}
|
4495 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-296{font-size:296px!important}
|
4496 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-297{font-size:297px!important}
|
4497 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-298{font-size:298px!important}
|
4498 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-299{font-size:299px!important}
|
4499 |
-
.brz-ed.brz-ed--mobile .brz-fs-xs-im-300{font-size:300px!important}
|
4500 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-1{line-height:1em!important}
|
4501 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-1_1{line-height:1.1em!important}
|
4502 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-1_2{line-height:1.2em!important}
|
4503 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-1_3{line-height:1.3em!important}
|
4504 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-1_4{line-height:1.4em!important}
|
4505 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-1_5{line-height:1.5em!important}
|
4506 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-1_6{line-height:1.6em!important}
|
4507 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-1_7{line-height:1.7em!important}
|
4508 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-1_8{line-height:1.8em!important}
|
4509 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-1_9{line-height:1.9em!important}
|
4510 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-2{line-height:2em!important}
|
4511 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-2_1{line-height:2.1em!important}
|
4512 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-2_2{line-height:2.2em!important}
|
4513 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-2_3{line-height:2.3em!important}
|
4514 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-2_4{line-height:2.4em!important}
|
4515 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-2_5{line-height:2.5em!important}
|
4516 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-2_6{line-height:2.6em!important}
|
4517 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-2_7{line-height:2.7em!important}
|
4518 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-2_8{line-height:2.8em!important}
|
4519 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-2_9{line-height:2.9em!important}
|
4520 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-3{line-height:3em!important}
|
4521 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-3_1{line-height:3.1em!important}
|
4522 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-3_2{line-height:3.2em!important}
|
4523 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-3_3{line-height:3.3em!important}
|
4524 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-3_4{line-height:3.4em!important}
|
4525 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-3_5{line-height:3.5em!important}
|
4526 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-3_6{line-height:3.6em!important}
|
4527 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-3_7{line-height:3.7em!important}
|
4528 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-3_8{line-height:3.8em!important}
|
4529 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-3_9{line-height:3.9em!important}
|
4530 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-4{line-height:4em!important}
|
4531 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-4_1{line-height:4.1em!important}
|
4532 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-4_2{line-height:4.2em!important}
|
4533 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-4_3{line-height:4.3em!important}
|
4534 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-4_4{line-height:4.4em!important}
|
4535 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-4_5{line-height:4.5em!important}
|
4536 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-4_6{line-height:4.6em!important}
|
4537 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-4_7{line-height:4.7em!important}
|
4538 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-4_8{line-height:4.8em!important}
|
4539 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-4_9{line-height:4.9em!important}
|
4540 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-5{line-height:5em!important}
|
4541 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-5_1{line-height:5.1em!important}
|
4542 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-5_2{line-height:5.2em!important}
|
4543 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-5_3{line-height:5.3em!important}
|
4544 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-5_4{line-height:5.4em!important}
|
4545 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-5_5{line-height:5.5em!important}
|
4546 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-5_6{line-height:5.6em!important}
|
4547 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-5_7{line-height:5.7em!important}
|
4548 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-5_8{line-height:5.8em!important}
|
4549 |
-
.brz-ed.brz-ed--mobile .brz-lh-xs-im-5_9{line-height:5.9em!important}
|
4550 |
-
.brz-ed.brz-ed--mobile .brz-fw-xs-im-100{font-weight:100!important}
|
4551 |
-
.brz-ed.brz-ed--mobile .brz-fw-xs-im-200{font-weight:200!important}
|
4552 |
-
.brz-ed.brz-ed--mobile .brz-fw-xs-im-300{font-weight:300!important}
|
4553 |
-
.brz-ed.brz-ed--mobile .brz-fw-xs-im-400{font-weight:400!important}
|
4554 |
-
.brz-ed.brz-ed--mobile .brz-fw-xs-im-500{font-weight:500!important}
|
4555 |
-
.brz-ed.brz-ed--mobile .brz-fw-xs-im-600{font-weight:600!important}
|
4556 |
-
.brz-ed.brz-ed--mobile .brz-fw-xs-im-700{font-weight:700!important}
|
4557 |
-
.brz-ed.brz-ed--mobile .brz-fw-xs-im-800{font-weight:800!important}
|
4558 |
-
.brz-ed.brz-ed--mobile .brz-fw-xs-im-900{font-weight:900!important}
|
4559 |
-
.brz-ed.brz-ed--mobile .brz-fw-xs-im-1000{font-weight:1000!important}
|
4560 |
-
.brz-ed.brz-ed--mobile .brz-fw-xs-im-1100{font-weight:1100!important}
|
4561 |
-
.brz-ed.brz-ed--mobile .brz-fw-xs-im-1200{font-weight:1200!important}
|
4562 |
-
.brz-ed.brz-ed--mobile .brz-fw-xs-im-1300{font-weight:1300!important}
|
4563 |
-
.brz-ed.brz-ed--mobile .brz-fw-xs-im-1400{font-weight:1400!important}
|
4564 |
-
.brz-ed.brz-ed--mobile .brz-fw-xs-im-1500{font-weight:1500!important}
|
4565 |
-
.brz-ed.brz-ed--mobile .brz-fw-xs-im-1600{font-weight:1600!important}
|
4566 |
-
.brz-ed.brz-ed--mobile .brz-fw-xs-im-1700{font-weight:1700!important}
|
4567 |
-
.brz-ed.brz-ed--mobile .brz-fw-xs-im-1800{font-weight:1800!important}
|
4568 |
-
.brz-ed.brz-ed--mobile .brz-fw-xs-im-1900{font-weight:1900!important}
|
4569 |
-
.brz-ed.brz-ed--mobile .brz-fw-xs-im-2000{font-weight:2000!important}
|
4570 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-m_20{letter-spacing:-20px!important}
|
4571 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-m_20_5{letter-spacing:-20.5px!important}
|
4572 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-m_19{letter-spacing:-19px!important}
|
4573 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-m_19_5{letter-spacing:-19.5px!important}
|
4574 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-m_18{letter-spacing:-18px!important}
|
4575 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-m_18_5{letter-spacing:-18.5px!important}
|
4576 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-m_17{letter-spacing:-17px!important}
|
4577 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-m_17_5{letter-spacing:-17.5px!important}
|
4578 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-m_16{letter-spacing:-16px!important}
|
4579 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-m_16_5{letter-spacing:-16.5px!important}
|
4580 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-m_15{letter-spacing:-15px!important}
|
4581 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-m_15_5{letter-spacing:-15.5px!important}
|
4582 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-m_14{letter-spacing:-14px!important}
|
4583 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-m_14_5{letter-spacing:-14.5px!important}
|
4584 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-m_13{letter-spacing:-13px!important}
|
4585 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-m_13_5{letter-spacing:-13.5px!important}
|
4586 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-m_12{letter-spacing:-12px!important}
|
4587 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-m_12_5{letter-spacing:-12.5px!important}
|
4588 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-m_11{letter-spacing:-11px!important}
|
4589 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-m_11_5{letter-spacing:-11.5px!important}
|
4590 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-m_10{letter-spacing:-10px!important}
|
4591 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-m_10_5{letter-spacing:-10.5px!important}
|
4592 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-m_9{letter-spacing:-9px!important}
|
4593 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-m_9_5{letter-spacing:-9.5px!important}
|
4594 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-m_8{letter-spacing:-8px!important}
|
4595 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-m_8_5{letter-spacing:-8.5px!important}
|
4596 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-m_7{letter-spacing:-7px!important}
|
4597 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-m_7_5{letter-spacing:-7.5px!important}
|
4598 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-m_6{letter-spacing:-6px!important}
|
4599 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-m_6_5{letter-spacing:-6.5px!important}
|
4600 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-m_5{letter-spacing:-5px!important}
|
4601 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-m_5_5{letter-spacing:-5.5px!important}
|
4602 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-m_4{letter-spacing:-4px!important}
|
4603 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-m_4_5{letter-spacing:-4.5px!important}
|
4604 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-m_3{letter-spacing:-3px!important}
|
4605 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-m_3_5{letter-spacing:-3.5px!important}
|
4606 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-m_2{letter-spacing:-2px!important}
|
4607 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-m_2_5{letter-spacing:-2.5px!important}
|
4608 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-m_1{letter-spacing:-1px!important}
|
4609 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-m_1_5{letter-spacing:-1.5px!important}
|
4610 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-m_0{letter-spacing:0!important}
|
4611 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-m_0_5{letter-spacing:-.5px!important}
|
4612 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-0{letter-spacing:0!important}
|
4613 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-0_5{letter-spacing:.5px!important}
|
4614 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-1{letter-spacing:1px!important}
|
4615 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-1_5{letter-spacing:1.5px!important}
|
4616 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-2{letter-spacing:2px!important}
|
4617 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-2_5{letter-spacing:2.5px!important}
|
4618 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-3{letter-spacing:3px!important}
|
4619 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-3_5{letter-spacing:3.5px!important}
|
4620 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-4{letter-spacing:4px!important}
|
4621 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-4_5{letter-spacing:4.5px!important}
|
4622 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-5{letter-spacing:5px!important}
|
4623 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-5_5{letter-spacing:5.5px!important}
|
4624 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-6{letter-spacing:6px!important}
|
4625 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-6_5{letter-spacing:6.5px!important}
|
4626 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-7{letter-spacing:7px!important}
|
4627 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-7_5{letter-spacing:7.5px!important}
|
4628 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-8{letter-spacing:8px!important}
|
4629 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-8_5{letter-spacing:8.5px!important}
|
4630 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-9{letter-spacing:9px!important}
|
4631 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-9_5{letter-spacing:9.5px!important}
|
4632 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-10{letter-spacing:10px!important}
|
4633 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-10_5{letter-spacing:10.5px!important}
|
4634 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-11{letter-spacing:11px!important}
|
4635 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-11_5{letter-spacing:11.5px!important}
|
4636 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-12{letter-spacing:12px!important}
|
4637 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-12_5{letter-spacing:12.5px!important}
|
4638 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-13{letter-spacing:13px!important}
|
4639 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-13_5{letter-spacing:13.5px!important}
|
4640 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-14{letter-spacing:14px!important}
|
4641 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-14_5{letter-spacing:14.5px!important}
|
4642 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-15{letter-spacing:15px!important}
|
4643 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-15_5{letter-spacing:15.5px!important}
|
4644 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-16{letter-spacing:16px!important}
|
4645 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-16_5{letter-spacing:16.5px!important}
|
4646 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-17{letter-spacing:17px!important}
|
4647 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-17_5{letter-spacing:17.5px!important}
|
4648 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-18{letter-spacing:18px!important}
|
4649 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-18_5{letter-spacing:18.5px!important}
|
4650 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-19{letter-spacing:19px!important}
|
4651 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-19_5{letter-spacing:19.5px!important}
|
4652 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-20{letter-spacing:20px!important}
|
4653 |
-
.brz-ed.brz-ed--mobile .brz-ls-xs-im-20_5{letter-spacing:20.5px!important}
|
4654 |
-
.brz-ed .brz-mt-lg-0{margin-top:0!important}
|
4655 |
-
.brz-ed .brz-mt-lg-1{margin-top:1px!important}
|
4656 |
-
.brz-ed .brz-mt-lg-2{margin-top:2px!important}
|
4657 |
-
.brz-ed .brz-mt-lg-3{margin-top:3px!important}
|
4658 |
-
.brz-ed .brz-mt-lg-4{margin-top:4px!important}
|
4659 |
-
.brz-ed .brz-mt-lg-5{margin-top:5px!important}
|
4660 |
-
.brz-ed .brz-mt-lg-6{margin-top:6px!important}
|
4661 |
-
.brz-ed .brz-mt-lg-7{margin-top:7px!important}
|
4662 |
-
.brz-ed .brz-mt-lg-8{margin-top:8px!important}
|
4663 |
-
.brz-ed .brz-mt-lg-9{margin-top:9px!important}
|
4664 |
-
.brz-ed .brz-mt-lg-10{margin-top:10px!important}
|
4665 |
-
.brz-ed .brz-mt-lg-11{margin-top:11px!important}
|
4666 |
-
.brz-ed .brz-mt-lg-12{margin-top:12px!important}
|
4667 |
-
.brz-ed .brz-mt-lg-13{margin-top:13px!important}
|
4668 |
-
.brz-ed .brz-mt-lg-14{margin-top:14px!important}
|
4669 |
-
.brz-ed .brz-mt-lg-15{margin-top:15px!important}
|
4670 |
-
.brz-ed .brz-mt-lg-16{margin-top:16px!important}
|
4671 |
-
.brz-ed .brz-mt-lg-17{margin-top:17px!important}
|
4672 |
-
.brz-ed .brz-mt-lg-18{margin-top:18px!important}
|
4673 |
-
.brz-ed .brz-mt-lg-19{margin-top:19px!important}
|
4674 |
-
.brz-ed .brz-mt-lg-20{margin-top:20px!important}
|
4675 |
-
.brz-ed .brz-mt-lg-21{margin-top:21px!important}
|
4676 |
-
.brz-ed .brz-mt-lg-22{margin-top:22px!important}
|
4677 |
-
.brz-ed .brz-mt-lg-23{margin-top:23px!important}
|
4678 |
-
.brz-ed .brz-mt-lg-24{margin-top:24px!important}
|
4679 |
-
.brz-ed .brz-mt-lg-25{margin-top:25px!important}
|
4680 |
-
.brz-ed .brz-mt-lg-26{margin-top:26px!important}
|
4681 |
-
.brz-ed .brz-mt-lg-27{margin-top:27px!important}
|
4682 |
-
.brz-ed .brz-mt-lg-28{margin-top:28px!important}
|
4683 |
-
.brz-ed .brz-mt-lg-29{margin-top:29px!important}
|
4684 |
-
.brz-ed .brz-mt-lg-30{margin-top:30px!important}
|
4685 |
-
.brz-ed .brz-mt-lg-31{margin-top:31px!important}
|
4686 |
-
.brz-ed .brz-mt-lg-32{margin-top:32px!important}
|
4687 |
-
.brz-ed .brz-mt-lg-33{margin-top:33px!important}
|
4688 |
-
.brz-ed .brz-mt-lg-34{margin-top:34px!important}
|
4689 |
-
.brz-ed .brz-mt-lg-35{margin-top:35px!important}
|
4690 |
-
.brz-ed .brz-mt-lg-36{margin-top:36px!important}
|
4691 |
-
.brz-ed .brz-mt-lg-37{margin-top:37px!important}
|
4692 |
-
.brz-ed .brz-mt-lg-38{margin-top:38px!important}
|
4693 |
-
.brz-ed .brz-mt-lg-39{margin-top:39px!important}
|
4694 |
-
.brz-ed .brz-mt-lg-40{margin-top:40px!important}
|
4695 |
-
.brz-ed .brz-mt-lg-41{margin-top:41px!important}
|
4696 |
-
.brz-ed .brz-mt-lg-42{margin-top:42px!important}
|
4697 |
-
.brz-ed .brz-mt-lg-43{margin-top:43px!important}
|
4698 |
-
.brz-ed .brz-mt-lg-44{margin-top:44px!important}
|
4699 |
-
.brz-ed .brz-mt-lg-45{margin-top:45px!important}
|
4700 |
-
.brz-ed .brz-mt-lg-46{margin-top:46px!important}
|
4701 |
-
.brz-ed .brz-mt-lg-47{margin-top:47px!important}
|
4702 |
-
.brz-ed .brz-mt-lg-48{margin-top:48px!important}
|
4703 |
-
.brz-ed .brz-mt-lg-49{margin-top:49px!important}
|
4704 |
-
.brz-ed .brz-mt-lg-50{margin-top:50px!important}
|
4705 |
-
.brz-ed .brz-mt-lg-51{margin-top:51px!important}
|
4706 |
-
.brz-ed .brz-mt-lg-52{margin-top:52px!important}
|
4707 |
-
.brz-ed .brz-mt-lg-53{margin-top:53px!important}
|
4708 |
-
.brz-ed .brz-mt-lg-54{margin-top:54px!important}
|
4709 |
-
.brz-ed .brz-mt-lg-55{margin-top:55px!important}
|
4710 |
-
.brz-ed .brz-mt-lg-56{margin-top:56px!important}
|
4711 |
-
.brz-ed .brz-mt-lg-57{margin-top:57px!important}
|
4712 |
-
.brz-ed .brz-mt-lg-58{margin-top:58px!important}
|
4713 |
-
.brz-ed .brz-mt-lg-59{margin-top:59px!important}
|
4714 |
-
.brz-ed .brz-mt-lg-60{margin-top:60px!important}
|
4715 |
-
.brz-ed .brz-mt-lg-61{margin-top:61px!important}
|
4716 |
-
.brz-ed .brz-mt-lg-62{margin-top:62px!important}
|
4717 |
-
.brz-ed .brz-mt-lg-63{margin-top:63px!important}
|
4718 |
-
.brz-ed .brz-mt-lg-64{margin-top:64px!important}
|
4719 |
-
.brz-ed .brz-mt-lg-65{margin-top:65px!important}
|
4720 |
-
.brz-ed .brz-mt-lg-66{margin-top:66px!important}
|
4721 |
-
.brz-ed .brz-mt-lg-67{margin-top:67px!important}
|
4722 |
-
.brz-ed .brz-mt-lg-68{margin-top:68px!important}
|
4723 |
-
.brz-ed .brz-mt-lg-69{margin-top:69px!important}
|
4724 |
-
.brz-ed .brz-mt-lg-70{margin-top:70px!important}
|
4725 |
-
.brz-ed .brz-mt-lg-71{margin-top:71px!important}
|
4726 |
-
.brz-ed .brz-mt-lg-72{margin-top:72px!important}
|
4727 |
-
.brz-ed .brz-mt-lg-73{margin-top:73px!important}
|
4728 |
-
.brz-ed .brz-mt-lg-74{margin-top:74px!important}
|
4729 |
-
.brz-ed .brz-mt-lg-75{margin-top:75px!important}
|
4730 |
-
.brz-ed .brz-mt-lg-76{margin-top:76px!important}
|
4731 |
-
.brz-ed .brz-mt-lg-77{margin-top:77px!important}
|
4732 |
-
.brz-ed .brz-mt-lg-78{margin-top:78px!important}
|
4733 |
-
.brz-ed .brz-mt-lg-79{margin-top:79px!important}
|
4734 |
-
.brz-ed .brz-mt-lg-80{margin-top:80px!important}
|
4735 |
-
.brz-ed .brz-mt-lg-81{margin-top:81px!important}
|
4736 |
-
.brz-ed .brz-mt-lg-82{margin-top:82px!important}
|
4737 |
-
.brz-ed .brz-mt-lg-83{margin-top:83px!important}
|
4738 |
-
.brz-ed .brz-mt-lg-84{margin-top:84px!important}
|
4739 |
-
.brz-ed .brz-mt-lg-85{margin-top:85px!important}
|
4740 |
-
.brz-ed .brz-mt-lg-86{margin-top:86px!important}
|
4741 |
-
.brz-ed .brz-mt-lg-87{margin-top:87px!important}
|
4742 |
-
.brz-ed .brz-mt-lg-88{margin-top:88px!important}
|
4743 |
-
.brz-ed .brz-mt-lg-89{margin-top:89px!important}
|
4744 |
-
.brz-ed .brz-mt-lg-90{margin-top:90px!important}
|
4745 |
-
.brz-ed .brz-mt-lg-91{margin-top:91px!important}
|
4746 |
-
.brz-ed .brz-mt-lg-92{margin-top:92px!important}
|
4747 |
-
.brz-ed .brz-mt-lg-93{margin-top:93px!important}
|
4748 |
-
.brz-ed .brz-mt-lg-94{margin-top:94px!important}
|
4749 |
-
.brz-ed .brz-mt-lg-95{margin-top:95px!important}
|
4750 |
-
.brz-ed .brz-mt-lg-96{margin-top:96px!important}
|
4751 |
-
.brz-ed .brz-mt-lg-97{margin-top:97px!important}
|
4752 |
-
.brz-ed .brz-mt-lg-98{margin-top:98px!important}
|
4753 |
-
.brz-ed .brz-mt-lg-99{margin-top:99px!important}
|
4754 |
-
.brz-ed .brz-mt-lg-100{margin-top:100px!important}
|
4755 |
-
.brz-ed .brz-mb-lg-0{margin-bottom:0!important}
|
4756 |
-
.brz-ed .brz-mb-lg-1{margin-bottom:1px!important}
|
4757 |
-
.brz-ed .brz-mb-lg-2{margin-bottom:2px!important}
|
4758 |
-
.brz-ed .brz-mb-lg-3{margin-bottom:3px!important}
|
4759 |
-
.brz-ed .brz-mb-lg-4{margin-bottom:4px!important}
|
4760 |
-
.brz-ed .brz-mb-lg-5{margin-bottom:5px!important}
|
4761 |
-
.brz-ed .brz-mb-lg-6{margin-bottom:6px!important}
|
4762 |
-
.brz-ed .brz-mb-lg-7{margin-bottom:7px!important}
|
4763 |
-
.brz-ed .brz-mb-lg-8{margin-bottom:8px!important}
|
4764 |
-
.brz-ed .brz-mb-lg-9{margin-bottom:9px!important}
|
4765 |
-
.brz-ed .brz-mb-lg-10{margin-bottom:10px!important}
|
4766 |
-
.brz-ed .brz-mb-lg-11{margin-bottom:11px!important}
|
4767 |
-
.brz-ed .brz-mb-lg-12{margin-bottom:12px!important}
|
4768 |
-
.brz-ed .brz-mb-lg-13{margin-bottom:13px!important}
|
4769 |
-
.brz-ed .brz-mb-lg-14{margin-bottom:14px!important}
|
4770 |
-
.brz-ed .brz-mb-lg-15{margin-bottom:15px!important}
|
4771 |
-
.brz-ed .brz-mb-lg-16{margin-bottom:16px!important}
|
4772 |
-
.brz-ed .brz-mb-lg-17{margin-bottom:17px!important}
|
4773 |
-
.brz-ed .brz-mb-lg-18{margin-bottom:18px!important}
|
4774 |
-
.brz-ed .brz-mb-lg-19{margin-bottom:19px!important}
|
4775 |
-
.brz-ed .brz-mb-lg-20{margin-bottom:20px!important}
|
4776 |
-
.brz-ed .brz-mb-lg-21{margin-bottom:21px!important}
|
4777 |
-
.brz-ed .brz-mb-lg-22{margin-bottom:22px!important}
|
4778 |
-
.brz-ed .brz-mb-lg-23{margin-bottom:23px!important}
|
4779 |
-
.brz-ed .brz-mb-lg-24{margin-bottom:24px!important}
|
4780 |
-
.brz-ed .brz-mb-lg-25{margin-bottom:25px!important}
|
4781 |
-
.brz-ed .brz-mb-lg-26{margin-bottom:26px!important}
|
4782 |
-
.brz-ed .brz-mb-lg-27{margin-bottom:27px!important}
|
4783 |
-
.brz-ed .brz-mb-lg-28{margin-bottom:28px!important}
|
4784 |
-
.brz-ed .brz-mb-lg-29{margin-bottom:29px!important}
|
4785 |
-
.brz-ed .brz-mb-lg-30{margin-bottom:30px!important}
|
4786 |
-
.brz-ed .brz-mb-lg-31{margin-bottom:31px!important}
|
4787 |
-
.brz-ed .brz-mb-lg-32{margin-bottom:32px!important}
|
4788 |
-
.brz-ed .brz-mb-lg-33{margin-bottom:33px!important}
|
4789 |
-
.brz-ed .brz-mb-lg-34{margin-bottom:34px!important}
|
4790 |
-
.brz-ed .brz-mb-lg-35{margin-bottom:35px!important}
|
4791 |
-
.brz-ed .brz-mb-lg-36{margin-bottom:36px!important}
|
4792 |
-
.brz-ed .brz-mb-lg-37{margin-bottom:37px!important}
|
4793 |
-
.brz-ed .brz-mb-lg-38{margin-bottom:38px!important}
|
4794 |
-
.brz-ed .brz-mb-lg-39{margin-bottom:39px!important}
|
4795 |
-
.brz-ed .brz-mb-lg-40{margin-bottom:40px!important}
|
4796 |
-
.brz-ed .brz-mb-lg-41{margin-bottom:41px!important}
|
4797 |
-
.brz-ed .brz-mb-lg-42{margin-bottom:42px!important}
|
4798 |
-
.brz-ed .brz-mb-lg-43{margin-bottom:43px!important}
|
4799 |
-
.brz-ed .brz-mb-lg-44{margin-bottom:44px!important}
|
4800 |
-
.brz-ed .brz-mb-lg-45{margin-bottom:45px!important}
|
4801 |
-
.brz-ed .brz-mb-lg-46{margin-bottom:46px!important}
|
4802 |
-
.brz-ed .brz-mb-lg-47{margin-bottom:47px!important}
|
4803 |
-
.brz-ed .brz-mb-lg-48{margin-bottom:48px!important}
|
4804 |
-
.brz-ed .brz-mb-lg-49{margin-bottom:49px!important}
|
4805 |
-
.brz-ed .brz-mb-lg-50{margin-bottom:50px!important}
|
4806 |
-
.brz-ed .brz-mb-lg-51{margin-bottom:51px!important}
|
4807 |
-
.brz-ed .brz-mb-lg-52{margin-bottom:52px!important}
|
4808 |
-
.brz-ed .brz-mb-lg-53{margin-bottom:53px!important}
|
4809 |
-
.brz-ed .brz-mb-lg-54{margin-bottom:54px!important}
|
4810 |
-
.brz-ed .brz-mb-lg-55{margin-bottom:55px!important}
|
4811 |
-
.brz-ed .brz-mb-lg-56{margin-bottom:56px!important}
|
4812 |
-
.brz-ed .brz-mb-lg-57{margin-bottom:57px!important}
|
4813 |
-
.brz-ed .brz-mb-lg-58{margin-bottom:58px!important}
|
4814 |
-
.brz-ed .brz-mb-lg-59{margin-bottom:59px!important}
|
4815 |
-
.brz-ed .brz-mb-lg-60{margin-bottom:60px!important}
|
4816 |
-
.brz-ed .brz-mb-lg-61{margin-bottom:61px!important}
|
4817 |
-
.brz-ed .brz-mb-lg-62{margin-bottom:62px!important}
|
4818 |
-
.brz-ed .brz-mb-lg-63{margin-bottom:63px!important}
|
4819 |
-
.brz-ed .brz-mb-lg-64{margin-bottom:64px!important}
|
4820 |
-
.brz-ed .brz-mb-lg-65{margin-bottom:65px!important}
|
4821 |
-
.brz-ed .brz-mb-lg-66{margin-bottom:66px!important}
|
4822 |
-
.brz-ed .brz-mb-lg-67{margin-bottom:67px!important}
|
4823 |
-
.brz-ed .brz-mb-lg-68{margin-bottom:68px!important}
|
4824 |
-
.brz-ed .brz-mb-lg-69{margin-bottom:69px!important}
|
4825 |
-
.brz-ed .brz-mb-lg-70{margin-bottom:70px!important}
|
4826 |
-
.brz-ed .brz-mb-lg-71{margin-bottom:71px!important}
|
4827 |
-
.brz-ed .brz-mb-lg-72{margin-bottom:72px!important}
|
4828 |
-
.brz-ed .brz-mb-lg-73{margin-bottom:73px!important}
|
4829 |
-
.brz-ed .brz-mb-lg-74{margin-bottom:74px!important}
|
4830 |
-
.brz-ed .brz-mb-lg-75{margin-bottom:75px!important}
|
4831 |
-
.brz-ed .brz-mb-lg-76{margin-bottom:76px!important}
|
4832 |
-
.brz-ed .brz-mb-lg-77{margin-bottom:77px!important}
|
4833 |
-
.brz-ed .brz-mb-lg-78{margin-bottom:78px!important}
|
4834 |
-
.brz-ed .brz-mb-lg-79{margin-bottom:79px!important}
|
4835 |
-
.brz-ed .brz-mb-lg-80{margin-bottom:80px!important}
|
4836 |
-
.brz-ed .brz-mb-lg-81{margin-bottom:81px!important}
|
4837 |
-
.brz-ed .brz-mb-lg-82{margin-bottom:82px!important}
|
4838 |
-
.brz-ed .brz-mb-lg-83{margin-bottom:83px!important}
|
4839 |
-
.brz-ed .brz-mb-lg-84{margin-bottom:84px!important}
|
4840 |
-
.brz-ed .brz-mb-lg-85{margin-bottom:85px!important}
|
4841 |
-
.brz-ed .brz-mb-lg-86{margin-bottom:86px!important}
|
4842 |
-
.brz-ed .brz-mb-lg-87{margin-bottom:87px!important}
|
4843 |
-
.brz-ed .brz-mb-lg-88{margin-bottom:88px!important}
|
4844 |
-
.brz-ed .brz-mb-lg-89{margin-bottom:89px!important}
|
4845 |
-
.brz-ed .brz-mb-lg-90{margin-bottom:90px!important}
|
4846 |
-
.brz-ed .brz-mb-lg-91{margin-bottom:91px!important}
|
4847 |
-
.brz-ed .brz-mb-lg-92{margin-bottom:92px!important}
|
4848 |
-
.brz-ed .brz-mb-lg-93{margin-bottom:93px!important}
|
4849 |
-
.brz-ed .brz-mb-lg-94{margin-bottom:94px!important}
|
4850 |
-
.brz-ed .brz-mb-lg-95{margin-bottom:95px!important}
|
4851 |
-
.brz-ed .brz-mb-lg-96{margin-bottom:96px!important}
|
4852 |
-
.brz-ed .brz-mb-lg-97{margin-bottom:97px!important}
|
4853 |
-
.brz-ed .brz-mb-lg-98{margin-bottom:98px!important}
|
4854 |
-
.brz-ed .brz-mb-lg-99{margin-bottom:99px!important}
|
4855 |
-
.brz-ed .brz-mb-lg-100{margin-bottom:100px!important}
|
4856 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-0{margin-top:0!important}
|
4857 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-1{margin-top:1px!important}
|
4858 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-2{margin-top:2px!important}
|
4859 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-3{margin-top:3px!important}
|
4860 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-4{margin-top:4px!important}
|
4861 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-5{margin-top:5px!important}
|
4862 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-6{margin-top:6px!important}
|
4863 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-7{margin-top:7px!important}
|
4864 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-8{margin-top:8px!important}
|
4865 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-9{margin-top:9px!important}
|
4866 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-10{margin-top:10px!important}
|
4867 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-11{margin-top:11px!important}
|
4868 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-12{margin-top:12px!important}
|
4869 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-13{margin-top:13px!important}
|
4870 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-14{margin-top:14px!important}
|
4871 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-15{margin-top:15px!important}
|
4872 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-16{margin-top:16px!important}
|
4873 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-17{margin-top:17px!important}
|
4874 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-18{margin-top:18px!important}
|
4875 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-19{margin-top:19px!important}
|
4876 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-20{margin-top:20px!important}
|
4877 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-21{margin-top:21px!important}
|
4878 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-22{margin-top:22px!important}
|
4879 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-23{margin-top:23px!important}
|
4880 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-24{margin-top:24px!important}
|
4881 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-25{margin-top:25px!important}
|
4882 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-26{margin-top:26px!important}
|
4883 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-27{margin-top:27px!important}
|
4884 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-28{margin-top:28px!important}
|
4885 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-29{margin-top:29px!important}
|
4886 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-30{margin-top:30px!important}
|
4887 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-31{margin-top:31px!important}
|
4888 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-32{margin-top:32px!important}
|
4889 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-33{margin-top:33px!important}
|
4890 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-34{margin-top:34px!important}
|
4891 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-35{margin-top:35px!important}
|
4892 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-36{margin-top:36px!important}
|
4893 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-37{margin-top:37px!important}
|
4894 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-38{margin-top:38px!important}
|
4895 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-39{margin-top:39px!important}
|
4896 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-40{margin-top:40px!important}
|
4897 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-41{margin-top:41px!important}
|
4898 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-42{margin-top:42px!important}
|
4899 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-43{margin-top:43px!important}
|
4900 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-44{margin-top:44px!important}
|
4901 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-45{margin-top:45px!important}
|
4902 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-46{margin-top:46px!important}
|
4903 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-47{margin-top:47px!important}
|
4904 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-48{margin-top:48px!important}
|
4905 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-49{margin-top:49px!important}
|
4906 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-50{margin-top:50px!important}
|
4907 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-51{margin-top:51px!important}
|
4908 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-52{margin-top:52px!important}
|
4909 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-53{margin-top:53px!important}
|
4910 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-54{margin-top:54px!important}
|
4911 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-55{margin-top:55px!important}
|
4912 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-56{margin-top:56px!important}
|
4913 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-57{margin-top:57px!important}
|
4914 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-58{margin-top:58px!important}
|
4915 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-59{margin-top:59px!important}
|
4916 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-60{margin-top:60px!important}
|
4917 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-61{margin-top:61px!important}
|
4918 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-62{margin-top:62px!important}
|
4919 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-63{margin-top:63px!important}
|
4920 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-64{margin-top:64px!important}
|
4921 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-65{margin-top:65px!important}
|
4922 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-66{margin-top:66px!important}
|
4923 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-67{margin-top:67px!important}
|
4924 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-68{margin-top:68px!important}
|
4925 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-69{margin-top:69px!important}
|
4926 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-70{margin-top:70px!important}
|
4927 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-71{margin-top:71px!important}
|
4928 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-72{margin-top:72px!important}
|
4929 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-73{margin-top:73px!important}
|
4930 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-74{margin-top:74px!important}
|
4931 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-75{margin-top:75px!important}
|
4932 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-76{margin-top:76px!important}
|
4933 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-77{margin-top:77px!important}
|
4934 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-78{margin-top:78px!important}
|
4935 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-79{margin-top:79px!important}
|
4936 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-80{margin-top:80px!important}
|
4937 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-81{margin-top:81px!important}
|
4938 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-82{margin-top:82px!important}
|
4939 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-83{margin-top:83px!important}
|
4940 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-84{margin-top:84px!important}
|
4941 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-85{margin-top:85px!important}
|
4942 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-86{margin-top:86px!important}
|
4943 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-87{margin-top:87px!important}
|
4944 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-88{margin-top:88px!important}
|
4945 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-89{margin-top:89px!important}
|
4946 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-90{margin-top:90px!important}
|
4947 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-91{margin-top:91px!important}
|
4948 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-92{margin-top:92px!important}
|
4949 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-93{margin-top:93px!important}
|
4950 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-94{margin-top:94px!important}
|
4951 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-95{margin-top:95px!important}
|
4952 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-96{margin-top:96px!important}
|
4953 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-97{margin-top:97px!important}
|
4954 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-98{margin-top:98px!important}
|
4955 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-99{margin-top:99px!important}
|
4956 |
-
.brz-ed.brz-ed--desktop .brz-mt-lg-100{margin-top:100px!important}
|
4957 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-0{margin-bottom:0!important}
|
4958 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-1{margin-bottom:1px!important}
|
4959 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-2{margin-bottom:2px!important}
|
4960 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-3{margin-bottom:3px!important}
|
4961 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-4{margin-bottom:4px!important}
|
4962 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-5{margin-bottom:5px!important}
|
4963 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-6{margin-bottom:6px!important}
|
4964 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-7{margin-bottom:7px!important}
|
4965 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-8{margin-bottom:8px!important}
|
4966 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-9{margin-bottom:9px!important}
|
4967 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-10{margin-bottom:10px!important}
|
4968 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-11{margin-bottom:11px!important}
|
4969 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-12{margin-bottom:12px!important}
|
4970 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-13{margin-bottom:13px!important}
|
4971 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-14{margin-bottom:14px!important}
|
4972 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-15{margin-bottom:15px!important}
|
4973 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-16{margin-bottom:16px!important}
|
4974 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-17{margin-bottom:17px!important}
|
4975 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-18{margin-bottom:18px!important}
|
4976 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-19{margin-bottom:19px!important}
|
4977 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-20{margin-bottom:20px!important}
|
4978 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-21{margin-bottom:21px!important}
|
4979 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-22{margin-bottom:22px!important}
|
4980 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-23{margin-bottom:23px!important}
|
4981 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-24{margin-bottom:24px!important}
|
4982 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-25{margin-bottom:25px!important}
|
4983 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-26{margin-bottom:26px!important}
|
4984 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-27{margin-bottom:27px!important}
|
4985 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-28{margin-bottom:28px!important}
|
4986 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-29{margin-bottom:29px!important}
|
4987 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-30{margin-bottom:30px!important}
|
4988 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-31{margin-bottom:31px!important}
|
4989 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-32{margin-bottom:32px!important}
|
4990 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-33{margin-bottom:33px!important}
|
4991 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-34{margin-bottom:34px!important}
|
4992 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-35{margin-bottom:35px!important}
|
4993 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-36{margin-bottom:36px!important}
|
4994 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-37{margin-bottom:37px!important}
|
4995 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-38{margin-bottom:38px!important}
|
4996 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-39{margin-bottom:39px!important}
|
4997 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-40{margin-bottom:40px!important}
|
4998 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-41{margin-bottom:41px!important}
|
4999 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-42{margin-bottom:42px!important}
|
5000 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-43{margin-bottom:43px!important}
|
5001 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-44{margin-bottom:44px!important}
|
5002 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-45{margin-bottom:45px!important}
|
5003 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-46{margin-bottom:46px!important}
|
5004 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-47{margin-bottom:47px!important}
|
5005 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-48{margin-bottom:48px!important}
|
5006 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-49{margin-bottom:49px!important}
|
5007 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-50{margin-bottom:50px!important}
|
5008 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-51{margin-bottom:51px!important}
|
5009 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-52{margin-bottom:52px!important}
|
5010 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-53{margin-bottom:53px!important}
|
5011 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-54{margin-bottom:54px!important}
|
5012 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-55{margin-bottom:55px!important}
|
5013 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-56{margin-bottom:56px!important}
|
5014 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-57{margin-bottom:57px!important}
|
5015 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-58{margin-bottom:58px!important}
|
5016 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-59{margin-bottom:59px!important}
|
5017 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-60{margin-bottom:60px!important}
|
5018 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-61{margin-bottom:61px!important}
|
5019 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-62{margin-bottom:62px!important}
|
5020 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-63{margin-bottom:63px!important}
|
5021 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-64{margin-bottom:64px!important}
|
5022 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-65{margin-bottom:65px!important}
|
5023 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-66{margin-bottom:66px!important}
|
5024 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-67{margin-bottom:67px!important}
|
5025 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-68{margin-bottom:68px!important}
|
5026 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-69{margin-bottom:69px!important}
|
5027 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-70{margin-bottom:70px!important}
|
5028 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-71{margin-bottom:71px!important}
|
5029 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-72{margin-bottom:72px!important}
|
5030 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-73{margin-bottom:73px!important}
|
5031 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-74{margin-bottom:74px!important}
|
5032 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-75{margin-bottom:75px!important}
|
5033 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-76{margin-bottom:76px!important}
|
5034 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-77{margin-bottom:77px!important}
|
5035 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-78{margin-bottom:78px!important}
|
5036 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-79{margin-bottom:79px!important}
|
5037 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-80{margin-bottom:80px!important}
|
5038 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-81{margin-bottom:81px!important}
|
5039 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-82{margin-bottom:82px!important}
|
5040 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-83{margin-bottom:83px!important}
|
5041 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-84{margin-bottom:84px!important}
|
5042 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-85{margin-bottom:85px!important}
|
5043 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-86{margin-bottom:86px!important}
|
5044 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-87{margin-bottom:87px!important}
|
5045 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-88{margin-bottom:88px!important}
|
5046 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-89{margin-bottom:89px!important}
|
5047 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-90{margin-bottom:90px!important}
|
5048 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-91{margin-bottom:91px!important}
|
5049 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-92{margin-bottom:92px!important}
|
5050 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-93{margin-bottom:93px!important}
|
5051 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-94{margin-bottom:94px!important}
|
5052 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-95{margin-bottom:95px!important}
|
5053 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-96{margin-bottom:96px!important}
|
5054 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-97{margin-bottom:97px!important}
|
5055 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-98{margin-bottom:98px!important}
|
5056 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-99{margin-bottom:99px!important}
|
5057 |
-
.brz-ed.brz-ed--desktop .brz-mb-lg-100{margin-bottom:100px!important}
|
5058 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-0{margin-top:0!important}
|
5059 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-1{margin-top:1px!important}
|
5060 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-2{margin-top:2px!important}
|
5061 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-3{margin-top:3px!important}
|
5062 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-4{margin-top:4px!important}
|
5063 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-5{margin-top:5px!important}
|
5064 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-6{margin-top:6px!important}
|
5065 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-7{margin-top:7px!important}
|
5066 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-8{margin-top:8px!important}
|
5067 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-9{margin-top:9px!important}
|
5068 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-10{margin-top:10px!important}
|
5069 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-11{margin-top:11px!important}
|
5070 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-12{margin-top:12px!important}
|
5071 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-13{margin-top:13px!important}
|
5072 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-14{margin-top:14px!important}
|
5073 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-15{margin-top:15px!important}
|
5074 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-16{margin-top:16px!important}
|
5075 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-17{margin-top:17px!important}
|
5076 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-18{margin-top:18px!important}
|
5077 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-19{margin-top:19px!important}
|
5078 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-20{margin-top:20px!important}
|
5079 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-21{margin-top:21px!important}
|
5080 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-22{margin-top:22px!important}
|
5081 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-23{margin-top:23px!important}
|
5082 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-24{margin-top:24px!important}
|
5083 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-25{margin-top:25px!important}
|
5084 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-26{margin-top:26px!important}
|
5085 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-27{margin-top:27px!important}
|
5086 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-28{margin-top:28px!important}
|
5087 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-29{margin-top:29px!important}
|
5088 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-30{margin-top:30px!important}
|
5089 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-31{margin-top:31px!important}
|
5090 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-32{margin-top:32px!important}
|
5091 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-33{margin-top:33px!important}
|
5092 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-34{margin-top:34px!important}
|
5093 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-35{margin-top:35px!important}
|
5094 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-36{margin-top:36px!important}
|
5095 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-37{margin-top:37px!important}
|
5096 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-38{margin-top:38px!important}
|
5097 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-39{margin-top:39px!important}
|
5098 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-40{margin-top:40px!important}
|
5099 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-41{margin-top:41px!important}
|
5100 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-42{margin-top:42px!important}
|
5101 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-43{margin-top:43px!important}
|
5102 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-44{margin-top:44px!important}
|
5103 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-45{margin-top:45px!important}
|
5104 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-46{margin-top:46px!important}
|
5105 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-47{margin-top:47px!important}
|
5106 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-48{margin-top:48px!important}
|
5107 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-49{margin-top:49px!important}
|
5108 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-50{margin-top:50px!important}
|
5109 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-51{margin-top:51px!important}
|
5110 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-52{margin-top:52px!important}
|
5111 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-53{margin-top:53px!important}
|
5112 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-54{margin-top:54px!important}
|
5113 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-55{margin-top:55px!important}
|
5114 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-56{margin-top:56px!important}
|
5115 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-57{margin-top:57px!important}
|
5116 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-58{margin-top:58px!important}
|
5117 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-59{margin-top:59px!important}
|
5118 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-60{margin-top:60px!important}
|
5119 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-61{margin-top:61px!important}
|
5120 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-62{margin-top:62px!important}
|
5121 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-63{margin-top:63px!important}
|
5122 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-64{margin-top:64px!important}
|
5123 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-65{margin-top:65px!important}
|
5124 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-66{margin-top:66px!important}
|
5125 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-67{margin-top:67px!important}
|
5126 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-68{margin-top:68px!important}
|
5127 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-69{margin-top:69px!important}
|
5128 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-70{margin-top:70px!important}
|
5129 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-71{margin-top:71px!important}
|
5130 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-72{margin-top:72px!important}
|
5131 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-73{margin-top:73px!important}
|
5132 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-74{margin-top:74px!important}
|
5133 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-75{margin-top:75px!important}
|
5134 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-76{margin-top:76px!important}
|
5135 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-77{margin-top:77px!important}
|
5136 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-78{margin-top:78px!important}
|
5137 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-79{margin-top:79px!important}
|
5138 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-80{margin-top:80px!important}
|
5139 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-81{margin-top:81px!important}
|
5140 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-82{margin-top:82px!important}
|
5141 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-83{margin-top:83px!important}
|
5142 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-84{margin-top:84px!important}
|
5143 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-85{margin-top:85px!important}
|
5144 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-86{margin-top:86px!important}
|
5145 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-87{margin-top:87px!important}
|
5146 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-88{margin-top:88px!important}
|
5147 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-89{margin-top:89px!important}
|
5148 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-90{margin-top:90px!important}
|
5149 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-91{margin-top:91px!important}
|
5150 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-92{margin-top:92px!important}
|
5151 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-93{margin-top:93px!important}
|
5152 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-94{margin-top:94px!important}
|
5153 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-95{margin-top:95px!important}
|
5154 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-96{margin-top:96px!important}
|
5155 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-97{margin-top:97px!important}
|
5156 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-98{margin-top:98px!important}
|
5157 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-99{margin-top:99px!important}
|
5158 |
-
.brz-ed.brz-ed--tablet .brz-mt-sm-100{margin-top:100px!important}
|
5159 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-0{margin-bottom:0!important}
|
5160 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-1{margin-bottom:1px!important}
|
5161 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-2{margin-bottom:2px!important}
|
5162 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-3{margin-bottom:3px!important}
|
5163 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-4{margin-bottom:4px!important}
|
5164 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-5{margin-bottom:5px!important}
|
5165 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-6{margin-bottom:6px!important}
|
5166 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-7{margin-bottom:7px!important}
|
5167 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-8{margin-bottom:8px!important}
|
5168 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-9{margin-bottom:9px!important}
|
5169 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-10{margin-bottom:10px!important}
|
5170 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-11{margin-bottom:11px!important}
|
5171 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-12{margin-bottom:12px!important}
|
5172 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-13{margin-bottom:13px!important}
|
5173 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-14{margin-bottom:14px!important}
|
5174 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-15{margin-bottom:15px!important}
|
5175 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-16{margin-bottom:16px!important}
|
5176 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-17{margin-bottom:17px!important}
|
5177 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-18{margin-bottom:18px!important}
|
5178 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-19{margin-bottom:19px!important}
|
5179 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-20{margin-bottom:20px!important}
|
5180 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-21{margin-bottom:21px!important}
|
5181 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-22{margin-bottom:22px!important}
|
5182 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-23{margin-bottom:23px!important}
|
5183 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-24{margin-bottom:24px!important}
|
5184 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-25{margin-bottom:25px!important}
|
5185 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-26{margin-bottom:26px!important}
|
5186 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-27{margin-bottom:27px!important}
|
5187 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-28{margin-bottom:28px!important}
|
5188 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-29{margin-bottom:29px!important}
|
5189 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-30{margin-bottom:30px!important}
|
5190 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-31{margin-bottom:31px!important}
|
5191 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-32{margin-bottom:32px!important}
|
5192 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-33{margin-bottom:33px!important}
|
5193 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-34{margin-bottom:34px!important}
|
5194 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-35{margin-bottom:35px!important}
|
5195 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-36{margin-bottom:36px!important}
|
5196 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-37{margin-bottom:37px!important}
|
5197 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-38{margin-bottom:38px!important}
|
5198 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-39{margin-bottom:39px!important}
|
5199 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-40{margin-bottom:40px!important}
|
5200 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-41{margin-bottom:41px!important}
|
5201 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-42{margin-bottom:42px!important}
|
5202 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-43{margin-bottom:43px!important}
|
5203 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-44{margin-bottom:44px!important}
|
5204 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-45{margin-bottom:45px!important}
|
5205 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-46{margin-bottom:46px!important}
|
5206 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-47{margin-bottom:47px!important}
|
5207 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-48{margin-bottom:48px!important}
|
5208 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-49{margin-bottom:49px!important}
|
5209 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-50{margin-bottom:50px!important}
|
5210 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-51{margin-bottom:51px!important}
|
5211 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-52{margin-bottom:52px!important}
|
5212 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-53{margin-bottom:53px!important}
|
5213 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-54{margin-bottom:54px!important}
|
5214 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-55{margin-bottom:55px!important}
|
5215 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-56{margin-bottom:56px!important}
|
5216 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-57{margin-bottom:57px!important}
|
5217 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-58{margin-bottom:58px!important}
|
5218 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-59{margin-bottom:59px!important}
|
5219 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-60{margin-bottom:60px!important}
|
5220 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-61{margin-bottom:61px!important}
|
5221 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-62{margin-bottom:62px!important}
|
5222 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-63{margin-bottom:63px!important}
|
5223 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-64{margin-bottom:64px!important}
|
5224 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-65{margin-bottom:65px!important}
|
5225 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-66{margin-bottom:66px!important}
|
5226 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-67{margin-bottom:67px!important}
|
5227 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-68{margin-bottom:68px!important}
|
5228 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-69{margin-bottom:69px!important}
|
5229 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-70{margin-bottom:70px!important}
|
5230 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-71{margin-bottom:71px!important}
|
5231 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-72{margin-bottom:72px!important}
|
5232 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-73{margin-bottom:73px!important}
|
5233 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-74{margin-bottom:74px!important}
|
5234 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-75{margin-bottom:75px!important}
|
5235 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-76{margin-bottom:76px!important}
|
5236 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-77{margin-bottom:77px!important}
|
5237 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-78{margin-bottom:78px!important}
|
5238 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-79{margin-bottom:79px!important}
|
5239 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-80{margin-bottom:80px!important}
|
5240 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-81{margin-bottom:81px!important}
|
5241 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-82{margin-bottom:82px!important}
|
5242 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-83{margin-bottom:83px!important}
|
5243 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-84{margin-bottom:84px!important}
|
5244 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-85{margin-bottom:85px!important}
|
5245 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-86{margin-bottom:86px!important}
|
5246 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-87{margin-bottom:87px!important}
|
5247 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-88{margin-bottom:88px!important}
|
5248 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-89{margin-bottom:89px!important}
|
5249 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-90{margin-bottom:90px!important}
|
5250 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-91{margin-bottom:91px!important}
|
5251 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-92{margin-bottom:92px!important}
|
5252 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-93{margin-bottom:93px!important}
|
5253 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-94{margin-bottom:94px!important}
|
5254 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-95{margin-bottom:95px!important}
|
5255 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-96{margin-bottom:96px!important}
|
5256 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-97{margin-bottom:97px!important}
|
5257 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-98{margin-bottom:98px!important}
|
5258 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-99{margin-bottom:99px!important}
|
5259 |
-
.brz-ed.brz-ed--tablet .brz-mb-sm-100{margin-bottom:100px!important}
|
5260 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-0{margin-top:0!important}
|
5261 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-1{margin-top:1px!important}
|
5262 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-2{margin-top:2px!important}
|
5263 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-3{margin-top:3px!important}
|
5264 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-4{margin-top:4px!important}
|
5265 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-5{margin-top:5px!important}
|
5266 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-6{margin-top:6px!important}
|
5267 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-7{margin-top:7px!important}
|
5268 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-8{margin-top:8px!important}
|
5269 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-9{margin-top:9px!important}
|
5270 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-10{margin-top:10px!important}
|
5271 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-11{margin-top:11px!important}
|
5272 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-12{margin-top:12px!important}
|
5273 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-13{margin-top:13px!important}
|
5274 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-14{margin-top:14px!important}
|
5275 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-15{margin-top:15px!important}
|
5276 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-16{margin-top:16px!important}
|
5277 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-17{margin-top:17px!important}
|
5278 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-18{margin-top:18px!important}
|
5279 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-19{margin-top:19px!important}
|
5280 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-20{margin-top:20px!important}
|
5281 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-21{margin-top:21px!important}
|
5282 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-22{margin-top:22px!important}
|
5283 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-23{margin-top:23px!important}
|
5284 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-24{margin-top:24px!important}
|
5285 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-25{margin-top:25px!important}
|
5286 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-26{margin-top:26px!important}
|
5287 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-27{margin-top:27px!important}
|
5288 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-28{margin-top:28px!important}
|
5289 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-29{margin-top:29px!important}
|
5290 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-30{margin-top:30px!important}
|
5291 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-31{margin-top:31px!important}
|
5292 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-32{margin-top:32px!important}
|
5293 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-33{margin-top:33px!important}
|
5294 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-34{margin-top:34px!important}
|
5295 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-35{margin-top:35px!important}
|
5296 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-36{margin-top:36px!important}
|
5297 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-37{margin-top:37px!important}
|
5298 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-38{margin-top:38px!important}
|
5299 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-39{margin-top:39px!important}
|
5300 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-40{margin-top:40px!important}
|
5301 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-41{margin-top:41px!important}
|
5302 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-42{margin-top:42px!important}
|
5303 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-43{margin-top:43px!important}
|
5304 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-44{margin-top:44px!important}
|
5305 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-45{margin-top:45px!important}
|
5306 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-46{margin-top:46px!important}
|
5307 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-47{margin-top:47px!important}
|
5308 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-48{margin-top:48px!important}
|
5309 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-49{margin-top:49px!important}
|
5310 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-50{margin-top:50px!important}
|
5311 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-51{margin-top:51px!important}
|
5312 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-52{margin-top:52px!important}
|
5313 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-53{margin-top:53px!important}
|
5314 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-54{margin-top:54px!important}
|
5315 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-55{margin-top:55px!important}
|
5316 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-56{margin-top:56px!important}
|
5317 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-57{margin-top:57px!important}
|
5318 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-58{margin-top:58px!important}
|
5319 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-59{margin-top:59px!important}
|
5320 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-60{margin-top:60px!important}
|
5321 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-61{margin-top:61px!important}
|
5322 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-62{margin-top:62px!important}
|
5323 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-63{margin-top:63px!important}
|
5324 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-64{margin-top:64px!important}
|
5325 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-65{margin-top:65px!important}
|
5326 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-66{margin-top:66px!important}
|
5327 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-67{margin-top:67px!important}
|
5328 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-68{margin-top:68px!important}
|
5329 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-69{margin-top:69px!important}
|
5330 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-70{margin-top:70px!important}
|
5331 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-71{margin-top:71px!important}
|
5332 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-72{margin-top:72px!important}
|
5333 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-73{margin-top:73px!important}
|
5334 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-74{margin-top:74px!important}
|
5335 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-75{margin-top:75px!important}
|
5336 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-76{margin-top:76px!important}
|
5337 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-77{margin-top:77px!important}
|
5338 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-78{margin-top:78px!important}
|
5339 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-79{margin-top:79px!important}
|
5340 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-80{margin-top:80px!important}
|
5341 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-81{margin-top:81px!important}
|
5342 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-82{margin-top:82px!important}
|
5343 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-83{margin-top:83px!important}
|
5344 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-84{margin-top:84px!important}
|
5345 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-85{margin-top:85px!important}
|
5346 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-86{margin-top:86px!important}
|
5347 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-87{margin-top:87px!important}
|
5348 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-88{margin-top:88px!important}
|
5349 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-89{margin-top:89px!important}
|
5350 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-90{margin-top:90px!important}
|
5351 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-91{margin-top:91px!important}
|
5352 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-92{margin-top:92px!important}
|
5353 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-93{margin-top:93px!important}
|
5354 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-94{margin-top:94px!important}
|
5355 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-95{margin-top:95px!important}
|
5356 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-96{margin-top:96px!important}
|
5357 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-97{margin-top:97px!important}
|
5358 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-98{margin-top:98px!important}
|
5359 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-99{margin-top:99px!important}
|
5360 |
-
.brz-ed.brz-ed--mobile .brz-mt-xs-100{margin-top:100px!important}
|
5361 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-0{margin-bottom:0!important}
|
5362 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-1{margin-bottom:1px!important}
|
5363 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-2{margin-bottom:2px!important}
|
5364 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-3{margin-bottom:3px!important}
|
5365 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-4{margin-bottom:4px!important}
|
5366 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-5{margin-bottom:5px!important}
|
5367 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-6{margin-bottom:6px!important}
|
5368 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-7{margin-bottom:7px!important}
|
5369 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-8{margin-bottom:8px!important}
|
5370 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-9{margin-bottom:9px!important}
|
5371 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-10{margin-bottom:10px!important}
|
5372 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-11{margin-bottom:11px!important}
|
5373 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-12{margin-bottom:12px!important}
|
5374 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-13{margin-bottom:13px!important}
|
5375 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-14{margin-bottom:14px!important}
|
5376 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-15{margin-bottom:15px!important}
|
5377 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-16{margin-bottom:16px!important}
|
5378 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-17{margin-bottom:17px!important}
|
5379 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-18{margin-bottom:18px!important}
|
5380 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-19{margin-bottom:19px!important}
|
5381 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-20{margin-bottom:20px!important}
|
5382 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-21{margin-bottom:21px!important}
|
5383 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-22{margin-bottom:22px!important}
|
5384 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-23{margin-bottom:23px!important}
|
5385 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-24{margin-bottom:24px!important}
|
5386 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-25{margin-bottom:25px!important}
|
5387 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-26{margin-bottom:26px!important}
|
5388 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-27{margin-bottom:27px!important}
|
5389 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-28{margin-bottom:28px!important}
|
5390 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-29{margin-bottom:29px!important}
|
5391 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-30{margin-bottom:30px!important}
|
5392 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-31{margin-bottom:31px!important}
|
5393 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-32{margin-bottom:32px!important}
|
5394 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-33{margin-bottom:33px!important}
|
5395 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-34{margin-bottom:34px!important}
|
5396 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-35{margin-bottom:35px!important}
|
5397 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-36{margin-bottom:36px!important}
|
5398 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-37{margin-bottom:37px!important}
|
5399 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-38{margin-bottom:38px!important}
|
5400 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-39{margin-bottom:39px!important}
|
5401 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-40{margin-bottom:40px!important}
|
5402 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-41{margin-bottom:41px!important}
|
5403 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-42{margin-bottom:42px!important}
|
5404 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-43{margin-bottom:43px!important}
|
5405 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-44{margin-bottom:44px!important}
|
5406 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-45{margin-bottom:45px!important}
|
5407 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-46{margin-bottom:46px!important}
|
5408 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-47{margin-bottom:47px!important}
|
5409 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-48{margin-bottom:48px!important}
|
5410 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-49{margin-bottom:49px!important}
|
5411 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-50{margin-bottom:50px!important}
|
5412 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-51{margin-bottom:51px!important}
|
5413 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-52{margin-bottom:52px!important}
|
5414 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-53{margin-bottom:53px!important}
|
5415 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-54{margin-bottom:54px!important}
|
5416 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-55{margin-bottom:55px!important}
|
5417 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-56{margin-bottom:56px!important}
|
5418 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-57{margin-bottom:57px!important}
|
5419 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-58{margin-bottom:58px!important}
|
5420 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-59{margin-bottom:59px!important}
|
5421 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-60{margin-bottom:60px!important}
|
5422 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-61{margin-bottom:61px!important}
|
5423 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-62{margin-bottom:62px!important}
|
5424 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-63{margin-bottom:63px!important}
|
5425 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-64{margin-bottom:64px!important}
|
5426 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-65{margin-bottom:65px!important}
|
5427 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-66{margin-bottom:66px!important}
|
5428 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-67{margin-bottom:67px!important}
|
5429 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-68{margin-bottom:68px!important}
|
5430 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-69{margin-bottom:69px!important}
|
5431 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-70{margin-bottom:70px!important}
|
5432 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-71{margin-bottom:71px!important}
|
5433 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-72{margin-bottom:72px!important}
|
5434 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-73{margin-bottom:73px!important}
|
5435 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-74{margin-bottom:74px!important}
|
5436 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-75{margin-bottom:75px!important}
|
5437 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-76{margin-bottom:76px!important}
|
5438 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-77{margin-bottom:77px!important}
|
5439 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-78{margin-bottom:78px!important}
|
5440 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-79{margin-bottom:79px!important}
|
5441 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-80{margin-bottom:80px!important}
|
5442 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-81{margin-bottom:81px!important}
|
5443 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-82{margin-bottom:82px!important}
|
5444 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-83{margin-bottom:83px!important}
|
5445 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-84{margin-bottom:84px!important}
|
5446 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-85{margin-bottom:85px!important}
|
5447 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-86{margin-bottom:86px!important}
|
5448 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-87{margin-bottom:87px!important}
|
5449 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-88{margin-bottom:88px!important}
|
5450 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-89{margin-bottom:89px!important}
|
5451 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-90{margin-bottom:90px!important}
|
5452 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-91{margin-bottom:91px!important}
|
5453 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-92{margin-bottom:92px!important}
|
5454 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-93{margin-bottom:93px!important}
|
5455 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-94{margin-bottom:94px!important}
|
5456 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-95{margin-bottom:95px!important}
|
5457 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-96{margin-bottom:96px!important}
|
5458 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-97{margin-bottom:97px!important}
|
5459 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-98{margin-bottom:98px!important}
|
5460 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-99{margin-bottom:99px!important}
|
5461 |
-
.brz-ed.brz-ed--mobile .brz-mb-xs-100{margin-bottom:100px!important}
|
5462 |
-
.brz-ed .brz-text-lg-left{text-align:left!important;-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}
|
5463 |
-
.brz-ed .brz-text-lg-right{text-align:right!important;-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}
|
5464 |
-
.brz-ed .brz-text-lg-center{text-align:center!important;-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}
|
5465 |
-
.brz-ed .brz-text-lg-justify{text-align:justify!important}
|
5466 |
-
.brz-ed.brz-ed--desktop .brz-text-lg-left{text-align:left!important;-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}
|
5467 |
-
.brz-ed.brz-ed--desktop .brz-text-lg-right{text-align:right!important;-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}
|
5468 |
-
.brz-ed.brz-ed--desktop .brz-text-lg-center{text-align:center!important;-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}
|
5469 |
-
.brz-ed.brz-ed--desktop .brz-text-lg-justify{text-align:justify!important}
|
5470 |
-
.brz-ed.brz-ed--tablet .brz-text-sm-left{text-align:left!important;-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}
|
5471 |
-
.brz-ed.brz-ed--tablet .brz-text-sm-right{text-align:right!important;-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}
|
5472 |
-
.brz-ed.brz-ed--tablet .brz-text-sm-center{text-align:center!important;-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}
|
5473 |
-
.brz-ed.brz-ed--tablet .brz-text-sm-justify{text-align:justify!important}
|
5474 |
-
.brz-ed.brz-ed--mobile .brz-text-xs-left{text-align:left!important;-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}
|
5475 |
-
.brz-ed.brz-ed--mobile .brz-text-xs-right{text-align:right!important;-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}
|
5476 |
-
.brz-ed.brz-ed--mobile .brz-text-xs-center{text-align:center!important;-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}
|
5477 |
-
.brz-ed.brz-ed--mobile .brz-text-xs-justify{text-align:justify!important}
|
5478 |
-
.brz-ed .brz-ed-arrow{position:absolute;top:-6px;height:12px;left:50%;margin-left:-6px}
|
5479 |
-
.brz-ed .brz-ed-arrow:after{content:"";display:block;border-bottom:6px solid rgba(3,8,15,.92);border-left:6px solid transparent;border-right:6px solid transparent}
|
5480 |
-
.brz-ed .brz-ed-arrow--top,.brz-ed .brz-ed-arrow--top-center,.brz-ed .brz-ed-arrow--top-end,.brz-ed .brz-ed-arrow--top-left,.brz-ed .brz-ed-arrow--top-right,.brz-ed .brz-ed-arrow--top-start{top:auto;bottom:-12px}
|
5481 |
-
.brz-ed .brz-ed-arrow--top-center:after,.brz-ed .brz-ed-arrow--top-end:after,.brz-ed .brz-ed-arrow--top-left:after,.brz-ed .brz-ed-arrow--top-right:after,.brz-ed .brz-ed-arrow--top-start:after,.brz-ed .brz-ed-arrow--top:after{border-top:6px solid rgba(3,8,15,.92);border-bottom:6px solid transparent}
|
5482 |
-
.brz-ed .brz-ed-arrow--left,.brz-ed .brz-ed-arrow--left-end,.brz-ed .brz-ed-arrow--left-start{left:unset;right:-6px;-webkit-transform:rotate(90deg);transform:rotate(90deg)}
|
5483 |
-
.brz-ed .brz-ed-arrow--right,.brz-ed .brz-ed-arrow--right-end,.brz-ed .brz-ed-arrow--right-start{left:-6px;-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}
|
5484 |
-
.brz-ed .brz-ed-animated{-webkit-animation-duration:.15s;animation-duration:.15s;-webkit-animation-fill-mode:both;animation-fill-mode:both}
|
5485 |
-
.brz-ed .brz-ed-animated--fadeInDown{-webkit-animation-name:brz-ed-fadeInDown;animation-name:brz-ed-fadeInDown}
|
5486 |
-
.brz-ed .brz-ed-animated--fadeInUp{-webkit-animation-name:brz-ed-fadeInUp;animation-name:brz-ed-fadeInUp}
|
5487 |
-
.brz-ed .brz-ed-animated--fadeIn{-webkit-animation-name:brz-ed-fadeIn;animation-name:brz-ed-fadeIn}
|
5488 |
-
.brz-ed .brz-ed-animated--fadeInLeft{-webkit-animation-name:brz-ed-fadeInLeft;animation-name:brz-ed-fadeInLeft}
|
5489 |
-
.brz-ed .brz-ed-animated--spin{-webkit-animation-name:brz-ed-spin;animation-name:brz-ed-spin;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:linear;animation-timing-function:linear}
|
5490 |
-
.brz-ed .brz-ed-fade-enter{opacity:.01}
|
5491 |
-
.brz-ed .brz-ed-fade-enter.brz-ed-fade-enter-active{opacity:1;-webkit-transition:opacity 150ms ease-in;transition:opacity 150ms ease-in}
|
5492 |
-
.brz-ed .brz-ed-fade-exit{opacity:1}
|
5493 |
-
.brz-ed .brz-ed-fade-exit.brz-ed-fade-exit-active{opacity:.01;-webkit-transition:opacity 150ms ease-in;transition:opacity 150ms ease-in}
|
5494 |
-
.brz-ed .brz-animated{-webkit-animation-fill-mode:none;animation-fill-mode:none}
|
5495 |
-
.brz-ed .brz-ed-btn{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:1px solid transparent;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;white-space:nowrap;-webkit-transition:all .3s ease;transition:all .3s ease;text-decoration:none;font-family:nunito,"Open Sans",Arial,sans-serif;font-size:14px;padding:12px 18px;line-height:1;outline:0}
|
5496 |
-
.brz-ed .brz-ed-btn:active{outline:0;background-image:none}
|
5497 |
-
.brz-ed .brz-ed-btn:focus{outline:0}
|
5498 |
-
.brz-ed .brz-ed-btn-icon .brz-icon-svg{margin-left:10px;vertical-align:middle}
|
5499 |
-
.brz-ed .brz-ed-btn-icon span{display:inline-block;vertical-align:middle}
|
5500 |
-
.brz-ed .brz-ed-btn-icon--left .brz-icon-svg{margin-left:0;margin-right:10px}
|
5501 |
-
.brz-ed .brz-ed-btn--loading{pointer-events:none!important;-webkit-transition:none;transition:none}
|
5502 |
-
.brz-ed .brz-ed-btn--loading .brz-icon-svg{margin:0;-webkit-animation-name:spin;animation-name:spin;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:linear;animation-timing-function:linear}
|
5503 |
-
.brz-ed .brz-ed-btn--disabled{pointer-events:none!important;color:#fff!important;background-color:rgba(41,46,55,.5)!important;border-color:transparent!important}
|
5504 |
-
.brz-ed .brz-ed-btn-rounded{border-radius:3px}
|
5505 |
-
.brz-ed .brz-ed-btn-round{border-radius:100px}
|
5506 |
-
.brz-ed .brz-ed-btn-sm{padding:11px 17px;font-size:14px}
|
5507 |
-
.brz-ed .brz-ed-btn-sm.brz-ed-btn-icon .brz-icon-svg{font-size:12px}
|
5508 |
-
.brz-ed .brz-ed-btn-sm.brz-ed-btn--loading{font-size:16px;padding-top:10px;padding-bottom:10px}
|
5509 |
-
.brz-ed .brz-ed-btn-xs{font-size:10px;padding:9px 18px}
|
5510 |
-
.brz-ed .brz-ed-btn-xs-2{font-size:13px;padding:6px 18px;line-height:1.1}
|
5511 |
-
.brz-ed .brz-ed-btn-full{width:100%}
|
5512 |
-
.brz-ed .brz-ed-btn-width-1{min-width:130px}
|
5513 |
-
.brz-ed .brz-ed-btn-width-2{min-width:176px}
|
5514 |
-
.brz-ed .brz-ed-btn-width-3{min-width:102px}
|
5515 |
-
.brz-ed .brz-ed-btn-default{border-color:transparent;background-color:transparent;color:#626b70}
|
5516 |
-
.brz-ed .brz-ed-btn-default:hover{border-color:transparent;background-color:transparent}
|
5517 |
-
.brz-ed .brz-ed-btn-dark{border-color:#3b474b;background-color:#3b474b;color:#fff}
|
5518 |
-
.brz-ed .brz-ed-btn-dark:hover{border-color:#283337;background-color:#283337}
|
5519 |
-
.brz-ed .brz-ed-btn-dark-outline{color:#3b474b;border-color:#3b474b;background-color:#fff}
|
5520 |
-
.brz-ed .brz-ed-btn-dark-outline:hover{background-color:#3b474b;color:#fff!important}
|
5521 |
-
.brz-ed .brz-ed-btn-teal{border-color:#3dbfe8!important;background-color:#3dbfe8!important;color:#fff!important}
|
5522 |
-
.brz-ed .brz-ed-btn-teal:hover{border-color:#35a9d6!important;background-color:#35a9d6!important}
|
5523 |
-
.brz-ed .brz-ed-btn-teal-outline{color:#34beea;border-color:#34beea;background-color:transparent}
|
5524 |
-
.brz-ed .brz-ed-btn-teal-outline:focus,.brz-ed .brz-ed-btn-teal-outline:hover{background-color:#34beea;color:#fff!important}
|
5525 |
-
.brz-ed .brz-ed-btn-blue{border-color:#0085ba!important;background-color:#0085ba!important;color:#fff!important}
|
5526 |
-
.brz-ed .brz-ed-btn-blue:hover{border-color:#0092cc!important;background-color:#0092cc!important}
|
5527 |
-
.brz-ed .brz-ed-btn-green{border-color:#8dc63f;background-color:#8dc63f;color:#fff!important}
|
5528 |
-
.brz-ed .brz-ed-btn-green:focus,.brz-ed .brz-ed-btn-green:hover{border-color:#8dc63f;background-color:#8dc63f}
|
5529 |
-
.brz-ed .brz-ed-btn-green-outline{color:#8dc63f;border-color:#8dc63f;background-color:transparent}
|
5530 |
-
.brz-ed .brz-ed-btn-green-outline:hover{background-color:#8dc63f;color:#fff!important}
|
5531 |
-
.brz-ed .brz-ed-btn-gray{border-color:transparent;background-color:rgba(41,46,55,.5);color:#fff!important}
|
5532 |
-
.brz-ed .brz-ed-btn-gray:focus,.brz-ed .brz-ed-btn-gray:hover{border-color:transparent;background-color:rgba(41,46,55,.5)}
|
5533 |
-
.brz-ed .brz-ed-btn-gray-outline{color:rgba(41,46,55,.5);border-color:rgba(41,46,55,.5);background-color:transparent}
|
5534 |
-
.brz-ed .brz-ed-btn-gray-outline:hover{background-color:rgba(41,46,55,.5);color:#fff!important}
|
5535 |
-
.brz-ed .brz-ed-btn-red{border-color:#ed2164;background-color:#ed2164;color:#fff!important}
|
5536 |
-
.brz-ed .brz-ed-btn-red:focus,.brz-ed .brz-ed-btn-red:hover{border-color:transparent;background-color:#df3c3c}
|
5537 |
-
.brz-ed .brz-ed-btn-red-outline{color:#df3c3c;border-color:#df3c3c;background-color:transparent}
|
5538 |
-
.brz-ed .brz-ed-btn-red-outline:hover{background-color:#df3c3c;color:#fff!important}
|
5539 |
-
.brz-ed .brz-ed-btn-pro{border-color:transparent;background-color:#d62c64;color:#fff;font-size:14px;font-weight:600}
|
5540 |
-
.brz-ed .brz-ed-btn-pro:focus,.brz-ed .brz-ed-btn-pro:hover{border-color:transparent;background-color:rgba(214,44,100,.8)}
|
5541 |
-
.brz-ed .brz-ed-btn-teal--hover:hover{border-color:#3dbfe8!important;background-color:#3dbfe8!important}
|
5542 |
-
.brz-ed .brz-ed-btn-red--hover:hover{border-color:#ed2164!important;background-color:#ed2164!important}
|
5543 |
-
.brz-ed .brz-ed-alert{font:600 14px/18px nunito,"Open Sans",Arial,sans-serif;background-color:#f2f2f2;padding:12px 15px;margin:0 0 20px}
|
5544 |
-
.brz-ed .brz-ed-alert-error{border-left:4px solid #df3c3c;color:#df3c3c;background-color:rgba(223,60,60,.1)}
|
5545 |
-
.brz-ed .brz-ed-alert-error .brz-span{color:#df3c3c!important}
|
5546 |
-
.brz-ed .brz-ed-alert-success{border-left:4px solid #6ab504;color:#6ab504;background-color:#eff5e8}
|
5547 |
-
.brz-ed .brz-ed-alert-success .brz-span{color:#6ab504!important}
|
5548 |
-
.brz-ed .brz-ed-alert-info{border-left:4px solid #47a9c8;color:#656b6f;background-color:#eff9fd}
|
5549 |
-
.brz-ed .brz-ed-alert-info .popup-icon-info{float:left;margin:0 15px 5px 0;color:#47a9c8;border-color:#47a9c8}
|
5550 |
-
.brz-ed .brz-ed-alert-info .brz-span{color:#47a9c8!important}
|
5551 |
-
.brz-ed .popup-icon-info{font-family:nunito,"Open Sans",Arial,sans-serif;display:inline-block;border:2px solid #ccc;color:#ccc;width:32px;height:32px;text-align:center;line-height:32px;font-size:18px;border-radius:50%;margin-bottom:10px}
|
5552 |
-
.brz-ed .brz-ed-alert-pro{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;color:#d62c64;background-color:#e0e1e2;padding:21px 36px}
|
5553 |
-
.brz-ed .brz-ed-rotate--180{-webkit-transform:rotate(-180deg);transform:rotate(-180deg)}
|
5554 |
-
.brz-ed .brz-ed-rotate--90{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}
|
5555 |
-
.brz-ed .brz-ed-badge{font-family:nunito,"Open Sans",Arial,sans-serif;font-size:9px;font-weight:600;color:#fff;background-color:#3dbfe8;border-radius:4px;text-transform:uppercase;display:inline-block;line-height:1;padding:4px 5px}
|
5556 |
-
.brz-ed .brz-ed-badge--pro{background-color:#d62c64}
|
5557 |
-
.brz-ed .brz-ed-badge__delete{width:28px;height:28px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:12px;border-radius:28px;background-color:#fff;color:#03080f;-webkit-box-shadow:0 0 2px 0 rgba(0,0,0,.25);box-shadow:0 0 2px 0 rgba(0,0,0,.25);cursor:pointer;-webkit-transition:.2s linear opacity,.2s linear color;transition:.2s linear opacity,.2s linear color}
|
5558 |
-
.brz-ed .brz-ed-badge__delete:hover{color:#ed2164;-webkit-transition:.2s linear color;transition:.2s linear color}
|
5559 |
-
.brz-ed .brz--space-right{margin-right:5px}
|
5560 |
-
.brz-ed .brz-icon-svg{display:inline-block;width:1em;height:1em;stroke:none;max-width:none;position:relative;fill:currentColor;color:currentColor}
|
5561 |
-
.brz-ed .brz-icon-svg use{fill:inherit}
|
5562 |
-
.brz-ed .brz-icon-svg.grid-16{height:16px;width:16px}
|
5563 |
-
.brz-ed .brz-icon-svg.grid-24{height:24px;width:24px}
|
5564 |
-
.brz-ed .brz-icon-svg.glyph{fill:currentColor;stroke:none}
|
5565 |
-
.brz-ed .brz-icon-svg.outline{stroke:currentColor;fill:none}
|
5566 |
-
.brz-ed .brz-icon-svg.outline.stroke-2{stroke-width:2px}
|
5567 |
-
.brz-ed .brz-control__select{font-family:nunito,"Open Sans",Arial,sans-serif;position:relative;width:112px}
|
5568 |
-
.brz-ed .brz-control__select .brz-ed-scroll-pane .brz-ed-tall-thumb{width:8px;background-color:transparent;border-radius:4px}
|
5569 |
-
.brz-ed .brz-control__select .brz-ed-scroll-pane .brz-ed-tall-thumb:after{content:"";display:block;position:absolute;left:3px;top:0;bottom:0;width:3px;min-height:3px;background-color:#7b7b7b;border-radius:2px}
|
5570 |
-
.brz-ed .brz-control__select .brz-ed-scroll-pane .brz-ed-wide-thumb{height:3px;background-color:#7b7b7b;border-radius:2px;top:3px}
|
5571 |
-
.brz-ed .brz-control__select .brz-ed-scroll-pane .brz-ed-tall-track{border-radius:0 4px 4px 0}
|
5572 |
-
.brz-ed .brz-control__select.opened .brz-control__select-options{visibility:visible;opacity:1}
|
5573 |
-
.brz-ed .brz-control__select .brz-ed-scroll-pane-content{border-right:none!important}
|
5574 |
-
.brz-ed .brz-control__select--top-left .brz-control__select-options,.brz-ed .brz-control__select--top-right .brz-control__select-options{bottom:100%;margin-bottom:3px}
|
5575 |
-
.brz-ed .brz-control__select--bottom-left .brz-control__select-options,.brz-ed .brz-control__select--bottom-right .brz-control__select-options{margin-top:3px}
|
5576 |
-
.brz-ed .brz-control__select--bottom-left .brz-control__select-options,.brz-ed .brz-control__select--top-left .brz-control__select-options{left:0}
|
5577 |
-
.brz-ed .brz-control__select--bottom-right .brz-control__select-options,.brz-ed .brz-control__select--top-right .brz-control__select-options{right:0}
|
5578 |
-
.brz-ed .brz-control__select--active .brz-control__select-current{color:#3dbfe8}
|
5579 |
-
.brz-ed .brz-control__select__auto{width:auto}
|
5580 |
-
.brz-ed .brz-control__select-current{line-height:30px;height:30px;border-radius:4px;overflow:hidden}
|
5581 |
-
.brz-ed .brz-control__select-current .brz-control__select-option{border-bottom-color:transparent!important;padding-right:20px;text-overflow:ellipsis;overflow:hidden}
|
5582 |
-
.brz-ed .brz-icon-svg.brz-control__select--arrow{position:absolute;top:50%;right:12px;margin-top:-.5em;font-size:8px}
|
5583 |
-
.brz-ed .brz-control__select-current__icon{width:auto;height:auto;font-size:0;line-height:1;cursor:pointer}
|
5584 |
-
.brz-ed .brz-control__select-current__icon .brz-icon-svg{font-size:14px}
|
5585 |
-
.brz-ed .brz-control__select-options{position:absolute;z-index:12;min-width:100%;border-radius:4px;-webkit-box-shadow:0 2px 13px 0 rgba(0,0,0,.1);box-shadow:0 2px 13px 0 rgba(0,0,0,.1);overflow:hidden;visibility:hidden;opacity:0}
|
5586 |
-
.brz-ed .brz-control__select-options .brz-control__select-option.active,.brz-ed .brz-control__select-options .brz-control__select-option:hover{-webkit-transition:color .15s linear;transition:color .15s linear;color:#3dbfe8}
|
5587 |
-
.brz-ed .brz-control__select-optgroup-label,.brz-ed .brz-control__select-option{position:relative;cursor:pointer;padding-left:10px;padding-right:10px;font-size:13px;letter-spacing:.25px;border-bottom:1px solid rgba(255,255,255,.07);line-height:30px;height:30px;-webkit-transition:color .15s linear;transition:color .15s linear;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
|
5588 |
-
.brz-ed .brz-control__select-optgroup-label:last-child,.brz-ed .brz-control__select-option:last-child{border-bottom-color:transparent!important}
|
5589 |
-
.brz-ed .brz-control__select-optgroup-label--icon .brz-control__select-option .brz-icon-svg,.brz-ed .brz-control__select-option--icon .brz-control__select-option .brz-icon-svg{width:100%}
|
5590 |
-
.brz-ed .brz-control__select-optgroup-label--icon--bottom .brz-control__select-option__bg,.brz-ed .brz-control__select-option--icon--bottom .brz-control__select-option__bg{-webkit-transform:rotateX(180deg);transform:rotateX(180deg)}
|
5591 |
-
.brz-ed .brz-control__select-optgroup-label{cursor:auto}
|
5592 |
-
.brz-ed .brz-control__select-optgroup .brz-control__select-option{padding-left:20px;border-bottom-color:rgba(255,255,255,.07)!important}
|
5593 |
-
.brz-ed .brz-control__select-optgroup:last-child .brz-control__select-option:last-child{border-bottom-color:transparent!important}
|
5594 |
-
.brz-ed .brz-control__select--dark .brz-control__select-current,.brz-ed .brz-control__select--dark .brz-control__select-options{background-color:#383e48}
|
5595 |
-
.brz-ed .brz-control__select--dark .brz-control__select-current{color:rgba(255,255,255,.85)}
|
5596 |
-
.brz-ed .brz-control__select--dark .brz-control__select-current:hover{background-color:#383e48}
|
5597 |
-
.brz-ed .brz-control__select--dark.brz-control__select--active .brz-control__select-current{color:#3dbfe8}
|
5598 |
-
.brz-ed .brz-control__select--dark .brz-control__select-option{color:rgba(255,255,255,.85)}
|
5599 |
-
.brz-ed .brz-control__select--dark .brz-control__select-current__icon{background-color:transparent}
|
5600 |
-
.brz-ed .brz-control__select--dark .brz-control__select-current__icon:hover{background-color:transparent}
|
5601 |
-
.brz-ed .brz-control__select--dark .brz-control__select-optgroup-label{color:#828b92}
|
5602 |
-
.brz-ed .brz-control__select--light .brz-control__select-current,.brz-ed .brz-control__select--light .brz-control__select-options{background-color:#f2f2f2}
|
5603 |
-
.brz-ed .brz-control__select--light .brz-control__select-current__icon{background-color:transparent}
|
5604 |
-
.brz-ed .brz-control__select--light .brz-control__select-current__icon:hover{background-color:transparent}
|
5605 |
-
.brz-ed .brz-control__select--light .brz-control__select-current{color:#656b6f}
|
5606 |
-
.brz-ed .brz-control__select--light .brz-control__select-current:hover{background-color:#f2f2f2}
|
5607 |
-
.brz-ed .brz-control__select--light .brz-control__select-option{color:#656b6f;border-bottom-color:#e6e6e6}
|
5608 |
-
.brz-ed .brz-control__select--white .brz-control__select-current,.brz-ed .brz-control__select--white .brz-control__select-options{background-color:#fff}
|
5609 |
-
.brz-ed .brz-control__select--white .brz-control__select-options{-webkit-box-shadow:0 1px 10px 0 rgba(18,34,35,.1);box-shadow:0 1px 10px 0 rgba(18,34,35,.1)}
|
5610 |
-
.brz-ed .brz-control__select--white .brz-control__select-current__icon{background-color:transparent}
|
5611 |
-
.brz-ed .brz-control__select--white .brz-control__select-current__icon:hover{background-color:transparent}
|
5612 |
-
.brz-ed .brz-control__select--white .brz-control__select-current{color:#383e48}
|
5613 |
-
.brz-ed .brz-control__select--white .brz-control__select-current:hover{background-color:#fff}
|
5614 |
-
.brz-ed .brz-control__select--white .brz-control__select-option{color:#383e48;border-bottom-color:rgba(71,76,84,.07)}
|
5615 |
-
.brz-ed .brz-control__select--small .brz-control__select{width:62px}
|
5616 |
-
.brz-ed .brz-control__select--medium .brz-control__select-current,.brz-ed .brz-control__select--medium .brz-control__select-option{line-height:37px;height:37px}
|
5617 |
-
.brz-ed .brz-control__select--medium .brz-control__select-option{font-size:14px;padding-left:15px;padding-right:15px}
|
5618 |
-
.brz-ed .brz-control__select--medium .brz-control__select--arrow{font-size:10px;right:14px}
|
5619 |
-
.brz-ed .brz-control__select--full-width{width:100%}
|
5620 |
-
.brz-ed .brz-ed-popup-control__select--light .brz-control__select-current,.brz-ed .brz-ed-popup-control__select--light .brz-control__select-options{background-color:#fff}
|
5621 |
-
.brz-ed .brz-ed-popup-control__select--light .brz-control__select-current{color:#3dbfe8}
|
5622 |
-
.brz-ed .brz-ed-popup-control__select--light .brz-control__select-current:hover{background-color:#fff}
|
5623 |
-
.brz-ed .brz-ed-popup-control__select--light .brz-control__select-current .brz-control__select-option{color:#3dbfe8}
|
5624 |
-
.brz-ed .brz-ed-popup-control__select--light .brz-control__select-option{color:#292e37}
|
5625 |
-
.brz-ed .brz-ed-popup-control-select-light{-webkit-box-shadow:0 0 10px -2px rgba(0,0,0,.2);box-shadow:0 0 10px -2px rgba(0,0,0,.2);border-radius:4px}
|
5626 |
-
.brz-ed .brz-ed-popup-control-select-light.opened .brz-control__select-current{border-bottom-left-radius:0;border-bottom-right-radius:0}
|
5627 |
-
.brz-ed .brz-ed-popup-control-select-light.opened .brz-control__select-current .brz-control__select-option{border-bottom:1px solid #f4f4f4!important}
|
5628 |
-
.brz-ed .brz-ed-popup-control-select-light.opened .brz-control__select-options{-webkit-box-shadow:0 5px 10px -2px rgba(0,0,0,.2);box-shadow:0 5px 10px -2px rgba(0,0,0,.2);border-radius:0 0 4px 4px}
|
5629 |
-
.brz-ed .brz-ed-popup-control-select-light.brz-control__select{width:300px}
|
5630 |
-
.brz-ed .brz-ed-popup-control-select-light .brz-control__select-current{background-color:#fff;height:40px;color:#3dbfe8;font-size:14px;font-family:nunito,"Open Sans",Arial,sans-serif;font-weight:400}
|
5631 |
-
.brz-ed .brz-ed-popup-control-select-light .brz-control__select-current:after{border-style:solid;border-width:6px 4px 0;border-color:#3dbfe8 transparent}
|
5632 |
-
.brz-ed .brz-ed-popup-control-select-light .brz-control__select-current .brz-control__select-option{border-bottom:0;color:#3dbfe8}
|
5633 |
-
.brz-ed .brz-ed-popup-control-select-light .brz-control__select-current .brz-control__select-option:hover{background-color:#fff;color:#3dbfe8}
|
5634 |
-
.brz-ed .brz-ed-popup-control-select-light .brz-control__select-options{background-color:#fff;top:100%;border-top-left-radius:0;border-top-right-radius:0}
|
5635 |
-
.brz-ed .brz-ed-popup-control-select-light .brz-control__select-option{font-size:14px;height:40px;line-height:41px;font-family:nunito,"Open Sans",Arial,sans-serif;padding-left:15px;padding-right:15px;letter-spacing:.1px;color:rgba(41,46,55,.8);border-bottom:0}
|
5636 |
-
.brz-ed .brz-ed-popup-control-select-light .brz-control__select-option:not(:first-child){border-top:1px solid #f4f4f4}
|
5637 |
-
.brz-ed .brz-ed-popup-control-select-light .brz-control__select-option.active,.brz-ed .brz-ed-popup-control-select-light .brz-control__select-option:hover{background-color:#fbfbfb;color:#292e37}
|
5638 |
-
.brz-ed .brz-ed-popup-control-select-light .brz-ed-scroll-pane .brz-ed-tall-thumb{width:5px;background-color:#d4d5d7;border-radius:2.5px}
|
5639 |
-
.brz-ed .brz-ed-popup-control-select-light .brz-ed-scroll-pane .brz-ed-tall-thumb:after{opacity:0}
|
5640 |
-
.brz-ed .brz-ed-popup-control-select-light .brz-ed-scroll-pane .brz-ed-tall-track{width:5px;right:4px}
|
5641 |
-
.brz-ed .brz-control__select-population .brz-control__select-current{color:#fff;font-size:0;-webkit-transition:.2s linear color;transition:.2s linear color}
|
5642 |
-
.brz-ed .brz-control__select-population .brz-control__select-current:hover{color:#3dbfe8!important;-webkit-transition:.2s linear color;transition:.2s linear color}
|
5643 |
-
.brz-ed .brz-control__select-population.brz-control__select--active .brz-control__select-current{color:#fff}
|
5644 |
-
.brz-ed .brz-control__select-population.opened .brz-control__select-current{color:#3dbfe8}
|
5645 |
-
.brz-ed .brz-control__select-population .brz-control__select-options{width:120px}
|
5646 |
-
.brz-ed .brz-control__portal-select{position:static}
|
5647 |
-
.brz-ed .brz-control__portal-select .brz-control__select-options{z-index:1110;opacity:1;visibility:visible;min-width:auto}
|
5648 |
-
.brz-ed .brz-ed-control__switch-label{position:relative;display:inline-block;vertical-align:middle;width:50px;height:28px;border-radius:18px;cursor:pointer;margin:0;line-height:1}
|
5649 |
-
.brz-ed .brz-ed-control__switch-arrows{position:relative;display:block;height:inherit;font-size:18px;text-transform:uppercase;background:#383e48;border-radius:inherit;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.38) inset;box-shadow:0 1px 1px 0 rgba(0,0,0,.38) inset}
|
5650 |
-
.brz-ed .brz-ed-control__switch--check,.brz-ed .brz-ed-control__switch--un-check{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);margin:0;-webkit-transition:inherit;transition:inherit;color:rgba(18,20,25,.7)}
|
5651 |
-
.brz-ed .brz-ed-control__switch--check{left:5px;opacity:0}
|
5652 |
-
.brz-ed .brz-ed-control__switch--un-check{right:5px}
|
5653 |
-
.brz-ed .brz-ed-control__switch--handle{width:20px;height:20px;position:absolute;top:50%;left:4px;-webkit-transform:translateY(-50%);transform:translateY(-50%);background-color:#fff;border-radius:50%;-webkit-box-shadow:0 0 10px 1px rgba(255,255,255,.35);box-shadow:0 0 10px 1px rgba(255,255,255,.35);-webkit-transition:left .15s ease-out;transition:left .15s ease-out}
|
5654 |
-
.brz-ed .brz-ed-control__switch--handle:after,.brz-ed .brz-ed-control__switch--handle:before{content:"";position:absolute;width:7px;border-top:1px solid #34beea;top:7px;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}
|
5655 |
-
.brz-ed .brz-ed-control__switch--handle:before{top:10px}
|
5656 |
-
.brz-ed .brz-ed-control__switch--handle:after{height:7px;border-bottom:1px solid #34beea}
|
5657 |
-
.brz-ed .brz-ed-control__switch-input{position:absolute;top:0;left:0;opacity:0}
|
5658 |
-
.brz-ed .brz-ed-control__switch-input:checked~.brz-ed-control__switch-arrows{background:#3dbfe8}
|
5659 |
-
.brz-ed .brz-ed-control__switch-input:checked~.brz-ed-control__switch-arrows .brz-ed-control__switch--check{opacity:1}
|
5660 |
-
.brz-ed .brz-ed-control__switch-input:checked~.brz-ed-control__switch-arrows .brz-ed-control__switch--un-check{opacity:0}
|
5661 |
-
.brz-ed .brz-ed-control__switch-input:checked~.brz-ed-control__switch--handle{left:25px}
|
5662 |
-
.brz-ed .brz-ed-control__switch--light .brz-ed-control__switch-arrows{background:#c7c9cd}
|
5663 |
-
.brz-ed .brz-ed-control__switch--light .brz-ed-control__switch--handle:after{border-top-color:#bfbfbf;border-bottom-color:#bfbfbf}
|
5664 |
-
.brz-ed .brz-ed-control__switch--light .brz-ed-control__switch--handle:before{border-top-color:#bfbfbf}
|
5665 |
-
.brz-ed .brz-ed-control__switch2-label{position:relative;display:inline-block;vertical-align:middle;width:50px;height:28px;border-radius:18px;cursor:pointer;margin:0;line-height:1}
|
5666 |
-
.brz-ed .brz-ed-control__switch2-arrows{position:relative;display:block;height:inherit;font-size:18px;text-transform:uppercase;background:#383e48;border-radius:inherit;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.38) inset;box-shadow:0 1px 1px 0 rgba(0,0,0,.38) inset}
|
5667 |
-
.brz-ed .brz-ed-control__switch2--check,.brz-ed .brz-ed-control__switch2--un-check{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);margin:0;-webkit-transition:inherit;transition:inherit;color:rgba(18,20,25,.7)}
|
5668 |
-
.brz-ed .brz-ed-control__switch2--check{left:5px;opacity:0}
|
5669 |
-
.brz-ed .brz-ed-control__switch2--un-check{right:5px}
|
5670 |
-
.brz-ed .brz-ed-control__switch2--handle{width:20px;height:20px;position:absolute;top:50%;left:4px;-webkit-transform:translateY(-50%);transform:translateY(-50%);background-color:#fff;border-radius:50%;-webkit-box-shadow:0 0 10px 1px rgba(255,255,255,.35);box-shadow:0 0 10px 1px rgba(255,255,255,.35);-webkit-transition:left .15s ease-out;transition:left .15s ease-out}
|
5671 |
-
.brz-ed .brz-ed-control__switch2--handle:after,.brz-ed .brz-ed-control__switch2--handle:before{content:"";position:absolute;width:7px;border-top:1px solid #34beea;top:7px;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}
|
5672 |
-
.brz-ed .brz-ed-control__switch2--handle:before{top:10px}
|
5673 |
-
.brz-ed .brz-ed-control__switch2--handle:after{height:7px;border-bottom:1px solid #34beea}
|
5674 |
-
.brz-ed .brz-ed-control__switch2--on .brz-ed-control__switch2-arrows{background:#3dbfe8}
|
5675 |
-
.brz-ed .brz-ed-control__switch2--on .brz-ed-control__switch2-arrows .brz-ed-control__switch2--check{opacity:1}
|
5676 |
-
.brz-ed .brz-ed-control__switch2--on .brz-ed-control__switch2-arrows .brz-ed-control__switch2--un-check{opacity:0}
|
5677 |
-
.brz-ed .brz-ed-control__switch2--on .brz-ed-control__switch2-arrows .brz-ed-control__switch2--handle{left:25px}
|
5678 |
-
.brz-ed .brz-ed-control__switch2--light .brz-ed-control__switch2-arrows{background:#c7c9cd}
|
5679 |
-
.brz-ed .brz-ed-control__switch2--light .brz-ed-control__switch2--handle:after{border-top-color:#bfbfbf;border-bottom-color:#bfbfbf}
|
5680 |
-
.brz-ed .brz-ed-control__switch2--light .brz-ed-control__switch2--handle:before{border-top-color:#bfbfbf}
|
5681 |
-
.brz-ed .brz-ed-control__slider .brz-ed-control__slider--value{position:relative;cursor:pointer}
|
5682 |
-
.brz-ed .brz-ed-control__slider .ui-slider-vertical{width:4px;height:63px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);border:none;cursor:pointer}
|
5683 |
-
.brz-ed .brz-ed-control__slider .ui-slider-vertical:after,.brz-ed .brz-ed-control__slider .ui-slider-vertical:before{content:"";position:absolute;left:0;display:block;width:4px;height:8px}
|
5684 |
-
.brz-ed .brz-ed-control__slider .ui-slider-vertical:before{bottom:-8px}
|
5685 |
-
.brz-ed .brz-ed-control__slider .ui-slider-vertical:after{top:-8px}
|
5686 |
-
.brz-ed .brz-ed-control__slider .ui-slider-horizontal{display:block;width:calc(100% - 18px);height:4px;background-color:#3dbfe8;border-radius:4px;max-width:100%;padding:0;top:0;left:9px}
|
5687 |
-
.brz-ed .brz-ed-control__slider .ui-slider-horizontal:after,.brz-ed .brz-ed-control__slider .ui-slider-horizontal:before{content:"";position:absolute;top:0;width:13px;height:4px;border-radius:4px;background-color:#3dbfe8}
|
5688 |
-
.brz-ed .brz-ed-control__slider .ui-slider-horizontal:before{left:-9px}
|
5689 |
-
.brz-ed .brz-ed-control__slider .ui-slider-horizontal:after{right:-9px}
|
5690 |
-
.brz-ed .brz-ed-control__slider .ui-slider-horizontal .ui-slider-handle{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);margin-left:-9px}
|
5691 |
-
.brz-ed .brz-ed-control__slider .ui-slider-horizontal .ui-slider-handle:after,.brz-ed .brz-ed-control__slider .ui-slider-horizontal .ui-slider-handle:before{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}
|
5692 |
-
.brz-ed .brz-ed-control__slider .ui-slider-horizontal .ui-slider-handle:after{top:6px}
|
5693 |
-
.brz-ed .brz-ed-control__slider .ui-slider-handle{position:absolute;display:block;outline:0;width:18px;height:18px;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);margin-bottom:-9px;cursor:pointer;background:#fff;border-radius:50%!important;-webkit-box-shadow:0 2px 2px rgba(0,0,0,.45);box-shadow:0 2px 2px rgba(0,0,0,.45);z-index:1}
|
5694 |
-
.brz-ed .brz-ed-control__slider .ui-slider-handle:after,.brz-ed .brz-ed-control__slider .ui-slider-handle:before{content:"";position:absolute;width:7px;border-top:1px solid #3dbfe8;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}
|
5695 |
-
.brz-ed .brz-ed-control__slider .ui-slider-handle:after{height:7px;border-bottom:1px solid #3dbfe8}
|
5696 |
-
.brz-ed .brz-ed-control__slider .ui-state-default,.brz-ed .brz-ed-control__slider .ui-widget-content{border:0}
|
5697 |
-
.brz-ed .brz-ed-option__slider--brightness .brz-icon-svg,.brz-ed .brz-ed-option__slider--contrast .brz-icon-svg,.brz-ed .brz-ed-option__slider--hue .brz-icon-svg,.brz-ed .brz-ed-option__slider--saturation .brz-icon-svg{color:#fff}
|
5698 |
-
.brz-ed .brz-ed-option__slider--hue .rc-slider-rail{background-image:-webkit-gradient(linear,right top,left top,color-stop(0,#e1451d),color-stop(17%,#fdff47),color-stop(50%,#86f9fe),color-stop(65%,#2900f8),color-stop(74%,#6e00f8),color-stop(83%,#e33df9),to(#e14423));background-image:linear-gradient(to left,#e1451d 0,#fdff47 17%,#86f9fe 50%,#2900f8 65%,#6e00f8 74%,#e33df9 83%,#e14423 100%)}
|
5699 |
-
.brz-ed .brz-ed-option__slider--saturation .rc-slider-rail{background-image:-webkit-gradient(linear,left top,right top,color-stop(30%,#40444d),to(#0fe6a2));background-image:linear-gradient(to right,#40444d 30%,#0fe6a2 100%)}
|
5700 |
-
.brz-ed .brz-ed-option__slider--brightness .rc-slider-rail{background-image:-webkit-gradient(linear,left top,right top,from(#40444d),to(#f8f9fc));background-image:linear-gradient(to right,#40444d 0,#f8f9fc 100%)}
|
5701 |
-
.brz-ed .brz-ed-option__slider--contrast .rc-slider-rail{background-color:#454a50}
|
5702 |
-
.brz-ed .rc-slider{position:relative;height:14px;padding:5px 0;width:calc(100% - 18px);margin-left:9px;border-radius:4px;-ms-touch-action:none;touch-action:none;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
|
5703 |
-
.brz-ed .rc-slider *{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
|
5704 |
-
.brz-ed .rc-slider-rail{position:relative;display:block;width:calc(100% + 18px);height:4px;background-color:#3dbfe8;border-radius:4px;left:-9px}
|
5705 |
-
.brz-ed .rc-slider-track{display:none}
|
5706 |
-
.brz-ed .rc-slider-handle{position:absolute;display:inline-block;outline:0;width:18px;height:18px;top:50%;left:50%;margin-top:-9px;margin-left:-9px;cursor:pointer;background:#fff;border-radius:50%;-webkit-box-shadow:0 2px 2px rgba(0,0,0,.45);box-shadow:0 2px 2px rgba(0,0,0,.45);z-index:1}
|
5707 |
-
.brz-ed .rc-slider-handle:after,.brz-ed .rc-slider-handle:before{content:"";position:absolute;width:7px;border-top:1px solid #3dbfe8;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}
|
5708 |
-
.brz-ed .rc-slider-handle:before{top:6px}
|
5709 |
-
.brz-ed .rc-slider-handle:after{height:4px;border-bottom:1px solid #3dbfe8;top:9px}
|
5710 |
-
.brz-ed .rc-slider-handle:hover{border-color:#57c5f7}
|
5711 |
-
.brz-ed .rc-slider-handle:active{border-color:#57c5f7;-webkit-box-shadow:0 0 5px #57c5f7;box-shadow:0 0 5px #57c5f7;cursor:-webkit-grabbing;cursor:grabbing}
|
5712 |
-
.brz-ed .rc-slider-handle:focus{border-color:#57c5f7;-webkit-box-shadow:0 0 0 5px #96dbfa;box-shadow:0 0 0 5px #96dbfa;outline:0}
|
5713 |
-
.brz-ed .rc-slider-mark{position:absolute;top:18px;left:0;width:100%;font-size:12px}
|
5714 |
-
.brz-ed .rc-slider-mark-text{position:absolute;display:inline-block;vertical-align:middle;text-align:center;cursor:pointer;color:#999}
|
5715 |
-
.brz-ed .rc-slider-mark-text-active{color:#666}
|
5716 |
-
.brz-ed .rc-slider-step{position:absolute;width:100%;height:4px;background:0 0}
|
5717 |
-
.brz-ed .rc-slider-dot{position:absolute;bottom:-2px;margin-left:-4px;width:8px;height:8px;border:2px solid #e9e9e9;background-color:#fff;cursor:pointer;border-radius:50%;vertical-align:middle}
|
5718 |
-
.brz-ed .rc-slider-dot-active{border-color:#96dbfa}
|
5719 |
-
.brz-ed .rc-slider-disabled{background-color:#e9e9e9}
|
5720 |
-
.brz-ed .rc-slider-disabled .rc-slider-track{background-color:#ccc}
|
5721 |
-
.brz-ed .rc-slider-disabled .rc-slider-dot,.brz-ed .rc-slider-disabled .rc-slider-handle{border-color:#ccc;-webkit-box-shadow:none;box-shadow:none;background-color:#fff;cursor:not-allowed}
|
5722 |
-
.brz-ed .rc-slider-disabled .rc-slider-dot,.brz-ed .rc-slider-disabled .rc-slider-mark-text{cursor:not-allowed!important}
|
5723 |
-
.brz-ed .rc-slider-vertical{width:14px;height:100px;padding:0 5px}
|
5724 |
-
.brz-ed .rc-slider-vertical .rc-slider-rail{height:100%;width:4px}
|
5725 |
-
.brz-ed .rc-slider-vertical .rc-slider-track{left:5px;bottom:0;width:4px}
|
5726 |
-
.brz-ed .rc-slider-vertical .rc-slider-handle{margin-left:-5px;margin-bottom:-7px;-ms-touch-action:pan-y;touch-action:pan-y}
|
5727 |
-
.brz-ed .rc-slider-vertical .rc-slider-mark{top:0;left:18px;height:100%}
|
5728 |
-
.brz-ed .rc-slider-vertical .rc-slider-step{height:100%;width:4px}
|
5729 |
-
.brz-ed .rc-slider-vertical .rc-slider-dot{left:2px;margin-bottom:-4px}
|
5730 |
-
.brz-ed .rc-slider-vertical .rc-slider-dot:first-child{margin-bottom:-4px}
|
5731 |
-
.brz-ed .rc-slider-vertical .rc-slider-dot:last-child{margin-bottom:-4px}
|
5732 |
-
.brz-ed .rc-slider-tooltip-zoom-down-appear,.brz-ed .rc-slider-tooltip-zoom-down-enter{-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;display:block!important;-webkit-animation-play-state:paused;animation-play-state:paused}
|
5733 |
-
.brz-ed .rc-slider-tooltip-zoom-down-leave{-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;display:block!important;-webkit-animation-play-state:paused;animation-play-state:paused}
|
5734 |
-
.brz-ed .rc-slider-tooltip-zoom-down-appear.rc-slider-tooltip-zoom-down-appear-active,.brz-ed .rc-slider-tooltip-zoom-down-enter.rc-slider-tooltip-zoom-down-enter-active{-webkit-animation-name:brz-rcSliderTooltipZoomDownIn;animation-name:brz-rcSliderTooltipZoomDownIn;-webkit-animation-play-state:running;animation-play-state:running}
|
5735 |
-
.brz-ed .rc-slider-tooltip-zoom-down-leave.rc-slider-tooltip-zoom-down-leave-active{-webkit-animation-name:brz-rcSliderTooltipZoomDownOut;animation-name:brz-rcSliderTooltipZoomDownOut;-webkit-animation-play-state:running;animation-play-state:running}
|
5736 |
-
.brz-ed .rc-slider-tooltip-zoom-down-appear,.brz-ed .rc-slider-tooltip-zoom-down-enter{-webkit-transform:scale(0,0);transform:scale(0,0);-webkit-animation-timing-function:cubic-bezier(.23,1,.32,1);animation-timing-function:cubic-bezier(.23,1,.32,1)}
|
5737 |
-
.brz-ed .rc-slider-tooltip-zoom-down-leave{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06)}
|
5738 |
-
.brz-ed .rc-slider-tooltip{position:absolute;left:-9999px;top:-9999px;visibility:visible;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
|
5739 |
-
.brz-ed .rc-slider-tooltip *{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
|
5740 |
-
.brz-ed .rc-slider-tooltip-hidden{display:none}
|
5741 |
-
.brz-ed .rc-slider-tooltip-placement-top{padding:4px 0 8px}
|
5742 |
-
.brz-ed .rc-slider-tooltip-inner{padding:6px 2px;min-width:24px;height:24px;font-size:12px;line-height:1;color:#fff;text-align:center;text-decoration:none;background-color:#6c6c6c;border-radius:6px;-webkit-box-shadow:0 0 4px #d9d9d9;box-shadow:0 0 4px #d9d9d9}
|
5743 |
-
.brz-ed .rc-slider-tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}
|
5744 |
-
.brz-ed .rc-slider-tooltip-placement-top .rc-slider-tooltip-arrow{bottom:4px;left:50%;margin-left:-4px;border-width:4px 4px 0;border-top-color:#6c6c6c}
|
5745 |
-
.brz-ed input.brz-ed-control--slider2{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:none;background:0 0;outline:0;width:100%}
|
5746 |
-
.brz-ed input.brz-ed-control--slider2::-moz-range-track{height:4px;background-color:#3dbfe8;border-radius:4px;display:flex;align-items:center}
|
5747 |
-
.brz-ed input.brz-ed-control--slider2::-webkit-slider-runnable-track{height:4px;background-color:#3dbfe8;border-radius:4px;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}
|
5748 |
-
.brz-ed input.brz-ed-control--slider2::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;border:none;-webkit-box-shadow:0 2px 2px rgba(0,0,0,.45);box-shadow:0 2px 2px rgba(0,0,0,.45);background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='7' width='7'%3E%3Cline x1='0' y1='0' x2='7' y2='0' style='stroke:%233dbfe8;stroke-width:1' shape-rendering='crispEdges' /%3E%3Cline x1='0' y1='50%25' x2='7' y2='50%25' style='stroke:%233dbfe8;stroke-width:1' shape-rendering='crispEdges' /%3E%3Cline x1='0' y1='99%25' x2='7' y2='99%25' style='stroke:%233dbfe8;stroke-width:1' shape-rendering='crispEdges' /%3E%3C/svg%3E");background-size:7px;background-repeat:no-repeat;background-position:center}
|
5749 |
-
.brz-ed input.brz-ed-control--slider2::-moz-range-thumb{-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;border:none;box-shadow:0 2px 2px rgba(0,0,0,.45);background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='7' width='7'%3E%3Cline x1='0' y1='0' x2='7' y2='0' style='stroke:%233dbfe8;stroke-width:1' shape-rendering='crispEdges' /%3E%3Cline x1='0' y1='50%25' x2='7' y2='50%25' style='stroke:%233dbfe8;stroke-width:1' shape-rendering='crispEdges' /%3E%3Cline x1='0' y1='99%25' x2='7' y2='99%25' style='stroke:%233dbfe8;stroke-width:1' shape-rendering='crispEdges' /%3E%3C/svg%3E");background-size:7px;background-repeat:no-repeat;background-position:center}
|
5750 |
-
.brz-ed .brz-ed__control--number-slider{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}
|
5751 |
-
.brz-ed .brz-ed__control--number-slider .brz-ed__control--number-unit{margin-left:15px;-webkit-box-flex:0;-ms-flex:none;flex:none;width:45px}
|
5752 |
-
.brz-ed .brz-ed-control__stepper{position:relative;width:62px;height:30px;border-radius:4px;overflow:hidden;background:#383e48;color:rgba(255,255,255,.85);text-align:left;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}
|
5753 |
-
.brz-ed .brz-ed-control__stepper--arrows,.brz-ed .brz-ed-control__stepper--value{position:relative;min-width:0}
|
5754 |
-
.brz-ed .brz-ed-control__stepper--value{font-family:nunito,"Open Sans",Arial,sans-serif;font-size:13px;letter-spacing:.25px;line-height:1;width:65%;-ms-flex-preferred-size:65%;flex-basis:65%;padding-top:2px;max-width:100%}
|
5755 |
-
.brz-ed .brz-ed-control__stepper--value .brz-ed-control__input,.brz-ed .brz-ed-control__stepper--value .brz-ed-option__input__population{max-width:100%;padding:0 0 0 5px;margin:0;width:100%;text-align:center;text-indent:0}
|
5756 |
-
.brz-ed .brz-ed-control__stepper--arrows{width:35%;-ms-flex-preferred-size:35%;flex-basis:35%;height:30px}
|
5757 |
-
.brz-ed .brz-ed-control__stepper--down,.brz-ed .brz-ed-control__stepper--up{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:100%;height:15px;line-height:15px;font-size:8px;position:absolute;right:0;cursor:pointer;color:rgba(255,255,255,.85);-webkit-transition:color .2s linear;transition:color .2s linear}
|
5758 |
-
.brz-ed .brz-ed-control__stepper--down .brz-icon-svg,.brz-ed .brz-ed-control__stepper--up .brz-icon-svg{position:absolute;right:10px;top:auto}
|
5759 |
-
.brz-ed .brz-ed-control__stepper--down:hover,.brz-ed .brz-ed-control__stepper--up:hover{color:#3dbfe8}
|
5760 |
-
.brz-ed .brz-ed-control__stepper--up{top:0}
|
5761 |
-
.brz-ed .brz-ed-control__stepper--up .brz-icon-svg{bottom:1px}
|
5762 |
-
.brz-ed .brz-ed-control__stepper--down{bottom:0}
|
5763 |
-
.brz-ed .brz-ed-control__stepper--down .brz-icon-svg{top:1px}
|
5764 |
-
.brz-ed .brz-ed-control-radio-option{color:#626b70;-webkit-transition:.2s linear color;transition:.2s linear color}
|
5765 |
-
.brz-ed .brz-ed-control-radio-option--active{color:#3dbfe8;-webkit-transition:.2s linear color;transition:.2s linear color}
|
5766 |
-
.brz-ed .brz-ed-control-radio-option:hover{color:#3dbfe8;-webkit-transition:.2s linear color;transition:.2s linear color}
|
5767 |
-
.brz-ed .brz-ed-control__tabs .brz-ed-control__tab{margin:0}
|
5768 |
-
.brz-ed .brz-ed-control__tabs:not(.brz-ed-control__tabs__left){display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-left:17px;padding-right:17px;border-bottom:1px solid rgba(255,255,255,.1);color:#828b92;font-family:nunito,"Open Sans",Arial,sans-serif;font-size:13px;float:none}
|
5769 |
-
.brz-ed .brz-ed-control__tabs:not(.brz-ed-control__tabs__left) .brz-ed-control__tab{cursor:pointer;-webkit-transition:color .2s linear;transition:color .2s linear;border-bottom:2px solid transparent;height:34px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:0 0 -1px;padding-top:2px;width:auto}
|
5770 |
-
.brz-ed .brz-ed-control__tabs:not(.brz-ed-control__tabs__left) .brz-ed-control__tab.active,.brz-ed .brz-ed-control__tabs:not(.brz-ed-control__tabs__left) .brz-ed-control__tab:hover{color:#3dbfe8;-webkit-transition:color .2s linear;transition:color .2s linear}
|
5771 |
-
.brz-ed .brz-ed-control__tabs:not(.brz-ed-control__tabs__left) .brz-ed-control__tab.active{border-bottom-color:#3dbfe8}
|
5772 |
-
.brz-ed .brz-ed-control__tabs:not(.brz-ed-control__tabs__left) .brz-ed-control__tab:not(:last-child){margin-right:15px}
|
5773 |
-
.brz-ed .brz-ed-control__tabs:not(.brz-ed-control__tabs__left) .brz-ed-control__tab__icon{height:42px}
|
5774 |
-
.brz-ed .brz-ed-control__tabs:not(.brz-ed-control__tabs__left) .brz-ed-control__tab__icon .brz-icon-svg{font-size:16px;-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto}
|
5775 |
-
.brz-ed .brz-ed-control__tabs:not(.brz-ed-control__tabs__left) .brz-ed-control__tab__icon .brz-icon-svg+.brz-span:not(:empty){margin-left:10px}
|
5776 |
-
.brz-ed .brz-ed-control__tabs__left{position:absolute;z-index:0;left:-38px;top:34px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}
|
5777 |
-
.brz-ed .brz-ed-control__tabs__left .brz-ed-control__tab{width:30px;height:35px;background-color:rgba(139,147,154,.92);-webkit-box-shadow:0 0 5px 0 rgba(0,0,0,.5);box-shadow:0 0 5px 0 rgba(0,0,0,.5);border-top-left-radius:7px;border-bottom-left-radius:7px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-left:11px;color:#fff;font-size:13px;cursor:pointer;margin:0 0 1px;position:relative;left:8px}
|
5778 |
-
.brz-ed .brz-ed-control__tabs__left .brz-ed-control__tab.active{color:#3dbfe8;background-color:rgba(3,8,15,.92)}
|
5779 |
-
.brz-ed .brz-ed-control__tabs__editor.brz-ed-control__tabs__editor{width:144px;margin-left:10px;margin-right:10px;padding:0}
|
5780 |
-
.brz-ed .brz-ed-control__tabs__editor.brz-ed-control__tabs__editor+.brz-ed-control__tab__content{margin-bottom:-9px}
|
5781 |
-
.brz-ed .brz-ed-input__search{position:absolute;border:none;background:0 0;color:rgba(255,255,255,.6);outline:0;font-size:13px;text-indent:10px;padding:0 35px 0 0;width:100%}
|
5782 |
-
.brz-ed .brz-ed-input__search:active,.brz-ed .brz-ed-input__search:focus{background:0 0;color:rgba(255,255,255,.6)}
|
5783 |
-
.brz-ed .brz-ed-input__search::-webkit-input-placeholder{color:rgba(234,241,255,.2);font-style:italic;font-size:1em;letter-spacing:.25px}
|
5784 |
-
.brz-ed .brz-ed-input__search--auto-complete{color:#fff}
|
5785 |
-
.brz-ed .brz-ed-input__search__icon{position:absolute;right:10px;top:50%;color:#818487;-webkit-transform:translateY(-50%);transform:translateY(-50%);-webkit-transition:color .2s ease-in;transition:color .2s ease-in;cursor:pointer;font-size:16px;height:16px;line-height:1}
|
5786 |
-
.brz-ed .brz-ed-input__search__icon.active{color:#3dbfe8}
|
5787 |
-
.brz-ed .brz-ed-control__number-unit{margin-left:15px;-webkit-box-flex:0;-ms-flex:none;flex:none;width:45px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}
|
5788 |
-
.brz-ed .brz-ed-control__number-unit__input{position:relative;-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;min-width:35%}
|
5789 |
-
.brz-ed .brz-ed-control__number-unit__input .brz-invisible{line-height:1.4em;padding-right:5px}
|
5790 |
-
.brz-ed .brz-ed-control__number-unit__input input{background-color:transparent;color:#828b92;font-size:13px;font-weight:400;border:none;outline:0;padding:2px 0;line-height:1;-moz-appearance:textfield;top:0;left:0;-webkit-transition:.2s linear color;transition:.2s linear color;border-bottom:1px solid rgba(255,255,255,.1);position:absolute;width:100%}
|
5791 |
-
.brz-ed .brz-ed-control__number-unit__input input:active,.brz-ed .brz-ed-control__number-unit__input input:focus{background-color:transparent;color:#fff;-webkit-transition:.2s linear color;transition:.2s linear color;-webkit-box-shadow:none;box-shadow:none;border-color:transparent;outline:0}
|
5792 |
-
.brz-ed .brz-ed-control__number-unit__input input::-webkit-inner-spin-button,.brz-ed .brz-ed-control__number-unit__input input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
|
5793 |
-
.brz-ed .brz-ed-control__number-unit__unit{-webkit-box-flex:0;-ms-flex:none;flex:none;margin-left:5px;color:#828b92}
|
5794 |
-
.brz-ed .brz-ed-control__number-unit__unit--active{color:#3dbfe8}
|
5795 |
-
.brz-ed .brz-ed-control-multiPicker--body{margin-top:20px}
|
5796 |
-
.brz-ed .brz-ed-sidebar-row .brz-ed-options--multi-picker{display:block}
|
5797 |
-
.brz-ed .brz-ed-control__select-single .brz-ed-control__multiSelect--value-container{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:nowrap;flex-wrap:nowrap;padding:0 10px;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;cursor:pointer}
|
5798 |
-
.brz-ed .brz-ed-control__select-single .brz-ed-control__multiSelect--value-container input{padding:0}
|
5799 |
-
.brz-ed .brz-ed-control__select-single .brz-ed-control__multiSelect--tag{-webkit-box-shadow:none;box-shadow:none;background:0 0;margin:0 10px 0 0;padding:0}
|
5800 |
-
.brz-ed .brz-ed-control__select-single .brz-ed-control__multiSelect--tag>.brz-icon-svg{display:none}
|
5801 |
-
.brz-ed .brz-ed-control__multiSelect{font-family:nunito,"Open Sans",Arial,sans-serif}
|
5802 |
-
.brz-ed .brz-ed-control__multiSelect--size-short{width:62px}
|
5803 |
-
.brz-ed .brz-ed-control__multiSelect--size-medium{width:112px}
|
5804 |
-
.brz-ed .brz-ed-control__multiSelect--size-large{width:136px}
|
5805 |
-
.brz-ed .brz-ed-control__multiSelect--size-full{width:100%}
|
5806 |
-
.brz-ed .brz-ed-control__multiSelect--value-container{border-radius:4px;font-size:13px;letter-spacing:.25px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:start;background-color:#383e48;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:2px;min-height:30px;position:relative;color:#fff}
|
5807 |
-
.brz-ed .brz-ed-control__multiSelect--value-container input{color:#fff}
|
5808 |
-
.brz-ed .brz-ed-control__multiSelect--value-container .brz-control__select--arrow{position:static;-webkit-box-flex:0;-ms-flex:none;flex:none;top:unset;margin:0}
|
5809 |
-
.brz-ed .brz-ed-control__multiSelect--value{font:inherit;letter-spacing:inherit;outline:0;border:none;background:0 0;padding-left:10px;padding-right:10px;height:26px;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}
|
5810 |
-
.brz-ed .brz-ed-control__multiSelect--tag{border-radius:4px;font-size:13px;letter-spacing:.25px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:20px;padding:5px;line-height:1;color:#fff;margin:2px;background-color:#49515f;-webkit-box-shadow:1px 1px 0 rgba(0,0,0,.04);box-shadow:1px 1px 0 rgba(0,0,0,.04);overflow:hidden;text-overflow:ellipsis}
|
5811 |
-
.brz-ed .brz-ed-control__multiSelect--tag--value{text-overflow:ellipsis;white-space:nowrap;max-width:100%;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}
|
5812 |
-
.brz-ed .brz-ed-control__multiSelect--tag>.brz-icon-svg{cursor:pointer;font-size:10px;margin-left:4px;-webkit-transition:.2s color linear;transition:.2s color linear;-webkit-box-flex:0;-ms-flex:none;flex:none}
|
5813 |
-
.brz-ed .brz-ed-control__multiSelect--tag .brz-icon-svg:hover{color:#3dbfe8;-webkit-transition:.2s color linear;transition:.2s color linear}
|
5814 |
-
.brz-ed .brz-ed-control__multiSelect__menu-container{position:relative}
|
5815 |
-
.brz-ed .brz-ed-control__multiSelect__menu{font-family:nunito,"Open Sans",Arial,sans-serif;z-index:1110;-webkit-box-shadow:0 1px 10px 0 rgba(18,34,35,.1);box-shadow:0 1px 10px 0 rgba(18,34,35,.1);margin-top:3px;border-radius:4px;background:#383e48;min-width:100%;-webkit-transform:none!important;transform:none!important}
|
5816 |
-
.brz-ed .brz-ed-control__multiSelect__option{cursor:pointer;padding-left:10px;padding-right:10px;font-size:13px;letter-spacing:.25px;line-height:30px;height:30px;-webkit-transition:color .15s linear;transition:color .15s linear;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-bottom:1px solid rgba(255,255,255,.07);color:rgba(255,255,255,.85);margin:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}
|
5817 |
-
.brz-ed .brz-ed-control__multiSelect__option:last-child{border-bottom-color:transparent}
|
5818 |
-
.brz-ed .brz-ed-control__multiSelect__option--active,.brz-ed .brz-ed-control__multiSelect__option:hover{-webkit-transition:color .15s linear;transition:color .15s linear;color:#3dbfe8}
|
5819 |
-
.brz-ed .brz-ed-control__multiSelect__scroll-thumb{width:3px!important;background-color:#7b7b7b;border-radius:2px;right:-3px}
|
5820 |
-
.brz-ed .brz-ed-control__radio-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}
|
5821 |
-
.brz-ed .brz-ed-control__radio-group--active{color:#3dbfe8}
|
5822 |
-
.brz-ed .brz-ed-tooltip__content{position:relative;z-index:1}
|
5823 |
-
.brz-ed .brz-ed-tooltip__overlay{position:absolute;top:0;left:0;z-index:1100}
|
5824 |
-
.brz-ed .brz-ed-tooltip--auto{width:auto}
|
5825 |
-
.brz-ed .brz-ed-tooltip--small{width:171px}
|
5826 |
-
.brz-ed .brz-ed-tooltip--medium{width:255px}
|
5827 |
-
.brz-ed .brz-ed-tooltip--big{width:305px}
|
5828 |
-
.brz-ed .brz-ed-popover__inner.brz-ed-tooltip--large,.brz-ed .brz-ed-tooltip--large{width:385px}
|
5829 |
-
.brz-ed .brz-ed-tooltip__static{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}
|
5830 |
-
.brz-ed .brz-ed-tooltip__static .brz-ed-tooltip--top-center{top:auto;bottom:calc(100% + 9px);left:auto}
|
5831 |
-
.brz-ed .brz-ed-tooltip__static .brz-ed-tooltip--bottom-center{top:calc(100% + 9px);left:auto}
|
5832 |
-
.brz-ed .brz-ed-tooltip__static .brz-ed-tooltip--bottom-right,.brz-ed .brz-ed-tooltip__static .brz-ed-tooltip--top-right{left:auto;right:-15px}
|
5833 |
-
.brz-ed .brz-ed-tooltip__static .brz-ed-tooltip--bottom-left,.brz-ed .brz-ed-tooltip__static .brz-ed-tooltip--top-left{left:-15px}
|
5834 |
-
.brz-ed .brz-ed-tooltip__static .brz-ed-tooltip--top-left,.brz-ed .brz-ed-tooltip__static .brz-ed-tooltip--top-right{top:auto;bottom:calc(100% + 9px)}
|
5835 |
-
.brz-ed .brz-ed-tooltip__static .brz-ed-tooltip--bottom-left,.brz-ed .brz-ed-tooltip__static .brz-ed-tooltip--bottom-right{top:calc(100% + 9px)}
|
5836 |
-
.brz-ed .brz-ed-tooltip--delay-1{-webkit-animation-delay:.6s;animation-delay:.6s}
|
5837 |
-
.brz-ed .brz-ed-tooltip--delay-2{-webkit-animation-delay:1s;animation-delay:1s}
|
5838 |
-
.brz-ed .brz-ed-tooltip-content__pro{font-family:nunito,"Open Sans",Arial,sans-serif;font-weight:600;color:rgba(255,255,255,.8);padding:18px 18px 18px 22px;font-size:13px;line-height:18px;text-align:left}
|
5839 |
-
.brz-ed .brz-ed-tooltip-content__pro-title{margin-bottom:17px}
|
5840 |
-
.brz-ed .brz-ed-tooltip-content__pro-body .brz-icon-svg{font-size:10px;margin-right:8px}
|
5841 |
-
.brz-ed .brz-ed-tooltip-content__pro .brz-p{font-size:inherit;font-weight:600}
|
5842 |
-
.brz-ed .brz-ed-control__focal-point{position:relative;text-align:center}
|
5843 |
-
.brz-ed .brz-ed-control__focal-point:after{display:inline-block;height:100%;vertical-align:middle;content:""}
|
5844 |
-
.brz-ed .brz-ed-control__focal-point__setter{text-align:center;display:inline-block;vertical-align:middle;position:relative;width:100%}
|
5845 |
-
.brz-ed .brz-ed-control__focal-point__setter:before{content:"";position:absolute;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,.3)}
|
5846 |
-
.brz-ed .brz-ed-control__focal-point__setter .brz-img{max-width:140px;max-height:140px;height:100%}
|
5847 |
-
.brz-ed .brz-ed-control__focal-point__point{position:absolute;z-index:10;width:18px;height:18px;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);background-color:#2eb0d8;border:2px solid #fff;border-radius:18px;cursor:pointer}
|
5848 |
-
.brz-ed .brz-ed-control__focal-point__upload{width:140px;height:93px;border:1px dashed #444952;background-color:#2d323b;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;font-size:24px;color:rgba(94,100,111,.6);-webkit-transition:all .2s linear;transition:all .2s linear}
|
5849 |
-
.brz-ed .brz-ed-control__focal-point__upload:hover{border-color:#5e6470;color:#5e646f}
|
5850 |
-
.brz-ed .brz-ed-control__focal-point__upload .brz-icon-svg{font-size:inherit!important}
|
5851 |
-
.brz-ed .brz-ed-control__focal-point__upload--loading{cursor:progress}
|
5852 |
-
.brz-ed .brz-ed-control__focal-point__delete{position:absolute;right:-4px;top:-4px;z-index:11;font-size:16px;width:16px;height:16px;background-color:#2d323b;border-radius:50%;color:#fff;cursor:pointer}
|
5853 |
-
.brz-ed .brz-ed-control__focal-point__delete .brz-icon-svg{font-size:inherit!important}
|
5854 |
-
.brz-ed .brz-ed-control__focal-point__label--disable .brz-ed-control__focal-point__upload{cursor:no-drop}
|
5855 |
-
.brz-ed .brz-ed-control__icon-setter{position:relative}
|
5856 |
-
.brz-ed .brz-ed-control__icon-setter__box{width:48px;height:48px;border:1px dashed #444952;background-color:#2d323b;font-size:16px;color:rgba(94,100,111,.6);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;-webkit-transition:all .2s linear;transition:all .2s linear}
|
5857 |
-
.brz-ed .brz-ed-control__icon-setter__box:hover{border-color:#5e6470;color:#5e646f}
|
5858 |
-
.brz-ed .brz-ed-control__icon-setter--active{color:#fff;display:inline-block;font-size:0}
|
5859 |
-
.brz-ed .brz-ed-control__input,.brz-ed .brz-ed-option__input__population{font-family:nunito,"Open Sans",Arial,sans-serif;font-size:13px;font-style:normal;font-weight:400;letter-spacing:0;background:#383e48 none;color:#fff;width:auto;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;height:30px;text-indent:5px;padding:0 5px;border-radius:4px;border:0;outline:0;-webkit-box-shadow:none;box-shadow:none;text-shadow:none;text-align:left;margin-left:auto;-moz-appearance:textfield}
|
5860 |
-
.brz-ed .brz-ed-control__input:active,.brz-ed .brz-ed-control__input:focus,.brz-ed .brz-ed-option__input__population:active,.brz-ed .brz-ed-option__input__population:focus{background-color:#383e48;color:#fff;outline:0}
|
5861 |
-
.brz-ed .brz-ed-control__input::-webkit-inner-spin-button,.brz-ed .brz-ed-control__input::-webkit-outer-spin-button,.brz-ed .brz-ed-option__input__population::-webkit-inner-spin-button,.brz-ed .brz-ed-option__input__population::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
|
5862 |
-
.brz-ed .brz-ed-control__input::-webkit-input-placeholder,.brz-ed .brz-ed-option__input__population::-webkit-input-placeholder{color:rgba(234,241,255,.2);font-style:italic;font-size:1em}
|
5863 |
-
.brz-ed .brz-ed-control__input:-moz-placeholder,.brz-ed .brz-ed-option__input__population:-moz-placeholder{color:rgba(234,241,255,.2);font-style:italic;font-size:1em}
|
5864 |
-
.brz-ed .brz-ed-control__input::-moz-placeholder,.brz-ed .brz-ed-option__input__population::-moz-placeholder{color:rgba(234,241,255,.2);font-style:italic;font-size:1em}
|
5865 |
-
.brz-ed .brz-ed-control__input:-ms-input-placeholder,.brz-ed .brz-ed-option__input__population:-ms-input-placeholder{color:rgba(234,241,255,.2);font-style:italic;font-size:1em}
|
5866 |
-
.brz-ed .brz-ed-control__input--large{max-width:136px}
|
5867 |
-
.brz-ed .brz-ed-control__input--medium{max-width:112px}
|
5868 |
-
.brz-ed .brz-ed-control__input--small{max-width:62px}
|
5869 |
-
.brz-ed .brz-ed-control__input--auto{max-width:100%}
|
5870 |
-
.brz-ed .brz-ed-control__input2 input{font-family:nunito,"Open Sans",Arial,sans-serif;font-size:13px;font-style:normal;font-weight:400;letter-spacing:0;background:#383e48 none;color:#fff;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;height:30px;text-indent:5px;padding:0 5px;border-radius:4px;border:0;outline:0;-webkit-box-shadow:none;box-shadow:none;text-shadow:none;text-align:left;margin-left:auto;width:100%}
|
5871 |
-
.brz-ed .brz-ed-control__input2 input:active,.brz-ed .brz-ed-control__input2 input:focus{background-color:#383e48;color:#fff}
|
5872 |
-
.brz-ed .brz-ed-control__input2 input::-webkit-input-placeholder{color:rgba(234,241,255,.2);font-style:italic;font-size:1em}
|
5873 |
-
.brz-ed .brz-ed-control__input2 input:-moz-placeholder{color:rgba(234,241,255,.2);font-style:italic;font-size:1em}
|
5874 |
-
.brz-ed .brz-ed-control__input2 input::-moz-placeholder{color:rgba(234,241,255,.2);font-style:italic;font-size:1em}
|
5875 |
-
.brz-ed .brz-ed-control__input2 input:-ms-input-placeholder{color:rgba(234,241,255,.2);font-style:italic;font-size:1em}
|
5876 |
-
.brz-ed .brz-ed-control__input2--large input{max-width:136px}
|
5877 |
-
.brz-ed .brz-ed-control__input2--medium input{max-width:112px}
|
5878 |
-
.brz-ed .brz-ed-control__input2--short input{max-width:62px}
|
5879 |
-
.brz-ed .brz-ed-control__textarea{font-family:nunito,"Open Sans",Arial,sans-serif;font-size:13px;letter-spacing:.25px;line-height:22px;background-color:#383e48;color:#fff;width:auto;height:auto;padding:5px 10px;border-radius:4px;border:0;outline:0;resize:none;height:136px;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}
|
5880 |
-
.brz-ed .brz-ed-control__textarea,.brz-ed .brz-ed-control__textarea:active,.brz-ed .brz-ed-control__textarea:focus,.brz-ed .brz-ed-control__textarea:hover{outline:0}
|
5881 |
-
.brz-ed .brz-ed-control__textarea--auto{width:auto;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}
|
5882 |
-
.brz-ed .brz-ed-control__textarea--short{width:62px}
|
5883 |
-
.brz-ed .brz-ed-control__textarea--large{width:136px}
|
5884 |
-
.brz-ed .brz-ed-control__textarea--medium{width:112px}
|
5885 |
-
.brz-ed .brz-ed-control__textarea::-webkit-input-placeholder{color:rgba(234,241,255,.2);font-style:italic;font-size:1em}
|
5886 |
-
.brz-ed .brz-ed-control__textarea:-moz-placeholder{color:rgba(234,241,255,.2);font-style:italic;font-size:1em}
|
5887 |
-
.brz-ed .brz-ed-control__textarea::-moz-placeholder{color:rgba(234,241,255,.2);font-style:italic;font-size:1em}
|
5888 |
-
.brz-ed .brz-ed-control__textarea:-ms-input-placeholder{color:rgba(234,241,255,.2);font-style:italic;font-size:1em}
|
5889 |
-
.brz-ed .brz-ed-control__textarea2{font-family:nunito,"Open Sans",Arial,sans-serif;font-size:13px;letter-spacing:.25px;line-height:22px;background-color:#383e48;color:#fff;width:auto;height:auto;padding:5px 10px;border-radius:4px;border:0;outline:0;resize:none}
|
5890 |
-
.brz-ed .brz-ed-control__textarea2,.brz-ed .brz-ed-control__textarea2:active,.brz-ed .brz-ed-control__textarea2:focus,.brz-ed .brz-ed-control__textarea2:hover{outline:0}
|
5891 |
-
.brz-ed .brz-ed-control__textarea2--auto{width:auto;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}
|
5892 |
-
.brz-ed .brz-ed-control__textarea2--short{width:62px}
|
5893 |
-
.brz-ed .brz-ed-control__textarea2--large{width:136px}
|
5894 |
-
.brz-ed .brz-ed-control__textarea2--medium{width:112px}
|
5895 |
-
.brz-ed .brz-ed-control__textarea2::-webkit-input-placeholder{color:rgba(234,241,255,.2);font-style:italic;font-size:1em}
|
5896 |
-
.brz-ed .brz-ed-control__textarea2:-moz-placeholder{color:rgba(234,241,255,.2);font-style:italic;font-size:1em}
|
5897 |
-
.brz-ed .brz-ed-control__textarea2::-moz-placeholder{color:rgba(234,241,255,.2);font-style:italic;font-size:1em}
|
5898 |
-
.brz-ed .brz-ed-control__textarea2:-ms-input-placeholder{color:rgba(234,241,255,.2);font-style:italic;font-size:1em}
|
5899 |
-
.brz-ed .brz-ed-control__color-palette{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-top:0;border-bottom:0}
|
5900 |
-
.brz-ed .brz-ed-control__color-palette__item{width:18px;height:18px;border-radius:2px;margin-left:2px;cursor:pointer;border:1px solid #3a3d43}
|
5901 |
-
.brz-ed .brz-ed-control__color-palette__item:first-child{margin-left:0}
|
5902 |
-
.brz-ed .brz-ed-control__color-palette__item.active{border:2px solid #fff}
|
5903 |
-
.brz-ed .brz-ed-control__color-palette__icon{cursor:pointer;font-size:14px;margin-left:5px;display:-webkit-box;display:-ms-flexbox;display:flex;color:#828b92;-webkit-transition:color .2s linear;transition:color .2s linear}
|
5904 |
-
.brz-ed .brz-ed-control__color-palette__icon:hover{color:#3dbfe8}
|
5905 |
-
.brz-ed .brz-ed-control__color-palette-editor{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}
|
5906 |
-
.brz-ed .brz-ed-control__color-palette-editor__item{width:23px;height:23px;border:1px solid #1e232a;border-radius:2px;margin-left:3px;cursor:pointer;-webkit-transition:border .2s linear;transition:border .2s linear}
|
5907 |
-
.brz-ed .brz-ed-control__color-palette-editor__item.active,.brz-ed .brz-ed-control__color-palette-editor__item:hover{border:2px solid #3dbfe8}
|
5908 |
-
.brz-ed .brz-ed-control__color-palette-editor__item:first-child{margin-left:0}
|
5909 |
-
.brz-ed .brz-ed-sidebar-control__color-palette2-editor{margin-bottom:32px!important}
|
5910 |
-
.brz-ed .color-picker-body{margin-bottom:2px;display:-webkit-box;display:-ms-flexbox;display:flex}
|
5911 |
-
.brz-ed .color-picker-body .color-picker-saturation{width:153px;height:153px;position:relative;cursor:move}
|
5912 |
-
.brz-ed .color-picker-body .color-picker-saturation>div{border-radius:3px 3px 4px 4px}
|
5913 |
-
.brz-ed .color-picker-body .color-picker-saturation .color-picker-saturation-body{position:absolute;top:0;right:0;bottom:0;left:0}
|
5914 |
-
.brz-ed .color-picker-body .color-picker-saturation .color-picker-saturation-body .saturation-black{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:3px;background:-webkit-gradient(linear,left bottom,left top,from(#000),to(rgba(0,0,0,0)));background:linear-gradient(to top,#000,rgba(0,0,0,0))}
|
5915 |
-
.brz-ed .color-picker-body .color-picker-saturation .color-picker-saturation-body .saturation-white{position:absolute;top:0;right:0;bottom:0;left:0;border-bottom-left-radius:4px;border-top-left-radius:3px;background:-webkit-gradient(linear,left top,right top,from(#fff),to(rgba(255,255,255,0)));background:linear-gradient(to right,#fff,rgba(255,255,255,0))}
|
5916 |
-
.brz-ed .color-picker-body .color-picker-saturation .color-picker-saturation-body .color-picker-pointer{width:16px;height:16px;-webkit-transform:translate(-8px,-8px);transform:translate(-8px,-8px);cursor:move}
|
5917 |
-
.brz-ed .color-picker-body .color-picker-saturation .color-picker-saturation-body .saturation-pointer{position:absolute;cursor:move}
|
5918 |
-
.brz-ed .color-picker-body .color-picker-saturation .color-picker-saturation-body .saturation-circle{width:4px;height:4px;-webkit-box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);border-radius:50%;cursor:move;-webkit-transform:translate(-2px,-2px);transform:translate(-2px,-2px)}
|
5919 |
-
.brz-ed .color-picker-body .color-picker-alpha,.brz-ed .color-picker-body .color-picker-hue{position:relative;height:153px;width:12px;margin-left:10px;cursor:ns-resize}
|
5920 |
-
.brz-ed .color-picker-body .color-picker-alpha .hue-vertical,.brz-ed .color-picker-body .color-picker-hue .hue-vertical{border-radius:3px}
|
5921 |
-
.brz-ed .color-picker-body .color-picker-hue .hue{position:absolute;top:0;right:0;bottom:0;left:0}
|
5922 |
-
.brz-ed .color-picker-body .color-picker-hue .hue-container{padding:0 2px;position:relative;height:100%}
|
5923 |
-
.brz-ed .color-picker-body .color-picker-hue .hue-pointer{position:absolute}
|
5924 |
-
.brz-ed .color-picker-body .color-picker-hue .color-picker-pointer{-webkit-transform:translate(-1px,-7px);transform:translate(-1px,-7px)}
|
5925 |
-
.brz-ed .color-picker-body .color-picker-hue .hue-slider{margin-top:1px;width:4px;border-radius:1px;height:8px;-webkit-box-shadow:0 0 2px rgba(0,0,0,.6);box-shadow:0 0 2px rgba(0,0,0,.6);background:#fff;-webkit-transform:translateX(-2px);transform:translateX(-2px)}
|
5926 |
-
.brz-ed .color-picker-body .color-picker-hue .hue-horizontal{background:-webkit-gradient(linear,left top,right top,from(red),color-stop(17%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(83%,#f0f),to(red));background:linear-gradient(to right,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);background:-webkit-linear-gradient(to right,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}
|
5927 |
-
.brz-ed .color-picker-body .color-picker-hue .hue-vertical{background:-webkit-gradient(linear,left bottom,left top,from(red),color-stop(17%,#ff0),color-stop(33%,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|