Deprecated: Creation of dynamic property wpdb::$categories is deprecated in /home2/bonsallww/public_html/wp-includes/wp-db.php on line 668

Deprecated: Creation of dynamic property wpdb::$post2cat is deprecated in /home2/bonsallww/public_html/wp-includes/wp-db.php on line 668

Deprecated: Creation of dynamic property wpdb::$link2cat is deprecated in /home2/bonsallww/public_html/wp-includes/wp-db.php on line 668

Deprecated: Return type of WP_Theme::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/bonsallww/public_html/wp-includes/class-wp-theme.php on line 554

Deprecated: Return type of WP_Theme::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/bonsallww/public_html/wp-includes/class-wp-theme.php on line 595

Deprecated: Return type of WP_Theme::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/bonsallww/public_html/wp-includes/class-wp-theme.php on line 535

Deprecated: Return type of WP_Theme::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/bonsallww/public_html/wp-includes/class-wp-theme.php on line 544

Deprecated: Return type of WP_REST_Request::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/bonsallww/public_html/wp-includes/rest-api/class-wp-rest-request.php on line 960

Deprecated: Return type of WP_REST_Request::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/bonsallww/public_html/wp-includes/rest-api/class-wp-rest-request.php on line 980

Deprecated: Return type of WP_REST_Request::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/bonsallww/public_html/wp-includes/rest-api/class-wp-rest-request.php on line 992

Deprecated: Return type of WP_REST_Request::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/bonsallww/public_html/wp-includes/rest-api/class-wp-rest-request.php on line 1003

Deprecated: Return type of WP_Block_List::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/bonsallww/public_html/wp-includes/class-wp-block-list.php on line 151

Deprecated: Return type of WP_Block_List::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/bonsallww/public_html/wp-includes/class-wp-block-list.php on line 175

Deprecated: Return type of WP_Block_List::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/bonsallww/public_html/wp-includes/class-wp-block-list.php on line 164

Deprecated: Return type of WP_Block_List::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/bonsallww/public_html/wp-includes/class-wp-block-list.php on line 186

Deprecated: Return type of WP_Block_List::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/bonsallww/public_html/wp-includes/class-wp-block-list.php on line 138

Deprecated: Return type of WP_Block_List::offsetExists($index) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/bonsallww/public_html/wp-includes/class-wp-block-list.php on line 75

Deprecated: Return type of WP_Block_List::offsetGet($index) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/bonsallww/public_html/wp-includes/class-wp-block-list.php on line 89

