diff --git a/CHANGELOG.md b/CHANGELOG.md index 33e0f63..9e7b88f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,26 @@ All notable changes to this project will be documented in this file. ## [Unreleased][unreleased] -* +* + +## 2.0.3 - 2015-03-15 + +### Enhancements + +* New constant, `CMB2_DIR`, which stores the file-path to the CMB2 directory. +* `text_date`, `text_time`, `text_date_timestamp`, `text_datetime_timestamp`, and ` text_datetime_timestamp_timezone` field types now take an arguments array so they can be extended by custom field types. +* Removed auto-scroll when adding groups. To re-add the feature, use the [snippet/plugin here](https://github.com/WebDevStudios/CMB2-Snippet-Library/blob/master/javascript/cmb2-auto-scroll-to-new-group.php). ([#205](https://github.com/WebDevStudios/CMB2/issues/205)) +* Updated Timepicker utilizing the [@trentrichardson](https://github.com/trentrichardson) jQuery Timepicker add-on (https://github.com/trentrichardson/jQuery-Timepicker-Addon), and updated Datepicker styles. Props [JonMasterson](https://github.com/JonMasterson). ([#204](https://github.com/WebDevStudios/CMB2/issues/204), [#206](https://github.com/WebDevStudios/CMB2/issues/206), [#45](https://github.com/WebDevStudios/CMB2/issues/45)). +* Added a callback option for the field default value. The callback gets passed an array of all the field parameters as the first argument, and the field object as the second argument. (which means you can get the post id using `$field->object_id`). ([#233](https://github.com/WebDevStudios/CMB2/issues/233)). +* New `CMB2::get_field()` method and `cmb2_get_field` helper function for retrieving a `CMB2_Field` object from the array of registered fields for a metabox. +* New `CMB2::get_sanitized_values()` method and `cmb2_get_metabox_sanitized_values` helper function for retrieving sanitized values from an array of values (usually `$_POST` data). +* New `'save_fields'` metabox property that can be used to disable (by setting `'save_fields' => false`) the automatic saving of the fields when the form is submitted. These can be useful when you want to handle the saving of the fields yourself, or want to use submitted data for other purposes like generating new posts, or sending emails, etc. + +### Bug Fixes + +* Fix commented out text_datetime_timestamp_timezone field registration example in `example-functions.php`. Props [cliffordp](https://github.com/cliffordp), ([#203](https://github.com/WebDevStudios/CMB2/pull/203)). +* Fix sidebar styling for money fields and fields with textareas. ([#234](https://github.com/WebDevStudios/CMB2/issues/234)) +* Fix `CMB2_Sanitize` class to properly use the stripslashed value (which was added in [#162](https://github.com/WebDevStudios/CMB2/pull/162) but never used). Props [dustyf](https://github.com/dustyf), ([#241](https://github.com/WebDevStudios/CMB2/pull/241)). ## 2.0.2 - 2015-02-15 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index dfe2e9b..1527cdc 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,10 +1,14 @@ -### NOTE: The issues section is for bug reports and feature requests only. +# Contributing to CMB2 + +Thank you for your interest in contributing back to CMB2. Please help us review your issues and/or merge your pull requests by following the below guidelines. + +#### NOTE: The issues section is for bug reports and feature requests only. _Support is not offered for this library, and the likelihood that the maintainers will respond is very low. If you need help, please use [stackoverflow](http://stackoverflow.com/search?q=cmb), or the [wordpress.org plugin forums](http://wordpress.org/support/plugin/cmb2)._ Before reporting a bug --- -1. Search issue tracker for similar issues. -2. Install the trunk version of CMB2. +1. Search [issues](https://github.com/WebDevStudios/CMB2/issues) to see if the issue has been previously reported. +2. Install the trunk version of CMB2 and test there. How to report a bug @@ -24,6 +28,17 @@ All contributions welcome. If you would like to submit a pull request, please fo 3. **Check out the trunk version of CMB2.** If you submit to the master branch, the PR will be closed with a link back to this document. 4. **Verify your issue still exists in the trunk branch.** 5. Make changes to your clone of the repository. + 1. Please follow the [WordPress code standards](https://make.wordpress.org/core/handbook/coding-standards). + 2. If possible, and if applicable, please also add/update unit tests for your changes. + 3. Please add documentation to any new functions, methods, actions and filters. + 4. When committing, reference your issue (if present) and include a note about the fix. 6. [Submit a pull request](https://help.github.com/articles/creating-a-pull-request/). **Note:** You may gain more ground and avoid unecessary effort if you first open an issue with the proposed changes, but this step is not necessary. + +Additional Resources +--- +* [CMB2 Snippet Library](https://github.com/WebDevStudios/CMB2-Snippet-Library) +* [General GitHub Documentation](http://help.github.com/) +* [GitHub Pull Request documentation](http://help.github.com/send-pull-requests/) +* [PHPUnit Tests Guide](http://phpunit.de/manual/current/en/writing-tests-for-phpunit.html) \ No newline at end of file diff --git a/bootstrap.php b/bootstrap.php index c951a28..0652935 100644 --- a/bootstrap.php +++ b/bootstrap.php @@ -1,25 +1,5 @@ .cmb-td > .cmb-repeatable-group, #side-sortables .cmb-repeat-group-wrap > .cmb-td > .cmb-repeatable-group { @@ -857,7 +830,7 @@ Sidebar Placement Adjustments margin-bottom: -1.4em; } -/* line 44, sass/partials/_sidebar_placements.scss */ +/* line 55, sass/partials/_sidebar_placements.scss */ .inner-sidebar .cmb-th, .inner-sidebar .cmb-td, @@ -870,21 +843,21 @@ Sidebar Placement Adjustments float: none; } -/* line 52, sass/partials/_sidebar_placements.scss */ +/* line 63, sass/partials/_sidebar_placements.scss */ .inner-sidebar .closed .inside, #side-sortables .closed .inside { display: none; } -/* line 56, sass/partials/_sidebar_placements.scss */ +/* line 67, sass/partials/_sidebar_placements.scss */ .inner-sidebar .cmb-td .cmb-td, #side-sortables .cmb-td .cmb-td { padding-bottom: 1em; } -/* line 60, sass/partials/_sidebar_placements.scss */ +/* line 71, sass/partials/_sidebar_placements.scss */ .inner-sidebar .cmb-th, #side-sortables .cmb-th { @@ -925,35 +898,35 @@ Sidebar Placement Adjustments line-height: 1.4em; } -/* line 67, sass/partials/_sidebar_placements.scss */ +/* line 78, sass/partials/_sidebar_placements.scss */ .inner-sidebar .cmb-group-description .cmb-th, #side-sortables .cmb-group-description .cmb-th { padding-top: 0; } -/* line 70, sass/partials/_sidebar_placements.scss */ +/* line 81, sass/partials/_sidebar_placements.scss */ .inner-sidebar .cmb-group-description .cmb2-metabox-description, #side-sortables .cmb-group-description .cmb2-metabox-description { padding: 0; } -/* line 77, sass/partials/_sidebar_placements.scss */ +/* line 88, sass/partials/_sidebar_placements.scss */ .inner-sidebar .cmb-group-title .cmb-th, #side-sortables .cmb-group-title .cmb-th { padding: 0; } -/* line 83, sass/partials/_sidebar_placements.scss */ +/* line 94, sass/partials/_sidebar_placements.scss */ .inner-sidebar .cmb-repeatable-grouping + .cmb-repeatable-grouping, #side-sortables .cmb-repeatable-grouping + .cmb-repeatable-grouping { margin-top: 1em; } -/* line 92, sass/partials/_sidebar_placements.scss */ +/* line 103, sass/partials/_sidebar_placements.scss */ .inner-sidebar .cmb2-media-status .img-status img, .inner-sidebar .cmb2-media-status .embed-status img, @@ -963,7 +936,7 @@ Sidebar Placement Adjustments height: auto; } -/* line 100, sass/partials/_sidebar_placements.scss */ +/* line 111, sass/partials/_sidebar_placements.scss */ .inner-sidebar .cmb2-list label, #side-sortables .cmb2-list label { @@ -971,7 +944,7 @@ Sidebar Placement Adjustments font-weight: normal; } -/* line 105, sass/partials/_sidebar_placements.scss */ +/* line 116, sass/partials/_sidebar_placements.scss */ .inner-sidebar .cmb2-metabox-description, #side-sortables .cmb2-metabox-description { @@ -979,7 +952,7 @@ Sidebar Placement Adjustments padding: 7px 0 0; } -/* line 112, sass/partials/_sidebar_placements.scss */ +/* line 123, sass/partials/_sidebar_placements.scss */ .inner-sidebar .cmb-type-checkbox .cmb-td label, .inner-sidebar .cmb-type-checkbox .cmb2-metabox-description, @@ -989,14 +962,14 @@ Sidebar Placement Adjustments display: inline; } -/* line 119, sass/partials/_sidebar_placements.scss */ +/* line 130, sass/partials/_sidebar_placements.scss */ .inner-sidebar .cmb-row .cmb2-metabox-description, #side-sortables .cmb-row .cmb2-metabox-description { padding-bottom: 1.8em; } -/* line 123, sass/partials/_sidebar_placements.scss */ +/* line 134, sass/partials/_sidebar_placements.scss */ .inner-sidebar .cmb2-metabox-title, #side-sortables .cmb2-metabox-title { @@ -1004,7 +977,7 @@ Sidebar Placement Adjustments font-style: italic; } -/* line 128, sass/partials/_sidebar_placements.scss */ +/* line 139, sass/partials/_sidebar_placements.scss */ .inner-sidebar .cmb-remove-row, #side-sortables .cmb-remove-row { @@ -1013,7 +986,7 @@ Sidebar Placement Adjustments padding-bottom: 0; } -/* line 135, sass/partials/_sidebar_placements.scss */ +/* line 146, sass/partials/_sidebar_placements.scss */ .inner-sidebar .cmb-type-colorpicker .cmb-repeat-row .cmb-td, #side-sortables .cmb-type-colorpicker .cmb-repeat-row .cmb-td { @@ -1023,7 +996,7 @@ Sidebar Placement Adjustments padding-top: 0; } -/* line 140, sass/partials/_sidebar_placements.scss */ +/* line 151, sass/partials/_sidebar_placements.scss */ .inner-sidebar .cmb-type-colorpicker .cmb-repeat-row .cmb-td.cmb-remove-row, #side-sortables .cmb-type-colorpicker .cmb-repeat-row .cmb-td.cmb-remove-row { @@ -1031,7 +1004,7 @@ Sidebar Placement Adjustments margin: 0; } -/* line 147, sass/partials/_sidebar_placements.scss */ +/* line 158, sass/partials/_sidebar_placements.scss */ .inner-sidebar .cmb2-upload-button, #side-sortables .cmb2-upload-button { @@ -1114,6 +1087,11 @@ Sidebar Placement Adjustments * http://docs.jquery.com/UI/Theming/API */ +/* line 10, sass/partials/_jquery_ui.scss */ + +.cmb2-element { /* Customized Datepicker & Timepicker */ +} + /* line 11, sass/partials/_jquery_ui.scss */ .cmb2-element .ui-helper-hidden { @@ -1264,7 +1242,6 @@ Sidebar Placement Adjustments .cmb2-element .ui-widget-content .ui-state-default, .cmb2-element .ui-widget-header .ui-state-default { border: 1px solid #d3d3d3; - background: #e6e6e6 url(../images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #555555; } @@ -2662,6 +2639,18 @@ Sidebar Placement Adjustments /* line 248, sass/partials/_jquery_ui.scss */ +.cmb2-element .ui-datepicker select.ui-datepicker-month { + margin-right: 1%; +} + +/* line 249, sass/partials/_jquery_ui.scss */ + +.cmb2-element .ui-datepicker select.ui-datepicker-year { + margin-left: 1%; +} + +/* line 250, sass/partials/_jquery_ui.scss */ + .cmb2-element .ui-datepicker table { width: 100%; font-size: .9em; @@ -2669,7 +2658,7 @@ Sidebar Placement Adjustments margin: 0 0 .4em; } -/* line 249, sass/partials/_jquery_ui.scss */ +/* line 251, sass/partials/_jquery_ui.scss */ .cmb2-element .ui-datepicker th { padding: .7em .3em; @@ -2678,14 +2667,14 @@ Sidebar Placement Adjustments border: 0; } -/* line 250, sass/partials/_jquery_ui.scss */ +/* line 252, sass/partials/_jquery_ui.scss */ .cmb2-element .ui-datepicker td { border: 0; padding: 1px; } -/* line 251, sass/partials/_jquery_ui.scss */ +/* line 253, sass/partials/_jquery_ui.scss */ .cmb2-element .ui-datepicker td span, .cmb2-element .ui-datepicker td a { @@ -2695,7 +2684,7 @@ Sidebar Placement Adjustments text-decoration: none; } -/* line 252, sass/partials/_jquery_ui.scss */ +/* line 254, sass/partials/_jquery_ui.scss */ .cmb2-element .ui-datepicker .ui-datepicker-buttonpane { background-image: none; @@ -2706,7 +2695,7 @@ Sidebar Placement Adjustments border-bottom: 0; } -/* line 253, sass/partials/_jquery_ui.scss */ +/* line 255, sass/partials/_jquery_ui.scss */ .cmb2-element .ui-datepicker .ui-datepicker-buttonpane button { float: right; @@ -2717,68 +2706,68 @@ Sidebar Placement Adjustments overflow: visible; } -/* line 254, sass/partials/_jquery_ui.scss */ +/* line 256, sass/partials/_jquery_ui.scss */ .cmb2-element .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float: left; } -/* line 255, sass/partials/_jquery_ui.scss */ +/* line 257, sass/partials/_jquery_ui.scss */ .cmb2-element .ui-datepicker.ui-datepicker-multi { width: auto; } -/* line 256, sass/partials/_jquery_ui.scss */ +/* line 258, sass/partials/_jquery_ui.scss */ .cmb2-element .ui-datepicker-multi .ui-datepicker-group { float: left; } -/* line 257, sass/partials/_jquery_ui.scss */ +/* line 259, sass/partials/_jquery_ui.scss */ .cmb2-element .ui-datepicker-multi .ui-datepicker-group table { width: 95%; margin: 0 auto .4em; } -/* line 258, sass/partials/_jquery_ui.scss */ +/* line 260, sass/partials/_jquery_ui.scss */ .cmb2-element .ui-datepicker-multi-2 .ui-datepicker-group { width: 50%; } -/* line 259, sass/partials/_jquery_ui.scss */ +/* line 261, sass/partials/_jquery_ui.scss */ .cmb2-element .ui-datepicker-multi-3 .ui-datepicker-group { width: 33.3%; } -/* line 260, sass/partials/_jquery_ui.scss */ +/* line 262, sass/partials/_jquery_ui.scss */ .cmb2-element .ui-datepicker-multi-4 .ui-datepicker-group { width: 25%; } -/* line 261, sass/partials/_jquery_ui.scss */ +/* line 263, sass/partials/_jquery_ui.scss */ .cmb2-element .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width: 0; } -/* line 262, sass/partials/_jquery_ui.scss */ +/* line 264, sass/partials/_jquery_ui.scss */ .cmb2-element .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width: 0; } -/* line 263, sass/partials/_jquery_ui.scss */ +/* line 265, sass/partials/_jquery_ui.scss */ .cmb2-element .ui-datepicker-multi .ui-datepicker-buttonpane { clear: left; } -/* line 264, sass/partials/_jquery_ui.scss */ +/* line 266, sass/partials/_jquery_ui.scss */ .cmb2-element .ui-datepicker-row-break { clear: both; @@ -2786,79 +2775,79 @@ Sidebar Placement Adjustments font-size: 0em; } -/* line 265, sass/partials/_jquery_ui.scss */ +/* line 267, sass/partials/_jquery_ui.scss */ .cmb2-element .ui-datepicker-rtl { direction: rtl; } -/* line 267, sass/partials/_jquery_ui.scss */ +/* line 269, sass/partials/_jquery_ui.scss */ .cmb2-element .ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; } -/* line 268, sass/partials/_jquery_ui.scss */ +/* line 270, sass/partials/_jquery_ui.scss */ .cmb2-element .ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; } -/* line 269, sass/partials/_jquery_ui.scss */ +/* line 271, sass/partials/_jquery_ui.scss */ .cmb2-element .ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; } -/* line 270, sass/partials/_jquery_ui.scss */ +/* line 272, sass/partials/_jquery_ui.scss */ .cmb2-element .ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; } -/* line 271, sass/partials/_jquery_ui.scss */ +/* line 273, sass/partials/_jquery_ui.scss */ .cmb2-element .ui-datepicker-rtl .ui-datepicker-buttonpane { clear: right; } -/* line 272, sass/partials/_jquery_ui.scss */ +/* line 274, sass/partials/_jquery_ui.scss */ .cmb2-element .ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; } -/* line 273, sass/partials/_jquery_ui.scss */ +/* line 275, sass/partials/_jquery_ui.scss */ .cmb2-element .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float: right; } -/* line 274, sass/partials/_jquery_ui.scss */ +/* line 276, sass/partials/_jquery_ui.scss */ .cmb2-element .ui-datepicker-rtl .ui-datepicker-group { float: right; } -/* line 275, sass/partials/_jquery_ui.scss */ +/* line 277, sass/partials/_jquery_ui.scss */ .cmb2-element .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width: 0; border-left-width: 1px; } -/* line 276, sass/partials/_jquery_ui.scss */ +/* line 278, sass/partials/_jquery_ui.scss */ .cmb2-element .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width: 0; border-left-width: 1px; } -/* line 278, sass/partials/_jquery_ui.scss */ +/* line 280, sass/partials/_jquery_ui.scss */ .cmb2-element .ui-datepicker-cover { display: none; /*sorry for IE5*/ @@ -2872,6 +2861,536 @@ Sidebar Placement Adjustments height: 200px; /*must have*/ } +/* line 292, sass/partials/_jquery_ui.scss */ + +.cmb2-element .ui-datepicker { + padding: 0; + border: 1px solid #ddd; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +/* line 293, sass/partials/_jquery_ui.scss */ + +.cmb2-element .ui-datepicker * { + padding: 0; + font-family: "Open Sans", sans-serif; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +/* line 294, sass/partials/_jquery_ui.scss */ + +.cmb2-element .ui-datepicker table { + font-size: 13px; + margin: 0; +} + +/* line 295, sass/partials/_jquery_ui.scss */ + +.cmb2-element .ui-datepicker .ui-datepicker-header { + border: none; + background: #222; + color: #fff; + font-weight: normal; +} + +/* line 296, sass/partials/_jquery_ui.scss */ + +.cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover { + background: #222; + border-color: transparent; + cursor: pointer; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +/* line 297, sass/partials/_jquery_ui.scss */ + +.cmb2-element .ui-datepicker thead { + background: #222; + color: #fff; +} + +/* line 298, sass/partials/_jquery_ui.scss */ + +.cmb2-element .ui-datepicker .ui-datepicker-title { + margin-top: .4em; + margin-bottom: .3em; + color: #fff; + font-size: 14px; +} + +/* line 299, sass/partials/_jquery_ui.scss */ + +.cmb2-element .ui-datepicker .ui-datepicker-prev-hover, +.cmb2-element .ui-datepicker .ui-datepicker-next-hover, +.cmb2-element .ui-datepicker .ui-datepicker-next, +.cmb2-element .ui-datepicker .ui-datepicker-prev { + height: 1em; + top: .9em; + border: none; +} + +/* line 300, sass/partials/_jquery_ui.scss */ + +.cmb2-element .ui-datepicker .ui-datepicker-prev-hover { + left: 2px; +} + +/* line 301, sass/partials/_jquery_ui.scss */ + +.cmb2-element .ui-datepicker .ui-datepicker-next-hover { + right: 2px; +} + +/* line 302, sass/partials/_jquery_ui.scss */ + +.cmb2-element .ui-datepicker .ui-datepicker-next span, +.cmb2-element .ui-datepicker .ui-datepicker-prev span { + background-image: url("data:image/png;base64,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"); + background-position: -32px 0; + margin-top: 0; + top: 0; + font-weight: normal; +} + +/* line 303, sass/partials/_jquery_ui.scss */ + +.cmb2-element .ui-datepicker .ui-datepicker-prev span { + background-position: -96px 0; +} + +/* line 304, sass/partials/_jquery_ui.scss */ + +.cmb2-element .ui-datepicker th { + padding: 0.75em 0; + color: #fff; + font-weight: normal; + border: none; + border-top: 1px solid #333; +} + +/* line 305, sass/partials/_jquery_ui.scss */ + +.cmb2-element .ui-datepicker td { + background: #f1f1f1; + border: none; + padding: 0; +} + +/* line 306, sass/partials/_jquery_ui.scss */ + +.cmb2-element .ui-datepicker td .ui-state-default { + background: transparent; + border: none; + text-align: center; + padding: .5em; + margin: 0; + font-weight: normal; + color: #333; +} + +/* line 307, sass/partials/_jquery_ui.scss */ + +.cmb2-element .ui-datepicker td .ui-state-active, +.cmb2-element .ui-datepicker td .ui-state-hover { + background: #0074a2; + color: #fff; +} + +/* line 308, sass/partials/_jquery_ui.scss */ + +.cmb2-element .ui-datepicker td.ui-state-disabled, +.cmb2-element .ui-datepicker td.ui-state-disabled .ui-state-default { + opacity: 1; + color: #999; +} + +/* line 309, sass/partials/_jquery_ui.scss */ + +.cmb2-element .ui-datepicker { + background: #f1f1f1; +} + +/* line 310, sass/partials/_jquery_ui.scss */ + +.cmb2-element .ui-datepicker .ui-datepicker-close, +.cmb2-element .ui-datepicker .ui-datepicker-current { + font-size: 14px; + font-weight: normal; + background-image: none; + border: none; +} + +/* line 311, sass/partials/_jquery_ui.scss */ + +.cmb2-element .ui-datepicker .ui-datepicker-current:hover, +.cmb2-element .ui-datepicker .ui-datepicker-current:active, +.cmb2-element .ui-datepicker .ui-datepicker-close:hover, +.cmb2-element .ui-datepicker .ui-datepicker-close:active { + background: #096484; + color: #fff; +} + +/* line 312, sass/partials/_jquery_ui.scss */ + +.cmb2-element .ui-datepicker .ui-datepicker-buttonpane { + border: none; +} + +/* line 313, sass/partials/_jquery_ui.scss */ + +.cmb2-element .ui-timepicker-div { + font-size: 14px; +} + +/* line 314, sass/partials/_jquery_ui.scss */ + +.cmb2-element .ui-timepicker-div .ui-widget-header { + margin-bottom: 8px; + background: #222; + border-color: #222; +} + +/* line 315, sass/partials/_jquery_ui.scss */ + +.cmb2-element .ui-timepicker-div dl { + text-align: left; +} + +/* line 316, sass/partials/_jquery_ui.scss */ + +.cmb2-element .ui-timepicker-div dl dt { + float: left; + clear: left; + padding: 0 0 0 5px; +} + +/* line 317, sass/partials/_jquery_ui.scss */ + +.cmb2-element .ui-timepicker-div dl dd { + margin: 0 10px 10px 40%; +} + +/* line 318, sass/partials/_jquery_ui.scss */ + +.cmb2-element .ui-tpicker-grid-label { + background: none; + border: none; + margin: 0; + padding: 0; +} + +/* line 319, sass/partials/_jquery_ui.scss */ + +.cmb2-element .ui-timepicker-rtl { + direction: rtl; +} + +/* line 320, sass/partials/_jquery_ui.scss */ + +.cmb2-element .ui-timepicker-rtl dl { + text-align: right; + padding: 0 5px 0 0; +} + +/* line 321, sass/partials/_jquery_ui.scss */ + +.cmb2-element .ui-timepicker-rtl dl dt { + float: right; + clear: right; +} + +/* line 322, sass/partials/_jquery_ui.scss */ + +.cmb2-element .ui-timepicker-rtl dl dd { + margin: 0 40% 10px 10px; +} + +/* line 326, sass/partials/_jquery_ui.scss */ + +.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-header, +.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover, +.admin-color-blue .cmb2-element .ui-datepicker thead, +.admin-color-blue .cmb2-element .ui-timepicker-div .ui-widget-header { + background: #4796b3; +} + +/* line 327, sass/partials/_jquery_ui.scss */ + +.admin-color-blue .cmb2-element .ui-timepicker-div .ui-widget-header { + border-color: #4796b3; +} + +/* line 328, sass/partials/_jquery_ui.scss */ + +.admin-color-blue .cmb2-element .ui-datepicker th { + border-color: #52accc; +} + +/* line 329, sass/partials/_jquery_ui.scss */ + +.admin-color-blue .cmb2-element .ui-datepicker td .ui-state-active, +.admin-color-blue .cmb2-element .ui-datepicker td .ui-state-hover { + background: #096484; +} + +/* line 330, sass/partials/_jquery_ui.scss */ + +.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-current:hover, +.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-current:active, +.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-close:hover, +.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-close:active { + background: #096484; + color: #fff; +} + +/* line 335, sass/partials/_jquery_ui.scss */ + +.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-header, +.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover, +.admin-color-coffee .cmb2-element .ui-datepicker thead, +.admin-color-coffee .cmb2-element .ui-timepicker-div .ui-widget-header { + background: #46403c; +} + +/* line 336, sass/partials/_jquery_ui.scss */ + +.admin-color-coffee .cmb2-element .ui-datepicker th { + border-color: #59524c; +} + +/* line 337, sass/partials/_jquery_ui.scss */ + +.admin-color-coffee .cmb2-element .ui-datepicker td .ui-state-active, +.admin-color-coffee .cmb2-element .ui-datepicker td .ui-state-hover { + background: #c7a589; +} + +/* line 338, sass/partials/_jquery_ui.scss */ + +.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-current:hover, +.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-current:active, +.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-close:hover, +.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-close:active { + background: #c7a589; + color: #fff; +} + +/* line 343, sass/partials/_jquery_ui.scss */ + +.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-header, +.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover, +.admin-color-ectoplasm .cmb2-element .ui-datepicker thead, +.admin-color-ectoplasm .cmb2-element .ui-timepicker-div .ui-widget-header { + background: #413256; +} + +/* line 344, sass/partials/_jquery_ui.scss */ + +.admin-color-ectoplasm .cmb2-element .ui-timepicker-div .ui-widget-header { + border-color: #413256; +} + +/* line 345, sass/partials/_jquery_ui.scss */ + +.admin-color-ectoplasm .cmb2-element .ui-datepicker th { + border-color: #523f6d; +} + +/* line 346, sass/partials/_jquery_ui.scss */ + +.admin-color-ectoplasm .cmb2-element .ui-datepicker td .ui-state-active, +.admin-color-ectoplasm .cmb2-element .ui-datepicker td .ui-state-hover { + background: #a3b745; +} + +/* line 347, sass/partials/_jquery_ui.scss */ + +.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-current:hover, +.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-current:active, +.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-close:hover, +.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-close:active { + background: #a3b745; + color: #fff; +} + +/* line 352, sass/partials/_jquery_ui.scss */ + +.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-header, +.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover, +.admin-color-midnight .cmb2-element .ui-datepicker thead, +.admin-color-midnight .cmb2-element .ui-timepicker-div .ui-widget-header { + background: #26292c; +} + +/* line 353, sass/partials/_jquery_ui.scss */ + +.admin-color-midnight .cmb2-element .ui-datepicker th { + border-color: #363b3f; +} + +/* line 354, sass/partials/_jquery_ui.scss */ + +.admin-color-midnight .cmb2-element .ui-datepicker td .ui-state-active, +.admin-color-midnight .cmb2-element .ui-datepicker td .ui-state-hover { + background: #e14d43; +} + +/* line 355, sass/partials/_jquery_ui.scss */ + +.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-current:hover, +.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-current:active, +.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-close:hover, +.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-close:active { + background: #e14d43; + color: #fff; +} + +/* line 360, sass/partials/_jquery_ui.scss */ + +.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-header, +.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover, +.admin-color-ocean .cmb2-element .ui-datepicker thead, +.admin-color-ocean .cmb2-element .ui-timepicker-div .ui-widget-header { + background: #627c83; +} + +/* line 361, sass/partials/_jquery_ui.scss */ + +.admin-color-ocean .cmb2-element .ui-timepicker-div .ui-widget-header { + border-color: #627c83; +} + +/* line 362, sass/partials/_jquery_ui.scss */ + +.admin-color-ocean .cmb2-element .ui-datepicker th { + border-color: #738e96; +} + +/* line 363, sass/partials/_jquery_ui.scss */ + +.admin-color-ocean .cmb2-element .ui-datepicker td .ui-state-active, +.admin-color-ocean .cmb2-element .ui-datepicker td .ui-state-hover { + background: #9ebaa0; +} + +/* line 364, sass/partials/_jquery_ui.scss */ + +.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-current:hover, +.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-current:active, +.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-close:hover, +.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-close:active { + background: #9ebaa0; + color: #fff; +} + +/* line 369, sass/partials/_jquery_ui.scss */ + +.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header, +.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover, +.admin-color-sunrise .cmb2-element .ui-datepicker thead, +.admin-color-sunrise .cmb2-element .ui-timepicker-div .ui-widget-header { + background: #be3631; +} + +/* line 370, sass/partials/_jquery_ui.scss */ + +.admin-color-sunrise .cmb2-element .ui-timepicker-div .ui-widget-header { + border-color: #be3631; +} + +/* line 371, sass/partials/_jquery_ui.scss */ + +.admin-color-sunrise .cmb2-element .ui-datepicker th { + border-color: #cf4944; +} + +/* line 372, sass/partials/_jquery_ui.scss */ + +.admin-color-sunrise .cmb2-element .ui-datepicker td .ui-state-active, +.admin-color-sunrise .cmb2-element .ui-datepicker td .ui-state-hover { + background: #dd823b; +} + +/* line 373, sass/partials/_jquery_ui.scss */ + +.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-current:hover, +.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-current:active, +.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-close:hover, +.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-close:active { + background: #dd823b; + color: #fff; +} + +/* line 378, sass/partials/_jquery_ui.scss */ + +.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-header, +.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover, +.admin-color-light .cmb2-element .ui-datepicker thead, +.admin-color-light .cmb2-element .ui-timepicker-div .ui-widget-header, +.admin-color-light .cmb2-element .ui-timepicker-div .ui-widget-header { + background: #e5e5e5; +} + +/* line 379, sass/partials/_jquery_ui.scss */ + +.admin-color-light .cmb2-element .ui-timepicker-div .ui-widget-header { + border-color: #e5e5e5; +} + +/* line 380, sass/partials/_jquery_ui.scss */ + +.admin-color-light .cmb2-element .ui-datepicker td, +.admin-color-light .cmb2-element .ui-datepicker { + background: #fff; +} + +/* line 381, sass/partials/_jquery_ui.scss */ + +.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-next span, +.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-prev span { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAYAAADvl7rLAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxMUIxRjI2RjhCODYxMUUzQTEyNERCMDU1QzdBQ0EyMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxMUIxRjI3MDhCODYxMUUzQTEyNERCMDU1QzdBQ0EyMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjExQjFGMjZEOEI4NjExRTNBMTI0REIwNTVDN0FDQTIwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjExQjFGMjZFOEI4NjExRTNBMTI0REIwNTVDN0FDQTIwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+kKfR4AAAHcRJREFUeNrsXWuM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"); +} + +/* line 382, sass/partials/_jquery_ui.scss */ + +.admin-color-light .cmb2-element .ui-datepicker th { + border-color: #fff; +} + +/* line 383, sass/partials/_jquery_ui.scss */ + +.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-title, +.admin-color-light .cmb2-element .ui-datepicker td .ui-state-default, +.admin-color-light .cmb2-element .ui-datepicker th, +.admin-color-light .cmb2-element .ui-timepicker-div .ui-widget-header { + color: #555; +} + +/* line 384, sass/partials/_jquery_ui.scss */ + +.admin-color-light .cmb2-element .ui-datepicker td .ui-state-active, +.admin-color-light .cmb2-element .ui-datepicker td .ui-state-hover, +.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-current:hover, +.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-current:active, +.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-close:hover, +.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-close:active { + color: #fff; + background: #888; +} + +/* line 385, sass/partials/_jquery_ui.scss */ + +.admin-color-light .cmb2-element .ui-datepicker td.ui-state-disabled, +.admin-color-light .cmb2-element .ui-datepicker td.ui-state-disabled .ui-state-default { + color: #ccc; +} + /*# sourceMappingURL=cmb2.css.map */ @media (max-width: 450px) { diff --git a/css/cmb2.min.css b/css/cmb2.min.css index 9684232..5271292 100644 --- a/css/cmb2.min.css +++ b/css/cmb2.min.css @@ -1 +1 @@ -.cmb2-wrap{margin:0}.cmb2-wrap input,.cmb2-wrap textarea{font-size:14px;max-width:100%;padding:5px}.cmb2-wrap input[type=text].cmb2-oembed{width:100%}.cmb2-wrap textarea{width:500px}.cmb2-wrap textarea.cmb2-textarea-code{font-family:"Courier 10 Pitch",Courier,monospace;line-height:16px}.cmb2-wrap input.cmb2-text-small,.cmb2-wrap input.cmb2-timepicker{width:100px}.cmb2-wrap input.cmb2-text-money{width:90px}.cmb2-wrap input.cmb2-text-medium{width:230px}.cmb2-wrap input.cmb2-upload-file{width:65%}.cmb2-wrap input.ed_button{padding:2px 4px}.cmb2-wrap input:not([type=hidden])+.button,.cmb2-wrap input:not([type=hidden])+input,.cmb2-wrap input:not([type=hidden])+select{margin-left:20px}.cmb2-wrap ul{margin:0}.cmb2-wrap li{font-size:14px;line-height:16px;margin:1px 0 5px}.cmb2-wrap select{font-size:14px;margin-top:3px}.cmb2-wrap input:focus,.cmb2-wrap textarea:focus{background:#fffff8}.cmb2-wrap input[type=checkbox],.cmb2-wrap input[type=radio]{margin:0 5px 0 0;padding:0}.cmb2-wrap .button,.cmb2-wrap button{white-space:nowrap}.cmb2-wrap .mceLayout{border:1px solid #e9e9e9!important}.cmb2-wrap .mceIframeContainer{background:#fff}.cmb2-wrap .meta_mce{width:97%}.cmb2-wrap .meta_mce textarea{width:100%}.cmb2-wrap .wp-color-result,.cmb2-wrap .wp-picker-input-wrap{vertical-align:middle}.cmb2-wrap .wp-color-result,.cmb2-wrap .wp-picker-container{margin:0 10px 0 0}.cmb2-wrap .cmb-row{margin:0}.cmb2-wrap .cmb-row:after{content:'';clear:both;display:block;width:100%}.cmb2-wrap .cmb-row.cmb-repeat-row{padding:1.8em 0 0}.cmb2-wrap .cmb-row.cmb-repeat-row:first-of-type{padding:0}.cmb2-wrap .cmb-row.cmb-repeat .cmb2-metabox-description{padding-top:0;padding-bottom:1.8em}.cmb2-metabox{clear:both;margin:0}.cmb2-metabox .cmb-field-list>.cmb-row:first-of-type>.cmb-td,.cmb2-metabox .cmb-field-list>.cmb-row:first-of-type>.cmb-th,.cmb2-metabox>.cmb-row:first-of-type>.cmb-td,.cmb2-metabox>.cmb-row:first-of-type>.cmb-th{border:0}.cmb2-metabox>.cmb-row .cmb-repeat-table .cmb-row>.cmb-td{padding-right:20px;box-sizing:border-box;float:left}.cmb-add-row{margin:1.8em 0 0}.cmb-nested .cmb-td,.cmb-repeatable-group .cmb-th,.cmb-repeatable-group:first-of-type{border:0}.cmb-repeatable-group:last-of-type,.cmb-row:last-of-type,.cmb2-wrap .cmb-row:last-of-type{border-bottom:0}.cmb-repeatable-grouping{border:1px solid #e9e9e9;padding:0 1em;max-width:1000px}.cmb-repeatable-grouping.cmb-row{margin:0 0 .8em}.cmb-th{color:#222;float:left;font-weight:600;line-height:1.3;padding:20px 10px 20px 0;vertical-align:top;width:200px}.cmb-td{line-height:1.3;max-width:100%;padding:15px 10px;vertical-align:middle}.cmb-type-title .cmb-td{padding:0}.cmb-th label{display:block;padding:5px 0}.cmb-th+.cmb-td{float:left}.cmb-td .cmb-td{padding-bottom:1em}.cmb-remove-row{text-align:right}.empty-row.hidden{display:none}.cmb-repeatable-group .cmb-th{padding:5px}.cmb-repeatable-group .cmb-group-title{background-color:#e9e9e9;padding:8px 12px 8px 2.2em;margin:0 -1em;min-height:1.5em;font-size:14px;line-height:1.4}.cmb-repeatable-group .cmb-group-title h4{border:0;margin:0;font-size:1.2em;font-weight:500;padding:.5em .75em}.cmb-repeatable-group .cmb-group-title .cmb-th{display:block;width:100%}.cmb-repeatable-group .cmb-group-description .cmb-th{font-size:1.2em;display:block;float:none;padding-bottom:1em;text-align:left;width:100%}.cmb-repeatable-group .cmb-group-description .cmb-th label{display:block;margin-top:0;padding-bottom:5px}.cmb-repeatable-group .cmb-group-description .cmb-th label:after{border-bottom:1px solid #e9e9e9;content:'';clear:both;display:block;padding-top:.4em}.cmb-repeatable-group .cmb-shift-rows{font-size:1em;margin-right:1em;text-decoration:none}.cmb-repeatable-group .cmb-shift-rows .dashicons{font-size:1.5em;height:1.5em;line-height:1.2em;width:1em}.cmb-repeatable-group .cmb-shift-rows .dashicons.dashicons-arrow-down-alt2{line-height:1.3em}.cmb-repeatable-group .cmb2-upload-button{float:right}p.cmb2-metabox-description{color:#aaa;font-style:italic;margin:0;padding-top:.5em}span.cmb2-metabox-description{color:#aaa;font-style:italic}.cmb2-metabox-title{margin:0 0 5px;padding:5px 0 0;font-size:14px}.cmb-inline ul{padding:4px 0 0}.cmb-inline li{display:inline-block;padding-right:18px}.cmb-type-textarea-code pre{margin:0}.cmb2-media-status .img-status{clear:none;display:inline-block;float:left;margin-right:10px;width:auto}.cmb2-media-status .img-status img{max-width:350px}.cmb2-media-status .embed-status,.cmb2-media-status .img-status img{background:#fff;border:1px solid #e9e9e9;border-radius:2px;-moz-border-radius:2px;margin:15px 0 0;padding:5px}.cmb2-media-status .embed-status{float:left;max-width:800px}.cmb2-media-status .embed-status,.cmb2-media-status .img-status{position:relative}.cmb2-media-status .embed-status .cmb2-remove-file-button,.cmb2-media-status .img-status .cmb2-remove-file-button{background:url(../images/ico-delete.png);height:16px;left:-5px;position:absolute;text-indent:-9999px;top:-5px;width:16px}.cmb2-media-status .img-status .cmb2-remove-file-button{top:10px}.cmb2-media-status .file-status>span,.cmb2-media-status .img-status img{cursor:pointer}.cmb-type-file-list .cmb2-media-status .img-status{clear:none;float:left;margin-right:10px;width:auto}.cmb-attach-list li{clear:both;display:inline-block;margin-bottom:25px;width:100%}.cmb-attach-list li img{cursor:move;float:left;margin-right:10px}.cmb2-remove-wrapper{margin:0}.child-cmb2 .cmb-th{text-align:left}div.time-picker{background:#fff;border:1px solid #aaa;height:191px;margin:0;position:absolute;overflow:auto;width:6em;z-index:99}div.time-picker ul{list-style-type:none;margin:0;padding:0}div.time-picker li{cursor:pointer;margin-bottom:0;font-family:sans-serif;font-size:14px;padding:4px 3px}div.time-picker li.selected{background:#0063ce;color:#fff}div.time-picker-12hours{width:8em}#poststuff .cmb-group-title{margin-left:-1em;margin-right:-1em;padding-left:2.2em;min-height:1.5em}.cmb-repeat-group-wrap .cmb2-wrap,.postbox-container .cmb2-wrap{margin:0}.cmb-repeat-group-wrap .cmb2-wrap>.cmb-field-list>.cmb-row,.postbox-container .cmb2-wrap>.cmb-field-list>.cmb-row{padding:1.8em 0}.cmb-repeat-group-wrap .cmb2-wrap input[type=text].cmb2-oembed,.postbox-container .cmb2-wrap input[type=text].cmb2-oembed{width:100%}.cmb-repeat-group-wrap .cmb-row,.postbox-container .cmb-row{padding:0 0 1.8em;margin:0 0 .8em}.cmb-repeat-group-wrap .cmb-row .cmbhandle,.postbox-container .cmb-row .cmbhandle{right:-1em;position:relative}.cmb-repeat-group-wrap .cmb-repeatable-grouping,.postbox-container .cmb-repeatable-grouping{padding:0 1em;max-width:100%;min-width:1px!important}.cmb-repeat-group-wrap .cmb-repeatable-group>.cmb-row,.postbox-container .cmb-repeatable-group>.cmb-row{padding-bottom:0}.cmb-repeat-group-wrap .cmb-th,.postbox-container .cmb-th{width:18%;padding:0 2% 0 0}.cmb-repeat-group-wrap .cmb-td,.postbox-container .cmb-td{margin-bottom:0;padding:0;line-height:1.3}.cmb-repeat-group-wrap .cmb-repeat-row .cmb-td,.postbox-container .cmb-repeat-row .cmb-td{padding-bottom:1.8em}.cmb-repeat-group-wrap .cmb-th+.cmb-td,.postbox-container .cmb-th+.cmb-td{width:80%;float:right}.cmb-repeat-group-wrap .cmb-repeatable-group:not(:last-of-type),.cmb-repeat-group-wrap .cmb-row:not(:last-of-type),.postbox-container .cmb-repeatable-group:not(:last-of-type),.postbox-container .cmb-row:not(:last-of-type){border-bottom:1px solid #e9e9e9}.cmb-repeat-group-wrap .cmb-remove-field-row,.cmb-repeat-group-wrap .cmb-repeat-group-field,.postbox-container .cmb-remove-field-row,.postbox-container .cmb-repeat-group-field{padding-top:1.8em}.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody,.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody,.postbox-container .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody,.postbox-container .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody{display:table;width:100%}.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,.postbox-container .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,.postbox-container .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text{width:100%}.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),.postbox-container .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),.postbox-container .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row){display:table-row}.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,.postbox-container .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,.postbox-container .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td{display:table-cell;float:none;width:100%}.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,.postbox-container .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,.postbox-container .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td{padding-top:1.8em}.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,.postbox-container .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,.postbox-container .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row{padding-right:0}#poststuff .cmb-repeatable-group h2{margin:0}.edit-tags-php .cmb2-metabox-title,.profile-php .cmb2-metabox-title,.user-edit-php .cmb2-metabox-title{font-size:1.4em}.postbox .cmb-spinner{float:left}#side-sortables .cmb2-wrap>.cmb-field-list>.cmb-row,.inner-sidebar .cmb2-wrap>.cmb-field-list>.cmb-row{padding:1.4em 0}#side-sortables .cmb2-wrap input[type=text]:not(.wp-color-picker),.inner-sidebar .cmb2-wrap input[type=text]:not(.wp-color-picker){width:100%}#side-sortables .cmb2-wrap input+input:not(.wp-picker-clear),#side-sortables .cmb2-wrap input+select,.inner-sidebar .cmb2-wrap input+input:not(.wp-picker-clear),.inner-sidebar .cmb2-wrap input+select{margin-left:0;margin-top:1em;display:block}#side-sortables .cmb2-wrap label,.inner-sidebar .cmb2-wrap label{display:block;font-weight:700;padding:0 0 5px}#side-sortables .cmb-repeatable-group,.inner-sidebar .cmb-repeatable-group{border-bottom:1px solid #e9e9e9}#side-sortables .cmb-repeat-group-wrap>.cmb-td>.cmb-repeatable-group,.inner-sidebar .cmb-repeat-group-wrap>.cmb-td>.cmb-repeatable-group{border-bottom:0;margin-bottom:-1.4em}#side-sortables .cmb-td,#side-sortables .cmb-th,#side-sortables .cmb-th+.cmb-td,.inner-sidebar .cmb-td,.inner-sidebar .cmb-th,.inner-sidebar .cmb-th+.cmb-td{width:100%;display:block;float:none}#side-sortables .closed .inside,.inner-sidebar .closed .inside{display:none}#side-sortables .cmb-td .cmb-td,.inner-sidebar .cmb-td .cmb-td{padding-bottom:1em}#side-sortables .cmb-th,.inner-sidebar .cmb-th{display:block;float:none;padding-bottom:1em;text-align:left;width:100%;padding-left:0;padding-right:0}#side-sortables .cmb-th label,.inner-sidebar .cmb-th label{display:block;margin-top:0;padding-bottom:5px}#side-sortables .cmb-th label:after,.inner-sidebar .cmb-th label:after{border-bottom:1px solid #e9e9e9;content:'';clear:both;display:block;padding-top:.4em}#side-sortables .cmb-th label,.inner-sidebar .cmb-th label{font-size:14px;line-height:1.4em}#side-sortables .cmb-group-description .cmb-th,.inner-sidebar .cmb-group-description .cmb-th{padding-top:0}#side-sortables .cmb-group-description .cmb2-metabox-description,#side-sortables .cmb-group-title .cmb-th,.inner-sidebar .cmb-group-description .cmb2-metabox-description,.inner-sidebar .cmb-group-title .cmb-th{padding:0}#side-sortables .cmb-repeatable-grouping+.cmb-repeatable-grouping,.inner-sidebar .cmb-repeatable-grouping+.cmb-repeatable-grouping{margin-top:1em}#side-sortables .cmb2-media-status .embed-status img,#side-sortables .cmb2-media-status .img-status img,.inner-sidebar .cmb2-media-status .embed-status img,.inner-sidebar .cmb2-media-status .img-status img{max-width:90%;height:auto}#side-sortables .cmb2-list label,.inner-sidebar .cmb2-list label{display:inline;font-weight:400}#side-sortables .cmb2-metabox-description,.inner-sidebar .cmb2-metabox-description{display:block;padding:7px 0 0}#side-sortables .cmb-type-checkbox .cmb-td label,#side-sortables .cmb-type-checkbox .cmb2-metabox-description,.inner-sidebar .cmb-type-checkbox .cmb-td label,.inner-sidebar .cmb-type-checkbox .cmb2-metabox-description{font-weight:400;display:inline}#side-sortables .cmb-row .cmb2-metabox-description,.inner-sidebar .cmb-row .cmb2-metabox-description{padding-bottom:1.8em}#side-sortables .cmb2-metabox-title,.inner-sidebar .cmb2-metabox-title{font-size:1.2em;font-style:italic}#side-sortables .cmb-remove-row,.inner-sidebar .cmb-remove-row{clear:both;padding-top:12px;padding-bottom:0}#side-sortables .cmb-type-colorpicker .cmb-repeat-row .cmb-td,.inner-sidebar .cmb-type-colorpicker .cmb-repeat-row .cmb-td{width:auto;clear:none;float:left;padding-top:0}#side-sortables .cmb-type-colorpicker .cmb-repeat-row .cmb-td.cmb-remove-row,.inner-sidebar .cmb-type-colorpicker .cmb-repeat-row .cmb-td.cmb-remove-row{float:right;margin:0}#side-sortables .cmb2-upload-button,.inner-sidebar .cmb2-upload-button{clear:both;margin-top:12px}.cmb2-metabox .cmb-repeat-group-wrap{max-width:1000px}.cmb2-metabox .cmbhandle{color:#aaa;float:right;width:27px;height:30px;cursor:pointer;right:-1em;position:relative}.cmb2-metabox .cmbhandle:before{content:'\f142';right:12px;font:400 20px/1 dashicons;speak:none;display:inline-block;padding:8px 10px;top:0;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.cmb2-metabox .postbox.closed .cmbhandle:before{content:'\f140'}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row{-webkit-appearance:none!important;background:none!important;border:none!important;position:absolute;left:0;top:.5em;line-height:1em;cursor:pointer}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]){color:#a00}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]):hover{color:red}.cmb2-element .ui-helper-hidden{display:none}.cmb2-element .ui-helper-hidden-accessible{position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}.cmb2-element .ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.cmb2-element .ui-helper-clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden}.cmb2-element * html .ui-helper-clearfix{height:1%}.cmb2-element .ui-helper-clearfix{display:block}.cmb2-element .ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.cmb2-element .ui-state-disabled{cursor:default!important}.cmb2-element .ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.cmb2-element .ui-widget-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.cmb2-element .ui-widget{font-family:Verdana,Arial,sans-serif;font-size:1.1em}.cmb2-element .ui-widget .ui-widget{font-size:1em}.cmb2-element .ui-widget button,.cmb2-element .ui-widget input,.cmb2-element .ui-widget select,.cmb2-element .ui-widget textarea{font-family:Verdana,Arial,sans-serif;font-size:1em}.cmb2-element .ui-widget-content{border:1px solid #aaa;background:#fff url(../images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x;color:#222}.cmb2-element .ui-widget-content a{color:#222}.cmb2-element .ui-widget-header{border:1px solid #aaa;background:#ccc url(../images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;color:#222;font-weight:700}.cmb2-element .ui-widget-header a{color:#222}.cmb2-element .ui-state-default,.cmb2-element .ui-widget-content .ui-state-default,.cmb2-element .ui-widget-header .ui-state-default{border:1px solid #d3d3d3;background:#e6e6e6 url(../images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x;font-weight:400;color:#555}.cmb2-element .ui-state-default a,.cmb2-element .ui-state-default a:link,.cmb2-element .ui-state-default a:visited{color:#555;text-decoration:none}.cmb2-element .ui-state-focus,.cmb2-element .ui-state-hover,.cmb2-element .ui-widget-content .ui-state-focus,.cmb2-element .ui-widget-content .ui-state-hover,.cmb2-element .ui-widget-header .ui-state-focus,.cmb2-element .ui-widget-header .ui-state-hover{border:1px solid #999;background:#dadada url(../images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x;font-weight:400;color:#212121}.cmb2-element .ui-state-hover a,.cmb2-element .ui-state-hover a:hover{color:#212121;text-decoration:none}.cmb2-element .ui-state-active,.cmb2-element .ui-widget-content .ui-state-active,.cmb2-element .ui-widget-header .ui-state-active{border:1px solid #aaa;background:#fff url(../images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x;font-weight:400;color:#212121}.cmb2-element .ui-state-active a,.cmb2-element .ui-state-active a:link,.cmb2-element .ui-state-active a:visited{color:#212121;text-decoration:none}.cmb2-element .ui-widget :active{outline:0}.cmb2-element .ui-state-highlight,.cmb2-element .ui-widget-content .ui-state-highlight,.cmb2-element .ui-widget-header .ui-state-highlight{border:1px solid #fcefa1;background:#fbf9ee url(../images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x;color:#363636}.cmb2-element .ui-state-highlight a,.cmb2-element .ui-widget-content .ui-state-highlight a,.cmb2-element .ui-widget-header .ui-state-highlight a{color:#363636}.cmb2-element .ui-state-error,.cmb2-element .ui-widget-content .ui-state-error,.cmb2-element .ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#fef1ec url(../images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;color:#cd0a0a}.cmb2-element .ui-state-error a,.cmb2-element .ui-state-error-text,.cmb2-element .ui-widget-content .ui-state-error a,.cmb2-element .ui-widget-content .ui-state-error-text,.cmb2-element .ui-widget-header .ui-state-error a,.cmb2-element .ui-widget-header .ui-state-error-text{color:#cd0a0a}.cmb2-element .ui-priority-primary,.cmb2-element .ui-widget-content .ui-priority-primary,.cmb2-element .ui-widget-header .ui-priority-primary{font-weight:700}.cmb2-element .ui-priority-secondary,.cmb2-element .ui-widget-content .ui-priority-secondary,.cmb2-element .ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:400}.cmb2-element .ui-state-disabled,.cmb2-element .ui-widget-content .ui-state-disabled,.cmb2-element .ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.cmb2-element .ui-icon{width:16px;height:16px;background-image:url(../images/ui-icons_222222_256x240.png)}.cmb2-element .ui-widget-content .ui-icon,.cmb2-element .ui-widget-header .ui-icon{background-image:url(../images/ui-icons_222222_256x240.png)}.cmb2-element .ui-state-default .ui-icon{background-image:url(../images/ui-icons_888888_256x240.png)}.cmb2-element .ui-state-active .ui-icon,.cmb2-element .ui-state-focus .ui-icon,.cmb2-element .ui-state-hover .ui-icon{background-image:url(../images/ui-icons_454545_256x240.png)}.cmb2-element .ui-state-highlight .ui-icon{background-image:url(../images/ui-icons_2e83ff_256x240.png)}.cmb2-element .ui-state-error .ui-icon,.cmb2-element .ui-state-error-text .ui-icon{background-image:url(../images/ui-icons_cd0a0a_256x240.png)}.cmb2-element .ui-icon-carat-1-n{background-position:0 0}.cmb2-element .ui-icon-carat-1-ne{background-position:-16px 0}.cmb2-element .ui-icon-carat-1-e{background-position:-32px 0}.cmb2-element .ui-icon-carat-1-se{background-position:-48px 0}.cmb2-element .ui-icon-carat-1-s{background-position:-64px 0}.cmb2-element .ui-icon-carat-1-sw{background-position:-80px 0}.cmb2-element .ui-icon-carat-1-w{background-position:-96px 0}.cmb2-element .ui-icon-carat-1-nw{background-position:-112px 0}.cmb2-element .ui-icon-carat-2-n-s{background-position:-128px 0}.cmb2-element .ui-icon-carat-2-e-w{background-position:-144px 0}.cmb2-element .ui-icon-triangle-1-n{background-position:0 -16px}.cmb2-element .ui-icon-triangle-1-ne{background-position:-16px -16px}.cmb2-element .ui-icon-triangle-1-e{background-position:-32px -16px}.cmb2-element .ui-icon-triangle-1-se{background-position:-48px -16px}.cmb2-element .ui-icon-triangle-1-s{background-position:-64px -16px}.cmb2-element .ui-icon-triangle-1-sw{background-position:-80px -16px}.cmb2-element .ui-icon-triangle-1-w{background-position:-96px -16px}.cmb2-element .ui-icon-triangle-1-nw{background-position:-112px -16px}.cmb2-element .ui-icon-triangle-2-n-s{background-position:-128px -16px}.cmb2-element .ui-icon-triangle-2-e-w{background-position:-144px -16px}.cmb2-element .ui-icon-arrow-1-n{background-position:0 -32px}.cmb2-element .ui-icon-arrow-1-ne{background-position:-16px -32px}.cmb2-element .ui-icon-arrow-1-e{background-position:-32px -32px}.cmb2-element .ui-icon-arrow-1-se{background-position:-48px -32px}.cmb2-element .ui-icon-arrow-1-s{background-position:-64px -32px}.cmb2-element .ui-icon-arrow-1-sw{background-position:-80px -32px}.cmb2-element .ui-icon-arrow-1-w{background-position:-96px -32px}.cmb2-element .ui-icon-arrow-1-nw{background-position:-112px -32px}.cmb2-element .ui-icon-arrow-2-n-s{background-position:-128px -32px}.cmb2-element .ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.cmb2-element .ui-icon-arrow-2-e-w{background-position:-160px -32px}.cmb2-element .ui-icon-arrow-2-se-nw{background-position:-176px -32px}.cmb2-element .ui-icon-arrowstop-1-n{background-position:-192px -32px}.cmb2-element .ui-icon-arrowstop-1-e{background-position:-208px -32px}.cmb2-element .ui-icon-arrowstop-1-s{background-position:-224px -32px}.cmb2-element .ui-icon-arrowstop-1-w{background-position:-240px -32px}.cmb2-element .ui-icon-arrowthick-1-n{background-position:0 -48px}.cmb2-element .ui-icon-arrowthick-1-ne{background-position:-16px -48px}.cmb2-element .ui-icon-arrowthick-1-e{background-position:-32px -48px}.cmb2-element .ui-icon-arrowthick-1-se{background-position:-48px -48px}.cmb2-element .ui-icon-arrowthick-1-s{background-position:-64px -48px}.cmb2-element .ui-icon-arrowthick-1-sw{background-position:-80px -48px}.cmb2-element .ui-icon-arrowthick-1-w{background-position:-96px -48px}.cmb2-element .ui-icon-arrowthick-1-nw{background-position:-112px -48px}.cmb2-element .ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.cmb2-element .ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.cmb2-element .ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.cmb2-element .ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.cmb2-element .ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.cmb2-element .ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.cmb2-element .ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.cmb2-element .ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.cmb2-element .ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.cmb2-element .ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.cmb2-element .ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.cmb2-element .ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.cmb2-element .ui-icon-arrowreturn-1-w{background-position:-64px -64px}.cmb2-element .ui-icon-arrowreturn-1-n{background-position:-80px -64px}.cmb2-element .ui-icon-arrowreturn-1-e{background-position:-96px -64px}.cmb2-element .ui-icon-arrowreturn-1-s{background-position:-112px -64px}.cmb2-element .ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.cmb2-element .ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.cmb2-element .ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.cmb2-element .ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.cmb2-element .ui-icon-arrow-4{background-position:0 -80px}.cmb2-element .ui-icon-arrow-4-diag{background-position:-16px -80px}.cmb2-element .ui-icon-extlink{background-position:-32px -80px}.cmb2-element .ui-icon-newwin{background-position:-48px -80px}.cmb2-element .ui-icon-refresh{background-position:-64px -80px}.cmb2-element .ui-icon-shuffle{background-position:-80px -80px}.cmb2-element .ui-icon-transfer-e-w{background-position:-96px -80px}.cmb2-element .ui-icon-transferthick-e-w{background-position:-112px -80px}.cmb2-element .ui-icon-folder-collapsed{background-position:0 -96px}.cmb2-element .ui-icon-folder-open{background-position:-16px -96px}.cmb2-element .ui-icon-document{background-position:-32px -96px}.cmb2-element .ui-icon-document-b{background-position:-48px -96px}.cmb2-element .ui-icon-note{background-position:-64px -96px}.cmb2-element .ui-icon-mail-closed{background-position:-80px -96px}.cmb2-element .ui-icon-mail-open{background-position:-96px -96px}.cmb2-element .ui-icon-suitcase{background-position:-112px -96px}.cmb2-element .ui-icon-comment{background-position:-128px -96px}.cmb2-element .ui-icon-person{background-position:-144px -96px}.cmb2-element .ui-icon-print{background-position:-160px -96px}.cmb2-element .ui-icon-trash{background-position:-176px -96px}.cmb2-element .ui-icon-locked{background-position:-192px -96px}.cmb2-element .ui-icon-unlocked{background-position:-208px -96px}.cmb2-element .ui-icon-bookmark{background-position:-224px -96px}.cmb2-element .ui-icon-tag{background-position:-240px -96px}.cmb2-element .ui-icon-home{background-position:0 -112px}.cmb2-element .ui-icon-flag{background-position:-16px -112px}.cmb2-element .ui-icon-calendar{background-position:-32px -112px}.cmb2-element .ui-icon-cart{background-position:-48px -112px}.cmb2-element .ui-icon-pencil{background-position:-64px -112px}.cmb2-element .ui-icon-clock{background-position:-80px -112px}.cmb2-element .ui-icon-disk{background-position:-96px -112px}.cmb2-element .ui-icon-calculator{background-position:-112px -112px}.cmb2-element .ui-icon-zoomin{background-position:-128px -112px}.cmb2-element .ui-icon-zoomout{background-position:-144px -112px}.cmb2-element .ui-icon-search{background-position:-160px -112px}.cmb2-element .ui-icon-wrench{background-position:-176px -112px}.cmb2-element .ui-icon-gear{background-position:-192px -112px}.cmb2-element .ui-icon-heart{background-position:-208px -112px}.cmb2-element .ui-icon-star{background-position:-224px -112px}.cmb2-element .ui-icon-link{background-position:-240px -112px}.cmb2-element .ui-icon-cancel{background-position:0 -128px}.cmb2-element .ui-icon-plus{background-position:-16px -128px}.cmb2-element .ui-icon-plusthick{background-position:-32px -128px}.cmb2-element .ui-icon-minus{background-position:-48px -128px}.cmb2-element .ui-icon-minusthick{background-position:-64px -128px}.cmb2-element .ui-icon-close{background-position:-80px -128px}.cmb2-element .ui-icon-closethick{background-position:-96px -128px}.cmb2-element .ui-icon-key{background-position:-112px -128px}.cmb2-element .ui-icon-lightbulb{background-position:-128px -128px}.cmb2-element .ui-icon-scissors{background-position:-144px -128px}.cmb2-element .ui-icon-clipboard{background-position:-160px -128px}.cmb2-element .ui-icon-copy{background-position:-176px -128px}.cmb2-element .ui-icon-contact{background-position:-192px -128px}.cmb2-element .ui-icon-image{background-position:-208px -128px}.cmb2-element .ui-icon-video{background-position:-224px -128px}.cmb2-element .ui-icon-script{background-position:-240px -128px}.cmb2-element .ui-icon-alert{background-position:0 -144px}.cmb2-element .ui-icon-info{background-position:-16px -144px}.cmb2-element .ui-icon-notice{background-position:-32px -144px}.cmb2-element .ui-icon-help{background-position:-48px -144px}.cmb2-element .ui-icon-check{background-position:-64px -144px}.cmb2-element .ui-icon-bullet{background-position:-80px -144px}.cmb2-element .ui-icon-radio-off{background-position:-96px -144px}.cmb2-element .ui-icon-radio-on{background-position:-112px -144px}.cmb2-element .ui-icon-pin-w{background-position:-128px -144px}.cmb2-element .ui-icon-pin-s{background-position:-144px -144px}.cmb2-element .ui-icon-play{background-position:0 -160px}.cmb2-element .ui-icon-pause{background-position:-16px -160px}.cmb2-element .ui-icon-seek-next{background-position:-32px -160px}.cmb2-element .ui-icon-seek-prev{background-position:-48px -160px}.cmb2-element .ui-icon-seek-end{background-position:-64px -160px}.cmb2-element .ui-icon-seek-first,.cmb2-element .ui-icon-seek-start{background-position:-80px -160px}.cmb2-element .ui-icon-stop{background-position:-96px -160px}.cmb2-element .ui-icon-eject{background-position:-112px -160px}.cmb2-element .ui-icon-volume-off{background-position:-128px -160px}.cmb2-element .ui-icon-volume-on{background-position:-144px -160px}.cmb2-element .ui-icon-power{background-position:0 -176px}.cmb2-element .ui-icon-signal-diag{background-position:-16px -176px}.cmb2-element .ui-icon-signal{background-position:-32px -176px}.cmb2-element .ui-icon-battery-0{background-position:-48px -176px}.cmb2-element .ui-icon-battery-1{background-position:-64px -176px}.cmb2-element .ui-icon-battery-2{background-position:-80px -176px}.cmb2-element .ui-icon-battery-3{background-position:-96px -176px}.cmb2-element .ui-icon-circle-plus{background-position:0 -192px}.cmb2-element .ui-icon-circle-minus{background-position:-16px -192px}.cmb2-element .ui-icon-circle-close{background-position:-32px -192px}.cmb2-element .ui-icon-circle-triangle-e{background-position:-48px -192px}.cmb2-element .ui-icon-circle-triangle-s{background-position:-64px -192px}.cmb2-element .ui-icon-circle-triangle-w{background-position:-80px -192px}.cmb2-element .ui-icon-circle-triangle-n{background-position:-96px -192px}.cmb2-element .ui-icon-circle-arrow-e{background-position:-112px -192px}.cmb2-element .ui-icon-circle-arrow-s{background-position:-128px -192px}.cmb2-element .ui-icon-circle-arrow-w{background-position:-144px -192px}.cmb2-element .ui-icon-circle-arrow-n{background-position:-160px -192px}.cmb2-element .ui-icon-circle-zoomin{background-position:-176px -192px}.cmb2-element .ui-icon-circle-zoomout{background-position:-192px -192px}.cmb2-element .ui-icon-circle-check{background-position:-208px -192px}.cmb2-element .ui-icon-circlesmall-plus{background-position:0 -208px}.cmb2-element .ui-icon-circlesmall-minus{background-position:-16px -208px}.cmb2-element .ui-icon-circlesmall-close{background-position:-32px -208px}.cmb2-element .ui-icon-squaresmall-plus{background-position:-48px -208px}.cmb2-element .ui-icon-squaresmall-minus{background-position:-64px -208px}.cmb2-element .ui-icon-squaresmall-close{background-position:-80px -208px}.cmb2-element .ui-icon-grip-dotted-vertical{background-position:0 -224px}.cmb2-element .ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.cmb2-element .ui-icon-grip-solid-vertical{background-position:-32px -224px}.cmb2-element .ui-icon-grip-solid-horizontal{background-position:-48px -224px}.cmb2-element .ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.cmb2-element .ui-icon-grip-diagonal-se{background-position:-80px -224px}.cmb2-element .ui-corner-all,.cmb2-element .ui-corner-left,.cmb2-element .ui-corner-tl,.cmb2-element .ui-corner-top{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;-khtml-border-top-left-radius:4px;border-top-left-radius:4px}.cmb2-element .ui-corner-all,.cmb2-element .ui-corner-right,.cmb2-element .ui-corner-top,.cmb2-element .ui-corner-tr{-moz-border-radius-topright:4px;-webkit-border-top-right-radius:4px;-khtml-border-top-right-radius:4px;border-top-right-radius:4px}.cmb2-element .ui-corner-all,.cmb2-element .ui-corner-bl,.cmb2-element .ui-corner-bottom,.cmb2-element .ui-corner-left{-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;-khtml-border-bottom-left-radius:4px;border-bottom-left-radius:4px}.cmb2-element .ui-corner-all,.cmb2-element .ui-corner-bottom,.cmb2-element .ui-corner-br,.cmb2-element .ui-corner-right{-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;-khtml-border-bottom-right-radius:4px;border-bottom-right-radius:4px}.cmb2-element .ui-widget-overlay{background:#aaa url(../images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30)}.cmb2-element .ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#aaa url(../images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30);-moz-border-radius:8px;-khtml-border-radius:8px;-webkit-border-radius:8px;border-radius:8px}.cmb2-element .ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.cmb2-element .ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element .ui-datepicker .ui-datepicker-prev{position:absolute;top:2px;width:1.8em;height:1.8em}.cmb2-element .ui-datepicker .ui-datepicker-next-hover,.cmb2-element .ui-datepicker .ui-datepicker-prev-hover{top:1px}.cmb2-element .ui-datepicker .ui-datepicker-prev{left:2px}.cmb2-element .ui-datepicker .ui-datepicker-next{right:2px}.cmb2-element .ui-datepicker .ui-datepicker-prev-hover{left:1px}.cmb2-element .ui-datepicker .ui-datepicker-next-hover{right:1px}.cmb2-element .ui-datepicker .ui-datepicker-next span,.cmb2-element .ui-datepicker .ui-datepicker-prev span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.cmb2-element .ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.cmb2-element .ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.cmb2-element .ui-datepicker select.ui-datepicker-month-year{width:100%}.cmb2-element .ui-datepicker select.ui-datepicker-month,.cmb2-element .ui-datepicker select.ui-datepicker-year{width:49%}.cmb2-element .ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.cmb2-element .ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:700;border:0}.cmb2-element .ui-datepicker td{border:0;padding:1px}.cmb2-element .ui-datepicker td a,.cmb2-element .ui-datepicker td span{display:block;padding:.2em;text-align:right;text-decoration:none}.cmb2-element .ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.cmb2-element .ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em;width:auto;overflow:visible}.cmb2-element .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.cmb2-element .ui-datepicker.ui-datepicker-multi{width:auto}.cmb2-element .ui-datepicker-multi .ui-datepicker-group{float:left}.cmb2-element .ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.cmb2-element .ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.cmb2-element .ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.cmb2-element .ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.cmb2-element .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.cmb2-element .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.cmb2-element .ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.cmb2-element .ui-datepicker-row-break{clear:both;width:100%;font-size:0}.cmb2-element .ui-datepicker-rtl{direction:rtl}.cmb2-element .ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.cmb2-element .ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.cmb2-element .ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.cmb2-element .ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.cmb2-element .ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.cmb2-element .ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.cmb2-element .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.cmb2-element .ui-datepicker-rtl .ui-datepicker-group{float:right}.cmb2-element .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.cmb2-element .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.cmb2-element .ui-datepicker-cover{display:none;display:block;position:absolute;z-index:-1;filter:mask();top:-4px;left:-4px;width:200px;height:200px}@media (max-width:450px){.cmb-th{font-size:1.2em;padding-bottom:1em;text-align:left}.cmb-th label{display:block;margin-top:0;padding-bottom:5px}.cmb-th label:after{border-bottom:1px solid #e9e9e9;content:'';clear:both;display:block;padding-top:.4em}.cmb-td,.cmb-th,.cmb-th+.cmb-td{display:block;float:none;width:100%}.cmb-repeat-group-wrap .cmb-repeatable-group:not(:last-of-type),.cmb-repeat-group-wrap .cmb-row:not(:last-of-type),.postbox-container .cmb-repeatable-group:not(:last-of-type),.postbox-container .cmb-row:not(:last-of-type){border-bottom:0}} \ No newline at end of file +.cmb2-wrap{margin:0}.cmb2-wrap input,.cmb2-wrap textarea{font-size:14px;max-width:100%;padding:5px}.cmb2-wrap input[type=text].cmb2-oembed{width:100%}.cmb2-wrap textarea{width:500px}.cmb2-wrap textarea.cmb2-textarea-code{font-family:"Courier 10 Pitch",Courier,monospace;line-height:16px}.cmb2-wrap input.cmb2-text-small,.cmb2-wrap input.cmb2-timepicker{width:100px}.cmb2-wrap input.cmb2-text-money{width:90px}.cmb2-wrap input.cmb2-text-medium{width:230px}.cmb2-wrap input.cmb2-upload-file{width:65%}.cmb2-wrap input.ed_button{padding:2px 4px}.cmb2-wrap input:not([type=hidden])+.button,.cmb2-wrap input:not([type=hidden])+input,.cmb2-wrap input:not([type=hidden])+select{margin-left:20px}.cmb2-wrap ul{margin:0}.cmb2-wrap li{font-size:14px;line-height:16px;margin:1px 0 5px}.cmb2-wrap select{font-size:14px;margin-top:3px}.cmb2-wrap input:focus,.cmb2-wrap textarea:focus{background:#fffff8}.cmb2-wrap input[type=checkbox],.cmb2-wrap input[type=radio]{margin:0 5px 0 0;padding:0}.cmb2-wrap .button,.cmb2-wrap button{white-space:nowrap}.cmb2-wrap .mceLayout{border:1px solid #e9e9e9!important}.cmb2-wrap .mceIframeContainer{background:#fff}.cmb2-wrap .meta_mce{width:97%}.cmb2-wrap .meta_mce textarea{width:100%}.cmb2-wrap .wp-color-result,.cmb2-wrap .wp-picker-input-wrap{vertical-align:middle}.cmb2-wrap .wp-color-result,.cmb2-wrap .wp-picker-container{margin:0 10px 0 0}.cmb2-wrap .cmb-row{margin:0}.cmb2-wrap .cmb-row:after{content:'';clear:both;display:block;width:100%}.cmb2-wrap .cmb-row.cmb-repeat-row{padding:1.8em 0 0}.cmb2-wrap .cmb-row.cmb-repeat-row:first-of-type{padding:0}.cmb2-wrap .cmb-row.cmb-repeat .cmb2-metabox-description{padding-top:0;padding-bottom:1.8em}.cmb2-metabox{clear:both;margin:0}.cmb2-metabox .cmb-field-list>.cmb-row:first-of-type>.cmb-td,.cmb2-metabox .cmb-field-list>.cmb-row:first-of-type>.cmb-th,.cmb2-metabox>.cmb-row:first-of-type>.cmb-td,.cmb2-metabox>.cmb-row:first-of-type>.cmb-th{border:0}.cmb2-metabox>.cmb-row .cmb-repeat-table .cmb-row>.cmb-td{padding-right:20px;box-sizing:border-box;float:left}.cmb-add-row{margin:1.8em 0 0}.cmb-nested .cmb-td,.cmb-repeatable-group .cmb-th,.cmb-repeatable-group:first-of-type{border:0}.cmb-repeatable-group:last-of-type,.cmb-row:last-of-type,.cmb2-wrap .cmb-row:last-of-type{border-bottom:0}.cmb-repeatable-grouping{border:1px solid #e9e9e9;padding:0 1em;max-width:1000px}.cmb-repeatable-grouping.cmb-row{margin:0 0 .8em}.cmb-th{color:#222;float:left;font-weight:600;line-height:1.3;padding:20px 10px 20px 0;vertical-align:top;width:200px}.cmb-td{line-height:1.3;max-width:100%;padding:15px 10px;vertical-align:middle}.cmb-type-title .cmb-td{padding:0}.cmb-th label{display:block;padding:5px 0}.cmb-th+.cmb-td{float:left}.cmb-td .cmb-td{padding-bottom:1em}.cmb-remove-row{text-align:right}.empty-row.hidden{display:none}.cmb-repeatable-group .cmb-th{padding:5px}.cmb-repeatable-group .cmb-group-title{background-color:#e9e9e9;padding:8px 12px 8px 2.2em;margin:0 -1em;min-height:1.5em;font-size:14px;line-height:1.4}.cmb-repeatable-group .cmb-group-title h4{border:0;margin:0;font-size:1.2em;font-weight:500;padding:.5em .75em}.cmb-repeatable-group .cmb-group-title .cmb-th{display:block;width:100%}.cmb-repeatable-group .cmb-group-description .cmb-th{font-size:1.2em;display:block;float:none;padding-bottom:1em;text-align:left;width:100%}.cmb-repeatable-group .cmb-group-description .cmb-th label{display:block;margin-top:0;padding-bottom:5px}.cmb-repeatable-group .cmb-group-description .cmb-th label:after{border-bottom:1px solid #e9e9e9;content:'';clear:both;display:block;padding-top:.4em}.cmb-repeatable-group .cmb-shift-rows{font-size:1em;margin-right:1em;text-decoration:none}.cmb-repeatable-group .cmb-shift-rows .dashicons{font-size:1.5em;height:1.5em;line-height:1.2em;width:1em}.cmb-repeatable-group .cmb-shift-rows .dashicons.dashicons-arrow-down-alt2{line-height:1.3em}.cmb-repeatable-group .cmb2-upload-button{float:right}p.cmb2-metabox-description{color:#aaa;font-style:italic;margin:0;padding-top:.5em}span.cmb2-metabox-description{color:#aaa;font-style:italic}.cmb2-metabox-title{margin:0 0 5px;padding:5px 0 0;font-size:14px}.cmb-inline ul{padding:4px 0 0}.cmb-inline li{display:inline-block;padding-right:18px}.cmb-type-textarea-code pre{margin:0}.cmb2-media-status .img-status{clear:none;display:inline-block;float:left;margin-right:10px;width:auto}.cmb2-media-status .img-status img{max-width:350px}.cmb2-media-status .embed-status,.cmb2-media-status .img-status img{background:#fff;border:1px solid #e9e9e9;border-radius:2px;-moz-border-radius:2px;margin:15px 0 0;padding:5px}.cmb2-media-status .embed-status{float:left;max-width:800px}.cmb2-media-status .embed-status,.cmb2-media-status .img-status{position:relative}.cmb2-media-status .embed-status .cmb2-remove-file-button,.cmb2-media-status .img-status .cmb2-remove-file-button{background:url(../images/ico-delete.png);height:16px;left:-5px;position:absolute;text-indent:-9999px;top:-5px;width:16px}.cmb2-media-status .img-status .cmb2-remove-file-button{top:10px}.cmb2-media-status .file-status>span,.cmb2-media-status .img-status img{cursor:pointer}.cmb-type-file-list .cmb2-media-status .img-status{clear:none;float:left;margin-right:10px;width:auto}.cmb-attach-list li{clear:both;display:inline-block;margin-bottom:25px;width:100%}.cmb-attach-list li img{cursor:move;float:left;margin-right:10px}.cmb2-remove-wrapper{margin:0}.child-cmb2 .cmb-th{text-align:left}#poststuff .cmb-group-title{margin-left:-1em;margin-right:-1em;padding-left:2.2em;min-height:1.5em}.cmb-repeat-group-wrap .cmb2-wrap,.postbox-container .cmb2-wrap{margin:0}.cmb-repeat-group-wrap .cmb2-wrap>.cmb-field-list>.cmb-row,.postbox-container .cmb2-wrap>.cmb-field-list>.cmb-row{padding:1.8em 0}.cmb-repeat-group-wrap .cmb2-wrap input[type=text].cmb2-oembed,.postbox-container .cmb2-wrap input[type=text].cmb2-oembed{width:100%}.cmb-repeat-group-wrap .cmb-row,.postbox-container .cmb-row{padding:0 0 1.8em;margin:0 0 .8em}.cmb-repeat-group-wrap .cmb-row .cmbhandle,.postbox-container .cmb-row .cmbhandle{right:-1em;position:relative}.cmb-repeat-group-wrap .cmb-repeatable-grouping,.postbox-container .cmb-repeatable-grouping{padding:0 1em;max-width:100%;min-width:1px!important}.cmb-repeat-group-wrap .cmb-repeatable-group>.cmb-row,.postbox-container .cmb-repeatable-group>.cmb-row{padding-bottom:0}.cmb-repeat-group-wrap .cmb-th,.postbox-container .cmb-th{width:18%;padding:0 2% 0 0}.cmb-repeat-group-wrap .cmb-td,.postbox-container .cmb-td{margin-bottom:0;padding:0;line-height:1.3}.cmb-repeat-group-wrap .cmb-repeat-row .cmb-td,.postbox-container .cmb-repeat-row .cmb-td{padding-bottom:1.8em}.cmb-repeat-group-wrap .cmb-th+.cmb-td,.postbox-container .cmb-th+.cmb-td{width:80%;float:right}.cmb-repeat-group-wrap .cmb-repeatable-group:not(:last-of-type),.cmb-repeat-group-wrap .cmb-row:not(:last-of-type),.postbox-container .cmb-repeatable-group:not(:last-of-type),.postbox-container .cmb-row:not(:last-of-type){border-bottom:1px solid #e9e9e9}.cmb-repeat-group-wrap .cmb-remove-field-row,.cmb-repeat-group-wrap .cmb-repeat-group-field,.postbox-container .cmb-remove-field-row,.postbox-container .cmb-repeat-group-field{padding-top:1.8em}.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody,.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody,.postbox-container .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody,.postbox-container .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody{display:table;width:100%}.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,.postbox-container .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,.postbox-container .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text{width:100%}.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),.postbox-container .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),.postbox-container .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row){display:table-row}.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,.postbox-container .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,.postbox-container .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td{display:table-cell;float:none;width:100%}.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,.postbox-container .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,.postbox-container .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td{padding-top:1.8em}.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,.postbox-container .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,.postbox-container .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row{padding-right:0}#poststuff .cmb-repeatable-group h2{margin:0}.edit-tags-php .cmb2-metabox-title,.profile-php .cmb2-metabox-title,.user-edit-php .cmb2-metabox-title{font-size:1.4em}.postbox .cmb-spinner{float:left}#side-sortables .cmb2-wrap>.cmb-field-list>.cmb-row,.inner-sidebar .cmb2-wrap>.cmb-field-list>.cmb-row{padding:1.4em 0}#side-sortables .cmb2-wrap input[type=text]:not(.wp-color-picker),.inner-sidebar .cmb2-wrap input[type=text]:not(.wp-color-picker){width:100%}#side-sortables .cmb2-wrap input+input:not(.wp-picker-clear),#side-sortables .cmb2-wrap input+select,.inner-sidebar .cmb2-wrap input+input:not(.wp-picker-clear),.inner-sidebar .cmb2-wrap input+select{margin-left:0;margin-top:1em;display:block}#side-sortables .cmb2-wrap input.cmb2-text-money,.inner-sidebar .cmb2-wrap input.cmb2-text-money{max-width:70%}#side-sortables .cmb2-wrap input.cmb2-text-money+.cmb2-metabox-description,.inner-sidebar .cmb2-wrap input.cmb2-text-money+.cmb2-metabox-description{display:block}#side-sortables .cmb2-wrap label,.inner-sidebar .cmb2-wrap label{display:block;font-weight:700;padding:0 0 5px}#side-sortables textarea,.inner-sidebar textarea{max-width:99%}#side-sortables .cmb-repeatable-group,.inner-sidebar .cmb-repeatable-group{border-bottom:1px solid #e9e9e9}#side-sortables .cmb-repeat-group-wrap>.cmb-td>.cmb-repeatable-group,.inner-sidebar .cmb-repeat-group-wrap>.cmb-td>.cmb-repeatable-group{border-bottom:0;margin-bottom:-1.4em}#side-sortables .cmb-td,#side-sortables .cmb-th,#side-sortables .cmb-th+.cmb-td,.inner-sidebar .cmb-td,.inner-sidebar .cmb-th,.inner-sidebar .cmb-th+.cmb-td{width:100%;display:block;float:none}#side-sortables .closed .inside,.inner-sidebar .closed .inside{display:none}#side-sortables .cmb-td .cmb-td,.inner-sidebar .cmb-td .cmb-td{padding-bottom:1em}#side-sortables .cmb-th,.inner-sidebar .cmb-th{display:block;float:none;padding-bottom:1em;text-align:left;width:100%;padding-left:0;padding-right:0}#side-sortables .cmb-th label,.inner-sidebar .cmb-th label{display:block;margin-top:0;padding-bottom:5px}#side-sortables .cmb-th label:after,.inner-sidebar .cmb-th label:after{border-bottom:1px solid #e9e9e9;content:'';clear:both;display:block;padding-top:.4em}#side-sortables .cmb-th label,.inner-sidebar .cmb-th label{font-size:14px;line-height:1.4em}#side-sortables .cmb-group-description .cmb-th,.inner-sidebar .cmb-group-description .cmb-th{padding-top:0}#side-sortables .cmb-group-description .cmb2-metabox-description,#side-sortables .cmb-group-title .cmb-th,.inner-sidebar .cmb-group-description .cmb2-metabox-description,.inner-sidebar .cmb-group-title .cmb-th{padding:0}#side-sortables .cmb-repeatable-grouping+.cmb-repeatable-grouping,.inner-sidebar .cmb-repeatable-grouping+.cmb-repeatable-grouping{margin-top:1em}#side-sortables .cmb2-media-status .embed-status img,#side-sortables .cmb2-media-status .img-status img,.inner-sidebar .cmb2-media-status .embed-status img,.inner-sidebar .cmb2-media-status .img-status img{max-width:90%;height:auto}#side-sortables .cmb2-list label,.inner-sidebar .cmb2-list label{display:inline;font-weight:400}#side-sortables .cmb2-metabox-description,.inner-sidebar .cmb2-metabox-description{display:block;padding:7px 0 0}#side-sortables .cmb-type-checkbox .cmb-td label,#side-sortables .cmb-type-checkbox .cmb2-metabox-description,.inner-sidebar .cmb-type-checkbox .cmb-td label,.inner-sidebar .cmb-type-checkbox .cmb2-metabox-description{font-weight:400;display:inline}#side-sortables .cmb-row .cmb2-metabox-description,.inner-sidebar .cmb-row .cmb2-metabox-description{padding-bottom:1.8em}#side-sortables .cmb2-metabox-title,.inner-sidebar .cmb2-metabox-title{font-size:1.2em;font-style:italic}#side-sortables .cmb-remove-row,.inner-sidebar .cmb-remove-row{clear:both;padding-top:12px;padding-bottom:0}#side-sortables .cmb-type-colorpicker .cmb-repeat-row .cmb-td,.inner-sidebar .cmb-type-colorpicker .cmb-repeat-row .cmb-td{width:auto;clear:none;float:left;padding-top:0}#side-sortables .cmb-type-colorpicker .cmb-repeat-row .cmb-td.cmb-remove-row,.inner-sidebar .cmb-type-colorpicker .cmb-repeat-row .cmb-td.cmb-remove-row{float:right;margin:0}#side-sortables .cmb2-upload-button,.inner-sidebar .cmb2-upload-button{clear:both;margin-top:12px}.cmb2-metabox .cmb-repeat-group-wrap{max-width:1000px}.cmb2-metabox .cmbhandle{color:#aaa;float:right;width:27px;height:30px;cursor:pointer;right:-1em;position:relative}.cmb2-metabox .cmbhandle:before{content:'\f142';right:12px;font:400 20px/1 dashicons;speak:none;display:inline-block;padding:8px 10px;top:0;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.cmb2-metabox .postbox.closed .cmbhandle:before{content:'\f140'}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row{-webkit-appearance:none!important;background:none!important;border:none!important;position:absolute;left:0;top:.5em;line-height:1em;cursor:pointer}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]){color:#a00}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]):hover{color:red}.cmb2-element .ui-helper-hidden{display:none}.cmb2-element .ui-helper-hidden-accessible{position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}.cmb2-element .ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.cmb2-element .ui-helper-clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden}.cmb2-element * html .ui-helper-clearfix{height:1%}.cmb2-element .ui-helper-clearfix{display:block}.cmb2-element .ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.cmb2-element .ui-state-disabled{cursor:default!important}.cmb2-element .ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.cmb2-element .ui-widget-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.cmb2-element .ui-widget{font-family:Verdana,Arial,sans-serif;font-size:1.1em}.cmb2-element .ui-widget .ui-widget{font-size:1em}.cmb2-element .ui-widget button,.cmb2-element .ui-widget input,.cmb2-element .ui-widget select,.cmb2-element .ui-widget textarea{font-family:Verdana,Arial,sans-serif;font-size:1em}.cmb2-element .ui-widget-content{border:1px solid #aaa;background:#fff url(../images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x;color:#222}.cmb2-element .ui-widget-content a{color:#222}.cmb2-element .ui-widget-header{border:1px solid #aaa;background:#ccc url(../images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;color:#222;font-weight:700}.cmb2-element .ui-widget-header a{color:#222}.cmb2-element .ui-state-default,.cmb2-element .ui-widget-content .ui-state-default,.cmb2-element .ui-widget-header .ui-state-default{border:1px solid #d3d3d3;font-weight:400;color:#555}.cmb2-element .ui-state-default a,.cmb2-element .ui-state-default a:link,.cmb2-element .ui-state-default a:visited{color:#555;text-decoration:none}.cmb2-element .ui-state-focus,.cmb2-element .ui-state-hover,.cmb2-element .ui-widget-content .ui-state-focus,.cmb2-element .ui-widget-content .ui-state-hover,.cmb2-element .ui-widget-header .ui-state-focus,.cmb2-element .ui-widget-header .ui-state-hover{border:1px solid #999;background:#dadada url(../images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x;font-weight:400;color:#212121}.cmb2-element .ui-state-hover a,.cmb2-element .ui-state-hover a:hover{color:#212121;text-decoration:none}.cmb2-element .ui-state-active,.cmb2-element .ui-widget-content .ui-state-active,.cmb2-element .ui-widget-header .ui-state-active{border:1px solid #aaa;background:#fff url(../images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x;font-weight:400;color:#212121}.cmb2-element .ui-state-active a,.cmb2-element .ui-state-active a:link,.cmb2-element .ui-state-active a:visited{color:#212121;text-decoration:none}.cmb2-element .ui-widget :active{outline:0}.cmb2-element .ui-state-highlight,.cmb2-element .ui-widget-content .ui-state-highlight,.cmb2-element .ui-widget-header .ui-state-highlight{border:1px solid #fcefa1;background:#fbf9ee url(../images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x;color:#363636}.cmb2-element .ui-state-highlight a,.cmb2-element .ui-widget-content .ui-state-highlight a,.cmb2-element .ui-widget-header .ui-state-highlight a{color:#363636}.cmb2-element .ui-state-error,.cmb2-element .ui-widget-content .ui-state-error,.cmb2-element .ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#fef1ec url(../images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;color:#cd0a0a}.cmb2-element .ui-state-error a,.cmb2-element .ui-state-error-text,.cmb2-element .ui-widget-content .ui-state-error a,.cmb2-element .ui-widget-content .ui-state-error-text,.cmb2-element .ui-widget-header .ui-state-error a,.cmb2-element .ui-widget-header .ui-state-error-text{color:#cd0a0a}.cmb2-element .ui-priority-primary,.cmb2-element .ui-widget-content .ui-priority-primary,.cmb2-element .ui-widget-header .ui-priority-primary{font-weight:700}.cmb2-element .ui-priority-secondary,.cmb2-element .ui-widget-content .ui-priority-secondary,.cmb2-element .ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:400}.cmb2-element .ui-state-disabled,.cmb2-element .ui-widget-content .ui-state-disabled,.cmb2-element .ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.cmb2-element .ui-icon{width:16px;height:16px;background-image:url(../images/ui-icons_222222_256x240.png)}.cmb2-element .ui-widget-content .ui-icon,.cmb2-element .ui-widget-header .ui-icon{background-image:url(../images/ui-icons_222222_256x240.png)}.cmb2-element .ui-state-default .ui-icon{background-image:url(../images/ui-icons_888888_256x240.png)}.cmb2-element .ui-state-active .ui-icon,.cmb2-element .ui-state-focus .ui-icon,.cmb2-element .ui-state-hover .ui-icon{background-image:url(../images/ui-icons_454545_256x240.png)}.cmb2-element .ui-state-highlight .ui-icon{background-image:url(../images/ui-icons_2e83ff_256x240.png)}.cmb2-element .ui-state-error .ui-icon,.cmb2-element .ui-state-error-text .ui-icon{background-image:url(../images/ui-icons_cd0a0a_256x240.png)}.cmb2-element .ui-icon-carat-1-n{background-position:0 0}.cmb2-element .ui-icon-carat-1-ne{background-position:-16px 0}.cmb2-element .ui-icon-carat-1-e{background-position:-32px 0}.cmb2-element .ui-icon-carat-1-se{background-position:-48px 0}.cmb2-element .ui-icon-carat-1-s{background-position:-64px 0}.cmb2-element .ui-icon-carat-1-sw{background-position:-80px 0}.cmb2-element .ui-icon-carat-1-w{background-position:-96px 0}.cmb2-element .ui-icon-carat-1-nw{background-position:-112px 0}.cmb2-element .ui-icon-carat-2-n-s{background-position:-128px 0}.cmb2-element .ui-icon-carat-2-e-w{background-position:-144px 0}.cmb2-element .ui-icon-triangle-1-n{background-position:0 -16px}.cmb2-element .ui-icon-triangle-1-ne{background-position:-16px -16px}.cmb2-element .ui-icon-triangle-1-e{background-position:-32px -16px}.cmb2-element .ui-icon-triangle-1-se{background-position:-48px -16px}.cmb2-element .ui-icon-triangle-1-s{background-position:-64px -16px}.cmb2-element .ui-icon-triangle-1-sw{background-position:-80px -16px}.cmb2-element .ui-icon-triangle-1-w{background-position:-96px -16px}.cmb2-element .ui-icon-triangle-1-nw{background-position:-112px -16px}.cmb2-element .ui-icon-triangle-2-n-s{background-position:-128px -16px}.cmb2-element .ui-icon-triangle-2-e-w{background-position:-144px -16px}.cmb2-element .ui-icon-arrow-1-n{background-position:0 -32px}.cmb2-element .ui-icon-arrow-1-ne{background-position:-16px -32px}.cmb2-element .ui-icon-arrow-1-e{background-position:-32px -32px}.cmb2-element .ui-icon-arrow-1-se{background-position:-48px -32px}.cmb2-element .ui-icon-arrow-1-s{background-position:-64px -32px}.cmb2-element .ui-icon-arrow-1-sw{background-position:-80px -32px}.cmb2-element .ui-icon-arrow-1-w{background-position:-96px -32px}.cmb2-element .ui-icon-arrow-1-nw{background-position:-112px -32px}.cmb2-element .ui-icon-arrow-2-n-s{background-position:-128px -32px}.cmb2-element .ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.cmb2-element .ui-icon-arrow-2-e-w{background-position:-160px -32px}.cmb2-element .ui-icon-arrow-2-se-nw{background-position:-176px -32px}.cmb2-element .ui-icon-arrowstop-1-n{background-position:-192px -32px}.cmb2-element .ui-icon-arrowstop-1-e{background-position:-208px -32px}.cmb2-element .ui-icon-arrowstop-1-s{background-position:-224px -32px}.cmb2-element .ui-icon-arrowstop-1-w{background-position:-240px -32px}.cmb2-element .ui-icon-arrowthick-1-n{background-position:0 -48px}.cmb2-element .ui-icon-arrowthick-1-ne{background-position:-16px -48px}.cmb2-element .ui-icon-arrowthick-1-e{background-position:-32px -48px}.cmb2-element .ui-icon-arrowthick-1-se{background-position:-48px -48px}.cmb2-element .ui-icon-arrowthick-1-s{background-position:-64px -48px}.cmb2-element .ui-icon-arrowthick-1-sw{background-position:-80px -48px}.cmb2-element .ui-icon-arrowthick-1-w{background-position:-96px -48px}.cmb2-element .ui-icon-arrowthick-1-nw{background-position:-112px -48px}.cmb2-element .ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.cmb2-element .ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.cmb2-element .ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.cmb2-element .ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.cmb2-element .ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.cmb2-element .ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.cmb2-element .ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.cmb2-element .ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.cmb2-element .ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.cmb2-element .ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.cmb2-element .ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.cmb2-element .ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.cmb2-element .ui-icon-arrowreturn-1-w{background-position:-64px -64px}.cmb2-element .ui-icon-arrowreturn-1-n{background-position:-80px -64px}.cmb2-element .ui-icon-arrowreturn-1-e{background-position:-96px -64px}.cmb2-element .ui-icon-arrowreturn-1-s{background-position:-112px -64px}.cmb2-element .ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.cmb2-element .ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.cmb2-element .ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.cmb2-element .ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.cmb2-element .ui-icon-arrow-4{background-position:0 -80px}.cmb2-element .ui-icon-arrow-4-diag{background-position:-16px -80px}.cmb2-element .ui-icon-extlink{background-position:-32px -80px}.cmb2-element .ui-icon-newwin{background-position:-48px -80px}.cmb2-element .ui-icon-refresh{background-position:-64px -80px}.cmb2-element .ui-icon-shuffle{background-position:-80px -80px}.cmb2-element .ui-icon-transfer-e-w{background-position:-96px -80px}.cmb2-element .ui-icon-transferthick-e-w{background-position:-112px -80px}.cmb2-element .ui-icon-folder-collapsed{background-position:0 -96px}.cmb2-element .ui-icon-folder-open{background-position:-16px -96px}.cmb2-element .ui-icon-document{background-position:-32px -96px}.cmb2-element .ui-icon-document-b{background-position:-48px -96px}.cmb2-element .ui-icon-note{background-position:-64px -96px}.cmb2-element .ui-icon-mail-closed{background-position:-80px -96px}.cmb2-element .ui-icon-mail-open{background-position:-96px -96px}.cmb2-element .ui-icon-suitcase{background-position:-112px -96px}.cmb2-element .ui-icon-comment{background-position:-128px -96px}.cmb2-element .ui-icon-person{background-position:-144px -96px}.cmb2-element .ui-icon-print{background-position:-160px -96px}.cmb2-element .ui-icon-trash{background-position:-176px -96px}.cmb2-element .ui-icon-locked{background-position:-192px -96px}.cmb2-element .ui-icon-unlocked{background-position:-208px -96px}.cmb2-element .ui-icon-bookmark{background-position:-224px -96px}.cmb2-element .ui-icon-tag{background-position:-240px -96px}.cmb2-element .ui-icon-home{background-position:0 -112px}.cmb2-element .ui-icon-flag{background-position:-16px -112px}.cmb2-element .ui-icon-calendar{background-position:-32px -112px}.cmb2-element .ui-icon-cart{background-position:-48px -112px}.cmb2-element .ui-icon-pencil{background-position:-64px -112px}.cmb2-element .ui-icon-clock{background-position:-80px -112px}.cmb2-element .ui-icon-disk{background-position:-96px -112px}.cmb2-element .ui-icon-calculator{background-position:-112px -112px}.cmb2-element .ui-icon-zoomin{background-position:-128px -112px}.cmb2-element .ui-icon-zoomout{background-position:-144px -112px}.cmb2-element .ui-icon-search{background-position:-160px -112px}.cmb2-element .ui-icon-wrench{background-position:-176px -112px}.cmb2-element .ui-icon-gear{background-position:-192px -112px}.cmb2-element .ui-icon-heart{background-position:-208px -112px}.cmb2-element .ui-icon-star{background-position:-224px -112px}.cmb2-element .ui-icon-link{background-position:-240px -112px}.cmb2-element .ui-icon-cancel{background-position:0 -128px}.cmb2-element .ui-icon-plus{background-position:-16px -128px}.cmb2-element .ui-icon-plusthick{background-position:-32px -128px}.cmb2-element .ui-icon-minus{background-position:-48px -128px}.cmb2-element .ui-icon-minusthick{background-position:-64px -128px}.cmb2-element .ui-icon-close{background-position:-80px -128px}.cmb2-element .ui-icon-closethick{background-position:-96px -128px}.cmb2-element .ui-icon-key{background-position:-112px -128px}.cmb2-element .ui-icon-lightbulb{background-position:-128px -128px}.cmb2-element .ui-icon-scissors{background-position:-144px -128px}.cmb2-element .ui-icon-clipboard{background-position:-160px -128px}.cmb2-element .ui-icon-copy{background-position:-176px -128px}.cmb2-element .ui-icon-contact{background-position:-192px -128px}.cmb2-element .ui-icon-image{background-position:-208px -128px}.cmb2-element .ui-icon-video{background-position:-224px -128px}.cmb2-element .ui-icon-script{background-position:-240px -128px}.cmb2-element .ui-icon-alert{background-position:0 -144px}.cmb2-element .ui-icon-info{background-position:-16px -144px}.cmb2-element .ui-icon-notice{background-position:-32px -144px}.cmb2-element .ui-icon-help{background-position:-48px -144px}.cmb2-element .ui-icon-check{background-position:-64px -144px}.cmb2-element .ui-icon-bullet{background-position:-80px -144px}.cmb2-element .ui-icon-radio-off{background-position:-96px -144px}.cmb2-element .ui-icon-radio-on{background-position:-112px -144px}.cmb2-element .ui-icon-pin-w{background-position:-128px -144px}.cmb2-element .ui-icon-pin-s{background-position:-144px -144px}.cmb2-element .ui-icon-play{background-position:0 -160px}.cmb2-element .ui-icon-pause{background-position:-16px -160px}.cmb2-element .ui-icon-seek-next{background-position:-32px -160px}.cmb2-element .ui-icon-seek-prev{background-position:-48px -160px}.cmb2-element .ui-icon-seek-end{background-position:-64px -160px}.cmb2-element .ui-icon-seek-first,.cmb2-element .ui-icon-seek-start{background-position:-80px -160px}.cmb2-element .ui-icon-stop{background-position:-96px -160px}.cmb2-element .ui-icon-eject{background-position:-112px -160px}.cmb2-element .ui-icon-volume-off{background-position:-128px -160px}.cmb2-element .ui-icon-volume-on{background-position:-144px -160px}.cmb2-element .ui-icon-power{background-position:0 -176px}.cmb2-element .ui-icon-signal-diag{background-position:-16px -176px}.cmb2-element .ui-icon-signal{background-position:-32px -176px}.cmb2-element .ui-icon-battery-0{background-position:-48px -176px}.cmb2-element .ui-icon-battery-1{background-position:-64px -176px}.cmb2-element .ui-icon-battery-2{background-position:-80px -176px}.cmb2-element .ui-icon-battery-3{background-position:-96px -176px}.cmb2-element .ui-icon-circle-plus{background-position:0 -192px}.cmb2-element .ui-icon-circle-minus{background-position:-16px -192px}.cmb2-element .ui-icon-circle-close{background-position:-32px -192px}.cmb2-element .ui-icon-circle-triangle-e{background-position:-48px -192px}.cmb2-element .ui-icon-circle-triangle-s{background-position:-64px -192px}.cmb2-element .ui-icon-circle-triangle-w{background-position:-80px -192px}.cmb2-element .ui-icon-circle-triangle-n{background-position:-96px -192px}.cmb2-element .ui-icon-circle-arrow-e{background-position:-112px -192px}.cmb2-element .ui-icon-circle-arrow-s{background-position:-128px -192px}.cmb2-element .ui-icon-circle-arrow-w{background-position:-144px -192px}.cmb2-element .ui-icon-circle-arrow-n{background-position:-160px -192px}.cmb2-element .ui-icon-circle-zoomin{background-position:-176px -192px}.cmb2-element .ui-icon-circle-zoomout{background-position:-192px -192px}.cmb2-element .ui-icon-circle-check{background-position:-208px -192px}.cmb2-element .ui-icon-circlesmall-plus{background-position:0 -208px}.cmb2-element .ui-icon-circlesmall-minus{background-position:-16px -208px}.cmb2-element .ui-icon-circlesmall-close{background-position:-32px -208px}.cmb2-element .ui-icon-squaresmall-plus{background-position:-48px -208px}.cmb2-element .ui-icon-squaresmall-minus{background-position:-64px -208px}.cmb2-element .ui-icon-squaresmall-close{background-position:-80px -208px}.cmb2-element .ui-icon-grip-dotted-vertical{background-position:0 -224px}.cmb2-element .ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.cmb2-element .ui-icon-grip-solid-vertical{background-position:-32px -224px}.cmb2-element .ui-icon-grip-solid-horizontal{background-position:-48px -224px}.cmb2-element .ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.cmb2-element .ui-icon-grip-diagonal-se{background-position:-80px -224px}.cmb2-element .ui-corner-all,.cmb2-element .ui-corner-left,.cmb2-element .ui-corner-tl,.cmb2-element .ui-corner-top{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;-khtml-border-top-left-radius:4px;border-top-left-radius:4px}.cmb2-element .ui-corner-all,.cmb2-element .ui-corner-right,.cmb2-element .ui-corner-top,.cmb2-element .ui-corner-tr{-moz-border-radius-topright:4px;-webkit-border-top-right-radius:4px;-khtml-border-top-right-radius:4px;border-top-right-radius:4px}.cmb2-element .ui-corner-all,.cmb2-element .ui-corner-bl,.cmb2-element .ui-corner-bottom,.cmb2-element .ui-corner-left{-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;-khtml-border-bottom-left-radius:4px;border-bottom-left-radius:4px}.cmb2-element .ui-corner-all,.cmb2-element .ui-corner-bottom,.cmb2-element .ui-corner-br,.cmb2-element .ui-corner-right{-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;-khtml-border-bottom-right-radius:4px;border-bottom-right-radius:4px}.cmb2-element .ui-widget-overlay{background:#aaa url(../images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30)}.cmb2-element .ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#aaa url(../images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30);-moz-border-radius:8px;-khtml-border-radius:8px;-webkit-border-radius:8px;border-radius:8px}.cmb2-element .ui-datepicker{width:17em;display:none}.cmb2-element .ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element .ui-datepicker .ui-datepicker-prev{position:absolute;width:1.8em}.cmb2-element .ui-datepicker .ui-datepicker-prev{left:2px}.cmb2-element .ui-datepicker .ui-datepicker-next{right:2px}.cmb2-element .ui-datepicker .ui-datepicker-next span,.cmb2-element .ui-datepicker .ui-datepicker-prev span{display:block;position:absolute;left:50%;margin-left:-8px}.cmb2-element .ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.cmb2-element .ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.cmb2-element .ui-datepicker select.ui-datepicker-month-year{width:100%}.cmb2-element .ui-datepicker select.ui-datepicker-month,.cmb2-element .ui-datepicker select.ui-datepicker-year{width:49%}.cmb2-element .ui-datepicker select.ui-datepicker-month{margin-right:1%}.cmb2-element .ui-datepicker select.ui-datepicker-year{margin-left:1%}.cmb2-element .ui-datepicker table{width:100%;border-collapse:collapse}.cmb2-element .ui-datepicker th{text-align:center}.cmb2-element .ui-datepicker td a,.cmb2-element .ui-datepicker td span{display:block;padding:.2em;text-align:right;text-decoration:none}.cmb2-element .ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0;padding:0 .2em}.cmb2-element .ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em;width:auto;overflow:visible}.cmb2-element .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.cmb2-element .ui-datepicker.ui-datepicker-multi{width:auto}.cmb2-element .ui-datepicker-multi .ui-datepicker-group{float:left}.cmb2-element .ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.cmb2-element .ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.cmb2-element .ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.cmb2-element .ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.cmb2-element .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.cmb2-element .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.cmb2-element .ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.cmb2-element .ui-datepicker-row-break{clear:both;width:100%;font-size:0}.cmb2-element .ui-datepicker-rtl{direction:rtl}.cmb2-element .ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.cmb2-element .ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.cmb2-element .ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.cmb2-element .ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.cmb2-element .ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.cmb2-element .ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.cmb2-element .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.cmb2-element .ui-datepicker-rtl .ui-datepicker-group{float:right}.cmb2-element .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.cmb2-element .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.cmb2-element .ui-datepicker-cover{display:none;display:block;position:absolute;z-index:-1;filter:mask();top:-4px;left:-4px;width:200px;height:200px}.cmb2-element .ui-datepicker{padding:0;border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.cmb2-element .ui-datepicker *{padding:0;font-family:"Open Sans",sans-serif;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.cmb2-element .ui-datepicker table{font-size:13px;margin:0}.cmb2-element .ui-datepicker .ui-datepicker-header{border:none;background:#222;color:#fff;font-weight:400}.cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover{background:#222;border-color:transparent;cursor:pointer;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.cmb2-element .ui-datepicker thead{background:#222;color:#fff}.cmb2-element .ui-datepicker .ui-datepicker-title{margin-top:.4em;margin-bottom:.3em;color:#fff;font-size:14px}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element .ui-datepicker .ui-datepicker-next-hover,.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element .ui-datepicker .ui-datepicker-prev-hover{height:1em;top:.9em;border:none}.cmb2-element .ui-datepicker .ui-datepicker-prev-hover{left:2px}.cmb2-element .ui-datepicker .ui-datepicker-next-hover{right:2px}.cmb2-element .ui-datepicker .ui-datepicker-next span,.cmb2-element .ui-datepicker .ui-datepicker-prev span{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAQAAABFnnJAAAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAAAEgAAABIAEbJaz4AABe4SURBVHja7V1diCXHdf56vbZmVl6nxwKFO2yyq1mM4qAwM7oDsR6C7iYIKesH3V1QHgyBu5YYJwHjrB9NQCuByIthHbAga6TZxeBgHMJKISZ+SDIb1oQgRtoVgtjGyD8PmSGQMIpfJmCLk4f+q6o+daq6+965P1VfM3Pv7VN16ud8Vd1dp6o6IUSEjBPTzkDEdBEJEDgiAXT0QOhNOxPHiUgAFT3sA9gPiQLjJsD0208Pbe9rM/OvwkaBQvP0yzhG6ASQO0AqDwmu9mOPT3nqPWsYV9qFEduVIDP/QU4BSfMC9REqAcbRAa520FDELdphc3SJCyRIcADgAAkSQXOXMs4ckrIxFEUs2oENBNSqR0WmJ2kVv2hltvRdaVPHvPtqdpVxjlD1AHIH6AupDbovH1nqkgllLd3apnQJUjV362dmDEnjOya5FUltsEqqbdtxa5Dbppx3uQ+sNLv6mblCcwLIoKlXTQ/7rQkmX4IKzdMv4xgxbgLMO3rYXyTzuhEJEDjiSGDgiAQIHJEAgSMSIHBEAgSOSIDAEQkQOOJ8ADPutPN/zGgyH8BvRoDLGdMT5wPIKbjN02U+gNsdnuV9oUjSbD6AnwdMrkK7gVYt3311u8zv0r5vfNq1L8xsgPp8gAz20fAilORvs8tdsX3mA0i5k1N3x5dBue7icyGgzwfgvus48OoF+DDu9ukzH0Bqf355s9OHnLMNmqQ0F2jjDJIcrrM+H0Ail6v/KUoe3cECpl85XecDTDv/x4zoDg4ccSAocEQCBI5IgMARCRA4IgECRyRA4IgECBwnp52BmQNNcZS/+1hp4/yf7BZ9IpUwzRyQMwftXUHumFMouX4JIED09fvsD0AtJE3RNg1X/jPTJ6IWNznaxvYrgU+oBnFPaAFcxU88CmCPn3hUkE8RSHD2+OQvEWT6Z7M0Com7BuQSygQiR2zA1Yi1/KuXAN/i22bruCspGUMHT6In0nUV7ZIDKmMnrFRNnUulaF72PJAgl3VXpZObgZrLBGh6E0gerccVyoed7dq4n3ETD+2SgXz0tq0BqQn66HbXQU3e5DGw6uJ8QvEyuQt0M1jW4epi/bpoVwtype5zE9kWboq75VoOTHdw6E8B851+i8fIOB8gcMSRwMARCRA4IgECRyRA4IgECByRAIEjEiBw6ItDi81Spwf3fuCThE8N+HhE28VzrY32TaURKgIUC6N8tntvVwHjQztdrpz71YC01Wzljes1jp35KYvDXoZe6xogI5cA+MWh8hJOH492jzk3PgrYdPltDWHPv18N2NLoGctre41iVyVw9UDdlqbXFujqQ8E+26m7lmDbFoj6zaRx58Cmx72FuzvnfhvS8z63umkTQ+5aWF4Zh1ufSJpm2WFsc1gn9TBNCeBfAUmDuH45kKvQJ3332n57+q7YLgK460A2oJsAMoEsBGj2FFBVQBuPVaLo4LWT9iml3wZVvtveQ0ipr+bS4grO7yAgpV/E5O8BXJqrvRuk9c1mLhvOB5AqQL+BkYovZ04qoqRDLZp72hdnAjcBpRIcGBtIHDTW4AfJvAfla2/8commlwA/XzU5t4iQr4JdYvtVL18Ov2tw9yltkp72L7Vx3wOwiPMBVPScb0xaOEQCBI44FBw4IgECRyRA4IgECByRAIEjEmDcmLPHKnM+gAuSv8qn6L2O/u5Jo3vuEsdg94yVvT4fQILkMfcZJSw8dqseC0zt6Lq4Sl4enjiXv7oNbIsvaZ8SqoEgNVvu3X7rg43q0sh2b//2HWgGJI+dK3ZiDaeetXk7pcWj5CX1L+mxgL8HsE06kP1V1aWhzaSFrOW4p03Z9zAg+Pr6kgZnuXS59N0rm2cS5vsCqips+gZu8xKSNIhbSP2WQLsXb7ffQkIyo6uH8Ncs7RFwzKh6ANVR2CZrrjcJuJ2tXa+OidKD8D2E/smFGE8r5lLQe48ZMb9+CTgoM8V14FkHn0334nEgzgfw8fa7t4eQUc0F4KdUyFVfXYTsu4sUIZOGUjVE2wk1EwHvDSRrB+7jLLXdBI7D2eo3a7HtjabPTSQAB0Fnxrg+iO5gHTPTNR8XIgECRxwKDhyRAIEjEiBwRAIEjkiAwDF7BEhny1u26DAJ4OfLllw25CW1hUhxeCxP4tPeB2Fm0Gy7eJ/tpBOsdMjPIQqSpGK4tlvWV1igN4B3gU4AeZRaHu0uWnWKQ5YCVA6U8mv3sq5/pQxxaIlffGu3qbra+/i9an7BURFA3+69jsofbtsyPUGSm/8DNi25a8+6/g+wIqydLVLn09dnFJha/LaPCA7FULDf6nYJxVwbm/nNuThmL+L6LZ2tS8xw5vYR0lvOg4I6JSxB3Uwm7FMZ/CZE2CeVmQSyTcngc+jaPkEn+IK9Ar4LqhdGqFVm32DE/dYL39dK2OQZBah2H1E4gvld+fX8+Lw2IgIAtz+A38r1ul/evUONJM1uHuUQurbE61wB9w5CgcL/hRH6rNjq+7hhv4voBv/tI4LCrM0HmJT5IyyYNQJEHDNmzxcQcayIBAgckQCBIxIgcCwSAfqlJ6A/Ef0nsZQfzd63OtPICDDMK24Xw9aaXnZ4+l0g3NBmCzQ1Yh975fc9Nna/Ez1O4ld4FEc4wqP4FUuBvjP3a7l0zZKGXe6KCTxnHHIKxtwOoqs0oAENSUUVtjo/JFgOKj+3tbhqCF57doyor8lHmrRPJvqN5HoOudytGfHXDPkSrRPREi0R0TotCTXAp1GHVEP+EjXEtncZyxAFk+8BAO5YJnPcxpdxD0CK2+W5O7hgZeMXLCOKy+W3o5rsJr4htL89ZBtLZNgHYU9LYQ9bSg8AbBlyN95Xcpfl0Ix/H8t4EEAf942wej6BLUbim5suL5+XsYb3y++lpoIA9/NPdRqGmuV7AH6EI3G2z1L+ecMa4qNC7Ct4D9uC/JLmSr6kUDHD2woFtvC2ISWoizP5FYYfxS/K759g8/AgPoEEp4RcXhRkpkeSl/MvoE4YLc0IXpj/D/DP6unqWnboUPAjHNXC6FnICLAiaLO1G8DVAwBvlRQgXMJbTIiCAnXzZ0iNz3rufl3M6Qb+G38I4B+xwcZ/GygpxOdgK++p9N7qOFCY/4+wrFPA936WM3+9AgG5o8razk9ZmasHKCgAi/mRpw7rTd5549PEEn6efzvLSB/Eu9jAfQAbeBcP4f8MuTkLqe0yU3dH7wrxOfxN7Vxm/i/gQQD/AADFBdz/MbBufrOAp3AKp7CMU9ZO8gE8gAcAcC3spsP8QA9v4RIu4S3LdM4+DjDEEAct7/OX8Vv5sVzLXw9nQPgFNrCBEyCcEaeUblmMf075s2EJLrhCfIs5l5H+Bj6G7wAALuBOJmj/RFsv4rIzzg+FkK4eoIcDIG/7B0z19zU5R4HfMD7NKspayQayOyK9n3gY9wH8pPx9HxvCjKIuHfxRxxD8hNmf5OXL7s9K86N8DEwdj1HuR5iXNfnL1scV+2PMjQk+BhYPSdWnLRd95hGQe4hzPeg1fQwGjayl9wmhlpDXXzwEDtSzs+MO7gP4HeX3e5YbqcmCAJxXWvr4tWeYztSUNbyvtX7E+QDBY5F8AREtEAkQOCIBAkckQOCIBFgsvIJXmkXQCZCC4FqYbQeVjoyujxZ9cB71LeXxte5vGxqPvUNDvm3IuUEn1Vu+NgE5APylo34GGLSut9P4Cr6C045QI4wwKn8pdZISUZ/6RJTWBhF2aSkfRrhG6zRkh0Fu5AMR23TDkMuebPPos+G3FE82EdEWOxBSHPX47oGcLMw6rdP6hORFmGxQx5QMqBiQS83hmtw6RNuEvHQpo/suERHdFWu3GEwa0TkCQU+gn4+h1dUT9RqNg3FyENGf5X9XrRXUp2wCSt+iH5YUXAYmAv07ge4R6N+InzJBtJ5L1gU5RPlpWqLTFnlR/SMaNa7BAtusfLsWe5tNf0hEI0qrkUTVHVw4Kfew1WqjFnWuAO85fAL7+DF+gJ/jPYtPsI89XMIbVpduF/wTfhffwwa+hyfwL9ZQ2Vj6hijXxyx1/LLmJ6wwwk0AyP/X6+9Q+8WDn21x1uMMAHwJwEp+eUzxAcoe4IYxmt6nG417ALWDs/UAV4noL4joFbaF9InY1j+uHuBvCfRdAn2Llpj0H3X0AIUcotzeA4y03JmXgIGS6wyDRuX7qib7KlOD5+hcPXUziX5OhHr1j4MAn6HfpM/R+fyvifn1WXE2AqRElFKaXy9N+XeI6Nv539/V5EX5bNfwSv64Q87Hr6692XG+IQFMd10q1JDsatLOmwrUT122RENCyaEBE0ImQN1f18T8ZvFkAvDys/Rdeph26WH6e/q0IV+t5W5trPLK/LAeuolTUW6T3s1vBE35iIpr/25bAsBxUJ6N1DM8b+C+Vb5lVDD3FJCWRecJYidghsccuesih8P8Pi73ggIpI3uKPsxv/LbpQ3qKIcBVGtXj+ibvNqh+H8rfg0qTlmXzmxTYqkld07plORFRz2GcLvKR0/yux8CKAqkl9nPl9+dqsa09kK87eB3v+gWM6IgBoHvsx4QRAOCWeTrOBwgc0RcQOCIBAkckQOCIBAgc4REgcxsPGMmgfDZ61EOPbTfFOburVgmwXlbAemt9NLUqSEHYyb/vwDar4Vq+qHS3RoHfxy4u4zI+hU/hh/h0LWZWO1fzX9mepeq+55v4LAhP4AkQPovNWnx5+4ph7cF+6JC7QgxraRgjQObZdSLapSEN6ZAqpwc34CENZpAzRPtjlOdrnR1UybBDoB1rLorhkHPsUNep8vgYOxa6Q8M8B5meAZO+fRyv8FKklmEw+UwVO7XoycYa+7k3B0z51BjrxXc1QDZKvENEh1YjTpMAxVgWn0Zh9uqzruGaONZ5gj5CCSX0ETrBGmRIIKJB6dPncicTQPWHmCuXMm9Iv6zjOgGgzaKoEyDTul2OyXIEOEOr+cEQYJhX4w4748dFAHJWgdu4cvx1Rcb1UDuKnDN/KuonSspjjUn9eh5rlx9SpWz3kOLgCWBPn8oZV7wGKn2cQwKdYwkAhQB8n7JOm7RZ+isZAuzkVcdP+XIxXA7RTMoTyOVTk1p/NeMpw8CQf5uI1vKD6DqjYVC6bLn0iU53IsBD+dmHyv9m7KL/GhLROUsPYK+/PhGdoTO0Smdok4iuZefV9wV8gBQ38fn8FknecR9OubSbuFvKpbBe7mOSrdE38U38cfn9+/g9TZYqM56AK/UxcazjS8qvl/EzIfWslszyrwD4EADwS2aDGcKKNs/KfMHFI9p5ws8MuT5f6Ca+bMzayrbwzybL7jHb+RMeB/BfAID/VGpX62APaUhD2qXZvAksWh+fxjfL1p/hrhG3n7f71Kp/s2w759jUd+gqUd4Odxh59vmQ5UbPnGhjtt/H6DHjv9x/NL8HGFKfNmmTNolos34JUK+xNvPP/lPAXSrmxnLVM3CksEPbtM1Op0IeO6MQRwESfpln12ohhrUOfGjEPFc7mt0DEA3Lw0IA31Y4LQLIR6q0+rtkes2z1uFTOlv+s57lkFIqbieTWtzP02eoJ9QSEZT7DF22lD8FZP/NbejqBDEpMhSlaum0MkZ3sIqH8BKAF/E/rHSEFdzM32aQ4n/xa9qbDVz3SIC+meUk5j23QCRA4AjPFxChIRIgcEQCBA6TAEPrfuEXcau8obwlbokaMU/QHhRuExHRbeYB5ou1h5AvTuVhLx5jPtQfz5TGfcYIdlF7eixwkVG4R0R71uR+6jkgA48Qx3/sKfTfm3puJkCA21T4nMw+4DWWAK8xCuWBoNowhNX8HEncy6tcIVxyor1yuGiPlfvlf46O6uszmoH1PsCGpgQAgV24WTd/vZ9Q19byBnSFGBHR07RET1s1+JVuQQmQXf8Lr7PeB+gFl6phm2zLwlTz7zKSQfnJXyZcxkFu+DQnAid/Ov/2tKBhT0hjgQkwIBOqAfwJwHfeuqZ7jEeuiGczvy8BUrL3MVSOsNf99RXsBOgT0R7t0R75+BXm5DArwPzelACuozBS3fyZ2W3mn4UeYIFvAqv2nyp+58oMX2cJ8HVGoasHsB1qD8THn/49gJuCc3hwRasX8ilW+hSj0FU5dqnU+nUDj1qH6PoUkIWZutHGT4A91sBqFTxfkz5vNeNASFCiR9ve43iPBSOAvzv4SQzx5/n3r+EN/Ou0xzCnhLbvAppRxPkAgSN6AwNHJEDgiAQIHJEAgSMSIHBEApgYgFpL5xAqAYjZNkEHYVyvhJgWbgjvNgeAAXZbS+cTxigd0a4wGqd6A0xJES+1ahjQbu4IGtCuoAGEfHmTLt/WNLVx1w4cg80Dj9hFDdi1zNXBV5/NhBIB1Hj1ah6UcQb5CntZg50Atvg+BJCksqOnLl2QIWFbIflpHS4CZCasfutSEErjuTTYCGCP7yZAUxPbpfwGDHN58DeBd3AB32hxPbmDC7iAbJ3cBWXMPFHOXhB3wi002OCKfzxYJG9AjeWLfA/gOgK8B1CdQYQ7eElsX5Szv/icL6hPLrbcZ/f57aRziegNNDHArmBiWTqHiAQIHHEkMHBEAgSOSIDAEQkQOCIBAodJAFJeLB4RACoCpPlWqWdx1rLXfjZ0dM0ijZhLFARIcVhuDvMIDlkjb+ACvoYXcejxQglzeGHbGIHcPmZ5hA15je0Q0V8RiOhFyvbFtY0ep+JewtWovOt3/1jl8bAchVGJ7hEI9CINCHSPbG+n3qFzlDllU6tSfqfapXw79dP5n7nT7WmSNlwv5CTKl8q/pdYOocCOkwCA8wDeBAC8BAB4Exs4X9vKdAObuIkreASXcIgruN6oq/mk0ukkqI9Afzz/S8Avvzqd/30S/ObyHwewkstXFmu8fpLIfAEpDnFfedHRPWxgRdsJt0CKQ9zBBezgClvJlO9UX9+t/re13/9h7JU7aXmEDXlXsEvVoukR8Zu4ZL7w7H0VtpfK2ObL6O8Wr883mrQ8Hpaj8AZm78O4jzfxLDbAv5Gjmg1wAWDcomrrX7A1tIuLyh28jmv5g+AbuBZfFh8K4nyAwBF9AYEjEiBwRAIEjkiAwFERwPU+gK7yJ3G9lF/Hk8cun3T5pi1vi1yn630AXeWubeYmLZ90+aYtb31kHxeJQ/U+gK5y10aTk5ZPunzTlnc4skvA5bJDSJQRvMvMNxWm/IU8boIXDPmzin4wZ5/l1FvkSYv4l9n4XPlc5Vfz3zz+20iUELb4klzNBW+VhsgGgqrRoKT2S5dzGSnkCYDnAbyunRmffp/4bv1qiKbxE/ALzKjBb1K01OV/AgD4a2v9FWc38Q7GskhNJYD+Lup6Blxy4AW8DuB5vCZWsK2C3PoTVpuvAdz6ZQJ0r5+kPN9O/jjeUcw/FgKc7K5CwYfK/+YgZ48gQ12O3kZDony2iU8ecV1usj8VZI/jnmb+sWDcl4ARgFtofwno3sXb81fX0K4Ll/T79SCuHsqW/uO4p5l/DD1AdhP4Kit7lfkmyZ8HcBM382+q/HUlFjFnX1ekLjlEOVi5nn+qnX1Vk7jkbeunKB+1lr+jmZ9PtSmCeAyb9mPopOWdxwEWfyBm2gNRk5Z3JgDoSbpeKr9OT9aCdpVfpFul/BYziDFp+aTLN215yyNOCAkc0RsYOCIBAkckQOCIBAgckQCBIxIgcKjOoLrTUcesyyNaQPcGLpffjtjQXeURM4f6JaCb6Y6cGrq13KSzhggNJgFcBjzCkShfxpHSD9ThMqA6JYoDtfT1R1hgEmAZEA24jGVRfoRlkSAEecJE7qGwIq47HjPql4DlFlr02LKGbu3XRaCIhtDfF6BJamFnXR7RAtEbGDjiQFDgiAQIHJEAgSMSIHBEAgSOSIDAMb8E6MUBoXFAJ0D3cTZCH4T+xPPdwz5WJ55KANAJsJr/TRuu1p2Z/2Da2VwE6ATYz/+mC1frjuYfI3x7AEKv9tcMzKokFpl57TQszB/vAcYCfUbQPhLss26WhPlrhi2vUIX5V0X5QbwHGBd0Akg9wGppmuKvWSe8VztTJ1FP0c9RTDd/vAiMAbPUA0TzTwG+PUB3uN/f0cz8PUu4iEbw7QGOA1Lvwpk/3gOMAfqEkB4O0JvJzpXyTt/8jOiIOCMocMyvLyBiLPh/gj9Qphd3t8gAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTMtMDItMDFUMDU6MzM6MTAtMDg6MDApYMCSAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDEzLTAyLTAxVDA1OjMzOjEwLTA4OjAwWD14LgAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAASUVORK5CYII=);background-position:-32px 0;margin-top:0;top:0;font-weight:400}.cmb2-element .ui-datepicker .ui-datepicker-prev span{background-position:-96px 0}.cmb2-element .ui-datepicker th{padding:.75em 0;color:#fff;font-weight:400;border:none;border-top:1px solid #333}.cmb2-element .ui-datepicker td{background:#f1f1f1;border:none;padding:0}.cmb2-element .ui-datepicker td .ui-state-default{background:0 0;border:none;text-align:center;padding:.5em;margin:0;font-weight:400;color:#333}.cmb2-element .ui-datepicker td .ui-state-active,.cmb2-element .ui-datepicker td .ui-state-hover{background:#0074a2;color:#fff}.cmb2-element .ui-datepicker td.ui-state-disabled,.cmb2-element .ui-datepicker td.ui-state-disabled .ui-state-default{opacity:1;color:#999}.cmb2-element .ui-datepicker{background:#f1f1f1}.cmb2-element .ui-datepicker .ui-datepicker-close,.cmb2-element .ui-datepicker .ui-datepicker-current{font-size:14px;font-weight:400;background-image:none;border:none}.cmb2-element .ui-datepicker .ui-datepicker-close:active,.cmb2-element .ui-datepicker .ui-datepicker-close:hover,.cmb2-element .ui-datepicker .ui-datepicker-current:active,.cmb2-element .ui-datepicker .ui-datepicker-current:hover{background:#096484;color:#fff}.cmb2-element .ui-datepicker .ui-datepicker-buttonpane{border:none}.cmb2-element .ui-timepicker-div{font-size:14px}.cmb2-element .ui-timepicker-div .ui-widget-header{margin-bottom:8px;background:#222;border-color:#222}.cmb2-element .ui-timepicker-div dl{text-align:left}.cmb2-element .ui-timepicker-div dl dt{float:left;clear:left;padding:0 0 0 5px}.cmb2-element .ui-timepicker-div dl dd{margin:0 10px 10px 40%}.cmb2-element .ui-tpicker-grid-label{background:0 0;border:none;margin:0;padding:0}.cmb2-element .ui-timepicker-rtl{direction:rtl}.cmb2-element .ui-timepicker-rtl dl{text-align:right;padding:0 5px 0 0}.cmb2-element .ui-timepicker-rtl dl dt{float:right;clear:right}.cmb2-element .ui-timepicker-rtl dl dd{margin:0 40% 10px 10px}.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-blue .cmb2-element .ui-datepicker thead,.admin-color-blue .cmb2-element .ui-timepicker-div .ui-widget-header{background:#4796b3}.admin-color-blue .cmb2-element .ui-timepicker-div .ui-widget-header{border-color:#4796b3}.admin-color-blue .cmb2-element .ui-datepicker th{border-color:#52accc}.admin-color-blue .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-blue .cmb2-element .ui-datepicker td .ui-state-hover{background:#096484}.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-close:active,.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-close:hover,.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-current:active,.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-current:hover{background:#096484;color:#fff}.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-coffee .cmb2-element .ui-datepicker thead,.admin-color-coffee .cmb2-element .ui-timepicker-div .ui-widget-header{background:#46403c}.admin-color-coffee .cmb2-element .ui-datepicker th{border-color:#59524c}.admin-color-coffee .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-coffee .cmb2-element .ui-datepicker td .ui-state-hover{background:#c7a589}.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-close:active,.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-close:hover,.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-current:active,.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-current:hover{background:#c7a589;color:#fff}.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-ectoplasm .cmb2-element .ui-datepicker thead,.admin-color-ectoplasm .cmb2-element .ui-timepicker-div .ui-widget-header{background:#413256}.admin-color-ectoplasm .cmb2-element .ui-timepicker-div .ui-widget-header{border-color:#413256}.admin-color-ectoplasm .cmb2-element .ui-datepicker th{border-color:#523f6d}.admin-color-ectoplasm .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-ectoplasm .cmb2-element .ui-datepicker td .ui-state-hover{background:#a3b745}.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-close:active,.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-close:hover,.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-current:active,.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-current:hover{background:#a3b745;color:#fff}.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-midnight .cmb2-element .ui-datepicker thead,.admin-color-midnight .cmb2-element .ui-timepicker-div .ui-widget-header{background:#26292c}.admin-color-midnight .cmb2-element .ui-datepicker th{border-color:#363b3f}.admin-color-midnight .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-midnight .cmb2-element .ui-datepicker td .ui-state-hover{background:#e14d43}.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-close:active,.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-close:hover,.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-current:active,.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-current:hover{background:#e14d43;color:#fff}.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-ocean .cmb2-element .ui-datepicker thead,.admin-color-ocean .cmb2-element .ui-timepicker-div .ui-widget-header{background:#627c83}.admin-color-ocean .cmb2-element .ui-timepicker-div .ui-widget-header{border-color:#627c83}.admin-color-ocean .cmb2-element .ui-datepicker th{border-color:#738e96}.admin-color-ocean .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-ocean .cmb2-element .ui-datepicker td .ui-state-hover{background:#9ebaa0}.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-close:active,.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-close:hover,.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-current:active,.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-current:hover{background:#9ebaa0;color:#fff}.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-sunrise .cmb2-element .ui-datepicker thead,.admin-color-sunrise .cmb2-element .ui-timepicker-div .ui-widget-header{background:#be3631}.admin-color-sunrise .cmb2-element .ui-timepicker-div .ui-widget-header{border-color:#be3631}.admin-color-sunrise .cmb2-element .ui-datepicker th{border-color:#cf4944}.admin-color-sunrise .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-sunrise .cmb2-element .ui-datepicker td .ui-state-hover{background:#dd823b}.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-close:active,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-close:hover,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-current:active,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-current:hover{background:#dd823b;color:#fff}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-light .cmb2-element .ui-datepicker thead,.admin-color-light .cmb2-element .ui-timepicker-div .ui-widget-header{background:#e5e5e5}.admin-color-light .cmb2-element .ui-timepicker-div .ui-widget-header{border-color:#e5e5e5}.admin-color-light .cmb2-element .ui-datepicker,.admin-color-light .cmb2-element .ui-datepicker td{background:#fff}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-next span,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-prev span{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAYAAADvl7rLAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxMUIxRjI2RjhCODYxMUUzQTEyNERCMDU1QzdBQ0EyMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxMUIxRjI3MDhCODYxMUUzQTEyNERCMDU1QzdBQ0EyMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjExQjFGMjZEOEI4NjExRTNBMTI0REIwNTVDN0FDQTIwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjExQjFGMjZFOEI4NjExRTNBMTI0REIwNTVDN0FDQTIwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+kKfR4AAAHcRJREFUeNrsXWuM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)}.admin-color-light .cmb2-element .ui-datepicker th{border-color:#fff}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-title,.admin-color-light .cmb2-element .ui-datepicker td .ui-state-default,.admin-color-light .cmb2-element .ui-datepicker th,.admin-color-light .cmb2-element .ui-timepicker-div .ui-widget-header{color:#555}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-close:active,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-close:hover,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-current:active,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-current:hover,.admin-color-light .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-light .cmb2-element .ui-datepicker td .ui-state-hover{color:#fff;background:#888}.admin-color-light .cmb2-element .ui-datepicker td.ui-state-disabled,.admin-color-light .cmb2-element .ui-datepicker td.ui-state-disabled .ui-state-default{color:#ccc}@media (max-width:450px){.cmb-th{font-size:1.2em;padding-bottom:1em;text-align:left}.cmb-th label{display:block;margin-top:0;padding-bottom:5px}.cmb-th label:after{border-bottom:1px solid #e9e9e9;content:'';clear:both;display:block;padding-top:.4em}.cmb-td,.cmb-th,.cmb-th+.cmb-td{display:block;float:none;width:100%}.cmb-repeat-group-wrap .cmb-repeatable-group:not(:last-of-type),.cmb-repeat-group-wrap .cmb-row:not(:last-of-type),.postbox-container .cmb-repeatable-group:not(:last-of-type),.postbox-container .cmb-row:not(:last-of-type){border-bottom:0}} \ No newline at end of file diff --git a/example-functions.php b/example-functions.php index 160a5f7..9daffe7 100644 --- a/example-functions.php +++ b/example-functions.php @@ -15,9 +15,9 @@ * Get the bootstrap! If using the plugin from wordpress.org, REMOVE THIS! */ -if ( file_exists( dirname( __FILE__ ) . '/cmb2/init.php' ) ) { +if ( file_exists( dirname( __FILE__ ) . '/cmb2/init.php' ) ) { require_once dirname( __FILE__ ) . '/cmb2/init.php'; -} elseif ( file_exists( dirname( __FILE__ ) . '/CMB2/init.php' ) ) { +} elseif ( file_exists( dirname( __FILE__ ) . '/CMB2/init.php' ) ) { require_once dirname( __FILE__ ) . '/CMB2/init.php'; } @@ -28,9 +28,9 @@ * * @return bool True if metabox should show */ -function yourprefix_hide_if_no_cats( $field ) { +function yourprefix_hide_if_no_cats( $field ) { // Don't show this field if not in the cats category - if ( ! has_tag( 'cats', $field->object_id ) ) { + if ( ! has_tag( 'cats', $field->object_id ) ) { return false; } return true; @@ -42,10 +42,10 @@ function yourprefix_hide_if_no_cats( $field ) { * @param array $field_args Array of field parameters * @param CMB2_Field object $field Field object */ -function yourprefix_before_row_if_2( $field_args, $field ) { - if ( 2 == $field->object_id ) { +function yourprefix_before_row_if_2( $field_args, $field ) { + if ( 2 == $field->object_id ) { echo '
Testing "before_row" parameter (on $post_id 2)
'; - } else { + } else { echo 'Testing "before_row" parameter (NOT on $post_id 2)
'; } } @@ -54,7 +54,7 @@ function yourprefix_before_row_if_2( $field_args, $field ) { /** * Hook in and add a demo metabox. Can only happen on the 'cmb2_init' hook. */ -function yourprefix_register_demo_metabox() { +function yourprefix_register_demo_metabox() { // Start with an underscore to hide fields from custom fields list $prefix = '_yourprefix_demo_'; @@ -157,12 +157,13 @@ function yourprefix_register_demo_metabox() { // This text_datetime_timestamp_timezone field type // is only compatible with PHP versions 5.3 or above. // Feel free to uncomment and use if your server meets the requirement - // array( + // $cmb_demo->add_field( array( // 'name' => __( 'Test Date/Time Picker/Time zone Combo (serialized DateTime object)', 'cmb2' ), // 'desc' => __( 'field description (optional)', 'cmb2' ), // 'id' => $prefix . 'datetime_timestamp_timezone', // 'type' => 'text_datetime_timestamp_timezone', - // ), + // ) ); + $cmb_demo->add_field( array( 'name' => __( 'Test Money', 'cmb2' ), 'desc' => __( 'field description (optional)', 'cmb2' ), @@ -338,7 +339,7 @@ function yourprefix_register_demo_metabox() { /** * Hook in and add a metabox that only appears on the 'About' page */ -function yourprefix_register_about_page_metabox() { +function yourprefix_register_about_page_metabox() { // Start with an underscore to hide fields from custom fields list $prefix = '_yourprefix_about_'; @@ -369,7 +370,7 @@ function yourprefix_register_about_page_metabox() { /** * Hook in and add a metabox to demonstrate repeatable grouped fields */ -function yourprefix_register_repeatable_group_field_metabox() { +function yourprefix_register_repeatable_group_field_metabox() { // Start with an underscore to hide fields from custom fields list $prefix = '_yourprefix_group_'; @@ -434,7 +435,7 @@ function yourprefix_register_repeatable_group_field_metabox() { /** * Hook in and add a metabox to add fields to the user profile pages */ -function yourprefix_register_user_profile_metabox() { +function yourprefix_register_user_profile_metabox() { // Start with an underscore to hide fields from custom fields list $prefix = '_yourprefix_user_'; @@ -506,7 +507,7 @@ function yourprefix_register_user_profile_metabox() { /** * Hook in and register a metabox to handle a theme options page */ -function yourprefix_register_theme_options_metabox() { +function yourprefix_register_theme_options_metabox() { // Start with an underscore to hide fields from custom fields list $option_key = '_yourprefix_theme_options'; diff --git a/includes/CMB2.php b/includes/CMB2.php index 2954062..a0efa36 100644 --- a/includes/CMB2.php +++ b/includes/CMB2.php @@ -67,10 +67,18 @@ class CMB2 { 'cmb_styles' => true, // Include cmb bundled stylesheet 'fields' => array(), 'hookup' => true, + 'save_fields' => true, // Will not save during hookup if false 'closed' => false, // Default to metabox being closed? 'new_user_section' => 'add-new-user', // or 'add-existing-user' ); + /** + * Metabox field objects + * @var array + * @since 2.0.3 + */ + protected $fields = array(); + /** * An array of hidden fields to output at the end of the form * @var array @@ -94,8 +102,11 @@ class CMB2 { /** * Get started + * @since 0.4.0 + * @param array $meta_box Metabox config array + * @param integer $object_id Optional object id */ - function __construct( $meta_box, $object_id = 0 ) { + public function __construct( $meta_box, $object_id = 0 ) { if ( empty( $meta_box['id'] ) ) { wp_die( __( 'Metabox configuration is required to have an ID parameter', 'cmb2' ) ); @@ -186,12 +197,7 @@ public function show_form( $object_id = 0, $object_type = '' ) { $field_args['show_names'] = $this->prop( 'show_names' ); // Render default fields - $field = new CMB2_Field( array( - 'field_args' => $field_args, - 'object_type' => $this->object_type(), - 'object_id' => $this->object_id(), - ) ); - $field->render_field(); + $field = $this->get_field( $field_args )->render_field(); } } @@ -231,6 +237,7 @@ public function show_form( $object_id = 0, $object_type = '' ) { /** * Render a repeatable group + * @param array $args Array of field arguments for a group field parent */ public function render_group( $args ) { @@ -244,11 +251,7 @@ public function render_group( $args ) { } $args['count'] = 0; - $field_group = new CMB2_Field( array( - 'field_args' => $args, - 'object_type' => $this->object_type(), - 'object_id' => $this->object_id(), - ) ); + $field_group = $this->get_field( $args ); $desc = $field_group->args( 'description' ); $label = $field_group->args( 'name' ); $sortable = $field_group->options( 'sortable' ) ? ' sortable' : ''; @@ -284,6 +287,12 @@ public function render_group( $args ) { } + /** + * Render a repeatable group row + * @since 1.0.2 + * @param CMB2_Field $field_group CMB2_Field group field object + * @param string $remove_disabled Attribute string to disable the remove button + */ public function render_group_row( $field_group, $remove_disabled ) { echo ' @@ -307,12 +316,9 @@ public function render_group_row( $field_group, $remove_disabled ) { } else { $field_args['show_names'] = $field_group->args( 'show_names' ); - $field_args['context'] = $field_group->args( 'context' ); - $field = new CMB2_Field( array( - 'field_args' => $field_args, - 'group_field' => $field_group, - ) ); - $field->render_field(); + $field_args['context'] = $field_group->args( 'context' ); + + $field = $this->get_field( $field_args, $field_group )->render_field(); } } echo ' @@ -350,6 +356,36 @@ public function render_hidden_fields() { } } + /** + * Returns array of sanitized field values (without saving them) + * @since 2.0.3 + * @param array $data_to_sanitize Array of field_id => value data for sanitizing (likely $_POST data). + */ + public function get_sanitized_values( array $data_to_sanitize ) { + $this->data_to_save = $data_to_sanitize; + $stored_id = $this->object_id(); + + // We do this So CMB will sanitize our data for us, but not save it + $this->object_id( '_' ); + + // Ensure temp. data store is empty + cmb2_options( 0 )->set(); + + // Process/save fields + $this->process_fields(); + + // Get data from temp. data store + $sanitized_values = cmb2_options( 0 )->get_options(); + + // Empty out temp. data store again + cmb2_options( 0 )->set(); + + // Reset the object id + $this->object_id( $stored_id ); + + return $sanitized_values; + } + /** * Loops through and saves field data * @since 1.0.0 @@ -428,7 +464,7 @@ public function process_field( $field_args ) { 'object_id' => $this->object_id(), ) ); - if ( $field->save_field( $this->data_to_save ) ) { + if ( $field->save_field_from_data( $this->data_to_save ) ) { $this->updated[] = $field->id(); } @@ -649,6 +685,52 @@ public function prop( $property, $fallback = null ) { } } + /** + * Add a field to the metabox + * @since 2.0.3 + * @param mixed $field Metabox field id or field config array or CMB2_Field object + * @param CMB2_Field object $group_field (optional) CMB2_Field object (group parent) + * @return mixed CMB2_Field object (or false) + */ + public function get_field( $field, $group_field = null ) { + if ( is_a( $field, 'CMB2_Field' ) ) { + return $field; + } + + $field_id = is_string( $field ) ? $field : $field['id']; + + $parent_field_id = ! empty( $group_field ) ? $group_field->id() : ''; + $ids = $this->get_field_ids( $field_id, $parent_field_id, true ); + + if ( ! $ids ) { + return false; + } + + list( $field_id, $sub_field_id ) = $ids; + + $index = implode( '', $ids ); + if ( array_key_exists( $index, $this->fields ) ) { + return $this->fields[ $index ]; + } + + $field_array = $this->prop( 'fields' ); + + $args = ! $sub_field_id + ? array( + 'field_args' => is_array( $field ) ? array_merge( $field, $field_array[ $field_id ] ) : $field_array[ $field_id ], + 'object_type' => $this->object_type(), + 'object_id' => $this->object_id(), + ) + : array( + 'field_args' => $field_array[ $field_id ]['fields'][ $sub_field_id ], + 'group_field' => $group_field, + ); + + $this->fields[ $index ] = new CMB2_Field( $args ); + + return $this->fields[ $index ]; + } + /** * Add a field to the metabox * @since 2.0.0 @@ -733,11 +815,14 @@ public function remove_field( $field_id, $parent_field_id = '' ) { list( $field_id, $sub_field_id ) = $ids; + unset( $this->fields[ implode( '', $ids ) ] ); + if ( ! $sub_field_id ) { unset( $this->meta_box['fields'][ $field_id ] ); return true; } + unset( $this->fields[ $field_id ]->args['fields'][ $sub_field_id ] ); unset( $this->meta_box['fields'][ $field_id ]['fields'][ $sub_field_id ] ); return true; } diff --git a/includes/CMB2_Field.php b/includes/CMB2_Field.php index e7f7c39..bd524e3 100644 --- a/includes/CMB2_Field.php +++ b/includes/CMB2_Field.php @@ -78,7 +78,7 @@ class CMB2_Field { /** * Constructs our field object * @since 1.1.0 - * @param array $args Field arguments + * @param array $args Field arguments */ public function __construct( $args ) { @@ -87,52 +87,15 @@ public function __construct( $args ) { $this->object_id = $this->group->object_id; $this->object_type = $this->group->object_type; } else { - $this->object_id = $args['object_id']; + $this->object_id = isset( $args['object_id'] ) && '_' !== $args['object_id'] ? $args['object_id'] : 0; $this->object_type = isset( $args['object_type'] ) ? $args['object_type'] : 'post'; } $this->args = $this->_set_field_defaults( $args['field_args'] ); - /** - * Filter whether to override getting of meta value. - * Returning a non 'cmb2_field_no_override_val' value - * will effectively short-circuit the value retrieval. - * - * @since 2.0.0 - * - * @param null|array|string $value The value get_metadata() should - * return - a single metadata value, - * or an array of values. - * @param int $object_id Object ID. - * @param array $field_args All field arguments - * @param string $object_type Object Type - * @param CMB2_Field object $field_obj This field object - */ - $this->value = apply_filters( 'cmb2_override_meta_value', 'cmb2_field_no_override_val', $this->object_id, $this->args(), $this->object_type, $this ); - - /** - * Filter whether to override getting of meta value. - * - * The dynamic portion of the hook, $field_id, refers to the current - * field id paramater. Returning a non 'cmb2_field_no_override_val' value - * will effectively short-circuit the value retrieval. - * - * @since 2.0.0 - * - * @param null|array|string $value The value get_metadata() should - * return - a single metadata value, - * or an array of values. - * @param int $object_id Object ID. - * @param array $field_args All field arguments - * @param string $object_type Object Type - * @param CMB2_Field object $field_obj This field object - */ - $this->value = apply_filters( "cmb2_override_{$this->id( true )}_meta_value", $this->value, $this->object_id, $this->args(), $this->object_type, $this ); - - // If no override, get our meta - $this->value = 'cmb2_field_no_override_val' === $this->value - ? $this->get_data() - : $this->value; + if ( $this->object_id ) { + $this->set_value(); + } } /** @@ -166,21 +129,18 @@ public function id( $raw = false ) { * @return mixed Argument value or false if non-existent */ public function args( $key = '', $_key = '' ) { - $vars = $this->_data( 'args', $key ); - if ( $_key ) { - return isset( $vars[ $_key ] ) ? $vars[ $_key ] : false; + $arg = $this->_data( 'args', $key ); + + if ( 'default' == $key ) { + + $arg = $this->get_param_callback_result( 'default', false ); + + } elseif ( $_key ) { + + $arg = isset( $arg[ $_key ] ) ? $arg[ $_key ] : false; } - return $vars; - } - /** - * Get Field's value - * @since 1.1.0 - * @param string $key If value is an array, is used to get array key->value - * @return mixed Field value or false if non-existent - */ - public function value( $key = '' ) { - return $this->_data( 'value', $key ); + return $arg; } /** @@ -198,6 +158,63 @@ public function _data( $var, $key = '' ) { return $vars; } + /** + * Fetches this field's value and sets as an object property + * @since 2.0.3 + */ + public function set_value() { + /** + * Filter whether to override getting of meta value. + * Returning a non 'cmb2_field_no_override_val' value + * will effectively short-circuit the value retrieval. + * + * @since 2.0.0 + * + * @param null|array|string $value The value get_metadata() should + * return - a single metadata value, + * or an array of values. + * @param int $object_id Object ID. + * @param array $field_args All field arguments + * @param string $object_type Object Type + * @param CMB2_Field object $field_obj This field object + */ + $this->value = apply_filters( 'cmb2_override_meta_value', 'cmb2_field_no_override_val', $this->object_id, $this->args(), $this->object_type, $this ); + + /** + * Filter whether to override getting of meta value. + * + * The dynamic portion of the hook, $field_id, refers to the current + * field id paramater. Returning a non 'cmb2_field_no_override_val' value + * will effectively short-circuit the value retrieval. + * + * @since 2.0.0 + * + * @param null|array|string $value The value get_metadata() should + * return - a single metadata value, + * or an array of values. + * @param int $object_id Object ID. + * @param array $field_args All field arguments + * @param string $object_type Object Type + * @param CMB2_Field object $field_obj This field object + */ + $this->value = apply_filters( "cmb2_override_{$this->id( true )}_meta_value", $this->value, $this->object_id, $this->args(), $this->object_type, $this ); + + // If no override, get our data + $this->value = 'cmb2_field_no_override_val' === $this->value + ? $this->get_data() + : $this->value; + } + + /** + * Get Field's value + * @since 1.1.0 + * @param string $key If value is an array, is used to get array key->value + * @return mixed Field value or false if non-existent + */ + public function value( $key = '' ) { + return $this->_data( 'value', $key ); + } + /** * Retrieves metadata/option data * @since 1.0.1 @@ -281,10 +298,11 @@ public function update_data( $new_value, $single = true ) { if ( null !== $override ) { return $override; } - // Options page handling - if ( 'options-page' === $a['type'] ) { + // Options page handling (or temp data store) + if ( 'options-page' === $a['type'] || empty( $a['id'] ) ) { return cmb2_options( $a['id'] )->update( $a['field_id'], $a[ 'value' ], false, $a['single'] ); } + // Add metadata if not single if ( ! $a['single'] ) { return add_metadata( $a['type'], $a['id'], $a['field_id'], $a[ 'value' ], false ); @@ -352,7 +370,7 @@ public function remove_data( $old = '' ) { return $override; } // Option page handling - elseif ( 'options-page' === $a['type'] ) { + elseif ( 'options-page' === $a['type'] || empty( $a['id'] ) ) { return cmb2_options( $a['id'] )->remove( $a['field_id'] ); } @@ -402,21 +420,32 @@ public function sanitization_cb( $meta_value ) { $clean = new CMB2_Sanitize( $this, $meta_value ); // Validation via 'CMB2_Sanitize' (with fallback filter) - return $clean->{$this->type()}( $meta_value ); + return $clean->{$this->type()}(); } /** * Process $_POST data to save this field's value - * @since 2.0.0 + * @since 2.0.3 * @param array $data_to_save $_POST data to check * @return bool Result of save */ - public function save_field( $data_to_save ) { + public function save_field_from_data( $data_to_save ) { $meta_value = isset( $data_to_save[ $this->id( true ) ] ) ? $data_to_save[ $this->id( true ) ] : null; + $this->save_field( $meta_value ); + } + + /** + * Sanitize/store a value to this field + * @since 2.0.0 + * @param array $meta_value Desired value to sanitize/store + * @return bool Result of save + */ + public function save_field( $meta_value ) { + $new_value = $this->sanitization_cb( $meta_value ); $old = $this->get_data(); // $name = $this->id(); @@ -507,7 +536,7 @@ public function repeatable_exception( $type ) { */ public function escaped_value( $func = 'esc_attr', $meta_value = '' ) { - if ( ! is_null( $this->escaped_value ) ) { + if ( null !== $this->escaped_value ) { return $this->escaped_value; } @@ -553,7 +582,7 @@ public function escaped_value( $func = 'esc_attr', $meta_value = '' ) { * @return mixed Field value, or default value */ public function val_or_default( $meta_value ) { - return ! cmb2_utils()->isempty( $meta_value ) ? $meta_value : $this->args( 'default' ); + return ! cmb2_utils()->isempty( $meta_value ) ? $meta_value : $this->get_param_callback_result( 'default', false ); } /** @@ -660,6 +689,9 @@ public function render_field() { echo "\n\t\n"; $this->peform_param_callback( 'after_row' ); + + // For chaining + return $this; } /** @@ -758,7 +790,7 @@ public function get_param_callback_result( $param, $echo = true ) { } // Otherwise just get whatever is there - $this->callback_results[ $param ] = $this->args( $param ); + $this->callback_results[ $param ] = isset( $this->args[ $param ] ) ? $this->args[ $param ] : false; return $this->callback_results[ $param ]; } diff --git a/includes/CMB2_Options.php b/includes/CMB2_Options.php index bfee177..8c4df7f 100644 --- a/includes/CMB2_Options.php +++ b/includes/CMB2_Options.php @@ -41,10 +41,12 @@ class CMB2_Option { /** * Initiate option object + * @param string $option_key Option key where data will be saved. + * Leave empty for temporary data store. * @since 2.0.0 */ - public function __construct( $option_key ) { - $this->key = $option_key; + public function __construct( $option_key = '' ) { + $this->key = ! empty( $option_key ) ? $option_key : ''; } /** @@ -53,8 +55,9 @@ public function __construct( $option_key ) { * @return bool Delete success or failure */ public function delete_option() { - $this->options = delete_option( $this->key ); - return $this->options; + $deleted = $this->key ? delete_option( $this->key ) : true; + $this->options = $deleted ? array() : $this->options; + return $result; } /** @@ -85,7 +88,7 @@ public function remove( $field_id, $resave = false ) { * @param mixed $default Fallback value for the option * @return array Requested field or default */ - function get( $field_id, $default = false ) { + public function get( $field_id, $default = false ) { $opts = $this->get_options(); if ( 'all' == $field_id ) { @@ -106,7 +109,7 @@ function get( $field_id, $default = false ) { * @param bool $single Whether data should not be an array * @return boolean Return status of update */ - function update( $field_id, $value = '', $resave = false, $single = true ) { + public function update( $field_id, $value = '', $resave = false, $single = true ) { $this->get_options(); if ( true !== $field_id ) { @@ -137,8 +140,14 @@ function update( $field_id, $value = '', $resave = false, $single = true ) { * @param array $options Optional options to override * @return bool Success/Failure */ - function set( $options = array() ) { - $this->options = ! empty( $options ) ? $options : $this->options; + public function set( $options = array() ) { + $this->options = ! empty( $options ) || empty( $options ) && empty( $this->key ) + ? $options + : $this->options; + + if ( empty( $this->key ) ) { + return false; + } $test_save = apply_filters( "cmb2_override_option_save_{$this->key}", 'cmb2_no_override_option_save', $this->options, $this ); @@ -159,8 +168,8 @@ function set( $options = array() ) { * @param mixed $default Optional. Default value to return if the option does not exist. * @return mixed Value set for the option. */ - function get_options( $default = null ) { - if ( empty( $this->options ) ) { + public function get_options( $default = null ) { + if ( empty( $this->options ) && ! empty( $this->key ) ) { $test_get = apply_filters( "cmb2_override_option_get_{$this->key}", 'cmb2_no_override_option_get', $default, $this ); diff --git a/includes/CMB2_Sanitize.php b/includes/CMB2_Sanitize.php index e23eccf..3b544e5 100644 --- a/includes/CMB2_Sanitize.php +++ b/includes/CMB2_Sanitize.php @@ -14,7 +14,7 @@ class CMB2_Sanitize { public $field; /** - * Field's $_POST value + * Field's value * @var mixed */ public $value; @@ -37,16 +37,14 @@ public function __construct( CMB2_Field $field, $value ) { * @param array $arguments All arguments passed to the method */ public function __call( $name, $arguments ) { - list( $value ) = $arguments; - return $this->default_sanitization( $value ); + return $this->default_sanitization( $this->value ); } /** * Default fallback sanitization method. Applies filters. * @since 1.0.2 - * @param mixed $value Meta value */ - public function default_sanitization( $value ) { + public function default_sanitization() { /** * Filter the value before it is saved. @@ -63,11 +61,11 @@ public function default_sanitization( $value ) { * @param array $field_args The current field's arguments * @param object $sanitizer This `CMB2_Sanitize` object */ - $override_value = apply_filters( "cmb2_sanitize_{$this->field->type()}", null, $value, $this->field->object_id, $this->field->args(), $this ); + $override_value = apply_filters( "cmb2_sanitize_{$this->field->type()}", null, $this->value, $this->field->object_id, $this->field->args(), $this ); /** * DEPRECATED. See documentation above. */ - $override_value = apply_filters( "cmb2_validate_{$this->field->type()}", $override_value, $value, $this->field->object_id, $this->field->args(), $this ); + $override_value = apply_filters( "cmb2_validate_{$this->field->type()}", $override_value, $this->value, $this->field->object_id, $this->field->args(), $this ); if ( null !== $override_value ) { return $override_value; @@ -75,102 +73,98 @@ public function default_sanitization( $value ) { switch ( $this->field->type() ) { case 'wysiwyg': - // $value = wp_kses( $value ); + // $value = wp_kses( $this->value ); // break; case 'textarea_small': - return $this->textarea( $value ); + return $this->textarea( $this->value ); case 'taxonomy_select': case 'taxonomy_radio': case 'taxonomy_multicheck': if ( $this->field->args( 'taxonomy' ) ) { - return wp_set_object_terms( $this->field->object_id, $value, $this->field->args( 'taxonomy' ) ); + return wp_set_object_terms( $this->field->object_id, $this->value, $this->field->args( 'taxonomy' ) ); } case 'multicheck': case 'file_list': case 'oembed': // no filtering - return $value; + return $this->value; default: // Handle repeatable fields array // We'll fallback to 'sanitize_text_field' - return is_array( $value ) ? array_map( 'sanitize_text_field', $value ) : call_user_func( 'sanitize_text_field', $value ); + return is_array( $this->value ) ? array_map( 'sanitize_text_field', $this->value ) : call_user_func( 'sanitize_text_field', $this->value ); } } /** * Simple checkbox validation * @since 1.0.1 - * @param mixed $value 'on' or false * @return string|false 'on' or false */ - public function checkbox( $value ) { - return $value === 'on' ? 'on' : false; + public function checkbox() { + return $this->value === 'on' ? 'on' : false; } /** * Validate url in a meta value * @since 1.0.1 - * @param string $value Meta value * @return string Empty string or escaped url */ - public function text_url( $value ) { + public function text_url() { $protocols = $this->field->args( 'protocols' ); // for repeatable - if ( is_array( $value ) ) { - foreach ( $value as $key => $val ) { - $value[ $key ] = $val ? esc_url_raw( $val, $protocols ) : $this->field->args( 'default' ); + if ( is_array( $this->value ) ) { + foreach ( $this->value as $key => $val ) { + $this->value[ $key ] = $val ? esc_url_raw( $val, $protocols ) : $this->field->args( 'default' ); } } else { - $value = $value ? esc_url_raw( $value, $protocols ) : $this->field->args( 'default' ); + $this->value = $this->value ? esc_url_raw( $this->value, $protocols ) : $this->field->args( 'default' ); } - return $value; + return $this->value; } - public function colorpicker( $value ) { + public function colorpicker() { // for repeatable - if ( is_array( $value ) ) { - $check = $value; - $value = array(); + if ( is_array( $this->value ) ) { + $check = $this->value; + $this->value = array(); foreach ( $check as $key => $val ) { if ( $val && '#' != $val ) { - $value[ $key ] = esc_attr( $val ); + $this->value[ $key ] = esc_attr( $val ); } } } else { - $value = ! $value || '#' == $value ? '' : esc_attr( $value ); + $this->value = ! $this->value || '#' == $this->value ? '' : esc_attr( $this->value ); } - return $value; + return $this->value; } /** * Validate email in a meta value * @since 1.0.1 - * @param string $value Meta value * @return string Empty string or sanitized email */ - public function text_email( $value ) { + public function text_email() { // for repeatable - if ( is_array( $value ) ) { - foreach ( $value as $key => $val ) { + if ( is_array( $this->value ) ) { + foreach ( $this->value as $key => $val ) { $val = trim( $val ); - $value[ $key ] = is_email( $val ) ? $val : ''; + $this->value[ $key ] = is_email( $val ) ? $val : ''; } } else { - $value = trim( $value ); - $value = is_email( $value ) ? $value : ''; + $this->value = trim( $this->value ); + $this->value = is_email( $this->value ) ? $this->value : ''; } - return $value; + return $this->value; } /** * Validate money in a meta value * @since 1.0.1 - * @param string $value Meta value * @return string Empty string or sanitized money value */ - public function text_money( $value ) { + public function text_money() { global $wp_locale; @@ -178,74 +172,71 @@ public function text_money( $value ) { $replace = array( '', '.' ); // for repeatable - if ( is_array( $value ) ) { - foreach ( $value as $key => $val ) { - $value[ $key ] = number_format_i18n( (float) str_ireplace( $search, $replace, $val ), 2 ); + if ( is_array( $this->value ) ) { + foreach ( $this->value as $key => $val ) { + $this->value[ $key ] = number_format_i18n( (float) str_ireplace( $search, $replace, $val ), 2 ); } } else { - $value = number_format_i18n( (float) str_ireplace( $search, $replace, $value ), 2 ); + $this->value = number_format_i18n( (float) str_ireplace( $search, $replace, $this->value ), 2 ); } - return $value; + return $this->value; } /** * Converts text date to timestamp * @since 1.0.2 - * @param string $value Meta value * @return string Timestring */ - public function text_date_timestamp( $value ) { - return is_array( $value ) ? array_map( 'strtotime', $value ) : strtotime( $value ); + public function text_date_timestamp() { + return is_array( $this->value ) ? array_map( 'strtotime', $this->value ) : strtotime( $this->value ); } /** * Datetime to timestamp * @since 1.0.1 - * @param string $value Meta value * @return string Timestring */ - public function text_datetime_timestamp( $value, $repeat = false ) { + public function text_datetime_timestamp( $repeat = false ) { - $test = is_array( $value ) ? array_filter( $value ) : ''; + $test = is_array( $this->value ) ? array_filter( $this->value ) : ''; if ( empty( $test ) ) { return ''; } - if ( $repeat_value = $this->_check_repeat( $value, __FUNCTION__, $repeat ) ) { + if ( $repeat_value = $this->_check_repeat( __FUNCTION__, $repeat ) ) { return $repeat_value; } - $value = strtotime( $value['date'] . ' ' . $value['time'] ); + $this->value = strtotime( $this->value['date'] . ' ' . $this->value['time'] ); if ( $tz_offset = $this->field->field_timezone_offset() ) { - $value += $tz_offset; + $this->value += $tz_offset; } - return $value; + return $this->value; } /** * Datetime to imestamp with timezone * @since 1.0.1 - * @param string $value Meta value * @return string Timestring */ - public function text_datetime_timestamp_timezone( $value, $repeat = false ) { + public function text_datetime_timestamp_timezone( $repeat = false ) { - $test = is_array( $value ) ? array_filter( $value ) : ''; + $test = is_array( $this->value ) ? array_filter( $this->value ) : ''; if ( empty( $test ) ) { return ''; } - if ( $repeat_value = $this->_check_repeat( $value, __FUNCTION__, $repeat ) ) { + if ( $repeat_value = $this->_check_repeat( __FUNCTION__, $repeat ) ) { return $repeat_value; } $tzstring = null; - if ( is_array( $value ) && array_key_exists( 'timezone', $value ) ) { - $tzstring = $value['timezone']; + if ( is_array( $this->value ) && array_key_exists( 'timezone', $this->value ) ) { + $tzstring = $this->value['timezone']; } if ( empty( $tzstring ) ) { @@ -258,42 +249,39 @@ public function text_datetime_timestamp_timezone( $value, $repeat = false ) { $tzstring = timezone_name_from_abbr( '', $offset, 0 ); } - $value = new DateTime( $value['date'] . ' ' . $value['time'], new DateTimeZone( $tzstring ) ); - $value = serialize( $value ); + $this->value = new DateTime( $this->value['date'] . ' ' . $this->value['time'], new DateTimeZone( $tzstring ) ); + $this->value = serialize( $this->value ); - return $value; + return $this->value; } /** * Sanitize textareas and wysiwyg fields * @since 1.0.1 - * @param string $value Meta value * @return string Sanitized data */ - public function textarea( $value ) { - return is_array( $value ) ? array_map( 'wp_kses_post', $value ) : wp_kses_post( $value ); + public function textarea() { + return is_array( $this->value ) ? array_map( 'wp_kses_post', $this->value ) : wp_kses_post( $this->value ); } /** * Sanitize code textareas * @since 1.0.2 - * @param string $value Meta value * @return string Sanitized data */ - public function textarea_code( $value, $repeat = false ) { - if ( $repeat_value = $this->_check_repeat( $value, __FUNCTION__, $repeat ) ) { + public function textarea_code( $repeat = false ) { + if ( $repeat_value = $this->_check_repeat( __FUNCTION__, $repeat ) ) { return $repeat_value; } - return htmlspecialchars_decode( stripslashes( $value ) ); + return htmlspecialchars_decode( stripslashes( $this->value ) ); } /** * Peforms saving of `file` attachement's ID * @since 1.1.0 - * @param string $value File url */ - public function _save_file_id( $value ) { + public function _save_file_id() { $group = $this->field->group; $args = $this->field->args(); $args['id'] = $args['_id'] . '_id'; @@ -322,8 +310,8 @@ public function _save_file_id( $value ) { } // If there is no ID saved yet, try to get it from the url - if ( $value && ! $id_val ) { - $id_val = cmb2_utils()->image_id_from_url( $value ); + if ( $this->value && ! $id_val ) { + $id_val = cmb2_utils()->image_id_from_url( $this->value ); } if ( $group ) { @@ -343,31 +331,29 @@ public function _save_file_id( $value ) { /** * Handles saving of attachment post ID and sanitizing file url * @since 1.1.0 - * @param string $value File url * @return string Sanitized url */ - public function file( $value ) { - $id_value = $this->_save_file_id( $value ); - $clean = $this->text_url( $value ); + public function file() { + $id_value = $this->_save_file_id( $this->value ); + $clean = $this->text_url( $this->value ); // Return an array with url/id if saving a group field - return $this->field->group ? array_merge( array( 'url' => $clean), $id_value ) : $clean; + return $this->field->group ? array_merge( array( 'url' => $clean ), $id_value ) : $clean; } /** * If repeating, loop through and re-apply sanitization method * @since 1.1.0 - * @param mixed $value Meta value * @param string $method Class method * @param bool $repeat Whether repeating or not * @return mixed Sanitized value */ - public function _check_repeat( $value, $method, $repeat ) { + public function _check_repeat( $method, $repeat ) { if ( $repeat || ! $this->field->args( 'repeatable' ) ) { return; } $new_value = array(); - foreach ( $value as $iterator => $val ) { + foreach ( $this->value as $iterator => $val ) { $new_value[] = $this->$method( $val, true ); } return $new_value; diff --git a/includes/CMB2_Types.php b/includes/CMB2_Types.php index d332076..1946796 100644 --- a/includes/CMB2_Types.php +++ b/includes/CMB2_Types.php @@ -465,18 +465,6 @@ public function text_url() { return $this->input( array( 'class' => 'cmb2-text-url cmb2-text-medium regular-text', 'value' => $this->field->escaped_value( 'esc_url' ) ) ); } - public function text_date() { - $formatted_value = $this->field->get_timestamp_format(); - - return $this->input( array( 'class' => 'cmb2-text-small cmb2-datepicker', 'desc' => $this->_desc(), 'value' => $formatted_value ) ); - } - - public function text_time() { - $formatted_value = $this->field->get_timestamp_format( 'time_format' ); - - return $this->input( array( 'class' => 'cmb2-timepicker text-time', 'desc' => $this->_desc(), 'value' => $formatted_value ) ); - } - public function text_money() { return ( ! $this->field->get_param_callback_result( 'before_field' ) ? '$ ' : ' ' ) . $this->input( array( 'class' => 'cmb2-text-money', 'desc' => $this->_desc() ) ); } @@ -501,70 +489,105 @@ public function wysiwyg( $args = array() ) { echo $a['desc']; } - public function text_date_timestamp() { - $formatted_value = $this->field->get_timestamp_format(); + public function text_date( $args = array() ) { + $args = wp_parse_args( $args, array( + 'class' => 'cmb2-text-small cmb2-datepicker', + 'value' => $this->field->get_timestamp_format(), + 'desc' => $this->_desc(), + ) ); + + return $this->input( $args ); + } + + // Alias for text_date + public function text_date_timestamp( $args = array() ) { + return $this->text_date( $args ); + } + + public function text_time( $args = array() ) { + $args = wp_parse_args( $args, array( + 'class' => 'cmb2-timepicker text-time', + 'value' => $this->field->get_timestamp_format( 'time_format' ), + 'desc' => $this->_desc(), + ) ); - return $this->input( array( 'class' => 'cmb2-text-small cmb2-datepicker', 'value' => $formatted_value ) ); + return $this->input( $args ); } - public function text_datetime_timestamp( $meta_value = null ) { - $desc = ''; - if ( ! $meta_value ) { - $meta_value = $this->field->escaped_value(); + public function text_datetime_timestamp( $args = array() ) { + $args = wp_parse_args( $args, array( + 'value' => $this->field->escaped_value(), + 'desc' => $this->_desc(), + 'datepicker' => array(), + 'timepicker' => array(), + ) ); + + if ( empty( $args['value'] ) ) { + $args['value'] = $this->field->escaped_value(); // This will be used if there is a select_timezone set for this field $tz_offset = $this->field->field_timezone_offset(); if ( ! empty( $tz_offset ) ) { - $meta_value -= $tz_offset; + $args['value'] -= $tz_offset; } - $desc = $this->_desc(); } - $inputs = array( - $this->input( array( - 'class' => 'cmb2-text-small cmb2-datepicker', - 'name' => $this->_name( '[date]' ), - 'id' => $this->_id( '_date' ), - 'value' => ! empty( $meta_value ) && ! is_array( $meta_value ) ? $this->field->get_timestamp_format( 'date_format', $meta_value ) : '', - 'desc' => '', - ) ), - $this->input( array( - 'class' => 'cmb2-timepicker text-time', - 'name' => $this->_name( '[time]' ), - 'id' => $this->_id( '_time' ), - 'value' => ! empty( $meta_value ) && ! is_array( $meta_value ) ? $this->field->get_timestamp_format( 'time_format', $meta_value ) : '', - 'desc' => $desc, - ) ), - ); + $has_good_value = ! empty( $args['value'] ) && ! is_array( $args['value'] ); - return implode( "\n", $inputs ); + $date_args = wp_parse_args( $args['datepicker'], array( + 'class' => 'cmb2-text-small cmb2-datepicker', + 'name' => $this->_name( '[date]' ), + 'id' => $this->_id( '_date' ), + 'value' => $has_good_value ? $this->field->get_timestamp_format( 'date_format', $args['value'] ) : '', + 'desc' => '', + ) ); + + $time_args = wp_parse_args( $args['timepicker'], array( + 'class' => 'cmb2-timepicker text-time', + 'name' => $this->_name( '[time]' ), + 'id' => $this->_id( '_time' ), + 'value' => $has_good_value ? $this->field->get_timestamp_format( 'time_format', $args['value'] ) : '', + 'desc' => $args['desc'], + ) ); + + return $this->input( $date_args ) . "\n" . $this->input( $time_args ); } - public function text_datetime_timestamp_timezone() { - $meta_value = $this->field->escaped_value(); - if ( is_array( $meta_value ) ) { - $meta_value = ''; + public function text_datetime_timestamp_timezone( $args = array() ) { + $args = wp_parse_args( $args, array( + 'value' => $this->field->escaped_value(), + 'desc' => $this->_desc( true ), + 'text_datetime_timestamp' => array(), + 'select_timezone' => array(), + ) ); + + $args['value'] = $this->field->escaped_value(); + if ( is_array( $args['value'] ) ) { + $args['value'] = ''; } - $datetime = unserialize( $meta_value ); - $meta_value = $tzstring = ''; + + $datetime = unserialize( $args['value'] ); + $args['value'] = $tzstring = ''; if ( $datetime && $datetime instanceof DateTime ) { - $tz = $datetime->getTimezone(); - $tzstring = $tz->getName(); - $meta_value = $datetime->getTimestamp() + $tz->getOffset( new DateTime( 'NOW' ) ); + $tz = $datetime->getTimezone(); + $tzstring = $tz->getName(); + $args['value'] = $datetime->getTimestamp() + $tz->getOffset( new DateTime( 'NOW' ) ); } - $inputs = array( - $this->text_datetime_timestamp( $meta_value ), - $this->select( array( - 'class' => 'cmb2_select cmb2-select-timezone', - 'name' => $this->_name( '[timezone]' ), - 'id' => $this->_id( '_timezone' ), - 'options' => wp_timezone_choice( $tzstring ), - 'desc' => $this->_desc(), - ) ), - ); + $timestamp_args = wp_parse_args( $args['text_datetime_timestamp'], array( + 'desc' => '', + 'value' => $args['value'], + ) ); + + $timezone_args = wp_parse_args( $args['select_timezone'], array( + 'class' => 'cmb2_select cmb2-select-timezone', + 'name' => $this->_name( '[timezone]' ), + 'id' => $this->_id( '_timezone' ), + 'options' => wp_timezone_choice( $tzstring ), + 'desc' => $args['desc'], + ) ); - return implode( "\n", $inputs ); + return $this->text_datetime_timestamp( $timestamp_args ) . "\n" . $this->select( $timezone_args ); } public function select_timezone() { diff --git a/includes/CMB2_Utils.php b/includes/CMB2_Utils.php index c9434a9..6fe3232 100644 --- a/includes/CMB2_Utils.php +++ b/includes/CMB2_Utils.php @@ -126,7 +126,7 @@ public function is_valid_time_stamp( $timestamp ) { * @return bool True or false */ public function isempty( $value ) { - return is_null( $value ) || '' === $value || false === $value; + return null === $value || '' === $value || false === $value; } /** diff --git a/includes/CMB2_hookup.php b/includes/CMB2_hookup.php index 714567b..f0e98fb 100644 --- a/includes/CMB2_hookup.php +++ b/includes/CMB2_hookup.php @@ -132,10 +132,10 @@ public static function register_scripts() { ) ); } - wp_register_script( 'cmb-timepicker', cmb2_utils()->url( 'js/jquery.timePicker.min.js' ) ); + wp_register_script( 'jquery-ui-datetimepicker', cmb2_utils()->url( 'js/jquery-ui-timepicker-addon.min.js' ), array( 'jquery-ui-slider' ), CMB2_VERSION ); // scripts required for cmb - $scripts = array( 'jquery', 'jquery-ui-core', 'jquery-ui-datepicker', 'cmb-timepicker', 'wp-color-picker' ); + $scripts = array( 'jquery', 'jquery-ui-core', 'jquery-ui-datepicker', 'jquery-ui-datetimepicker', 'wp-color-picker' ); // styles required for cmb $styles = array( 'wp-color-picker' ); @@ -165,11 +165,16 @@ public static function register_scripts() { 'clearText' => __( 'Clear', 'cmb2' ), ), 'time_picker' => array( - 'startTime' => '00:00', - 'endTime' => '23:59', - 'show24Hours' => false, - 'separator' => ':', - 'step' => 30, + 'timeOnlyTitle' => __( 'Choose Time', 'cmb2' ), + 'timeText' => __( 'Time', 'cmb2' ), + 'hourText' => __( 'Hour', 'cmb2' ), + 'minuteText' => __( 'Minute', 'cmb2' ), + 'secondText' => __( 'Second', 'cmb2' ), + 'currentText' => __( 'Now', 'cmb2' ), + 'closeText' => __( 'Done', 'cmb2' ), + 'timeFormat' => __( 'hh:mm TT', 'cmb2' ), + 'controlType' => 'select', + 'stepMinute' => 5, ), ), 'strings' => array( @@ -234,7 +239,18 @@ public function add_metaboxes() { add_filter( "postbox_classes_{$page}_{$this->cmb->cmb_id}", array( $this, 'close_metabox_class' ) ); } - add_meta_box( $this->cmb->cmb_id, $this->cmb->prop( 'title' ), array( $this, 'post_metabox' ), $page, $this->cmb->prop( 'context' ), $this->cmb->prop( 'priority' ) ); + /** + * To keep from registering an actual post-screen metabox, + * omit the 'title' attribute from the metabox registration array. + * + * (WordPress will not display metaboxes without titles anyway) + * + * This is a good solution if you want to output your metaboxes + * Somewhere else in the post-screen + */ + if ( $this->cmb->prop( 'title' ) ) { + add_meta_box( $this->cmb->cmb_id, $this->cmb->prop( 'title' ), array( $this, 'post_metabox' ), $page, $this->cmb->prop( 'context' ), $this->cmb->prop( 'priority' ) ); + } } } @@ -299,8 +315,9 @@ public function save_post( $post_id, $post = false ) { $post_type = $post ? $post->post_type : get_post_type( $post_id ); $do_not_pass_go = ( + ! $this->cmb->prop( 'save_fields' ) // check nonce - ! isset( $_POST[ $this->cmb->nonce() ] ) + || ! isset( $_POST[ $this->cmb->nonce() ] ) || ! wp_verify_nonce( $_POST[ $this->cmb->nonce() ], $this->cmb->nonce() ) // check if autosave || defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE @@ -326,8 +343,9 @@ public function save_post( $post_id, $post = false ) { public function save_user( $user_id ) { // check permissions if ( + ! $this->cmb->prop( 'save_fields' ) // check nonce - ! isset( $_POST[ $this->cmb->nonce() ] ) + || ! isset( $_POST[ $this->cmb->nonce() ] ) || ! wp_verify_nonce( $_POST[ $this->cmb->nonce() ], $this->cmb->nonce() ) ) { // @todo more hardening? diff --git a/includes/helper-functions.php b/includes/helper-functions.php index 19bc856..3f0d654 100644 --- a/includes/helper-functions.php +++ b/includes/helper-functions.php @@ -1,21 +1,27 @@ mb_object_type(); $cmb->object_type( $object_type ); + $cmb->object_id( $object_id ); - if ( is_array( $field_id ) && isset( $field_id['id'] ) ) { - return new CMB2_Field( array( - 'field_args' => $field_id, - 'object_id' => $object_id, - 'object_type' => $object_type, - ) ); - } - - $fields = (array) $cmb->prop( 'fields' ); - foreach ( $fields as $field ) { - if ( $field['id'] == $field_id || $field['name'] == $field_id ) { - // Send back field object - return new CMB2_Field( array( - 'field_args' => $field, - 'object_id' => $object_id, - 'object_type' => $object_type, - ) ); - - } - } + return $cmb->get_field( $field_id ); } /** @@ -188,6 +176,18 @@ function cmb2_get_metabox( $meta_box, $object_id = 0 ) { return $cmb; } +/** + * Returns array of sanitized field values from a metabox (without saving them) + * @since 2.0.3 + * @param mixed $meta_box Metabox ID or Metabox config array + * @param array $data_to_sanitize Array of field_id => value data for sanitizing (likely $_POST data). + * @return mixed Array of sanitized values or false if no CMB2 object found + */ +function cmb2_get_metabox_sanitized_values( $meta_box, array $data_to_sanitize ) { + $cmb = cmb2_get_metabox( $meta_box ); + return $cmb ? $cmb->get_sanitized_values( $data_to_sanitize ) : false; +} + /** * Retrieve a metabox form * @since 2.0.0 @@ -234,8 +234,9 @@ function cmb2_print_metabox_form( $meta_box, $object_id = 0, $args = array() ) { // check permissions // @todo more hardening? if ( + $cmb->prop( 'save_fields' ) // check nonce - isset( $_POST['submit-cmb'], $_POST['object_id'], $_POST[ $cmb->nonce() ] ) + && isset( $_POST['submit-cmb'], $_POST['object_id'], $_POST[ $cmb->nonce() ] ) && wp_verify_nonce( $_POST[ $cmb->nonce() ], $cmb->nonce() ) && $object_id && $_POST['object_id'] == $object_id ) { diff --git a/init.php b/init.php index 37a78fd..7e1ba03 100644 --- a/init.php +++ b/init.php @@ -11,7 +11,7 @@ * Bill Erickson (@billerickson / billerickson.net) * Andrew Norcross (@norcross / andrewnorcross.com) * - * Version: 2.0.2 + * Version: 2.0.3 * * Text Domain: cmb2 * Domain Path: languages @@ -42,19 +42,19 @@ or things might explode! *************************************************************************/ -if ( ! class_exists( 'cmb2_bootstrap_202', false ) ) { +if ( ! class_exists( 'cmb2_bootstrap_203', false ) ) { /** * Check for newest version of CMB */ - class cmb2_bootstrap_202 { + class cmb2_bootstrap_203 { /** * Current version number * @var string * @since 1.0.0 */ - const VERSION = '2.0.2'; + const VERSION = '2.0.3'; /** * Current version hook priority @@ -63,7 +63,7 @@ class cmb2_bootstrap_202 { * @var int * @since 2.0.0 */ - const PRIORITY = 9997; + const PRIORITY = 9996; public static $single = null; @@ -87,10 +87,22 @@ private function __construct() { public function include_cmb() { if ( ! class_exists( 'CMB2', false ) ) { + if ( ! defined( 'CMB2_VERSION' ) ) { define( 'CMB2_VERSION', self::VERSION ); } + + if ( ! defined( 'CMB2_DIR' ) ) { + define( 'CMB2_DIR', trailingslashit( dirname( __FILE__ ) ) ); + } + $this->l10ni18n(); + + // Include helper functions + require_once 'includes/helper-functions.php'; + // Now kick off the class autoloader + spl_autoload_register( 'cmb2_autoload_classes' ); + // Kick the whole thing off require_once 'bootstrap.php'; } } @@ -116,6 +128,6 @@ public function l10ni18n() { } } - cmb2_bootstrap_202::go(); + cmb2_bootstrap_203::go(); } // class exists check diff --git a/js/cmb2.js b/js/cmb2.js index 7cd7c89..23cadd2 100644 --- a/js/cmb2.js +++ b/js/cmb2.js @@ -409,18 +409,7 @@ window.CMB2 = (function(window, document, $, undefined){ return this; }; - cmb.afterRowInsert = function( $row, group ) { - - var $focus = $row.find('input:not([type="button"]), textarea, select').first(); - if ( $focus.length ) { - if ( group ) { - $('html, body').animate({ - scrollTop: Math.round( $focus.offset().top - 150 ) - }, 1000); - } - $focus.focus(); - } - + cmb.afterRowInsert = function( $row ) { var _prop; // Need to re-init wp_editor instances @@ -504,7 +493,7 @@ window.CMB2 = (function(window, document, $, undefined){ var $newRow = $( '").insertBefore(".cmb2-checkbox-list:not(.no-select-all)"),cmb.makeListSortable(),$metabox.on("change",".cmb2_upload_file",function(){cmb.formfield=$(this).attr("id"),$id(cmb.formfield+"_id").val("")}).on("click",".cmb-multicheck-toggle",cmb.toggleCheckBoxes).on("click",".cmb2-upload-button",cmb.handleMedia).on("click",".cmb-attach-list li, .cmb2-media-status .img-status img, .cmb2-media-status .file-status > span",cmb.handleFileClick).on("click",".cmb2-remove-file-button",cmb.handleRemoveMedia).on("click",".cmb-add-group-row",cmb.addGroupRow).on("click",".cmb-add-row-button",cmb.addAjaxRow).on("click",".cmb-remove-group-row",cmb.removeGroupRow).on("click",".cmb-remove-row-button",cmb.removeAjaxRow).on("keyup paste focusout",".cmb2-oembed",cmb.maybeOembed).on("cmb2_remove_row",".cmb-repeatable-group",cmb.resetTitlesAndIterator).on("click",".cmbhandle, .cmbhandle + .cmbhandle-title",cmb.toggleHandle),$repeatGroup.length&&$repeatGroup.filter(".sortable").each(function(){$(this).find(".button.cmb-remove-group-row").before(' ')}).on("click",".cmb-shift-rows",cmb.shiftRows).on("cmb2_add_row",cmb.emptyValue),setTimeout(cmb.resizeoEmbeds,500),$(window).on("resize",cmb.resizeoEmbeds)},cmb.resetTitlesAndIterator=function(){$(".cmb-repeatable-group").each(function(){var $table=$(this);$table.find(".cmb-repeatable-grouping").each(function(rowindex){var $row=$(this);$row.data("iterator",rowindex),$row.find(".cmb-group-title h4").text($table.find(".cmb-add-group-row").data("grouptitle").replace("{#}",rowindex+1))})})},cmb.toggleHandle=function(evt){evt.preventDefault(),$(document).trigger("postbox-toggled",$(this).parent(".postbox").toggleClass("closed"))},cmb.toggleCheckBoxes=function(evt){evt.preventDefault();var $self=$(this),$multicheck=$self.closest(".cmb-td").find("input[type=checkbox]");$self.data("checked")?($multicheck.prop("checked",!1),$self.data("checked",!1)):($multicheck.prop("checked",!0),$self.data("checked",!0))},cmb.handleMedia=function(evt){evt.preventDefault();var $el=$(this);cmb.attach_id=$el.hasClass("cmb2-upload-list")?!1:$el.closest(".cmb-td").find(".cmb2-upload-file-id").val(),cmb.attach_id="0"!==cmb.attach_id?cmb.attach_id:!1,cmb._handleMedia($el.prev("input.cmb2-upload-file").attr("id"),$el.hasClass("cmb2-upload-list"))},cmb.handleFileClick=function(evt){evt.preventDefault();var $el=$(this),$td=$el.closest(".cmb-td"),isList=$td.find(".cmb2-upload-button").hasClass("cmb2-upload-list");cmb.attach_id=isList?$el.find('input[type="hidden"]').data("id"):$td.find(".cmb2-upload-file-id").val(),cmb.attach_id&&cmb._handleMedia($td.find("input.cmb2-upload-file").attr("id"),isList,cmb.attach_id)},cmb._handleMedia=function(formfield,isList){if(wp){var $metabox=cmb.metabox();cmb.formfield=formfield;var $formfield=$id(cmb.formfield),previewSize=$formfield.data("previewsize"),formName=$formfield.attr("name"),uploadStatus=!0,attachment=!0;if(cmb.formfield in cmb.file_frames)return void cmb.file_frames[cmb.formfield].open();cmb.file_frames[cmb.formfield]=wp.media({title:$metabox.find("label[for="+cmb.formfield+"]").text(),button:{text:l10n.strings.upload_file},multiple:isList?!0:!1}),cmb.mediaHandlers.list=function(selection,returnIt){attachment=selection.toJSON(),$formfield.val(attachment.url),$id(cmb.formfield+"_id").val(attachment.id);var fileGroup=[];return $(attachment).each(function(){if(this.type&&"image"===this.type){var width=previewSize[0]?previewSize[0]:50,height=previewSize[1]?previewSize[1]:50;uploadStatus='
").insertBefore(".cmb2-checkbox-list:not(.no-select-all)"),cmb.makeListSortable(),$metabox.on("change",".cmb2_upload_file",function(){cmb.formfield=$(this).attr("id"),$id(cmb.formfield+"_id").val("")}).on("click",".cmb-multicheck-toggle",cmb.toggleCheckBoxes).on("click",".cmb2-upload-button",cmb.handleMedia).on("click",".cmb-attach-list li, .cmb2-media-status .img-status img, .cmb2-media-status .file-status > span",cmb.handleFileClick).on("click",".cmb2-remove-file-button",cmb.handleRemoveMedia).on("click",".cmb-add-group-row",cmb.addGroupRow).on("click",".cmb-add-row-button",cmb.addAjaxRow).on("click",".cmb-remove-group-row",cmb.removeGroupRow).on("click",".cmb-remove-row-button",cmb.removeAjaxRow).on("keyup paste focusout",".cmb2-oembed",cmb.maybeOembed).on("cmb2_remove_row",".cmb-repeatable-group",cmb.resetTitlesAndIterator).on("click",".cmbhandle, .cmbhandle + .cmbhandle-title",cmb.toggleHandle),$repeatGroup.length&&$repeatGroup.filter(".sortable").each(function(){$(this).find(".button.cmb-remove-group-row").before(' ')}).on("click",".cmb-shift-rows",cmb.shiftRows).on("cmb2_add_row",cmb.emptyValue),setTimeout(cmb.resizeoEmbeds,500),$(window).on("resize",cmb.resizeoEmbeds)},cmb.resetTitlesAndIterator=function(){$(".cmb-repeatable-group").each(function(){var $table=$(this);$table.find(".cmb-repeatable-grouping").each(function(rowindex){var $row=$(this);$row.data("iterator",rowindex),$row.find(".cmb-group-title h4").text($table.find(".cmb-add-group-row").data("grouptitle").replace("{#}",rowindex+1))})})},cmb.toggleHandle=function(evt){evt.preventDefault(),$(document).trigger("postbox-toggled",$(this).parent(".postbox").toggleClass("closed"))},cmb.toggleCheckBoxes=function(evt){evt.preventDefault();var $self=$(this),$multicheck=$self.closest(".cmb-td").find("input[type=checkbox]");$self.data("checked")?($multicheck.prop("checked",!1),$self.data("checked",!1)):($multicheck.prop("checked",!0),$self.data("checked",!0))},cmb.handleMedia=function(evt){evt.preventDefault();var $el=$(this);cmb.attach_id=$el.hasClass("cmb2-upload-list")?!1:$el.closest(".cmb-td").find(".cmb2-upload-file-id").val(),cmb.attach_id="0"!==cmb.attach_id?cmb.attach_id:!1,cmb._handleMedia($el.prev("input.cmb2-upload-file").attr("id"),$el.hasClass("cmb2-upload-list"))},cmb.handleFileClick=function(evt){evt.preventDefault();var $el=$(this),$td=$el.closest(".cmb-td"),isList=$td.find(".cmb2-upload-button").hasClass("cmb2-upload-list");cmb.attach_id=isList?$el.find('input[type="hidden"]').data("id"):$td.find(".cmb2-upload-file-id").val(),cmb.attach_id&&cmb._handleMedia($td.find("input.cmb2-upload-file").attr("id"),isList,cmb.attach_id)},cmb._handleMedia=function(formfield,isList){if(wp){var $metabox=cmb.metabox();cmb.formfield=formfield;var $formfield=$id(cmb.formfield),previewSize=$formfield.data("previewsize"),formName=$formfield.attr("name"),uploadStatus=!0,attachment=!0;if(cmb.formfield in cmb.file_frames)return void cmb.file_frames[cmb.formfield].open();cmb.file_frames[cmb.formfield]=wp.media({title:$metabox.find("label[for="+cmb.formfield+"]").text(),button:{text:l10n.strings.upload_file},multiple:isList?!0:!1}),cmb.mediaHandlers.list=function(selection,returnIt){attachment=selection.toJSON(),$formfield.val(attachment.url),$id(cmb.formfield+"_id").val(attachment.id);var fileGroup=[];return $(attachment).each(function(){if(this.type&&"image"===this.type){var width=previewSize[0]?previewSize[0]:50,height=previewSize[1]?previewSize[1]:50;uploadStatus='