Deprecated: Return type of WP_Block_List::offsetSet($index, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/bonsallww/public_html/wp-includes/class-wp-block-list.php on line 110

Deprecated: Return type of WP_Block_List::offsetUnset($index) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/bonsallww/public_html/wp-includes/class-wp-block-list.php on line 127

Deprecated: Return type of WP_Block_List::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/bonsallww/public_html/wp-includes/class-wp-block-list.php on line 199

Deprecated: Creation of dynamic property AIOSEO\Plugin\Lite\Admin\PostSettings::$integrations is deprecated in /home2/bonsallww/public_html/wp-content/plugins/all-in-one-seo-pack/app/AIOSEO.php on line 248

Deprecated: Return type of WPCF7_FormTag::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/bonsallww/public_html/wp-content/plugins/contact-form-7/includes/form-tag.php on line 395

Deprecated: Return type of WPCF7_FormTag::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/bonsallww/public_html/wp-content/plugins/contact-form-7/includes/form-tag.php on line 387

Deprecated: Return type of WPCF7_FormTag::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/bonsallww/public_html/wp-content/plugins/contact-form-7/includes/form-tag.php on line 381

Deprecated: Return type of WPCF7_FormTag::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/bonsallww/public_html/wp-content/plugins/contact-form-7/includes/form-tag.php on line 399

Deprecated: Return type of WPCF7_Validation::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/bonsallww/public_html/wp-content/plugins/contact-form-7/includes/validation.php on line 78

Deprecated: Return type of WPCF7_Validation::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/bonsallww/public_html/wp-content/plugins/contact-form-7/includes/validation.php on line 72

Deprecated: Return type of WPCF7_Validation::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/bonsallww/public_html/wp-content/plugins/contact-form-7/includes/validation.php on line 59

Deprecated: Return type of WPCF7_Validation::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/bonsallww/public_html/wp-content/plugins/contact-form-7/includes/validation.php on line 82

Deprecated: Creation of dynamic property Essential_Addons_Elementor\Classes\Plugin_Usage_Tracker::$disabled_wp_cron is deprecated in /home2/bonsallww/public_html/wp-content/plugins/essential-addons-for-elementor-lite/includes/Classes/Plugin_Usage_Tracker.php on line 68

Deprecated: Creation of dynamic property Essential_Addons_Elementor\Classes\Plugin_Usage_Tracker::$enable_self_cron is deprecated in /home2/bonsallww/public_html/wp-content/plugins/essential-addons-for-elementor-lite/includes/Classes/Plugin_Usage_Tracker.php on line 69

Deprecated: Creation of dynamic property Essential_Addons_Elementor\Classes\Plugin_Usage_Tracker::$require_optin is deprecated in /home2/bonsallww/public_html/wp-content/plugins/essential-addons-for-elementor-lite/includes/Classes/Plugin_Usage_Tracker.php on line 73

Deprecated: Creation of dynamic property Essential_Addons_Elementor\Classes\Plugin_Usage_Tracker::$include_goodbye_form is deprecated in /home2/bonsallww/public_html/wp-content/plugins/essential-addons-for-elementor-lite/includes/Classes/Plugin_Usage_Tracker.php on line 74

Deprecated: Creation of dynamic property Essential_Addons_Elementor\Classes\Plugin_Usage_Tracker::$marketing is deprecated in /home2/bonsallww/public_html/wp-content/plugins/essential-addons-for-elementor-lite/includes/Classes/Plugin_Usage_Tracker.php on line 75

Deprecated: Creation of dynamic property Essential_Addons_Elementor\Classes\Plugin_Usage_Tracker::$options is deprecated in /home2/bonsallww/public_html/wp-content/plugins/essential-addons-for-elementor-lite/includes/Classes/Plugin_Usage_Tracker.php on line 76

Deprecated: Creation of dynamic property Essential_Addons_Elementor\Classes\Plugin_Usage_Tracker::$item_id is deprecated in /home2/bonsallww/public_html/wp-content/plugins/essential-addons-for-elementor-lite/includes/Classes/Plugin_Usage_Tracker.php on line 77

Deprecated: Creation of dynamic property Essential_Addons_Elementor\Classes\Plugin_Usage_Tracker::$notice_options is deprecated in /home2/bonsallww/public_html/wp-content/plugins/essential-addons-for-elementor-lite/includes/Classes/Plugin_Usage_Tracker.php on line 638

Deprecated: Creation of dynamic property WPtouchProFour::$settings_object is deprecated in /home2/bonsallww/public_html/wp-content/plugins/wptouch/core/class-wptouch-pro.php on line 82

Deprecated: Creation of dynamic property WP_Widget_Pages::$show_instance_in_rest is deprecated in /home2/bonsallww/public_html/wp-content/plugins/gutenberg/lib/widgets.php on line 307

Deprecated: Creation of dynamic property WP_Widget_Calendar::$show_instance_in_rest is deprecated in /home2/bonsallww/public_html/wp-content/plugins/gutenberg/lib/widgets.php on line 307

Deprecated: Creation of dynamic property WP_Widget_Archives::$show_instance_in_rest is deprecated in /home2/bonsallww/public_html/wp-content/plugins/gutenberg/lib/widgets.php on line 307

Deprecated: Creation of dynamic property WP_Widget_Media_Audio::$show_instance_in_rest is deprecated in /home2/bonsallww/public_html/wp-content/plugins/gutenberg/lib/widgets.php on line 307

Deprecated: Creation of dynamic property WP_Widget_Media_Image::$show_instance_in_rest is deprecated in /home2/bonsallww/public_html/wp-content/plugins/gutenberg/lib/widgets.php on line 307

Deprecated: Creation of dynamic property WP_Widget_Media_Gallery::$show_instance_in_rest is deprecated in /home2/bonsallww/public_html/wp-content/plugins/gutenberg/lib/widgets.php on line 307

Deprecated: Creation of dynamic property WP_Widget_Media_Video::$show_instance_in_rest is deprecated in /home2/bonsallww/public_html/wp-content/plugins/gutenberg/lib/widgets.php on line 307

Deprecated: Creation of dynamic property WP_Widget_Meta::$show_instance_in_rest is deprecated in /home2/bonsallww/public_html/wp-content/plugins/gutenberg/lib/widgets.php on line 307

Deprecated: Creation of dynamic property WP_Widget_Search::$show_instance_in_rest is deprecated in /home2/bonsallww/public_html/wp-content/plugins/gutenberg/lib/widgets.php on line 307

Deprecated: Creation of dynamic property WP_Widget_Text::$show_instance_in_rest is deprecated in /home2/bonsallww/public_html/wp-content/plugins/gutenberg/lib/widgets.php on line 307

Deprecated: Creation of dynamic property WP_Widget_Categories::$show_instance_in_rest is deprecated in /home2/bonsallww/public_html/wp-content/plugins/gutenberg/lib/widgets.php on line 307

Deprecated: Creation of dynamic property WP_Widget_Recent_Posts::$show_instance_in_rest is deprecated in /home2/bonsallww/public_html/wp-content/plugins/gutenberg/lib/widgets.php on line 307

Deprecated: Creation of dynamic property WP_Widget_Recent_Comments::$show_instance_in_rest is deprecated in /home2/bonsallww/public_html/wp-content/plugins/gutenberg/lib/widgets.php on line 307

Deprecated: Creation of dynamic property WP_Widget_RSS::$show_instance_in_rest is deprecated in /home2/bonsallww/public_html/wp-content/plugins/gutenberg/lib/widgets.php on line 307

Deprecated: Creation of dynamic property WP_Widget_Tag_Cloud::$show_instance_in_rest is deprecated in /home2/bonsallww/public_html/wp-content/plugins/gutenberg/lib/widgets.php on line 307

Deprecated: Creation of dynamic property WP_Nav_Menu_Widget::$show_instance_in_rest is deprecated in /home2/bonsallww/public_html/wp-content/plugins/gutenberg/lib/widgets.php on line 307

Deprecated: Creation of dynamic property WP_Widget_Custom_HTML::$show_instance_in_rest is deprecated in /home2/bonsallww/public_html/wp-content/plugins/gutenberg/lib/widgets.php on line 307

Deprecated: DateTime::__construct(): Passing null to parameter #1 ($datetime) of type string is deprecated in /home2/bonsallww/public_html/wp-includes/script-loader.php on line 348

Deprecated: Creation of dynamic property wpdb::$actionscheduler_actions is deprecated in /home2/bonsallww/public_html/wp-includes/wp-db.php on line 668

Deprecated: Creation of dynamic property wpdb::$actionscheduler_claims is deprecated in /home2/bonsallww/public_html/wp-includes/wp-db.php on line 668

Deprecated: Creation of dynamic property wpdb::$actionscheduler_groups is deprecated in /home2/bonsallww/public_html/wp-includes/wp-db.php on line 668

Deprecated: Creation of dynamic property wpdb::$actionscheduler_logs is deprecated in /home2/bonsallww/public_html/wp-includes/wp-db.php on line 668

Deprecated: Creation of dynamic property WP_Block_Type::$variations is deprecated in /home2/bonsallww/public_html/wp-includes/class-wp-block-type.php on line 333

Deprecated: Creation of dynamic property WP_Block_Type::$skip_inner_blocks is deprecated in /home2/bonsallww/public_html/wp-includes/class-wp-block-type.php on line 333

Deprecated: Creation of dynamic property WP_Block_Type::$variations is deprecated in /home2/bonsallww/public_html/wp-includes/class-wp-block-type.php on line 333

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /home2/bonsallww/public_html/wp-includes/class-wp.php on line 173

Warning: Cannot modify header information - headers already sent by (output started at /home2/bonsallww/public_html/wp-includes/wp-db.php:668) in /home2/bonsallww/public_html/wp-includes/rest-api/class-wp-rest-server.php on line 1648

Warning: Cannot modify header information - headers already sent by (output started at /home2/bonsallww/public_html/wp-includes/wp-db.php:668) in /home2/bonsallww/public_html/wp-includes/rest-api/class-wp-rest-server.php on line 1648

Warning: Cannot modify header information - headers already sent by (output started at /home2/bonsallww/public_html/wp-includes/wp-db.php:668) in /home2/bonsallww/public_html/wp-includes/rest-api/class-wp-rest-server.php on line 1648

Warning: Cannot modify header information - headers already sent by (output started at /home2/bonsallww/public_html/wp-includes/wp-db.php:668) in /home2/bonsallww/public_html/wp-includes/rest-api/class-wp-rest-server.php on line 1648

Warning: Cannot modify header information - headers already sent by (output started at /home2/bonsallww/public_html/wp-includes/wp-db.php:668) in /home2/bonsallww/public_html/wp-includes/rest-api/class-wp-rest-server.php on line 1648

Warning: Cannot modify header information - headers already sent by (output started at /home2/bonsallww/public_html/wp-includes/wp-db.php:668) in /home2/bonsallww/public_html/wp-includes/rest-api/class-wp-rest-server.php on line 1648

Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home2/bonsallww/public_html/wp-includes/wp-db.php on line 3030

Warning: Cannot modify header information - headers already sent by (output started at /home2/bonsallww/public_html/wp-includes/wp-db.php:668) in /home2/bonsallww/public_html/wp-includes/rest-api/class-wp-rest-server.php on line 1648

Warning: Cannot modify header information - headers already sent by (output started at /home2/bonsallww/public_html/wp-includes/wp-db.php:668) in /home2/bonsallww/public_html/wp-includes/rest-api/class-wp-rest-server.php on line 1648
{"id":8,"date":"2011-01-14T17:48:44","date_gmt":"2011-01-14T22:48:44","guid":{"rendered":"https:\/\/www.bonsall.ca\/"},"modified":"2021-05-25T10:30:50","modified_gmt":"2021-05-25T14:30:50","slug":"services","status":"publish","type":"page","link":"https:\/\/www.bonsall.ca\/services\/","title":{"rendered":"Services"},"content":{"rendered":"

We can help you with a wide range of communications needs. Hire us to help you see the big strategic picture or bring us in for some last-minute editing. We tailor our efforts to meet your exact needs.<\/strong>
\n<\/a><\/p>\n

Writing<\/strong><\/h4>\n

We use crisp prose that pulls the reader along both online and in print. Our experience includes writing for media outlets, corporations, governments, and non-profits.
\n
<\/a><\/p>\n

Editing<\/strong><\/h4>\n

We turn mediocre writing into excellent prose. Questions of use, meaning, grammar, punctuation, precision, logical structure and colour are second nature to us.
\n
<\/a><\/p>\n

Speeches and presentations<\/strong><\/h4>\n

Making a great speech or presentation can move your audience, influence opinion, make a sale. We can craft a speech that gives your message a compelling voice.
\n
<\/a><\/p>\n

Creative marketing<\/strong><\/h4>\n

Come to us with your marketing projects. We can deliver fresh solutions to old problems or help you meet new challenges. Let us show you how our collective imagination can become your most important marketing tool.<\/p>\n

Information design<\/strong><\/h4>\n

Understanding how your target audience will interact with a website, a form or any other piece of communications material is key to effective communication. We design material with the user in mind, not abstract aesthetics or technology for technology’s sake.
\n
<\/a><\/p>\n

Graphic design<\/strong><\/h4>\n

We focus on creative compelling graphic design that delivers your message effectively. We can take your projects through from the conceptual stage to final production and printing.
\n
<\/a><\/p>\n

Training and courses<\/strong><\/h4>\n

We offer courses and workshops in effective writing and communications and in web writing. We can customize our material or develop an entirely new session based on your instructions.
\n
<\/a><\/p>\n

Translation<\/strong><\/h4>\n

We offer English-to-French and French-to-English translation services at competitive rates. Our commitment to quality control and respect for your deadlines make us an asset on any project.<\/p>\n

<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"

We can help you with a wide range of communications needs. Hire us to help you see the big strategic picture or bring us in for some last-minute editing. We tailor our efforts to meet your exact needs. Writing We … Continue reading →<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":599,"parent":0,"menu_order":5,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.bonsall.ca\/wp-json\/wp\/v2\/pages\/8"}],"collection":[{"href":"https:\/\/www.bonsall.ca\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.bonsall.ca\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.bonsall.ca\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bonsall.ca\/wp-json\/wp\/v2\/comments?post=8"}],"version-history":[{"count":24,"href":"https:\/\/www.bonsall.ca\/wp-json\/wp\/v2\/pages\/8\/revisions"}],"predecessor-version":[{"id":611,"href":"https:\/\/www.bonsall.ca\/wp-json\/wp\/v2\/pages\/8\/revisions\/611"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.bonsall.ca\/wp-json\/wp\/v2\/media\/599"}],"wp:attachment":[{"href":"https:\/\/www.bonsall.ca\/wp-json\/wp\/v2\/media?parent=8"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}